JP2015222557A - 情報処理装置、情報処理方法、プログラム及び情報処理システム - Google Patents

情報処理装置、情報処理方法、プログラム及び情報処理システム Download PDF

Info

Publication number
JP2015222557A
JP2015222557A JP2014254573A JP2014254573A JP2015222557A JP 2015222557 A JP2015222557 A JP 2015222557A JP 2014254573 A JP2014254573 A JP 2014254573A JP 2014254573 A JP2014254573 A JP 2014254573A JP 2015222557 A JP2015222557 A JP 2015222557A
Authority
JP
Japan
Prior art keywords
function
information
service
processing apparatus
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014254573A
Other languages
English (en)
Inventor
慧 中林
Satoshi Nakabayashi
慧 中林
山田 憲司
Kenji Yamada
憲司 山田
広一郎 南
Koichiro Minami
広一郎 南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014254573A priority Critical patent/JP2015222557A/ja
Publication of JP2015222557A publication Critical patent/JP2015222557A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】サービスが利用する機能が追加された場合、この追加された機能のインタフェース情報を追加することができる情報処理装置、情報処理方法、プログラム及び情報処理システムを提供する。
【解決手段】ネットワークを介して接続された機器からの要求に応じて所定の機能を利用したサービスを提供する画像処理装置10であって、サービスとサービスが利用する機能毎に、機器から機能を利用したサービスの要求を受け付けるためのインタフェース情報を含む、機能に関する情報を記憶させる機能記憶手段(API管理部423)と、機能に関する情報に含まれるインタフェース情報毎に機器からの要求を受け付けるインタフェース手段(WebAPI410)と、を有する。機能記憶手段は、サービスが利用する機能が追加された場合、追加された機能に関する情報を記憶させる。
【選択図】図4

Description

