(57)【特許請求の範囲】
【請求項１】
複数の電子機器と接続され、搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理装置であって、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段と、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段と、
前記連携処理装置に接続される前記複数の電子機器毎に、該電子機器の能力に関する情報をそれぞれ記憶装置に記憶させる記憶制御手段と、
を備え、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できたとき、取得した電子機器の能力に関する情報を要求元のアプリケーションに提供し、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できなかったとき、前記記憶装置に記憶された電子機器の能力に関する情報のうち前記取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供することを特徴とする連携処理装置。
【請求項２】
複数の電子機器と接続され、搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理装置であって、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段と、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段と、
前記能力情報提供手段が取得した電子機器の能力に関する情報を記憶装置に記憶させる記憶制御手段と、
を備え、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を、該電子機器から取得するか前記記憶装置から取得するかを判断し、前記電子機器から取得すると判断したときには前記電子機器の能力に関する情報を該電子機器から取得して要求元のアプリケーションに提供し、前記記憶装置から取得すると判断したときには前記電子機器の能力に関する情報を前記記憶装置から取得して要求元のアプリケーションに提供することを特徴とする連携処理装置。
【請求項３】
前記能力情報提供手段は、前記取得要求を前記予め定義されたインターフェースに含まれる第１のインターフェースを介して受信し、
前記実行制御手段は、前記実行要求を前記予め定義されたインターフェースに含まれる第２のインターフェースを介して受信すること
を特徴とする請求項１又は２に記載の連携処理装置。
【請求項４】
前記連携処理装置は、前記連携処理に係る所定の処理を実行する１以上の処理手段を更に備え、
前記実行制御手段は、前記実行要求に係る所定の処理を前記アプリケーションが前記連携処理装置で実行すると判断したときには、前記実行要求に係る所定の処理を前記連携処理装置に備えられた前記１以上の処理手段を用いて実行させること
を特徴とする請求項１乃至３のいずれか１項に記載の連携処理装置。
【請求項５】
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理に係る所定の処理を実行させる処理要求を前記予め定義されたインターフェースを介して受け付け、受け付けた処理要求に基づいた処理を実行する１以上の処理手段
を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の連携処理装置。
【請求項６】
前記処理手段は、実行した前記処理要求に基づいた処理の実行結果を要求元のアプリケーションに提供すること
を特徴とする請求項５に記載の連携処理装置。
【請求項７】
前記処理手段は、前記処理要求を前記予め定義されたインターフェースに含まれる第３のインターフェースを介して受信すること
を特徴とする請求項５又は６に記載の連携処理装置。
【請求項８】
前記連携処理装置は複数のアプリケーションを搭載可能であり、
前記能力情報提供手段は、前記連携処理装置に搭載される前記複数のアプリケーションそれぞれから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け可能であること
を特徴とする請求項１乃至７のいずれか１項に記載の連携処理装置。
【請求項９】
前記複数のアプリケーションをアプリケーション毎に追加、削除又は変更可能とするアプリ管理手段を更に備えること
を特徴とする請求項１乃至８のいずれか１項に記載の連携処理装置。
【請求項１０】
前記１以上の処理手段を、処理手段毎に追加、削除又は変更可能とするサービス管理手段を更に備えること
を特徴とする請求項４乃至７のいずれか１項に記載の連携処理装置。
【請求項１１】
前記電子機器の能力に関する情報は、前記電子機器の入力、出力又は処理の少なくとも１つの能力に関する情報であること
を特徴とする請求項１乃至１０のいずれか１項に記載の連携処理装置。
【請求項１２】
前記搭載されるアプリケーションは、ＳＤＫ（ソフトウェア開発キット）を用いて開発された、前記予め定義されたインターフェースを使用するアプリケーションであること
を特徴とする請求項１乃至１１のいずれか１項に記載の連携処理装置。
【請求項１３】
前記連携処理装置は、複数の装置から構成されること
を特徴とする請求項１乃至１２のいずれか１項に記載の連携処理装置。
【請求項１４】
前記連携処理装置に接続された前記電子機器の能力に関する情報の登録要求を受け付ける能力情報登録手段を更に有し、
前記能力情報登録手段は、受け付けた登録要求に応じた前記電子機器の能力に関する情報の前記記憶装置への記憶を前記記憶制御手段に行わせること
を特徴とする請求項１乃至１３のいずれか１項に記載の連携処理装置。
【請求項１５】
前記能力情報登録手段は、前記連携処理装置に接続された前記電子機器から前記電子機器の能力に関する情報の登録要求を受け付けること
を特徴とする請求項１４に記載の連携処理装置。
【請求項１６】
複数の電子機器と連携処理装置とが接続され、該連携処理装置に搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記連携処理装置に搭載される前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理システムであって、
前記連携処理装置は、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段と、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段と、
前記連携処理装置に接続される前記複数の電子機器毎に、該電子機器の能力に関する情報をそれぞれ記憶装置に記憶させる記憶制御手段と、
を備え、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できたとき、取得した電子機器の能力に関する情報を要求元のアプリケーションに提供し、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できなかったとき、前記記憶装置に記憶された電子機器の能力に関する情報のうち前記取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供することを特徴とし、
前記複数の電子機器は、
前記連携処理装置の前記実行制御手段の制御に基づいた処理を実行する実行手段
を備えること
を特徴とする連携処理システム。
【請求項１７】
複数の電子機器と連携処理装置とが接続され、該連携処理装置に搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記連携処理装置に搭載される前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理システムであって、
前記連携処理装置は、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段と、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段と、
前記能力情報提供手段が取得した電子機器の能力に関する情報を記憶装置に記憶させる記憶制御手段と、
を備え、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を、該電子機器から取得するか前記記憶装置から取得するかを判断し、前記電子機器から取得すると判断したときには前記電子機器の能力に関する情報を該電子機器から取得して要求元のアプリケーションに提供し、前記記憶装置から取得すると判断したときには前記電子機器の能力に関する情報を前記記憶装置から取得して要求元のアプリケーションに提供することを特徴とし、
前記複数の電子機器は、
前記連携処理装置の前記実行制御手段の制御に基づいた処理を実行する実行手段
を備えること
を特徴とする連携処理システム。
【請求項１８】
前記連携処理装置の前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報の要求を電子機器に送信し、該要求に基づいて該電子機器から送信される能力に関する情報を要求元のアプリケーションに提供し、
前記複数の電子機器は、
前記能力情報提供手段からの前記要求を受信し、該要求に基づいて自機器の能力に関する情報を前記連携処理装置に送信すること
を特徴とする請求項１６又は１７に記載の連携処理システム。
【請求項１９】
複数の電子機器と接続され、搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理装置を、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段
前記連携処理装置に接続される前記複数の電子機器毎に、該電子機器の能力に関する情報をそれぞれ記憶装置に記憶させる記憶制御手段
として機能させ、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できたとき、取得した電子機器の能力に関する情報を要求元のアプリケーションに提供し、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できなかったとき、前記記憶装置に記憶された電子機器の能力に関する情報のうち前記取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供することを特徴とするプログラム。
【請求項２０】
複数の電子機器と接続され、搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理装置を、
前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段、
前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段、
前記能力情報提供手段が取得した電子機器の能力に関する情報を記憶装置に記憶させる記憶制御手段
として機能させ、
前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を、該電子機器から取得するか前記記憶装置から取得するかを判断し、前記電子機器から取得すると判断したときには前記電子機器の能力に関する情報を該電子機器から取得して要求元のアプリケーションに提供し、前記記憶装置から取得すると判断したときには前記電子機器の能力に関する情報を前記記憶装置から取得して要求元のアプリケーションに提供することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連携処理装置、連携処理システム及びプログラムに関する。
【背景技術】
【０００２】
近年、ホストコンピュータなどの情報処理装置においてアプリケーションプログラムを実行することなく、インターネットなどのネットワーク上で提供されているソフトウェアを利用する形態が普及しつつある。このようなネットワーク上のソフトウェアを利用する技術としては、所謂クラウドコンピューティングが知られている。
【０００３】
従来、クラウドコンピューティングを用いたプリントシステムがあった（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クラウドコンピューティングシステムに代表されるＷｅｂアプリケーションやサーバ側のアプリケーションを利用する形態（システム）では、システムに接続される電子機器とＷｅｂアプリケーションやサーバ側のアプリケーションとが連携することにより更なる利用価値の向上が期待される。
【０００５】
しかしながら、クラウドコンピューティングシステムに代表されるシステムでは、システムに接続される電子機器とＷｅｂアプリケーションやサーバ側のアプリケーションとを連携させる仕組みがなかった。
【０００６】
本発明の実施の形態は、上記の点に鑑みなされたもので、接続される電子機器と搭載されるアプリケーションとを連携させた連携処理を行う連携処理装置、連携処理システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本願請求項１は、複数の電子機器と接続され、搭載されるアプリケーションからの要求を予め定義されたインターフェースを介して受け付け、受け付けた要求に基づいて前記電子機器を制御することにより前記アプリケーションと前記電子機器とを連携させた連携処理を実行する連携処理装置であって、前記連携処理装置に搭載される前記アプリケーションから、前記連携処理装置に接続された前記電子機器の能力に関する情報の取得要求を前記予め定義されたインターフェースを介して受け付け、受け付けた取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供する能力情報提供手段と、前記能力情報提供手段により能力に関する情報が提供されたアプリケーションから、該能力に関する情報に基づいた実行要求を前記予め定義されたインターフェースを介して受け付け、受け付けた実行要求に基づいて前記電子機器を制御する実行制御手段と、前記連携処理装置に接続される前記複数の電子機器毎に、該電子機器の能力に関する情報をそれぞれ記憶装置に記憶させる記憶制御手段と、を備え、前記能力情報提供手段は、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できたとき、取得した電子機器の能力に関する情報を要求元のアプリケーションに提供し、前記取得要求に応じた電子機器の能力に関する情報を該電子機器から取得できなかったとき、前記記憶装置に記憶された電子機器の能力に関する情報のうち前記取得要求に応じた電子機器の能力に関する情報を要求元のアプリケーションに提供することを特徴とする。
【発明の効果】
【０００８】
本発明の実施の形態によれば、接続される電子機器と搭載されるアプリケーションとを連携させた連携処理を行う連携処理装置、連携処理システム及びプログラムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る情報処理システムの一例の構成図である。
【図２】本実施形態に係る情報処理装置の一例のハードウェア構成図である。
【図３】本実施形態に係る情報処理装置の一例の処理ブロック図である。
【図４】ＯＣＲ機能を備えるＭＦＰを利用したスキャン送信処理の一例のシーケンス図である。
【図５】ＯＣＲ機能を備えないＭＦＰを利用したスキャン送信処理の一例のシーケンス図である。
【図６】ＭＦＰからケーパビリティを取得できないスキャン送信処理の一例のシーケンス図である。
【図７】ケーパビリティの取得先を判断するスキャン送信処理の一例のシーケンス図である。
【図８】ＰＤＦ変換機能を備えるＭＦＰを利用したＰＵＬＬプリント処理の一例のシーケンス図である。
【図９】ＰＤＦ変換機能を備えないＭＦＰを利用したＰＵＬＬプリント処理の一例のシーケンス図である。
【図１０】モバイル端末から受信した投影用ファイルを投影できるプロジェクタを利用したプロジェクタ投影処理の一例のシーケンス図である。
【図１１】モバイル端末から受信した投影用ファイルを投影できないプロジェクタを利用したプロジェクタ投影処理の一例のシーケンス図である。
【図１２】プロジェクタ投影アプリからファイル変換サービスを利用するプロジェクタ投影処理の一例のシーケンス図である。
【図１３】ケーパビリティ取得ＡＰＩの一例の説明図である。
【図１４】実行制御ＡＰＩの一例の説明図である。
【図１５】処理サービス実行ＡＰＩの一例の説明図である。
【図１６】デバイスケーパビリティ記憶部５０に記憶されるケーパビリティの雛型の一例を示す説明図である。
【図１７】本実施形態に係る情報処理装置の一例の処理ブロック図である。
【図１８】ケーパビリティを事前に登録しておく処理の一例のシーケンス図である。
【図１９】ケーパビリティ情報管理画面の一例のイメージ図である。
【図２０】ケーパビリティ情報画面の一例のイメージ図である。
【発明を実施するための形態】
【００１０】
次に、本発明の実施の形態について、詳細に説明する。
［第１の実施形態］
＜システム構成＞
図１は本実施形態に係る情報処理システムの一例の構成図である。図１の情報処理システム１は情報処理装置１０及びモバイル端末２６が、インターネットなどのパブリック環境のネットワークＮ１に接続される構成を一例として示している。また、情報処理システム１はＰＣ２１、画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５が、ＬＡＮ（Local Area Network）などのプライベート環境のネットワークＮ２に接続される構成を一例として示している。なお、モバイル端末２６はネットワークＮ２に接続してもよい。
【００１１】
ネットワークＮ２は例えば顧客の企業内ネットワークに相当する。情報処理システム１はネットワークＮ２がファイアウォール（ＦＷ）２０を介してネットワークＮ１に接続される構成を一例として示している。クラウド環境はパブリック環境の一例である。
【００１２】
ネットワークＮ２に接続されるＰＣ２１、画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５は、情報処理装置１０に接続される電子機器の一例を示している。ＰＣ２１は情報処理端末の一例のパーソナルコンピュータである。画像形成装置２２は、印刷、読取、ファクシミリ（ＦＡＸ）などの機能のうち、一つ以上の機能を実現する複合機（ＭＦＰ）、プリンタ、スキャナなどである。
【００１３】
会議システム２３は、音声、映像などのコミュニケーション機能を提供し、離れた場所にいるユーザが行う会議を支援するものである。画像投影装置２４は、プロジェクタなどの画像を投影する機能を有する装置である。ＩＣレコーダ２５は、音声を電子的な信号に変換し、データとして保存する装置である。
【００１４】
情報処理装置１０は、搭載されるアプリケーションと、ＰＣ２１、画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５などの接続された電子機器とを連携させた連携処理を実行し、サービスを提供する。なお、情報処理装置１０は複数のコンピュータに分散して構成してもよい。また、情報処理装置１０はクラウド環境に配置してもよい。
【００１５】
モバイル端末２６は、情報処理装置１０が提供するサービスを利用するユーザが操作する端末装置の一例である。モバイル端末２６は、スマートフォンや携帯電話、タブレットＰＣ、ＰＤＡ（Personal Digital Assistance）など、何れの形態であってもよい。
【００１６】
ＰＣ２１、画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５などの電子機器、モバイル端末２６は情報処理装置１０にアクセス可能である。情報処理装置１０は画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５などの電子機器、モバイル端末２６からの要求（リクエスト）を受け付け、１つ以上の電子機器と連携した（１つ以上の電子機器を用いた）連携処理を実行して、サービスを提供できる。
【００１７】
＜ハードウェア構成＞
情報処理装置１０は例えば図２に示すハードウェア構成により実現される。図２は本実施形態に係る情報処理装置の一例のハードウェア構成図である。図２の情報処理装置１０は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ１０４、ＲＯＭ１０５、ＣＰＵ１０６、通信Ｉ／Ｆ１０７及びＨＤＤ１０８などを備え、それぞれがバスＢで相互に接続されている。
【００１８】
入力装置１０１はキーボードやマウスなどを含み、情報処理装置１０に各操作信号を入力するのに用いられる。表示装置１０２はディスプレイなどを含み、情報処理装置１０による処理結果を表示する。
【００１９】
通信Ｉ／Ｆ１０７は情報処理装置１０をネットワークＮ１に接続するインターフェースである。これにより、情報処理装置１０は通信Ｉ／Ｆ１０７を介して、ＰＣ２１、画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５などの電子機器、モバイル端末２６などとデータ通信を行うことができる。
【００２０】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、情報処理装置１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）、及びＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。また、ＨＤＤ１０８は格納しているプログラムやデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００２１】
外部Ｉ／Ｆ１０３は、外部装置とのインターフェースである。外部装置には、記録媒体１０３ａなどがある。これにより、情報処理装置１０は外部Ｉ／Ｆ１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）、ＵＳＢメモリ（Universal Serial Bus memory）等がある。
【００２２】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、情報処理装置１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２３】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８などの記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、情報処理装置１０全体の制御や機能を実現する演算装置である。
【００２４】
本実施形態に係る情報処理装置１０は、上記ハードウェア構成により、後述するような各種処理を実現できる。
【００２５】
＜ソフトウェア構成＞
本実施形態に係る情報処理装置１０は例えば図３に示す処理ブロックで実現される。図３は本実施形態に係る情報処理装置の一例の処理ブロック図である。情報処理装置１０はプログラムを実行することで、アプリケーション３０、プラットフォーム４０、デバイスケーパビリティ記憶部５０及びＡＰＩ（Application Programming Interface）５５を実現している。
【００２６】
なお、図３に示す各ソフトウェア及び記憶部の分類形態は一例であり、本実施形態を実施するために、情報処理装置１０の各ソフトウェア及び記憶部が図３に示されるような階層で分類されていることは必須ではない。すなわち、電子機器がアプリケーション３０と連携可能であれば、情報処理装置１０におけるソフトウェア及び記憶部の階層関係などは特定のものに限定されない。
【００２７】
《アプリケーション３０》
アプリケーション３０は、スキャン送信アプリ３１、プロジェクタ投影アプリ３２、ＰＵＬＬプリントアプリ３３、新規アプリ３４を一例として有する。新規アプリ３４はアプリケーション３０に新規のアプリを追加可能であることを表している。アプリケーション３０は例えばＳａａＳ（Software as a Service）アプリケーションなどである。
【００２８】
なお、スキャン送信アプリ３１、プロジェクタ投影アプリ３２、ＰＵＬＬプリントアプリ３３、新規アプリ３４は、ＰＣ２１、画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５などの一つ以上の電子機器と連携するアプリケーションの一例である。
【００２９】
スキャン送信アプリ３１は、後述のスキャン送信サービスを提供するアプリケーションである。プロジェクタ投影アプリ３２は、後述のプロジェクタ投影サービスを提供するアプリケーションである。ＰＵＬＬプリントアプリ３３は、後述のＰＵＬＬプリントサービスを提供するアプリケーションである。新規アプリ３４は何らかのサービスを提供するアプリケーションである。
【００３０】
なお、これらのアプリケーションは、アプリケーション毎に追加、削除又は変更することができる。
【００３１】
《ＡＰＩ５５》
ＡＰＩ５５はスキャン送信アプリ３１、プロジェクタ投影アプリ３２、ＰＵＬＬプリントアプリ３３、新規アプリ３４などのアプリケーション３０が、プラットフォーム４０を利用するためのインターフェースである。ＡＰＩ５５は、アプリケーション３０からの要求をプラットフォーム４０が受信するために設けられた予め定義されたインターフェースであり、例えば関数やクラス等により構成される。
【００３２】
ＡＰＩ５５には例えばケーパビリティ取得ＡＰＩ、実行制御ＡＰＩ、処理サービス実行ＡＰＩが含まれる。
【００３３】
ケーパビリティ取得ＡＰＩは、例えば電子機器の能力に関する情報（ケーパビリティ）の取得要求をアプリケーション３０から受信する予め定義されたインターフェースである。ここで、ケーパビリティ取得ＡＰＩは、１つのＡＰＩであっても複数のＡＰＩ群であってもよい。複数のＡＰＩ群とする場合、例えば、１台の電子機器の能力に関する情報の取得要求を受信するＡＰＩと、複数台の電子機器の能力に関する情報を一度に取得する取得要求を受信するＡＰＩとを、それぞれ異なるＡＰＩとして定義することが考えられる。
【００３４】
実行制御ＡＰＩは、例えば電子機器の能力に関する情報に基づいてアプリケーション３０が生成した所定の処理の実行要求を受信する予め定義されたインターフェースである。ここで、実行制御ＡＰＩは、１つのＡＰＩであっても複数のＡＰＩ群であってもよい。複数のＡＰＩ群とする場合、例えば、スキャン、印刷、投影といった処理毎にそれぞれ異なるＡＰＩとして定義することが考えられる。
【００３５】
処理サービス実行ＡＰＩは、例えばプラットフォーム４０が提供するＯＣＲサービス４３やファイル変換サービス４４などのサービスに実行させる処理の実行要求を、アプリケーション３０から受信する予め定義されたインターフェースである。ここで、処理サービス実行ＡＰＩは、１つのＡＰＩであっても複数のＡＰＩ群であってもよい。複数のＡＰＩ群とする場合、例えば、ＯＣＲサービス４３やファイルサービス４４といったサービス毎に、処理の実行要求を受信するＡＰＩを異なるＡＰＩとして定義することが考えられる。
【００３６】
なお、情報処理装置１０を複数のコンピュータに分散して構成する場合、ＡＰＩ５５にはネットワーク経由で利用可能な例えばＷｅｂ  ＡＰＩを利用できる。ＡＰＩ５５の具体例は後述する。
【００３７】
また、情報処理装置１０のＡＰＩ５５をＳＤＫ（ソフトウェア開発キット）としてアプリケーション３０の開発者に提供できる。そして、アプリケーション３０の開発者は、そのＳＤＫを使用してアプリケーション３０を開発できる。さらに、このＳＤＫを情報処理装置１０の提供者以外のサードベンダにも提供できる。サードベンダは、提供されたＳＤＫを使用してアプリケーション３０を開発できる。そして、ＳＤＫを使用して開発されたアプリケーションは、新規アプリ３４として情報処理装置１０に搭載することができる。このように、情報処理装置１０のＡＰＩ５５をＳＤＫとして提供することにより、情報処理装置１０の提供者が開発したアプリケーションだけでなく、サードベンダが開発したアプリケーションを情報処理装置１０に搭載できるようになる。
【００３８】
《プラットフォーム４０》
プラットフォーム４０は、デバイス制御サービス４１、ケーパビリティ取得サービス４２、ＯＣＲサービス４３、ファイル変換サービス４４、新規サービス４５、ネットワークインターフェース４６、アプリ管理部４７、サービス管理部４８、記憶制御部４９を一例として有する。新規サービス４５はプラットフォーム４０に新規のサービスを追加可能であることを表している。
【００３９】
デバイス制御サービス４１は実行制御ＡＰＩでアプリケーション３０から受信した実行要求に基づいた所定の処理を、ＰＣ２１、画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５などの一つ以上の電子機器と連携して実行する。また、デバイス制御サービス４１は実行要求に基づいた所定の処理の一部をプラットフォーム４０で実行するか判定する。実行要求に基づいた所定の処理の一部をプラットフォーム４０で実行すると判定すると、デバイス制御サービス４１は実行要求に基づいた所定の処理を、ＯＣＲサービス４３、ファイル変換サービス４４などの処理サービスと、一つ以上の電子機器とを連携させて実行する。
【００４０】
ケーパビリティ取得サービス４２はケーパビリティ取得ＡＰＩでアプリケーション３０から受信したケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求元のアプリケーション３０に送信する。また、ケーパビリティ取得サービス４２はケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求に応じた電子機器から取得する。
【００４１】
なお、ケーパビリティ取得サービス４２は、ケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求に応じた電子機器から取得できなければ後述の記憶制御部４９を介してデバイスケーパビリティ記憶部５０から取得する。
【００４２】
その他、ケーパビリティ取得サービス４２は、ケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求に応じた電子機器から取得するか、記憶制御部４９を介してデバイスケーパビリティ記憶部５０から取得するかを所定の条件に基づき判断してもよい。所定の条件に基づく判断としては、デバイスケーパビリティ記憶部５０にケーパビリティが記憶されてからの経過時間が所定時間（所定日数）を超えていれば電子機器から取得するなどが考えられる。
【００４３】
また、ケーパビリティ取得サービス４２はケーパビリティ取得要求に応じた電子機器のケーパビリティを、ケーパビリティ取得要求に応じた電子機器から取得するか、記憶制御部４９を介してデバイスケーパビリティ記憶部５０から取得するか、を予め設定しておくことなども考えられる。
【００４４】
ＯＣＲサービス４３はＯＣＲ機能を実行する。ファイル変換サービス４４は画像変換に代表されるフォーマット変換機能を実行する。また、新規サービス４５は何らかの機能を実行する。ＯＣＲサービス４３、ファイル変換サービス４４は処理サービス実行ＡＰＩでアプリケーション３０から受信した実行要求に基づいたサービス（連携処理に係る処理）をそれぞれ実行する。
【００４５】
ネットワークインターフェース４６はネットワークＮ１に接続するインターフェースである。ネットワークインターフェース４６はデバイス制御サービス４１、ケーパビリティ取得サービス４２と、ＰＣ２１、画像形成装置２２、会議システム２３、画像投影装置２４、ＩＣレコーダ２５、新規デバイス２７などの電子機器、モバイル端末２６とのデータ通信を仲介する。新規デバイス２７は新規の電子機器を追加して情報処理装置１０に接続可能であることを表している。
【００４６】
アプリ管理部４７はアプリケーション３０への新規アプリ３４などの追加、搭載済みのスキャン送信アプリ３１などの削除又は変更などを管理する。また、サービス管理部４８はプラットフォーム４０への新規サービス４５などの追加、搭載済みのＯＣＲサービス４３などの削除又は変更などを管理する。
【００４７】
記憶制御部４９は一つ以上の電子機器のケーパビリティをそれぞれデバイスケーパビリティ記憶部５０に記憶させる。さらに、記憶制御部４９はケーパビリティ取得サービス４２が電子機器から取得したケーパビリティをデバイスケーパビリティ記憶部５０に記憶させる。また、記憶制御部４９はケーパビリティ取得サービス４２からのケーパビリティ取得要求に基づき、デバイスケーパビリティ記憶部５０から取得したケーパリティをケーパビリティ取得サービス４２に送信する。
【００４８】
《デバイスケーパビリティ記憶部５０》
デバイスケーパビリティ記憶部５０は一つ以上の電子機器のケーパビリティを記憶制御部４９の制御により記憶する。また、デバイスケーパビリティ記憶部５０は記憶制御部４９の制御により一つ以上の電子機器のケーパビリティを読み出して記憶制御部４９に提供する。
【００４９】
デバイスケーパビリティ記憶部５０に記憶されているケーパビリティは例えば後述するように、電子機器の入力（インプット）、出力（アウトプット）又は処理（プロセス）の少なくとも１つの能力に関する情報である。
【００５０】
＜処理の詳細＞
以下では、本実施形態に係る情報処理システム１の処理の詳細について説明する。
【００５１】
《スキャン送信アプリ３１の処理》
ここでは、スキャン送信アプリ３１の処理の一例として、原稿をスキャンし、スキャンした画像データをＯＣＲ処理し、画像データ及びＯＣＲデータをストレージサーバ６０に記録するスキャン送信処理について説明する。なお、ストレージサーバ６０は画像データ及びＯＣＲデータを記録する記憶装置の一例である。画像データ及びＯＣＲデータはストレージサーバ６０に替えて、情報処理装置１０のＨＤＤ１０８に記録してもよい。
【００５２】
図４はＯＣＲ機能を備えるＭＦＰを利用したスキャン送信処理の一例のシーケンス図である。ユーザはモバイル端末２６を操作し、スキャン送信処理を選択する。ユーザによりスキャン送信処理が選択されると、モバイル端末２６はステップＳ１において情報処理装置１０のスキャン送信アプリ３１に接続する。
【００５３】
ステップＳ２において、モバイル端末２６はスキャンする画像形成装置、送信先、ＯＣＲ設定などの条件設定をスキャン送信アプリ３１に指示する。ここではスキャンする画像形成装置としてＭＦＰ２２Ａ、送信先としてストレージサーバ６０が条件設定として指示された例を説明する。
【００５４】
ステップＳ３において、スキャン送信アプリ３１は、ＭＦＰ２２Ａのケーパビリティ取得要求を、ケーパビリティ取得ＡＰＩを介してケーパビリティ取得サービス４２に送信する。ステップＳ４において、ケーパビリティ取得サービス４２はケーパビリティ取得ＡＰＩを介して受信したケーパビリティ取得要求に応じて、ＭＦＰ２２Ａにケーパビリティ取得要求を送信する。
【００５５】
なお、図１の情報処理システム１に示すように、ネットワークＮ２がファイアウォール２０を介してネットワークＮ１に接続されている場合は、情報処理装置１０からＭＦＰ２２Ａへ要求を送信できない。そこで、ネットワークＮ２がファイアウォール２０を介してネットワークＮ１に接続されている場合、ネットワークＮ２に接続される画像形成装置２２などの電子機器は情報処理装置１０にポーリングを行い、情報処理装置１０からの要求を受信できるようにしている。
【００５６】
その他、ネットワークＮ２がファイアウォール２０を介してネットワークＮ１に接続されている場合、ネットワークＮ２に接続される画像形成装置２２などの電子機器と情報処理装置１０とは、ＸＭＰＰ（Extensible Messaging and Presence Protocol）を使用することで通信を行うことができる。ＸＭＰＰではＨＴＴＰでメッセージを送受信するためのＢＯＳＨ（Bidirectional-streams Over Synchronous HTTP）という技術がある。ＢＯＳＨを利用することにより、情報処理装置１０は通常提供されないＰｕｓｈ機能（電子機器から要求を受信するのではなく、情報処理装置１０から電子機器に非同期に要求を送信する機能）を実現できる。
【００５７】
このように、情報処理装置１０からファイアウォール２０を越えてネットワークＮ２に接続される電子機器に要求を送信できないという問題は、前述した既存の技術により解決できる。そこで、以下では情報処理装置１０からＭＦＰ２２Ａなどの電子機器へ要求を送信できるものとして説明する。
【００５８】
ステップＳ５において、ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、ＭＦＰ２２Ａから受信する。ステップＳ６において、ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、ケーパビリティ取得要求元のスキャン送信アプリ３１に送信する。このとき、ケーパビリティ取得サービス４２はステップＳ５で受信したＭＦＰ２２Ａのケーパビリティの記憶を記憶制御部４９に指示し、ＭＦＰ２２Ａのケーパビリティをデバイスケーパビリティ記憶部５０に記憶させておくこともできる。このように取得したＭＦＰ２２Ａのケーパビリティをデバイスケーパビリティ記憶部５０に記憶させておくことで、ステップＳ６においてケーパビリティの送信に失敗した場合や、スキャン送信アプリ３１からＭＦＰ２２Ａのケーパビリティの再送要求を受けた場合であっても、再度ＭＦＰ２２Ａからケーパビリティを取得する必要がなくなる。
【００５９】
ステップＳ７において、スキャン送信アプリ３１は受信したＭＦＰ２２ＡのケーパビリティからＭＦＰ２２ＡがＯＣＲ機能を備えていると判定する。スキャン送信アプリ３１はＭＦＰ２２Ａに原稿のスキャン、スキャンした画像データのＯＣＲ処理、画像データ及びＯＣＲデータのストレージサーバ６０への送信処理を行わせる実行要求を生成する。ステップＳ８において、スキャン送信アプリ３１はステップＳ７で生成した実行要求を、実行制御ＡＰＩを介してデバイス制御サービス４１に送信する。
【００６０】
ステップＳ９において、デバイス制御サービス４１は実行制御ＡＰＩを介して受信した実行要求に基づいて、原稿のスキャン、スキャンした画像データのＯＣＲ処理、画像データ及びＯＣＲデータのストレージサーバ６０への送信処理をＭＦＰ２２Ａに実行指示する。ＭＦＰ２２Ａは原稿のスキャン、スキャンした画像データのＯＣＲ処理を実行する。ステップＳ１０において、ＭＦＰ２２Ａは画像データ及びＯＣＲデータのストレージサーバ６０への送信処理を実行する。ステップＳ１１〜Ｓ１３において、完了通知はＭＦＰ２２Ａからデバイス制御サービス４１、スキャン送信アプリ３１を介してモバイル端末２６に送信される。
【００６１】
図４のシーケンス図によれば、情報処理装置１０はＭＦＰ２２Ａから取得したケーパビリティに基づき、ＭＦＰ２２ＡがＯＣＲ機能を備えていると判定できるため、ＭＦＰ２２Ａに原稿のスキャン、スキャンした画像データのＯＣＲ処理、画像データ及びＯＣＲデータのストレージサーバ６０への送信処理を実行させることができる。
【００６２】
図５はＯＣＲ機能を備えないＭＦＰを利用したスキャン送信処理の一例のシーケンス図である。なお、図５は一部を除き、図４のシーケンス図と同様であるため、適宜説明を省略する。
【００６３】
モバイル端末２６上でユーザによりスキャン送信処理が選択されると、モバイル端末２６はステップＳ２１においてスキャン送信アプリ３１に接続する。モバイル端末２６はステップＳ２２において、スキャンするＭＦＰ２２Ｂ、送信先のストレージサーバ６０、ＯＣＲ設定などの条件設定をスキャン送信アプリ３１に指示する。ステップＳ２３〜Ｓ２６において、スキャン送信アプリ３１はＭＦＰ２２Ｂのケーパビリティを受信する。なお、ステップＳ２３〜Ｓ２６の処理は図４のステップＳ３〜Ｓ６の処理に対応する。
【００６４】
ステップＳ２７において、スキャン送信アプリ３１は受信したＭＦＰ２２ＢのケーパビリティからＭＦＰ２２ＢがＯＣＲ機能を備えていないと判定する。スキャン送信アプリ３１は、ＭＦＰ２２Ａに原稿のスキャン、スキャンした画像データのデバイス制御サービス４１への送信処理を行わせ、ＯＣＲサービス４３にスキャンした画像データのＯＣＲ処理を行わせ、プラットフォーム４０に画像データ及びＯＣＲデータのストレージサーバ６０への送信処理を行わせる実行要求を生成する。ステップＳ２８において、スキャン送信アプリ３１はステップＳ２７で生成した実行要求を、実行制御ＡＰＩを介してデバイス制御サービス４１に送信する。
【００６５】
ステップＳ２９において、デバイス制御サービス４１は実行制御ＡＰＩを介してスキャン送信アプリ３１から受信した実行要求に基づいて、原稿のスキャン、スキャンした画像データのデバイス制御サービス４１への送信処理をＭＦＰ２２Ｂに実行指示する。ＭＦＰ２２Ｂはデバイス制御サービス４１からの実行指示に基づき、原稿をスキャンする。ステップＳ３０において、ＭＦＰ２２Ｂはスキャンした画像データをデバイス制御サービス４１へ送信する。
【００６６】
ステップＳ３１において、デバイス制御サービス４１はスキャンした画像データのＯＣＲ処理をＯＣＲサービス４３に実行指示する。ＯＣＲサービス４３はデバイス制御サービス４１からの実行指示に基づき、スキャンした画像データのＯＣＲ処理を実行する。ステップＳ３２において、ＯＣＲサービス４３はＯＣＲ処理したＯＣＲデータをデバイス制御サービス４１へ送信する。ステップＳ３３において、デバイス制御サービス４１は実行制御ＡＰＩを介してスキャン送信アプリ３１から受信した実行要求に基づいて、画像データ及びＯＣＲデータのストレージサーバ６０への送信処理を実行する。ステップＳ３４〜Ｓ３５において、完了通知はデバイス制御サービス４１からスキャン送信アプリ３１を介してモバイル端末２６に送信される。
【００６７】
図５のシーケンス図によれば、スキャン送信アプリ３１はＭＦＰ２２Ｂから取得したケーパビリティに基づき、ＭＦＰ２２ＢがＯＣＲ機能を備えていないと判定できるため、ＭＦＰ２２Ａに原稿のスキャン、スキャンした画像データのデバイス制御サービス４１への送信処理を実行させ、プラットフォーム４０のＯＣＲサービス４３にスキャンした画像データのＯＣＲ処理を実行させ、画像データ及びＯＣＲデータのストレージサーバ６０への送信処理をプラットフォーム４０に実行させることができる。
【００６８】
図６はＭＦＰからケーパビリティを取得できないスキャン送信処理の一例のシーケンス図である。なお、図６は一部を除き、図４のシーケンス図と同様であるため、適宜説明を省略する。
【００６９】
ステップＳ４１〜Ｓ４４の処理はステップＳ１〜Ｓ４の処理と同様であるため、説明を省略する。ステップＳ４５において、ケーパビリティ取得サービス４２はＭＦＰ２２ＡのケーパビリティをＭＦＰ２２Ａから受信できない。つまり、ケーパビリティ取得サービス４２はＭＦＰ２２Ａからのケーパビリティの取得に失敗する。
【００７０】
ＭＦＰ２２Ａからのケーパビリティの取得に失敗したため、ケーパビリティ取得サービス４２はステップＳ４６において、記憶制御部４９にＭＦＰ２２Ａのケーパビリティ取得要求を送信する。記憶制御部４９はデバイスケーパビリティ記憶部５０からＭＦＰ２２Ａのケーパビリティを取得する。ステップＳ４７において、ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、記憶制御部４９から受信する。ステップＳ４８において、ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、ケーパビリティ取得要求元のスキャン送信アプリ３１に送信する。なお、ステップＳ４９以降の処理は図４のステップＳ７以降の処理と同様であるため、説明を省略する。
【００７１】
図６のシーケンス図によれば、情報処理装置１０はＭＦＰ２２Ａからのケーパビリティの取得に失敗しても、デバイスケーパビリティ記憶部５０から取得したケーパビリティに基づき、ＭＦＰ２２ＡがＯＣＲ機能を備えていると判定できる。したがって、情報処理装置１０はＭＦＰ２２Ａに原稿のスキャン、スキャンした画像データのＯＣＲ処理、画像データ及びＯＣＲデータのストレージサーバ６０への送信処理を実行させることができる。
【００７２】
図７は、ケーパビリティの取得先を判断するスキャン送信処理の一例のシーケンス図である。なお、図７は一部を除き、図４のシーケンス図と同様であるため、適宜説明を省略する。
【００７３】
ステップＳ６１〜Ｓ６６の処理はステップＳ１〜Ｓ６の処理と同様であるため、説明を省略する。ステップＳ６７において、ケーパビリティ取得サービス４２はステップＳ６５で受信したＭＦＰ２２Ａのケーパビリティの記憶を記憶制御部４９に指示する。記憶制御部４９はＭＦＰ２２Ａのケーパビリティをデバイスケーパビリティ記憶部５０に記憶させる。
【００７４】
ステップＳ６８〜Ｓ７４の処理はステップＳ７〜Ｓ１３の処理と同様であるため、説明を省略する。ステップＳ６１〜Ｓ７４の処理はモバイル端末２６Ａを起点としているが、ステップＳ７５以降の処理はモバイル端末２６Ａと異なるモバイル端末２６Ｂを起点とするものである。
【００７５】
ステップＳ７５において、情報処理装置１０のスキャン送信アプリ３１はモバイル端末２６Ｂから接続される。ステップＳ７６において、モバイル端末２６ＢはスキャンするＭＦＰ２２Ａ、送信先のストレージサーバ６０、ＯＣＲ設定などの条件設定をスキャン送信アプリ３１に指示する。
【００７６】
ステップＳ７７において、スキャン送信アプリ３１は、ＭＦＰ２２Ａのケーパビリティ取得要求を、ケーパビリティ取得ＡＰＩを介してケーパビリティ取得サービス４２に送信する。ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、ＭＦＰ２２Ａから取得するか、記憶制御部４９を介してデバイスケーパビリティ記憶部５０から取得するか、を所定の条件に基づき判断する。
【００７７】
例えばケーパビリティ取得サービス４２は、ＭＦＰ２２Ａのケーパビリティがデバイスケーパビリティ記憶部５０に記憶されてからの経過時間が所定時間を超えていればＭＦＰ２２Ａから取得すると判断し、経過時間が所定時間を超えていなければデバイスケーパビリティ記憶部５０から取得すると判断する。
【００７８】
ここでは、ケーパビリティ取得サービス４２がデバイスケーパビリティ記憶部５０からＭＦＰ２２Ａのケーパビリティを取得すると判断したものとして説明する。ステップＳ７８において、ケーパビリティ取得サービス４２は記憶制御部４９にＭＦＰ２２Ａのケーパビリティ取得要求を送信する。記憶制御部４９はデバイスケーパビリティ記憶部５０からＭＦＰ２２Ａのケーパビリティを取得する。
【００７９】
ステップＳ７９において、ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、記憶制御部４９から受信する。ステップＳ８０において、ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、ケーパビリティ取得要求元のスキャン送信アプリ３１に送信する。なお、ステップＳ８１以降の処理は図４のステップＳ７以降の処理と同様であるため、説明を省略する。
【００８０】
図７のシーケンス図によれば、情報処理装置１０はＭＦＰ２２Ａのケーパビリティの取得先を、所定の条件に基づき、ＭＦＰ２２Ａ又はデバイスケーパビリティ記憶部５０から判断できる。例えば情報処理装置１０はデバイスケーパビリティ記憶部５０に比較的新しいＭＦＰ２２Ａのケーパビリティが記憶されていれば、ＭＦＰ２２Ａからではなく、デバイスケーパビリティ記憶部５０からＭＦＰ２２Ａのケーパビリティを取得することで、ＭＦＰ２２Ａとのデータ通信を削減できる。
【００８１】
以上、本実施形態の情報処理装置１０によれば、ユーザはＭＦＰ２２Ａ、２２ＢのＯＣＲ機能の有無を意識することなく、スキャン送信処理を利用できる。また、本実施例の情報処理装置１０によれば、情報処理装置１０に搭載されたアプリケーション３０はケーパビリティ取得ＡＰＩ及び実行制御ＡＰＩを介して情報処理装置１０が備えるプラットフォーム４０を利用することにより、情報処理装置１０に搭載されたアプリケーション３０と、情報処理装置１０が備えるプラットフォーム４０と、情報処理装置１０に接続される一つ以上の電子機器とを連携させてサービスを提供できる。
【００８２】
《ＰＵＬＬプリントアプリ３３の処理》
ここでは、ＰＵＬＬプリントアプリ３３の処理の一例として、ストレージサーバ６０からＰＤＦファイルを取得し、取得したＰＤＦファイルをＭＦＰ２２Ａに印刷させるＰＵＬＬプリント処理について説明する。
【００８３】
図８はＰＤＦ変換機能を備えるＭＦＰを利用したＰＵＬＬプリント処理の一例のシーケンス図である。ユーザはＭＦＰ２２Ａを操作し、ＰＵＬＬプリント処理を選択する。ＰＵＬＬプリント処理が選択されると、ＭＦＰ２２ＡはステップＳ１０１において情報処理装置１０のＰＵＬＬプリントアプリ３３に接続する。ステップＳ１０２において、ＭＦＰ２２Ａは印刷する文書データ（ＰＤＦ）、印刷設定（例えば集約）などの条件設定をＰＵＬＬプリントアプリ３３に指示する。
【００８４】
ステップＳ１０３において、ＰＵＬＬプリントアプリ３３は、ＭＦＰ２２Ａのケーパビリティ取得要求を、ケーパビリティ取得ＡＰＩを介してケーパビリティ取得サービス４２に送信する。ステップＳ１０４において、ケーパビリティ取得サービス４２はケーパビリティ取得ＡＰＩを介して受信したケーパビリティ取得要求に応じて、ＭＦＰ２２Ａにケーパビリティ取得要求を送信する。
【００８５】
ステップＳ１０５において、ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、ＭＦＰ２２Ａから受信する。ステップＳ１０６において、ケーパビリティ取得サービス４２はＭＦＰ２２Ａのケーパビリティを、ケーパビリティ取得要求元のＰＵＬＬプリントアプリ３３に送信する。
【００８６】
ステップＳ１０７において、ＰＵＬＬプリントアプリ３３はＭＦＰ２２Ａから指示された条件設定に基づき、印刷する文書データのＰＤＦファイル取得要求をストレージサーバ６０に送信する。ステップＳ１０８において、ＰＵＬＬプリントアプリ３３はストレージサーバ６０からＰＤＦファイルを受信する。
【００８７】
ステップＳ１０９において、ＰＵＬＬプリントアプリ３３はＭＦＰ２２ＡのケーパビリティからＭＦＰ２２ＡがＰＤＦ変換機能を備えていると判定する。ＰＵＬＬプリントアプリ３３はＭＦＰ２２ＡにＰＤＦファイルの印刷を行わせる実行要求を生成する。ステップＳ１１０において、ＰＵＬＬプリントアプリ３３はステップＳ１０９で生成した実行要求を、実行制御ＡＰＩを介してデバイス制御サービス４１に送信する。
【００８８】
ステップＳ１１１において、デバイス制御サービス４１は実行制御ＡＰＩを介して受信した実行要求に基づいて、ＰＤＦファイルの印刷をＭＦＰ２２Ａに実行指示する。ＭＦＰ２２ＡはＰＤＦファイルを、印刷可能なデータに変換して印刷を実行する。ステップＳ１１２〜Ｓ１１３において、完了通知はＭＦＰ２２Ａからデバイス制御サービス４１を介してＰＵＬＬプリントアプリ３３に送信される。
【００８９】
図８のシーケンス図によれば、情報処理装置１０はＭＦＰ２２Ａのケーパビリティに基づき、ＭＦＰ２２ＡがＰＤＦ変換機能を備えていると判定できるため、ＭＦＰ２２ＡにＰＤＦファイルの印刷を実行させることができる。
【００９０】
図９はＰＤＦ変換機能を備えないＭＦＰを利用したＰＵＬＬプリント処理の一例のシーケンス図である。なお、図９は一部を除き、図８のシーケンス図と同様であるため、適宜説明を省略する。
【００９１】
ＭＦＰ２２Ｂ上でユーザによりＰＵＬＬプリント処理が選択されると、ＭＦＰ２２ＢはステップＳ１２１においてＰＵＬＬプリントアプリ３３に接続する。ステップＳ１２２において、ＭＦＰ２２Ｂは印刷するＰＤＦファイル、印刷設定などの条件設定をＰＵＬＬプリントアプリ３３に指示する。ステップＳ１２３〜Ｓ１２６において、ＰＵＬＬプリントアプリ３３はＭＦＰ２２Ｂのケーパビリティを受信する。また、ステップＳ１２７〜Ｓ１２８において、ＰＵＬＬプリントアプリ３３はＭＦＰ２２Ｂから指示された条件設定に基づき、ストレージサーバ６０からＰＤＦファイルを受信する。
【００９２】
ステップＳ１２９において、ＰＵＬＬプリントアプリ３３はＭＦＰ２２ＢのケーパビリティからＭＦＰ２２ＢがＰＤＦ変換機能を備えていないと判定する。ＰＵＬＬプリントアプリ３３はファイル変換サービス４４にＰＤＦファイルからＭＦＰ２２Ｂで印刷可能なデータ（例えばＰＤＬデータ）への変換処理を行わせ、ＭＦＰ２２Ｂに変換処理したデータの印刷を行わせる実行要求を生成する。ステップＳ１３０において、ＰＵＬＬプリントアプリ３３はステップＳ１２９で生成した実行要求を、実行制御ＡＰＩを介してデバイス制御サービス４１に送信する。
【００９３】
ステップＳ１３１において、デバイス制御サービス４１はＰＤＦファイルからＰＤＬデータへの変換処理をファイル変換サービス４４に実行指示する。ファイル変換サービス４４はデバイス制御サービス４１からの実行指示に基づき、ＰＤＦファイルからＰＤＬデータへの変換処理を実行する。ステップＳ１３２において、ファイル変換サービス４４は変換処理したＰＤＬデータをデバイス制御サービス４１に送信する。
【００９４】
ステップＳ１３３において、デバイス制御サービス４１は実行制御ＡＰＩを介してＰＵＬＬプリントアプリ３３から受信した実行要求に基づいて、ＰＤＬデータの印刷をＭＦＰ２２Ｂに実行指示する。ＭＦＰ２２ＢはＰＤＬデータの印刷を実行する。ステップＳ１３４〜Ｓ１３５において、完了通知はＭＦＰ２２Ｂからデバイス制御サービス４１を介してＰＵＬＬプリントアプリ３３に送信される。
【００９５】
図９のシーケンス図によれば、情報処理装置１０はＭＦＰ２２Ｂのケーパビリティに基づき、ＭＦＰ２２ＢがＰＤＦ変換機能を備えていないと判定できるため、プラットフォーム４０のファイル変換サービス４４にＰＤＦファイルからＰＤＬデータへの変換処理を実行させ、ＭＦＰ２２ＢにＰＤＬデータの印刷を実行させることができる。
【００９６】
以上、本実施形態の情報処理装置１０によれば、ユーザはＭＦＰ２２Ａ、ＢのＰＤＦ変換機能の有無を意識することなく、ＰＵＬＬプリント処理を利用できる。また、本実施例の情報処理装置１０によれば、情報処理装置１０に搭載されたアプリケーション３０はケーパビリティ取得ＡＰＩ及び実行制御ＡＰＩを介して情報処理装置１０が備えるプラットフォーム４０と、情報処理装置１０に接続される一つ以上の電子機器と連携してサービスを提供できる。
【００９７】
《プロジェクタ投影アプリ３２の処理》
ここでは、プロジェクタ投影アプリ３２の処理の一例として、モバイル端末２６から投影用ファイルを受信し、受信した投影用ファイルをプロジェクタ２４Ａに投影させるプロジェクタ投影処理について説明する。
【００９８】
図１０はモバイル端末から受信した投影用ファイルを投影できるプロジェクタを利用したプロジェクタ投影処理の一例のシーケンス図である。ユーザはモバイル端末２６を操作して、プロジェクタ投影処理を選択する。例えばモバイル端末２６にアプリケーションが搭載されている場合、モバイル端末２６はユーザに投影する画像投影装置２４と、投影する投影用ファイルとを選択させる。モバイル端末２６は例えば情報処理装置１０に接続されている画像投影装置２４の一覧を取得しているものとする。
【００９９】
ステップＳ１４１において、モバイル端末２６は情報処理装置１０のプロジェクタ投影アプリ３２に接続する。ステップＳ１４２において、モバイル端末２６は投影する画像投影装置２４、投影用ファイルなどの条件設定をプロジェクタ投影アプリ３２に指示する。ここでは投影する画像投影装置２４としてプロジェクタ２４Ａ、投影用ファイルの一例として、プレゼンテーション資料作成アプリケーションで作成されたプレゼンテーションファイルが条件設定として指示された例を説明する。ステップＳ１４３において、プロジェクタ投影アプリ３２は、プロジェクタ２４Ａのケーパビリティ取得要求を、ケーパビリティ取得ＡＰＩを介してケーパビリティ取得サービス４２に送信する。
【０１００】
ステップＳ１４４において、ケーパビリティ取得サービス４２はケーパビリティ取得ＡＰＩを介して受信したケーパビリティ取得要求に応じて、プロジェクタ２４Ａにケーパビリティ取得要求を送信する。ステップＳ１４５において、ケーパビリティ取得サービス４２はプロジェクタ２４Ａのケーパビリティを、プロジェクタ２４Ａから受信する。ケーパビリティ取得サービス４２はステップＳ１４６において、プロジェクタ２４Ａのケーパビリティを、ケーパビリティ取得要求元のプロジェクタ投影アプリ３２に送信する。
【０１０１】
ステップＳ１４７において、プロジェクタ投影アプリ３２は受信したプロジェクタ２４Ａのケーパビリティからプロジェクタ２４Ａが画像フォーマット（画像ファイル種別）プレゼンテーションファイルを投影できると判定する。プロジェクタ投影アプリ３２はプレゼンテーションファイルの投影をプロジェクタ２４Ａに行わせる実行要求を生成する。ステップＳ１４８において、プロジェクタ投影アプリ３２はステップＳ１４７で生成した実行要求を、実行制御ＡＰＩを介してデバイス制御サービス４１に送信する。
【０１０２】
ステップＳ１４９において、デバイス制御サービス４１は実行制御ＡＰＩを介して受信した実行要求に基づいて、プレゼンテーションファイルの投影処理をプロジェクタ２４Ａに実行指示する。プロジェクタ２４Ａはプレゼンテーションファイルの投影処理を実行する。ステップＳ１５０〜Ｓ１５２において、完了通知はプロジェクタ２４Ａからデバイス制御サービス４１、プロジェクタ投影アプリ３２を介してモバイル端末２６に送信される。
【０１０３】
図１０のシーケンス図によれば、情報処理装置１０はプロジェクタ２４Ａのケーパビリティに基づき、プロジェクタ２４Ａがプレゼンテーションファイルを投影できると判定できるため、プロジェクタ２４Ａにプレゼンテーションファイルの投影処理を実行させることができる。
【０１０４】
図１１はモバイル端末から受信したプレゼンテーションファイルを投影できないプロジェクタを利用したプロジェクタ投影処理の一例のシーケンス図である。なお、図１１は一部を除き、図１０のシーケンス図と同様であるため、適宜説明を省略する。
【０１０５】
モバイル端末２６上でユーザによりプロジェクタ投影処理、投影する画像投影装置２４、投影する投影用ファイルが選択されると、モバイル端末２６はステップＳ１６１においてプロジェクタ投影アプリ３２に接続する。ステップＳ１６２において、モバイル端末２６は投影するプロジェクタ２４Ｂ、投影用ファイルとしてプレゼンテーションファイルなどの条件設定をプロジェクタ投影アプリ３２に指示する。ステップＳ１６３〜Ｓ１６６において、プロジェクタ投影アプリ３２はプロジェクタ２４Ａのケーパビリティを受信する。
【０１０６】
ステップＳ１６７において、プロジェクタ投影アプリ３２は受信したプロジェクタ２４Ｂのケーパビリティからプロジェクタ２４Ｂがプレゼンテーションファイルを投影できず、画像フォーマットＪＰＥＧの投影用ファイル（以下、ＪＰＥＧファイルと呼ぶ）を投影できると判定する。プロジェクタ投影アプリ３２はファイル変換サービス４４にプレゼンテーションファイルからＪＰＥＧファイルへの変換処理を行わせ、ＪＰＥＧファイルの投影をプロジェクタ２４Ｂに行わせる実行要求を生成する。
【０１０７】
ステップＳ１６８において、プロジェクタ投影アプリ３２はステップＳ１６７で生成した実行要求を、実行制御ＡＰＩを介してデバイス制御サービス４１に送信する。ステップＳ１６９において、デバイス制御サービス４１はプレゼンテーションファイルからＪＰＥＧファイルへの変換処理をファイル変換サービス４４に実行指示する。ファイル変換サービス４４はデバイス制御サービス４１からの実行指示に基づき、プレゼンテーションファイルからＪＰＥＧファイルへの変換処理を実行する。ステップＳ１７０において、ファイル変換サービス４４は変換処理したＪＰＥＧファイルをデバイス制御サービス４１に送信する。
【０１０８】
ステップＳ１７１において、デバイス制御サービス４１は実行制御ＡＰＩを介して受信した実行要求に基づいて、ＪＰＥＧファイルの投影処理をプロジェクタ２４Ｂに実行指示する。プロジェクタ２４ＢはＪＰＥＧファイルの投影処理を実行する。ステップＳ１７２〜Ｓ１７４において、完了通知はプロジェクタ２４Ｂからデバイス制御サービス４１、プロジェクタ投影アプリ３２を介してモバイル端末２６に送信される。
【０１０９】
図１１のシーケンス図によれば、情報処理装置１０はプロジェクタ２４Ｂのケーパビリティに基づき、プロジェクタ２４Ｂがプレゼンテーションファイルを投影できず、ＪＰＥＧファイルを投影できると判定できるため、プラットフォーム４０のファイル変換サービス４４にプレゼンテーションファイルからＪＰＥＧファイルへの変換処理を実行させ、プロジェクタ２４ＢにＪＰＥＧファイルの投影処理を実行させることができる。
【０１１０】
図１２はプロジェクタ投影アプリからファイル変換サービスを利用するプロジェクタ投影処理の一例のシーケンス図である。なお、図１２は一部を除き、図１１のシーケンス図と同様であるため、適宜説明を省略する。
【０１１１】
ステップＳ１８１〜Ｓ１８６の処理はステップＳ１６１〜Ｓ１６６の処理と同様であるため、説明を省略する。ステップＳ１８７において、プロジェクタ投影アプリ３２は受信したプロジェクタ２４Ｂのケーパビリティからプロジェクタ２４Ｂがプレゼンテーションファイルを投影できず、ＪＰＥＧファイルを投影できると判定する。
【０１１２】
ステップＳ１８８において、プロジェクタ投影アプリ３２はプレゼンテーションファイルからＪＰＥＧファイルへの変換処理を、処理サービス実行ＡＰＩを介してファイル変換サービス４４に送信し、ファイル変換サービスにプレゼンテーションファイルからＪＰＥＧファイルへの変換処理を実行させる。ステップＳ１８９において、ファイル変換サービス４４は変換処理したＪＰＥＧファイルをプロジェクタ投影アプリ３２に送信する。
【０１１３】
プロジェクタ投影アプリ３２はＪＰＥＧファイルの投影をプロジェクタ２４Ｂに行わせる実行要求を生成する。ステップＳ１９０において、プロジェクタ投影アプリ３２は生成した実行要求を、実行制御ＡＰＩを介してデバイス制御サービス４１に送信する。なお、ステップＳ１９１以降の処理は図１１のステップＳ１７１以降の処理と同様であるため、説明を省略する。
【０１１４】
図１２のシーケンス図によれば、情報処理装置１０はデバイス制御サービス４１を介することなくプロジェクタ投影アプリ３２からプラットフォーム４０のファイル変換サービス４４を利用して、プレゼンテーションファイルからＪＰＥＧファイルへの変換処理を実行できる。
【０１１５】
以上、本実施形態の情報処理装置１０によれば、ユーザはプロジェクタ２４Ａ、２４Ｂが投影可能な投影用ファイルの画像フォーマットを意識することなく、プロジェクタ投影処理を利用できる。また、本実施例の情報処理装置１０によれば、情報処理装置１０に搭載されたアプリケーション３０は、ケーパビリティ取得ＡＰＩ及び実行制御ＡＰＩを介して情報処理装置１０が備えるプラットフォーム４０と、情報処理装置１０に接続される一つ以上の電子機器と連携してサービスを提供できる。
【０１１６】
《ＡＰＩ５５の具体例》
図１３はケーパビリティ取得ＡＰＩの一例の説明図である。図１３に示すように、ケーパビリティ取得ＡＰＩは所望の電子機器のケーパビリティをアプリケーション３０が取得するために予め定義されたＡＰＩである。図１３のケーパビリティ取得ＡＰＩは引数として、取得する電子機器の識別子を示すｄｅｖｉｃｅＩＤと、ケーパビリティを示すｃａｐａｂｉｌｉｔｙとを有している。
【０１１７】
図１４は実行制御ＡＰＩの一例の説明図である。図１４には３種類の実行制御ＡＰＩを示している。図１４（Ａ）は、スキャンを実行させる電子機器のケーパビリティを用いてアプリケーション３０がスキャン送信処理の実行要求を行うために予め定義されたＡＰＩである。図１４（Ａ）の実行制御ＡＰＩは引数として、スキャンを実行させる電子機器の識別子を示すｄｅｖｉｃｅＩＤと、スキャンした画像データの送信先を示すＡｄｄｒｅｓｓと、ＯＣＲの実行場所を示すＯｃｒＯｐｔｉｏｎとを有している。
【０１１８】
図１４（Ｂ）は印刷を実行させる電子機器のケーパビリティを用いてアプリケーション３０がＰＵＬＬプリント処理の実行要求を行うために予め定義されたＡＰＩである。図１４（Ｂ）の実行制御ＡＰＩは引数として、印刷を実行させる電子機器の識別子を示すｄｅｖｉｃｅＩＤと、画像変換のフォーマットを示すＣｏｎｖｅｒｔＦｏｒｍａｔと、印刷させるファイルのファイル名を示すＦｉｌｅＮａｍｅとを有している。
【０１１９】
図１４（Ｃ）は投影を実行させる電子機器のケーパビリティを用いてアプリケーション３０がプロジェクタ投影処理の実行要求を行うために予め定義されたＡＰＩである。図１４（Ｃ）の実行制御ＡＰＩは引数として、投影を実行させる電子機器の識別子を示すｄｅｖｉｃｅＩＤと、画像変換のフォーマットを示すＣｏｎｖｅｒｔＦｏｒｍａｔと、投影させるファイルのファイル名を示すＦｉｌｅＮａｍｅとを有している。
【０１２０】
図１５は処理サービス実行ＡＰＩの一例の説明図である。図１５に示すように、処理サービス実行ＡＰＩはプラットフォーム４０が提供するファイル変換サービス４４の実行要求を、デバイス制御サービス４１を介することなく、アプリケーション３０から行うために予め定義されたＡＰＩである。図１５の処理サービスＡＰＩは引数として、画像変換のフォーマットを示すＣｏｎｖｅｒｔＦｏｒｍａｔと、変換元のファイル名と、変換後のファイル名とを有している。
【０１２１】
《デバイスケーパビリティ》
図１６はデバイスケーパビリティ記憶部５０に記憶されるケーパビリティの雛型の一例を示す説明図である。図１６に示すように、デバイスケーパビリティ記憶部５０に記憶されるケーパビリティは情報処理装置１０に接続される電子機器（デバイス）ごとに、電子機器の入力（インプット）、出力（アウトプット）又は処理（プロセス）の能力に関する情報を有している。なお、デバイスケーパビリティ記憶部５０に記憶されるケーパビリティは電子機器の入力（インプット）、出力（アウトプット）又は処理（プロセス）の少なくとも１つの能力に関する情報であってもよい。
【０１２２】
＜まとめ＞
以上、第１の実施形態に係る情報処理装置１０によれば、情報処理装置１０に搭載されるアプリケーションとさまざまな電子機器とがネットワークを介して連携する連携処理を実現でき、情報処理システム１全体としての利用価値を更に向上させることができる。また、第１の実施形態に係る情報処理装置１０によれば、情報処理装置１０に搭載されるアプリケーション３０を効率よく開発でき、情報処理システム１全体としての生産性、利用価値を高めることができる。
【０１２３】
そして、第１の実施形態に係る情報処理装置１０によれば、情報処理装置１０に接続される新たな電子機器から取得したケーパビリティをアプリケーション３０に提供することも可能となり、アプリケーション３０と新たな電子機器とを連携させた連携処理の実現も可能となる。
［第２の実施形態］
ケーパビリティはケーパビリティ取得要求と非同期に、予めデバイスケーパビリティ記憶部５０に登録しておくようにしてもよい。第２の実施形態の情報処理装置１０Ａは予めケーパビリティを記憶部５０に記憶させておくものである。なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため適宜説明を省略する。システム構成及びハードウェア構成は第１の実施形態と同様であるため説明を省略する。
【０１２４】
＜ソフトウェア構成＞
本実施形態に係る情報処理装置１０Ａは例えば図１７に示すような処理ブロックで実現される。図１７は本実施形態に係る情報処理装置の一例の処理ブロック図である。図１７の情報処理装置１０Ａは図３の情報処理装置１０にケーパビリティ登録部５１を追加した構成である。
【０１２５】
図１７のケーパビリティ登録部５１はプラットフォーム４０に追加されている。ケーパビリティ登録部５１は電源オン時やデバイスドライバなどのインストール後に電子機器からケーパビリティを取得させ、デバイスケーパビリティ記憶部５０に記憶させるようにしてもよい。また、ケーパビリティ登録部５１はユーザから電子機器のケーパビリティの登録を後述のケーパビリティ情報登録画面から受け付けるようにしてもよい。
【０１２６】
＜処理の詳細＞
図１８はケーパビリティを事前に登録しておく処理の一例のシーケンス図である。ここではプロジェクタ２４Ａがケーパビリティを事前に登録しておく処理を一例として説明するが、画像形成装置２４などの電子機器であればよい。ステップＳ２０１においてプロジェクタ２４Ａは電源オン時やデバイスドライバなどのインストール後、情報処理装置１０Ａのケーパビリティ登録部５１にケーパビリティの登録要求を行う。
【０１２７】
ステップＳ２０２において、ケーパビリティ登録部５１はプロジェクタ２４Ａから取得したケーパビリティのデバイスケーパビリティ記憶部５０への登録を記憶制御部４９に指示する。記憶制御部４９はプロジェクタ２４Ａのケーパビリティをデバイスケーパビリティ記憶部５０に記憶させる。そして、ステップＳ２０３において、登録完了通知はケーパビリティ登録部５１からプロジェクタ２４Ａに送信される。
【０１２８】
ステップＳ２０４〜Ｓ２０６の処理は図１０のステップＳ１４１〜Ｓ１４３と同様であるため、説明を省略する。ここでは、ケーパビリティ取得サービス４２はプロジェクタ２４Ａのケーパビリティを、記憶制御部４９を介してデバイスケーパビリティ記憶部５０から取得すると判断したものとして説明を続ける。
【０１２９】
ステップＳ２０７において、ケーパビリティ取得サービス４２は記憶制御部４９にプロジェクタ２４Ａのケーパビリティ取得要求を送信する。記憶制御部４９はデバイスケーパビリティ記憶部５０からプロジェクタ２４Ａのケーパビリティを取得する。
【０１３０】
ステップＳ２０８において、ケーパビリティ取得サービス４２はプロジェクタ２４Ａのケーパビリティを、記憶制御部４９から受信する。ステップＳ２０９において、ケーパビリティ取得サービス４２はプロジェクタ２４Ａのケーパビリティを、ケーパビリティ取得要求元のプロジェクタ投影アプリ３２に送信する。なお、ステップＳ２１０以降の処理は図１０のステップＳ１４７以降の処理と同様であるため、説明を省略する。
【０１３１】
図１８のシーケンス図によれば、情報処理装置１０はプロジェクタ２４Ａのケーパビリティを事前に登録しておくことができる。
【０１３２】
また、ユーザはデバイスケーパビリティ記憶部５０にケーパビリティが記憶されている電子機器を、例えば図１９のケーパビリティ情報管理画面２００で確認できる。図１９はケーパビリティ情報管理画面の一例のイメージ図である。ユーザはケーパビリティ情報管理画面２００の参照・編集ボタン２０１を押下（選択）することで、図２０に示すようなケーパビリティ情報画面２１０に遷移させることができる。また、ユーザはケーパビリティ情報管理画面２００の新規登録ボタン２０２を押下することでも図２０に示すケーパビリティ情報画面２１０に遷移させることができる。
【０１３３】
図２０はケーパビリティ情報画面の一例のイメージ図である。ケーパビリティ情報画面２１０はユーザから基本情報及び能力情報の登録、編集を受け付ける。ケーパビリティ情報画面２１０は能力情報の編集を、入力（インプット）の能力に関する情報を編集する為の欄２１１、処理（プロセス）の能力に関する情報を編集する為の欄２１２、出力（アウトプット）の能力に関する情報を編集する為の欄２１３を有する。
【０１３４】
ユーザはケーパビリティ情報画面２１０の完了ボタン２１４を押下することで、基本情報及び能力情報の登録、編集を完了させ、図１９のケーパビリティ情報管理画面２００に遷移させることができる。また、ユーザはケーパビリティ情報画面２１０の機器削除ボタン２１５を押下することで、ケーパビリティ情報画面２１０に表示されている電子機器のケーパビリティを削除できる。
【０１３５】
なお、図２０のケーパビリティ情報画面２１０の能力情報の項目は例えば図１６に示したケーパビリティの雛型に基づいて選択することができる。図１９〜図２０に示した画面イメージは、情報処理装置１０のＵＩ生成部（図示せず）が例えば記憶制御部４９を介してデバイスケーパビリティ記憶部５０にアクセスすることで生成できる。
【０１３６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１３７】
特許請求の範囲に記載した連携処理装置は情報処理装置１０に相当する。連携処理システム１は情報処理システム１に相当する。インターフェースはＡＰＩ５５に相当する。能力情報提供手段はケーパビリティ取得サービス４２に相当する。実行制御手段はデバイス制御サービス４１に相当する。電子機器の能力に関する情報はケーパビリティに相当する。
【０１３８】
記憶制御手段は記憶制御部４９に相当する。処理手段はＯＣＲサービス４３などの処理サービスに相当する。アプリ管理手段はアプリ管理部４７に相当する。サービス管理手段はサービス管理部４８に相当する。能力情報登録手段はケーパビリティ登録部５１に相当する。
【符号の説明】
【０１３９】
１      情報処理システム
１０、１０Ａ    情報処理装置
２０    ファイアウォール（ＦＷ）
２１    ＰＣ
２２    画像形成装置
２２Ａ、２２Ｂ    複合機（ＭＦＰ）
２３    会議システム
２４    画像投影装置
２４Ａ、２４Ｂ    プロジェクタ
２５    ＩＣレコーダ
２６、２６Ａ、２６Ｂ    モバイル端末
２７    新規デバイス
３０    アプリケーション
３１    スキャン送信アプリ
３２    プロジェクタ投影アプリ
３３    ＰＵＬＬプリントアプリ
３４    新規アプリ
４０    プラットフォーム
４１    デバイス制御サービス
４２    ケーパビリティ取得サービス
４３    ＯＣＲサービス
４４    ファイル変換サービス
４５    新規サービス
４６    ネットワークインターフェース
４７    アプリ管理部
４８    サービス管理部
４９    記憶制御部
５０    デバイスケーパビリティ記憶部
５１    ケーパビリティ登録部
５５    ＡＰＩ（Application Programming Interface）
６０    ストレージサーバ
１０１    入力装置
１０２    表示装置
１０３    外部Ｉ／Ｆ
１０３ａ    記録媒体
１０４    ＲＡＭ
１０５    ＲＯＭ
１０６    ＣＰＵ
１０７    通信Ｉ／Ｆ
１０８    ＨＤＤ
２００    ケーパビリティ情報管理画面
２１０    ケーパビリティ情報画面
Ｂ    バス
Ｎ１、Ｎ２    ネットワーク
【先行技術文献】
【特許文献】
【０１４０】
【特許文献１】特開２０１１−１９２２５０号公報
【図１】
0006040731.tif 000002
【図２】
0006040731.tif 000003
【図３】
0006040731.tif 000004
【図４】
0006040731.tif 000005
【図５】
0006040731.tif 000006
【図６】
0006040731.tif 000007
【図７】
0006040731.tif 000008
【図８】
0006040731.tif 000009
【図９】
0006040731.tif 000010
【図１０】
0006040731.tif 000011
【図１１】
0006040731.tif 000012
【図１２】
0006040731.tif 000013
【図１３】
0006040731.tif 000014
【図１４】
0006040731.tif 000015
【図１５】
0006040731.tif 000016
【図１６】
0006040731.tif 000017
【図１７】
0006040731.tif 000018
【図１８】
0006040731.tif 000019
【図１９】
0006040731.tif 000020
【図２０】
0006040731.tif 000021