(57)【要約】      （修正有）【課題】装置モジュールの修正を控えながら、クライアントアプリケーションで用意されている様々なプロトコルに対応できるようにする。【解決手段】MFPは、複数のSDPサービス、複数のSDPアダプタ及びデバイスサービス管理システム(DSMS)を含む。SDPサービスは、複数の内の１つのSDPアダプタとインターフェースをとる。各SDPアダプタは、対応するSDPサービスからのメッセージを、DSMSが理解できるフォーマットに変換する。MFPで用意されている複数のサービスについてのサービスメタデータ情報を、DSMSは管理する。クライアントからのリクエストに応じて、SDPサービスは、対応するSDPアダプタからのメタデータを要求する。SDPアダプタはDSMSに要求し、DSMSは、要求されたメタデータと共にそのSDPアダプタに応答する。SDPアダプタはメタデータをSDPサービス経由でクライアントに送る。【選択図】図１
2008293503.tif 000002
【特許請求の範囲】
【請求項１】
複数のサービスディスカバリプロトコル(SDP)をサポートし、複数のサービスアプリケーションを有するネットワークイネーブル印刷装置であって、前記サービスアプリケーションの各々は少なくとも１つのサービスを提供し、当該ネットワークイネーブル印刷装置は、
複数のSDPサービスモジュールと、
複数のSDPアダプタモジュールと、
前記複数のサービスの各サービスについてメタデータを取得するデバイスサービス管理システム(DSMS)と、
を有し、前記複数のSDPサービスモジュールの内のSDPサービスモジュール各々は、前記複数のSDPの個々のSDPを実行し、
前記複数のSDPサービスモジュールの内の各SDPサービスモジュールは、前記複数のSDPアダプタモジュールの内の個々のSDPアダプタモジュールとインターフェースをとり、
前記複数のSDPアダプタモジュールの内のSDPアダプタモジュール各々は、前記DSMSとインターフェースをとり、
印刷データを処理することに備えて及び印刷データに反映される電子書類の印刷バージョンが生成されるのを引き起こすことに備えて、前記複数のサービスアプリケーションの内の１つが印刷プロセスを含み、
クライアントからのリクエストに基づいて、前記複数のSDPサービスモジュールの内の特定のSDPサービスモジュールは、対応するSDPアダプタモジュールに第２のリクエストを送信し、
前記第２のリクエストに基づいて、前記対応するSDPアダプタモジュールは、前記DSMSに第３のリクエストを送信し、
前記DSMSは、前記対応するSDPアダプタモジュールに前記メタデータを送信し、
前記対応するSDPアダプタモジュールは、前記特定のSDPサービスモジュールへ前記メタデータを送信し、
前記メタデータに基づいて、前記特定のSDPサービスモジュールは、前記クライアントへのレスポンスを生成及び送信するようにしたネットワークイネーブル印刷装置。
【請求項２】
個々のSDPは、ウェブサービスディスカバリ又はシンプルサービスディスカバリプロトコルの一方である請求項１に記載のネットワークイネーブル印刷装置。
【請求項３】
前記複数のサービスアプリケーションの内のサービスアプリケーションによって提供されるサービスが、印刷サービス、ファクシミリサービス、アーカイブサービス及びスキャンサービスの内の何れかである請求項１に記載のネットワークイネーブル印刷装置。
【請求項４】
前記DSMSは、前記複数のSDPアダプタモジュールの内のSDPアダプタモジュール各々に通知を送信し、前記通知は、前記サービスの１つ以上の状態を示す第１データを含み、
前記通知に基づいて、前記SDPアダプタモジュールの各々が、対応するSDPサービスモジュールへ第１メッセージを送信し、
前記第１メッセージに基づいて、前記対応するSDPサービスモジュールは、前記通知に関する第２データを含む第２メッセージを生成し、１つ以上のクライアントに送信するようにした請求項１に記載のネットワークイネーブル印刷装置。
【請求項５】
前記通知は、１つ以上のサービスが前記MFPに最近加えられたこと又は１つ以上のサービスが前記MFPで利用可能でないことを示すものである請求項４に記載のネットワークイネーブル印刷装置。
【請求項６】
前記DSMSを修正せずに、前記複数のSDPサービスモジュールの内のどのSDPサービスモジュールも修正せずに、或いは前記複数のSDPアダプタモジュールの内のどのSDPアダプタモジュールも修正せずに、前記MFPにサービスアプリケーションが追加されるようにした請求項１に記載のネットワークイネーブル印刷装置。
【請求項７】
前記DSMSを修正せずに、SDPサービスモジュール及び対応するSDPアダプタモジュールが追加されるようにした請求項１に記載のネットワークイネーブル印刷装置。
【請求項８】
前記DSMSを修正せずに、前記複数のSDPサービスモジュールの特定のSDPサービスモジュールが修正されるようにした請求項１に記載のネットワークイネーブル印刷装置。
【請求項９】
前記複数のSDPサービスモジュールの内のどれも修正せずに、前記DSMSが修正されるようにした請求項１に記載のネットワークイネーブル印刷装置。
【請求項１０】
複合機(MFP)で提供される１つ以上のサービスのメタデータを求めるリクエストを受信する方法であって、前記MFPは複数のサービスアプリケーションを有し、前記サービスアプリケーションの各々は少なくとも１つのサービスを提供し、前記MFPは複数のサービスディスカバリプロトコル(SDP)をサポートし、当該方法は、
クライアントから前記リクエストを受信する受信ステップであって、
複数のSDPサービスモジュールの内のSDPサービスモジュール各々は、前記複数のSDPの個々のSDPを実行し、
前記複数のSDPサービスモジュールの内の各SDPサービスモジュールは、複数のSDPアダプタモジュールの内の個々のSDPアダプタモジュールとインターフェースをとり、
前記複数のSDPアダプタモジュールの内のSDPアダプタモジュール各々は、前記複数のサービスの内の各サービスのメタデータを取得するデバイスサービス管理システム(DSMS)とインターフェースをとり、
印刷データを処理することに備えて及び印刷データに反映される電子書類の印刷バージョンが生成されるのを引き起こすことに備えて、前記複数のサービスアプリケーションの内の１つが印刷プロセスを含むようにした受信ステップと、
前記リクエストに基づいて、前記複数のSDPサービスモジュールの内の特定のSDPサービスモジュールが、対応するSDPアダプタモジュールに第２のリクエストを送信するステップと、
前記第２のリクエストに基づいて、前記対応するSDPアダプタモジュールが、前記DSMSに第３のリクエストを送信するステップと、
前記DSMSが、前記対応するSDPアダプタモジュールに前記メタデータを送信するステップと、
前記対応するSDPアダプタモジュールが、前記特定のSDPサービスモジュールへ前記メタデータを送信するステップと、
前記メタデータに基づいて、前記クライアントへのレスポンスを生成及び送信するステップと、
を有する方法。
【請求項１１】
個々のSDPは、ウェブサービスディスカバリ又はシンプルサービスディスカバリプロトコルの一方である請求項１０に記載の方法。
【請求項１２】
前記複数のサービスアプリケーションの内のサービスアプリケーションによって提供されるサービスが、印刷サービス、ファクシミリサービス、アーカイブサービス及びスキャンサービスの内の何れかである請求項１０に記載の方法。
【請求項１３】
前記サービスの１つ以上の状態を示す第１データを含む通知を、前記DSMSが、前記複数のSDPアダプタモジュールの内のSDPアダプタモジュール各々に送信するステップと、
前記通知に基づいて、前記SDPアダプタモジュールの各々が、対応するSDPサービスモジュールへ第１メッセージを送信するステップと、
前記第１メッセージに基づいて、前記対応するSDPサービスモジュールが、前記通知に関する第２データを含む第２メッセージを生成し、１つ以上のクライアントに送信するステップと、
を更に有する請求項１０に記載の方法。
【請求項１４】
前記通知は、１つ以上のサービスが前記MFPに最近加えられたこと又は１つ以上のサービスが前記MFPで利用可能でないことを示すものである請求項１３に記載の方法。
【請求項１５】
前記DSMSを修正せずに、前記複数のSDPサービスモジュールの内のどのSDPサービスモジュールも修正せずに、或いは前記複数のSDPアダプタモジュールの内のどのSDPアダプタモジュールも修正せずに、前記MFPにサービスアプリケーションを追加するステップを更に有する請求項１０に記載の方法。
【請求項１６】
前記DSMSを修正せずに、SDPサービスモジュール及び対応するSDPアダプタモジュールを追加するステップを更に有する請求項１０に記載の方法。
【請求項１７】
前記DSMSを修正せずに、前記複数のSDPサービスモジュールの特定のSDPサービスモジュールを修正するステップを更に有する請求項１０に記載の方法。
【請求項１８】
前記複数のSDPサービスモジュールの内のどれも修正せずに、前記DSMSを修正するステップを更に有する請求項１０に記載の方法。
【請求項１９】
複合機(MFP)で提供される１つ以上のサービスのメタデータを求めるリクエストを受信する方法を、１つ以上のプロセッサに実行させる命令を有するマシン読取可能な記録媒体であって、前記MFPは複数のサービスアプリケーションを有し、前記サービスアプリケーションの各々は少なくとも１つのサービスを提供し、前記MFPは複数のサービスディスカバリプロトコル(SDP)をサポートし、前記方法は、
クライアントから前記リクエストを受信する受信ステップであって、
複数のSDPサービスモジュールの内のSDPサービスモジュール各々は、前記複数のSDPの個々のSDPを実行し、
前記複数のSDPサービスモジュールの内の各SDPサービスモジュールは、複数のSDPアダプタモジュールの内の個々のSDPアダプタモジュールとインターフェースをとり、
前記複数のSDPアダプタモジュールの内のSDPアダプタモジュール各々は、前記複数のサービスの内の各サービスのメタデータを取得するデバイスサービス管理システム(DSMS)とインターフェースをとり、
印刷データを処理することに備えて及び印刷データに反映される電子書類の印刷バージョンが生成されるのを引き起こすことに備えて、前記複数のサービスアプリケーションの内の１つが印刷プロセスを含むようにした受信ステップと、
前記リクエストに基づいて、前記複数のSDPサービスモジュールの内の特定のSDPサービスモジュールが、対応するSDPアダプタモジュールに第２のリクエストを送信するステップと、
前記第２のリクエストに基づいて、前記対応するSDPアダプタモジュールが、前記DSMSに第３のリクエストを送信するステップと、
前記DSMSが、前記対応するSDPアダプタモジュールに前記メタデータを送信するステップと、
前記対応するSDPアダプタモジュールが、前記特定のSDPサービスモジュールへ前記メタデータを送信するステップと、
前記メタデータに基づいて、前記クライアントへのレスポンスを生成及び送信するステップと、
を有するようにしたマシン読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にウェブサービスに関連し、特に或る装置で複数のサービスディスカバリプロトコルをサポートすることに関連する。
【背景技術】
【０００２】
このセクションで説明されるアプローチは追跡可能なアプローチであるが、考察又は追跡が過去になされているアプローチであるとは限らない。従って、特に断りのない限り、このセクションで説明されるどのアプローチも、このセクションに含まれているという理由だけで従来技術と考えるよう仮定されるべきではない。
【０００３】
「ウェブサービス」という用語は、IPのようなネットワークプロトコル上でXML、SOAP及びWSDL標準仕様を用いるウェブベースアプリケーションを統合する標準的なものを言う。XMLはデータをタグ付けするのに使用され、SOAPはウェブサービスリクエスト及びレスポンスをXMLメッセージに如何にしてエンコードするかを指定し、WSDLは利用可能なサービスを記述するのに使用される。ウェブサービスは、プログラム化されネットワーク化されたエンティティが、それらを実装するプラットフォームによらず互いに通信するのに使用される。多くのそのようなエンティティは業務(ビジネス)に関連するので、ファイヤウォール背後の互いのITシステムに精通していなくても、ウェブサービスは複数の業務がデータを通信することを可能にする。
【０００４】
ウェブサービスは、ネットワーク上でプログラムインターフェースを介してビジネスロジック、データ及びプロセスを共有する。ウェブサービスは、様々なソースからの様々なアプリケーションが、時間のかかるカスタムコーディングなしに互いに通信できるようにする。更に、全ての通信はXMLでなされるので、ウェブサービスは、如何なるオペレーティングシステムにも如何なるプログラミング言語にも拘束されない。例えば、ジャバ(Java(登録商標))はパイソン(Python)と通信可能であり、ウインドウズ(Windows(登録商標))アプリケーションはユニックス(UNIX(登録商標))アプリケーションと通信可能である。
【０００５】
ウェブサービス標準仕様−複数−は、セキュリティ、信頼できるメッセージング、及び緩く結合されたシステムでの処理等について相互運用可能なプロトコルを共に構成する。ウェブサービス標準仕様は、承認済みの標準仕様(例えば、ワールドワイドウェブコンソーシアム(W3C)により承認されたり、構造化情報標準促進協会(OASIS)により承認される)だけでなく、標準仕様になるかもしれない提案されたドキュメントやドラフト等も含む。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ある装置で用意されているウェブサービスを利用しようとする或るクライアントアプリケーションは、ある標準のプロトコルを実装しているかもしれないが、別の標準のものを実装してないかもしれない。従って或る装置ができるだけ多くのクライアントアプリケーションにウェブサービスを提供するには、その装置は、できるだけ多くのウェブサービス標準仕様及び他の標準プロトコルを実装すべきかもしれない。しかしながら、既存のプロトコルを更新することは必須であり、新たなプロトコルが定期的に標準仕様になりつつある。通常そのような変化は装置の多数のモジュールに影響を及ぼし、これは、その装置で動作する多くのモジュールの論理(ロジック)が修正される必要のあることを意味する。また、(装置で提供される)ウェブサービスに関係ない装置の特定のモジュールを変更することが、ウェブサービスを実行する装置モジュールの修正を必要にするかもしれない。
【課題を解決するための手段】
【０００７】
複合機(MFP:  Multi  Functional  Peripheral)で複数のサービスディスカバリプロトコルをサポートするための技法が提供される。一形態では、複数のサービスディスカバリプロトコル(SDP)サービス、複数のSDPアダプタ及びデバイスサービス管理システム(DSMS)をMFPは含む。各SDPサービスは、複数のSDPアダプタの内の１つのSDPアダプタとインターフェースをとる。各SDPアダプタはDSMSとインターフェースをとる。各SDPアダプタは、対応するSDPサービスからのメッセージを、DSMSが理解できるフォーマットに変換する。また、各SDPアダプタは、DSMSからのメッセージを、対応するSDPサービスが理解できるフォーマットに変換する。MFPで用意されている複数のサービスについてのサービスメタデータ情報を、DSMSは管理する。
【０００８】
MFPで提供される１つ以上のサービスのメタデータを求めるクライアントからのリクエストを受信したことに応じて、SDPサービスは、対応するSDPアダプタからのメタデータを要求する。SDPアダプタはDSMSからのメタデータを要求し、DSMSは、要求されたメタデータと共にそのSDPアダプタに応答する。SDPアダプタは要求されたメタデータをSDPサービスに送り、SDPサービスはそのメタデータをクライアントに送る。
【０００９】
関連する方法では、MFPで提供される１つ以上のサービスのステータスの変化をDSMSが検出する。DSMSは全てのSDPアダプタ(例えば、DSMSに登録しているもの)に通知を送る。各SDPアダプタはその通知を或るフォーマット(対応するSDPサービスが理解できるフォーマット)に変換する。そして、各SDPサービスは或る通知メッセージ(advertisement  message)をネットワーク内の１つ以上のクライアントに送る(例えば、マルチキャストやブロードキャストで送る。)。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面を参照しながら非限定的な本発明の実施例が説明される。図中、同様な数字は同様な要素を指す。
【００１１】
以下の説明では、説明の便宜上、多くの具体的詳細が述べられ、本発明の理解の充実を図る。しかしながら、そのような具体的詳細によらず本発明が実現されてよいことは明らかであろう。また、本発明を不必要に曖昧にすることを避けるため、周知の構造及び装置はブロック図形式で示される。
【実施例１】
【００１２】
＜サービスディスカバリプロトコルアーキテクチャ例＞
図１は、クライアント102及び複合機(MFP)104間で相互作用する本発明の一実施例によるサービスディスカバリプロトコル(SDP)アーキテクチャ例を示すブロック図である。
【００１３】
クライアント102はディスカバリリクエストをMFP104に送る。このディスカバリリクエストは、WSディスカバリのような標準的なディスカバリプロトコルに従うものである。一実施例では、あるディスカバリリクエストは、各サービスについてのサービスメタデータを伴わずに、MFPで用意されているサービスタイプを要求するかもしれない。クライアント102のユーザがMFPのサービスの１つを利用しようとした場合、クライアント102は、その選択したサービスのサービスメタデータを求めるサービスディスカバリリクエストを送信してよい。或いは、MFPで提供される全てのサービスのサービスメタデータを、ディスカバリリクエストが始めに要求してもよい。
【００１４】
クライアント102は通信ネットワーク114を介してMFP104と通信可能に結合される。クライアント102及びMFP104の間でデータ交換を可能にする何らかの媒体又は手段によって、通信リンク114が実現されてよい。通信リンク114の具体例は、限定ではないが、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、イーサーネット若しくはインターネット等のようなネットワーク、又は１つ以上の地上の、衛星の若しくは無線のリンクを含む。
【００１５】
＜複合機＞
MFPは２以上のサービスアプリケーションを有する装置であり、サービスアプリケーションの各々は少なくとも１つのサービスを提供する。MFPが提供する様々なサービスは、限定ではないが、印刷サービス、スキャンサービス、ファクシミリサービス及びアーカイブサービス等を含んでよい。MFPにより提供されるサービスの１つが印刷サービスであった場合、その印刷サービスアプリケーションは、印刷データを処理することに備え及び印刷データに反映される電子書類の印刷バージョンが生成されるのを引き起こすことに備える印刷プロセスを含む。図１では、２以上のサービスアプリケーションはMFPサービス112A-112Cである。
【００１６】
MFP104はデバイスサービス管理システム(DSMS)110も有する。DSMS110は、MFPサービス112A-112C(集合的に、「MFPサービス112」と言及する)を管理する。DSMS110はハードウエア回路で、コンピュータソフトウエアで、又はハードウエア回路及びコンピュータソフトウエアの組み合わせで実現されてもよく、特定のハードウエアやソフトウエアの実現手段には限定されない。
【００１７】
DSMS110は各サービス112に関するサービス状態情報及びサービスメタデータ情報を取得する。DSMS110は、MFP104がサポートする複数のSDPサービスモジュール106A-C(図では集合的に言及され、以下、「SDPサービス106」と言及する)の共通インターフェースを提供する。
【００１８】
図１は３つのSDPサービス106を示しているが、MFP104は２つのSDPサービス106しかサポートしないかもしれないし、３つより多くのSDPサービス106をサポートするかもしれない。
【００１９】
＜サービスディスカバリプロトコルサービス＞
SDPサービス106はSDPプロトコルを実現する。各SDPサービス106はハードウエア回路で、コンピュータソフトウエアで、又はハードウエア回路及びコンピュータソフトウエアの組み合わせで実現されてもよく、特定のハードウエアやソフトウエアの実現手段には限定されない。SDPサービス106に関する非限定的な具体例は、WSディスカバリ及びシンプルサービスディスカバリプロトコル(SSDP)を含み、これらは何れも標準規格である(少なくともかつてそうであった)。将来、より多くのSDPサービスが配備されてもよい。クライアント102が或る一群の１つ以上のSDPに制限され、そのSDPの各々がMFP104によってサポートされていなかった場合、クライアント102は、印刷、スキャン又はファクシミリのようなMFP104で用意されているMFPサービス112を発見(及び使用)できないであろう。
【００２０】
殆どのSDPサービスは以下の基本特性を有する。第１に、あるデバイスサービス(例えば、MFPサービス112C)が利用可能になったこと又は利用できなくなったことが通知されたことに応答して、SDPサービスは、「その世界」に(即ち、ネットワーク内の全てのクライアントに)或る通知を送信する、或いはそのようなイベントの通知を受けるように登録しているクライアントに少なくとも通知を送信する。第２に、SDPサービスはクライアントからディスカバリリクエストを受信し、サービスメタデータを要求し、そしてそのサービスメタデータをクライアントに転送する。
【００２１】
＜サービスディスカバリプロトコルアダプタ＞
SDPアダプタモジュール108A-C(図では集合的に言及され、以下、「SDPアダプタ108」と言及される)は、SDPサービス106及びDSMS110間のブリッジである。例えば、SDPアダプタ108AはSDPサービス106A及びDSMS110間のブリッジであり、SDPアダプタ108BはSDPサービス106B及びDSMS110間のブリッジであり、以下同様である。SDPサービス106と同様に、SDPアダプタ108は、ハードウエア回路で、コンピュータソフトウエアで、又はハードウエア回路及びコンピュータソフトウエアの組み合わせで実現されてもよく、特定のハードウエアやソフトウエアの実現手段には限定されない。
【００２２】
SDPアダプタ108は、対応するSDPサービス106からの(ネイティブフォーマットの)データを、DSMS110が理解可能なフォーマットに合うデータに変換する。同様に、SDPアダプタ108は、DSMS110からの(ネイティブフォーマットの)データを、対応するSDPサービスが理解可能なフォーマットに合うデータに変換する。その結果、本質的にSDPアダプタ108はSDPサービス106をDSMS110から「分離する(decouple)」。この分離は、SDPサービス106の中の何らかのサービスについて何かを知ることを要求せずに、DSMS110が複数のSDPサービス106を処理できるようにする。また、この分離は、SDPサービス106が、異なるDSMSに付随する異なるデバイスに移されることを可能にする。この場合に必要な唯一の変更は、そのSDPアダプタが異なるDSMSと通信するように、対応するSDPアダプタに修正を加えることであろう。
【００２３】
従って、SDPアダプタ108の或るアダプタは、SDPサービス106の中の特定のサービスについてのアダプタになる。従って例えばSDPアダプタ108Bは、SDPサービス106Bのインターフェースを及びSDPサービス106Bが何を期待しているかを「知っている（know）」。また、SDPアダプタはDSMS110に対するインターフェースを「知っており」、DSMS110からのデータを適切に要求及び受信できる。
【００２４】
従って、各SDPアダプタ108は少なくとも２つのインターフェースをサポートしている−１つのインターフェースは対応するSDPサービス106に対するものであり、１つのインターフェースはDSMS110に対するものである。SDPサービス106に対するインターフェースは、プロトコル特有である。DSMS110に対するインターフェースは、SDPサービス106に対するDSMS110の共通インターフェースで規定される。従って、全てのSDPアダプタ108はその共通インターフェースをサポートする。
【００２５】
＜デバイスサービス管理システム＞
上記の特性をサポートするため、DSMS110は、（以下の登録、通知及びデバイスサービスメタデータに関して）SDPアダプタ108に対するインターフェースを少なくとも用意する。
【００２６】
登録に関し、ほとんどのSDPプロトコルは、デバイスサービスがアップ(up)又はダウン(down)であることを示す通知をサポートしている。この通知の機能をサポートするため、DSMS110は、SDPアダプタ108がDSMS110と共に登録に使用する登録APIを用意する。一実施例では、DSMS110と共に登録したことに応じて、SDPアダプタ108は、対応するSDPサービス106の固有の身元(識別情報)を受信する。SDPサービス106は複数存在するので、DSMS110は固有のIDを使って、どのSDPサービス106が例えばサービスメタデータのリクエストを送ったかを知る。DSMS110は固有のIDを使って、適切なSDPアダプタ108にレスポンス(例えば、メタデータ)を返す。
【００２７】
通知に関し、サービス(例えば、MFPサービス112C)が利用可能になった又は利用できなくなったことを検出したことに応じて、DSMS110は各SDPアダプタ108(DSMS110に登録しているSDPアダプタ)に例えば通知APIを介して通知を送る。
【００２８】
サービスメタデータを提供することに関し、SDPアダプタ108は、１つ以上のMFPサービス112に関するメタデータ情報を求めるリクエストを例えばクエリメタデータ(問い合わせメタデータ)APIを介してDSMS110に送信できる。サービス固有のメタデータの非限定的な具体例は、URL、サービスタイプ及びサービスのエンドポイント等を含む。サービスメタデータを要求しているクライアントが、適切なMFPサービス112と直接的に通信するために、そのURLが使用される。具体的なMFPサービス112に依存して、サービスタイプはプリンタ、スキャナ、カメラ等になるかもしれない。サービスエンドポイントは、MFPサービス112との連絡方法を指定し、例えば、MFPサービス112に関連するポート番号やIPアドレスを指定する。
【００２９】
＜シーケンス図＞
図２は、SDPアダプタ及びSDPサービスがDSMSにどのように登録するか、デバイスサービスの通知がどのように受信されるか及びSDPサービスがどのように通知を送るかを示す本発明の一実施例によるシーケンス図である。
【００３０】
ステップ１では、DSMS110からサービスメタデータ及び通知を受けるため、SDPアダプタ108Aは、登録メッセージをDSMS110に送ることでDSMS110に登録を行う。同様に、ステップ２では、SDPアダプタ108Bは、登録メッセージをDSMS110に送ることでDSMS110に登録を行う。
【００３１】
ステップ３では、SDPアダプタ108AがDSMS110に登録してしばらくたった後、DSMSは、SDアダプタ108Aに対して、例えば新たなMFPサービス112がMFP104で1以上のクライアントに利用可能なことを示す通知を送信する。
【００３２】
ステップ４では、SDPアダプタ108Aは、その新たなMFPサービス112を求めるサービスメタデータを要求する。これに応答して、ステップ５では、DSMS110は要求されたサービスメタデータをSDPアダプタ108Aに送信する。或いは、ステップ３でDSMS110から送信される通知が、新たなMFPサービス112のサービスメタデータを含んでいてもよい。このように、SDPアダプタ108Aがサービスメタデータを別々に要求することは必須でない。
【００３３】
ステップ６では、DSMS110からの通知及びサービスメタデータに応答して、SDPアダプタ108Aは、SDPサービス106Aが「理解できる」フォーマットでSDPサービス106Aに通知を送る。
【００３４】
ステップ７では、SDPサービス106Aは新たなMFPサービス112の通知を例えばクライアント102のような１以上のクライアントに送信する。新たなMFPサービス112が追加された場合及び／又は既存のMFPサービス112が利用できなくなった場合に通知を受けるように、複数のクライアントがSDPサービス106Aに登録してもよい。その場合、特定のイベントについて登録している少なくともこれらのクライアントは、その特定のイベントが生じた際に通知を受けることになる。或いは、SDPサービス106Aはネットワーク内のクライアントに通知メッセージをブロードキャスト又はマルチキャストで送信し、新たなMFPサービス112がMFP104で利用可能になったことをクライアントに通知してもよい。
【００３５】
ステップ8-12はステップ3-7と同様であるが、SDPアダプタがSDPアダプタ108Bであること及びSDPサービスがSDPサービス106Bである点が異なる。ステップ8-12はステップ3-7の後になされるように描かれているが、ステップ8-12はステップ3-7に先行してなされてもよいし、或いはステップ3-7と交互になされてもよい。例えば、ステップ1,2,8,3,4,9,10,5,11,12,6,7のような順序で処理が行われてもよい。
【００３６】
図２に示されるように、クライアントは２つの通知を受ける。一般に、現在のMFPは通常１つのSDPプロトコルしか備えていないので、唯１つのそのような通知が１つ以上のクライアントに送信される。しかしながら本発明の一実施例によれば、MFP104はクライアントがどのSDPをサポートしているかを知らないので、MFPの全てのSDPサービスが通知を送信し、ネットワーク内の全てのクライアントが通知を受けることを保証してもよい。クライアントが通知を理解できなかった場合、そのクラアイントはその通知を破棄してよい。
【００３７】
＜フローチャート＞
図３はSDPアダプタ及びSDPサービスがどのように相互作用するかを示す本発明の一実施例による別のブローチャートを示す。
【００３８】
ステップ302では、SDPアダプタ108AがDSMS110に登録を行う。ステップ304において、SDPアダプタ108Aは、継続的に(又は定期的に)、DSMS110から通知が届いているか否かを確認する。届いていれば、プロセスはステップ306に進み、SDPアダプタ108AはDSMS110からサービスメタデータを受信する。ステップ308では、SDPアダプタ108AはSDPサービス106Aを呼び出し、通知を送る。ステップ308の後、SDPアダプタ108Aのプロセスはステップ304に戻る。
【００３９】
図３に示されているように、メッセージはSDPアダプタ108AからSDPサービス106Aへ又はその逆に送られることを太い線が示している。従って、ステップ308はメッセージがSDPアダプタ108AからSDPサービス106Aへ送信されることも示している。図３では、SDPサービス106Aはステップ330で(ステップ308の)通知を処理することを示す。
【００４０】
ステップ328では、SDPサービス106Aは或るスレッドを作成し、SDPアダプタ108Aからの通知を処理する。ステップ330にてそのスレッドは(例えば、特定のポートで)耳を澄まし(モニタし)、通知がSDPアダプタ108Aから届いているか否か(又はそこから送信されるように意図されているか否か)を確認する。そうであった場合、プロセスはステップ322に進む。ステップ322では、スレッドは１つ以上のクライアント(例えば、クライアント102)に通知を送信し、例えば、MFPサービス112が利用できなくなったことを伝達する。
【００４１】
ステップ320では、SDPサービス106Aは、ディスカバリリクエストが受信されているか否かを確認する。(例えば、クライアント102からの)ディスカバリリクエストが受信されていた場合、プロセスはステップ322に進む。
【００４２】
ステップ322では、SDPアダプタ108Aを呼び出し、1つ以上のMFPサービス112についてリクエストされたサービスメタデータを取り出すことで、SDPサービス106Aはディスカバリリクエストを処理する。
【００４３】
ステップ310では、SDPアダプタ108Aはスレッドを作成し、SDPサービス106Aからのリクエストを処理する。ステップ312にてそのスレッドは(例えば、特定のポートで)モニタし、SDPサービス106Aがサービスメタデータリクエストを送ったか否かを確認する。そうであった場合、プロセスはステップ314に進む。
【００４４】
ステップ314では、SDPアダプタ108Aは、DSMS110からサービスメタデータを(例えば、ゲットメタデータAPIコール(getmetadata  API  call)を介して)受信し、要求されたサービスメタデータと共にSDPサービス106Aに応答する。
【００４５】
ステップ324では、SDPサービス106Aは要求されたサービスメタデータをSDPアダプタ108Aから受信する。ステップ326では、SDPサービス106Aは、要求したサービスメタデータに基づいて応答メッセージを構築し、その応答メッセージを、例えばステップ320で処理したディスカバリリクエストを最初に送ってきたクライアントに送る。１つ以上のMFPサービス112のサービスメタデータをクライアントが受信した後で、クライアントは1つ以上のMFPサービス112と直接的に通信してもよい。
【００４６】
要するに、SDPアダプタ108は２つのスレッドを作成し、１つのスレッドはDSMS110からの通知を処理するためのものであり、もう１つのスレッドは対応するSDPサービス106からのディスカバリリクエストを処理するためのものである。同様に、SDPサービス106は2つのスレッドを作成し、１つのスレッドは対応するSDPアダプタ108Aからの通知を処理するためのものであり、もう１つのスレッドはクライアントからのディスカバリリクエストを処理する。
【００４７】
＜効果＞
本発明の一実施例の１つの利点は、DSMS110が修正された場合に、どのSDPサービス106も修正不要であり、SDPアダプタ108だけが修正を要することである。
【００４８】
本発明の一実施例の別の利点は、MFP104に対して新たなMFPサービスが追加された場合又はそこからサービスが削除された場合、SDPサービス106も、SDPアダプタ108も、DSMS110も修正を要しないことである。
【００４９】
本発明の一実施例の別の利点は、SDPサービス106が修正された場合、DSMS110は修正不要であり、対応するSDPアダプタ108Aだけが修正を要することである。同様に、新たなSDPサービスは、DSMS110を修正せずにMFP104に追加されてよい。
【００５０】
本発明の一実施例の別の利点は、SDPサービス106が別の装置(例えば、別のMFP)から要求された場合(その別装置のDSMSは同じでない)、SDPサービス106は書き直されることを要しない。その代わり、必要になる唯一の修正は、対応する各SDPが新たなDSMSとインターフェースをとることができるように、対応するSDPアダプタ各々を修正することである。
【００５１】
＜実現手段＞
本願で説明される技法は如何なるタイプのコンピュータプラットフォーム又はアーキテクチャで実現されてもよい。図４は本発明の実施例が使用されてよいコンピュータシステム４００のブロック図を示す。コンピュータシステム４００は、情報を通信するためのバス４０２又は他の通信手段と、バス４０２に結合された情報を処理するプロセッサ４０４とを有する。コンピュータシステム４００は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス４０２に結合されたメインメモリ４０６を有し、メインメモリはプロセッサ４０４で実行される命令や情報を格納する。メインメモリ４０６は、プロセッサ４０４で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。コンピュータシステム４００は、プロセッサ４０４のための命令や静的な情報を格納する、バス４０２に結合されたリードオンリメモリ(ROM)４０８又は他のスタティックストレージデバイスを更に含む。磁気ディスク又は他の光ディスクのようなストレージデバイス４１０は、情報及び命令を格納するために用意されてバス４０２に結合される。
【００５２】
コンピュータシステム４００は、ユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ４１２にバス４０２を介して結合されてもよい。英数字その他のキーを含む入力装置４１４は、情報及び命令選択内容をプロセッサ４０４に通知するためにバス４０２に結合される。他の種類のユーザ入力装置は、カーソル制御装置４１６（例えば、マウス、トラックボール、スタイラス又はカーソル方向キー）であり、指示情報及び命令選択をプロセッサ４０４に通知し且つディスプレイ４１２でのカーソルの動きを制御する。この入力装置は典型的には第１軸（例えば、ｘ）及び第２軸（例えば、ｙ）の２軸による２つの自由度を有し、装置が平面上の位置を指定できるようにする。
【００５３】
本発明は無線通信アーキテクチャのコンピュータシステム４００を利用することに関連する。本発明の一実施例によれば、メインメモリ４０６に含まれる１以上の命令の１以上のシーケンスを実行するプロセッサ４０４に応じて、無線通信がコンピュータシステム４００によって提供される。そのような命令は、ストレージデバイス４１０のような他のマシン読取可能な媒体からメインメモリ４０６に読み込まれてもよい。メインメモリ４０６に含まれている命令シーケンスの実行は、本願で説明されるプロセスステップをプロセッサ４０４が実行することを引き起こす。マルチプロセッシング構成の１以上のプロセッサが、メインメモリ４０６に含まれている命令シーケンスを実行するのに使用されてもよい。代替実施例では、本発明を実施するために、ハードワイヤード回路が、代替的に使用されてもよいし或いはソフトウエア命令との組み合わせで使用されてもよい。すなわち本発明の実施例はハードウエア回路及びソフトウエアの特定の如何なる組み合わせにも限定されない。
【００５４】
ここで使用されているように「マシン読取可能な媒体」なる用語は、マシンが特定の形式で動作するのを引き起こすデータを提供することに関与する如何なる媒体にも関連する。コンピュータシステム４００を用いる一実施例では、例えば実行に備えて命令をプロセッサ４０４に提供する際に、様々なマシン読み取り可能な媒体が組み込まれる。そのような媒体は多くの形態をとってよく、限定ではないが、不揮発性媒体、揮発性媒体及び伝送媒体を含む。不揮発性媒体は、例えば、ストレージデバイス４１０のような光又は磁気ディスクを含む。揮発性媒体は、メインメモリ４０６のようなダイナミックメモリを含む。伝送媒体は、同軸ケーブル、銅線及び光ファイバを含み、バス４０２を構成するワイヤを含む。伝送媒体は、無線電波及び赤外線データ通信の際に生成されるもののような、音波又は光波の形式をとってもよい。
【００５５】
マシン読取可能な媒体の一般的な形態は、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープその他の如何なる磁気媒体、CD-ROMその他の如何なる光媒体、パンチカード、紙テープ又は穴のパターンを有する他の如何なる物理的媒体、RAM、PROM、EPROM、フラッシュEPROMその他のメモリチップ、カートリッジ、上記のような搬送波又はコンピュータが読み取ることの可能な他の如何なる媒体でも含む。
【００５６】
マシン読取可能な媒体の様々な形態は、１以上の命令の１以上のシーケンスをプロセッサ４０４に実行に備えて搬送する際にも適用可能である。例えば命令は初期には遠く離れたリモートコンピュータの磁気ディスクで搬送されてもよい。リモートコンピュータは自身のダイナミックメモリからその命令をロードし、モデムを用いて電話回線を介して命令を送信してもよい。コンピュータシステム４００付近のモデムは電話回線でそのデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換する。バス４０２に結合された赤外線検出器は、赤外線信号で搬送されたデータを受信し、そのデータをバス４０２に置く。バス４０２はデータをメインメモリ４０６に運び、プロセッサ４０４はメインメモリから命令を抽出して実行する。メインメモリ４０６で受信された命令は、プロセッサ４０４で実行される前又はその後にストレージデバイス４１０に選択的に格納されてもよい。
【００５７】
コンピュータシステム４００はバス４０２に結合された通信インターフェース４１８も含む。通信インターフェース４１８は、ローカルネットワーク４２２に接続されるネットワークリンク４２０に結合する双方向データ通信をもたらす。例えば、通信インターフェース４１８は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例では、通信インターフェース４１８は、データ通信接続をコンパチブルなLANに与えるLANカードでもよい。無線リンクが使用されてもよい。どの実現手段でも、通信インターフェース４１８は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。
【００５８】
ネットワークリンク４２０は典型的には１以上のネットワークを介して他のデータ装置とのデータ通信をもたらす。例えば、ネットワークリンク４２０はローカルネットワーク４２２を介してホストコンピュータとのコネクションを提供する、或いはインターネットサービスプロバイダ(ISP)４２６により運営されるデータ機器とのコネクションを提供する。そしてISP４２６はデータ通信サービスをワールドワイドパケットデータ通信ネットワーク(今日、インターネット４２８として一般に言及されている)を介して提供する。ローカルネットワーク４２２及びインターネット４２８の双方は、ディジタルデータストリームを搬送する、電気的な、電磁的な又は光学的な信号を使用する。様々なネットワークを介する信号や、ネットワークリンク４２０における通信インターフェース４１８を介する信号は、コンピュータシステムに及びそこからディジタルデータを搬送し、例えば情報を伝送する搬送波の形式をとってもよい。
【００５９】
コンピュータシステム４００は、ネットワーク、ネットワークリンク４２０及び通信インターフェース４１８を介して、メッセージを送信し及びプログラムコードを含むデータを受信する。インターネットの例では、サーバー４３０はインターネット４２８、ISP４２６、ローカルネットワーク４２２及び通信インターフェース４１８を介して、アプリケーションプログラムに関する要求されたコードを送信するかもしれない。
【００６０】
受信したコードは受信したときに実行されてもよいし、後の実行に備えてストレージデバイス４１０又は他の不揮発性ストレージに格納されてもよい。このようにコンピュータシステム４００は搬送波の形式でアプリケーションコードを取得してもよい。
【００６１】
以上本発明の特定の具体的な実施例が、実施例毎に異なってよい多くの具体的詳細と共に説明された。出願人が発明であることを意図し且つ本発明が何であるかを示す独占排他権のインジケータは本願の特許請求の範囲であり、その特許請求の範囲の具体的表現は以後の如何なる補正をも含む。特許請求の範囲で登場する用語について言及される何らかの明示的な定義は、特許請求の範囲で使用されるそのような用語の意味を支配する。従って、特許請求の範囲に明示的に登場していない如何なる限定、要素、特性、特徴、利点又は属性も、特許請求の範囲をどのようにも一切限定すべきでない。従って明細書及び図面は限定的ではなく例示的に解釈される。
【図面の簡単な説明】
【００６２】
【図１】クライアント及びMFP間で相互作用する本発明の一実施例によるサービスディスカバリプロトコル(SDP)アーキテクチャ例を示すブロック図である。
【図２】SDPアダプタ及びSDPサービスがデバイスサービス管理システム(DSMS)にどのように登録するか、装置サービスの通知がどのように受信されるか及びSDPサービスがどのように通知を送るかを示す本発明の一実施例によるシーケンス図である。
【図３】SDPアダプタ及びSDPサービスがどのように相互作用するかを示す本発明の一実施例による別のブローチャートを示す。
【図４】本発明が実施されてよいコンピュータシステムを示すブロック図である。
【符号の説明】
【００６３】
４００  コンピュータシステム
４０２  バス
４０４  プロセッサ
４０６  メインメモリ
４０８  リードオンリメモリ
４１０  ストレージデバイス
４１２  ディスプレイ
４１４  入力装置
４１６  カーソル制御部
４１８  通信インターフェース
４２０  ネットワークリンク
４２２  ローカルネットワーク
４２４  ホスト
４２６  インターネットサービスプロバイダ
４２８  インターネット
４３０  サーバー
【図１】
2008293503.tif 000003
【図２】
2008293503.tif 000004
【図３】
2008293503.tif 000005
【図４】
2008293503.tif 000006