本発明は、情報処理装置、情報処理方法、プログラム及び情報処理システムに関する。
自身の機能をネットワークに接続されたPCなどから利用するためのAPI(Application Program Interface)を備えた、情報処理装置の一例としての画像処理装置は既に知られている(例えば特許文献1参照)。
しかしながら、上記従来技術においては、情報処理装置に機能を追加するたびに、追加した機能を利用するためのAPIを作成する必要があった。したがって、追加した機能に関係のない機能を利用するためのAPIも含めてオブジェクトを再作成しなければならなかった。
本発明の一実施形態は、上記の点に鑑みてなされたもので、サービスが利用する機能が追加された場合、この追加された機能のインタフェース情報を追加することを目的とする。
上記目的を達成するため、本発明の一実施形態は、ネットワークを介して接続された機器からの要求に応じて所定の機能を利用したサービスを提供する情報処理装置であって、前記サービスと該サービスが利用する機能毎に、前記機器から前記機能を利用したサービスの要求を受け付けるためのインタフェース情報を含む、前記機能に関する情報を記憶させる機能記憶手段と、前記機能に関する情報に含まれるインタフェース情報毎に前記機器からの要求を受け付けるインタフェース手段と、を有し、前記機能記憶手段は、前記サービスが利用する機能が追加された場合、該追加された機能に関する情報を記憶させる、ことを特徴とする。
本発明の一実施形態によれば、サービスが利用する機能が追加された場合、この追加された機能のインタフェース情報を追加することができる。
第1の実施形態に係る画像処理システムの一例の構成図である。 第1の実施形態に係る画像処理装置の一例のハードウェア構成図である。 第1の実施形態に係るPCの一例のハードウェア構成図である。 第1の実施形態に係る画像処理装置の一例の機能構成図である。 第1の実施形態に係る画像処理装置の処理の一例を説明する説明図である。 リソース情報の一例の構成図である。 サービス提供処理の一例のシーケンス図である。 リクエスト及びレスポンスの一例の説明図である。 URLの一例の説明図である。 第1の実施形態に係るリソース情報追加/削除処理の一例のシーケンス図である。 第1の実施形態に係るアプリケーションインストール処理の一例のシーケンス図である。 第1の実施形態に係るアプリケーションアンインストール処理の一例のシーケンス図である。 第2の実施形態に係る画像処理装置の一例の機能構成図である。 第2の実施形態に係るPCの一例の機能構成図である。 第2の実施形態に係る画像処理装置の処理の一例を説明する説明図である。 リソース情報の他の例の構成図である。 第2の実施形態に係るリソース情報追加/削除処理の一例のシーケンス図である。 第2の実施形態に係るAPIリスト表示処理の一例のシーケンス図である。 APIリストの一例を説明するための説明図である。 第2の実施形態に係るリソース情報取得処理の一例のフローチャートである。 第3の実施形態に係るリソース情報取得処理の一例のフローチャートである。 第4の実施形態に係る画像処理装置の一例のハードウェア構成図である。 第4の実施形態に係る画像処理装置の一例の機能構成図である。 第4の実施形態に係る画像処理装置の起動時の処理の一例のシーケンス図である。 第4の実施形態に係る認証要否判定処理の一例のフローチャートである。
次に、本発明の実施の形態について、詳細に説明する。なお、以下では、本発明に係る情報処理装置を、MFP(Multifunction Peripheral)等の画像処理装置に適用した場合の実施形態について説明する。ただし、本発明に係る情報処理装置の適用先は、これに限定されるものではなく、画像処理装置以外に適用してもよい。
[第1の実施形態]
<システム構成>
図1は、第1の実施形態に係る画像処理システムの一例の構成図である。図1の画像処理システムは、1台以上の画像処理装置10、1台以上のPC(パーソナルコンピュータ)20が、ネットワークN1に有線や無線で接続されている。
画像処理装置10は、情報処理装置の一例である。画像処理装置10は、PC20や他の画像処理装置10などの機器からの要求に応じて、コピー、ファックス、プリンタ、スキャナなどの画像処理に係るサービスを提供するMFPである(ただし、画像処理装置10はMFPに限定されるものではない)。また、画像処理装置10は、PC20や他の画像処理装置10などの機器がこれらのサービスを利用するためのAPIを有する。画像処理装置10は、これらのサービスが利用する機能を追加・削除することができる。また、画像処理装置10は、画像処理に係るサービスを提供するためのアプリケーションをインストール又はアンインストールすることにより、サービスを追加・削除することができる。
すなわち、画像処理装置10は、サービス(例えばコピーアプリケーション)の追加・削除、及びサービスが利用する機能(例えば両面コピー、2in1コピーなど)の追加・削除を行うことができる。
PC20は、機器の一例である。PC20は、PC(パーソナルコンピュータ)の他、タブレット端末、スマートフォンや携帯電話、PDAなどの携帯情報端末、電子ホワイトボード等の表示装置、プロジェクタ等の投影装置、画像処理装置10と連携したサービスを提供するためのクラウドサーバなどでもよい。PC20は画像処理装置10に画像処理に係るサービスの提供を要求することができる。
なお、本発明における情報処理装置は、図1の画像処理システムのように、画像処理装置10以外の機器からサービスの要求を受ける画像処理装置10に限らない。例えば、画像処理装置10が、互いに独立したOSを搭載した画像処理装置本体と操作部とが有線や無線で接続された構成となっており、画像処理装置本体が操作部からサービスの要求を受けるものであってもよい。つまり、画像処理装置本体が、ネットワークを介して接続された機器である操作部からサービスの要求を受けるものであり、この画像処理装置本体を本発明における情報処理装置として捉えることもできる。
<ハードウェア構成>
《画像処理装置》
画像処理装置10は、例えば図2に示すようなハードウェア構成により実現される。図2は、第1の実施形態に係る画像処理装置の一例のハードウェア構成図である。
図2に示すように、画像処理装置10は操作部200と本体部210を有する。
操作部200は、LCDデバイスやタッチパネル、ハードキーなどを備えるユーザインタフェースであり、画像処理装置10に対して、ユーザが各種データの設定、登録を行う際に操作する。
本体部210は、コントローラ220と、ファックス制御ユニット240と、エンジン群250とを有する。更に、ファックス制御ユニット240は、G3規格対応ユニット241と、G4規格対応ユニット242とを有する。また、エンジン群250は、プロッタエンジン251と、スキャナエンジン252と、その他のハードウェアリソース253とを有する。
コントローラ220は、CPU221と、ASIC222と、HDD(Hard Disk Drive)223と、システムメモリ(MEM−P)224と、ローカルメモリ(MEM−C)225と、ノースブリッジ(以下、NBと記す)226とを有する。また、シリアルバス227と、NIC(Network Interface Card)228と、USBデバイス229とを有する。更に、IEEE802.11bデバイス230と、IEEE1394デバイス231と、USBホスト232と、メモリカードI/F233とを有する。
また、シリアルバス227、NIC228、USBデバイス229、IEEE802.11bデバイス230、IEEE1394デバイス231、USBホスト232、及びメモリカードI/F233は、NB226にPCIバスを介して接続されている。
なお、コントローラ220において、ASIC222には、ローカルメモリ225、HDD223等が接続されている。また、CPU221とASIC222とは、CPUチップセットのNB226を介して接続されている。更に、ファックス制御ユニット240及びエンジン群250は、ASIC222にPCIバスを介して接続されている。
CPU221は、画像処理装置10の全体を制御するものである。CPU221は、後述する各種サービスを起動して実行する。
NB226は各要素を接続するためのブリッジである。具体的には、CPU221、システムメモリ224、ASIC222、シリアルバス227、NIC228、USBデバイス229を接続する。更に、IEEE802.11bデバイス230、IEEE1394デバイス231、USBホスト232、及びメモリカードI/F233を接続する。
システムメモリ224は、画像処理装置10の描画用メモリ等として用いるメモリである。また、ローカルメモリ225は、コピー用画像バッファ、符号バッファ等として用いるメモリである。
ASIC222は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)である。また、HDD223は、各種情報を蓄積するためのストレージである。なお、HDD223に蓄積される情報には、例えば、ファクシミリ送信のための宛先データや電子メールの宛先データ(すなわち、アドレス帳データ)が含まれる。また、ファクシミリ送信や電子メール送信等の送信履歴を記憶するための履歴データや、プリントジョブのデータである蓄積画像データや蓄積文書データが含まれる。その他、課金データやユーザ認証を行うためのユーザ認証情報、各種プログラム、フォントデータ、フォームデータ等が含まれる。
シリアルバス227、NIC228、USBデバイス229、IEEE802.11bデバイス230、IEEE1394デバイス231、USBホスト232、メモリカードI/F233は、各々が対応する規格の可搬型記憶装置と接続するインタフェースである。例えば、図2に示すように、USBホスト232には、USBメモリ261を接続することができ、メモリカードI/F233には、メモリカード262を接続することができる。
《PC》
PC20は、例えば図3に示すようなハードウェア構成により実現される。図3は、第1の実施形態に係るPCの一例のハードウェア構成図である。
図3に示したPC20は、入力装置101、表示装置102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU106、通信I/F107、及びHDD108などを備え、それぞれがバスBで相互に接続されている。
入力装置101は、キーボードやマウス、タッチパネルなどを含み、PC20に各操作信号を入力するのに用いられる。
表示装置102は、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などを含み、PC20による処理結果を表示する。
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103aなどがある。記憶媒体130aには、実施形態を実現するプログラムを格納することができる。PC20は外部I/F103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。
記録媒体103aにはUSBメモリ、SDメモリカード(SD Memory card)、DVD(Digital Versatile Disk)、CD(Compact Disk)、フレキシブルディスクなどの記録媒体を用いることができる。
RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
ROM105は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM151には、PC20の起動時に実行されるBIOS(Basic Input/Output System)、OS(Operating System)設定、及びネットワーク設定などのプログラムやデータが格納されている。
CPU106は、ROM105やHDD108などの記憶装置からプログラムやデータをRAM104上に読み出し、処理を実行することで、PC20全体の制御や機能を実現する演算装置である。
通信I/F装置107は、ネットワークに接続するインタフェースである。これにより、PC20は通信I/F装置107を介してデータ通信を行うことができる。
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えば、PC20全体を制御する基本ソフトウェアであるOSや、OS上において各種機能を提供するアプリケーションソフトウェアなどがある。HDD152は格納しているプログラムやデータを所定のファイルシステム及び/又はDB(Data Base)により管理している。
PC20、例えば上記のハードウェア構成により、後述するような各種処理を実現できる。
<機能構成>
次に、画像処理装置10の機能構成について説明する。図4は、第1の実施形態に係る画像処理装置の一例の機能構成図である。図4に示すように、画像処理装置10は、大別するとソフトウェア群401と、ハードウェア資源402とに分けられる。
ソフトウェア群401は、アプリケーション層403とサービスモジュール層404を有する。
アプリケーション層403は、コピー、ファックス、プリンタ、及びスキャナ等の画像処理に係るサービスとして、それぞれ固有の処理を行うプログラムを有する。ここで、図4に示すアプリケーション層403には、例えば、コピー用のアプリケーションであるコピーアプリケーション431、ファックス用のアプリケーションであるファックスアプリケーション432、プリンタ用のアプリケーションであるプリンタアプリケーション433、スキャナ用のアプリケーションであるスキャナアプリケーション434が含まれる。
サービスモジュール層404は、アプリケーション層403の各アプリケーションからの処理要求を解釈して共通の機能や制御を行うモジュールを有する。また、サービスモジュール層404は、アプリケーション層403の各アプリケーションからの処理要求を解釈してハードウェア資源402の獲得要求を発生し、獲得したハードウェア資源402の管理等を行うモジュールを有する。これらのサービスモジュール層404の各モジュールは、予め定義された関数等によりアプリケーション層403からの処理要求を受信する内部API440を介して、アプリケーション層403の各アプリケーションから利用することができる。
ここで、図4に示すサービスモジュール層404には、例えば、システム制御サービス451、ファックス制御サービス452、エンジン制御サービス453、メモリ制御サービス454、ネットワーク制御サービス455、ログ制御サービス456、電源制御サービス457、認証制御サービス458、アドレス帳管理サービス459が含まれる。
ここで、ソフトウェア群401は、OS(Operating System)460上において実行される。OS460は、アプリケーション層403及びサービスモジュール層404のソフトウェア群401のそれぞれのソフトウェアをプロセスとして並列実行する。
なお、ソフトウェア群401が有する各種サービスは、それぞれ1以上の機能を有している。この機能のことをリソースと称する。例えばコピーアプリケーション431は、片面コピーを行うためのリソース、両面コピーを行うためのリソース、2in1コピーを行うためのリソースなどを有している。また、例えばアドレス帳管理サービス459は、アドレス帳のアドレスを全件取得するためのリソース、アドレス帳のアドレスを1件取得するためのリソース、アドレス帳の状態を取得するためのリソースなどを有している。
PC20や他の画像処理装置10は、ソフトウェア群401によって実現される各種サービスを、PC20や他の画像処理装置10からの処理要求を受信するWebAPI410を介して利用することができる。
フレームワーク420は、WebAPI410が受信したPC20や他の画像処理装置10からの処理要求を解釈し、ソフトウェア群401の各種サービスに対して処理要求を行う。フレームワーク420は、要求管理部421、API制御部422、API管理部423、結果応答部424を有する。
WebAPI410は、例えば外部の機器が各種サービスや各種リソースを利用するためのAPIの集まりである。
要求管理部421は、WebAPI410から処理要求を受信し、API制御部422に処理を依頼する。また、要求管理部421は、結果応答部424から処理結果を受信し、WebAPI410に処理結果を送信する。
API制御部422は、API管理部423からリソース情報(機能情報)を取得し、ソフトウェア群401の各種サービスに処理を要求する。ここで、リソース情報とは、ソフトウェア群401の各アプリケーションや各モジュールが、要求された機能を実行するために利用するリソース(機能)に関する情報である。リソース情報の詳細については後述する。
API管理部423は、リソース情報の登録要求があった場合、リソース情報を画像処理装置10のフレームワーク420の記憶領域に記憶する。また、API管理部423は、リソース情報の取得要求があった場合、リソース情報を画像処理装置10のフレームワーク420の記憶領域から取得する。結果応答部424は、ソフトウェア群401の各アプリケーションや各モジュールが実行した機能の結果を作成し、要求管理部421に送信する。
また、エンジンI/F470は、ソフトウェア群401のそれぞれのソフトウェアにより予め定義されている関数等によりエンジン制御ボード480を介してハードウェア資源402に対する獲得要求を送信する。
ここで、図4に示すハードウェア資源402には、例えばプロッタエンジン251、スキャナエンジン252、その他のハードウェアリソース253が含まれる。
<処理の概要>
次に、第1の実施形態に係る画像処理装置の処理の概要について説明する。図5は、第1の実施形態に係る画像処理装置の処理の一例を説明する説明図である。
図5(a)は、例えばPC20や他の画像処理装置10などからサービスの提供要求あった場合の画像処理装置10の処理の一例を説明する説明図である。
まず、画像処理装置10のWebAPI410は、例えばPC20や他の画像処理装置10などから、サービスとこのサービスが利用するリソース(機能)とを指定したHTTP(HyperText Transfer Protocol)リクエストを受信する。サービスは、ソフトウェア群401の各アプリケーションや各モジュールのことであり、例えばファックスアプリケーション432やアドレス帳管理サービス459である。リソースは、ソフトウェア群401の各アプリケーションや各モジュールが実行する機能のことであり、例えばアドレス帳管理サービス459においてアドレス帳のアドレスを全件取得する機能である。ユーザが例えばファックス操作においてファックスの送信先アドレス一覧を取得したい場合、サービスとしてアドレス帳管理サービス459、リソースとしてアドレス帳一覧を取得する機能(アドレス帳の取得(全件))を指定することでアドレス帳のアドレス一覧を取得することができる。
次に、要求管理部421はWebAPI410から呼び出されるとHTTPリクエストを受け取り、API制御部422に処理要求を行う。そして、API制御部422はAPI管理部423を介してリソース情報を取得し、HTTPリクエストにより呼び出されたAPI(WebAPI410)を特定する。なお、APIの特定には、リソース情報に含まれるURLで判断する。リソース情報の詳細については後述する。
API制御部422は該当のサービスに対して、リソースを指定(図5(a)の例では、サービス1に対してリソースAを指定)して操作要求を行う。そして、サービスは、応答要求を結果応答部424に行う。
結果応答部424はHTTPレスポンスを作成し、要求管理部421に送信要求を行う。要求管理部421は、結果応答部424からHTTPレスポンスを受け取ると、WebAPI410を介してPC20などにHTTPレスポンスを送信する。
図5(b)は、画像処理装置10にサービスやリソースの登録をする場合の画像処理装置10の処理の一例を説明する説明図である。図5(b)では、画像処理装置10にリソースCを有するサービス2を新たに登録する場合について説明する。
ユーザは例えばネットワークなどを介して、リソースCを有するサービス2を画像処理装置10にインストールする。すると、API管理部423は、リソースCのリソース情報を画像処理装置10の記憶領域に登録する。リソース情報を登録することで、このリソース情報に含まれるURLをPC20や他の画像処理装置10から利用可能なAPIとして提供することができる。
これにより、画像処理装置10に新たにサービスやリソースが追加された場合、追加されたリソースに関するリソース情報をAPI管理部423を介して記憶領域に登録することで、外部から利用可能なAPIを提供することができる。
次に、リソース情報の詳細について説明する。図6は、リソース情報の一例の構成図である。
リソース情報は、URL、メソッド、システムなどのデータ項目を有する。URLは、サービス部とリソース部などのデータ項目を有する。サービス部は、例えばプリンタアプリケーション433やアドレス帳管理サービス459などのサービスを特定する情報である。リソース部は、各サービスが有するリソースを特定する情報である。例えば、サービス部「printer」は、プリンタの状態を表示させる機能に関するリソース「status」と、プリントを実行する機能に関するリソース「job」の2つのリソースを有する。後述するように、サービス部(サービス名)とリソース部(リソース名)とを、例えば「/」で連結させてURL形式とすることで、外部(PC20や他の画像処理装置10など)から利用可能なAPIとして提供することができる。なお、リソース名は、同一のサービスにおいてユニークであればよい。なお、URLはインタフェース情報の一例である。
メソッドは、GET、POST、PUT、DELETEなどのデータ項目を有する。これらの項目は、リソース部で指定されたリソースを利用したサービスを利用したい場合に、どのメソッドが定義されたHTTPリクエストで利用することができるかを示す項目である。例えば、プリンタの状態を表示させる機能を利用したい場合(サービス部「printer」、リソース部「status」)、PC20などはGETメソッドを定義したHTTPリクエストを画像処理装置10に送信する。
一方、例えばプリンタの状態を表示させる機能を利用したい場合(サービス部「printer」、リソース部「status」)には、PC20などはPOSTメソッドやPUTメソッド、DELETEメソッドを定義したHTTPリクエストを利用することはできない。なお、画像処理装置10は、このようなHTTPリクエストを受信した場合、エラーを示すHTTPレスポンスを送信するようにしてもよい。
システムは、電力制御、認証などのデータ項目を有する。これらの項目は、リソース部で指定されたリソースを利用したサービスを利用したい場合に、必要なシステム条件を示す項目である。例えば、プリンタを表示させる機能を利用したい場合(サービス部「printer」、リソース部「status」)、認証が必要であることを示す。すなわち、この場合、プリンタアプリケーション433は内部API440を介して認証制御サービス458に処理を依頼し、ユーザ認証などを行う。これにより、サービス毎、リソース毎に利用権限やアクセス権限などを設定することができる。
また、例えばプリントを実行する機能を利用する場合(サービス部「printer」、リソース部「job」)、電力制御が必要であることを示す。すなわち、この場合、プリンタアプリケーション433は内部API440を介して電源制御サービス457に処理を依頼し、電力制御を行う。
なお、以上に示したリソース情報のデータ項目は一例であり、他のデータ項目を有していてもよい。
<処理の詳細>
次に、第1の実施形態に係る画像処理装置の処理の詳細について説明する。図7は、サービス提供処理の一例のシーケンス図である。
ステップS101において、PC20などはサービスとリソースを指定したリクエストを画像処理装置10に送信する。そして、画像処理装置10のWebAPI410はPC20などからのリクエストを受信する。以降では一例として、PC20は、サービスとしてアドレス帳管理サービス459、リソースとしてアドレス帳状態を取得する機能を指定したHTTPリクエストを送信したものとする。図8(a)は、HTTPリクエストの一例の説明図である。
図8(a)のHTTPリクエストは、リクエスト部1001、ヘッダ部1002を有する。リクエスト部1001に指定された「http://192.168.1.1:8080」の部分は画像処理装置10のIPアドレス(及びポート番号)である。「/rws/addressbook/status」の部分は、後述するようにサービス部とリソース部を含むリソース情報のURLを含む情報である。この情報に含まれるURLにより、API制御部422はAPIを特定し、該当のサービスの該当のリソースに操作を要求する。
なお、一般にHTTPリクエストは、リクエスト部、ヘッダ部、ボディ部から構成されている。図8(a)の例では、データの取得(アドレス帳状態の取得)を行うためのメソッドであるGETが指定されているため、ボディ部は定義されていない。なお、例えばアドレス帳に新たにアドレスを追加する場合は、HTTPリクエストのリクエスト部にPOSTメソッドを指定し、ボディ部に追加するアドレスの情報(データ)をXML(Extensible Markup Language)形式やJSON(JavaScript Object Notation)形式、バイナリ形式などで指定(記述)する。
ステップS102において、要求管理部421はWebAPI410からHTTPリクエストを受け取り、API制御部422に処理要求を行う。
ステップS103において、API制御部422はAPI管理部423にリソース情報の取得要求を行う。そして、API管理部423はリソース情報を画像処理装置10の記憶領域から取得し、この取得したリソース情報をAPI制御部422に送信する。
ステップS104において、API制御部422は、API管理部423から取得したリソース情報に基づいてAPIを特定する。すなわち、HTTPリクエストに指定されているURLとリソース情報に含まれるURLからAPIを特定する。図8(a)の例では、HTTPリクエストのリクエスト部の「http://192.168.1.1:8080/rws/addressbook/status」と図6のリソース情報に含まれるサービス部とリソース部からAPI(URL)は「addressbook/status」と特定することができる。これにより、図8(a)のHTTPリクエストは、アドレス帳管理サービス459のアドレス帳状態の取得を要求していると判断することができる。
このようにWebAPI410のAPIを特定することで、API制御部422は、後述の処理において操作要求を行うサービスとリソースを特定することができる。
ステップS105において、API制御部422はHTTPリクエストを解析する。解析とは、例えばHTTPリクエストのボディ部にXML形式やJSON形式などで記述されている情報をプログラム(例えばアドレス帳管理サービス459)が扱うことができるデータ構造に変換することをいう。
ステップS106において、API制御部422はアドレス帳管理サービス459のアドレス帳状態の取得に関するリソース(リソース名「status」)に対して操作要求を行う。
ステップS107において、アドレス帳管理サービス459はアドレス帳状態を取得する。
ステップS108において、アドレス帳管理サービス459はステップS107における処理の処理結果を含む応答要求を結果応答部424に対して行う。
ステップS109において、結果応答部424は受信した処理結果を含む応答要求からHTTPレスポンスを作成する。図8(b)は、HTTPレスポンスの一例の説明図である。
図8(b)のHTTPレスポンスのレスポンス部2001にはステータスコードが記述されている。図8(b)の例では、HTTPリクエストは成功し、要求に応じた情報が返信された旨のステータスコード(200 OK)が記述されている。ヘッダ部2002には、このHTTPレスポンスが作成された日時やボディ部2003で記述されているデータのデータ形式などが記述されている。ボディ部2003では、HTTPリクエストの要求に応じた情報が記述されている。図8(b)の例では、アドレス帳状態に関する情報などが記述されている。例えばアドレス帳に500件のデータ(エントリ)が格納されていることを示す情報(entryNum:500)などである。
ステップS110において、結果応答部424は作成したHTTPレスポンスの送信要求を要求管理部421に対して行う。
ステップS111において、要求管理部421はHTTPレスポンスをWebAPI410を介してPC20などに送信する。
以上により、画像処理装置10の外部に存在するPC20や他の画像処理装置10などは、画像処理装置10に対してサービスとリソースを指定したリクエストを送信することにより、このリソースを利用したサービスを実行させることができる。言い換えれば、PC20や他の画像処理装置10などは、ネットワークなどを介して画像処理装置10に搭載されている機能を利用することができる。
ここで、HTTPリクエストのリクエスト部に指定されるリソース情報に含まれるURLについて、他の例を説明する。図9は、URLの一例の説明図である。
例えばユーザがアドレス帳のアドレス情報を全件取得したい場合、HTTPリクエストのリクエスト部において、GETメソッドで画像処理装置10のIPアドレス(http://192.168.1.1:8080)に続けて、「/rws/addressbook/entries」と指定すればよい。
また、例えばアドレス帳のアドレス情報を1件取得したい場合、HTTPリクエストのリクエスト部において、GETメソッドで画像処理装置10のIPアドレス(http://192.168.1.1:8080)に続けて、「/rws/addressbook/entries/123」(「123」は、エントリIDなどのアドレス帳のアドレス情報を一意に識別する情報)と指定すればよい。なお、例えばアドレス帳にアドレス情報を追加する場合は、POSTメソッドで上記と同様に画像処理装置10のIPアドレスに続けて、「/rws/addressbook/entries/234」などと指定すればよい。これにより、エントリID「234」のアドレス情報が追加される。また、同様に、PUTメソッドでアドレス情報の更新、DELETEメソッドでアドレス情報の削除などを行うことができる。なお、POSTメソッドやPUTメソッドを指定する場合、HTTPリクエストのボディ部に追加するアドレス情報又は更新するアドレス情報を記述する。
次に、画像処理装置10に搭載されているサービスに、新たにリソースを追加又はリソースを削除した場合の処理について説明する。図10は、第1の実施形態に係るリソース追加/削除処理の一例のシーケンス図である。
ステップS201において、ユーザはサービスにリソースの追加又サービスからリソースの削除を行う。リソースの追加は、リソースに関する情報を例えばネットワークを介したインストールや外部記憶媒体からのインストールなどの方法により行うことができる。
ステップS202において、ユーザはリソースの追加又は削除を行ったサービスを起動する。
ステップS203において、画像処理装置10のサービスは追加したリソースの情報の設定の追加又は削除したリソースの情報の設定の削除を行う。すなわち、サービスは追加したリソースの情報又は削除したリソースの情報を設定ファイルなどに反映させる。このように、画像処理装置10は、サービスに対して新たにリソースを追加することにより、追加したリソースを用いた機能を提供することができるようになる。また、画像処理装置10は、サービスからリソースを削除することにより、削除したリソースを用いた機能を削除することができる。
ステップS204において、サービスはAPI管理部423に対してリソース情報の登録又は削除要求を行う。
ステップS205において、API管理部423は画像処理装置10の記憶領域に追加したリソースのリソース情報の登録又は削除したリソースのリソース情報の削除を行う。
なお、API管理部423は追加したリソースのリソース情報が画像処理装置10の記憶領域に登録されている場合、リソース情報の登録を行わない。すなわち、API管理部423はリソース情報の重複があるか否かのチェックを行い、重複したリソース情報が存在する場合、リソース情報の登録を行わない。
以上により、画像処理装置10のサービスに新たにリソースが追加された場合、追加されたリソースのリソース情報をAPI管理部423を介して画像処理装置10の記憶領域に登録することができる。これにより、このリソースを利用するための外部から利用可能なAPIの追加をリソースの追加と同時に行うことができる。
また、画像処理装置10のサービスからリソースを削除する場合、削除されたリソースのリソース情報をAPI管理部423を介して画像処理装置10の記憶領域から削除することができる。これにより、このリソースを利用するための外部から利用可能なAPIの削除をリソースの削除と同時に行うことができる。
次に、画像処理装置10に新たにアプリケーションをインストールした場合の処理について説明する。図11は、第1の実施形態に係るアプリケーションインストール処理の一例のシーケンス図である。
ステップS301において、ユーザは画像処理装置10にアプリケーション(サービス)をインストールする。なお、アプリケーションは例えばコピーアプリケーション431などのサービスを提供するソフトウェアなどである。また、アプリケーション(サービス)は、例えば片面コピーを行うためのリソースなど1以上のリソースを有する。
ステップS302において、ユーザは画像処理装置10にインストールされたアプリケーション(サービス)を起動する。
ステップS303において、アプリケーション(サービス)は、リソースの情報を設定する。このリソースの情報の設定により、例えばコピーアプリケーション431(サービス)において片面コピー機能(リソース)を実行することができるようになる。
ステップS304において、アプリケーション(サービス)は、API管理部423に対してリソース情報の登録要求を行う。
ステップS305において、API管理部423は画像処理装置10の記憶領域にインストールしたアプリケーションのリソース情報を登録する。
なお、API管理部423はインストールしたアプリケーション(サービス)のリソース情報が画像処理装置10の記憶領域に登録されている場合、リソース情報の登録を行わない。すなわち、API管理部423はリソース情報の重複があるか否かのチェックを行い、重複したリソース情報が存在する場合、リソース情報の登録を行わない。
以上により、画像処理装置10に新たにアプリケーションをインストールし、サービスが追加された場合、このサービスが利用するリソースのリソース情報をAPI管理部423を介して画像処理装置10の記憶領域に登録することができる。これにより、このリソースを利用するための外部から利用可能なAPIの追加をサービスの追加と同時に行うことができる。
次に、画像処理装置10からアプリケーションをアンインストールした場合の処理について説明する。図12は、第1の実施形態に係るアプリケーションアンインストール処理の一例のシーケンス図である。
ステップS401において、ユーザは画像処理装置10からアプリケーション(サービス)をアンインストールする。
ステップS402において、アプリケーション(サービス)は、API管理部423に対してリソース情報の削除要求を行う。
ステップS403において、API管理部423は画像処理装置10の記憶領域からアンインストールしたアプリケーションのリソース情報を削除する。このとき、API管理部423はアンインストールしたアプリケーション(サービス)が複数のリソースを有していた場合、すべてのリソースのリソース情報を削除する。
以上により、画像処理装置10からアプリケーションがアンインストールされ、サービスが削除された場合、このサービスが利用するリソースのリソース情報をAPI管理部423を介して画像処理装置10の記憶領域から削除することができる。これにより、このリソースを利用するための外部から利用可能なAPIの削除をサービスの削除と同時に行うことができる。
<まとめ>
以上のように、本実施形態に係る画像処理装置10は、PC20や他の画像処理装置10からの機能の実行要求に応じて、機能を実行することができる。
また、本実施形態に係る画像処理装置10はPC20や他の画像処理装置10からの機能の実行要求を受け付けるためのWebAPI410を有する。そして、PC20や他の画像処理装置10は、このWebAPI410を利用して画像処理装置10に対して機能の実行を要求することができる。
また、本実施形態に係る画像処理装置10は、アプリケーションのインストール/アンインストールによりサービスの追加/削除を行うことができる。また、本実施形態に係る画像処理装置10は、サービスが利用するリソースの追加/削除を行うことができる。そして、本実施形態に係る画像処理装置10は、上記サービスの追加/削除、リソースの追加/削除の際、追加又は削除したリソースのリソース情報を画像処理装置10の記憶領域に登録又は削除することができる。
また、本実施形態に係る画像処理装置10が有するリソース情報に含まれるURLは、PC20や他の画像処理装置10から利用可能なAPIとして提供することができる。したがって、画像処理装置10の記憶領域にリソース情報が登録/削除されることで、外部から利用可能なAPIが同時に登録/削除されることになる。これにより、本実施形態に係る画像処理装置10は、サービスやリソースが追加/削除された場合でも動的にAPIを追加/削除することができる。すなわち、本実施形態に係る画像処理装置10は、サービスやリソースが追加/削除された場合において、APIの追加/削除に伴う再ビルドやオブジェクトの再作成などを行う必要がない。
[第2の実施形態]
次に、第2の実施形態に係る画像処理システムについて説明する。本実施形態においては、画像処理装置10において利用可能なAPIのリストをPC20に提供する。なお、システム構成及びハードウェア構成については、第1の実施形態と同様であるため説明を省略する。
<機能構成>
《画像処理装置》
図13は、第2の実施形態に係る画像処理装置の一例の機能構成図である。第2の実施形態に係る画像処理装置10は、APIリスト作成部425を有する点が第1の実施形態に係る画像処理装置10と異なる。なお、第2の実施形態に係る画像処理装置10においてAPIリスト作成部425以外の各構成は、第1と実施形態と同様であるため、説明を省略する。
APIリスト作成部425は、PC20等が画像処理装置10において利用可能なAPIの一覧(以降、「APIリスト」という。)を作成する。また、APIリスト作成部425は、PC20等がAPIリストを要求するためのリソース情報の登録要求をAPI管理部423に対して行う。
《PC》
図14は、第2の実施形態に係るPCの一例の機能構成図である。図14に示すようにPC20は、表示部510を有する。なお、図14において、本実施形態の説明に必要のない構成については図示を省略している。
表示部510は、画像処理装置10から受け取ったAPIリストに基づき、APIリストの表示画面を生成し、PC20の表示装置102等に表示させる。
<処理の概要>
次に、第2の実施形態に係る画像処理装置の処理の概要について説明する。図15は、第2の実施形態に係る画像処理装置の処理の一例を説明する説明図である。
図15(a)は、PC20がAPIリストを画像処理装置10から取得するためのリソース情報を登録する場合の画像処理装置10の処理の一例を説明する説明図である。
ユーザは例えばネットワークなどを介して、フレームワーク420にAPIリスト作成部425を追加する。すると、API管理部423は、APIリスト作成部425のリソース情報を画像処理装置10の記憶領域に登録する。このようにリソース情報を登録することで、このリソース情報に含まれるURLをPC20や他の画像処理装置10などから利用可能なAPIとして提供することができる。
PC20や他の画像処理装置10などは、APIリスト作成部425のリソース情報に含まれるURLをAPIとして利用することで、このPC20や他の画像処理装置10などが利用可能なAPIリストを取得することができる。
図15(b)は、例えばPC20や他の画像処理装置10などからAPIリストの取得要求があった場合の画像処理装置10の処理の一例を説明する説明図である。
まず、画像処理装置10のWebAPI410は、例えばPC20や他の画像処理装置10などからAPIリストの取得要求に係るHTTPリクエストを受信する。次に、要求管理部421はWebAPI410から呼び出されるとAPIリストの取得要求に係るHTTPリクエストを受け取り、API制御部422に処理要求を行う。そして、API制御部422はAPI管理部423を介してリソース情報を取得し、HTTPリクエストにより呼び出されたAPI(WebAPI410)を特定する。なお、このとき、呼び出されたAPIはAPIリストの取得要求に係るAPIである。
API制御部422は、APIリスト作成部425に対して操作要求を行う。続いて、APIリスト作成部425は、API管理部423を介して画像処理装置10に登録されているリソース情報を取得する。そして、取得したリソース情報からAPIリストを作成し、応答要求を結果応答部424に行う。
結果応答部424は、APIリストを含むHTTPレスポンスを作成し、要求管理部421に送信要求を行う。要求管理部421は、結果応答部424からHTTPレスポンスを受け取ると、WebAPI410を介してPC20などにHTTPレスポンスを送信する。
これにより、ユーザは、例えばPC20などを操作して、このPC20が利用可能な画像処理装置10のAPIの一覧(APIリスト)を取得することができる。したがって、ユーザは、例えば、この取得したAPIリストから所望のAPIを選択し、画像処理装置10の機能を利用することができる。
次に、本実施形態に係るリソース情報の詳細について説明する。図16は、リソース情報の他の例の構成図である。
本実施形態に係るリソース情報は、URL、メソッド、システム、アクセス、認証方式などのデータ項目を有する。図16に示されるリソース情報のURLは、図6に示されるリソース情報と同様であるため、説明を省略する。
メソッドは、GET、POST、PUT、DELETEなどについて、上限、権限などのデータ項目を有する。これらの項目は、リソース部で指定されたリソースを利用したサービスを利用したい場合に、どのメソッドが定義されたHTTPリクエストで利用することができるかを示す項目である。このとき、HTTPリクエストのBody部(メッセージボディ)に指定することができる容量の上限(上限データ量)と、リソースを利用することができる権限とがそれぞれ上限及び権限のデータ項目で指定されている。
例えば、アドレス帳のアドレス情報を取得したい場合、URLとして「/addressbook/entries」、メソッドとして「GET」を指定すればよい。また、このメソッドの権限は、「管理者」が指定されているため、このリソースを利用することができるのは例えば管理者権限のユーザである。換言すれば、PC20や他の画像処理装置10などに、管理者権限のユーザとしてログインしているユーザが、アドレス帳のアドレス情報を取得するためのリソースを利用することができる。なお、GETメソッドは、Body部を指定しないため、上限のデータ項目には「0」が指定されている。
また、例えば、アドレス帳にアドレス情報を追加したい場合、URLとして「/addressbook/entries」、メソッドとして「POST」を指定すればよい。このメソッドの権限も「管理者」が指定されているため、このリソースを利用することができるのも例えば管理者権限のユーザである。さらに、上限のデータ項目には「1000」が指定されているため、アドレス帳からアドレス情報を取得するに際に、例えば1回のHTTPリクエストで取得可能なアドレス情報の上限は1000バイトまでである。
なお、利用することができないメソッドは、上限及び権限のデータ項目に「−」(ハイフン)が指定されている。例えば、プリンタの状態を表示させる機能を利用したい場合(サービス部「printer」、リソース部「status」)には、POSTメソッドやPUTメソッド、DELETEメソッドを定義したHTTPリクエストを利用することはできない。
システム、アクセス、認証方式の各データ項目は、リソース部で指定されたリソースを利用したサービスを利用したい場合に、それぞれ、必要なシステム条件、アクセス条件、利用する認証方式を示す項目である。電力制御はリソースの利用中に電力制御を行うか否か、ロックはリソースの利用中に他のリソースの利用を制限するか否かを示す。また、リモートのデータ項目は画像処理装置10とネットワークを介したPC20などからリソースの利用が可能か否か、他方、操作部のデータ項目は画像処理装置10を操作部200を介して直接操作する場合にリソースの利用が可能か否かを示す。
認証方式は、リソースの利用に際して使用する認証方式である。例えば、リソース部で指定されるリソースを利用する際に、認証方式としてBASIC認証を使用できるか否か、Digest認証を使用できるか否かを示す。
なお、以上に示したリソース情報のデータ項目は一例であり、他のデータ項目を有していてもよい。
<処理の詳細>
次に、第2の実施形態に係る画像処理装置の処理の詳細について説明する。まず、画像処理装置10に対して、この画像処理装置10において利用可能なAPIリストを取得するためのリソース情報を登録する処理について説明する。図17は、第2の実施形態に係るリソース情報追加/削除処理の一例のシーケンス図である。
ステップS501において、ユーザは例えばネットワークを介して、フレームワーク420にAPIリスト作成部425を追加又は削除する。これは、例えば、ネットワークを介して、APIリスト作成部425を追加又は削除するための所定のインストーラ等を取得し、このインストーラを実行することでAPIリスト作成部425を追加又は削除することができる。すると、APIリスト作成部425は、API管理部423に対してリソース情報の登録又は削除要求を行う。
ステップS502において、API管理部423は画像処理装置10の記憶領域に、APIリストを取得するためのリソース情報の登録又は削除を行う。
以上により、画像処理装置10に対して、この画像処理装置10において利用可能なAPIリストを取得するためのリソース情報の登録又は削除を行うことができる。これにより、APIリストを取得するためのAPIが画像処理装置10のWebAPI410に登録又はWebAPI410から削除される。後述するように、PC20や他の画像処理装置10は、ここで登録されたAPIを利用して、画像処理装置10において利用可能なAPIリストを取得することができる。
次に、ユーザがPC20などを操作して、このPC20が画像処理装置10において利用可能なAPIの一覧(APIリスト)を表示させるための処理について説明する。図18は、第2の実施形態に係るAPIリスト表示処理の一例のシーケンス図である。
ステップS601において、PC20などはサービスとリソースを指定したHTTPリクエストを画像処理装置10に送信する。ここで指定されるサービス及びリソースは、APIリストを取得するためのリソース及びサービスである。例えば、PC20は、サービスとしてAPIリスト作成部425、リソースとしてAPIリストを取得する機能を示すURL「resourcelist/entries」と、メソッドにGETメソッドとを指定したHTTPリクエストを画像処理装置10に送信する。
ステップS602において、要求管理部421はWebAPI410からHTTPリクエストを受け取り、API制御部422に処理要求を行う。
ステップS603において、API制御部422はAPI管理部423にリソース情報の取得要求を行う。そして、API管理部423はリソース情報を画像処理装置10の記憶領域から取得し、この取得したリソース情報をAPI制御部422に送信する。
ステップS604において、API制御部422は、API管理部423から取得したリソース情報に基づいてAPIを特定する。すなわち、HTTPリクエストに指定されているURLとリソース情報に含まれるURLとからAPIを特定する。ここでは、WebAPI410のAPIとして、APIリストを取得するためのAPI(例えば、URLとして「resourcelist/entries」で指定されるAPI)が特定される。
ステップS605において、API制御部422はHTTPリクエストを解析する。
ステップS606において、API制御部422はAPIリスト作成部425に対して操作要求を行う。
ステップS607において、APIリスト作成部425は、API管理部423に対して画像処理装置10の記憶領域に登録されているすべてのリソース情報の取得要求を行う。そして、API管理部423は、PC20等が利用可能なリソース情報を画像処理装置10の記憶領域から取得し、この取得したリソース情報をAPIリスト作成部425に送信する。このステップS607の処理の詳細については後述する。
ステップS608において、APIリスト作成部425は、API管理部423から取得したリソース情報に基づいてAPIリストを作成する。ここで作成されるAPIリストは、例えば図19に示されるような情報である。図19は、APIリストの一例を説明するための説明図である。図19に示されるAPIリスト3000は、利用可能なサービス及びリソースのリソース情報3001とリソース情報3002とが記述されている。また、各リソース情報はAPIを利用するためのURLやこのAPIを利用する際に指定することができるメソッド等が記述されている。すなわち、APIリストには、図16で示したリソース情報の各データ項目の値が記述されている。後述する処理において、PC20は、受け取ったAPIリストを表示部510に表示させる。
ステップS609において、APIリスト作成部425は、APIリストを含む応答要求を結果応答部424に対して行う。
ステップS610において、結果応答部424は、応答要求からHTTPレスポンスを作成する。
ステップS611において、結果応答部424は、作成したHTTPレスポンスの送信要求を要求管理部421に対して行う。
ステップS612において、要求管理部421は、HTTPレスポンスをWebAPI410を介してPC20などに送信する。
ステップS613において、PC20の表示部510は、HTTPレスポンスを受け取ると、このHTTPレスポンスに含まれるAPIリストからAPIリストの表示画面を作成し、表示装置102等に表示させる。これにより、ユーザは、PC20や他の画像処理装置10が利用することができる画像処理装置10のAPIを知ることができる。なお、ユーザは、PC20や他の画像処理装置10に限らず、例えば、画像処理装置10の操作部200を操作して、この操作部200が利用可能な画像処理装置10のAPIリストを取得してもよい。
以上により、ユーザは、PC20等を用いて、このPC20が利用可能な画像処理装置10のAPIリストを取得することができる。ユーザは、表示されたAPIリストから所望のAPIを選択等することで、画像処理装置10が提供するAPIを利用することができる。なお、上記においては、PC20等が利用可能な画像処理装置10のAPIリストを取得したが、例えば、利用可能か否かに関わらず画像処理装置10が提供するすべてのAPIのリストを取得するようにしてもよい。
次に、図18を用いて説明したAPIリスト表示処理におけるステップS607の処理(リソース情報取得処理)の詳細について説明する。図20は、第2の実施形態に係るリソース情報取得処理の一例のフローチャートである。
ステップS701において、API管理部423は、APIリスト作成部425からリソース情報の取得要求を受け取ると、取得済みのリソース情報の数が画像処理装置10の記憶領域に登録されているリソース情報の数未満か否かを判定する。換言すれば、API管理部423は、画像処理装置10の記憶領域に登録されているすべてのリソース情報を取得したか否かを判定する。すべてのリソース情報を取得していない場合、ステップS702に進み、他方、すべてのリソース情報を取得済の場合、処理を終了させる。
ステップS702において、API管理部423は、画像処理装置10の記憶領域からリソース情報を取得する。
ステップS703において、API管理部423は、上記のステップS702で取得したリソース情報について、PC20等が利用可能なAPIであるか否かを判定する。利用可能である場合、ステップS704に進み、他方、利用することができない場合、ステップS701に戻る。
ここで、上記のステップS703で取得したリソース情報に係るAPIについて、PC20が利用可能であるか否かは、例えば、図16に示したリソース情報の権限やアクセス等のデータ項目に基づいて判定される。例えば、図16に示す権限のデータ項目が「管理者」であり、PC20にログインしているユーザが「一般ユーザ」である場合、権限のデータ項目が「管理者」であるリソース情報に係るAPIは利用することができないと判定される。また、例えば、図16に示すアクセスのデータ項目について、リモートが「×」、操作部が「○」であるリソース情報である場合、画像処理装置10とネットワークを介して接続されたPC20からは利用することができないと判定され、他方、画像処理装置10の操作部200からは利用することができると判定される。
ステップS704において、API管理部423は、上記のステップS704において取得したリソース情報を一時的に保持する。すなわち、ここでAPI管理部423が保持したリソース情報がAPIリスト作成部425に送信される。そして、図18のステップS608で説明したように、APIリスト作成部425は、API管理部423から送信されたリソース情報に基づきAPIリストを作成する。なお、API管理部423は、取得したリソース情報を一時的に保持せずに、APIリスト作成部425に即座に送信してもよい。
以上により、API管理部423は、画像処理装置10の記憶領域に登録されているリソース情報からAPIリストの取得要求を行ったPC20等が利用することができるAPIのリソース情報を取得する。これにより、PC20等において、自身が利用することができる画像処理装置10のAPIリストを表示等させることができる。
<まとめ>
以上のように、本実施形態に係る画像処理装置10は、PC20や他の画像処理装置10、さらには画像処理装置10の操作部200からのAPIリスト取得要求に応じて、これらのPC20等が利用可能な画像処理装置10のAPIリストを返信する。したがって、PC20等は、自身が利用可能な画像処理装置10のAPIリストを表示部などに表示させることができる。その後、ユーザは、例えば表示部に表示されているAPIリストから自身が利用したいと所望のAPIを選択することで、この選択したAPIを利用することができる。
[第3の実施形態]
次に、第3の実施形態に係る画像処理システムについて説明する。本実施形態においては、画像処理装置10において利用可能なAPIのリストをPC20に提供するに際し、API管理部423が取得したリソース情報をキャッシュとして保存する。なお、システム構成、機能構成及びハードウェア構成については、第2の実施形態と同様であるため説明を省略する。
<処理の詳細>
次に、第3の実施形態に係る画像処理装置の処理の詳細について説明する。本実施形態は、リソース情報取得処理が第2の実施形態と異なる。したがって、リソース情報取得処理のみ説明し、リソース情報追加/削除処理及びAPIリスト表示処理については説明を省略する。なお、リソース情報取得処理において、第2の実施形態と同様の処理については、同一の符号を付し、その説明を省略する。図21は、第3の実施形態に係るリソース情報取得処理の一例のフローチャートである。
ステップS801において、API管理部423は、リソース情報がキャッシュに存在するか否かを判定する。リソース情報がキャッシュに存在しない場合、ステップS701に進み、他方、リソース情報がキャッシュに存在する場合、ステップS802に進む。
ここで、キャッシュとは、リソース情報取得処理において、API管理部423が取得したリソース情報を保存するための、画像処理装置10のHDD223等に確保された記憶領域である。なお、キャッシュはキャッシュ記憶手段の一例である。
ステップS802において、API管理部423は、キャッシュ作成後に、画像処理装置10の記憶領域にリソース情報が新たに登録又は削除されたか否かを判定する。キャッシュ作成後にリソース情報が新たに登録又は削除された場合、ステップS701に進み、他方、キャッシュ作成後にリソース情報が新たに登録も削除もされていない場合、ステップS803に進む。
ステップS803において、API管理部423は、キャッシュに保存されているリソース情報を取得する。
ステップS804において、API管理部423は、取得したリソース情報をキャッシュに保存する。なお、上記のステップS803においてキャッシュに保存されているリソース情報を取得した場合には、キャッシュの内容に変更はないが、本処理を行うことにより例えばキャッシュのタイムスタンプを更新させることができる。したがって、キャッシュが一定期間経過により削除されるような場合、本処理により、キャッシュの保存期間がリフレッシュされる。
このように、キャッシュにリソース情報が存在し、かつ、キャッシュ作成後に新たなリソース情報が登録されていない場合は、キャッシュに保存されているリソース情報をAPIリスト作成部425に送信する。したがって、この場合、ステップS701〜704の処理を行う必要がないため、PC20はAPIリストの取得を高速に行うことができる。
<まとめ>
以上のように、本実施形態に係る画像処理装置10は、画像処理装置10において利用可能なAPIのリストをPC20に提供するに際し、API管理部423が取得したリソース情報をキャッシュとして保存する。また、キャッシュにリソース情報が存在し、かつ、キャッシュ作成後に新たなリソース情報が登録されていない場合は、キャッシュに保存されているリソース情報をAPIリスト作成部425に送信する。これにより、キャッシュにリソース情報が存在する場合は、PC20はAPIリストの取得を高速に行うことができる。したがって、PC20等からのAPIリストの取得要求のレスポンスが第2の実施形態と比較して高速になる。
[第4の実施形態]
次に、第4の実施形態に係る画像処理システムについて説明する。本実施形態に係る画像処理装置10は、操作部200Aと本体部210とがそれぞれ独立したCPUを有する。また、本体部210は、PC20から要求を受け付けるための機能部と、操作部から要求を受け付けるための機能部とをそれぞれ有している。そして、本体部210の起動に応じて、操作部から要求を受け付けるための機能部を起動させた後、PC20から要求を受け付けるための機能部を起動させるものである。なお、システム構成については、第3の実施形態と同様であるため説明を省略する。
<ハードウェア構成>
まず、第4の実施形態に係る画像処理装置10のハードウェア構成について説明する。第4の実施形態に係る画像処理装置10は、例えば図22に示すようなハードウェア構成により実現される。図22は、第4の実施形態に係る画像処理装置の一例のハードウェア構成図である。図22に示すように、画像処理装置10は、操作部200Aと本体部210とを有する。なお、本体部210のハードウェア構成は、第3の実施形態と同様であるため説明を省略する。
操作部200Aは、LCDデバイスやタッチパネル、ハードキーなどに加えて、CPU271やメモリ272などを備えるユーザインタフェースであり、画像処理装置10に対して、ユーザが各種データの設定、登録、処理の実行などを行う際に操作する。なお、メモリ272は、例えば、RAM、ROMなどである。メモリ272に、HDDやSSD(Solid State Drive)などを含めてもよい。なお、操作部200Aと本体部210との間は、有線(又は無線)で通信可能に接続されている。
このように、第4の実施形態に係る画像処理装置10の操作部200Aは、CPU271、メモリ272などを備えた、情報処理装置である。すなわち、第4の実施形態に係る画像処理装置10は、2台の情報処理装置(操作部200A及び本体部210)により構成されている。ただし、画像処理装置10を構成する情報処理装置は、2台に限られず、3台以上の情報処理装置により構成されていてもよい。
<機能構成>
次に、第4の実施形態に係る画像処理装置10の機能構成について説明する。図23は、第4の実施形態に係る画像処理装置の一例の機能構成図である。第4の実施形態に係る画像処理装置10は、操作部200Aを有する点が異なる。また、画像処理装置10は、フレームワーク420の要求管理部421Aの機能及びフレームワーク420にフレームワーク起動制御部426を有する点、並びに本体部210に本体起動制御部490を有する点が異なる。なお、これら以外の各機能は、第3の実施形態と同様であるため、説明を省略する。
操作部200Aは、OS540上で実行されるアプリケーション群501と、LCDデバイスやタッチパネルへの表示を制御する表示制御部520と、本体部210のWebAPI410と通信を行う通信部550とを有する。
アプリケーション群501は、OCR(Optical Character Reader)アプリケーション531、コピーアプリケーション532、翻訳アプリケーション533などを有する。これらのアプリケーションは、本体部210のソフトウェア群401に含まれるプログラムと連携して、又は、単独で、各種処理を実行する。例えば、OCRアプリケーション531は、本体部210のスキャナアプリケーション434により原稿をスキャンして生成された画像データに対してOCR処理を行う。また、例えば、翻訳アプリケーション533は、操作部200AのLCDデバイス上に表示されている文字等を他の言語に翻訳して表示する。このように、操作部200Aには、OS540により制御される各種アプリケーション群501が搭載されている。なお、OS540としては、例えば、Androidなどを用いることができる。
要求管理部421Aは、操作部200AからWebAPI410を介した処理要求を受け付けるための操作部要求受付部4211と、PC20からWebAPI410を介した処理要求を受け付けるためのリモート要求受付部4212とを有する。このように要求管理部421Aは、要求元に応じた機能部で処理要求を受け付ける。
フレームワーク起動制御部426は、フレームワーク420内の各機能部の起動を制御する。すなわち、フレームワーク起動制御部426は、本体起動制御部490からの要求に応じて、操作部要求受付部4211、リモート要求受付部4212を起動させる。また同様に、フレームワーク起動制御部426は、API制御部422、API管理部423、結果応答部424、APIリスト作成部425、フレームワーク起動制御部426を起動させる。
本体起動制御部490は、本体部210の起動に応じて、本体部210の各機能部の起動を制御する。すなわち、本体起動制御部490は、本体部210の起動に応じて、フレームワーク起動制御部426やソフトウェア群401に含まれる各アプリケーションやサービスモジュールなどのプログラムを起動させる。
<処理の詳細>
次に、第4の実施形態に係る画像処理装置の処理の詳細について説明する。本実施形態では、画像処理装置10を起動した際の処理について説明する。なお、これ以外の処理については、第1〜第3の実施形態と同様であるため説明を省略する。図24は、第4の実施形態に係る画像処理装置の起動時の処理の一例のシーケンス図である。
以降では、例えば画像処理装置10のユーザなどにより、画像処理装置10に電源が投入されたものとして、説明する。
ステップS901において、画像処理装置10に電源が投入されると、本体起動制御部490は、フレームワーク起動制御部426に対して、起動要求を送信する。これにより、フレームワーク起動制御部426が起動される。
ステップS902において、フレームワーク起動制御部426は、操作部要求受付部4211に対して、起動要求を送信する。これにより、操作部要求受付部4211が起動される。なお、このとき、フレームワーク起動制御部426は、API制御部422、API管理部423、結果応答部424、APIリスト作成部425などに対して、起動要求を送信して、これら各部を起動させてもよい。
ステップS903において、操作部要求受付部4211は、操作部200Aの通信部550と通信を行うための通信ポートを開放する。これにより、操作部要求受付部4211は、操作部200Aからの処理要求を受け付けることができるようになる。
ステップS904において、本体起動制御部490は、サービスに対して、起動要求を送信する。これにより、サービスが起動される。ここで、本体起動制御部490が起動要求を送信するサービスは、ネットワーク制御サービス455を除く、ソフトウェア群401に含まれるアプリケーション又はサービスモジュールである。すなわち、本体起動制御部490は、ネットワーク制御サービス455を除くソフトウェア群401に含まれるアプリケーション及びサービスモジュールのすべてに対して、起動要求を送信する。
ただし、これに限られず、本体起動制御部490は、ネットワーク制御サービス455を除くソフトウェア群401に含まれるアプリケーション又はサービスモジュールのうち、操作部200Aの表示処理に必要なサービスに対してのみ起動要求を送信してもよい。
ステップS905において、サービスは、リソース情報を登録する。より具体的には、図10で説明したように、サービスは、API管理部423に対して、リソース情報の登録要求を行う。すると、API管理部423により、該当のサービスのリソース情報が画像処理装置10の記憶領域に登録される。
ステップS906において、本体起動制御部490は、操作部200Aに対して、表示要求を送信する。ここで、表示要求は、操作部200AのLCDデバイスなどに、ユーザが画像処理装置10の操作を行うための画面(操作画面)を表示させるための要求である。
ステップS907において、操作部200Aの表示制御部520は、通信部550を介して、操作部要求受付部4211に対してリクエストを送信する。より具体的には、表示制御部520は、通信部550を介して、操作画面の表示に必要なサービスとリソースを指定したリクエスト(HTTPリクエスト)を操作部要求受付部4211に送信する。
なお、操作画面の表示に必要なサービスとリソースとは、例えば、操作部200Aのアプリケーション群501に含まれるアプリケーションの初期設定の取得などである。より具体的には、例えば、アプリケーション群501に含まれるコピーアプリケーション532の初期設定(例えば、カラー/モノクロ、用紙サイズなどの設定項目の設定値)を、コピーアプリケーション431(サービス)から取得するリソースなどである。
ステップS908において、操作部要求受付部4211は、リクエストを受信すると、認証要否判定処理を行う。この認証要否判定処理の詳細については後述する。
ステップS909において、操作部要求受付部4211は、API制御部422を介して、該当のサービスの該当のリソースに対して操作要求を行う。より具体的には、図7で説明したのと同様に、操作部要求受付部4211は、WebAPI410からHTTPリクエストを受け取り、API制御部422に処理要求を行う。そして、API制御部422は、API管理部423からリソース情報を取得し、APIの特定及び解析を行い、該当のサービスの該当のリソースに対して操作要求を行う。
ステップS910において、サービスは、処理を実行する。すなわち、例えば、サービスがコピーアプリケーション431、リソースが初期設定の取得である場合、処理を実行することで、操作部200Aのコピーアプリケーション532の初期設定に関する情報が取得される。
ステップS911において、サービスは、結果応答部424を介して、上記のステップS910で実行された処理の処理結果を、操作部要求受付部4211に送信する。より具体的には、図7で説明したのと同様に、上記のステップS910で実行された処理の処理結果を含む応答要求を結果応答部424に対して送信する。そして、結果応答部424は、HTTPレスポンスを作成して、当該HTTPレスポンスの送信要求を操作部要求受付部4211に対して行う。
ステップS912において、操作部要求受付部4211は、HTTPレスポンスをWebAPI410を介して、操作部200Aに送信する。
上記のステップS907〜S912の処理は、操作部200Aが操作画面を表示させるのに必要なサービスとリソースに対して実行される。
ステップS913において、操作部200Aの表示制御部520は、上記のステップS907〜S912の処理により取得された情報に基づき、LCDデバイスなどに操作画面を表示させる。これにより、ユーザは、操作部200Aを用いて、画像処理装置10を利用することができるようになる。
ステップS914において、本体起動制御部490は、ネットワーク制御サービス455に対して、起動要求を送信する。これにより、ネットワーク制御サービス455が起動される。
ステップS915において、ネットワーク制御サービス455は、PC20などと通信を行うための通信ポートを開放する。
ステップS916において、フレームワーク起動制御部426は、リモート要求受付部4212に対して、起動要求を送信する。これにより、リモート要求受付部4212が起動される。なお、フレームワーク起動制御部426がリモート要求受付部4212に起動要求を送信するタイミングは、操作部要求受付部4211が起動された直後又は操作部要求受付部4211が起動されてから所定の時間(例えば30秒)経過後などとすればよい。
ステップS917において、リモート要求受付部4212は、ネットワーク制御サービス455により開放された通信ポートに対して、コネクション接続要求を送信する。これにより、リモート要求受付部4212は、ネットワーク制御サービス455により開放された通信ポートを用いて、PC20などと通信を行うことができるようになる。
このように、本実施形態に係る画像処理装置10が電源投入などにより起動された場合、操作部要求受付部4211を起動させた後、リモート要求受付部4212を起動させる。これにより、操作部200Aに操作画面が迅速に表示され、ユーザが操作を開始するまでの待ち時間を軽減することができる。
すなわち、従来においては、ユーザが操作部200Aによる操作を所望する場合でもリモート要求受付部4212やネットワーク制御サービス455などが起動されるまで、ユーザは待たされていた。しかしながら、本実施形態によれば、先に操作部要求受付部4211を起動させ、操作部200Aに操作画面を表示させることで、ユーザの待ち時間が軽減される。
次に、図24のステップS908の認証要否判定処理の詳細について説明する。図25は、第4の実施形態に係る認証要否判定処理の一例のフローチャートである。
ステップS1001において、操作部要求受付部4211は、リクエストを受信すると、当該リクエストに含まれるユーザ情報(例えば、ユーザ名など)に基づき、当該ユーザが認証済みが否かを判定する。認証済みである場合、ステップS1002に進み、認証済みでない場合、ステップS1003に進む。なお、画像処理装置10を起動した際の処理である図24のステップS908の段階では、ユーザ名としてはいわゆるデフォルトユーザ名などが用いられる。
ステップS1002において、操作部要求受付部4211は、API制御部422を介して、該当のサービスの該当のリソースに対して操作要求を行う。すなわち、図24のステップS909の処理を実行する。
ステップS1003において、操作部要求受付部4211は、認証処理を行う。すなわち、当該リクエストに含まれるユーザ情報(例えば、ユーザ名とパスワードの組)に基づき、当該ユーザ情報が正当なものであるか否かを判定する。
このように、操作部200Aから本体部210に対して複数回リクエストがあった場合は、初回のみ認証処理を行い、2回目以降は認証処理を省くように制御する。これにより、操作部200Aに操作画面が表示されるまでのユーザの待ち時間を、さらに軽減させることができる。
<まとめ>
以上のように、本実施形態に係る画像処理装置10は、当該画像処理装置10が起動された場合、操作部要求受付部4211を起動させた後、リモート要求受付部4212を起動させる。したがって、操作部200Aに操作画面が表示されるまでのユーザの待ち時間が軽減される。
また、本実施形態に係る画像処理装置10は、操作部200Aから本体部210に対して複数回リクエストがあった場合は、初回のみ認証処理を行い、2回目以降は認証処理を省くように制御する。これにより、操作部200Aに操作画面が表示されるまでのユーザの待ち時間がさらに軽減される。
なお、画像処理装置10は、情報処理装置の一例である。PC20は、機器の一例である。API管理部423は、機能記憶手段、判定手段及び取得手段の一例である。WebAPI410及び要求管理部421は、インタフェース手段の一例である。API制御部422は、特定手段及び処理要求手段の一例である。APIリスト作成部425は、生成手段の一例である。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 画像処理システム
10 画像処理装置
20 PC
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 RAM
105 ROM
106 CPU
107 通信I/F
108 HDD
251 プロッタエンジン
252 スキャナエンジン
253 その他のハードウェアリソース
401 ソフトウェア群
402 ハードウェア資源
403 アプリケーション層
404 サービスモジュール層
410 WebAPI
420 フレームワーク
421 要求管理部
422 API制御部
423 API管理部
424 結果応答部
425 APIリスト作成部
431 コピーアプリケーション
432 ファックスアプリケーション
433 プリンタアプリケーション
434 スキャナアプリケーション
440 内部API
451 システム制御サービス
452 ファックス制御サービス
453 エンジン制御サービス
454 メモリ制御サービス
455 ネットワーク制御サービス
456 ログ制御サービス
457 電源制御サービス
458 認証制御サービス
459 アドレス帳管理サービス
460 OS
470 エンジンI/F
480 エンジン制御ボード
510 表示部
特開2005−339520号公報

Claims (20)

  1. ネットワークを介して接続された機器からの要求に応じて所定の機能を利用したサービスを提供する情報処理装置であって、
    前記サービスと該サービスが利用する機能毎に、前記機器から前記機能を利用したサービスの要求を受け付けるためのインタフェース情報を含む、前記機能に関する情報を記憶させる機能記憶手段と、
    前記機能に関する情報に含まれるインタフェース情報毎に前記機器からの要求を受け付けるインタフェース手段と、を有し、
    前記機能記憶手段は、
    前記サービスが利用する機能が追加された場合、該追加された機能に関する情報を記憶させる、情報処理装置。
  2. 前記機器からの要求を受け付けたインタフェース手段と前記機能に関する情報とから、該受け付けたインタフェース手段に対応するインタフェース情報を特定する特定手段と、
    前記特定手段で特定したインタフェース情報に基づいて、該インタフェース情報に対応するサービス及び機能を特定し、該特定したサービスに対して該特定した機能を利用した処理を要求する処理要求手段と、
    を有する請求項1記載の情報処理装置。
  3. 前記インタフェース情報は、サービスのサービス名と該サービスが利用する機能の機能名を連結させ、URL形式で表した情報である、請求項1又は2記載の情報処理装置。
  4. 前記機能記憶手段は、
    さらに、前記サービスが利用する機能が削除された場合、該削除された機能に関する情報を削除する、請求項1ないし3のいずれか1項に記載の情報処理装置。
  5. 前記機能記憶手段は、
    さらに、前記サービスが前記情報処理装置から削除された場合、該削除されたサービスが利用する機能に関する情報を削除する、請求項1ないし4のいずれか1項に記載の情報処理装置。
  6. 前記サービスが利用する機能が追加された場合、該追加された機能に関する情報が前記機能記憶手段に記憶されているか否かを判定する判定手段を有し、
    前記機能記憶手段は、
    前記判定手段において前記追加された機能に関する情報が記憶されていないと判定された場合、該追加された機能に関する情報を前記記憶させる、請求項1ないし5のいずれか1項に記載の情報処理装置。
  7. 前記インタフェース手段により前記機器から前記情報処理装置が提供するサービスのリストの要求を受け付けると、前記機能記憶手段に記憶されている機能に関する情報を取得する取得手段と、
    前記取得手段により取得された前記機能に関する情報から前記機器が利用することができるサービスと該サービスが利用する機能とを含む利用可能なサービスに関する情報を生成する生成手段と、
    を有する請求項1ないし6のいずれか1項に記載の情報処理装置。
  8. 前記取得手段により取得される機能に関する情報は、該機能に関する情報に対応するサービスが利用する機能を前記機器が利用するための権限に関する情報を含む、請求項7記載の情報処理装置。
  9. 前記取得手段は、
    前記インタフェース手段により前記機器から前記情報処理装置が提供するサービスのリストの要求を受け付けると、前記機能記憶手段に記憶されている機能に関する情報のうち、前記権限に関する情報に基づき、該機器が利用可能な機能を利用するサービスに対応する前記機能に関する情報を取得する、請求項8記載の情報処理装置。
  10. 前記機器には、前記情報処理装置の操作部を含み、
    前記取得手段により取得される機能に関する情報は、前記機器が前記情報処理装置の操作部であるか否かを示す情報を含み、
    前記取得手段は、
    前記インタフェース手段により前記機器から前記情報処理装置が提供するサービスのリストの要求を受け付けると、前記機能記憶手段に記憶されている機能に関する情報のうち、前記機器が前記情報処理装置の操作部であるか否かを示す情報に基づき、該機器が利用可能な機能を利用するサービスに対応する前記機能に関する情報を取得する、請求項7ないし9のいずれか1項に記載の情報処理装置。
  11. 前記取得手段により取得される機能に関する情報は、該機能に関する情報に対応するサービスが利用する機能を前記機器が利用する際の上限データ量に関する情報を含む、請求項7ないし10のいずれか1項に記載の情報処理装置。
  12. 前記情報処理装置が提供するサービスに対応する機能に関する情報を、キャッシュとして記憶するキャッシュ記憶手段を有し、
    前記取得手段は、前記情報処理装置が提供するサービスに対応する機能に関する情報が前記キャッシュ記憶手段に存在しない場合に、前記機能に関する情報を取得する、請求項7ないし11のいずれか1項に記載の情報処理装置。
  13. 前記情報処理装置は、前記所定の機能を利用したサービスを提供する本体部と、該本体部に前記機能を利用したサービスを要求する操作部とを含み、
    前記本体部及び前記操作部は、それぞれ独立したCPUを有する、請求項1ないし12のいずれか1項に記載の情報処理装置。
  14. 前記インタフェース手段は、
    前記機能に関する情報に含まれるインタフェース情報毎に前記操作部からの要求を受け付ける操作部受付手段と、
    前記機能に関する情報に含まれるインタフェース情報毎に前記機器からの要求を受け付ける機器受付手段と
    を有し、
    前記操作部受付手段及び前記機器受付手段は、
    前記本体部が起動されたことに基づき、前記操作部受付手段が起動された後、前記機器受付手段が起動される、請求項13記載の情報処理装置。
  15. 前記操作部受付手段及び前記機器受付手段は、
    前記本体部の起動に応じて、前記操作部受付手段が起動された後、所定の時間の経過後に、前記機器受付手段が起動される、請求項14記載の情報処理装置。
  16. ネットワークを介して接続された機器からの要求に応じて所定の機能を利用したサービスを提供する情報処理装置に用いられる情報処理方法であって、
    前記サービスが利用する機能が追加された場合、該追加された機能に関する情報を、前記サービスと該サービスが利用する機能毎に機能記憶手段に記憶させる記憶手順と、
    前記機能記憶手段に記憶されている機能に関する情報に含まれるインタフェース情報に基づき、前記機器からの要求を受け付けるインタフェース手順と、
    を有する情報処理方法。
  17. 前記インタフェース手順により前記機器から前記情報処理装置が提供するサービスのリストの要求を受け付けると、前記機能記憶手段に記憶されている機能に関する情報を取得する取得手順と、
    前記取得手順により取得された前記機能に関する情報から前記機器が利用することができるサービスと該サービスが利用する機能とを含む利用可能なサービスに関する情報を生成する生成手順と、
    を有する請求項16記載の情報処理方法。
  18. ネットワークを介して接続された機器からの要求に応じて所定の機能を利用したサービスを提供する情報処理装置を、
    前記サービスが利用する機能が追加された場合、該追加された機能に関する情報を、前記サービスと該サービスが利用する機能毎に機能記憶手段に記憶させる記憶手段、
    前記機能記憶手段に記憶されている機能に関する情報に含まれるインタフェース情報に基づき、前記機器からの要求を受け付けるインタフェース手段、
    として機能させるためのプログラム。
  19. 前記情報処理装置を、
    前記インタフェース手段により前記機器から前記情報処理装置が提供するサービスのリストの要求を受け付けると、前記機能記憶手段に記憶されている機能に関する情報を取得する取得手段、
    前記取得手段により取得された前記機能に関する情報から前記機器が利用することができるサービスと該サービスが利用する機能とを含む利用可能なサービスに関する情報を生成する生成手段、
    として機能させるための請求項18記載のプログラム。
  20. 機器と、該機器からの要求に応じて所定の機能を利用したサービスを提供する情報処理装置とを有する情報処理システムであって、
    前記サービスと該サービスが利用する機能毎に、前記機器から前記機能を利用したサービスの要求を受け付けるためのインタフェース情報を含む、前記機能に関する情報を記憶させる機能記憶手段と、
    前記機能に関する情報に含まれるインタフェース情報毎に前記機器からの要求を受け付けるインタフェース手段と、
    前記インタフェース手段により前記情報処理装置が提供するサービスのリストの要求を受け付けると、前記機能記憶手段に記憶されている機能に関する情報を取得する取得手段と、
    前記取得手段により取得された前記機能に関する情報から前記機器が利用することができるサービスと該サービスが利用する機能とを含む利用可能なサービスに関する情報を生成する生成手段と、
    前記生成手段により生成された前記利用可能なサービスに関する情報に基づき、前記情報処理装置が提供するサービスのリストを表示部に表示させる表示手段と、を有し
    前記機能記憶手段は、
    前記サービスが利用する機能が追加された場合、該追加された機能に関する情報を記憶させる、情報処理システム。
JP2014254573A 2013-12-17 2014-12-16 情報処理装置、情報処理方法、プログラム及び情報処理システム Pending JP2015222557A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014254573A JP2015222557A (ja) 2013-12-17 2014-12-16 情報処理装置、情報処理方法、プログラム及び情報処理システム

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2013259952 2013-12-17
JP2013259952 2013-12-17
JP2014092415 2014-04-28
JP2014092415 2014-04-28
JP2014254573A JP2015222557A (ja) 2013-12-17 2014-12-16 情報処理装置、情報処理方法、プログラム及び情報処理システム

Publications (1)

Publication Number Publication Date
JP2015222557A true JP2015222557A (ja) 2015-12-10

Family

ID=54785518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014254573A Pending JP2015222557A (ja) 2013-12-17 2014-12-16 情報処理装置、情報処理方法、プログラム及び情報処理システム

Country Status (1)

Country Link
JP (1) JP2015222557A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018146998A1 (ja) 2017-02-08 2018-08-16 グローリー株式会社 現金処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018146998A1 (ja) 2017-02-08 2018-08-16 グローリー株式会社 現金処理システム

Similar Documents

Publication Publication Date Title
US10997003B2 (en) Electronic apparatus, method for adding function, and non-transitory recording medium
US10686958B2 (en) Updating settings of a plurality of image forming apparatuses
JP2013088950A (ja) 印刷システム及び印刷方法
US9710432B2 (en) System, information processing apparatus, and method of controlling display
JP2009054027A (ja) 情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラム
US10778862B2 (en) Information processing system, information processing method, and computer-readable recording medium
US9756203B2 (en) Image processing apparatus, method for controlling the same, and storage medium
US10708461B2 (en) Information processing system, information processing apparatus, and method of generating an application setting screen generated based on application setting screen metadata
JP6938983B2 (ja) 情報処理システム、情報処理装置及び情報処理方法
JP6699143B2 (ja) 情報処理システム、電子機器及びプログラム
CN109246325B (zh) 打印装置、其控制方法和存储介质
JP6365247B2 (ja) 情報処理装置、情報処理システム、及び情報処理方法
US9612788B2 (en) Terminal apparatus, information processing system, and output method
JP2008211747A (ja) 画像処理装置、サーバ装置、タスク処理方法、記憶媒体、プログラム
US10338857B2 (en) Information processing apparatus, information processing system, and information processing method
US11748173B2 (en) Information processing system, information processing method, and storage medium for controlling virtual server that executes program
JP2015222557A (ja) 情報処理装置、情報処理方法、プログラム及び情報処理システム
US11436299B2 (en) Information processing system, server apparatus, and information processing method
JP2023072169A (ja) プリントシステム、及び方法
US10602011B2 (en) Image forming apparatus, information processing method, and program
JP2009212914A (ja) 画像処理装置及び画像処理方法
US20230134065A1 (en) Information processing system, service providing system, and application execution method
JP7434840B2 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
US20210168130A1 (en) Information processing apparatus, information processing system, method of processing information, and non-transitory recording medium
JP6852591B2 (ja) 入出力デバイス、プログラム及び情報処理システム