(57)【要約】【課題】複数のサービスアプリケーション(SA)を実行する複合機(MFP)で複数のウェブサービス(WS)を実行する技法を提供すること。【解決手段】MFPで動作するデバイスファシリティマネジャ(MFP)は、デバイスロケーション、メタデータ及びロギング情報と共にディスカバリ、メタデータ及びロギング情報のリクエストに応じることでMFPを代行する。クライアントアプリケーション(CA)がMFPで提供されるサービスを発見すると、CAはMFPで動作するSAと直接的に通信してもよい。CAは、SAのサービスメタデータを要求し、そのSAが処理するSOAPリクエストを送信する。１つ以上のWS仕様の実現手段は、１つの共通モジュールにパッケージ化され、WSの詳細が開発者から隠されるようにする。DFMと通信することを通じて、新たなサービスはMFPに追加され、既存のサービスは更新される。【選択図】図１
2008171414.tif 000002
【特許請求の範囲】
【請求項１】
新たなサービスを装置に動的に追加するためにコンピュータで実行される方法であって、
新たなサービスを提供する新たなアプリケーションを前記装置に登録するための登録リクエストを前記新たなアプリケーションから受信するステップと、
前記新たなアプリケーションが前記装置に登録されたことの確認を前記新たなアプリケーションに送信するステップと、
前記新たなサービスに関連するサービスメタデータを前記新たなアプリケーションから受信するステップと、
前記新たなアプリケーションにポート番号を送信するステップと、
を有し、前記新たなアプリケーションは、
前記ポート番号を利用して、前記新たなサービスのリクエストを検出し始め、
クライアントアプリケーションからSOAPリクエストを受信し、
前記装置でサポートされている通信プロトコルに従う装置固有のリクエストを前記SOAPリクエストに基づいて生成し、
前記装置固有のリクエストを前記装置に送信する方法。
【請求項２】
新たなサービスを装置に動的に追加するためのマシン読取可能な媒体であって、
新たなサービスを提供する新たなアプリケーションを前記装置に登録するための登録リクエストを前記新たなアプリケーションから受信するステップと、
前記新たなアプリケーションが前記装置に登録されたことの確認を前記新たなアプリケーションに送信するステップと、
前記新たなサービスに関連するサービスメタデータを前記新たなアプリケーションから受信するステップと、
前記新たなアプリケーションにポート番号を送信するステップと、
を１つ以上のプロセッサに実行させる命令を運び、前記新たなアプリケーションは、
前記ポート番号を利用して、前記新たなサービスのリクエストを検出し始め、
クライアントアプリケーションからSOAPリクエストを受信し、
前記装置でサポートされている通信プロトコルに従う装置固有のリクエストを前記SOAPリクエストに基づいて生成し、
前記装置固有のリクエストを前記装置に送信するようにしたマシン読取可能な媒体。
【請求項３】
新たなサービスを装置に動的に追加するための装置であって、
新たなサービスを提供する新たなアプリケーションを前記装置に登録するための登録リクエストを前記新たなアプリケーションから受信し、
前記新たなアプリケーションが前記装置に登録されたことの確認を前記新たなアプリケーションに送信し、
前記新たなサービスに関連するサービスメタデータを前記新たなアプリケーションから受信し、
前記新たなアプリケーションにポート番号を送信し、
前記新たなアプリケーションは、
前記ポート番号を利用して、前記新たなサービスのリクエストを検出し始め、
クライアントアプリケーションからSOAPリクエストを受信し、
前記装置でサポートされている通信プロトコルに従う装置固有のリクエストを前記SOAPリクエストに基づいて生成し、
前記装置固有のリクエストを前記装置に送信するようにした装置。
【請求項４】
当該装置は、印刷データを処理し、該印刷データに反映される電子書類の印刷バージョンが生成されるようにする請求項３記載の装置。
【請求項５】
前記新たなアプリケーションからサービスメタデータを受信した後に、当該装置が接続されているネットワークのクライアントにメッセージを送信し、該メッセージは前記新たなアプリケーションを前記装置に追加したことを示すようにした請求項３記載の装置。
【請求項６】
サービスメタデータリクエストをクライアントから受信し、
前記サービスメタデータリクエストに基づいて、当該装置に関連するデバイスファシリティマネジャ(DFM)へ特定のリクエストを送信し、
前記新たなサービスに関連する前記サービスメタデータを前記DFMから受信し、
前記サービスメタデータを前記クライアントへ転送する
ように前記新たなアプリケーションが構成される請求項３記載の装置。
【請求項７】
当該装置に関連するデバイスファシリティマネジャ(DFM)にて、前記新たなアプリケーションに関連する前記サービスメタデータに関する更新情報を前記新たなアプリケーションから受信し、
前記更新情報に基づいて、前記新たなアプリケーションに関連する前記サービスメタデータを更新する
ように更に構成される請求項３記載の装置。
【請求項８】
前記新たなアプリケーションに関する特定のイベントが生じた際に通知データを受けるためのリクエストを示すSOAPリクエストを、前記アプリケーションがクライアントアプリケーションから受信し、
前記特定のイベントが生じると、前記新たなアプリケーションは前記通知データを前記クライアントアプリケーションに送信するようにした請求項４記載の装置。
【請求項９】
前記SOAPリクエストは、ウェブサービス仕様に対応する部分を含み、
前記新たなアプリケーションは、当該装置に関するデバイスファシリティマネジャ(DFM)の共有ライブラリの中からライブラリルーチンを起動し、
前記ライブラリルーチンは、前記ウェブサービス仕様で規定される１つ以上の機能を実行し、
前記ライブラリルーチンの実行結果は、前記装置固有のリクエストを生成するのに使用されるようにした請求項３記載の装置。
【請求項１０】
前記新たなアプリケーションに関連するコードを受信することが、当該装置に挿入されるセキュアディジタル(SD)メモリからコードを受信することを含むようにした請求項３記載の装置。
【請求項１１】
当該装置に関連するデバイスファシリティマネジャ(DFM)が、
前記新たなアプリケーションを当該装置に追加するための追加リクエストを受信し、
前記新たなアプリケーションに関連するコードを受信し、
前記新たなアプリケーションを登録するための登録リクエストを受信し、
前記新たなサービスに関連する前記サービスメタデータを受信し、
前記ポート番号を前記新たなアプリケーションに送信する
ようにした請求項３記載の装置。
【請求項１２】
前記新たなアプリケーションが、アブストラクトAPIを介して当該装置に関する情報を取り出し、
前記アブストラクトAPIはインターフェースを規定し、該インターフェースにより、前記新たなアプリケーションは、当該装置の１つ以上の機能を起動させ、当該装置からデータを受信する
ようにした請求項３記載の装置。
【請求項１３】
複合機(MFP)でデータを処理するためのリクエストを処理するコンピュータで使用される方法であって、
MFPのネットワーク上のロケーションデータをクライアントアプリケーションに送信するステップと、
前記MFPに関連するデバイスファシリティマネジャ(DFM)にて、前記MFPに関連するメタデータを求めるメタデータリクエストを前記クライアントアプリケーションから受信するステップと、
前記複数のサービスを示すデバイスメタデータを前記DFMから前記クライアントアプリケーションに送信するステップと、
を有し、前記MFPでは複数のアプリケーションが動作し、該複数のアプリケーション中の各アプリケーションは、複数のサービスの内の或るサービスを提供するようにした方法。
【請求項１４】
複合機(MFP)でのデータ処理用のリクエストを処理するためのマシン読取可能な媒体であって、
MFPのネットワーク上のロケーションデータをクライアントアプリケーションに送信するステップと、
前記MFPに関連するデバイスファシリティマネジャ(DFM)にて、前記MFPに関連するメタデータを求めるメタデータリクエストを前記クライアントアプリケーションから受信するステップと、
前記複数のサービスを示すデバイスメタデータを前記DFMから前記クライアントアプリケーションに送信するステップと、
を１つ以上のプロセッサに実行させる命令を運び、前記MFPでは複数のアプリケーションが動作し、該複数のアプリケーション中の各アプリケーションは、複数のサービスの内の或るサービスを提供するようにしたマシン読取可能な媒体。
【請求項１５】
データを処理するためのリクエストを処理する複合機(MFP)であって、
当該MFPのネットワーク上のロケーションデータをクライアントアプリケーションに送信し、
当該MFPに関連するデバイスファシリティマネジャ(DFM)にて、前記MFPに関連するメタデータを求めるメタデータリクエストを前記クライアントアプリケーションから受信し、
前記複数のサービスを示すデバイスメタデータを前記DFMから前記クライアントアプリケーションに送信する
ように構築され、前記MFPでは複数のアプリケーションが動作し、該複数のアプリケーション中の各アプリケーションは、複数のサービスの内の或るサービスを提供するようにした複合機。
【請求項１６】
当該複合機は、印刷データを処理し、印刷データに反映される電子書類の印刷バージョンが生成されるようにする印刷プロセスを含む請求項１５記載の複合機。
【請求項１７】
前記DFMは１つ以上のウェブサービスを実行し、該ウェブサービスは、承認済みの工業規格又は承認済みの工業規格になる提案されたドラフトに従うようにした請求項１５記載の複合機。
【請求項１８】
複数のサービスの中の特定のサービスを提供する当該MFPの特定のアプリケーションと前記クライアントアプリケーションがどのように相互作用すべきかを示すサービスメタデータのSOAPリクエストを受信し、
前記サービスメタデータを前記クライアントアプリケーションに送信し、
前記特定のサービスのSOAPリクエストを前記クライアントアプリケーションから受信するように構築された請求項１５記載の複合機。
【請求項１９】
前記複数のサービスの中の特定のサービスを求めるSOAPリクエストを前記クライアントアプリケーションから受信するよう構築され、
特定のアプリケーションは、前記SOAPリクエストに基づいて、前記DFMの共有ライブラリから或るライブラリルーチンを起動し、
前記ライブラリルーチンは、ウェブサービス仕様で決められた１つ以上の機能を実行するようにした請求項１５記載の複合機。
【請求項２０】
前記特定のアプリケーションに関連するサービスメタデータに関連する更新情報を、前記DFMにて前記複数のアプリケーション中の特定のアプリケーションから受信し、
前記更新情報に基づいて、前記特定のアプリケーションに関連する前記サービスメタデータを更新する
ように構築された請求項１５記載の複合機。
【請求項２１】
前記複数のアプリケーションの１つ以上に関連するロギング情報を前記DFMにて取り出し、
前記MFPに関連するアドミニストレータアプリケーションに前記ロギング情報へのアクセス権を与える
ように構築された請求項１５記載の複合機。
【請求項２２】
前記複数のアプリケーション中の特定のアプリケーションに関連するコンフィギュレーション情報を、前記DFMにて当該MFPに関連するアドミニストレータアプリケーションから受信し、
前記コンフィギュレーション情報に基づいて、前記特定のアプリケーションを更新する
ように構築された請求項１５記載の複合機。
【請求項２３】
前記複数のアプリケーション中のアプリケーションからサービスメタデータリクエストを前記DFMにて受信し、
前記アプリケーションに対応するサービスメタデータを取り出し、
前記サービスメタデータを前記アプリケーションに送信する
ように構築された請求項１５記載の複合機。
【請求項２４】
前記複数のアプリケーション中のアプリケーションの更新に関連する更新情報を受信し、
前記更新情報の指標を含むメッセージを、前記アプリケーションの更新に関連する情報を受信するよう登録済みのクライアントに送信する
ように構築された請求項１５記載の複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複合装置(MFP)に関連し、特に、装置関連情報も保持するデバイスファシリティマネジャ(DFM)で標準的なウェブサービスプロトコルを実現することに関連する。
【背景技術】
【０００２】
このセクションで説明されるアプローチは追跡可能なアプローチであるが、考察又は追跡が過去になされているアプローチであるとは限らない。従って、特に断りのない限り、このセクションで説明されるどのアプローチも、このセクションに含まれているという理由だけで従来技術とみなすべきではない。
【０００３】
「ウェブサービス」なる用語は、インターネットプロトコルバックボーン上でXML,SOAP及びWSDL規格を利用するウェブベースアプリケーションを統合する標準方式に関する。XMLはデータをタグ付けするのに使用され、SOAPはデータを転送するのに使用され、WSDLは利用可能なサービスを記述するのに使用される。互いに及びクライアントと通信するビジネス手段として主に使用されているように、ウェブサービスは、ファイヤウォール背後の互いにITシステムについての深い知識なしに、機構がデータを通信できるようにする。
【０００４】
ネットワークを介したプログラム可能なインターフェースにより、ウェブサービスはビジネスロジック、データ及びプロセスを共有する。時間のかかるカスタムコード処理なしに、ウェブサービスは様々なソースからの様々なアプリケーションが互いに通信でいるようにする。更に、全ての通信はXMLでなされるので、ウェブサービスはオペレーティングシステム又はプログラミング言語のどれにも拘束されない。例えば、ジャバ(Java(登録商標))はパイソン(Python)と通信可能であり、ウィンドウズ(登録商標)アプリケーションはユニックス(UNIX(登録商標))アプリケーションと通信可能である。
【０００５】
緩く結合されたシステムでトランザクション、信頼できるメッセージ処理及びセキュリティに関する相互運用可能なプロトコルをもたらすように、複数のウェブサービス仕様が共に構成される。ウェブサービス仕様は、（例えば、ワールドワイドウェブコンソーシアム(W3C)及び構造化情報標準促進協会(OASIS)により）承認済みの規格並びに規格になるかもしれない提案中のドキュメント及びドラフトの何れも含む。
【０００６】
複合機(MFP)は印刷、複写、ファクシミリ及びスキャンのような１つ以上の機能を実行する装置である。多くのクライアントからの要求を賄うために、MFPは益々複雑なロジックを備えつつある。更に、既存のサービスを妨げずに、既存のMFPにサービスを追加すること及び更新することは困難である。従ってクライアント及びMFP間の通信を簡易化することが望まれている。MFPに新たなサービスを追加することを簡易にすること及び既存のサービスを更新するプロセスを簡易化することも望まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の課題はクライアント及びMFP間の通信を簡易化することである。
【課題を解決するための手段】
【０００８】
複合機(MFP)で用意されている特定のサービスを発見し且つ加入する技法が提供される。MFPのロケーションデータがクライアントアプリケーションに送信される。MFPのメタデータを求めるリクエストがクライアントアプリケーションから受信される。複数のサービスを示すデバイスメタデータを、デバイスファシリティマネジャ(DFM)はクライアントアプリケーションに送信する。クライアントアプリケーションからのディスカバリリクエストに応答してロケーションデータが送信されてもよいし、或いはMFPの利用可能性を通知するためにネットワークのブロードキャスト（又はマルチキャスト）メッセージの一部としてロケーションデータが送信されてもよい。
【０００９】
一形態では、MFPにより提供される複数のサービスに対応する複数のウェブサービスアプリケーション(WSA)とどこで通信するかをデバイスメタデータは示す。WSAに関連するサービスメタデータを求めるSOAPリクエストをWSAはクライアントアプリケーションから受信する。サービスメタデータはクライアントアプリケーションに送信されるが、それは、WSAにより提供されるサービスについてSOAPリクエストがそのクライアントアプリケーションから受信された後である。
【００１０】
一形態では、DFMはライブラリルーチンに関する共用ライブラリを含み、そのライブラリは１つ以上のウェブサービス仕様で規定される１つ以上の機能を実行する。クライアントアプリケーションからのSOAPリクエストに応えるために、各WSAは、利用可能な何らかのライブラリルーチンを共有ライブラリの中から起動してもよい。
【００１１】
一形態では、MFPに関する情報を有するウェブサービスデバイス(WSD)をDFMは含む。その情報は、MFPにより提供される各サービスのサービスメタデータと、MFPにより提供される全てのサービスを示すデバイスメタデータとを含んでもよい。
【００１２】
一形態では、MFP上で動作するWSAからDFMはサービスメタデータリクエストを受信する。DFMは、関連するWSAについてのサービスメタデータを抽出し、そのサービスメタデータをWSAに送信する。
【００１３】
一形態では、DFMはアドミニストレータからコンフィギュレーション情報を受信する。そして、DFMは、コンフィギュレーション情報に基づいて特定のアプリケーションを構築する又は構築を引き起こすようにする。
【００１４】
MFPにサービスを追加する別の技法も提供される。既に或るサービスを提供している装置に新たなサービスを追加するための追加リクエストが受信される。新たなアプリケーションに関するコードが受信される。新たなアプリケーションを登録する登録要求が、その新たなアプリケーションから受信される。新たなサービスに関するサービスメタデータも、その新たなアプリケーションから受信される。あるポート番号が新たなアプリケーションに送られ、新たなアプリケーションはそのポート番号を用いて新たなサービスのリクエストを検出する。
【００１５】
一形態では、サービスメタデータリクエストがDFMの新たなアプリケーションから受信される。DFMは、新たなサービスに関するサービスメタデータを検索し、その新たなアプリケーションにサービスメタデータを伝送し、サービスメタデータをクライアントアプリケーションに伝送する。
【００１６】
一形態では、新たなアプリケーションはアブストラクトAPIを介してその装置に関連する情報を検索する。アブストラクトAPIは或るインターフェースを規定し、そのインターフェースによって、新たなアプリケーションはその装置で１つ以上の機能を起動し、装置からデータを受信する。
【発明を実施するための最良の形態】
【００１７】
以下、本発明が添付図面と共に非限定的な実施例により説明され、図中同じ参照番号は同様な要素に関連する。
【実施例１】
【００１８】
説明を目的とする以下の詳細な説明では、本発明の十分な理解を図るため、様々な具体的な詳細が述べられる。しかしながら、本発明はそのような具体的詳細なしに実施されてもよいことは明白であろう。それ以外には、本発明を不必要に曖昧にするかもしれないことを避けるため、周知の構造及び装置はブロック図形式で示される。
【００１９】
［デバイスファシリティマネジャの機能の概要］
図１は、複合機(MFP)のサービスをクライアントアプリケーションがどのように要求するかを示す本発明の一実施例によるフローチャートである。ステップ１０２では、MFPのロケーションデータはクライアントアプリケーションに送信される。ステップ１０４では、MFPに関するデバイスファシリティマネジャ(DFM)が、クライアントアプリケーションから、MFPに関するメタデータを求めるメタデータリクエストを受信する。ステップ１０６では、デバイスメタデータがDFMからクライアントアプリケーションに送信され、そのデバイスメタデータはMFPにより提供される複数のサービスを示す。
【００２０】
［MFPにサービスを追加する機能の概要］
図２は、新たなウェブサービスがMFPにどのように付加されるかを示す本発明の一実施例によるフローチャートである。ステップ２０２では、新たなサービスを装置に登録するための登録リクエストが、新たなサービスを提供する新たなアプリケーションから受信される。ステップ２０４では、その新たなアプリケーションがその装置に登録されたことの確認応答が新たなアプリケーションに送信される。ステップ２０６では、新たなサービスに関連するサービスメタデータが、新たなアプリケーションから受信される。ステップ２０８では、新たなアプリケーションにポート番号が割り当てられる。新たなサービスアプリケーションは、新たなアプリケーションにより提供されるサービスを求めるリクエストを、そのポート番号で指定されるポートで受信する。
【００２１】
［アーキテクチャ概要］
図３は、リクエストを処理してMFPでデータを処理する本発明の一実施例によるアーキテクチャ例３００を示すブロック図である。アーキテクチャ３００は、クライアント３０２、アドミニストレータ３０４、デバイスファシリティマネジャ(DFM)３０６、MFPで動作する複数のウェブサービスアプリケーション(WSA)３０８を含む。
【００２２】
図３に示されるように、MFPは、複数のプラットフォーム（例えば、従来のプラットフォーム３３０、リナックスベースのプラットフォーム３４０及びVxWorksベースのプラットフォーム３５０）で構成され、各プラットフォームでWSA３０８の１つ以上が動作してもよい。図３に示されるプラットフォームは、単なる一例として与えられているに過ぎず、本方法は如何なるタイプのプラットフォームにも適用可能である。
【００２３】
クライアント３０２からのディスカバリリクエスト、メタデータリクエスト、及びアドミニストレータ３０４からのコンフィギュレーションその他のMFP管理リクエストに応答することによって、DFM３０６はMFPの代理を務める。WSディスカバリ３１２及びWS-MeX(即ち、WS-MetadataExchange)３１６のような複数のウェブサービス仕様を実現するリポジトリとしてDFM３０６は機能してもよい。
【００２４】
MFPで動作する各WSA３０８は、例えばSOAPプロトコルを利用して、サービスを要求するクライアントにサービスを提供する。各WSA３０８は、ターゲットプラットフォームとは別に、アブストラクトAPI３２４のようなサービス固有のアブストラクトAPIを使用してもよい。各WSA３０８はWSイベンティング部３２２を利用してもよい。
【００２５】
（同一ネットワーク上の装置にMFPを通知するブロードキャスト又はマルチキャストメッセージのような）ディスカバリリクエスト又はディスカバリハローメッセージを介して或るMFPが存在することを、クライアント３０２は発見してもよい。MFPの存在にクライアント３０２が気付くと、クライアント３０２はデバイスメタデータイクスチェンジリクエストを例えばWS-MetadataExchangeを介して送信し、そのMFPが提供する全てのサービスを見出す。装置全体を代行するDFM３０６は、そのリクエストを受信し、MFPにより提供される様々なサービスを記述するメタデータを返す。ウェブサービスアプリケーション(WSA)３０８のようなMFPで動作する特定のサービスアプリケーションからのサービスメタデータをクライアント３０２は要求する。WSA３０８はウェブサービスデバイス(WSD)マネジャ３１０からのサービスメタデータを要求し、ウェブサービスデバイスマネジャはサービスメタデータをWSA３０８に返す。WSA３０８はサービスメタデータをクライアント３０２に返す。
【００２６】
或いは、MFPのデバイスメタデータ及び１つ以上のWSAのサービスメタデータが、同じレスポンスでクライアント３０２に送信されてもよい。
【００２７】
サービスメタデータに基づいて、WSA３０８により提供されるサービスに対応するSOAPリクエストをクライアント３０２は生成及び送信し、そのSOAPリクエストをWSA３０８は受信及び処理する。サービスリクエストに基づいて、WSA３０８はアブストラクトAPI３２４を利用して、アブストラクトAPI手段３４４のようなアブストラクトAPI手段３２４宛のプラットフォーム固有の呼出を行う。このように、ウェブサービスアプリケーション（WSA３０８等）の開発者は、ウェブサービス自体の開発に集中し、ウェブサービスが動作する基礎となるプラットフォームの構成を深く知らなくてよい。従って、ターゲッットプラットフォームの知識を備えたウェブサービスアプリケーション開発者以外の者が、対応するアブストラクトAPIの実現手段を規定してもよい。
【００２８】
［クライアント］
クライアント３０２は或るプロセスに関連するアプリケーションであり、それはMFPにより提供される１つ以上のサービスを要求する。クライアント３０２は典型的にはオペレーティングシステムに関連するアプリケーションであり、それは初期要求プロセスをサポートする。クライアント３０２の目的は、プラットフォーム固有のコールを、リクエストプロセスからSOAPリクエストに変換することであり、SOAPリクエストはSOAPを「理解」するアプリケーションにより処理可能である。
【００２９】
例えば、リクエストプロセスはマイクロソフトアプリケーションに関連してもよいし、WSA３０８は印刷サービスを提供してもよい。典型的には、クライアント３０２は、初期リクエストプロセスをサポートするオペレーティングシステムに関連するアプリケーションである。クライアント３０２は、リクエストプロセスにより送信されたプラットフォーム固有の「印刷データ」リクエストを受信する。クライアント３０２はSOAPメッセージ中の印刷データリクエストをエンコードし、その印刷データリクエストはSOAPメッセージを「理解」するサービスアプリケーションにより処理可能である。
【００３０】
［ネットワーク］
クライアント３０２及びMFP間のSOAP通信は、（不図示の）ネットワークを介してなされてもよい。ネットワークは如何なる媒体で又は如何なる手段で実現されてもよく、ネットワーク中の様々なノード間でデータ通信機能をもたらす。そのようなネットワークの具体例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、イーサーネット、インターネット、１つ以上の地上、衛星又は無線リンク等のネットワークを含むがこれらに限定されない。ネットワークはこれら説明済みのネットワークの組み合わせを含んでもよい。ネットワークは、トランスミッションコントロールプロトコル(TCP)、ユーザデータグラムプロトコル(UDP)及び／又はインターネットプロトコル(IP)に従ってデータを伝送してもよい。
【００３１】
［デバイスファシリティマネジャ］
ディスカバリリクエスト、ロギング情報のリクエスト及びコンフィギュレーション命令のリクエストを受け入れることで、DFM３０６はMFPの代理を務める。一実施例によれば、DFM３０６は複数のウェブサービス仕様の実現手段に関するリポジトリとして機能してもよい。従ってDFM３０６は共有ライブラリルーチンを含み、各ルーチンは１つ以上のウェブサービス仕様（例えば、WSセキュリティ、WSメタデータイクスチェンジ）で規定される１つ以上の機能を実現する。こうして、複数のウェブサービス仕様が実現されると、MFPで動作する複数のウェブサービスアプリケーションどうしで共有される。その結果、ウェブサービスアプリケーションの開発者は、DFM３０６に実装される如何なる仕様についても多くの詳細を知る必要はなく、それらの手段を信頼して使用することができる。DFM３０６に備わるウェブサービス仕様は、限定ではないが、WSディスカバリ３１２、WSトランスファ３１４、WS-MeX(即ち、WS-MetadataExchange)３１６及びWSセキュリティ３１８を含んでもよい。
【００３２】
一実施例ではDFM３０６は、SOAPプロトコルに対応するライブラリルーチンを含む。各SOAPライブラリルーチンは、１つ以上のSOAP仕様で規定される１つ以上の機能を実行する。SOAPライブラリルーチンは、SOAPリクエストを分析し、SOAPメッセージをパッケージ化するのに使用されてもよい。従って各WSA３０８は１つ以上のSOAPライブラリルーチンをDFM３０６から起動し、SOAPライブラリルーチンが一旦規定されるとMFPで動作する全てのWSA３０８の中でSOAPライブラリルーチンが共有されるようにする。SOAPプロトコル規格のいくつものバージョンがサポートされてもよい。SOAPプロトコル規格の新たなバージョンにアップデートすることは、WSA３０８に対するほんの僅かな修正と共に又は全く修正を伴わずになされる。
【００３３】
一実施例では、クライアントアプリケーション（例えば、クライアント３０２）は、MFPにおける１つ以上のWSAに更新することに関する情報を受信するように登録してもよい。特定のアプリケーションの更新に関する更新情報をDFM３０６が受信し、クライアントアプリケーションがそのような更新を示すメッセージを受けるように登録されていたならば、その更新情報を示すメッセージをDFM３０６はクライアントアプリケーションに送信する。
【００３４】
一実施例では、DFM３０６はWSAに関する更新情報を受信してもよい。例えば、WSA３０８はファックスサービスを提供し、ファクシミリ回線が切断されていることをMFPが検出するかもしれない。ファクシミリサービスが利用可能でなかった場合、MFPがファクシミリサービスを提供することを示すデバイスメタデータと共に、DFM３０６は以後メタデータリクエストに応答すべきでない。従って、WSAから更新情報を受けたことに応じて、DFM３０６は、WSAに関するサービスメタデータ及び／又は装置を更新する。
【００３５】
一実施例では、DFM３０６はアドミニストレータアプリケーション（例えば、アドミニストレータ３０４）からコンフィギュレーション情報を受信してもよい。コンフィギュレーションリクエストは、構築及び／又は更新されるべき１つ以上のWSAを示す。DFM３０６は、コンフィギュレーションリクエストを処理し、そのコンフィギュレーションを実行する又は実行されるように促し、或いは適切なWSAで命令を更新する。或いは、以下で詳細に説明されるように、DFM３０６はそのようなコンフィギュレーションリクエストを処理するようにWSDマネジャ３１０を指示してもよい。
【００３６】
一実施例では、アドミニストレータアプリケーション（例えば、アドミニストレータ３０４）からのログリクエストをDFM３０６は受信してそれに応答する。DFM３０６は、MFPで動作する１つ以上のWSAに関するロギング情報を検索し、そのロギング情報をアドミニストレータ３０４に送信する。以下で詳細に説明されるように、WSDマネジャ３１０は、ロギング情報を検索し、それをDFM３０６に与える。
【００３７】
［WSDマネジャ］
一実施例によれば、DFM３０６はWSDマネジャ３１０も有する。WSDマネジャ３１０は、ロギング情報、ステータスの問い合わせ及び（アドミニストレータ３０４からのような）MFPの外部管理についてのセントラルポイント(central  point)を与える。アドミニストレータは或るアプリケーションであり、そのアプリケーションはWSDマネジャ３１０を介してFMPに関する情報を検索するように構成される。例えば、WSDマネジャ３１０は、全てのWSA３０８から及び様々なプラットフォーム（WSA３０８が動作しているプラットフォーム）から内部で集まるロギング情報全てを集めてもよい。アドミニストレータはWSDマネジャ３１０を用いてWSA３０８を構築してもよいし、更新してもよいし、或いはディセーブルにしてもよい。
【００３８】
一実施例では、WSDマネジャ３１０はステータス情報全体を保守し、ステータス情報は、例えばMFPが設けられる場所、如何なるWSAがMFPにインストールされるか、WSAが適切に動作しているか否か等を含む。
【００３９】
一実施例では、WSDマネジャ３１０は、MFPに関するメタデータと、MFPで動作している各サービスアプリケーションに関連するサービスメタデータとを保守する。
【００４０】
［一般的API］
一実施例によれば、WSDマネジャ３１０はMFPに関する一般情報（IPアドレス及びMFPのモデル番号等）を一般的APIを介して検索する。一般的API３２０は或るインターフェースを規定し、そのインターフェースにより、DFM３０６はMFPの各プラットフォームに固有の情報を受信する。このようなわけでDFM開発者は、特定のプラットフォームの詳細を知る必要はなく、あるMFPについてその開発者が構築しようとするDFMについての詳細だけを知っていればよい（図３における波線は、特定のAPIから適切なAPI手段へのAPI呼出(コール)である。）。
【００４１】
［一般的API実現手段］
一般的API３２０がDFM３０６で規定されていた場合、特定のプラットフォームについて一般的API３２０の実現手段が規定される必要がある。例えば、一般的API実現手段３３２が、従来のプラットフォーム３３０上で一般的API３２０として規定される。同様に、一般的API実現手段３４２が、リナックスベースのプラットフォーム３４０上で一般的API３２０として規定される。対応する一般的API実現手段は、装置固有のリクエストで特定され且つMFPで実現される機能を決める。DFM３０６の開発者がその実現手段を決定してもよいし、或いはターゲットプラットフォームの知識を有するそれ以外の誰かが実現手段を決めてもよい。
【００４２】
［ウェブサービスアプリケーション］
ウェブサービスアプリケーション(WSA)３０８は或るモジュールであり、そのモジュールは、１つ以上のウェブサービスを提供し、DFM３０６で用意されるプロトコルのようなウェブサービスプロトコル及び技術を当てにしている。WSA３０８がSOAPリクエストを分析するロジックを含んでいなかったならば、WSA３０８はSOAPリクエストを分析するために別個のSOAPモジュール（不図示）を当てにしてもよい。上述したように、別個のSOAPモジュールが、DFM３０６によって用意され、全てのWSA３０８の中で共有されてもよい。
【００４３】
クライアント３０２からのイベントリクエストに応答するWSイベンティングモジュール３２２をWSA３０８は有してもよい。クライアント３０２は、WSA３０８により提供されるサービスに関するイベントに予約してもよい。例えば、WSA３０８は印刷サプリケーションであり、クライアント３０２が予約するイベントは、WSA３０８に関連するMFPが印刷ジョブを完了したことでもよい。こうしてイベントが完了すると、WSA３０８はイベントメッセージをクライアント３０２に送信し、そのメッセージは印刷ジョブが完了していることを示す。
【００４４】
［アブストラクトAPI］
WSA３０８はアブストラクトAPI(例えば、アブストラクトAPI３２４)を含んでもよく、そのAPIを介して装置固有のコールが生成される。アブストラクトAPIは或るインターフェースを規定し、そのインターフェースによって、関連するWSA３０８はMFPの１つ以上の機能を起動する。従ってウェブサービスアプリケーションの開発者は、対象とするプラットフォームに潜む複雑な知識を知る必要はなく、その開発者が目的とする新たに提供するサービスだけ知っていればよい。
【００４５】
［アブストラクトAPI実現手段］
アブストラクトAPIがウェブサービスアプリケーション開発者により規定されたならば、ある特定のプラットフォームについてそのアブストラクトAPIの実現手段が規定される必要がある。例えば、GWプラットフォーム３３０上でアブストラクトAPI３２４に関するアブストラクトAPI実現手段３３４が規定される。同様に、VxWorksプラットフォーム３５０上でアブストラクトAPI３２４に関するアブストラクトAPI実現手段３５４が規定される。関連するアブストラクトAPI実現手段は、装置固有のリクエストで指定され且つMFPに実装されている機能を規定する。ウェブサービスアプリケーションの開発者がその実現手段を規定してもよいし、或いはターゲットプラットフォームの知識を有するそれ以外の誰かが実現手段を規定してもよい。
【００４６】
［サービスの発見及びサービスリクエストの処理例］
図４は、ａ）クライアント３０２がMFPで用意されているサービスを如何にして発見するか及びｂ）クライアント３０２がサービスリクエストを如何にして送信するかの一例を示す。或るユーザが或る建物に到着し、ミーティング前に或る電子書類を印刷したいが、適切な何らかの印刷装置（特に、SOAPリクエストを処理するよう構成され且つ標準的なウェブサービスプロトコルを実装しているもの）がどこにあるかを知らなかったとする。そのユーザは、暗号化された電子書類を望んでおり、印刷ジョブが完全に実行された時点で（即ち、電子書類全部が印刷された時点で）通知を受けることを望んでいるとする。
【００４７】
ステップ１において、ユーザは利用可能な印刷装置を発見するためにクライアント３０２を介してマルチキャストディスカバリリクエストを送信し、その印刷装置は上記の条件に従って印刷ジョブを処理できるようなものである。典型的には、ディスカバリリクエストはSOAPに又はプラットフォームに依存しない他の何らかの通信プロトコルに準拠し、様々なプラットフォームで動作する装置が互いに通信してよいようにする。ディスカバリリクエストは或るアプリケーションによって生成及び送信され、そのアプリケーションは例えばワードプロセシングプログラムや電子メールプログラム等である。ディスカバリリクエストに応答して、DFM３０６はWS-Discovery３１２を用いてディスカバリリクエストを調べる。WS-Discovery３１２はウェブサービスディスカバリプロトコル規格を実現する。DFM３０６もWS-Discovery３１２を利用してレスポンス（応答）をパッケージ化し、レスポンスはMFPのIPアドレスを少なくとも含み、DFM３０６はそのIPアドレスをクライアント３０２に送信する（ステップ２）。或いはDFM３０６は、それをレスポンスデバイスメタデータに含めるように構成されてもよく、そのメタデータはそのMFPに関してそこで提供される様々なサービスを示す。
【００４８】
一実施例では、DFM３０６に関連する或るMFPがサービスを提供するのに利用可能であることを示すSOAPメッセージを、DFM３０６が近辺の装置にブロードキャストしてもよい。そのようなSOPAメッセージに応答して、クライアント３０２は、初期SOAPメッセージ中のIPアドレスを用いてDFM３０６のデバイスメタデータを直ぐに要求してもよい。
【００４９】
ステップ３ではメタデータを求めるリクエストをクライアント３０２がDFM３０６に送信する。クライアント３０２からのメタデータリクエストは、DFM３０６のモジュールWS-Transfer３１４によって始めに処理されてもよい。WS-Transfer３１４は１つ以上のルーチンで構成され、そのルーチンはウェブサービストランスファ仕様で規定されている１つ以上の機能を実行する。ステップ４，５では、DFM３０６は問い合わせを行い、MFPに関するデバイスメタデータをWSDマネジャ３１０から取り出す。DFM３０６はモジュールWS-MeX３１６を用いてデバイスメタデータをパッケージ化する。モジュールWS-MeX３１６は１つ以上のライブラリから構成され、そのライブラリはウェブサービスメタデータイクスチェンジ仕様で規定されている１つ以上の機能を実行する。ステップ６では、DFM３０６はWS-Transfer３１４により提供される１つ以上のライブラリルーチンを利用して、MFPのデバイスメタデータをクライアント３０２に返す。デバイスメタデータレスポンスは、限定ではないが、ａ）MFPの物理的ロケーション、ｂ）MFPの受入体制（即ち、MFPでの全てのサービスのリスト）及びｃ）１つ以上のURL（MFPにより提供されている１つ以上のサービスにユーザがアクセスできるようにするURL）を含んでもよい。
【００５０】
デバイスメタデータに基づいて、クライアント３０２のユーザは、１）MFPが少なくとも印刷サービスを提供すること、及び２）その印刷サービスにアクセスするのに使用するURIを確認する。印刷サービスと直接的に通信するために及び印刷サービスの正確な機能（例えば、そこで用意されるセキュリティ）を見出すために、デバイスメタデータレスポンスで与えられるポート番号を利用して、クライアント３０２はサービスメタデータリクエストをMFPに送信する（ステップ７）。WSA３０８が印刷サービスを提供するならば、WSA３０８はサービスメタデータリクエストを受信する。ステップ８では、WSA３０８はDFM３０６からのサービスメタデータを要求する際に、WSA３０８に関するサービスメタデータを求めてWSDマネジャ３１０に問い合わせる。WSA３０８はサービスメタデータを受信し（ステップ９）、そのサービスメタデータをクライアント３０２に転送する（ステップ１０）。サービスメタデータはWSDLドキュメント形式（WSA３０８に対するパブリックインターフェースを記述する書類形式）でもよい。こうしてサービスメタデータはクライアント３０２がWSA３０８と如何にして通信すべきかを示す。
【００５１】
ユーザの要求するレベルの印刷サービスをWSA３０８が提供することを、サービスメタデータに基づいてユーザが確認すると、ユーザは、WSA３０８に用意されているイベント処理サービスに登録することをクライアント３０２に要求してよい。この場合、クライアントは、印刷ジョブが完全に実行された時点で通知データを要求する。
【００５２】
クライアント３０２はユーザのコンピュータ上のワードプロセシングアプリケーションからプラットフォーム固有のリクエストを受信し、上記の条件に従って電子書類を印刷するようにする。クライアント３０２はプラットフォーム固有のリクエストをSOAPリクエストに変換し、SOAPリクエストはウェブサービスアプリケーションで処理可能なリクエストである。ステップ１１では、クライアント３０２はSOAPリクエストをWSA３０８に送信し、DFM３０６を呼び出し、SOAPリクエストで指定されているいくつかのポリシを実行する。
【００５３】
この例では、モジュールWS-Security３１８がウェブサービスセキュリティプロトコル規格を実現し、暗号化された電子書類に対応するSOAPリクエストの部分を解読する。WSA３０８は解読された電子書類をDFM３０６から受信する。ステップ１２では、アブストラクトAPI３２４を利用して、WSA３０８は、WSA３０８が動作する特定のプラットフォームに対するWSA固有のAPIコールを作成する。この例ではアブストラクトAPIコールは、電子書類を印刷することである。ステップ１３では印刷ジョブの結果がWSA３０８に送信される。ステップ１４では、印刷ジョブが完了した場合に、WSA３０８はWS-Eventing３２２を介してクライアント３０２に通知を行う。
【００５４】
ここで説明されるよなDFMを実現することにより受けられるいくつかの恩恵は、ａ）全てのWSAが恩恵を受けてそれらの間で共有できるような共通のウェブサービス仕様により実現手段をセントラル化すること、ｂ）デバイスコンフィギュレーション、メタデータ処理及びディスカバリリクエストについてロケーションが１つであること、及びｃ）MFPのセントラル化された制御及び管理をWSDマネジャが行うこと等を含む。
【００５５】
［新サービスをMFPに追加する例］
新たなサービスが装置にどのように追加されるかの具体例を次に考察する。複写サービス及び印刷サービスを既に提供しているMFPにアーカイブサービスを追加するとする。MFPのオーナーは、新たなアーカイブアプリケーションのコードを含むセキュアディジタル(SD)カードを挿入する。一実施例では、そのコードはセキュアインターネットコネクションを用いてリモートコンピュータからそのMFPに伝送される。しかしながらMFPにコードをもたらす如何なる手段が使用されてもよい。本発明は、新たなアプリケーションのコードがMFPに送信され受信される何らかの特定の手段に限定されない。
【００５６】
コードはMFPにアップロードされ、その後にMFPはコードの少なくとも一部を実行する。コードの少なくとも一部を実行することは、アーカイブアプリケーションを登録するための登録リクエストをアーカイブアプリケーションが発行することを引き起こす。
【００５７】
MFPがアーカイブサービスを既に提供していたならば（しかも、例えば、既存のアーカイブサービスが、その新たなアプリケーションで提供されるサービスより新しいバージョンであったならば）、MFPは登録リクエストを否認し、新たなアプリケーションをMFPに登録しない。しかしながら、旧バージョンの通信機能しか備えていないクライアントアプリケーションにアーカイブサービスを提供するために、MFPは古いバージョンのアーカイブサービスを受け入れてもよい。
【００５８】
MFPが登録リクエストを受け入れると、アーカイブアプリケーションは新たなアーカイブサービスに関するサービスメタデータをMFPに送信する。MFPはポート番号をアーカイブアプリケーションに送信する。ポート番号は、MFPのどのポートが、アーカイブサービスについてのSOAPリクエストを「受ける(listen)」ためのものかを示す。
【００５９】
同様に、MFPにおける既存のWSAが更新されてもよい。新たなサービスを追加する及び既存のサービスを更新する説明済みのアプローチは、サービスが追加又は更新される場合に、シャットダウンされずにMFPが動作し続けることを許容する。
【００６０】
新たなアプリケーションが装置に登録されると、その新たなアプリケーションは、サービスメタデータリクエストを受信し、上述したようにクライアントアプリケーションからの他のSOAPリクエストに応答する。
【００６１】
一実施例では、新たなアプリケーションが登録されると、MFP又は新たなアプリケーションはハロー(HELLO)メッセージをブロードキャスト又はマルチキャストし、新たなサービスがそのネットワークに追加されてサービスリクエストに応じる準備が整ったことをネットワーク上の装置に通知する。
【００６２】
一実施例では、新たなアプリケーションが登録されると、MFPのデバイスメタデータがその新たなサービスを含むように更新される。新たなアプリケーション及びURIをWSDマネジャに通知することで、MFPはデバイスメタデータを更新してもよい（そのURIは、クライアントアプリケーションが新たなアプリケーションにSOAPリクエストを送信するのに使用されるものである。）。
【００６３】
［実現手段］
上記のアプローチは如何なるタイプのコンピュータプラットフォームでもアーキテクチャでも実現されてよい。図５は本発明の実施例で使用されるコンピュータシステム５００のブロック図を示す。コンピュータシステム５００は、情報を通信するためのバス５０２又は他の通信手段と、バス５０２に結合された情報を処理するプロセッサ５０４とを有する。コンピュータシステム５００は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス５０２に結合されたメインメモリ５０６を有し、メインメモリはプロセッサ５０４で実行される命令や情報を格納する。メインメモリ５０６は、プロセッサ５０４で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。コンピュータシステム５００は、プロセッサ５０４のための命令や静的な情報を格納する、バス５０２に結合されたリードオンリメモリ(ROM)５０８又は他のスタティックストレージデバイスを更に含む。磁気ディスク又は他の光ディスクのようなストレージデバイス５１０は、情報及び命令を格納するために用意されてバス５０２に結合される。
【００６４】
コンピュータシステム５００は、コンピュータユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ５１２にバス５０２を介して結合されてもよい。英数字その他のキーを含む入力装置５１４は、情報及び命令選択内容をプロセッサ５０４に通知するためにバス５０２に結合される。他の種類のユーザ入力装置は、カーソル制御装置５１６（例えば、マウス、トラックボール、カーソル方向キー）であり、指示情報及び命令選択をプロセッサ５０４に通知し且つディスプレイ５１２でのカーソルの動きを制御する。この入力装置は典型的には第１軸（例えば、ｘ）及び第２軸（例えば、ｙ）の２軸による２つの自由度を有し、装置が平面上の位置を指定できるようにする。
【００６５】
本発明は上記の技法を実現するコンピュータシステム５００を利用することに関連する。本発明の一実施例によれば、メインメモリ５０６に含まれる１以上の命令の１以上のシーケンスを実行するプロセッサ５０４に応じて、上記の技法がコンピュータシステム５００によって実行される。そのような命令は、ストレージデバイス５１０のような他のマシン読取可能な媒体からメインメモリ５０６に読み込まれてもよい。メインメモリ５０６に含まれている命令シーケンスの実行は、本願で説明されるプロセスステップをプロセッサ５０４が実行することを引き起こす。代替実施例では、本発明を実施するために、ハードワイヤード回路が、代替的に使用されてもよいし或いはソフトウエア命令との組み合わせで使用されてもよい。すなわち本発明の実施例はハードウエア回路及びソフトウエアの特定の如何なる組み合わせにも限定されない。
【００６６】
ここで使用されているように「マシン読取可能な媒体」なる用語は、マシン(コンピュータ)動作を特定の形態で引き起こすデータを用意することに関与する如何なる媒体にも関連する。コンピュータシステム５００を利用して実現される実施例では、様々なマシン読取可能な媒体が、実行する命令をプロセッサ５０４に提供する際に含まれてよい。そのような媒体は多くの形態をとってよく、限定ではないが、不揮発性媒体、揮発性媒体及び伝送媒体を含む。不揮発性媒体は、例えば、ストレージデバイス５１０のような光又は磁気ディスクを含む。揮発性媒体は、メインメモリ５０６のようなダイナミックメモリを含む。伝送媒体は、同軸ケーブル、銅線及び光ファイバを含み、バス５０２を構成するワイヤを含む。伝送媒体は、無線電波及び赤外線データ通信の際に生成されるもののような、音波又は光波の形式をとってもよい。
【００６７】
マシン読取可能な媒体の一般的な形態は、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープその他の如何なる磁気媒体、CD-ROMその他の如何なる光媒体、パンチカード、紙テープ又は穴のパターンを有する他の如何なる物理的媒体、RAM、PROM、EPROM、フラッシュEPROMその他のメモリチップ、カートリッジ、上記のような搬送波又はコンピュータが読み取ることの可能な他の如何なる媒体も含んでよい。
【００６８】
マシン読取可能な様々な形態は、１以上の命令の１以上のシーケンスをプロセッサ５０４に実行に備えて搬送する際にも適用可能である。例えば命令は初期には遠く離れたリモートコンピュータの磁気ディスクで搬送されてもよい。リモートコンピュータは自身のダイナミックメモリにその命令をロードし、モデムを用いて電話回線を介して命令を送信してもよい。コンピュータシステム５００付近のモデムは電話回線でそのデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換する。赤外線検出器は、赤外線信号で搬送されたデータを受信し、そのデータをバス５０２に与えることができる。バス５０２はデータをメインメモリ５０６に運び、プロセッサ５０４はメインメモリから命令を抽出して実行する。メインメモリ５０６で受信された命令は、プロセッサ５０４で実行される前又はその後にストレージデバイス５１０に選択的に格納されてもよい。
【００６９】
コンピュータシステム５００はバス５０２に結合された通信インターフェース５１８も含む。通信インターフェース５１８は、ローカルネットワーク５２２に接続されるネットワークリンク５２０に結合する双方向データ通信をもたらす。例えば、通信インターフェース５１８は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例では、通信インターフェース５１８は、データ通信接続をコンパチブルなLANに与えるLANカードでもよい。無線リンクが使用されてもよい。どの実現手段でも、通信インターフェース５１８は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。
【００７０】
ネットワークリンク５２０は典型的には１以上のネットワークを介して他のデータ装置とのデータ通信をもたらす。例えば、ネットワークリンク５２０はローカルネットワーク５２２を介してホストコンピュータ５２４とのコネクションを提供する、或いはインターネットサービスプロバイダ(ISP)５２６により運営されるデータ機器とのコネクションを提供する。そしてISP５２６はデータ通信サービスをワールドワイドパケットデータ通信ネットワーク(今日、「インターネット」５２８として一般に言及されている)を介して提供する。ローカルネットワーク５２２及びインターネット５２８の双方は、ディジタルデータストリームを搬送する、電気的な、電磁的な又は光学的な信号を使用する。様々なネットワークを介する信号や、ネットワークリンク５２０における通信インターフェース５１８を介する信号は、コンピュータシステム５００に及びそこからディジタルデータを搬送し、例えば情報を伝送する搬送波の形式をとってもよい。
【００７１】
コンピュータシステム５００は、ネットワーク、ネットワークリンク５２０及び通信インターフェース５１８を介して、メッセージを送信し及びプログラムコードを含むデータを受信する。インターネットの例では、サーバー５３０はインターネット５２８、ISP５２６、ローカルネットワーク５２２及び通信インターフェース５１８を介して、アプリケーションプログラムに要求されるコードを送信するかもしれない。
【００７２】
プロセッサ５０４は受信したコードを受信したときに実行してもよいし、後の実行に備えてストレージデバイス５１０又は他の不揮発性ストレージに格納していたかのように実行してもよい。このようにコンピュータシステム５００は搬送波の形式でアプリケーションコードを取得してもよい。
【００７３】
以上本発明の特定の実施例が多くの具体的詳細と共に説明されたが、その具体的詳細は実現手段毎に異なってよい。本発明が何であるかの及び出願人により発明であると意図されているものの唯一排他的なインジケータは、本願により発行される特許請求の範囲であり、その特許請求の範囲には将来的な如何なる補正も含まれる。特許請求の範囲に含まれている用語については明細書で明示的に言及された何らかの定義が、特許請求の範囲で使用されている用語の意味を定める。特許請求の範囲で明示的に言及されていない、限定、構成要件、性質、特徴、効果又は属性のいずれも特許請求の範囲を限定するように決して解釈されるべきでない。従って本明細書及び図面は、限定的な意味ではなく例示として解釈されるべきである。
【００７４】
［関連出願］
本願は２００６年１２月に出願された“WEB  SERVICES  DEVICE  PROFILE  ON  A  MULTI-SERVICE  DEVICE:  DEVICE  AND  FACILITY  MANAGER”と題する米国出願(代理人管理番号49986-0584)に関連し、その内容はすべて本願のリファレンスに組み入れられる。
【００７５】
本願は２００６年１２月に出願された“WEB  SERVICES  DEVICE  PROFILE  ON  A  MULTI-SERVICE  DEVICE:  DYNAMIC  ADDITION  OF  SERVICES”と題する米国出願(代理人管理番号49986-0583)に関連し、その内容はすべて本願のリファレンスに組み入れられる。
【図面の簡単な説明】
【００７６】
【図１】MFPにより提供されるウェブサービスをクライアントアプリケーションがどのように要求するかを示す本発明の一実施例によるフローチャートである。
【図２】新たなウェブサービスがMFPにどのように付加されるかを示す本発明の一実施例によるフローチャートである。
【図３】リクエストを処理してMFPでデータを処理する本発明の一実施例によるアーキテクチャ例３００を示すブロック図である。
【図４】MFPで提供されるサービスを発見及び登録するために、アーキテクチャ例の様々なコンポーネント及びクライアントアプリケーション間の通信の様子を示す本発明の一実施例によるシーケンス図である。
【図５】本発明の実施例で使用可能なコンピュータシステムを示すブロック図である。
【符号の説明】
【００７７】
３００  アーキテクチャ
３０２  クライアント
３０４  アドミニストレータ
３０６  デバイスファシリティマネジャ
３０８  ウェブサービスアプリケーション
３１０  WSDマネジャ
３１２  WSディスカバリ
３１４  WSトランスファ
３１６  WSメタデータイクスチェンジ
３１８  WSセキュリティ
３２０  一般的API
３２２  WSイベンティング
３２４  アブストラクトAPI
３３０  従来のプラットフォーム
３３２，３４２，３５２  一般的API手段
３３４，３４４，３５４  アブストラクトAPI手段
３４０  リナックスベースのプラットフォーム
３５０  VxWorksベースのプラットフォーム
５００  コンピュータシステム
５０２  バス
５０４  プロセッサ
５０６  メインメモリ
５０８  リードオンリメモリ
５１０  ストレージデバイス
５１２  ディスプレイ
５１４  入力装置
５１６  カーソル制御部
５１８  通信インターフェース
５２０  ネットワークリンク
５２２  ローカルネットワーク
５２４  ホスト
５２６  インターネットサービスプロバイダ
５２８  インターネット
５３０  サーバー
【図１】
2008171414.tif 000003
【図２】
2008171414.tif 000004
【図３】
2008171414.tif 000005
【図４】
2008171414.tif 000006
【図５】
2008171414.tif 000007