IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7077688情報処理システム、情報処理装置、情報処理方法及びプログラム
<>
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図1
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図2
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図3
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図4
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図5
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図6
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図7
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図8
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図9
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図10
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図11
  • 特許-情報処理システム、情報処理装置、情報処理方法及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-23
(45)【発行日】2022-05-31
(54)【発明の名称】情報処理システム、情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20220524BHJP
   H04L 67/00 20220101ALI20220524BHJP
   H04N 1/00 20060101ALI20220524BHJP
【FI】
G06F3/12 338
G06F3/12 326
G06F3/12 303
G06F3/12 388
H04L67/00
H04N1/00 L
【請求項の数】 6
(21)【出願番号】P 2018048628
(22)【出願日】2018-03-15
(65)【公開番号】P2019160097
(43)【公開日】2019-09-19
【審査請求日】2021-01-18
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】荒木 涼二
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2015-111408(JP,A)
【文献】国際公開第2011/089712(WO,A1)
【文献】特表2011-529609(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J29/00-29/70
H04N1/00
H04L67/00
(57)【特許請求の範囲】
【請求項1】
複数種類の機器と、前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得部と、
前記取得部が取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定部と、
前記特定部が特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作部と、
を有し、
前記取得部は、各ユーザ識別情報に対応付けて、前記種別ごとの前記権限識別情報の集合に対する識別情報を記憶した第1の記憶部から、前記要求元のユーザに係るユーザ識別情報に対応する識別情報を取得し、当該識別情報に対応付けて前記種別ごとに第2の記憶部に記憶されている前記権限識別情報の集合の中から、前記操作要求に係る機器の種別に対応する前記権限識別情報を取得する、
ことを特徴とする情報処理システム。
【請求項2】
前記特定部は、前記種別及び前記権限識別情報の組み合わせごとに、前記アカウント情報を記憶した第3の記憶部を参照して、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する、
ことを特徴とする請求項記載の情報処理システム。
【請求項3】
前記操作要求に応じ、前記操作要求の要求元のユーザに対しユーザ識別情報の入力を要求し、入力されたユーザ識別情報の認証処理を制御する認証制御部を有し、
前記認証制御部は、前記ユーザ識別情報の認証に成功した場合に、前記ユーザ識別情報と、前記操作要求の要求元を識別する第1の識別情報とを関連付けて第4の記憶部に記憶し、前記第4の記憶部において前記ユーザ識別情報に関連付けられて記憶されている前記第1の識別情報に係る要求元から前記複数種類の機器のいずれかを対象とする操作要求を受け付けた場合には、当該要求元へユーザ識別情報の入力を要求しない、
ことを特徴とする請求項1又は2記載の情報処理システム。
【請求項4】
複数種類の機器とネットワークを介して接続される情報処理装置であって、
前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得部と、
前記取得部が取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定部と、
前記特定部が特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作部と、
を有し、
前記取得部は、各ユーザ識別情報に対応付けて、前記種別ごとの前記権限識別情報の集合に対する識別情報を記憶した第1の記憶部から、前記要求元のユーザに係るユーザ識別情報に対応する識別情報を取得し、当該識別情報に対応付けて前記種別ごとに第2の記憶部に記憶されている前記権限識別情報の集合の中から、前記操作要求に係る機器の種別に対応する前記権限識別情報を取得する、
ことを特徴とする情報処理装置。
【請求項5】
複数種類の機器とネットワークを介して接続される情報処理装置が、
前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得手順と、
前記取得手順において取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定手順と、
前記特定手順において特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作手順と、
を実行し、
前記取得手順は、各ユーザ識別情報に対応付けて、前記種別ごとの前記権限識別情報の集合に対する識別情報を記憶した第1の記憶部から、前記要求元のユーザに係るユーザ識別情報に対応する識別情報を取得し、当該識別情報に対応付けて前記種別ごとに第2の記憶部に記憶されている前記権限識別情報の集合の中から、前記操作要求に係る機器の種別に対応する前記権限識別情報を取得する、
ことを特徴とする情報処理方法。
【請求項6】
複数種類の機器とネットワークを介して接続される情報処理装置に、
前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得手順と、
前記取得手順において取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定手順と、
前記特定手順において特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作手順と、
を実行させ
前記取得手順は、各ユーザ識別情報に対応付けて、前記種別ごとの前記権限識別情報の集合に対する識別情報を記憶した第1の記憶部から、前記要求元のユーザに係るユーザ識別情報に対応する識別情報を取得し、当該識別情報に対応付けて前記種別ごとに第2の記憶部に記憶されている前記権限識別情報の集合の中から、前記操作要求に係る機器の種別に対応する前記権限識別情報を取得する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
オフィス等においては、プリンタ、コピー機、又は複合機等の画像形成に関する機器や、電子黒板、テレビ会議システム、プロジェクタ、デジタルサイネージ等のコミュニケーションを支援する機器等、多種多様な機器が利用される場合が有る。
【0003】
各機器は、ユーザに適したソリューションの構築を可能とするため、それぞれに固有のインタフェース、すなわち、API(Application Program Interface)を有している。ソリューションを提供するためのソフトウェアの開発者は、各機器のAPIを利用することで、当該ソリューションを提供可能なソフトウェアを開発することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、各機器の各APIは、それぞれ独自に開発されている場合が有る。この場合、ソリューションを提供するためのソフトウェアの開発者は、機器ごとのAPIを学習又は調査等する必要が有るため、ユーザの要望に対して迅速に対応するのが困難である。
【0005】
本発明は、上記の点に鑑みてなされたものであって、複数種類の機器の利用を簡便化することを目的とする。
【課題を解決するための手段】
【0006】
そこで上記課題を解決するため、複数種類の機器と、前記機器にネットワークを介して接続される情報処理装置とを含む情報処理システムであって、前記情報処理装置は、前記複数種類の機器のうちのいずれかの機器を対象とする、機器の種別に依存しない操作要求に応じ、前記操作要求の要求元のユーザに係るユーザ識別情報に基づいて、当該機器に対する前記ユーザの利用権限を示す権限識別情報を取得する取得部と、前記取得部が取得した権限識別情報に基づいて、前記操作要求に係る機器に対する前記ユーザのアカウント情報を特定する特定部と、前記特定部が特定したアカウント情報に基づいて、当該機器に応じたインタフェースを介して、前記操作要求に対応する処理を当該機器に実行させる操作部と、を有し、前記取得部は、各ユーザ識別情報に対応付けて、前記種別ごとの前記権限識別情報の集合に対する識別情報を記憶した第1の記憶部から、前記要求元のユーザに係るユーザ識別情報に対応する識別情報を取得し、当該識別情報に対応付けて前記種別ごとに第2の記憶部に記憶されている前記権限識別情報の集合の中から、前記操作要求に係る機器の種別に対応する前記権限識別情報を取得する
【発明の効果】
【0007】
複数種類の機器の利用を簡便化することができる。
【図面の簡単な説明】
【0008】
図1】第1の実施の形態におけるシステム構成例を示す図である。
図2】第1の実施の形態における仲介装置10のハードウェア構成例を示す図である。
図3】第1の実施の形態における仲介装置10の機能構成例を示す図である。
図4】第1の実施の形態における仲介装置10が実行する処理手順の一例を説明するためのシーケンス図である。
図5】機器一覧画面の一例を示す図である。
図6】機器情報の詳細の表示例を示す図である。
図7】ロールグループ記憶部51の構成例を示す図である。
図8】ロールマッピング情報記憶部16の構成例を示す図である。
図9】ロールトークン記憶部17の構成例を示す図である。
図10】アカウントマッピング情報記憶部18の構成例を示す図である。
図11】第2の実施の形態における仲介装置10が実行する第1の処理手順を説明するためのシーケンス図である。
図12】第2の実施の形態における仲介装置10が実行する第2の処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【0009】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第1の実施の形態におけるシステム構成例を示す図である。図1には、例えば、或る企業内におけるシステム環境(以下、「企業内システム」という。)の一例が示されている。
【0010】
図1において、企業内システムは、機器20-1~機器20-n等の複数の機器(以下、それぞれを区別しない場合「機器20」という。)と、端末30-1~端末30-m等の1以上の端末30(以下、それぞれを区別しない場合「端末30」という。)と、仲介装置10と、認証装置40と、ロールグループ管理装置50とを含む。
【0011】
機器20-1~機器20-n等の複数の機器20は、例えば、プリンタ、コピー機、複合機、電子黒板、テレビ会議システム、プロジェクタ、デジタルサイネージ、プロジェクタ等のうちの2種類以上の機器20の集合であり、企業内のネットワークN1に接続される。同じ種類の機器20が2以上含まれていてもよいし、全ての機器20の種別(以下、「機器種別」という。)が異なっていてもよい。
【0012】
各機器20は、機器種別ごとに固有のインタフェース(API(Application Program Interface)(以下、「固有API」という。))を有しており、ネットワークを介して当該APIを呼び出すことで、機器20を操作可能とされている。例えば、各機器20が有するAPIは、HTTP(HyperText Transfer Protocol)ベースのWebAPIであってもよい。
【0013】
一方、端末30-1~端末30-m等の1以上の端末30は、例えば、スマートフォン、タブレット端末、PC(Personal Computer)等である。又は、いずれかの機器20の操作パネルが端末30として利用可能であってもよい。各端末30には、機器20を操作するためのアプリケーションプログラム(以下、単に「アプリ」という。)がインストールされている。各アプリは、例えば、Webブラウザ上で動作するWebアプリとして実装されてもよい。なお、スマートフォンとは、携帯電話としての通話機能のほかカメラによる撮像機能、PCのようなWeb情報表示機能など多機能を備える端末、タブレット端末とは、スマートフォンと同様に多機能端末として機能するタブレット型の端末というのが典型である。
【0014】
仲介装置10は、機器種別ごとに固有のAPIの相違又は差異を吸収し、複数の種類の機器20に対して共通の(すなわち、機器種別に依存しない)インタフェース(以下、「共通API」という。)を各端末30(各アプリ)に提供するコンピュータである。仲介装置10が設けられることにより、例えば、アプリの開発者は、共通APIを学習することで、アプリの開発を行うことができる。なお、仲介装置10は、各端末30、認証装置40及びロールグループ管理装置50と通信可能である。また、仲介装置10は、各機器20とネットワークN1を介して通信可能である。
【0015】
認証装置40は、端末30のユーザのうち、いずれかの機器20を操作するユーザについて認証を実行するコンピュータである。なお、いずれかの機器20が認証装置40として利用されてもよい。
【0016】
ロールグループ管理装置50は、認証装置40によって認証されたユーザについて、各機器20に対する利用権限に関する情報を管理するコンピュータである。但し、いずれかの機器20がロールグループ管理装置50として利用されてもよい。
【0017】
なお認証装置40及びロールグループ管理装置50は、ネットワークN1に接続されていてもよいし、例えば、インターネット等を介して仲介装置10と通信可能であってもよい。また、認証装置40とロールグループ管理装置50とは、別々の装置でなくてもよい。例えば、共通の1以上のコンピュータを用いて認証装置40及びロールグループ管理装置50が実現されてもよい。
【0018】
図2は、第1の実施の形態における仲介装置10のハードウェア構成例を示す図である。図2の仲介装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
【0019】
仲介装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0020】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って仲介装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0021】
図3は、第1の実施の形態における仲介装置10の機能構成例を示す図である。図3において、仲介装置10は、共通API部11及び固有部12を有する。これら各部は、仲介装置10にインストールされた1以上のプログラムがCPU104に実行させる処理により実現される。仲介装置10は、また、機器情報記憶部13、認証設定記憶部14、認証情報記憶部15、ロールマッピング情報記憶部16、ロールトークン記憶部17及びアカウントマッピング情報記憶部18等を利用する。これら各記憶部は、例えば、補助記憶装置102、又は仲介装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【0022】
共通API部11は、例えば、端末30にインストールされているアプリの一例である機器利用アプリ31に対し、共通APIを提供する。共通APIには、機器20の管理系に関するメソッド又は関数(以下、「メソッド」で統一する。)や、機器20の操作系に関するメソッド等が含まれる。管理系に関するメソッドとしては、例えば、ネットワークN1に接続されている機器20の一覧の取得要求に対応するメソッド等が挙げられる。機器20の操作系に関するメソッドとしては、ジョブの実行要求(機器20の操作要求)に対応するメソッド等が挙げられる。
【0023】
但し、機器種別に応じて機能が異なる。例えば、画像形成装置であれば、スキャンや印刷といった機能が有るのに対し、電子黒板にはそのような機能は無い。したがって、仮に、操作系のメソッドが「スキャン要求」や「印刷要求」等、各機器20の機能レベルで具体的なものであった場合、各メソッドは、特定の種別の機器20のみに有効なものとなってしまい、共通APIが固有APIと1対1に対応したものとなってしまう可能性が有る。
【0024】
そこで、本実施の形態では、各機器20の機能が抽象化されたレベルで共通化され、共通化された粒度(単位)で共通APIのメソッドが定義されている。例えば、「入力要求」や「出力要求」が、斯かるメソッドに該当する。入力要求は、画像形成装置であれば、例えば、スキャン要求に対応し、プロジェクタや電子黒板やデジタルサイネージ等であれば、例えば、処理対象とするデータの読み込み要求(入力要求)に対応する。また、出力要求は、画像形成装置であれば、例えば、印刷要求に対応し、プロジェクタや電子黒板やデジタルサイネージ等であれば、例えば、処理対象のデータの投影要求又は表示要求等に対応する。
【0025】
固有部12は、呼び出された共通APIについて固有APIへの変換を行い、固有APIを利用して各機器20を操作する。図3において、固有部12は、検出部121、A操作部122a、B操作部122b及びC操作部122c等を含む。検出部121は、管理系のメソッドに対応し、ネットワークN1に接続されている機器20を検出し、検出された機器20の機器情報(例えば、MIB(Management Information Base)情報)を取得する。取得された機器情報は、機器情報記憶部13に記憶される。なお、多くの機器20は、SNMP(Simple Network Management Protocol)に対応しているため、機器情報の取得に関して機器20間のインタフェースの差異は小さい。但し、機器種別に応じて、プライベートMIBの構成が異なる場合が有る。検出部121は、このようなMIBの構成の違いが吸収された機器情報を機器情報記憶部13に記憶する。
【0026】
A操作部122a、機器種別A(例えば、複合機)の機器20群が有する固有APIを介して当該機器20群を操作する。B操作部122b、機器種別B(例えば、電子黒板)の機器20群が有する固有APIを介して当該機器20群を操作する。C操作部122c、機器種別C(例えば、プロジェクタ)の機器20群が有する固有APIを介して当該機器20群を操作する。
【0027】
すなわち、A操作部122a、B操作部122b及びC操作部122c(以下、それぞれを区別しない場合「操作部122」という。)は、機器20の固有APIを介して機器20を操作するという役割が共通するが、対応可能な機器種別が異なる。なお、別の機器種他の機器20に対応する操作部122が設けられてもよい。固有部12の拡張や縮小を容易にするために、検出部121や操作部122を構成するは、共通API部11に対するプラグインとして実装されてもよい。
【0028】
認証設定記憶部14には、ユーザの認証の要否を示す情報(以下「認証設定」という。)が記憶されている。認証設定は、全ての端末30に対して共通であってもよいし、端末30ごとに設定可能であってもよい。
【0029】
認証情報記憶部15には、認証されたユーザの認証情報が、当該ユーザの端末30のIPアドレスと、操作対象の機器20の機器IDとに関連付けられて記憶される。認証情報記憶部15に記憶される認証情報は、ユーザによって入力された認証情報(ユーザID及びパスワード等)であってもよいし、ユーザによって入力された認証情報が加工されたデータ(例えば、暗号化された値やハッシュ値等)であってもよい。
【0030】
ロールマッピング情報記憶部16には、ロールグループごとに各機器種別に対するロールが記憶されている。ロールとは、機器20に対する利用権限のレベル又は範囲の識別情報をいう。ロールグループとは、機器種別ごとのロールの集合に対する識別情報である。なお、ロールグループ管理装置50のロールグループ記憶部51には、各ユーザのユーザIDに対応付けて、当該ユーザのロールグループが記憶されている。
【0031】
ロールトークン記憶部17には、仲介装置10を介していずれかの機器20を操作したユーザのユーザIDに対応付けて、各機器種別に対するロールを含むデータであるロールトークンが記憶される。
【0032】
アカウントマッピング情報記憶部18には、各機器種別に対して、当該機器種別について有効なロールごとに、アカウント情報が記憶される。アカウント情報とは、機器20を利用する際に機器20に対して提示が必要とされるユーザの識別情報である。
【0033】
以下、仲介装置10が実行する処理手順について説明する。図4は、第1の実施の形態における仲介装置10が実行する処理手順の一例を説明するためのシーケンス図である。
【0034】
例えば、仲介装置10の起動時や一定時間間隔のタイミングで、検出部121は、ネットワークN1に接続されている各機器20に対して機器情報の取得要求を送信し(S101、S103)、各機器20から機器情報を受信する(S102、S104)。なお、図4では、便宜上、2つの機器20から機器情報が取得される例が示されているが、ネットワークN1に接続されている各機器20から機器情報が取得される。
【0035】
機器情報の取得要求は、例えば、所定のネットワークアドレスに対するブロードキャストによって送信されてもよい。また、当該所定のネットワークアドレスの範囲外のIPアドレスを有する機器20については、予めIPアドレスが登録され、当該IPアドレスに対するユニキャストによって機器情報の取得要求が送信されてもよい。また、機器情報の取得には、SNMPが用いられ、MIB情報が機器情報として取得されてもよい。この際、機器種別に応じてOID(Object IDentifier)が異なる場合、検出部121は、機器種別に応じたOIDを指定して、当該OIDに対応する機器情報を取得する。機器種別とOIDとの対応は、検出部121のロジックとして組み込まれていてもよいし、例えば、補助記憶装置102等に記憶されていてもよい。例えば、MACアドレス、IPアドレス、ホスト名、機器名、機器種別、状態等の項目(パラメータ)を含む情報が機器情報として取得される。検出部121は、取得された機器情報を機器情報記憶部13に記憶する。
【0036】
その後、端末30のユーザの任意のタイミングで、端末30において機器利用アプリ31が起動されると(S111)、機器利用アプリ31は、仲介装置10の共通API部11の機器一覧取得メソッドを呼び出すことで、機器一覧の取得要求を共通API部11へ送信する(S112)。続いて、共通API部11は、当該メソッドの応答として、機器情報記憶部13に記憶されている機器情報の一覧(機器一覧)を機器20アプリへ返信(出力)する(S113)。機器一覧は、各機器情報に係る機器20を選択可能な一覧の一例である。なお、機器情報の一覧は、当該メソッドの呼び出しに応じて各機器20から取得されてもよい。機器利用アプリ31は、当該機器一覧を受信すると、当該機器一覧に基づいて機器一覧画面を表示する(S114)。
【0037】
図5は、機器一覧画面の一例を示す図である。図5において、機器一覧画面510には、機器一覧に含まれる各機器情報が、タイル形式で表示される。各タイルには、機器種別に応じたアイコンや、機器情報に含まれる一部の項目等が表示される。したがって、ユーザは、様々な種類の機器20の情報を一つの機器一覧画面510によって確認することができる。なお、機器一覧画面510の形式は一例にすぎない。例えば、テーブル形式によって機器情報の一覧が表示されてもよい。
【0038】
続いて、機器一覧画面510のいずれかタイルがユーザによって選択されると、当該タイルは選択状態となる(S115)。なお、この状態において、例えば、コンテキストメニュー又はプルダウンメニューから詳細情報の表示が指示されると、選択されたタイルに対応する機器20の機器情報の詳細が表示されてもよい。
【0039】
図6は、機器情報の詳細の表示例を示す図である。図6では、タイルt1に対応する機器20の機器情報の詳細がポップアップウィンドウw1に表示されている例が示されている。なお、機器情報の詳細とは、例えば、タイル内に表示されていない項目をも含む機器情報である。
【0040】
いずれかのタイルが選択された状態において、例えば、コンテキストメニュー又はプルダウンメニューを介して機器20の操作がユーザによって指示されると(S116)、機器利用アプリ31は、仲介装置10の共通API部11のメソッドのうち、当該操作に対応する操作要求のメソッドを呼び出すことで、当該操作要求を共通API部11へ送信する(S117)。当該操作要求には、選択されたタイルに対応する機器情報に含まれている機器20(すなわち、操作対象の機器20)の識別情報(以下、「機器ID」という。)が含まれる。例えば、MACアドレス又はIPアドレス等が機器IDとして利用されてもよい。
【0041】
なお、ユーザが選択可能な操作は、例えば、共通API部11のメソッドの単位のように、複数種類の機器20に対して抽象化された操作(「入力」や「出力」等)である。
【0042】
共通API部11は、操作要求の受信に応じ、認証設定記憶部14に記憶されている認証設定を確認する(S201)。認証設定が端末30ごとに記憶されている場合、共通API部11は、当該操作要求の送信元(要求元)のIPアドレス(以下、「送信元アドレス」という。)に対応する認証設定を確認する。確認対象の認証設定が、認証が不要であることを示す場合、ステップS202~S306は実行されずに、ステップS307が実行される。この場合、ステップS307において、後述されるアカウント情報は指定されなくてもよい。
【0043】
確認対象の認証設定が、認証が必要であることを示す場合、共通API部11は、受信された操作要求に含まれている機器ID(以下、「対象機器ID」という。)と送信元アドレスとに関連付けられた認証情報が認証情報記憶部15に記憶されているか否か(認証情報の有無)を判定する(S202)。
【0044】
該当する認証情報が認証情報記憶部15に記憶されていない場合、ステップS203~S209が実行された後で、ステップS301以降が実行される。
【0045】
一方、ステップS202において、該当する認証情報が認証情報記憶部15に記憶されている場合、共通API部11は、認証情報の入力を要求しない。すなわち、ステップS203~S209は実行されずにステップS301以降が実行される。したがって、同一の端末30からの同一の機器20に対する各種の操作要求について、シングルサインオンが実現される。
【0046】
なお、認証情報記憶部15に記憶される認証情報には、所定期間の有効期限が設定されてもよい。有効期限が切れている場合、ステップS203~S209が実行されるようにしてもよい。
【0047】
ステップS203において、共通API部11は、認証情報の入力要求を示す応答を機器利用アプリ31へ返信する。ここで、機器利用アプリ31がWebアプリであり、HTTP(HyperText Transfer Protocol)が利用されている場合、当該応答は、401(Unauthorized)であってもよい。
【0048】
機器利用アプリ31は、当該応答に応じ、ログイン画面を表示する(S204)。ユーザが、当該ログイン画面に対して認証情報(ユーザID及びパスワード)を入力すると(S205)、機器利用アプリ31は、当該認証情報を共通API部11に送信する(S206)。
【0049】
共通API部11は、認証要求先として予め設定されている認証装置40へ当該認証情報を含む認証要求を送信することで認証処理を制御する(S207)。認証装置40は、当該認証情報を正しい認証情報(ユーザID及びパスワード)の一覧と照合し、当該認証情報について認証を行い、認証結果を返信する(S208)。認証結果が認証の失敗を示す場合、以降の処理は中止される。又は、ステップS203が繰り返されて、再度、ログイン画面が表示されてもよい。
【0050】
認証結果が、認証の成功を示す場合、共通API部11は、認証に成功した認証情報(すなわち、ステップS206において受信された認証情報)を、送信元アドレス及び対象機器IDに関連付けて認証情報記憶部15に記憶する(S209)。
【0051】
なお、ステップS209において認証情報に関連付けられて記憶されるのは、送信元アドレスだけでもよい。この場合、ステップS202では、送信元アドレスに関連付けられている認証情報の有無が判定されてもよい。そうすることで、複数の機器20に対する操作要求に関して、シングルサインオンを実現することができる。すなわち、いずれか一つの機器20への操作要求の際に認証に成功すれば、以降において、他の機器20への操作要求に対して認証が要求されるのを抑止することができる。
【0052】
続いて、共通API部11は、送信元アドレス及び対象機器IDに関連付けられて認証情報記憶部15に記憶されているユーザID(以下、「対象ユーザID」という。)を含むロールトークンを、ロールトークン記憶部17から取得する(S301)。ロールトークンとは、機器種別ごとのユーザのロールを含むトークン(データ)をいう。
【0053】
対象ユーザIDを含むロールトークンがロールトークン記憶部17に記憶されていない場合、ステップS302からステップS305が実行されて、当該ロールトークンがロールグループ管理装置50から取得される。対象ユーザIDによるログインが初めてである場合には、対象ユーザIDを含むロールトークンは、ロールトークン記憶部17には記憶されていない。当該ロールトークンがロールトークン記憶部17に記憶されている場合、ステップS302からS305は実行されずにステップS305へ進む。なお、ロールトークンに有効期限を設けてもよい。この場合、対象ユーザIDを含むロールトークンがロールトークン記憶部17に記憶されていたとしても、当該ロールトークンの有効期限が切れている場合には、ステップS302からS305が実行されて、改めてロールトークンが取得されてもよい。
【0054】
ステップS302において、共通API部11は、ロールトークンの取得要求をロールグループ管理装置50へ送信する。当該取得要求には、対象ユーザIDが含まれる。ロールグループ管理装置50は、対象ユーザIDに対応するロールトークンがロールグループ記憶部51に記憶されていれば、当該ロールトークンを共通API部11へ返信する(S303)。
【0055】
図7は、ロールグループ記憶部51の構成例を示す図である。図7に示されるように、ロールグループ記憶部51には、ユーザIDごとに、ユーザ名、メールアドレス、クラウドサービスアカウント及びロールグループ等が記憶されている。ユーザ名は、ユーザの名前である。クラウドサービスアカウントは、ユーザが利用するクラウドサービスに対するアカウント情報である。図7の例では、ユーザIDが「aaa」であるユーザ(以下、「ユーザaaa」といい、他のユーザも斯かる命名規則に従う。)のロールグループが「user」であり、ユーザbbbにはロールグループが設定されていないことが示されている。なお、図7における各レコードが、各ユーザのロールトークンに相当する。
【0056】
共通API部11は、返信されたロールトークンを受信すると、当該ロールトークンをロールトークン記憶部17に記憶する(S304)。この状態において、当該ロールトークンに係るユーザID(すなわち、対象ユーザID)に関するロールトークン記憶部17におけるレコードは、ロールグループ記憶部51におけるレコードと同じである。
【0057】
続いて、共通API部11は、ステップS304においてロールトークン記憶部17に記憶されたロールトークンの「ロールグループ」の値を、機器種別ごとの具体的なロールの集合に書き換える(S305)。この際、ロールマッピング情報記憶部16が参照される。
【0058】
図8は、ロールマッピング情報記憶部16の構成例を示す図である。図8において、ロールマッピング情報記憶部16は、ロールグループごとに、各機器種別に対するロール(図8では、「複合機ロール」、「電子黒板ロール」等)の識別が記憶されている。ここで、各機器種別に対する権限とは、各機器種別に係る機器20において定義されているロールのうち、ロールグループに係るユーザに対して与えられるロールをいう。例えば、「複合機ロール」の列を参照すると、複合機である機器20には、「Guest」、「Authenticated User」、「Machine Administrator」、「Customer Engineer」等のロールが定義されているところ、ロールグループが「user」であるユーザについては、「Authenticated User」が割り当てられることが示されている。また、「電子黒板ロール」の列を参照すると、電子黒板である機器20には、「iwbuser」及び「iwbadmin」のロールが定義されている(すなわち、管理者であるか否かが定義されているに過ぎない)ところ、ロールグループが「user」であるユーザについては、「iwbuser」が割り当てられることが示されている。
【0059】
なお、ロールグループが「-」である1番目のレコードは、ユーザbbbのように、ロールグループが設定されていない場合に対応するレコードである。したがって、図8の例によれば、ユーザbbbについては、複合機ロールが「Guest」であり、電子黒板ロールが「iwbuser」であると判定される。
【0060】
このようなロールグループと各機器20に対する権限との対応関係に基づいて、ステップS304において対象トークンの「ロールグループ」の値が書き換えられる。
【0061】
図9は、ロールトークン記憶部17の構成例を示す図である。図9において、ロールトークン記憶部17に記憶されている各ロールトークンの構成は、「ロール」の項目を除いて図7に示したロールトークンと同じである。すなわち、図9では、「ロールグループ」の値が、機器20ごとに対応した具体的なロールに書き換えられている。
【0062】
例えば、ユーザaaaであれば、「ロールグループ」の値は、「mfp:Machine Administrator,iwb: iwbadmin,・・・」に書き換えられている。また、ユーザbbbであれば、「ロールグループ」値は、「mfp:Guest,iwb: iwbuser,・・・」に書き換えられている。なお、各ロールの前に「:」を挟んで付与されている「mfp」又は「iwb」等は、機器種別を示すラベルである。本実施の形態において「mfp」は、複合機を示し、「iwb」は、電子黒板を示す。
【0063】
ステップS301又はS305に続いて、共通API部11は、ステップS301において取得されたロールトークン、又はステップS305においてロールグループがロールの集合に書き換えられたロールトークン(以下「対象トークン」という。)を、アカウントマッピング情報記憶部18に記憶された情報に当てはめて、対象機器IDに対する対象ユーザIDのアカウント情報を特定する(S306)。
【0064】
図10は、アカウントマッピング情報記憶部18の構成例を示す図である。図10に示されるように、アカウントマッピング情報記憶部18には、機器種別及びロールに対応付けてアカウント情報が記憶されている。
【0065】
アカウント情報は、当該機器種別に係る機器20を当該ロールの権限で利用する際に、当該機器20に対して提示が必要とされる認証情報である。図10において「<UID>」は、対象ユーザIDを示す。「<PWD>」は、対象ユーザIDに対応するパスワードを示す。一方、「<」と「>」とで囲まれていない値(例えば、「iwbuser」や「iwbadmin」等)は、当該値がそのまま採用されることを示す。
【0066】
したがって、共通API部11は、ステップS306において、対象機器IDに係る機器20の機器種別(以下、「対象機器種別」という。)と、対象トークンにおいて当該機器種別に係るロールとに対応するアカウント情報を図10から取得する。当該アカウント情報に、「<UID>」が含まれている場合、共通API部11は、対象ユーザIDによって「<UID>」を置換する。また、当該アカウント情報に、「<PWD>」が含まれている場合、共通API部11は、対象ユーザIDに関連付けられて認証情報記憶部15に記憶されているパスワードによって、「<PWD>」を置換する。
【0067】
なお、対象機器種別は、機器情報記憶部13に記憶されている機器情報のうち、当該機器IDに対応する機器情報を参照することで特定可能である。
【0068】
共通API部11は、対象機器種別に対応する操作部122に対し当該操作要求及びアカウント情報を入力する。例えば、特定した機器種別が機器種別Aであれば、A操作部122aに対して、対象機器ID及びアカウント情報を含む操作要求が入力される。
【0069】
続いて、A操作部122aは、当該操作要求に含まれている対象機器IDに係る機器20に対し、当該操作要求に応じた操作を実行するための制御命令を送信する(S307)。当該制御命令は、当該機器20が有する固有APIを介して送信される。当該機器20は、当該制御命令を受信すると、当該制御命令に応じた処理を実行する。その結果、機器利用アプリ31は、当該機器20の固有APIを直接的に呼び出すことなく、当該機器20を操作することができる。
【0070】
なお、ステップS307の手順は、操作部122に応じて異なりうる。例えば、対象機器IDに係る機器20が、ログインの後に操作要求を受け付けるような固有APIを有する場合、操作部122は、アカウント情報を含むログイン要求を当該機器20へ送信する。当該ログイン要求に応じた認証に成功した場合、操作部122は、当該機器20へ制御命令を送信する。一方、制御命令の引数としてアカウント情報が指定可能な固有APIを有する機器20であれば、操作部122は、アカウント情報が指定された制御命令を当該機器20へ送信する。
【0071】
アカウント情報が機器20に送信されることで、当該機器20は、アカウント情報に係るユーザに対応するロール(利用権限)の範囲で、当該機器20の機能の利用を許可する。したがって、操作部122から送信される制御命令が、当該範囲を超える場合、当該機器20は、当該制御命令に応じた処理の実行を拒否する。
【0072】
上述したように、第1の実施の形態によれば、機器利用アプリ31は、機器20の種別に依存しない共通APIを介して、各種の機器20を操作することができる。したがって、複数種類の機器20の利用を簡便化することができる。
【0073】
仲介装置10が、機器20の操作に対する認証を機器20に代わって行うことができる。したがって、例えば、機器20ごとに異なる可能性の有るログインの方式を、機器利用アプリ31の開発者が意識する必要性を低減することができる。
【0074】
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第1の実施の形態と同様でもよい。
【0075】
第1の実施の形態では、機器利用アプリ31が機器20ごとに操作指示を受け付けるようなアプリである例を示した。第2の実施の形態では、機器利用アプリ31が、複数の機器20を連携したサービスを提供するアプリである例について説明する。
【0076】
図11は、第2の実施の形態における仲介装置10が実行する第1の処理手順を説明するためのシーケンス図である。図11中、図4のステップ番号にアルファベット(「a」又は「b」)が付加されたステップは、図4における当該ステップ番号に対応するステップである。
【0077】
ステップS116aにおいて、機器利用アプリ31は、印刷対象のデータの入力元の機器20(以下、「入力元機器」という。)の機器IDと、出力先(印刷先)の機器20(以下、「出力先機器」という。)の機器IDとが指定された印刷指示をユーザから受け付ける。なお、ここでは、入力元機器としていずれかの電子黒板(IWB)が選択され、出力先機器として、いずれかの複合機(MFP)が指定されたとする。
【0078】
機器利用アプリ31は、当該印刷指示に応じ、入力元機器の機器IDを含む入力要求を共通API部11へ送信する(S117a)。続いて、ステップS201及びS202が実行され、ステップS202の実行結果に応じて、ステップS203~S209が実行され、ステップS301の実行結果に応じてステップS302~S305が実行される。更に、ステップS306が実行されて、入力元機器に対するアカウント情報が特定されるが、図11では、便宜上、これらのステップは省略されている。
【0079】
続いて、共通API部11は、入力元機器の機器種別に対応する操作部122に対し当該操作要求(入力要求)及びアカウント情報を入力する。当該操作部122は、入力元機器である電子黒板に対し、画面のダウンロード要求を示す制御命令を送信する(S307a)。なお、画面のダウンロード要求とは、電子黒板に対する描画内容を示す画像データのダウンロード要求を意味し、電子黒板の固有APIの一つである。当該ダウンロード要求には、アカウント情報として、「iwbuser」又は「iwbadmin」が指定される。当該電子黒板は、当該アカウント情報に対応する権限の範囲内で要求された処理を実行する。すなわち、当該アカウント情報に係るユーザに画面のダウンロードの権限が有れば、当該電子黒板は、描画内容の画像データ(キャプチャデータ)を当該操作部122へ返信する(S308a)。当該操作部122は、共通API部11に当該画像データを出力する。共通API部11は、当該画像データを、ステップS117aにおける入力要求に対する応答に含めて機器利用アプリ31へ返信する(S309a)。
【0080】
続いて、機器利用アプリ31は、出力先機器の機器IDを含む出力要求を共通API部11へ送信する(S117b)。なお、出力要求に係る共通APIには、出力先の機器20の機器IDの他に、出力対象のデータが指定される。ここでは、ステップS309aにおいて返信された応答に含まれている画像データが出力対象として指定される。続いて、ステップS201及びS202が実行され、ステップS202の実行結果に応じて、ステップS203~S209が実行され、ステップS301の実行結果に応じてステップS302~S305が実行される。更に、ステップS306が実行されて、出力先機器に対するアカウント情報が特定されるが、図11では、便宜上、これらのステップは省略されている。
【0081】
続いて、共通API部11は、出力先機器の機器種別に対応する操作部122に対し当該操作要求(出力要求)及びアカウント情報を入力する。当該操作部122は、出力先機器である複合機に対し、印刷要求を示す制御命令を送信する(S307b)。当該印刷要求には、アカウント情報としてのユーザID及びパスワードと、印刷対象の画像データとが指定される。当該複合機は、当該アカウント情報に対応する権限の範囲内で要求された処理を実行する。すなわち、当該アカウント情報に係るユーザに印刷の権限が有れば、当該複合機は、当該画像データの印刷を実行する。
【0082】
図12は、第2の実施の形態における仲介装置10が実行する第2の処理手順を説明するためのシーケンス図である。図12中、図11と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
【0083】
ステップS116bにおいて、機器利用アプリ31は、アップロード対象のデータの入力元の機器20(以下、「入力元機器」という。)の機器IDと、出力先(アップロード先)の機器20(以下、「出力先機器」という。)であるクラウドストレージの識別情報(機器ID)とが指定された印刷指示をユーザから受け付ける。すなわち、機器20は、オフィス等において設置される機器だけでなく、クラウドストレージ等、インターネットを介して利用可能なサービスであってもよい。なお、ここでは、入力元機器としていずれかの電子黒板(IWB)が選択されたとする。
【0084】
共通API部11から画像データ(電子黒板に対する描画内容の画像データ)が返信されると(S309a)、機器利用アプリ31は、出力先機器の機器IDを含む出力要求を共通API部11へ送信する(S117c)。続いて、ステップS201及びS202が実行され、ステップS202の実行結果に応じて、ステップS203~S209が実行され、ステップS301の実行結果に応じてステップS302~S305が実行される。更に、ステップS306が実行されて、出力先機器に対するアカウント情報が特定されるが、図11では、便宜上、これらのステップは省略されている。なお、クラウドストレージのアカウント情報としては、対象ユーザIDに係るロールトークンに含まれている「クラウドサービスアカウント」が利用されてもよい。
【0085】
続いて、共通API部11は、出力先機器の機器種別(クラウドストレージ)に対応する操作部122に対し当該操作要求(入力要求)及びアカウント情報を入力する。当該操作部122は、出力先機器であるクラウドストレージにアップロード要求を示す制御命令を送信する(S307c)。当該アップロード要求には、アカウント情報と、アップロード対象の画像データとが指定される。当該クラウドストレージは、当該アカウント情報に対応する権限の範囲内で要求された処理を実行する。すなわち、当該アカウント情報に係るユーザにアップロードの権限が有れば、当該クラウドストレージは、当該画像データを保存する。
【0086】
このように、機器利用アプリ31は、各機器20の固有APIを知らなくても、共通APIを介して、複数の機器20を跨いだ(複数の機器20を連携させた)サービスを提供することができる。
【0087】
なお、図3又は図8において仲介装置10が有する各機能部を、各端末30が有するようにしてもよい。すなわち、各端末30が、仲介装置10を包含してもよい。
【0088】
なお、上記各実施の形態において、仲介装置10及び機器20は、情報処理システムの一例である。仲介装置10又は端末30は、情報処理装置の一例である。共通API部11は、取得部、特定部及び認証制御部の一例である。ロールグループ記憶部51は、第1の記憶部の一例である。ロールマッピング情報記憶部16は、第2の記憶部の一例である。アカウントマッピング情報記憶部18は、第3の記憶部の一例である。認証情報記憶部15は、第4の記憶部の一例である。端末30又は機器利用アプリ31は、操作要求の要求元の一例である。送信元アドレスは第1の識別情報の一例である。ユーザIDは、ユーザ識別情報の一例である。ロールは、権限識別情報の一例である。
【0089】
なお、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0090】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0091】
10 仲介装置
11 共通API部
12 固有部
13 機器情報記憶部
14 認証設定記憶部
15 認証情報記憶部
16 ロールマッピング情報記憶部
17 ロールトークン記憶部
18 アカウントマッピング情報記憶部
20 機器
30 端末
31 機器利用アプリ
40 認証装置
50 ロールグループ管理装置
51 ロールグループ記憶部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 検出部
122a A操作部
122b B操作部
122c C操作部
B バス
【先行技術文献】
【特許文献】
【0092】
【文献】特開2016-218825号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12