(58)【調査した分野】(Int.Cl.,DB名)
複数の電子機器と接続され、搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理装置であって、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段と、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段と、
前記連携処理装置に接続される前記複数の電子機器毎に、該電子機器の能力に関する情報をそれぞれ記憶装置に記憶させる記憶制御手段と、
を備え、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できたとき、取得した電子機器の能力に関する情報を要求元のアプリケーションに提供し、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できなかったとき、前記記憶装置に記憶された電子機器の能力に関する情報のうち前記取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供することを特徴とする連携処理装置。
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理に係る所定の処理を実行させる処理要求を前記予め定義されたインターフェースを介して受け付け、受け付けた処理要求に基づいた処理を実行する1以上の処理手段
を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の連携処理装置。
複数の電子機器と連携処理装置とが接続され、該連携処理装置に搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記連携処理装置に搭載される前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理システムであって、
前記連携処理装置は、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段と、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段と、
前記連携処理装置に接続される前記複数の電子機器毎に、該電子機器の能力に関する情報をそれぞれ記憶装置に記憶させる記憶制御手段と、
を備え、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できたとき、取得した電子機器の能力に関する情報を要求元のアプリケーションに提供し、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できなかったとき、前記記憶装置に記憶された電子機器の能力に関する情報のうち前記取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供することを特徴とし、
前記複数の電子機器は、
前記連携処理装置の前記実行制御手段の制御に基づいた処理を実行する実行手段
を備えること
を特徴とする連携処理システム。
前記連携処理装置の前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報の要求を電子機器に送信し、該要求に基づいて該電子機器から送信される能力に関する情報を要求元のアプリケーションに提供し、
前記複数の電子機器は、
前記能力情報提供手段からの前記要求を受信し、該要求に基づいて自機器の能力に関する情報を前記連携処理装置に送信すること
を特徴とする請求項16又は17に記載の連携処理システム。
複数の電子機器と接続され、搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理装置を、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段
前記連携処理装置に接続される前記複数の電子機器毎に、該電子機器の能力に関する情報をそれぞれ記憶装置に記憶させる記憶制御手段
として機能させ、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できたとき、取得した電子機器の能力に関する情報を要求元のアプリケーションに提供し、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できなかったとき、前記記憶装置に記憶された電子機器の能力に関する情報のうち前記取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供することを特徴とするプログラム。
【発明を実施するための形態】
【0010】
次に、本発明の実施の形態について、詳細に説明する。
[第1の実施形態]
<システム構成>
図1は本実施形態に係る情報処理システムの一例の構成図である。
図1の情報処理システム1は情報処理装置10及びモバイル端末26が、インターネットなどのパブリック環境のネットワークN1に接続される構成を一例として示している。また、情報処理システム1はPC21、画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25が、LAN(Local Area Network)などのプライベート環境のネットワークN2に接続される構成を一例として示している。なお、モバイル端末26はネットワークN2に接続してもよい。
【0011】
ネットワークN2は例えば顧客の企業内ネットワークに相当する。情報処理システム1はネットワークN2がファイアウォール(FW)20を介してネットワークN1に接続される構成を一例として示している。クラウド環境はパブリック環境の一例である。
【0012】
ネットワークN2に接続されるPC21、画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25は、情報処理装置10に接続される電子機器の一例を示している。PC21は情報処理端末の一例のパーソナルコンピュータである。画像形成装置22は、印刷、読取、ファクシミリ(FAX)などの機能のうち、一つ以上の機能を実現する複合機(MFP)、プリンタ、スキャナなどである。
【0013】
会議システム23は、音声、映像などのコミュニケーション機能を提供し、離れた場所にいるユーザが行う会議を支援するものである。画像投影装置24は、プロジェクタなどの画像を投影する機能を有する装置である。ICレコーダ25は、音声を電子的な信号に変換し、データとして保存する装置である。
【0014】
情報処理装置10は、搭載されるアプリケーションと、PC21、画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25などの接続された電子機器とを連携させた連携処理を実行し、サービスを提供する。なお、情報処理装置10は複数のコンピュータに分散して構成してもよい。また、情報処理装置10はクラウド環境に配置してもよい。
【0015】
モバイル端末26は、情報処理装置10が提供するサービスを利用するユーザが操作する端末装置の一例である。モバイル端末26は、スマートフォンや携帯電話、タブレットPC、PDA(Personal Digital Assistance)など、何れの形態であってもよい。
【0016】
PC21、画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25などの電子機器、モバイル端末26は情報処理装置10にアクセス可能である。情報処理装置10は画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25などの電子機器、モバイル端末26からの要求(リクエスト)を受け付け、1つ以上の電子機器と連携した(1つ以上の電子機器を用いた)連携処理を実行して、サービスを提供できる。
【0017】
<ハードウェア構成>
情報処理装置10は例えば
図2に示すハードウェア構成により実現される。
図2は本実施形態に係る情報処理装置の一例のハードウェア構成図である。
図2の情報処理装置10は、入力装置101、表示装置102、外部I/F103、RAM104、ROM105、CPU106、通信I/F107及びHDD108などを備え、それぞれがバスBで相互に接続されている。
【0018】
入力装置101はキーボードやマウスなどを含み、情報処理装置10に各操作信号を入力するのに用いられる。表示装置102はディスプレイなどを含み、情報処理装置10による処理結果を表示する。
【0019】
通信I/F107は情報処理装置10をネットワークN1に接続するインターフェースである。これにより、情報処理装置10は通信I/F107を介して、PC21、画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25などの電子機器、モバイル端末26などとデータ通信を行うことができる。
【0020】
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、情報処理装置10全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェアなどがある。また、HDD108は格納しているプログラムやデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
【0021】
外部I/F103は、外部装置とのインターフェースである。外部装置には、記録媒体103aなどがある。これにより、情報処理装置10は外部I/F103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aにはフレキシブルディスク、CD、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory card)、USBメモリ(Universal Serial Bus memory)等がある。
【0022】
ROM105は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、情報処理装置10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
【0023】
CPU106は、ROM105やHDD108などの記憶装置からプログラムやデータをRAM104上に読み出し、処理を実行することで、情報処理装置10全体の制御や機能を実現する演算装置である。
【0024】
本実施形態に係る情報処理装置10は、上記ハードウェア構成により、後述するような各種処理を実現できる。
【0025】
<ソフトウェア構成>
本実施形態に係る情報処理装置10は例えば
図3に示す処理ブロックで実現される。
図3は本実施形態に係る情報処理装置の一例の処理ブロック図である。情報処理装置10はプログラムを実行することで、アプリケーション30、プラットフォーム40、デバイスケーパビリティ記憶部50及びAPI(Application Programming Interface)55を実現している。
【0026】
なお、
図3に示す各ソフトウェア及び記憶部の分類形態は一例であり、本実施形態を実施するために、情報処理装置10の各ソフトウェア及び記憶部が
図3に示されるような階層で分類されていることは必須ではない。すなわち、電子機器がアプリケーション30と連携可能であれば、情報処理装置10におけるソフトウェア及び記憶部の階層関係などは特定のものに限定されない。
【0027】
《アプリケーション30》
アプリケーション30は、スキャン送信アプリ31、プロジェクタ投影アプリ32、PULLプリントアプリ33、新規アプリ34を一例として有する。新規アプリ34はアプリケーション30に新規のアプリを追加可能であることを表している。アプリケーション30は例えばSaaS(Software as a Service)アプリケーションなどである。
【0028】
なお、スキャン送信アプリ31、プロジェクタ投影アプリ32、PULLプリントアプリ33、新規アプリ34は、PC21、画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25などの一つ以上の電子機器と連携するアプリケーションの一例である。
【0029】
スキャン送信アプリ31は、後述のスキャン送信サービスを提供するアプリケーションである。プロジェクタ投影アプリ32は、後述のプロジェクタ投影サービスを提供するアプリケーションである。PULLプリントアプリ33は、後述のPULLプリントサービスを提供するアプリケーションである。新規アプリ34は何らかのサービスを提供するアプリケーションである。
【0030】
なお、これらのアプリケーションは、アプリケーション毎に追加、削除又は変更することができる。
【0031】
《API55》
API55はスキャン送信アプリ31、プロジェクタ投影アプリ32、PULLプリントアプリ33、新規アプリ34などのアプリケーション30が、プラットフォーム40を利用するためのインターフェースである。API55は、アプリケーション30からの要求をプラットフォーム40が受信するために設けられた予め定義されたインターフェースであり、例えば関数やクラス等により構成される。
【0032】
API55には例えばケーパビリティ取得API、実行制御API、処理サービス実行APIが含まれる。
【0033】
ケーパビリティ取得APIは、例えば電子機器の能力に関する情報(ケーパビリティ)の取得要求をアプリケーション30から受信する予め定義されたインターフェースである。ここで、ケーパビリティ取得APIは、1つのAPIであっても複数のAPI群であってもよい。複数のAPI群とする場合、例えば、1台の電子機器の能力に関する情報の取得要求を受信するAPIと、複数台の電子機器の能力に関する情報を一度に取得する取得要求を受信するAPIとを、それぞれ異なるAPIとして定義することが考えられる。
【0034】
実行制御APIは、例えば電子機器の能力に関する情報に基づいてアプリケーション30が生成した所定の処理の実行要求を受信する予め定義されたインターフェースである。ここで、実行制御APIは、1つのAPIであっても複数のAPI群であってもよい。複数のAPI群とする場合、例えば、スキャン、印刷、投影といった処理毎にそれぞれ異なるAPIとして定義することが考えられる。
【0035】
処理サービス実行APIは、例えばプラットフォーム40が提供するOCRサービス43やファイル変換サービス44などのサービスに実行させる処理の実行要求を、アプリケーション30から受信する予め定義されたインターフェースである。ここで、処理サービス実行APIは、1つのAPIであっても複数のAPI群であってもよい。複数のAPI群とする場合、例えば、OCRサービス43やファイルサービス44といったサービス毎に、処理の実行要求を受信するAPIを異なるAPIとして定義することが考えられる。
【0036】
なお、情報処理装置10を複数のコンピュータに分散して構成する場合、API55にはネットワーク経由で利用可能な例えばWeb APIを利用できる。API55の具体例は後述する。
【0037】
また、情報処理装置10のAPI55をSDK(ソフトウェア開発キット)としてアプリケーション30の開発者に提供できる。そして、アプリケーション30の開発者は、そのSDKを使用してアプリケーション30を開発できる。さらに、このSDKを情報処理装置10の提供者以外のサードベンダにも提供できる。サードベンダは、提供されたSDKを使用してアプリケーション30を開発できる。そして、SDKを使用して開発されたアプリケーションは、新規アプリ34として情報処理装置10に搭載することができる。このように、情報処理装置10のAPI55をSDKとして提供することにより、情報処理装置10の提供者が開発したアプリケーションだけでなく、サードベンダが開発したアプリケーションを情報処理装置10に搭載できるようになる。
【0038】
《プラットフォーム40》
プラットフォーム40は、デバイス制御サービス41、ケーパビリティ取得サービス42、OCRサービス43、ファイル変換サービス44、新規サービス45、ネットワークインターフェース46、アプリ管理部47、サービス管理部48、記憶制御部49を一例として有する。新規サービス45はプラットフォーム40に新規のサービスを追加可能であることを表している。
【0039】
デバイス制御サービス41は実行制御APIでアプリケーション30から受信した実行要求に基づいた所定の処理を、PC21、画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25などの一つ以上の電子機器と連携して実行する。また、デバイス制御サービス41は実行要求に基づいた所定の処理の一部をプラットフォーム40で実行するか判定する。実行要求に基づいた所定の処理の一部をプラットフォーム40で実行すると判定すると、デバイス制御サービス41は実行要求に基づいた所定の処理を、OCRサービス43、ファイル変換サービス44などの処理サービスと、一つ以上の電子機器とを連携させて実行する。
【0040】
ケーパビリティ取得サービス42はケーパビリティ取得APIでアプリケーション30から受信したケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求元のアプリケーション30に送信する。また、ケーパビリティ取得サービス42はケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求に応じた電子機器から取得する。
【0041】
なお、ケーパビリティ取得サービス42は、ケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求に応じた電子機器から取得できなければ後述の記憶制御部49を介してデバイスケーパビリティ記憶部50から取得する。
【0042】
その他、ケーパビリティ取得サービス42は、ケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求に応じた電子機器から取得するか、記憶制御部49を介してデバイスケーパビリティ記憶部50から取得するかを所定の条件に基づき判断してもよい。所定の条件に基づく判断としては、デバイスケーパビリティ記憶部50にケーパビリティが記憶されてからの経過時間が所定時間(所定日数)を超えていれば電子機器から取得するなどが考えられる。
【0043】
また、ケーパビリティ取得サービス42はケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求に応じた電子機器から取得するか、記憶制御部49を介してデバイスケーパビリティ記憶部50から取得するか、を予め設定しておくことなども考えられる。
【0044】
OCRサービス43はOCR機能を実行する。ファイル変換サービス44は画像変換に代表されるフォーマット変換機能を実行する。また、新規サービス45は何らかの機能を実行する。OCRサービス43、ファイル変換サービス44は処理サービス実行APIでアプリケーション30から受信した実行要求に基づいたサービス(連携処理に係る処理)をそれぞれ実行する。
【0045】
ネットワークインターフェース46はネットワークN1に接続するインターフェースである。ネットワークインターフェース46はデバイス制御サービス41、ケーパビリティ取得サービス42と、PC21、画像形成装置22、会議システム23、画像投影装置24、ICレコーダ25、新規デバイス27などの電子機器、モバイル端末26とのデータ通信を仲介する。新規デバイス27は新規の電子機器を追加して情報処理装置10に接続可能であることを表している。
【0046】
アプリ管理部47はアプリケーション30への新規アプリ34などの追加、搭載済みのスキャン送信アプリ31などの削除又は変更などを管理する。また、サービス管理部48はプラットフォーム40への新規サービス45などの追加、搭載済みのOCRサービス43などの削除又は変更などを管理する。
【0047】
記憶制御部49は一つ以上の電子機器のケーパビリティをそれぞれデバイスケーパビリティ記憶部50に記憶させる。さらに、記憶制御部49はケーパビリティ取得サービス42が電子機器から取得したケーパビリティをデバイスケーパビリティ記憶部50に記憶させる。また、記憶制御部49はケーパビリティ取得サービス42からのケーパビリティ取得要求に基づき、デバイスケーパビリティ記憶部50から取得したケーパリティをケーパビリティ取得サービス42に送信する。
【0048】
《デバイスケーパビリティ記憶部50》
デバイスケーパビリティ記憶部50は一つ以上の電子機器のケーパビリティを記憶制御部49の制御により記憶する。また、デバイスケーパビリティ記憶部50は記憶制御部49の制御により一つ以上の電子機器のケーパビリティを読み出して記憶制御部49に提供する。
【0049】
デバイスケーパビリティ記憶部50に記憶されているケーパビリティは例えば後述するように、電子機器の入力(インプット)、出力(アウトプット)又は処理(プロセス)の少なくとも1つの能力に関する情報である。
【0050】
<処理の詳細>
以下では、本実施形態に係る情報処理システム1の処理の詳細について説明する。
【0051】
《スキャン送信アプリ31の処理》
ここでは、スキャン送信アプリ31の処理の一例として、原稿をスキャンし、スキャンした画像データをOCR処理し、画像データ及びOCRデータをストレージサーバ60に記録するスキャン送信処理について説明する。なお、ストレージサーバ60は画像データ及びOCRデータを記録する記憶装置の一例である。画像データ及びOCRデータはストレージサーバ60に替えて、情報処理装置10のHDD108に記録してもよい。
【0052】
図4はOCR機能を備えるMFPを利用したスキャン送信処理の一例のシーケンス図である。ユーザはモバイル端末26を操作し、スキャン送信処理を選択する。ユーザによりスキャン送信処理が選択されると、モバイル端末26はステップS1において情報処理装置10のスキャン送信アプリ31に接続する。
【0053】
ステップS2において、モバイル端末26はスキャンする画像形成装置、送信先、OCR設定などの条件設定をスキャン送信アプリ31に指示する。ここではスキャンする画像形成装置としてMFP22A、送信先としてストレージサーバ60が条件設定として指示された例を説明する。
【0054】
ステップS3において、スキャン送信アプリ31は、MFP22Aのケーパビリティ取得要求を、ケーパビリティ取得APIを介してケーパビリティ取得サービス42に送信する。ステップS4において、ケーパビリティ取得サービス42はケーパビリティ取得APIを介して受信したケーパビリティ取得要求に応じて、MFP22Aにケーパビリティ取得要求を送信する。
【0055】
なお、
図1の情報処理システム1に示すように、ネットワークN2がファイアウォール20を介してネットワークN1に接続されている場合は、情報処理装置10からMFP22Aへ要求を送信できない。そこで、ネットワークN2がファイアウォール20を介してネットワークN1に接続されている場合、ネットワークN2に接続される画像形成装置22などの電子機器は情報処理装置10にポーリングを行い、情報処理装置10からの要求を受信できるようにしている。
【0056】
その他、ネットワークN2がファイアウォール20を介してネットワークN1に接続されている場合、ネットワークN2に接続される画像形成装置22などの電子機器と情報処理装置10とは、XMPP(Extensible Messaging and Presence Protocol)を使用することで通信を行うことができる。XMPPではHTTPでメッセージを送受信するためのBOSH(Bidirectional-streams Over Synchronous HTTP)という技術がある。BOSHを利用することにより、情報処理装置10は通常提供されないPush機能(電子機器から要求を受信するのではなく、情報処理装置10から電子機器に非同期に要求を送信する機能)を実現できる。
【0057】
このように、情報処理装置10からファイアウォール20を越えてネットワークN2に接続される電子機器に要求を送信できないという問題は、前述した既存の技術により解決できる。そこで、以下では情報処理装置10からMFP22Aなどの電子機器へ要求を送信できるものとして説明する。
【0058】
ステップS5において、ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、MFP22Aから受信する。ステップS6において、ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、ケーパビリティ取得要求元のスキャン送信アプリ31に送信する。このとき、ケーパビリティ取得サービス42はステップS5で受信したMFP22Aのケーパビリティの記憶を記憶制御部49に指示し、MFP22Aのケーパビリティをデバイスケーパビリティ記憶部50に記憶させておくこともできる。このように取得したMFP22Aのケーパビリティをデバイスケーパビリティ記憶部50に記憶させておくことで、ステップS6においてケーパビリティの送信に失敗した場合や、スキャン送信アプリ31からMFP22Aのケーパビリティの再送要求を受けた場合であっても、再度MFP22Aからケーパビリティを取得する必要がなくなる。
【0059】
ステップS7において、スキャン送信アプリ31は受信したMFP22AのケーパビリティからMFP22AがOCR機能を備えていると判定する。スキャン送信アプリ31はMFP22Aに原稿のスキャン、スキャンした画像データのOCR処理、画像データ及びOCRデータのストレージサーバ60への送信処理を行わせる実行要求を生成する。ステップS8において、スキャン送信アプリ31はステップS7で生成した実行要求を、実行制御APIを介してデバイス制御サービス41に送信する。
【0060】
ステップS9において、デバイス制御サービス41は実行制御APIを介して受信した実行要求に基づいて、原稿のスキャン、スキャンした画像データのOCR処理、画像データ及びOCRデータのストレージサーバ60への送信処理をMFP22Aに実行指示する。MFP22Aは原稿のスキャン、スキャンした画像データのOCR処理を実行する。ステップS10において、MFP22Aは画像データ及びOCRデータのストレージサーバ60への送信処理を実行する。ステップS11〜S13において、完了通知はMFP22Aからデバイス制御サービス41、スキャン送信アプリ31を介してモバイル端末26に送信される。
【0061】
図4のシーケンス図によれば、情報処理装置10はMFP22Aから取得したケーパビリティに基づき、MFP22AがOCR機能を備えていると判定できるため、MFP22Aに原稿のスキャン、スキャンした画像データのOCR処理、画像データ及びOCRデータのストレージサーバ60への送信処理を実行させることができる。
【0062】
図5はOCR機能を備えないMFPを利用したスキャン送信処理の一例のシーケンス図である。なお、
図5は一部を除き、
図4のシーケンス図と同様であるため、適宜説明を省略する。
【0063】
モバイル端末26上でユーザによりスキャン送信処理が選択されると、モバイル端末26はステップS21においてスキャン送信アプリ31に接続する。モバイル端末26はステップS22において、スキャンするMFP22B、送信先のストレージサーバ60、OCR設定などの条件設定をスキャン送信アプリ31に指示する。ステップS23〜S26において、スキャン送信アプリ31はMFP22Bのケーパビリティを受信する。なお、ステップS23〜S26の処理は
図4のステップS3〜S6の処理に対応する。
【0064】
ステップS27において、スキャン送信アプリ31は受信したMFP22BのケーパビリティからMFP22BがOCR機能を備えていないと判定する。スキャン送信アプリ31は、MFP22Aに原稿のスキャン、スキャンした画像データのデバイス制御サービス41への送信処理を行わせ、OCRサービス43にスキャンした画像データのOCR処理を行わせ、プラットフォーム40に画像データ及びOCRデータのストレージサーバ60への送信処理を行わせる実行要求を生成する。ステップS28において、スキャン送信アプリ31はステップS27で生成した実行要求を、実行制御APIを介してデバイス制御サービス41に送信する。
【0065】
ステップS29において、デバイス制御サービス41は実行制御APIを介してスキャン送信アプリ31から受信した実行要求に基づいて、原稿のスキャン、スキャンした画像データのデバイス制御サービス41への送信処理をMFP22Bに実行指示する。MFP22Bはデバイス制御サービス41からの実行指示に基づき、原稿をスキャンする。ステップS30において、MFP22Bはスキャンした画像データをデバイス制御サービス41へ送信する。
【0066】
ステップS31において、デバイス制御サービス41はスキャンした画像データのOCR処理をOCRサービス43に実行指示する。OCRサービス43はデバイス制御サービス41からの実行指示に基づき、スキャンした画像データのOCR処理を実行する。ステップS32において、OCRサービス43はOCR処理したOCRデータをデバイス制御サービス41へ送信する。ステップS33において、デバイス制御サービス41は実行制御APIを介してスキャン送信アプリ31から受信した実行要求に基づいて、画像データ及びOCRデータのストレージサーバ60への送信処理を実行する。ステップS34〜S35において、完了通知はデバイス制御サービス41からスキャン送信アプリ31を介してモバイル端末26に送信される。
【0067】
図5のシーケンス図によれば、スキャン送信アプリ31はMFP22Bから取得したケーパビリティに基づき、MFP22BがOCR機能を備えていないと判定できるため、MFP22Aに原稿のスキャン、スキャンした画像データのデバイス制御サービス41への送信処理を実行させ、プラットフォーム40のOCRサービス43にスキャンした画像データのOCR処理を実行させ、画像データ及びOCRデータのストレージサーバ60への送信処理をプラットフォーム40に実行させることができる。
【0068】
図6はMFPからケーパビリティを取得できないスキャン送信処理の一例のシーケンス図である。なお、
図6は一部を除き、
図4のシーケンス図と同様であるため、適宜説明を省略する。
【0069】
ステップS41〜S44の処理はステップS1〜S4の処理と同様であるため、説明を省略する。ステップS45において、ケーパビリティ取得サービス42はMFP22AのケーパビリティをMFP22Aから受信できない。つまり、ケーパビリティ取得サービス42はMFP22Aからのケーパビリティの取得に失敗する。
【0070】
MFP22Aからのケーパビリティの取得に失敗したため、ケーパビリティ取得サービス42はステップS46において、記憶制御部49にMFP22Aのケーパビリティ取得要求を送信する。記憶制御部49はデバイスケーパビリティ記憶部50からMFP22Aのケーパビリティを取得する。ステップS47において、ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、記憶制御部49から受信する。ステップS48において、ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、ケーパビリティ取得要求元のスキャン送信アプリ31に送信する。なお、ステップS49以降の処理は
図4のステップS7以降の処理と同様であるため、説明を省略する。
【0071】
図6のシーケンス図によれば、情報処理装置10はMFP22Aからのケーパビリティの取得に失敗しても、デバイスケーパビリティ記憶部50から取得したケーパビリティに基づき、MFP22AがOCR機能を備えていると判定できる。したがって、情報処理装置10はMFP22Aに原稿のスキャン、スキャンした画像データのOCR処理、画像データ及びOCRデータのストレージサーバ60への送信処理を実行させることができる。
【0072】
図7は、ケーパビリティの取得先を判断するスキャン送信処理の一例のシーケンス図である。なお、
図7は一部を除き、
図4のシーケンス図と同様であるため、適宜説明を省略する。
【0073】
ステップS61〜S66の処理はステップS1〜S6の処理と同様であるため、説明を省略する。ステップS67において、ケーパビリティ取得サービス42はステップS65で受信したMFP22Aのケーパビリティの記憶を記憶制御部49に指示する。記憶制御部49はMFP22Aのケーパビリティをデバイスケーパビリティ記憶部50に記憶させる。
【0074】
ステップS68〜S74の処理はステップS7〜S13の処理と同様であるため、説明を省略する。ステップS61〜S74の処理はモバイル端末26Aを起点としているが、ステップS75以降の処理はモバイル端末26Aと異なるモバイル端末26Bを起点とするものである。
【0075】
ステップS75において、情報処理装置10のスキャン送信アプリ31はモバイル端末26Bから接続される。ステップS76において、モバイル端末26BはスキャンするMFP22A、送信先のストレージサーバ60、OCR設定などの条件設定をスキャン送信アプリ31に指示する。
【0076】
ステップS77において、スキャン送信アプリ31は、MFP22Aのケーパビリティ取得要求を、ケーパビリティ取得APIを介してケーパビリティ取得サービス42に送信する。ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、MFP22Aから取得するか、記憶制御部49を介してデバイスケーパビリティ記憶部50から取得するか、を所定の条件に基づき判断する。
【0077】
例えばケーパビリティ取得サービス42は、MFP22Aのケーパビリティがデバイスケーパビリティ記憶部50に記憶されてからの経過時間が所定時間を超えていればMFP22Aから取得すると判断し、経過時間が所定時間を超えていなければデバイスケーパビリティ記憶部50から取得すると判断する。
【0078】
ここでは、ケーパビリティ取得サービス42がデバイスケーパビリティ記憶部50からMFP22Aのケーパビリティを取得すると判断したものとして説明する。ステップS78において、ケーパビリティ取得サービス42は記憶制御部49にMFP22Aのケーパビリティ取得要求を送信する。記憶制御部49はデバイスケーパビリティ記憶部50からMFP22Aのケーパビリティを取得する。
【0079】
ステップS79において、ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、記憶制御部49から受信する。ステップS80において、ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、ケーパビリティ取得要求元のスキャン送信アプリ31に送信する。なお、ステップS81以降の処理は
図4のステップS7以降の処理と同様であるため、説明を省略する。
【0080】
図7のシーケンス図によれば、情報処理装置10はMFP22Aのケーパビリティの取得先を、所定の条件に基づき、MFP22A又はデバイスケーパビリティ記憶部50から判断できる。例えば情報処理装置10はデバイスケーパビリティ記憶部50に比較的新しいMFP22Aのケーパビリティが記憶されていれば、MFP22Aからではなく、デバイスケーパビリティ記憶部50からMFP22Aのケーパビリティを取得することで、MFP22Aとのデータ通信を削減できる。
【0081】
以上、本実施形態の情報処理装置10によれば、ユーザはMFP22A、22BのOCR機能の有無を意識することなく、スキャン送信処理を利用できる。また、本実施例の情報処理装置10によれば、情報処理装置10に搭載されたアプリケーション30はケーパビリティ取得API及び実行制御APIを介して情報処理装置10が備えるプラットフォーム40を利用することにより、情報処理装置10に搭載されたアプリケーション30と、情報処理装置10が備えるプラットフォーム40と、情報処理装置10に接続される一つ以上の電子機器とを連携させてサービスを提供できる。
【0082】
《PULLプリントアプリ33の処理》
ここでは、PULLプリントアプリ33の処理の一例として、ストレージサーバ60からPDFファイルを取得し、取得したPDFファイルをMFP22Aに印刷させるPULLプリント処理について説明する。
【0083】
図8はPDF変換機能を備えるMFPを利用したPULLプリント処理の一例のシーケンス図である。ユーザはMFP22Aを操作し、PULLプリント処理を選択する。PULLプリント処理が選択されると、MFP22AはステップS101において情報処理装置10のPULLプリントアプリ33に接続する。ステップS102において、MFP22Aは印刷する文書データ(PDF)、印刷設定(例えば集約)などの条件設定をPULLプリントアプリ33に指示する。
【0084】
ステップS103において、PULLプリントアプリ33は、MFP22Aのケーパビリティ取得要求を、ケーパビリティ取得APIを介してケーパビリティ取得サービス42に送信する。ステップS104において、ケーパビリティ取得サービス42はケーパビリティ取得APIを介して受信したケーパビリティ取得要求に応じて、MFP22Aにケーパビリティ取得要求を送信する。
【0085】
ステップS105において、ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、MFP22Aから受信する。ステップS106において、ケーパビリティ取得サービス42はMFP22Aのケーパビリティを、ケーパビリティ取得要求元のPULLプリントアプリ33に送信する。
【0086】
ステップS107において、PULLプリントアプリ33はMFP22Aから指示された条件設定に基づき、印刷する文書データのPDFファイル取得要求をストレージサーバ60に送信する。ステップS108において、PULLプリントアプリ33はストレージサーバ60からPDFファイルを受信する。
【0087】
ステップS109において、PULLプリントアプリ33はMFP22AのケーパビリティからMFP22AがPDF変換機能を備えていると判定する。PULLプリントアプリ33はMFP22AにPDFファイルの印刷を行わせる実行要求を生成する。ステップS110において、PULLプリントアプリ33はステップS109で生成した実行要求を、実行制御APIを介してデバイス制御サービス41に送信する。
【0088】
ステップS111において、デバイス制御サービス41は実行制御APIを介して受信した実行要求に基づいて、PDFファイルの印刷をMFP22Aに実行指示する。MFP22AはPDFファイルを、印刷可能なデータに変換して印刷を実行する。ステップS112〜S113において、完了通知はMFP22Aからデバイス制御サービス41を介してPULLプリントアプリ33に送信される。
【0089】
図8のシーケンス図によれば、情報処理装置10はMFP22Aのケーパビリティに基づき、MFP22AがPDF変換機能を備えていると判定できるため、MFP22AにPDFファイルの印刷を実行させることができる。
【0090】
図9はPDF変換機能を備えないMFPを利用したPULLプリント処理の一例のシーケンス図である。なお、
図9は一部を除き、
図8のシーケンス図と同様であるため、適宜説明を省略する。
【0091】
MFP22B上でユーザによりPULLプリント処理が選択されると、MFP22BはステップS121においてPULLプリントアプリ33に接続する。ステップS122において、MFP22Bは印刷するPDFファイル、印刷設定などの条件設定をPULLプリントアプリ33に指示する。ステップS123〜S126において、PULLプリントアプリ33はMFP22Bのケーパビリティを受信する。また、ステップS127〜S128において、PULLプリントアプリ33はMFP22Bから指示された条件設定に基づき、ストレージサーバ60からPDFファイルを受信する。
【0092】
ステップS129において、PULLプリントアプリ33はMFP22BのケーパビリティからMFP22BがPDF変換機能を備えていないと判定する。PULLプリントアプリ33はファイル変換サービス44にPDFファイルからMFP22Bで印刷可能なデータ(例えばPDLデータ)への変換処理を行わせ、MFP22Bに変換処理したデータの印刷を行わせる実行要求を生成する。ステップS130において、PULLプリントアプリ33はステップS129で生成した実行要求を、実行制御APIを介してデバイス制御サービス41に送信する。
【0093】
ステップS131において、デバイス制御サービス41はPDFファイルからPDLデータへの変換処理をファイル変換サービス44に実行指示する。ファイル変換サービス44はデバイス制御サービス41からの実行指示に基づき、PDFファイルからPDLデータへの変換処理を実行する。ステップS132において、ファイル変換サービス44は変換処理したPDLデータをデバイス制御サービス41に送信する。
【0094】
ステップS133において、デバイス制御サービス41は実行制御APIを介してPULLプリントアプリ33から受信した実行要求に基づいて、PDLデータの印刷をMFP22Bに実行指示する。MFP22BはPDLデータの印刷を実行する。ステップS134〜S135において、完了通知はMFP22Bからデバイス制御サービス41を介してPULLプリントアプリ33に送信される。
【0095】
図9のシーケンス図によれば、情報処理装置10はMFP22Bのケーパビリティに基づき、MFP22BがPDF変換機能を備えていないと判定できるため、プラットフォーム40のファイル変換サービス44にPDFファイルからPDLデータへの変換処理を実行させ、MFP22BにPDLデータの印刷を実行させることができる。
【0096】
以上、本実施形態の情報処理装置10によれば、ユーザはMFP22A、BのPDF変換機能の有無を意識することなく、PULLプリント処理を利用できる。また、本実施例の情報処理装置10によれば、情報処理装置10に搭載されたアプリケーション30はケーパビリティ取得API及び実行制御APIを介して情報処理装置10が備えるプラットフォーム40と、情報処理装置10に接続される一つ以上の電子機器と連携してサービスを提供できる。
【0097】
《プロジェクタ投影アプリ32の処理》
ここでは、プロジェクタ投影アプリ32の処理の一例として、モバイル端末26から投影用ファイルを受信し、受信した投影用ファイルをプロジェクタ24Aに投影させるプロジェクタ投影処理について説明する。
【0098】
図10はモバイル端末から受信した投影用ファイルを投影できるプロジェクタを利用したプロジェクタ投影処理の一例のシーケンス図である。ユーザはモバイル端末26を操作して、プロジェクタ投影処理を選択する。例えばモバイル端末26にアプリケーションが搭載されている場合、モバイル端末26はユーザに投影する画像投影装置24と、投影する投影用ファイルとを選択させる。モバイル端末26は例えば情報処理装置10に接続されている画像投影装置24の一覧を取得しているものとする。
【0099】
ステップS141において、モバイル端末26は情報処理装置10のプロジェクタ投影アプリ32に接続する。ステップS142において、モバイル端末26は投影する画像投影装置24、投影用ファイルなどの条件設定をプロジェクタ投影アプリ32に指示する。ここでは投影する画像投影装置24としてプロジェクタ24A、投影用ファイルの一例として、プレゼンテーション資料作成アプリケーションで作成されたプレゼンテーションファイルが条件設定として指示された例を説明する。ステップS143において、プロジェクタ投影アプリ32は、プロジェクタ24Aのケーパビリティ取得要求を、ケーパビリティ取得APIを介してケーパビリティ取得サービス42に送信する。
【0100】
ステップS144において、ケーパビリティ取得サービス42はケーパビリティ取得APIを介して受信したケーパビリティ取得要求に応じて、プロジェクタ24Aにケーパビリティ取得要求を送信する。ステップS145において、ケーパビリティ取得サービス42はプロジェクタ24Aのケーパビリティを、プロジェクタ24Aから受信する。ケーパビリティ取得サービス42はステップS146において、プロジェクタ24Aのケーパビリティを、ケーパビリティ取得要求元のプロジェクタ投影アプリ32に送信する。
【0101】
ステップS147において、プロジェクタ投影アプリ32は受信したプロジェクタ24Aのケーパビリティからプロジェクタ24Aが画像フォーマット(画像ファイル種別)プレゼンテーションファイルを投影できると判定する。プロジェクタ投影アプリ32はプレゼンテーションファイルの投影をプロジェクタ24Aに行わせる実行要求を生成する。ステップS148において、プロジェクタ投影アプリ32はステップS147で生成した実行要求を、実行制御APIを介してデバイス制御サービス41に送信する。
【0102】
ステップS149において、デバイス制御サービス41は実行制御APIを介して受信した実行要求に基づいて、プレゼンテーションファイルの投影処理をプロジェクタ24Aに実行指示する。プロジェクタ24Aはプレゼンテーションファイルの投影処理を実行する。ステップS150〜S152において、完了通知はプロジェクタ24Aからデバイス制御サービス41、プロジェクタ投影アプリ32を介してモバイル端末26に送信される。
【0103】
図10のシーケンス図によれば、情報処理装置10はプロジェクタ24Aのケーパビリティに基づき、プロジェクタ24Aがプレゼンテーションファイルを投影できると判定できるため、プロジェクタ24Aにプレゼンテーションファイルの投影処理を実行させることができる。
【0104】
図11はモバイル端末から受信したプレゼンテーションファイルを投影できないプロジェクタを利用したプロジェクタ投影処理の一例のシーケンス図である。なお、
図11は一部を除き、
図10のシーケンス図と同様であるため、適宜説明を省略する。
【0105】
モバイル端末26上でユーザによりプロジェクタ投影処理、投影する画像投影装置24、投影する投影用ファイルが選択されると、モバイル端末26はステップS161においてプロジェクタ投影アプリ32に接続する。ステップS162において、モバイル端末26は投影するプロジェクタ24B、投影用ファイルとしてプレゼンテーションファイルなどの条件設定をプロジェクタ投影アプリ32に指示する。ステップS163〜S166において、プロジェクタ投影アプリ32はプロジェクタ24Aのケーパビリティを受信する。
【0106】
ステップS167において、プロジェクタ投影アプリ32は受信したプロジェクタ24Bのケーパビリティからプロジェクタ24Bがプレゼンテーションファイルを投影できず、画像フォーマットJPEGの投影用ファイル(以下、JPEGファイルと呼ぶ)を投影できると判定する。プロジェクタ投影アプリ32はファイル変換サービス44にプレゼンテーションファイルからJPEGファイルへの変換処理を行わせ、JPEGファイルの投影をプロジェクタ24Bに行わせる実行要求を生成する。
【0107】
ステップS168において、プロジェクタ投影アプリ32はステップS167で生成した実行要求を、実行制御APIを介してデバイス制御サービス41に送信する。ステップS169において、デバイス制御サービス41はプレゼンテーションファイルからJPEGファイルへの変換処理をファイル変換サービス44に実行指示する。ファイル変換サービス44はデバイス制御サービス41からの実行指示に基づき、プレゼンテーションファイルからJPEGファイルへの変換処理を実行する。ステップS170において、ファイル変換サービス44は変換処理したJPEGファイルをデバイス制御サービス41に送信する。
【0108】
ステップS171において、デバイス制御サービス41は実行制御APIを介して受信した実行要求に基づいて、JPEGファイルの投影処理をプロジェクタ24Bに実行指示する。プロジェクタ24BはJPEGファイルの投影処理を実行する。ステップS172〜S174において、完了通知はプロジェクタ24Bからデバイス制御サービス41、プロジェクタ投影アプリ32を介してモバイル端末26に送信される。
【0109】
図11のシーケンス図によれば、情報処理装置10はプロジェクタ24Bのケーパビリティに基づき、プロジェクタ24Bがプレゼンテーションファイルを投影できず、JPEGファイルを投影できると判定できるため、プラットフォーム40のファイル変換サービス44にプレゼンテーションファイルからJPEGファイルへの変換処理を実行させ、プロジェクタ24BにJPEGファイルの投影処理を実行させることができる。
【0110】
図12はプロジェクタ投影アプリからファイル変換サービスを利用するプロジェクタ投影処理の一例のシーケンス図である。なお、
図12は一部を除き、
図11のシーケンス図と同様であるため、適宜説明を省略する。
【0111】
ステップS181〜S186の処理はステップS161〜S166の処理と同様であるため、説明を省略する。ステップS187において、プロジェクタ投影アプリ32は受信したプロジェクタ24Bのケーパビリティからプロジェクタ24Bがプレゼンテーションファイルを投影できず、JPEGファイルを投影できると判定する。
【0112】
ステップS188において、プロジェクタ投影アプリ32はプレゼンテーションファイルからJPEGファイルへの変換処理を、処理サービス実行APIを介してファイル変換サービス44に送信し、ファイル変換サービスにプレゼンテーションファイルからJPEGファイルへの変換処理を実行させる。ステップS189において、ファイル変換サービス44は変換処理したJPEGファイルをプロジェクタ投影アプリ32に送信する。
【0113】
プロジェクタ投影アプリ32はJPEGファイルの投影をプロジェクタ24Bに行わせる実行要求を生成する。ステップS190において、プロジェクタ投影アプリ32は生成した実行要求を、実行制御APIを介してデバイス制御サービス41に送信する。なお、ステップS191以降の処理は
図11のステップS171以降の処理と同様であるため、説明を省略する。
【0114】
図12のシーケンス図によれば、情報処理装置10はデバイス制御サービス41を介することなくプロジェクタ投影アプリ32からプラットフォーム40のファイル変換サービス44を利用して、プレゼンテーションファイルからJPEGファイルへの変換処理を実行できる。
【0115】
以上、本実施形態の情報処理装置10によれば、ユーザはプロジェクタ24A、24Bが投影可能な投影用ファイルの画像フォーマットを意識することなく、プロジェクタ投影処理を利用できる。また、本実施例の情報処理装置10によれば、情報処理装置10に搭載されたアプリケーション30は、ケーパビリティ取得API及び実行制御APIを介して情報処理装置10が備えるプラットフォーム40と、情報処理装置10に接続される一つ以上の電子機器と連携してサービスを提供できる。
【0116】
《API55の具体例》
図13はケーパビリティ取得APIの一例の説明図である。
図13に示すように、ケーパビリティ取得APIは所望の電子機器のケーパビリティをアプリケーション30が取得するために予め定義されたAPIである。
図13のケーパビリティ取得APIは引数として、取得する電子機器の識別子を示すdeviceIDと、ケーパビリティを示すcapabilityとを有している。
【0117】
図14は実行制御APIの一例の説明図である。
図14には3種類の実行制御APIを示している。
図14(A)は、スキャンを実行させる電子機器のケーパビリティを用いてアプリケーション30がスキャン送信処理の実行要求を行うために予め定義されたAPIである。
図14(A)の実行制御APIは引数として、スキャンを実行させる電子機器の識別子を示すdeviceIDと、スキャンした画像データの送信先を示すAddressと、OCRの実行場所を示すOcrOptionとを有している。
【0118】
図14(B)は印刷を実行させる電子機器のケーパビリティを用いてアプリケーション30がPULLプリント処理の実行要求を行うために予め定義されたAPIである。
図14(B)の実行制御APIは引数として、印刷を実行させる電子機器の識別子を示すdeviceIDと、画像変換のフォーマットを示すConvertFormatと、印刷させるファイルのファイル名を示すFileNameとを有している。
【0119】
図14(C)は投影を実行させる電子機器のケーパビリティを用いてアプリケーション30がプロジェクタ投影処理の実行要求を行うために予め定義されたAPIである。
図14(C)の実行制御APIは引数として、投影を実行させる電子機器の識別子を示すdeviceIDと、画像変換のフォーマットを示すConvertFormatと、投影させるファイルのファイル名を示すFileNameとを有している。
【0120】
図15は処理サービス実行APIの一例の説明図である。
図15に示すように、処理サービス実行APIはプラットフォーム40が提供するファイル変換サービス44の実行要求を、デバイス制御サービス41を介することなく、アプリケーション30から行うために予め定義されたAPIである。
図15の処理サービスAPIは引数として、画像変換のフォーマットを示すConvertFormatと、変換元のファイル名と、変換後のファイル名とを有している。
【0121】
《デバイスケーパビリティ》
図16はデバイスケーパビリティ記憶部50に記憶されるケーパビリティの雛型の一例を示す説明図である。
図16に示すように、デバイスケーパビリティ記憶部50に記憶されるケーパビリティは情報処理装置10に接続される電子機器(デバイス)ごとに、電子機器の入力(インプット)、出力(アウトプット)又は処理(プロセス)の能力に関する情報を有している。なお、デバイスケーパビリティ記憶部50に記憶されるケーパビリティは電子機器の入力(インプット)、出力(アウトプット)又は処理(プロセス)の少なくとも1つの能力に関する情報であってもよい。
【0122】
<まとめ>
以上、第1の実施形態に係る情報処理装置10によれば、情報処理装置10に搭載されるアプリケーションとさまざまな電子機器とがネットワークを介して連携する連携処理を実現でき、情報処理システム1全体としての利用価値を更に向上させることができる。また、第1の実施形態に係る情報処理装置10によれば、情報処理装置10に搭載されるアプリケーション30を効率よく開発でき、情報処理システム1全体としての生産性、利用価値を高めることができる。
【0123】
そして、第1の実施形態に係る情報処理装置10によれば、情報処理装置10に接続される新たな電子機器から取得したケーパビリティをアプリケーション30に提供することも可能となり、アプリケーション30と新たな電子機器とを連携させた連携処理の実現も可能となる。
[第2の実施形態]
ケーパビリティはケーパビリティ取得要求と非同期に、予めデバイスケーパビリティ記憶部50に登録しておくようにしてもよい。第2の実施形態の情報処理装置10Aは予めケーパビリティを記憶部50に記憶させておくものである。なお、第2の実施形態は一部を除いて第1の実施形態と同様であるため適宜説明を省略する。システム構成及びハードウェア構成は第1の実施形態と同様であるため説明を省略する。
【0124】
<ソフトウェア構成>
本実施形態に係る情報処理装置10Aは例えば
図17に示すような処理ブロックで実現される。
図17は本実施形態に係る情報処理装置の一例の処理ブロック図である。
図17の情報処理装置10Aは
図3の情報処理装置10にケーパビリティ登録部51を追加した構成である。
【0125】
図17のケーパビリティ登録部51はプラットフォーム40に追加されている。ケーパビリティ登録部51は電源オン時やデバイスドライバなどのインストール後に電子機器からケーパビリティを取得させ、デバイスケーパビリティ記憶部50に記憶させるようにしてもよい。また、ケーパビリティ登録部51はユーザから電子機器のケーパビリティの登録を後述のケーパビリティ情報登録画面から受け付けるようにしてもよい。
【0126】
<処理の詳細>
図18はケーパビリティを事前に登録しておく処理の一例のシーケンス図である。ここではプロジェクタ24Aがケーパビリティを事前に登録しておく処理を一例として説明するが、画像形成装置24などの電子機器であればよい。ステップS201においてプロジェクタ24Aは電源オン時やデバイスドライバなどのインストール後、情報処理装置10Aのケーパビリティ登録部51にケーパビリティの登録要求を行う。
【0127】
ステップS202において、ケーパビリティ登録部51はプロジェクタ24Aから取得したケーパビリティのデバイスケーパビリティ記憶部50への登録を記憶制御部49に指示する。記憶制御部49はプロジェクタ24Aのケーパビリティをデバイスケーパビリティ記憶部50に記憶させる。そして、ステップS203において、登録完了通知はケーパビリティ登録部51からプロジェクタ24Aに送信される。
【0128】
ステップS204〜S206の処理は
図10のステップS141〜S143と同様であるため、説明を省略する。ここでは、ケーパビリティ取得サービス42はプロジェクタ24Aのケーパビリティを、記憶制御部49を介してデバイスケーパビリティ記憶部50から取得すると判断したものとして説明を続ける。
【0129】
ステップS207において、ケーパビリティ取得サービス42は記憶制御部49にプロジェクタ24Aのケーパビリティ取得要求を送信する。記憶制御部49はデバイスケーパビリティ記憶部50からプロジェクタ24Aのケーパビリティを取得する。
【0130】
ステップS208において、ケーパビリティ取得サービス42はプロジェクタ24Aのケーパビリティを、記憶制御部49から受信する。ステップS209において、ケーパビリティ取得サービス42はプロジェクタ24Aのケーパビリティを、ケーパビリティ取得要求元のプロジェクタ投影アプリ32に送信する。なお、ステップS210以降の処理は
図10のステップS147以降の処理と同様であるため、説明を省略する。
【0131】
図18のシーケンス図によれば、情報処理装置10はプロジェクタ24Aのケーパビリティを事前に登録しておくことができる。
【0132】
また、ユーザはデバイスケーパビリティ記憶部50にケーパビリティが記憶されている電子機器を、例えば
図19のケーパビリティ情報管理画面200で確認できる。
図19はケーパビリティ情報管理画面の一例のイメージ図である。ユーザはケーパビリティ情報管理画面200の参照・編集ボタン201を押下(選択)することで、
図20に示すようなケーパビリティ情報画面210に遷移させることができる。また、ユーザはケーパビリティ情報管理画面200の新規登録ボタン202を押下することでも
図20に示すケーパビリティ情報画面210に遷移させることができる。
【0133】
図20はケーパビリティ情報画面の一例のイメージ図である。ケーパビリティ情報画面210はユーザから基本情報及び能力情報の登録、編集を受け付ける。ケーパビリティ情報画面210は能力情報の編集を、入力(インプット)の能力に関する情報を編集する為の欄211、処理(プロセス)の能力に関する情報を編集する為の欄212、出力(アウトプット)の能力に関する情報を編集する為の欄213を有する。
【0134】
ユーザはケーパビリティ情報画面210の完了ボタン214を押下することで、基本情報及び能力情報の登録、編集を完了させ、
図19のケーパビリティ情報管理画面200に遷移させることができる。また、ユーザはケーパビリティ情報画面210の機器削除ボタン215を押下することで、ケーパビリティ情報画面210に表示されている電子機器のケーパビリティを削除できる。
【0135】
なお、
図20のケーパビリティ情報画面210の能力情報の項目は例えば
図16に示したケーパビリティの雛型に基づいて選択することができる。
図19〜
図20に示した画面イメージは、情報処理装置10のUI生成部(図示せず)が例えば記憶制御部49を介してデバイスケーパビリティ記憶部50にアクセスすることで生成できる。
【0136】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【0137】
特許請求の範囲に記載した連携処理装置は情報処理装置10に相当する。連携処理システム1は情報処理システム1に相当する。インターフェースはAPI55に相当する。能力情報提供手段はケーパビリティ取得サービス42に相当する。実行制御手段はデバイス制御サービス41に相当する。電子機器の能力に関する情報はケーパビリティに相当する。
【0138】
記憶制御手段は記憶制御部49に相当する。処理手段はOCRサービス43などの処理サービスに相当する。アプリ管理手段はアプリ管理部47に相当する。サービス管理手段はサービス管理部48に相当する。能力情報登録手段はケーパビリティ登録部51に相当する。