(57)【要約】【課題】複数種類の機器の利用を簡便化すること。【解決手段】複数種類の機器と、前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、前記情報処理装置は、前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得部と、前記取得部が取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定部と、前記特定部が特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作部と、を有する。【選択図】図３
2019160097.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の機器と、前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得部と、
前記取得部が取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定部と、
前記特定部が特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作部と、
を有することを特徴とする情報処理システム。
【請求項２】
前記取得部は、各ユーザ識別情報に対応付けて、前記種別ごとの前記権限識別情報の集合に対する識別情報を記憶した第１の記憶部から、前記要求元のユーザに係るユーザ識別情報に対応する識別情報を取得し、当該識別情報に対応付けて前記種別ごとに第２の記憶部に記憶されている前記権限識別情報の集合の中から、前記操作要求に係る機器の種別に対応する前記権限識別情報を取得する、
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記特定部は、前記種別及び前記権限識別情報の組み合わせごとに、前記アカウント情報を記憶した第３の記憶部を参照して、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する、
ことを特徴とする請求項１又は２記載の情報処理システム。
【請求項４】
前記操作要求に応じ、前記操作要求の要求元のユーザに対しユーザ識別情報の入力を要求し、入力されたユーザ識別情報の認証処理を制御する認証制御部を有し、
前記認証制御部は、前記ユーザ識別情報の認証に成功した場合に、前記ユーザ識別情報と、前記操作要求の要求元を識別する第１の識別情報とを関連付けて第４の記憶部に記憶し、前記第４の記憶部において前記ユーザ識別情報に関連付けられて記憶されている前記第１の識別情報に係る要求元から前記複数種類の機器のいずれかを対象とする操作要求を受け付けた場合には、当該要求元へユーザ識別情報の入力を要求しない、
ことを特徴とする請求項１乃至３いずれか一項記載の情報処理システム。
【請求項５】
複数種類の機器とネットワークを介して接続される情報処理装置であって、
前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得部と、
前記取得部が取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定部と、
前記特定部が特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作部と、
を有することを特徴とする情報処理装置。
【請求項６】
複数種類の機器とネットワークを介して接続される情報処理装置が、
前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得手順と、
前記取得手順において取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定手順と、
前記特定手順において特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作手順と、
を実行することを特徴とする情報処理方法。
【請求項７】
複数種類の機器とネットワークを介して接続される情報処理装置に、
前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得手順と、
前記取得手順において取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定手順と、
前記特定手順において特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
オフィス等においては、プリンタ、コピー機、又は複合機等の画像形成に関する機器や、電子黒板、テレビ会議システム、プロジェクタ、デジタルサイネージ等のコミュニケーションを支援する機器等、多種多様な機器が利用される場合が有る。
【０００３】
各機器は、ユーザに適したソリューションの構築を可能とするため、それぞれに固有のインタフェース、すなわち、ＡＰＩ（Application Program Interface）を有している。ソリューションを提供するためのソフトウェアの開発者は、各機器のＡＰＩを利用することで、当該ソリューションを提供可能なソフトウェアを開発することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、各機器の各ＡＰＩは、それぞれ独自に開発されている場合が有る。この場合、ソリューションを提供するためのソフトウェアの開発者は、機器ごとのＡＰＩを学習又は調査等する必要が有るため、ユーザの要望に対して迅速に対応するのが困難である。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、複数種類の機器の利用を簡便化することを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、複数種類の機器と、前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、前記情報処理装置は、前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得部と、前記取得部が取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定部と、前記特定部が特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作部と、を有する。
【発明の効果】
【０００７】
複数種類の機器の利用を簡便化することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態におけるシステム構成例を示す図である。
【図２】第１の実施の形態における仲介装置１０のハードウェア構成例を示す図である。
【図３】第１の実施の形態における仲介装置１０の機能構成例を示す図である。
【図４】第１の実施の形態における仲介装置１０が実行する処理手順の一例を説明するためのシーケンス図である。
【図５】機器一覧画面の一例を示す図である。
【図６】機器情報の詳細の表示例を示す図である。
【図７】ロールグループ記憶部５１の構成例を示す図である。
【図８】ロールマッピング情報記憶部１６の構成例を示す図である。
【図９】ロールトークン記憶部１７の構成例を示す図である。
【図１０】アカウントマッピング情報記憶部１８の構成例を示す図である。
【図１１】第２の実施の形態における仲介装置１０が実行する第１の処理手順を説明するためのシーケンス図である。
【図１２】第２の実施の形態における仲介装置１０が実行する第２の処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第１の実施の形態におけるシステム構成例を示す図である。図１には、例えば、或る企業内におけるシステム環境（以下、「企業内システム」という。）の一例が示されている。
【００１０】
図１において、企業内システムは、機器２０−１〜機器２０−ｎ等の複数の機器（以下、それぞれを区別しない場合「機器２０」という。）と、端末３０−１〜端末３０−ｍ等の１以上の端末３０（以下、それぞれを区別しない場合「端末３０」という。）と、仲介装置１０と、認証装置４０と、ロールグループ管理装置５０とを含む。
【００１１】
機器２０−１〜機器２０−ｎ等の複数の機器２０は、例えば、プリンタ、コピー機、複合機、電子黒板、テレビ会議システム、プロジェクタ、デジタルサイネージ、プロジェクタ等のうちの２種類以上の機器２０の集合であり、企業内のネットワークＮ１に接続される。同じ種類の機器２０が２以上含まれていてもよいし、全ての機器２０の種別（以下、「機器種別」という。）が異なっていてもよい。
【００１２】
各機器２０は、機器種別ごとに固有のインタフェース（ＡＰＩ（Application Program Interface）（以下、「固有ＡＰＩ」という。））を有しており、ネットワークを介して当該ＡＰＩを呼び出すことで、機器２０を操作可能とされている。例えば、各機器２０が有するＡＰＩは、ＨＴＴＰ（HyperText Transfer Protocol）ベースのＷｅｂＡＰＩであってもよい。
【００１３】
一方、端末３０−１〜端末３０−ｍ等の１以上の端末３０は、例えば、スマートフォン、タブレット端末、ＰＣ（Personal Computer）等である。又は、いずれかの機器２０の操作パネルが端末３０として利用可能であってもよい。各端末３０には、機器２０を操作するためのアプリケーションプログラム（以下、単に「アプリ」という。）がインストールされている。各アプリは、例えば、Ｗｅｂブラウザ上で動作するＷｅｂアプリとして実装されてもよい。なお、スマートフォンとは、携帯電話としての通話機能のほかカメラによる撮像機能、ＰＣのようなＷｅｂ情報表示機能など多機能を備える端末、タブレット端末とは、スマートフォンと同様に多機能端末として機能するタブレット型の端末というのが典型である。
【００１４】
仲介装置１０は、機器種別ごとに固有のＡＰＩの相違又は差異を吸収し、複数の種類の機器２０に対して共通の（すなわち、機器種別に依存しない）インタフェース（以下、「共通ＡＰＩ」という。）を各端末３０（各アプリ）に提供するコンピュータである。仲介装置１０が設けられることにより、例えば、アプリの開発者は、共通ＡＰＩを学習することで、アプリの開発を行うことができる。なお、仲介装置１０は、各端末３０、認証装置４０及びロールグループ管理装置５０と通信可能である。また、仲介装置１０は、各機器２０とネットワークＮ１を介して通信可能である。
【００１５】
認証装置４０は、端末３０のユーザのうち、いずれかの機器２０を操作するユーザについて認証を実行するコンピュータである。なお、いずれかの機器２０が認証装置４０として利用されてもよい。
【００１６】
ロールグループ管理装置５０は、認証装置４０によって認証されたユーザについて、各機器２０に対する利用権限に関する情報を管理するコンピュータである。但し、いずれかの機器２０がロールグループ管理装置５０として利用されてもよい。
【００１７】
なお認証装置４０及びロールグループ管理装置５０は、ネットワークＮ１に接続されていてもよいし、例えば、インターネット等を介して仲介装置１０と通信可能であってもよい。また、認証装置４０とロールグループ管理装置５０とは、別々の装置でなくてもよい。例えば、共通の１以上のコンピュータを用いて認証装置４０及びロールグループ管理装置５０が実現されてもよい。
【００１８】
図２は、第１の実施の形態における仲介装置１０のハードウェア構成例を示す図である。図２の仲介装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１９】
仲介装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２０】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って仲介装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２１】
図３は、第１の実施の形態における仲介装置１０の機能構成例を示す図である。図３において、仲介装置１０は、共通ＡＰＩ部１１及び固有部１２を有する。これら各部は、仲介装置１０にインストールされた１以上のプログラムがＣＰＵ１０４に実行させる処理により実現される。仲介装置１０は、また、機器情報記憶部１３、認証設定記憶部１４、認証情報記憶部１５、ロールマッピング情報記憶部１６、ロールトークン記憶部１７及びアカウントマッピング情報記憶部１８等を利用する。これら各記憶部は、例えば、補助記憶装置１０２、又は仲介装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２２】
共通ＡＰＩ部１１は、例えば、端末３０にインストールされているアプリの一例である機器利用アプリ３１に対し、共通ＡＰＩを提供する。共通ＡＰＩには、機器２０の管理系に関するメソッド又は関数（以下、「メソッド」で統一する。）や、機器２０の操作系に関するメソッド等が含まれる。管理系に関するメソッドとしては、例えば、ネットワークＮ１に接続されている機器２０の一覧の取得要求に対応するメソッド等が挙げられる。機器２０の操作系に関するメソッドとしては、ジョブの実行要求（機器２０の操作要求）に対応するメソッド等が挙げられる。
【００２３】
但し、機器種別に応じて機能が異なる。例えば、画像形成装置であれば、スキャンや印刷といった機能が有るのに対し、電子黒板にはそのような機能は無い。したがって、仮に、操作系のメソッドが「スキャン要求」や「印刷要求」等、各機器２０の機能レベルで具体的なものであった場合、各メソッドは、特定の種別の機器２０のみに有効なものとなってしまい、共通ＡＰＩが固有ＡＰＩと１対１に対応したものとなってしまう可能性が有る。
【００２４】
そこで、本実施の形態では、各機器２０の機能が抽象化されたレベルで共通化され、共通化された粒度（単位）で共通ＡＰＩのメソッドが定義されている。例えば、「入力要求」や「出力要求」が、斯かるメソッドに該当する。入力要求は、画像形成装置であれば、例えば、スキャン要求に対応し、プロジェクタや電子黒板やデジタルサイネージ等であれば、例えば、処理対象とするデータの読み込み要求（入力要求）に対応する。また、出力要求は、画像形成装置であれば、例えば、印刷要求に対応し、プロジェクタや電子黒板やデジタルサイネージ等であれば、例えば、処理対象のデータの投影要求又は表示要求等に対応する。
【００２５】
固有部１２は、呼び出された共通ＡＰＩについて固有ＡＰＩへの変換を行い、固有ＡＰＩを利用して各機器２０を操作する。図３において、固有部１２は、検出部１２１、Ａ操作部１２２ａ、Ｂ操作部１２２ｂ及びＣ操作部１２２ｃ等を含む。検出部１２１は、管理系のメソッドに対応し、ネットワークＮ１に接続されている機器２０を検出し、検出された機器２０の機器情報（例えば、ＭＩＢ（Management Information Base）情報）を取得する。取得された機器情報は、機器情報記憶部１３に記憶される。なお、多くの機器２０は、ＳＮＭＰ（Simple Network Management Protocol）に対応しているため、機器情報の取得に関して機器２０間のインタフェースの差異は小さい。但し、機器種別に応じて、プライベートＭＩＢの構成が異なる場合が有る。検出部１２１は、このようなＭＩＢの構成の違いが吸収された機器情報を機器情報記憶部１３に記憶する。
【００２６】
Ａ操作部１２２ａ、機器種別Ａ（例えば、複合機）の機器２０群が有する固有ＡＰＩを介して当該機器２０群を操作する。Ｂ操作部１２２ｂ、機器種別Ｂ（例えば、電子黒板）の機器２０群が有する固有ＡＰＩを介して当該機器２０群を操作する。Ｃ操作部１２２ｃ、機器種別Ｃ（例えば、プロジェクタ）の機器２０群が有する固有ＡＰＩを介して当該機器２０群を操作する。
【００２７】
すなわち、Ａ操作部１２２ａ、Ｂ操作部１２２ｂ及びＣ操作部１２２ｃ（以下、それぞれを区別しない場合「操作部１２２」という。）は、機器２０の固有ＡＰＩを介して機器２０を操作するという役割が共通するが、対応可能な機器種別が異なる。なお、別の機器種他の機器２０に対応する操作部１２２が設けられてもよい。固有部１２の拡張や縮小を容易にするために、検出部１２１や操作部１２２を構成するは、共通ＡＰＩ部１１に対するプラグインとして実装されてもよい。
【００２８】
認証設定記憶部１４には、ユーザの認証の要否を示す情報（以下「認証設定」という。）が記憶されている。認証設定は、全ての端末３０に対して共通であってもよいし、端末３０ごとに設定可能であってもよい。
【００２９】
認証情報記憶部１５には、認証されたユーザの認証情報が、当該ユーザの端末３０のＩＰアドレスと、操作対象の機器２０の機器ＩＤとに関連付けられて記憶される。認証情報記憶部１５に記憶される認証情報は、ユーザによって入力された認証情報（ユーザＩＤ及びパスワード等）であってもよいし、ユーザによって入力された認証情報が加工されたデータ（例えば、暗号化された値やハッシュ値等）であってもよい。
【００３０】
ロールマッピング情報記憶部１６には、ロールグループごとに各機器種別に対するロールが記憶されている。ロールとは、機器２０に対する利用権限のレベル又は範囲の識別情報をいう。ロールグループとは、機器種別ごとのロールの集合に対する識別情報である。なお、ロールグループ管理装置５０のロールグループ記憶部５１には、各ユーザのユーザＩＤに対応付けて、当該ユーザのロールグループが記憶されている。
【００３１】
ロールトークン記憶部１７には、仲介装置１０を介していずれかの機器２０を操作したユーザのユーザＩＤに対応付けて、各機器種別に対するロールを含むデータであるロールトークンが記憶される。
【００３２】
アカウントマッピング情報記憶部１８には、各機器種別に対して、当該機器種別について有効なロールごとに、アカウント情報が記憶される。アカウント情報とは、機器２０を利用する際に機器２０に対して提示が必要とされるユーザの識別情報である。
【００３３】
以下、仲介装置１０が実行する処理手順について説明する。図４は、第１の実施の形態における仲介装置１０が実行する処理手順の一例を説明するためのシーケンス図である。
【００３４】
例えば、仲介装置１０の起動時や一定時間間隔のタイミングで、検出部１２１は、ネットワークＮ１に接続されている各機器２０に対して機器情報の取得要求を送信し（Ｓ１０１、Ｓ１０３）、各機器２０から機器情報を受信する（Ｓ１０２、Ｓ１０４）。なお、図４では、便宜上、２つの機器２０から機器情報が取得される例が示されているが、ネットワークＮ１に接続されている各機器２０から機器情報が取得される。
【００３５】
機器情報の取得要求は、例えば、所定のネットワークアドレスに対するブロードキャストによって送信されてもよい。また、当該所定のネットワークアドレスの範囲外のＩＰアドレスを有する機器２０については、予めＩＰアドレスが登録され、当該ＩＰアドレスに対するユニキャストによって機器情報の取得要求が送信されてもよい。また、機器情報の取得には、ＳＮＭＰが用いられ、ＭＩＢ情報が機器情報として取得されてもよい。この際、機器種別に応じてＯＩＤ（Object IDentifier）が異なる場合、検出部１２１は、機器種別に応じたＯＩＤを指定して、当該ＯＩＤに対応する機器情報を取得する。機器種別とＯＩＤとの対応は、検出部１２１のロジックとして組み込まれていてもよいし、例えば、補助記憶装置１０２等に記憶されていてもよい。例えば、ＭＡＣアドレス、ＩＰアドレス、ホスト名、機器名、機器種別、状態等の項目（パラメータ）を含む情報が機器情報として取得される。検出部１２１は、取得された機器情報を機器情報記憶部１３に記憶する。
【００３６】
その後、端末３０のユーザの任意のタイミングで、端末３０において機器利用アプリ３１が起動されると（Ｓ１１１）、機器利用アプリ３１は、仲介装置１０の共通ＡＰＩ部１１の機器一覧取得メソッドを呼び出すことで、機器一覧の取得要求を共通ＡＰＩ部１１へ送信する（Ｓ１１２）。続いて、共通ＡＰＩ部１１は、当該メソッドの応答として、機器情報記憶部１３に記憶されている機器情報の一覧（機器一覧）を機器２０アプリへ返信（出力）する（Ｓ１１３）。機器一覧は、各機器情報に係る機器２０を選択可能な一覧の一例である。なお、機器情報の一覧は、当該メソッドの呼び出しに応じて各機器２０から取得されてもよい。機器利用アプリ３１は、当該機器一覧を受信すると、当該機器一覧に基づいて機器一覧画面を表示する（Ｓ１１４）。
【００３７】
図５は、機器一覧画面の一例を示す図である。図５において、機器一覧画面５１０には、機器一覧に含まれる各機器情報が、タイル形式で表示される。各タイルには、機器種別に応じたアイコンや、機器情報に含まれる一部の項目等が表示される。したがって、ユーザは、様々な種類の機器２０の情報を一つの機器一覧画面５１０によって確認することができる。なお、機器一覧画面５１０の形式は一例にすぎない。例えば、テーブル形式によって機器情報の一覧が表示されてもよい。
【００３８】
続いて、機器一覧画面５１０のいずれかタイルがユーザによって選択されると、当該タイルは選択状態となる（Ｓ１１５）。なお、この状態において、例えば、コンテキストメニュー又はプルダウンメニューから詳細情報の表示が指示されると、選択されたタイルに対応する機器２０の機器情報の詳細が表示されてもよい。
【００３９】
図６は、機器情報の詳細の表示例を示す図である。図６では、タイルｔ１に対応する機器２０の機器情報の詳細がポップアップウィンドウｗ１に表示されている例が示されている。なお、機器情報の詳細とは、例えば、タイル内に表示されていない項目をも含む機器情報である。
【００４０】
いずれかのタイルが選択された状態において、例えば、コンテキストメニュー又はプルダウンメニューを介して機器２０の操作がユーザによって指示されると（Ｓ１１６）、機器利用アプリ３１は、仲介装置１０の共通ＡＰＩ部１１のメソッドのうち、当該操作に対応する操作要求のメソッドを呼び出すことで、当該操作要求を共通ＡＰＩ部１１へ送信する（Ｓ１１７）。当該操作要求には、選択されたタイルに対応する機器情報に含まれている機器２０（すなわち、操作対象の機器２０）の識別情報（以下、「機器ＩＤ」という。）が含まれる。例えば、ＭＡＣアドレス又はＩＰアドレス等が機器ＩＤとして利用されてもよい。
【００４１】
なお、ユーザが選択可能な操作は、例えば、共通ＡＰＩ部１１のメソッドの単位のように、複数種類の機器２０に対して抽象化された操作（「入力」や「出力」等）である。
【００４２】
共通ＡＰＩ部１１は、操作要求の受信に応じ、認証設定記憶部１４に記憶されている認証設定を確認する（Ｓ２０１）。認証設定が端末３０ごとに記憶されている場合、共通ＡＰＩ部１１は、当該操作要求の送信元（要求元）のＩＰアドレス（以下、「送信元アドレス」という。）に対応する認証設定を確認する。確認対象の認証設定が、認証が不要であることを示す場合、ステップＳ２０２〜Ｓ３０６は実行されずに、ステップＳ３０７が実行される。この場合、ステップＳ３０７において、後述されるアカウント情報は指定されなくてもよい。
【００４３】
確認対象の認証設定が、認証が必要であることを示す場合、共通ＡＰＩ部１１は、受信された操作要求に含まれている機器ＩＤ（以下、「対象機器ＩＤ」という。）と送信元アドレスとに関連付けられた認証情報が認証情報記憶部１５に記憶されているか否か（認証情報の有無）を判定する（Ｓ２０２）。
【００４４】
該当する認証情報が認証情報記憶部１５に記憶されていない場合、ステップＳ２０３〜Ｓ２０９が実行された後で、ステップＳ３０１以降が実行される。
【００４５】
一方、ステップＳ２０２において、該当する認証情報が認証情報記憶部１５に記憶されている場合、共通ＡＰＩ部１１は、認証情報の入力を要求しない。すなわち、ステップＳ２０３〜Ｓ２０９は実行されずにステップＳ３０１以降が実行される。したがって、同一の端末３０からの同一の機器２０に対する各種の操作要求について、シングルサインオンが実現される。
【００４６】
なお、認証情報記憶部１５に記憶される認証情報には、所定期間の有効期限が設定されてもよい。有効期限が切れている場合、ステップＳ２０３〜Ｓ２０９が実行されるようにしてもよい。
【００４７】
ステップＳ２０３において、共通ＡＰＩ部１１は、認証情報の入力要求を示す応答を機器利用アプリ３１へ返信する。ここで、機器利用アプリ３１がＷｅｂアプリであり、ＨＴＴＰ（HyperText Transfer Protocol）が利用されている場合、当該応答は、４０１（Ｕｎａｕｔｈｏｒｉｚｅｄ）であってもよい。
【００４８】
機器利用アプリ３１は、当該応答に応じ、ログイン画面を表示する（Ｓ２０４）。ユーザが、当該ログイン画面に対して認証情報（ユーザＩＤ及びパスワード）を入力すると（Ｓ２０５）、機器利用アプリ３１は、当該認証情報を共通ＡＰＩ部１１に送信する（Ｓ２０６）。
【００４９】
共通ＡＰＩ部１１は、認証要求先として予め設定されている認証装置４０へ当該認証情報を含む認証要求を送信することで認証処理を制御する（Ｓ２０７）。認証装置４０は、当該認証情報を正しい認証情報（ユーザＩＤ及びパスワード）の一覧と照合し、当該認証情報について認証を行い、認証結果を返信する（Ｓ２０８）。認証結果が認証の失敗を示す場合、以降の処理は中止される。又は、ステップＳ２０３が繰り返されて、再度、ログイン画面が表示されてもよい。
【００５０】
認証結果が、認証の成功を示す場合、共通ＡＰＩ部１１は、認証に成功した認証情報（すなわち、ステップＳ２０６において受信された認証情報）を、送信元アドレス及び対象機器ＩＤに関連付けて認証情報記憶部１５に記憶する（Ｓ２０９）。
【００５１】
なお、ステップＳ２０９において認証情報に関連付けられて記憶されるのは、送信元アドレスだけでもよい。この場合、ステップＳ２０２では、送信元アドレスに関連付けられている認証情報の有無が判定されてもよい。そうすることで、複数の機器２０に対する操作要求に関して、シングルサインオンを実現することができる。すなわち、いずれか一つの機器２０への操作要求の際に認証に成功すれば、以降において、他の機器２０への操作要求に対して認証が要求されるのを抑止することができる。
【００５２】
続いて、共通ＡＰＩ部１１は、送信元アドレス及び対象機器ＩＤに関連付けられて認証情報記憶部１５に記憶されているユーザＩＤ（以下、「対象ユーザＩＤ」という。）を含むロールトークンを、ロールトークン記憶部１７から取得する（Ｓ３０１）。ロールトークンとは、機器種別ごとのユーザのロールを含むトークン（データ）をいう。
【００５３】
対象ユーザＩＤを含むロールトークンがロールトークン記憶部１７に記憶されていない場合、ステップＳ３０２からステップＳ３０５が実行されて、当該ロールトークンがロールグループ管理装置５０から取得される。対象ユーザＩＤによるログインが初めてである場合には、対象ユーザＩＤを含むロールトークンは、ロールトークン記憶部１７には記憶されていない。当該ロールトークンがロールトークン記憶部１７に記憶されている場合、ステップＳ３０２からＳ３０５は実行されずにステップＳ３０５へ進む。なお、ロールトークンに有効期限を設けてもよい。この場合、対象ユーザＩＤを含むロールトークンがロールトークン記憶部１７に記憶されていたとしても、当該ロールトークンの有効期限が切れている場合には、ステップＳ３０２からＳ３０５が実行されて、改めてロールトークンが取得されてもよい。
【００５４】
ステップＳ３０２において、共通ＡＰＩ部１１は、ロールトークンの取得要求をロールグループ管理装置５０へ送信する。当該取得要求には、対象ユーザＩＤが含まれる。ロールグループ管理装置５０は、対象ユーザＩＤに対応するロールトークンがロールグループ記憶部５１に記憶されていれば、当該ロールトークンを共通ＡＰＩ部１１へ返信する（Ｓ３０３）。
【００５５】
図７は、ロールグループ記憶部５１の構成例を示す図である。図７に示されるように、ロールグループ記憶部５１には、ユーザＩＤごとに、ユーザ名、メールアドレス、クラウドサービスアカウント及びロールグループ等が記憶されている。ユーザ名は、ユーザの名前である。クラウドサービスアカウントは、ユーザが利用するクラウドサービスに対するアカウント情報である。図７の例では、ユーザＩＤが「ａａａ」であるユーザ（以下、「ユーザａａａ」といい、他のユーザも斯かる命名規則に従う。）のロールグループが「ｕｓｅｒ」であり、ユーザｂｂｂにはロールグループが設定されていないことが示されている。なお、図７における各レコードが、各ユーザのロールトークンに相当する。
【００５６】
共通ＡＰＩ部１１は、返信されたロールトークンを受信すると、当該ロールトークンをロールトークン記憶部１７に記憶する（Ｓ３０４）。この状態において、当該ロールトークンに係るユーザＩＤ（すなわち、対象ユーザＩＤ）に関するロールトークン記憶部１７におけるレコードは、ロールグループ記憶部５１におけるレコードと同じである。
【００５７】
続いて、共通ＡＰＩ部１１は、ステップＳ３０４においてロールトークン記憶部１７に記憶されたロールトークンの「ロールグループ」の値を、機器種別ごとの具体的なロールの集合に書き換える（Ｓ３０５）。この際、ロールマッピング情報記憶部１６が参照される。
【００５８】
図８は、ロールマッピング情報記憶部１６の構成例を示す図である。図８において、ロールマッピング情報記憶部１６は、ロールグループごとに、各機器種別に対するロール（図８では、「複合機ロール」、「電子黒板ロール」等）の識別が記憶されている。ここで、各機器種別に対する権限とは、各機器種別に係る機器２０において定義されているロールのうち、ロールグループに係るユーザに対して与えられるロールをいう。例えば、「複合機ロール」の列を参照すると、複合機である機器２０には、「Ｇｕｅｓｔ」、「Ａｕｔｈｅｎｔｉｃａｔｅｄ  Ｕｓｅｒ」、「Ｍａｃｈｉｎｅ  Ａｄｍｉｎｉｓｔｒａｔｏｒ」、「Ｃｕｓｔｏｍｅｒ  Ｅｎｇｉｎｅｅｒ」等のロールが定義されているところ、ロールグループが「ｕｓｅｒ」であるユーザについては、「Ａｕｔｈｅｎｔｉｃａｔｅｄ  Ｕｓｅｒ」が割り当てられることが示されている。また、「電子黒板ロール」の列を参照すると、電子黒板である機器２０には、「ｉｗｂｕｓｅｒ」及び「ｉｗｂａｄｍｉｎ」のロールが定義されている（すなわち、管理者であるか否かが定義されているに過ぎない）ところ、ロールグループが「ｕｓｅｒ」であるユーザについては、「ｉｗｂｕｓｅｒ」が割り当てられることが示されている。
【００５９】
なお、ロールグループが「−」である１番目のレコードは、ユーザｂｂｂのように、ロールグループが設定されていない場合に対応するレコードである。したがって、図８の例によれば、ユーザｂｂｂについては、複合機ロールが「Ｇｕｅｓｔ」であり、電子黒板ロールが「ｉｗｂｕｓｅｒ」であると判定される。
【００６０】
このようなロールグループと各機器２０に対する権限との対応関係に基づいて、ステップＳ３０４において対象トークンの「ロールグループ」の値が書き換えられる。
【００６１】
図９は、ロールトークン記憶部１７の構成例を示す図である。図９において、ロールトークン記憶部１７に記憶されている各ロールトークンの構成は、「ロール」の項目を除いて図７に示したロールトークンと同じである。すなわち、図９では、「ロールグループ」の値が、機器２０ごとに対応した具体的なロールに書き換えられている。
【００６２】
例えば、ユーザａａａであれば、「ロールグループ」の値は、「ｍｆｐ：Ｍａｃｈｉｎｅ  Ａｄｍｉｎｉｓｔｒａｔｏｒ，ｉｗｂ：  ｉｗｂａｄｍｉｎ，・・・」に書き換えられている。また、ユーザｂｂｂであれば、「ロールグループ」値は、「ｍｆｐ：Ｇｕｅｓｔ，ｉｗｂ：  ｉｗｂｕｓｅｒ，・・・」に書き換えられている。なお、各ロールの前に「：」を挟んで付与されている「ｍｆｐ」又は「ｉｗｂ」等は、機器種別を示すラベルである。本実施の形態において「ｍｆｐ」は、複合機を示し、「ｉｗｂ」は、電子黒板を示す。
【００６３】
ステップＳ３０１又はＳ３０５に続いて、共通ＡＰＩ部１１は、ステップＳ３０１において取得されたロールトークン、又はステップＳ３０５においてロールグループがロールの集合に書き換えられたロールトークン（以下「対象トークン」という。）を、アカウントマッピング情報記憶部１８に記憶された情報に当てはめて、対象機器ＩＤに対する対象ユーザＩＤのアカウント情報を特定する（Ｓ３０６）。
【００６４】
図１０は、アカウントマッピング情報記憶部１８の構成例を示す図である。図１０に示されるように、アカウントマッピング情報記憶部１８には、機器種別及びロールに対応付けてアカウント情報が記憶されている。
【００６５】
アカウント情報は、当該機器種別に係る機器２０を当該ロールの権限で利用する際に、当該機器２０に対して提示が必要とされる認証情報である。図１０において「＜ＵＩＤ＞」は、対象ユーザＩＤを示す。「＜ＰＷＤ＞」は、対象ユーザＩＤに対応するパスワードを示す。一方、「＜」と「＞」とで囲まれていない値（例えば、「ｉｗｂｕｓｅｒ」や「ｉｗｂａｄｍｉｎ」等）は、当該値がそのまま採用されることを示す。
【００６６】
したがって、共通ＡＰＩ部１１は、ステップＳ３０６において、対象機器ＩＤに係る機器２０の機器種別（以下、「対象機器種別」という。）と、対象トークンにおいて当該機器種別に係るロールとに対応するアカウント情報を図１０から取得する。当該アカウント情報に、「＜ＵＩＤ＞」が含まれている場合、共通ＡＰＩ部１１は、対象ユーザＩＤによって「＜ＵＩＤ＞」を置換する。また、当該アカウント情報に、「＜ＰＷＤ＞」が含まれている場合、共通ＡＰＩ部１１は、対象ユーザＩＤに関連付けられて認証情報記憶部１５に記憶されているパスワードによって、「＜ＰＷＤ＞」を置換する。
【００６７】
なお、対象機器種別は、機器情報記憶部１３に記憶されている機器情報のうち、当該機器ＩＤに対応する機器情報を参照することで特定可能である。
【００６８】
共通ＡＰＩ部１１は、対象機器種別に対応する操作部１２２に対し当該操作要求及びアカウント情報を入力する。例えば、特定した機器種別が機器種別Ａであれば、Ａ操作部１２２ａに対して、対象機器ＩＤ及びアカウント情報を含む操作要求が入力される。
【００６９】
続いて、Ａ操作部１２２ａは、当該操作要求に含まれている対象機器ＩＤに係る機器２０に対し、当該操作要求に応じた操作を実行するための制御命令を送信する（Ｓ３０７）。当該制御命令は、当該機器２０が有する固有ＡＰＩを介して送信される。当該機器２０は、当該制御命令を受信すると、当該制御命令に応じた処理を実行する。その結果、機器利用アプリ３１は、当該機器２０の固有ＡＰＩを直接的に呼び出すことなく、当該機器２０を操作することができる。
【００７０】
なお、ステップＳ３０７の手順は、操作部１２２に応じて異なりうる。例えば、対象機器ＩＤに係る機器２０が、ログインの後に操作要求を受け付けるような固有ＡＰＩを有する場合、操作部１２２は、アカウント情報を含むログイン要求を当該機器２０へ送信する。当該ログイン要求に応じた認証に成功した場合、操作部１２２は、当該機器２０へ制御命令を送信する。一方、制御命令の引数としてアカウント情報が指定可能な固有ＡＰＩを有する機器２０であれば、操作部１２２は、アカウント情報が指定された制御命令を当該機器２０へ送信する。
【００７１】
アカウント情報が機器２０に送信されることで、当該機器２０は、アカウント情報に係るユーザに対応するロール（利用権限）の範囲で、当該機器２０の機能の利用を許可する。したがって、操作部１２２から送信される制御命令が、当該範囲を超える場合、当該機器２０は、当該制御命令に応じた処理の実行を拒否する。
【００７２】
上述したように、第１の実施の形態によれば、機器利用アプリ３１は、機器２０の種別に依存しない共通ＡＰＩを介して、各種の機器２０を操作することができる。したがって、複数種類の機器２０の利用を簡便化することができる。
【００７３】
仲介装置１０が、機器２０の操作に対する認証を機器２０に代わって行うことができる。したがって、例えば、機器２０ごとに異なる可能性の有るログインの方式を、機器利用アプリ３１の開発者が意識する必要性を低減することができる。
【００７４】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第１の実施の形態と同様でもよい。
【００７５】
第１の実施の形態では、機器利用アプリ３１が機器２０ごとに操作指示を受け付けるようなアプリである例を示した。第２の実施の形態では、機器利用アプリ３１が、複数の機器２０を連携したサービスを提供するアプリである例について説明する。
【００７６】
図１１は、第２の実施の形態における仲介装置１０が実行する第１の処理手順を説明するためのシーケンス図である。図１１中、図４のステップ番号にアルファベット（「ａ」又は「ｂ」）が付加されたステップは、図４における当該ステップ番号に対応するステップである。
【００７７】
ステップＳ１１６ａにおいて、機器利用アプリ３１は、印刷対象のデータの入力元の機器２０（以下、「入力元機器」という。）の機器ＩＤと、出力先（印刷先）の機器２０（以下、「出力先機器」という。）の機器ＩＤとが指定された印刷指示をユーザから受け付ける。なお、ここでは、入力元機器としていずれかの電子黒板（ＩＷＢ）が選択され、出力先機器として、いずれかの複合機（ＭＦＰ）が指定されたとする。
【００７８】
機器利用アプリ３１は、当該印刷指示に応じ、入力元機器の機器ＩＤを含む入力要求を共通ＡＰＩ部１１へ送信する（Ｓ１１７ａ）。続いて、ステップＳ２０１及びＳ２０２が実行され、ステップＳ２０２の実行結果に応じて、ステップＳ２０３〜Ｓ２０９が実行され、ステップＳ３０１の実行結果に応じてステップＳ３０２〜Ｓ３０５が実行される。更に、ステップＳ３０６が実行されて、入力元機器に対するアカウント情報が特定されるが、図１１では、便宜上、これらのステップは省略されている。
【００７９】
続いて、共通ＡＰＩ部１１は、入力元機器の機器種別に対応する操作部１２２に対し当該操作要求（入力要求）及びアカウント情報を入力する。当該操作部１２２は、入力元機器である電子黒板に対し、画面のダウンロード要求を示す制御命令を送信する（Ｓ３０７ａ）。なお、画面のダウンロード要求とは、電子黒板に対する描画内容を示す画像データのダウンロード要求を意味し、電子黒板の固有ＡＰＩの一つである。当該ダウンロード要求には、アカウント情報として、「ｉｗｂｕｓｅｒ」又は「ｉｗｂａｄｍｉｎ」が指定される。当該電子黒板は、当該アカウント情報に対応する権限の範囲内で要求された処理を実行する。すなわち、当該アカウント情報に係るユーザに画面のダウンロードの権限が有れば、当該電子黒板は、描画内容の画像データ（キャプチャデータ）を当該操作部１２２へ返信する（Ｓ３０８ａ）。当該操作部１２２は、共通ＡＰＩ部１１に当該画像データを出力する。共通ＡＰＩ部１１は、当該画像データを、ステップＳ１１７ａにおける入力要求に対する応答に含めて機器利用アプリ３１へ返信する（Ｓ３０９ａ）。
【００８０】
続いて、機器利用アプリ３１は、出力先機器の機器ＩＤを含む出力要求を共通ＡＰＩ部１１へ送信する（Ｓ１１７ｂ）。なお、出力要求に係る共通ＡＰＩには、出力先の機器２０の機器ＩＤの他に、出力対象のデータが指定される。ここでは、ステップＳ３０９ａにおいて返信された応答に含まれている画像データが出力対象として指定される。続いて、ステップＳ２０１及びＳ２０２が実行され、ステップＳ２０２の実行結果に応じて、ステップＳ２０３〜Ｓ２０９が実行され、ステップＳ３０１の実行結果に応じてステップＳ３０２〜Ｓ３０５が実行される。更に、ステップＳ３０６が実行されて、出力先機器に対するアカウント情報が特定されるが、図１１では、便宜上、これらのステップは省略されている。
【００８１】
続いて、共通ＡＰＩ部１１は、出力先機器の機器種別に対応する操作部１２２に対し当該操作要求（出力要求）及びアカウント情報を入力する。当該操作部１２２は、出力先機器である複合機に対し、印刷要求を示す制御命令を送信する（Ｓ３０７ｂ）。当該印刷要求には、アカウント情報としてのユーザＩＤ及びパスワードと、印刷対象の画像データとが指定される。当該複合機は、当該アカウント情報に対応する権限の範囲内で要求された処理を実行する。すなわち、当該アカウント情報に係るユーザに印刷の権限が有れば、当該複合機は、当該画像データの印刷を実行する。
【００８２】
図１２は、第２の実施の形態における仲介装置１０が実行する第２の処理手順を説明するためのシーケンス図である。図１２中、図１１と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
【００８３】
ステップＳ１１６ｂにおいて、機器利用アプリ３１は、アップロード対象のデータの入力元の機器２０（以下、「入力元機器」という。）の機器ＩＤと、出力先（アップロード先）の機器２０（以下、「出力先機器」という。）であるクラウドストレージの識別情報（機器ＩＤ）とが指定された印刷指示をユーザから受け付ける。すなわち、機器２０は、オフィス等において設置される機器だけでなく、クラウドストレージ等、インターネットを介して利用可能なサービスであってもよい。なお、ここでは、入力元機器としていずれかの電子黒板（ＩＷＢ）が選択されたとする。
【００８４】
共通ＡＰＩ部１１から画像データ（電子黒板に対する描画内容の画像データ）が返信されると（Ｓ３０９ａ）、機器利用アプリ３１は、出力先機器の機器ＩＤを含む出力要求を共通ＡＰＩ部１１へ送信する（Ｓ１１７ｃ）。続いて、ステップＳ２０１及びＳ２０２が実行され、ステップＳ２０２の実行結果に応じて、ステップＳ２０３〜Ｓ２０９が実行され、ステップＳ３０１の実行結果に応じてステップＳ３０２〜Ｓ３０５が実行される。更に、ステップＳ３０６が実行されて、出力先機器に対するアカウント情報が特定されるが、図１１では、便宜上、これらのステップは省略されている。なお、クラウドストレージのアカウント情報としては、対象ユーザＩＤに係るロールトークンに含まれている「クラウドサービスアカウント」が利用されてもよい。
【００８５】
続いて、共通ＡＰＩ部１１は、出力先機器の機器種別（クラウドストレージ）に対応する操作部１２２に対し当該操作要求（入力要求）及びアカウント情報を入力する。当該操作部１２２は、出力先機器であるクラウドストレージにアップロード要求を示す制御命令を送信する（Ｓ３０７ｃ）。当該アップロード要求には、アカウント情報と、アップロード対象の画像データとが指定される。当該クラウドストレージは、当該アカウント情報に対応する権限の範囲内で要求された処理を実行する。すなわち、当該アカウント情報に係るユーザにアップロードの権限が有れば、当該クラウドストレージは、当該画像データを保存する。
【００８６】
このように、機器利用アプリ３１は、各機器２０の固有ＡＰＩを知らなくても、共通ＡＰＩを介して、複数の機器２０を跨いだ（複数の機器２０を連携させた）サービスを提供することができる。
【００８７】
なお、図３又は図８において仲介装置１０が有する各機能部を、各端末３０が有するようにしてもよい。すなわち、各端末３０が、仲介装置１０を包含してもよい。
【００８８】
なお、上記各実施の形態において、仲介装置１０及び機器２０は、情報処理システムの一例である。仲介装置１０又は端末３０は、情報処理装置の一例である。共通ＡＰＩ部１１は、取得部、特定部及び認証制御部の一例である。ロールグループ記憶部５１は、第１の記憶部の一例である。ロールマッピング情報記憶部１６は、第２の記憶部の一例である。アカウントマッピング情報記憶部１８は、第３の記憶部の一例である。認証情報記憶部１５は、第４の記憶部の一例である。端末３０又は機器利用アプリ３１は、操作要求の要求元の一例である。送信元アドレスは第１の識別情報の一例である。ユーザＩＤは、ユーザ識別情報の一例である。ロールは、権限識別情報の一例である。
【００８９】
なお、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【００９０】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９１】
１０          仲介装置
１１          共通ＡＰＩ部
１２          固有部
１３          機器情報記憶部
１４          認証設定記憶部
１５          認証情報記憶部
１６          ロールマッピング情報記憶部
１７          ロールトークン記憶部
１８          アカウントマッピング情報記憶部
２０          機器
３０          端末
３１          機器利用アプリ
４０          認証装置
５０          ロールグループ管理装置
５１          ロールグループ記憶部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        検出部
１２２ａ      Ａ操作部
１２２ｂ      Ｂ操作部
１２２ｃ      Ｃ操作部
Ｂ            バス
【先行技術文献】
【特許文献】
【００９２】
【特許文献１】特開２０１６−２１８８２５号公報
【図１】
2019160097.tif 000003
【図２】
2019160097.tif 000004
【図３】
2019160097.tif 000005
【図４】
2019160097.tif 000006
【図５】
2019160097.tif 000007
【図６】
2019160097.tif 000008
【図７】
2019160097.tif 000009
【図８】
2019160097.tif 000010
【図９】
2019160097.tif 000011
【図１０】
2019160097.tif 000012
【図１１】
2019160097.tif 000013
【図１２】
2019160097.tif 000014