(57)【要約】【課題】ソフトウェアの開発・カスタマイズを容易に行うことができるサービス利用システム、情報処理装置、外部処理装置及びサービス利用プログラムを提供することを目的とする。【解決手段】ネットワーク４００を介して外部処理装置２００と接続されており、所定のサービスに掛かる処理の少なくとも一部を自装置に代わって外部処理装置２００に行わせる情報処理装置１００であって、処理の少なくとも一部を要求する外部処理装置２００の認証の為の情報を保持する保持手段１０４と、外部処理装置２００に処理の少なくとも一部を要求する要求手段１０２と、処理により制御される機能１０８等と、保持手段１０４が保持する情報に基づき、要求手段１０２から行った要求に対応する外部処理装置２００からの要求であると認証すると、外部処理装置２００の処理により機能１０８等を外部から制御させるサービス提供手段１０３とを備えることにより上記課題を解決する。【選択図】図４
2008003834.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワークを介して外部処理装置と接続されており、所定のサービスに掛かる処理の少なくとも一部を自装置に代わって前記外部処理装置に行わせる情報処理装置であって、
前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報を保持する保持手段と、
前記外部処理装置に前記処理の少なくとも一部を要求する要求手段と、
前記処理により制御される機能と、
前記保持手段が保持する情報に基づき、前記要求手段から行った要求に対応する前記外部処理装置からの要求であると認証すると、前記外部処理装置の処理により前記機能を外部から制御させるサービス提供手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記要求手段は、自装置の前記機能を利用する前記処理の少なくとも一部を前記外部処理装置に要求することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記要求手段は、前記サービス提供手段を利用して前記機能を外部から制御する前記外部処理装置の制御部に、前記処理の少なくとも一部を要求することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記保持手段は、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報として、前記外部処理装置の身元情報を保持し、
前記サービス提供手段は、前記外部処理装置からの要求に含まれる身元情報と前記保持手段が保持する身元情報との比較結果に基づいて、前記認証を行うことを特徴とする請求項１乃至３何れか一項記載の情報処理装置。
【請求項５】
前記保持手段は、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報として、前記外部処理装置の身元情報から生成された鍵を保持し、
前記サービス提供手段は、前記外部処理装置からの要求に含まれる鍵と前記保持手段が保持する鍵との比較結果に基づいて、前記認証を行うことを特徴とする請求項１乃至３何れか一項記載の情報処理装置。
【請求項６】
前記鍵は、所定のネットワークを介して接続された認証サーバにより生成されることを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記鍵は、自装置により生成されることを特徴とする請求項５記載の情報処理装置。
【請求項８】
前記鍵は、前記外部処理装置により生成されることを特徴とする請求項５記載の情報処理装置。
【請求項９】
前記鍵は、前記外部処理装置のホスト名，前記ネットワーク上での場所情報，前記外部処理装置に前記要求を行った時刻，ランダムな文字列の１つ以上を情報として含むことを特徴とする請求項５乃至８何れか一項記載の情報処理装置。
【請求項１０】
前記保持手段は、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報として、前記外部処理装置の公開鍵を保持し、
前記サービス提供手段は、前記外部処理装置からの要求に含まれる署名付きメッセージの前記保持手段に保持されている前記公開鍵による解読結果に基づいて、前記認証を行うことを特徴とする請求項１乃至３何れか一項記載の情報処理装置。
【請求項１１】
所定のネットワークを介して外部処理装置と接続されており、所定のサービスに掛かる処理の少なくとも一部を自装置に代わって前記外部処理装置に行わせる情報処理装置におけるサービス提供方法であって、
前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報を保持手段に保持する保持ステップと、
前記外部処理装置に前記処理の少なくとも一部を要求手段から要求する要求ステップと、
前記保持手段が保持する情報に基づき、前記要求手段から行った要求に対応する前記外部処理装置からの要求であると認証すると、サービス提供手段が前記外部処理装置の処理により前記機能を外部から制御させるサービス提供ステップと
を備えることを特徴とするサービス提供方法。
【請求項１２】
前記要求ステップは、自装置の前記機能を利用する前記処理の少なくとも一部を前記外部処理装置に要求することを特徴とする請求項１１記載のサービス提供方法。
【請求項１３】
前記要求ステップは、前記サービス提供手段を利用して前記機能を外部から制御する前記外部処理装置の制御部に、前記処理の少なくとも一部を要求することを特徴とする請求項１１又は１２記載のサービス提供方法。
【請求項１４】
前記保持ステップは、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報として、前記外部処理装置の身元情報を保持し、
前記サービス提供ステップは、前記外部処理装置からの要求に含まれる身元情報と前記保持手段が保持する身元情報との比較結果に基づいて、前記認証を行うことを特徴とする請求項１１乃至１３何れか一項記載のサービス提供方法。
【請求項１５】
前記保持ステップは、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報として、前記外部処理装置の身元情報から生成された鍵を保持し、
前記サービス提供ステップは、前記外部処理装置からの要求に含まれる鍵と前記保持手段が保持する鍵との比較結果に基づいて、前記認証を行うことを特徴とする請求項１１乃至１３何れか一項記載のサービス提供方法。
【請求項１６】
前記鍵は、所定のネットワークを介して接続された認証サーバにより生成されることを特徴とする請求項１５記載のサービス提供方法。
【請求項１７】
前記鍵は、自装置により生成されることを特徴とする請求項１５記載のサービス提供方法。
【請求項１８】
前記鍵は、前記外部処理装置により生成されることを特徴とする請求項１５記載のサービス提供方法。
【請求項１９】
前記鍵は、前記外部処理装置のホスト名，前記ネットワーク上での場所情報，前記外部処理装置に前記要求を行った時刻，ランダムな文字列の１つ以上を情報として含むことを特徴とする請求項１５乃至１８何れか一項記載のサービス提供方法。
【請求項２０】
前記保持ステップは、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報として、前記外部処理装置の公開鍵を保持し、
前記サービス提供ステップは、前記外部処理装置からの要求に含まれる署名付きメッセージの前記保持手段に保持されている前記公開鍵による解読結果に基づいて、前記認証を行うことを特徴とする請求項１１乃至１３何れか一項記載のサービス提供方法。
【請求項２１】
所定のネットワークを介して外部処理装置と接続されており、所定のサービスに掛かる処理の少なくとも一部を自装置に代わって前記外部処理装置に行わせる情報処理装置を、
前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報を保持する保持手段と、
前記外部処理装置に前記処理の少なくとも一部を要求する要求手段と、
前記処理により制御される機能と、
前記保持手段が保持する情報に基づき、前記要求手段から行った要求に対応する前記外部処理装置からの要求であると認証すると、前記外部処理装置の処理により前記機能を外部から制御させるサービス提供手段と
して機能させる為のサービス提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、サービス提供方法、サービス提供プログラムに係り、特に所定のネットワークを介して外部処理装置と接続された情報処理装置、その情報処理装置で利用されるサービス提供方法、サービス提供プログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、プリンタ，コピー，ファクシミリおよびスキャナなどの各装置の機能を１つの筐体内に収納した情報処理装置の一例としての画像形成装置が記載されている。この画像形成装置は、１つの筐体内に表示部，印刷部および撮像部などを設けると共に、プリンタ，コピー，ファクシミリおよびスキャナにそれぞれ対応する４種類のソフトウェア（アプリケーション）を設け、そのアプリケーションを切り替えることより、プリンタ，コピー，ファクシミリおよびスキャナとして動作させるものである。
【特許文献１】特開２００２−８４３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来、画像形成装置上で動作するアプリケーションを開発する場合は、アプリケーション自身のロジックの構築だけでなく、独自のデバイスコントロール用のＩ／Ｆ、ユーザインターフェース（ＵＩ）用のＩ／Ｆ、画像形成装置特有のプログラミング作法（例えば電源制御や後述するＳＣＳへの登録など）に従う必要があるという問題があった。
【０００４】
また、アプリケーションのカスタマイズをするには、上記のような独自のデバイスコントロール用のＩ／Ｆ、独自のＵＩ用のＩ／Ｆ、画像形成装置特有のプログラミング作法を習熟していなければならず、容易でないという問題があった。
【０００５】
本発明は、上記の点に鑑みなされたもので、ソフトウェアの開発・カスタマイズを容易に行うことができるサービス利用システム、情報処理装置、外部処理装置及びサービス利用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、所定のネットワークを介して外部処理装置と接続されており、所定のサービスに掛かる処理の少なくとも一部を自装置に代わって前記外部処理装置に行わせる情報処理装置であって、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報を保持する保持手段と、前記外部処理装置に前記処理の少なくとも一部を要求する要求手段と、前記処理により制御される機能と、前記保持手段が保持する情報に基づき、前記要求手段から行った要求に対応する前記外部処理装置からの要求であると認証すると、前記外部処理装置の処理により前記機能を外部から制御させるサービス提供手段とを備えることを特徴とする。
【０００７】
また、本発明は、所定のネットワークを介して外部処理装置と接続されており、所定のサービスに掛かる処理の少なくとも一部を自装置に代わって前記外部処理装置に行わせる情報処理装置におけるサービス提供方法であって、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報を保持手段に保持する保持ステップと、前記外部処理装置に前記処理の少なくとも一部を要求手段から要求する要求ステップと、前記保持手段が保持する情報に基づき、前記要求手段から行った要求に対応する前記外部処理装置からの要求であると認証すると、サービス提供手段が前記外部処理装置の処理により前記機能を外部から制御させるサービス提供ステップとを備えることを特徴とする。
【０００８】
また、本発明は、所定のネットワークを介して外部処理装置と接続されており、所定のサービスに掛かる処理の少なくとも一部を自装置に代わって前記外部処理装置に行わせる情報処理装置を、前記処理の少なくとも一部を要求する前記外部処理装置の認証の為の情報を保持する保持手段と、前記外部処理装置に前記処理の少なくとも一部を要求する要求手段と、前記処理により制御される機能と、前記保持手段が保持する情報に基づき、前記要求手段から行った要求に対応する前記外部処理装置からの要求であると認証すると、前記外部処理装置の処理により前記機能を外部から制御させるサービス提供手段として機能させる為のサービス提供プログラムであることを特徴とする。
【０００９】
本発明では、サービスに掛かる処理の少なくとも一部を情報処理装置に代わって外部処理装置で行い、その外部処理装置からの要求を契機に、情報処理装置の機能（例えばアプリケーション挙動の制御や、画面制御）を制御させることができる。
【００１０】
また、本発明では、情報処理装置の機能を外部処理装置からの要求を契機に制御することで、Ｗｅｂアプリケーション（Ｗｅｂアプリ）等を構築する程度の技術で、情報処理装置の機能を制御するソフトウェアの開発・カスタマイズが可能である。
【００１１】
さらに、本発明では、ネットワークを介して接続されている外部処理装置からの要求を契機に、情報処理装置の機能を制御するため、サービスに掛かる処理の少なくとも一部を要求した外部処理装置であるか認証を行うことでなりすましを防ぎ、セキュリティを向上させることができる。
【００１２】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、ソフトウェアの開発・カスタマイズを容易に行うことができるサービス利用システム、情報処理装置、外部処理装置及びサービス利用プログラムを提供可能である。
【発明を実施するための最良の形態】
【００１４】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では、機能をネットワーク経由で制御させるサービスの一例としてＷｅｂサービスを例に説明するが、Ｗｅｂサービスに限るものではない。
【００１５】
図１は本発明によるＷｅｂサービス利用システムの一例の概念図である。Ｗｅｂサービス利用システムは、１つ以上の情報処理装置１ａ，１ｂと、サーバ装置２とが、ＬＡＮやインターネット等のネットワーク３を介して接続されている。
【００１６】
サーバ装置２は、アプリを備えている。また、情報処理装置１ａ，１ｂは、１つ以上の機能を備え、その機能をネットワーク経由でサーバ装置２のアプリから制御させるＷｅｂサービスを提供する。さらに、情報処理装置１ａは、Ｗｅｂブラウザを表示可能な操作部を備えている。
【００１７】
Ｗｅｂサービス利用システムでは、情報処理装置１ａ，１ｂが提供するＷｅｂサービスを利用してサーバ装置２上でアプリを構築し、そのアプリのＵＩをサーバ装置２のＷｅｂサーバで提供する。情報処理装置１ａは、ＷｅｂクライアントとしてのＷｅｂブラウザでアプリのＵＩ４を操作部に表示する。ユーザは、操作部に表示されたアプリのＵＩ４からサーバ装置２上に構築されたアプリを操作することができる。
【００１８】
ユーザがアプリのＵＩ４から動作を指示すると、指示が情報処理装置１ａのＷｅｂブラウザからサーバ装置２のＷｅｂサーバに送信される。サーバ装置２のアプリは指示に応じて、Ｗｅｂサービスクライアントから情報処理装置１ａのＷｅｂサービスサーバに動作指示を送信する。なお、情報処理装置１ａと情報処理装置１ｂとの連携時には、サーバ装置２のＷｅｂサービスクライアントから情報処理装置１ｂのＷｅｂサービスサーバに動作指示を送信する。情報処理装置１ａ，１ｂ及びサーバ装置２間の通信は、セキュリティを考慮してＳＳＬ等を利用できる。
【００１９】
また、情報処理装置１ａ，１ｂ及びサーバ装置２間の通信では、情報処理装置１ａのＷｅｂブラウザがアクセスしたサーバ装置２のアプリ以外が、サーバ装置２のアプリになりすまして、情報処理装置１ａ又は１ｂのＷｅｂサービスを利用することを防ぐ仕組みを設けている。
【００２０】
すなわち、本発明によるＷｅｂサービス利用システムでは、情報処理装置１ａのＷｅｂブラウザからサーバ装置２のＷｅｂサーバへの指示と、サーバ装置２のＷｅｂサービスクライアントから情報処理装置１ａ又は１ｂのＷｅｂサービスサーバへの動作指示とに関連性を持たせることにより、動作指示を行ったアプリが正規のアプリであるか否かを容易に判定できるようにしている。なお、なりすましを防ぐ仕組みの詳細は後述する。
【００２１】
このように、図１のＷｅｂサービス利用システムでは、独自のデバイスコントロール用のＩ／Ｆ、ＵＩ用のＩ／Ｆ、情報処理装置特有のプログラミング作法を、情報処理装置１ａ，１ｂが提供するＷｅｂサービスで隠蔽することができるので、Ｗｅｂアプリを構築する程度の技術で情報処理装置１ａ，１ｂの機能を制御するアプリケーションの開発・カスタマイズが可能である。
【００２２】
次に、情報処理装置１ａ，１ｂの一例の構成について説明する。なお、何れかの情報処理装置を指す場合は、単に参照番号１を用いる。図２は、本発明の情報処理装置の一実施例の構成図である。情報処理装置１は、ハードウェア資源１０，起動部２０，ソフトウェア群３０を含むように構成されている。
【００２３】
ハードウェア資源１０は、操作部，機能Ａ，機能Ｂ等の複数のデバイス（ハードウェアリソース）を含む。情報処理装置１が画像形成装置である場合、ハードウェア資源１０はプロッタやスキャナ等を含む。
【００２４】
また、ソフトウェア群３０は、ＵＮＩＸ（登録商標）などのＯＳ上で実行されているアプリケーション４０とプラットフォーム５０とを含む。起動部２０は情報処理装置１の電源投入時に最初に実行され、アプリケーション４０やプラットフォーム５０をＯＳ上に起動するものである。
【００２５】
アプリケーション４０はＷｅｂサービス実行アプリを含む。また、プラットフォーム５０はコントロールサービス５１，ＳＲＭ（システムリソースマネージャ）５２，ハンドラ層５３を含む。さらに、プラットフォーム５０はＡＰＩ（アプリケーションプログラムインターフェース）５４を含むように構成されている。なお、情報処理装置１は必要最小限のアプリケーション４０を搭載しておき、サーバ装置２との通信がオフラインのときに利用するようにしてもよい。
【００２６】
コントロールサービス５１は、ＯＣＳ（操作部コントロールサービス）と，ＳＣＳ（システムコントロールサービス）と，ＥＣＳ（エンジンコントロールサービス）と，ＭＣＳ（メモリコントロールサービス）と，ＮＣＳ（ネットワークコントロールサービス）とを含むように構成されている。また、ハンドラ層５３は、ＣＵＨ（コントロールユニットハンドラ）及びＩＭＨ（イメージメモリハンドラ）を含む。
【００２７】
なお、ＯＳは、アプリケーション４０およびプラットフォーム５０の各ソフトウェアをプロセスとして並列実行する。ＯＣＳのプロセスは、ユーザと本体制御との間の情報伝達手段となる操作部の制御を行う。ＳＣＳのプロセスは、システムを制御するための処理を行う。ＥＣＳのプロセスは、ハードウェア資源１０のエンジン部の制御を行う。
【００２８】
ＭＣＳのプロセスは、メモリ制御を行う。ＮＣＳのプロセスは、データを送受信する際の仲介を行う。ＳＲＭ５２のプロセスは、ＳＣＳと共にシステムの制御およびハードウェア資源１０の管理を行う。
【００２９】
また、ハンドラ層５３は後述するＣＵ（コントロールユニット）の管理を行うＣＵＨ（コントロールユニットハンドラ）と、プロセスに対するメモリ領域の割り振り及びプロセスに割り振ったメモリ領域の管理を行うＩＭＨ（イメージメモリハンドラ）とを含む。ＳＲＭ５２およびＣＵＨは、エンジンＩ／Ｆを利用して、ハードウェア資源１０に対する処理要求を行う。図２の構成により、情報処理装置１はアプリケーション４０で共通的に必要な処理をプラットフォーム５０で一元的に処理することができる。
【００３０】
図３は、本発明の情報処理装置の一実施例のハードウェア構成図である。情報処理装置１は、コントローラ６０と，操作部６１と，ＣＵ６２と，エンジン部６３とを含むように構成されている。
【００３１】
コントローラ６０は、ＣＰＵ，システムメモリ，ローカルメモリ，ＨＤＤ（ハードディスクドライブ），ＮＢ（ノースブリッジ），ＡＳＩＣ，ＳＢ（サウスブリッジ），ＮＩＣ（ネットワークインターフェースカード），ＵＳＢＩ／Ｆ，ＩＥＥＥ１３９４Ｉ／Ｆ，セントロニクスＩ／Ｆなどを含む。
【００３２】
ＣＰＵは、情報処理装置１の全体制御を行うものである。例えばＣＰＵは、ＯＳ上にプロセスを起動して実行させる。ＮＢはブリッジである。ＳＢは、ＰＣＩバスとＲＯＭや周辺デバイス等とを接続するためのブリッジである。システムメモリは、情報処理装置１の処理用メモリなどとして用いるメモリである。ローカルメモリは、処理用バッファなどとして用いるメモリである。
【００３３】
ＡＳＩＣは、処理用のハードウェア要素を有する処理用途向けのＩＣである。ＨＤＤは各種データ，プログラム等の蓄積を行うストレージ（補助記憶装置）の一例である。ＮＩＣは、情報処理装置１をネットワーク３に接続するインターフェース機器である。ＵＳＢデバイス，ＩＥＥＥ１３９４デバイスおよびセントロニクスは、夫々の規格に準じたインターフェースである。操作部６１は、ユーザからの入力操作を受け付けると共に、ユーザに向けた表示を行うものである。ＣＵ６２及びエンジン部６３は情報処理装置１のハードウェア資源１０を制御する。
【００３４】
情報処理装置１が画像形成装置である場合、図２に示す構成図及び図３に示すハードウェア構成図は例えば特開２００２−８４３８３号公報に記載されているようになる。したがって、図２の情報処理装置１を構成する各ブロックの機能や動作の詳細および図３の情報処理装置１を構成する各ブロックの機能や動作の詳細は、例えば特開２００２−８４３８３号公報に記載されている内容から容易に理解できる。
【００３５】
以下、本発明によるＷｅｂサービス利用システムの詳細について説明していく。ここではＷｅｂサービス利用システムに含まれる情報処理装置１がコピー機などの画像形成装置である例を説明する。図４は本発明によるＷｅｂサービス利用システムの一実施例のシステム構成図である。図４のＷｅｂサービス利用システムは、画像形成装置１００，サーバ装置２００，認証サーバ３００がネットワーク４００を介して接続されている。
【００３６】
図４の画像形成装置１００は、ネットワークＩ／Ｆ１０１，Ｗｅｂブラウザ１０２，Ｗｅｂサービスサーバ１０３，認証証明書１０４，操作部１０５，証明情報１０６，プロッタ１０７及びスキャナ１０８を含むように構成されている。Ｗｅｂブラウザ１０２は、ＨＴＭＬ解析部１０６，表示管理部１０７を含むように構成されている。
【００３７】
サーバ装置２００は、アプリケーション２０１，ネットワークＩ／Ｆ２０２を含むように構成されている。アプリケーション２０１は、画面フロー制御部２０３，画面構築部２０４，鍵情報２０５，認証部２０６，Ｗｅｂサーバ２０７，Ｗｅｂサービスクライアント２０８を含むように構成されている。
【００３８】
認証サーバ３００は、認証モジュール３０１，ネットワークＩ／Ｆ３０２を含むように構成されている。認証モジュール３０１は、認証部３０３，鍵管理情報３０４を含むように構成されている。
【００３９】
図４の構成のうち、認証サーバ３００は後述する鍵を認証サーバ３００で生成する実施例で必要な構成であり、必須な構成ではない。また、サーバ装置２００の認証部２０６及び鍵情報２０５は鍵をサーバ装置２００で生成する実施例で必要な構成である。なお、鍵を画像形成装置１００で生成する場合は、画像形成装置１００に認証部および鍵情報が必要となる。
【００４０】
サーバ装置２００は、アプリケーション２０１を備えている。画像形成装置１００はプロッタ１０７，スキャナ１０８等の１つ以上の機能を備えている。画像形成装置１００は機能をネットワーク４００経由でサーバ装置２００のアプリケーション２０１から制御させるＷｅｂサービスをＷｅｂサービスサーバ１０３によって提供する。さらに、画像形成装置１００はＷｅｂブラウザ１０２を表示可能な操作部１０５を備えている。
【００４１】
図４のＷｅｂサービス利用システムでは、画像形成装置１００が提供するＷｅｂサービスを利用してサーバ装置２００上でアプリケーション２０１を構築し、そのアプリケーション２０１のＵＩをサーバ装置２００のＷｅｂサーバ２０７で提供する。画像形成装置１００は、ＷｅｂクライアントとしてのＷｅｂブラウザ１０２でアプリケーション２０１のＵＩを操作部１０５に表示する。ユーザは、操作部１０５に表示されたアプリケーション２０１のＵＩからサーバ装置２００上に構築されたアプリケーション２０１を操作することができる。
【００４２】
ユーザがアプリケーション２０１のＵＩから動作を指示すると、その指示は、画像形成装置１００のＷｅｂブラウザ１０２からサーバ装置２００のＷｅｂサーバ２０７に送信される。サーバ装置２００のアプリケーション２０１は指示に応じて、Ｗｅｂサービスクライアント２０８から画像形成装置１００のＷｅｂサービスサーバ１０３に動作指示を送信する。なお、画像形成装置１００の連携時には、サーバ装置２００のＷｅｂサービスクライアント２０８から他の画像形成装置のＷｅｂサービスサーバに動作指示を送信する。
【００４３】
また、画像形成装置１００及びサーバ装置２００間の通信では、画像形成装置１００のＷｅｂブラウザ１０２がアクセスしたサーバ装置２００のアプリケーション２０１以外がサーバ装置２００のアプリケーション２０１になりすまして、画像形成装置１００のＷｅｂサービスを利用することを防ぐ仕組みを設けている。
【００４４】
即ち、本発明によるＷｅｂサービス利用システムでは、画像形成装置１００のＷｅｂブラウザ１０２からサーバ装置２００のＷｅｂサーバ２０７への指示と、サーバ装置２００のＷｅｂサービスクライアント２０８から画像形成装置１００のＷｅｂサービスサーバ１０３への動作指示とに、例えば身元情報の照会などによる認証で関連性を持たせることにより、動作指示を行ったアプリケーション２０１が正規のアプリケーションであるか否かを容易に判定できるようにしている。
【００４５】
図４のＷｅｂサービス利用システムは、Ｍｏｄｅｌ，Ｖｉｅｗ及びＣｏｎｔｒｏｌｌｅｒから成るＭＶＣモデルを構築している。Ｍｏｄｅｌは、ロジックを担当する。Ｖｉｅｗは、表示や入出力を担当する。Ｃｏｎｔｒｏｌｌｅｒは、Ｍｏｄｅｌ及びＶｉｅｗの制御を担当する。具体的に、ＣｏｎｔｒｏｌｌｅｒはＶｉｅｗからの入力に応じて必要なロジックの実行をＭｏｄｅｌに依頼し、結果の表示をＶｉｅｗに依頼する。
【００４６】
例えば図４のＷｅｂサービス利用システムにおけるＶｉｅｗは、ＵＩをサーバ装置２００上で構築し、画像形成装置１００上のＷｅｂブラウザ１０２で表示し、設定値などの入出力を行うものである。例えばＶｉｅｗは、情報の表示，情報の表示変更，情報の変更指示，処理の実行指示などを行う。
【００４７】
Ｍｏｄｅｌは、プロッタ１０７，スキャナ１０８などの機能を制御するＷｅｂサービスである。例えばＭｏｄｅｌは、スキャナ１０８を起動し、画像を電子データ化する。Ｃｏｎｔｒｏｌｌｅｒは、Ｗｅｂブラウザ１０２からの要求に応じて適切なＷｅｂサービスをサーバ装置２００から利用するものである。
【００４８】
例えばＣｏｎｔｒｏｌｌｅｒはコピー処理の動作指示を受けると、処理内容に従ってスキャナ１０８でスキャンを実行し、プロッタ１０７で印字を実行する。即ち、Ｃｏｎｔｒｏｌｌｅｒは画像形成アプリのロジックが実装されている。
【００４９】
画像形成装置１００上の操作部１０５に表示されているＶｉｅｗからの指示は、サーバ装置２００のＣｏｎｔｒｏｌｌｅｒによって、画像形成装置１００の適切なＭｏｄｅｌを実行する。これにより、画像形成装置１００のユーザは、画像形成装置１００上のアプリケーションを使っているのと同じように、サーバ装置２００上の画像形成アプリを利用することができる。
【００５０】
このように、本発明によるＷｅｂサービス利用システムでは、ＵＩ構築をＷｅｂブラウザ用のＵＩ、デバイスコントロールをＷｅｂサービスクライアント、実行環境をサーバ装置２００、プログラミング作法をＷｅｂサービスサーバ１０３内で行う為、アプリケーションの開発・カスタマイズが容易である。
【００５１】
本発明によるＷｅｂサービス利用システムは図５のクラス図で表すことができる。図５は本発明によるＷｅｂサービス利用システムを表したクラス図である。図５のクラス図では、Ｗｅｂサービス利用システムを、機器クラス５０１，ブラウザクラス５０２，ＷｅｂＳｅｒｖｉｃｅクラス５０３，認証証明書クラス５０４，Ｗｅｂアプリクラス５０５，ＷＳ連携アプリフレームワーククラス５０６，ＷＳ連携アプリケーションクラス５０７，機器制御コンポーネントクラス５０８，鍵による証明書クラス５０９，身元情報による証明書クラス５１０，署名による証明書クラス５１１，排他ありＷＳクラス５１２，排他なしＷＳクラス５１３，ＣｏｐｙＳｅｒｖｉｃｅクラス５１４，ＳｃａｎＳｅｒｖｉｃｅクラス５１５，ＰｒｉｎｔＳｅｒｖｉｃｅクラス５１６，画面クラス５１７及びビジネスロジッククラス５１８と、各クラスの関係とにより表している。
【００５２】
例えば機器クラス５０１は画像形成装置１００に相当する。機器クラス５０１はブラウザクラス５０２及びＷｅｂＳｅｒｖｉｃｅクラス５０３を構成要素として含む。ブラウザクラス５０２はＷｅｂブラウザ１０２に相当する。ＷｅｂＳｅｒｖｉｃｅクラス５０３はＷｅｂサービスサーバ１０３に相当する。
【００５３】
ＷｅｂＳｅｒｖｉｃｅクラス５０３は、排他ありＷＳクラス５１２，排他なしＷＳクラス５１３が更に定義されている。排他ありＷＳクラス５１２は、ＣｏｐｙＳｅｒｖｉｃｅクラス５１４，ＳｃａｎＳｅｒｖｉｃｅクラス５１５が更に定義されている。排他なしＷＳクラス５１３は、ＰｒｉｎｔＳｅｒｖｉｃｅ５１６が更に定義されている。
【００５４】
ブラウザクラス５０２は、認証証明書クラス５０４と一対一に対応している。認証証明書クラス５０４は認証証明書１０４に相当する。認証証明書クラス５０４は、鍵による証明書クラス５０９，身元情報による証明書クラス５１０，署名による証明書クラス５１１が更に定義されている。認証証明書クラス５０４は排他ありＷＳクラス５１２の場合にＷｅｂＳｅｒｖｉｃｅクラス５０３と１つだけ対応する。認証証明書クラス５０４は排他なしＷＳクラス５１３の場合にＷｅｂＳｅｒｖｉｃｅクラス５０３と対応しない。
【００５５】
ブラウザクラス５０２は、Ｗｅｂアプリクラス５０５と１つだけ対応するが、対応しないときもある。Ｗｅｂアプリクラス５０５はＷｅｂサーバ２０７に相当する。ＷＳ連携アプリフレームワーククラス５０６は、Ｗｅｂアプリクラス５０５を構成要素として含む。ＷＳ連携アプリフレームワーククラス５０６はＷｅｂアプリクラス５０５と１つだけ対応する。
【００５６】
ＷＳ連携アプリフレームワーククラス５０６は、ＷＳ連携アプリケーションクラス５０７が更に定義されている。ＷＳ連携アプリケーションクラス５０７は、アプリケーション２０１に相当する。ＷＳ連携アプリケーションクラス５０７は、画面クラス５１７及びビジネスロジッククラス５１８を構成要素として含む。画面クラス５１７及びビジネスロジッククラス５１８は画面フロー制御部２０３及び画面構築部２０４に相当する。
【００５７】
更に、ＷＳ連携アプリフレームワーククラス５０６は、機器制御コンポーネントクラス５０８を構成要素として含む。機器制御コンポーネントクラス５０８はＷｅｂサービスクライアント２０８に相当する。機器制御コンポーネントクラス５０８はＷｅｂＳｅｒｖｉｃｅクラス５０３と対応するが、対応しないときもある。
【００５８】
図５の各クラスにより実現されるモジュールの処理フローを図６に示す。なお、図６の処理フローでは一例としてスキャン処理を示している。ステップＳ１に進み、ブラウザクラス５０２により実現されるブラウザモジュール６０１がユーザにより起動される。ステップＳ２に進み、ブラウザモジュール６０１はＷｅｂアプリクラス５０５により実現されるＷｅｂアプリモジュール６０６に、トップページへアクセスする為のｈｔｔｐリクエストメッセージを送信する。
【００５９】
ステップＳ３に進み、Ｗｅｂアプリモジュール６０６はブラウザモジュール６０１からトップページへアクセスする為のｈｔｔｐリクエストメッセージを受け付ける。ステップＳ４に進み、Ｗｅｂアプリモジュール６０６はｈｔｔｐリクエストメッセージを送信した機器の機器アドレスを保持する。
【００６０】
ステップＳ５に進み、ＷＳ連携アプリケーションクラス５０７により実現されるＷＳ連携アプリケーションモジュール６０５はＷｅｂアプリモジュール６０６からｈｔｔｐリクエストメッセージに対応するリクエスト情報（トップページへのアクセス）を取得する。
【００６１】
ステップＳ６に進み、ＷＳ連携アプリケーションモジュール６０５はリクエスト情報に応じてビジネスロジックの処理を行う。ステップＳ７に進み、ＷＳ連携アプリケーションモジュール６０５はビジネスロジックの処理に応じて画面作成を行う。
【００６２】
ステップＳ８に進み、Ｗｅｂアプリモジュール６０６は自機の身元を証明する身元情報をトップページの画面情報に添付する。ステップＳ９に進み、Ｗｅｂアプリモジュール６０６はブラウザモジュール６０１へ、ｈｔｔｐリクエストメッセージに対するレスポンスを送信する。
【００６３】
ステップＳ１０に進み、ブラウザモジュール６０１は受信したレスポンスに応じて画面描画を行う。ステップＳ１１に進み、認証証明書クラス５０４により実現される認証証明書モジュール６０２はＷｅｂアプリモジュール６０６から受信した身元情報をもとに証明書を作成する。
【００６４】
ステップＳ１２に進み、ブラウザモジュール６０１がユーザによりＳｕｂｍｉｔボタンを押される。ステップＳ１３に進み、ブラウザモジュール６０１は、ｈｔｔｐリクエストメッセージをＷｅｂアプリモジュール６０６に送信する。ステップＳ１４に進み、Ｗｅｂアプリモジュール６０６はブラウザモジュール６０１からｈｔｔｐリクエストメッセージを受け付ける。
【００６５】
ステップＳ１５に進み、ＷＳ連携アプリケーションモジュール６０５は、Ｗｅｂアプリモジュール６０６からリクエスト情報を取得する。ステップＳ１６に進み、ＷＳ連携アプリケーションモジュール６０５は、リクエスト情報に応じてビジネスロジックの処理を行う。ステップＳ１７に進み、ＷＳ連携アプリケーションモジュール６０５はビジネスロジックの処理に応じて画面作成を行う。
【００６６】
ステップＳ１８に進み、Ｗｅｂアプリモジュール６０６は作成した画面をｈｔｔｐリクエストメッセージに対するレスポンスとしてブラウザモジュール６０１へ送信する。ブラウザモジュール６０１は受信したレスポンスに応じて画面描画を行う。
【００６７】
また、ステップＳ１６に続いてステップＳ１９に進み、機器制御コンポーネントクラス５０８により実現される機器制御コンポーネントモジュール６０７は、自機の身元を証明する身元情報を添付したスキャン要求メッセージを作成する。ステップＳ２０に進み、機器制御コンポーネントモジュール６０７はステップＳ４で保存した機器アドレスの機器を特定し、その機器のＷｅｂＳｅｒｖｉｃｅクラス５０３により実現されるＷｅｂＳｅｒｖｉｃｅモジュール６０３に身元情報を添付したスキャン要求メッセージを送信する。
【００６８】
ステップＳ２１に進み、ＷｅｂＳｅｒｖｉｃｅモジュール６０３は機器制御コンポーネントモジュール６０７から身元情報を添付したスキャン要求メッセージを受信する。ステップＳ２２に進み、認証証明書モジュール６０２はスキャン要求メッセージに添付されている身元情報と、証明書の身元情報との照会を行う。
【００６９】
ステップＳ２３に進み、身元情報が一致すれば、ＷｅｂＳｅｒｖｉｃｅモジュール６０３はステップＳ２４に進み、ＷｅｂＳｅｒｖｉｃｅモジュール６０３の処理としてスキャン処理を実行する。なお、身元情報が一致しなければ、ＷｅｂＳｅｒｖｉｃｅモジュール６０３はステップＳ２５に進み、例えば機器制御コンポーネントモジュール６０７等にエラーを返す。
【００７０】
このように、本発明によるＷｅｂサービス利用システムではブラウザモジュール６０１からＷｅｂアプリモジュール６０６へのリクエストと、機器制御コンポーネントモジュール６０７からＷｅｂＳｅｒｖｉｃｅモジュール６０３へのリクエストとに、身元情報の照会等による認証で関連性を持たせることにより、リクエストを行った機器制御コンポーネントモジュール６０７が正規のアプリケーションであるか否かを容易に判定することができる。
【００７１】
なお、認証は身元情報を使用する認証方式の他、鍵を使った認証方式や署名による認証方式であってもよい。図７は本発明によるＷｅｂサービス利用システムに利用可能な認証方式の一例を示した表である。
【００７２】
鍵を使った認証方式では、Ｗｅｂサーバ２０７へのアクセス時に登録する情報として鍵を利用し、Ｗｅｂサービスクライアント２０８がＷｅｂサービスサーバ１０３に送る情報として鍵を利用し、Ｗｅｂサービスクライアント２０８がＷｅｂサービスサーバ１０３に送った鍵とＷｅｂサーバ２０７へのアクセス時に登録された鍵とが一致するかどうかによる照会方法を利用する。
【００７３】
なお、鍵は例えば図８の構造を利用できる。鍵に含まれる情報としては、機器のホスト名，アプリケーション（Ｗｅｂアプリケーション）のＵＲＬ，アプリケーションにアクセスした時刻，ランダムな文字列などが考えられる。
【００７４】
身元情報を使った認証方式では、Ｗｅｂサーバ２０７へのアクセス時に登録する情報としてＷｅｂサーバ２０７の身元情報（例えばホスト名やＳＳＬ証明書など）を利用し、Ｗｅｂサービスクライアント２０８がＷｅｂサービスサーバ１０３に送る情報として身元情報を利用し、Ｗｅｂサービスクライアント２０８がＷｅｂサービスサーバ１０３に送った身元情報とＷｅｂサーバ２０７へのアクセス時に登録された身元情報とが一致するかどうかによる照会方法を利用する。
【００７５】
署名による認証方式では、Ｗｅｂサーバ２０７へのアクセス時に登録する情報としてＷｅｂサーバ２０７の公開鍵を利用し、Ｗｅｂサービスクライアント２０８がＷｅｂサービスサーバ１０３に送る情報として署名付きのＳＯＡＰメッセージを利用し、署名付きのＳＯＡＰメッセージがＷｅｂサーバ２０７の公開鍵で解読できるかどうかによる照会方法を利用する。
【００７６】
上述したＷｅｂサービス利用システムにおける処理のバリエーションを、以下の実施例に基づき説明していく。なお、以下の説明では一例としてスキャン処理を示す。本発明は具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【実施例１】
【００７７】
図９は認証サーバで生成した鍵を使う認証方式を表したシーケンス図である。ステップＳ１０１に進み、ユーザは画像形成装置９０２の操作部１０５を操作することで画像形成装置９０２にブラウザモジュール９１０を起動させる。
【００７８】
ステップＳ１０２に進み、ブラウザモジュール９１０はサーバ装置９０３のＷｅｂアプリモジュール９１３にスタート画面取得をリクエストする。ステップＳ１０３に進み、Ｗｅｂアプリモジュール９１３はブラウザモジュール９１０からのリクエストに対するレスポンスとして、スタート画面及び自機の身元情報Ｍ１をブラウザモジュール９１０に送信する。
【００７９】
ブラウザモジュール９１０は操作部１０５にスタート画面を表示する。ステップＳ１０４に進み、ユーザは操作部１０５のスキャン開始キーを押下する。ユーザによりスキャン開始キーが押下されると、ブラウザモジュール９１０はステップＳ１０５に進み、鍵による証明書モジュール９１１に鍵の登録をリクエストする。鍵による証明書モジュール９１１は、鍵による証明書クラス５０９により実現される。
【００８０】
ステップＳ１０６に進み、鍵による証明書モジュール９１１は認証サーバ９０４の認証モジュール９１４に対し、身元情報Ｍ１の身元情報登録をリクエストする。ステップＳ１０７に進み、認証モジュール９１４は身元情報Ｍ１から鍵ＰＫ１を生成し、その鍵ＰＫ１を登録すると共に、鍵による証明書モジュール９１１に鍵ＰＫ１を送信する。ステップＳ１０８に進み、鍵による証明書モジュール９１１は鍵の登録のリクエストに対するレスポンスとして、鍵ＰＫ１をブラウザモジュール９１０に送信する。
【００８１】
ステップＳ１０９に進み、ブラウザモジュール９１０はサーバ装置９０３のＷｅｂアプリモジュール９１３に対し、鍵ＰＫ１を添付してスキャン実行をリクエストする。スキャン実行をリクエストされたＷｅｂアプリモジュール９１３はステップＳ１１０に進み、スキャン中画面をブラウザモジュール９１０に送信する。ブラウザモジュール９１０は操作部１０５にスキャン中画面を表示して、ユーザにスキャン中であることを示す。
【００８２】
また、ステップＳ１１１に進み、Ｗｅｂアプリモジュール９１３はスキャン開始指示および鍵ＰＫ１を含むＳＯＡＰリクエストを、ＳｃａｎＳｅｒｖｉｃｅクラス５１５により実現される画像形成装置９０２のスキャンサービスモジュール９１２に送信する。ステップＳ１１２に進み、スキャンサービスモジュール９１２は鍵による証明書モジュール９１１に鍵ＰＫ１の照会をリクエストする。
【００８３】
ステップＳ１１３に進み、鍵による証明書モジュール９１１は認証サーバ９０４の認証モジュール９１４に対し、鍵ＰＫ１の照合をリクエストする。認証モジュール９１４は照合のリクエストのあった鍵ＰＫ１と既に登録されている鍵とが一致するかどうかによって照合を行う。すなわち、本発明によるＷｅｂサービス利用システムでは、ステップＳ１０９でスキャン実行を指示する指示先と、ステップＳ１１１でスキャン開始を指示される指示元とが同一であるか否かを容易に判定できる。照合が成功すると、認証モジュール９１４はステップＳ１１４に進み、鍵による証明書モジュール９１１に鍵ＰＫ１の照合が成功したことを通知する。
【００８４】
ステップＳ１１５に進み、鍵による証明書モジュール９１１は鍵ＰＫ１の照合ＯＫをスキャンサービスモジュール９１２に通知する。ステップＳ１１６に進み、スキャンサービスモジュール９１２はスキャンを実行する。ステップＳ１１７に進み、スキャンサービスモジュール９１２はステップＳ１１１のＳＯＡＰリクエストに対するレスポンスをＷｅｂアプリモジュール９１３に送信する。
【実施例２】
【００８５】
図１０は画像形成装置で生成した鍵を使う認証方式を表したシーケンス図である。ステップＳ２０１に進み、ユーザは画像形成装置９０２の操作部１０５を操作することで画像形成装置９０２にブラウザモジュール９１０を起動させる。
【００８６】
ステップＳ２０２に進み、ブラウザモジュール９１０はサーバ装置９０３のＷｅｂアプリモジュール９１３にスタート画面取得をリクエストする。ステップＳ２０３に進み、Ｗｅｂアプリモジュール９１３はブラウザモジュール９１０からのリクエストに対するレスポンスとして、スタート画面及び自機の身元情報Ｍ１をブラウザモジュール９１０に送信する。
【００８７】
ステップＳ２０４に進み、ブラウザモジュール９１０は鍵による証明書モジュール９１１に鍵の登録をリクエストする。ステップＳ２０５に進み、鍵による証明書モジュール９１１は身元情報Ｍ１から鍵Ｋ１を生成し、その鍵Ｋ１を登録する。鍵による証明書モジュール９１１は鍵の登録のリクエストに対するレスポンスとして、鍵Ｋ１をブラウザモジュール９１０に送信する。
【００８８】
ブラウザモジュール９１０は操作部１０５にスタート画面を表示する。ステップＳ２０７に進み、ユーザは操作部１０５のスキャン開始キーを押下する。ユーザによりスキャン開始キーが押下されると、ブラウザモジュール９１０はステップＳ２０８に進み、サーバ装置９０３のＷｅｂアプリモジュール９１３に対し、鍵Ｋ１を添付してスキャン実行をリクエストする。スキャン実行をリクエストされたＷｅｂアプリモジュール９１３はステップＳ２０９に進み、スキャン中画面をブラウザモジュール９１０に送信する。ブラウザモジュール９１０は操作部１０５にスキャン中画面を表示して、ユーザにスキャン中であることを示す。
【００８９】
また、ステップＳ２１１に進み、Ｗｅｂアプリモジュール９１３はスキャン開始指示および鍵Ｋ１を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する。ステップＳ２１２に進み、スキャンサービスモジュール９１２は鍵による証明書モジュール９１１に鍵Ｋ１の照会をリクエストする。
【００９０】
ステップＳ２１３に進み、鍵による証明書モジュール９１１は照合のリクエストのあった鍵Ｋ１と既に登録されている鍵とが一致するかどうかによって照合を行う。即ち、本発明によるＷｅｂサービス利用システムでは、ステップＳ２０８でスキャン実行を指示する指示先と、ステップＳ２１１でスキャン開始を指示される指示元とが同一であるか否かを容易に判定できる。照合が成功すると、鍵による証明書モジュール９１１は、スキャンサービスモジュール９１２に鍵Ｋ１の照合が成功したことを通知する。
【００９１】
鍵Ｋ１の照合が成功したことを通知されると、スキャンサービスモジュール９１２はステップＳ２１４に進み、スキャンを実行する。スキャンの実行が開始されると、スキャンサービスモジュール９１２はステップＳ２１５に進み、ステップＳ２１１のＳＯＡＰリクエストに対するレスポンスをＷｅｂアプリモジュール９１３に送信する。
【００９２】
なお、サーバ装置９０３以外のサーバ装置９０５に含まれるＷｅｂアプリモジュール９１５からスキャン開始指示および鍵Ｋ２を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する例を説明する。
【００９３】
ステップＳ２１６に進み、Ｗｅｂアプリモジュール９１５はスキャン開始指示および鍵Ｋ２を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する。ステップＳ２１７に進み、スキャンサービスモジュール９１２は鍵による証明書モジュール９１１に鍵Ｋ２の照会をリクエストする。
【００９４】
ステップＳ２１８に進み、鍵による証明書モジュール９１１は照合のリクエストのあった鍵Ｋ２と既に登録されている鍵Ｋ１とが一致しないため、照合が失敗したことをスキャンサービスモジュール９１２に通知する。鍵Ｋ２の照合が失敗したことを通知されると、スキャンサービスモジュール９１２はステップＳ２１９に進み、ステップＳ２１６のＳＯＡＰリクエストに対するレスポンスとして照合の失敗をＷｅｂアプリモジュール９１５に送信する。
【実施例３】
【００９５】
図１１はサーバ装置で生成した鍵を使う認証方式を表したシーケンス図である。ステップＳ３０１に進み、ユーザは画像形成装置９０２の操作部１０５を操作することで画像形成装置９０２にブラウザモジュール９１０を起動させる。
【００９６】
ステップＳ３０２に進み、ブラウザモジュール９１０はサーバ装置９０３のＷｅｂアプリモジュール９１３にスタート画面取得をリクエストする。ステップＳ３０３に進み、Ｗｅｂアプリモジュール９１３は自機の身元情報Ｍ１から鍵Ｋ１を生成する。ステップＳ３０４に進み、Ｗｅｂアプリモジュール９１３はブラウザモジュール９１０からのリクエストに対するレスポンスとして、スタート画面及び鍵Ｋ１をブラウザモジュール９１０に送信する。
【００９７】
ステップＳ３０５に進み、ブラウザモジュール９１０は鍵による証明書モジュール９１１に鍵の登録をリクエストする。ステップＳ３０６に進み、鍵による証明書モジュール９１１は鍵Ｋ１を登録する。鍵による証明書モジュール９１１は鍵の登録のリクエストに対するレスポンスをブラウザモジュール９１０に送信する。
【００９８】
ブラウザモジュール９１０は操作部１０５にスタート画面を表示する。ステップＳ３０７に進み、ユーザは操作部１０５のスキャン開始キーを押下する。ユーザによりスキャン開始キーが押下されると、ブラウザモジュール９１０はステップＳ３０８に進み、サーバ装置９０３のＷｅｂアプリモジュール９１３に対し、鍵Ｋ１を添付してスキャン実行をリクエストする。スキャン実行をリクエストされたＷｅｂアプリモジュール９１３はステップＳ３０９に進み、スキャン中画面をブラウザモジュール９１０に送信する。ブラウザモジュール９１０は操作部１０５にスキャン中画面を表示して、ユーザにスキャン中であることを示す。
【００９９】
ステップＳ３１０に進み、Ｗｅｂアプリモジュール９１３はスキャン開始指示および鍵Ｋ１を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する。ステップＳ３１１に進み、スキャンサービスモジュール９１２は鍵による証明書モジュール９１１に鍵Ｋ１の照会をリクエストする。
【０１００】
ステップＳ３１２に進み、鍵による証明書モジュール９１１は照合のリクエストのあった鍵Ｋ１と既に登録されている鍵とが一致するかどうかによって照合を行う。即ち、本発明によるＷｅｂサービス利用システムでは、ステップＳ３０８でスキャン実行を指示する指示先と、ステップＳ３１０でスキャン開始を指示される指示元とが、同一であるか否かを容易に判定できる。照合が成功すると、鍵による証明書モジュール９１１は、スキャンサービスモジュール９１２に鍵Ｋ１の照合が成功したことを通知する。
【０１０１】
鍵Ｋ１の照合が成功したことを通知されると、スキャンサービスモジュール９１２はステップＳ３１３に進み、スキャンを実行する。スキャンの実行が開始されたあと、スキャンサービスモジュール９１２はステップＳ３１４に進み、ステップＳ３１０のＳＯＡＰリクエストに対するレスポンスをＷｅｂアプリモジュール９１３に送信する。
【０１０２】
なお、サーバ装置９０３以外のサーバ装置９０５に含まれるＷｅｂアプリモジュール９１５からスキャン開始指示および鍵Ｋ２を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する例を説明する。
【０１０３】
ステップＳ３１５に進み、ユーザは画像形成装置９０２の操作部１０５を操作することで画像形成装置９０２にブラウザモジュール９１０を起動させる。ステップＳ３１６に進み、Ｗｅｂアプリモジュール９１５はスキャン開始指示および鍵Ｋ２を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する。ステップＳ３１７に進み、スキャンサービスモジュール９１２はブラウザモジュール９１０に鍵Ｋ２の照会をリクエストする。
【０１０４】
ステップＳ３１８に進み、ブラウザモジュール９１０は照合のリクエストのあった鍵Ｋ２と既に登録されている鍵Ｋ１とが一致しない為、照合が失敗したことをスキャンサービスモジュール９１２に通知する。
【０１０５】
鍵Ｋ２の照合が失敗したことを通知されると、スキャンサービスモジュール９１２はステップＳ３１９に進み、ステップＳ３１６のＳＯＡＰリクエストに対するレスポンスとして照合の失敗をＷｅｂアプリモジュール９１５に送信する。
【実施例４】
【０１０６】
図１２は身元情報を使う認証方式を表したシーケンス図である。ステップＳ４０１に進み、ユーザは画像形成装置９０２の操作部１０５を操作することで画像形成装置９０２にブラウザモジュール９１０を起動させる。
【０１０７】
ステップＳ４０２に進み、ブラウザモジュール９１０はサーバ装置９０３のＷｅｂアプリモジュール９１３にスタート画面取得をリクエストする。ステップＳ４０３に進み、Ｗｅｂアプリモジュール９１３はブラウザモジュール９１０からのリクエストに対するレスポンスとして、スタート画面及び自機の身元情報Ｍ１をブラウザモジュール９１０に送信する。自機の身元情報Ｍ１としては、ＳＳＬ証明書、ＩＰアドレス等がある。
【０１０８】
ステップＳ４０４に進み、ブラウザモジュール９１０は身元情報による証明書クラス５１０により実現される、身元情報による証明書モジュール９１６に身元情報Ｍ１の登録をリクエストする。身元情報による証明書モジュール９１６は身元情報Ｍ１を登録する。
【０１０９】
ブラウザモジュール９１０は操作部１０５にスタート画面を表示する。ステップＳ４０５に進み、ユーザは操作部１０５のスキャン開始キーを押下する。ユーザによりスキャン開始キーが押下されると、ブラウザモジュール９１０はステップＳ４０６に進み、サーバ装置９０３のＷｅｂアプリモジュール９１３に対し、スキャン実行をリクエストする。
【０１１０】
Ｗｅｂアプリモジュール９１３はステップＳ４０７に進み、スキャン中画面をブラウザモジュール９１０に送信する。ブラウザモジュール９１０は操作部１０５にスキャン中画面を表示して、ユーザにスキャン中であることを示す。
【０１１１】
また、ステップＳ４０８に進み、Ｗｅｂアプリモジュール９１３はスキャン開始指示および身元情報Ｍ１を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する。ステップＳ４０９に進み、スキャンサービスモジュール９１２は身元情報による証明書モジュール９１６に身元情報Ｍ１の照会をリクエストする。
【０１１２】
ステップＳ４１０に進み、身元情報による証明書モジュール９１６は、照合のリクエストのあった身元情報Ｍ１と既に登録されている身元情報とが一致するかどうかによって照合を行っている。すなわち、本発明によるＷｅｂサービス利用システムでは、ステップＳ４０６でスキャン実行を指示する指示先と、ステップＳ４０８でスキャン開始を指示される指示元とが同一であるか否かを容易に判定できる。照合が成功すると、身元情報による証明書モジュール９１６は、スキャンサービスモジュール９１２に身元情報Ｍ１の照合が成功したことを通知する。
【０１１３】
身元情報Ｍ１の照合が成功したことを通知されると、スキャンサービスモジュール９１２はステップＳ４１１に進み、スキャンを実行する。スキャンの実行が開始されると、スキャンサービスモジュール９１２はステップＳ４１２に進み、ステップＳ４０８のＳＯＡＰリクエストに対するレスポンスをＷｅｂアプリモジュール９１３に送信する。
【０１１４】
なお、サーバ装置９０３以外のサーバ装置９０５に含まれるＷｅｂアプリモジュール９１５からスキャン開始指示および身元情報Ｍ２を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する例を説明する。
【０１１５】
ステップＳ４１３に進み、ユーザは画像形成装置９０２の操作部１０５を操作することで画像形成装置９０２にブラウザモジュール９１０を起動させる。ステップＳ４１４に進み、ブラウザモジュール９１０はサーバ装置９０５のＷｅｂアプリモジュール９１５にスタート画面取得をリクエストする。ステップＳ４１５に進み、Ｗｅｂアプリモジュール９１５はブラウザモジュール９１０からのリクエストに対するレスポンスとして、スタート画面及び自機の身元情報Ｍ２をブラウザモジュール９１０に送信する。ステップＳ４１６に進み、ブラウザモジュール９１０は身元情報による証明書モジュール９１６に身元情報Ｍ２の登録をリクエストする。身元情報による証明書モジュール９１６は身元情報Ｍ２を登録する。
【０１１６】
ブラウザモジュール９１０は操作部１０５にスタート画面を表示する。ステップＳ４１７に進み、サーバ装置９０３のＷｅｂアプリモジュール９１３はスキャン開始指示および身元情報Ｍ１を含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する。ステップＳ４１８に進み、スキャンサービスモジュール９１２は身元情報による証明書モジュール９１６に身元情報Ｍ１の照会をリクエストする。
【０１１７】
ステップＳ４１９に進み、身元情報による証明書モジュール９１６は照合のリクエストのあった身元情報Ｍ１と既に登録されている身元情報Ｍ２とが一致しないため、照合が失敗したことをスキャンサービスモジュール９１２に通知する。そして、身元情報Ｍ１の照合が失敗したことを通知されると、スキャンサービスモジュール９１２はステップＳ４２０に進み、ステップＳ４１７のＳＯＡＰリクエストに対するレスポンスとして照合の失敗をＷｅｂアプリモジュール９１３に送信する。
【実施例５】
【０１１８】
また、図１３は署名による認証方式を表したシーケンス図である。ステップＳ５０１に進み、ユーザは画像形成装置９０２の操作部１０５を操作することで画像形成装置９０２にブラウザモジュール９１０を起動させる。
【０１１９】
ステップＳ５０２に進み、ブラウザモジュール９１０はサーバ装置９０３のＷｅｂアプリモジュール９１３にスタート画面取得をリクエストする。ステップＳ５０３に進み、Ｗｅｂアプリモジュール９１３はブラウザモジュール９１０からのリクエストに対するレスポンスとして、スタート画面及び自機の公開鍵ＰＫ１をブラウザモジュール９１０に送信する。
【０１２０】
ステップＳ５０４に進み、ブラウザモジュール９１０は署名による証明書クラス５１１により実現される、署名による証明書モジュール９１７に公開鍵ＰＫ１の登録をリクエストする。署名による証明書モジュール９１７は公開鍵ＰＫ１を登録する。
【０１２１】
ブラウザモジュール９１０は操作部１０５にスタート画面を表示する。ステップＳ５０５に進み、ユーザは操作部１０５のスキャン開始キーを押下する。ユーザによりスキャン開始キーが押下されると、ブラウザモジュール９１０はステップＳ５０６に進み、サーバ装置９０３のＷｅｂアプリモジュール９１３に対し、スキャン実行をリクエストする。
【０１２２】
Ｗｅｂアプリモジュール９１３はステップＳ５０７に進み、スキャン中画面をブラウザモジュール９１０に送信する。ブラウザモジュール９１０は操作部１０５にスキャン中画面を表示して、ユーザにスキャン中であることを示す。
【０１２３】
ステップＳ５０８に進み、Ｗｅｂアプリモジュール９１３はスキャン開始メッセージに秘密鍵ＰＫ１で署名する。ステップＳ５０９に進み、Ｗｅｂアプリモジュール９１３は署名Ｍ１付きスキャン開始メッセージを含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する。
【０１２４】
ステップＳ５１０に進み、スキャンサービスモジュール９１２は、署名による証明書モジュール９１７に署名Ｍ１の照会をリクエストする。ステップＳ５１１に進み、署名による証明書モジュール９１７は、照合のリクエストのあった署名Ｍ１が既に登録されている公開鍵ＰＫ１で解読できるかどうかによって照合を行っている。
【０１２５】
即ち、本発明によるＷｅｂサービス利用システムでは、ステップＳ５０６でスキャン実行を指示する指示先と、ステップＳ５０９でスキャン開始を指示される指示元とが同一であるか否かを容易に判定できる。照合が成功すると、署名による証明書モジュール９１７は、スキャンサービスモジュール９１２に署名Ｍ１の照合が成功したことを通知する。
【０１２６】
署名Ｍ１の照合が成功したことを通知されると、スキャンサービスモジュール９１２はステップＳ５１２に進み、スキャンを実行する。スキャンの実行が開始されると、スキャンサービスモジュール９１２はステップＳ５１３に進み、ステップＳ５０９のＳＯＡＰリクエストに対するレスポンスをＷｅｂアプリモジュール９１３に送信する。
【０１２７】
なお、サーバ装置９０３以外のサーバ装置９０５に含まれるＷｅｂアプリモジュール９１５からＷｅｂアプリモジュール９１５の公開鍵ＰＫ２を含むＳＯＡＰリクエストを画像形成装置９０２のスキャンサービスモジュール９１２に送信する例を説明する。
【０１２８】
ステップＳ５１４に進み、ユーザは画像形成装置９０２の操作部１０５を操作することで画像形成装置９０２にブラウザモジュール９１０を起動させる。ステップＳ５１５に進み、ブラウザモジュール９１０はサーバ装置９０５のＷｅｂアプリモジュール９１５にスタート画面取得をリクエストする。ステップＳ５１６に進み、Ｗｅｂアプリモジュール９１５はブラウザモジュール９１０からのリクエストに対するレスポンスとして、スタート画面及び自機の公開鍵ＰＫ２をブラウザモジュール９１０に送信する。ステップＳ５１７に進み、ブラウザモジュール９１０は、署名による証明書モジュール９１７に公開鍵ＰＫ２の登録をリクエストする。署名による証明書モジュール９１７は公開鍵ＰＫ２を登録する。ブラウザモジュール９１０は操作部１０５にスタート画面を表示する。
【０１２９】
ステップＳ５１８に進み、サーバ装置９０３のＷｅｂアプリモジュール９１３は署名Ｍ１付きスキャン開始メッセージを含むＳＯＡＰリクエストを、画像形成装置９０２のスキャンサービスモジュール９１２に送信する。
【０１３０】
ステップＳ５１９に進み、スキャンサービスモジュール９１２は、署名による証明書モジュール９１７に署名Ｍ１の照会をリクエストする。ステップＳ５２０に進み、署名による証明書モジュール９１７は、照合のリクエストのあった署名Ｍ１と既に登録されている署名Ｍ２とが一致しないため、照合が失敗したことをスキャンサービスモジュール９１２に通知する。そして、スキャンサービスモジュール９１２はステップＳ５２１に進み、ステップＳ５１８のＳＯＡＰリクエストに対するレスポンスとして照合の失敗をＷｅｂアプリモジュール９１３に送信する。
【図面の簡単な説明】
【０１３１】
【図１】本発明によるＷｅｂサービス利用システムの一例の概念図である。
【図２】本発明の情報処理装置の一実施例の構成図である。
【図３】本発明の情報処理装置の一実施例のハードウェア構成図である。
【図４】本発明によるＷｅｂサービス利用システムの一実施例のシステム構成図である。
【図５】本発明によるＷｅｂサービス利用システムを表したクラス図である。
【図６】各クラスにより実現されるモジュールの処理フローである。
【図７】本発明によるＷｅｂサービス利用システムに利用可能な認証方式の一例を示した表である。
【図８】鍵の構造を示す図である。
【図９】認証サーバで生成した鍵を使う認証方式を表したシーケンス図である。
【図１０】画像形成装置で生成した鍵を使う認証方式を表したシーケンス図である。
【図１１】サーバ装置で生成した鍵を使う認証方式を表したシーケンス図である。
【図１２】身元情報を使う認証方式を表したシーケンス図である。
【図１３】署名による認証方式を表したシーケンス図である。
【符号の説明】
【０１３２】
１，１ａ，１ｂ    情報処理装置
２    サーバ装置
３    ネットワーク
４    ＵＩ
１００    画像形成装置
１０１    ネットワークＩ／Ｆ
１０２    Ｗｅｂブラウザ
１０３    Ｗｅｂサービスサーバ
１０４    認証証明書
１０５    操作部
１０６    証明情報
１０７    プロッタ
１０８    スキャナ
１０９    ＨＴＭＬ解析部
１１０    表示管理部
２００    サーバ装置
２０１    アプリケーション
２０２    ネットワークＩ／Ｆ
２０３    画面フロー制御部
２０４    画面構築部
２０５    鍵情報
２０６    認証部
２０７    Ｗｅｂサーバ
２０８    Ｗｅｂサービスクライアント
３００    認証サーバ
３０１    認証モジュール
３０２    ネットワークＩ／Ｆ
３０３    認証部
３０４    鍵管理情報
４００    ネットワーク
【図１】
2008003834.tif 000003
【図２】
2008003834.tif 000004
【図３】
2008003834.tif 000005
【図４】
2008003834.tif 000006
【図５】
2008003834.tif 000007
【図６】
2008003834.tif 000008
【図７】
2008003834.tif 000009
【図８】
2008003834.tif 000010
【図９】
2008003834.tif 000011
【図１０】
2008003834.tif 000012
【図１１】
2008003834.tif 000013
【図１２】
2008003834.tif 000014
【図１３】
2008003834.tif 000015