情報取得方法、情報付加装置、情報取得装置、及びプログラム 技術分野
[0001] 本発明は、情報取得方法、情報付加装置、情報取得装置、及びプログラム関する 背景技術
[0002] 近年、ネットワークの普及により、パーソナルコンピュータだけでなく携帯電話ゃ電 子機器、いわゆるデジタル家電などの様々な製品がネットワークに接続できるように なった。したがって、電子機器などを相互連携して利用する環境が、オフィスユース は勿論のこと、ホームユースにも及ぶようになった。今まで単独で用いられてきた家電 製品やその他の製品がネットワークに繋がるようになつてきた。
[0003] このような状況において、ネットワークに接続される各種機器には、接続容易性、設 定容易性、制御容易性がとりわけ求められる。特に、ホームネットワークやホットスポッ トなどのアドホックな環境では、必ずしもネットワークや電子機器技術に詳しレ、人が各 種機器の接続や設定を行うとは限らないため、こうした要求の度合が著しい。
[0004] このような要求に応えることができるネットワーク技術に、ユニバーサルプラグアンド プレイ(UPnP: Universal Plug and Play)、 BMLinkS、 Rendezvous, Jini (登録商標 )、Jxta (登録商標)、 HAViなどの規格で表される技術がある。これらの技術は、ネッ トワークに接続する機器のセットアップ、設定及び追加を容易にし、ネットワークプリン タ、インターネットゲートウェイ、家電製品などのネットワークデバイスやサービスの検 出と制御を可能にする。
[0005] これらの技術では、そのデバイスの名前、メーカ、バージョン、 IDなどの情報やその サービスを利用するためのインターフェイスなどの情報をプロファイル情報として機器 同士で交換し合い、検出や制御を可能にしている (例えば、非特許文献 1参照)。
[0006] また、上記の様々な規格の技術をつなげるために変換ゲートウェイを設けるようにし た装置も存在する (例えば、特許文献 1参照)。
特許文献 1 :特開 2004— 505360号公報
特許文献 1 : UPnP Device Architecture Version 1.0.
発明の開示
発明が解決しょうとする課題
[0007] し力しながら、上記従来のプロファイル情報を機器間で交換するシステムでは、プロ ファイル情報を交換しあう場合に、各機器は 1対 1の関係において同等のプロフアイ ル交換プロトコルを使用する必要がある。そのため、所望の機能を持った機器をピッ クアップしたいときには、まず、ネットワークに接続されている全ての機器と 1対 1のプ 口ファイル交換を行う。そして、得られた各機器のプロファイル情報を参照した上で、 所望の機能を持った機器をピックアップする。したがって、該機器のピックアップに至 るまでに多くの処理を必要とし、効率が悪かった。また、ネットワークのトラフィックが増 大してしまレ、、結果としてシステム全体の処理速度を低下させる可能性が高レヽとレ、う 問題があった。
[0008] また、各機器が 1対 1の関係においてプロファイル情報を交換するため、ネットヮー クに接続されている全機器における相互間の関連性または連携性が導き出せないと レ、う問題が存在した。すなわち、ある機能 (例えばプリンタ機能)を持った機器と、別 のある機能 (例えばスキャナ機能)を持った機器とを組み合わせて一連の処理 (複写 処理)を行レ、たいとレ、う要求に応じることが難しかった。
[0009] 本発明はこのような問題点に鑑みてなされたものであって、機器の情報を簡単な処 理によって迅速に収集することを可能にした情報取得方法、情報付加装置、情報取 得装置、及びプログラムを提供することを目的とする。
[0010] また、複数の機器の機能を組み合わせて、ある処理が可能であることを知らせること を可能にした情報取得方法、情報付加装置、及びプログラムを提供することを他の 目的とする。
課題を解決するための手段
[0011] 本発明は、ネットワークを介して接続された情報取得機器及び複数の機器から構成 されるシステムに適用される情報取得方法において、複数の機器を回送した後、第 1 の機器に戻るドキュメントを、情報取得機器から、複数の機器のうちの最初の機器に 送信する第 1の送信ステップと、ドキュメントを複数の機器のうちの最初の機器力 最
後の機器に順次転送する転送ステップと、ドキュメントを、複数の機器のうちの最後の 機器から、情報取得機器に送信する第 2の送信ステップと、 自機器の情報を、受信し たドキュメントに付加する、前記複数の機器によって実行される付加ステップとを有す る。
[0012] また、本発明は、ネットワークを介して、複数の機器を回送した後、送信元に戻るド キュメントに情報を付加する情報付加装置において、 自機器の情報を、受信したドキ ュメントに付加する付加手段と、前記付加手段によって情報が付加されたドキュメント を、複数の機器のうちの他の機器に送信する送信手段とを有する。
[0013] また、本発明は、ネットワークを介して複数の機器に接続され、該複数の機器の情 報を取得する情報取得装置において、複数の機器を回送した後、自機器に戻るよう に構成したドキュメントを作成する作成手段と、前記作成手段によって作成されたドキ ュメントを、複数の機器の 1つに送信する送信手段とを有する。
[0014] また、本発明は、ネットワークを介して、複数の機器を回送した後、送信元に戻るド キュメントに情報を付加する情報付加方法を、コンピュータに実行させるためのプログ ラムにおいて、ドキュメントを受信する受信ステップと、自機器の情報を、受信したドキ ュメントに付加する付加ステップと、前記付加ステップによって情報が付加されたドキ ュメントを、複数の機器のうちの他の機器に送信する送信ステップとを有する。
[0015] また、本発明は、ネットワークを介して複数の機器に接続され、複数の機器の情報 を取得する情報取得方法を、コンピュータに実行させるためのプログラムにおいて、 複数の機器を回送した後、 自機器に戻るように構成したドキュメントを作成する作成ス テツプと、前記作成ステップによって作成されたドキュメントを、複数の機器の 1つに 送信する送信ステップとを有する。
発明の効果
[0016] 本発明によれば、複数の機器の情報を迅速に収集することが可能となる。
[0017] また、ネットワークのトラフィックを低減させることが可能となる。
[0018] 更に、システム全体としての処理効率が向上する。
[0019] また、ドキュメントに、特定の機能を指定することにより、特定の機能を保有する他の 機器のプロファイル情報を取得することができる。
[0020] 更に、複数の機器の情報を組み合わせて得られる機能を、受信したドキュメントに 付加することにより、個々に独立していた複数の機器の各機能を関連づけて、新たな 機能として該複数の機器を連携して利用することが可能となる。
[0021] また、本発明の他の効果は、以下の実施の形態の説明から明らかになるであろう。
図面の簡単な説明
[0022] 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、そ の記述と共に本発明の原理を説明するために用いられる。
[0023] [図 1]本発明の第 1の実施の形態に係るプロファイル交換システムの全体構成を示す 図である。
[図 2]図 1に示すプロファイル交換システムを構成する各機器に共通するハードウェア 構成の一例を示すブロック図である。
[図 3]プロファイル交換制御装置の構成を示すブロック図である。
[図 4]各機器のプロファイル情報を収集する前のプロファイル情報ドキュメントの一例 を示す図である。
[図 5]図 4に示すプロファイル情報ドキュメントを受信した機器が作成したプロファイル 情報ドキュメントを示す図である。
[図 6]各機器におけるプロファイル交換制御装置において実行されるプロファイル情 報収集及び送信処理の手順を示すフローチャートである。
[図 7]第 2の実施の形態におけるプロファイル交換システムの構成を示す図である。
[図 8]第 2の実施の形態における各機器のプロファイル交換制御装置において実行さ れるプロファイル情報収集及び送信処理の手順を示すフローチャートである。
[図 9]各機器のプロファイル情報を収集する前の第 2の実施の形態におけるプロファ ィル情報ドキュメントの一例を示す図である。
発明を実施するための最良の形態
[0024] 以下、本発明を実施するための最良の形態について、図面を参照して説明する。
[0025] [第 1の実施の形態]
図 1は、本発明の第 1の実施の形態に係るプロファイル交換システムの全体構成を 示す図である。このプロファイル交換システムは、複数の機器が接続されたネットヮー
クにより構成される。
[0026] 図 1に示すように、本プロファイル交換システムは、ネットワーク 106に接続されたデ ジタノレカメラ 100、デジタルビデオカメラ 101、プリンタ 102、スキャナ 103、プロジェク タ 104、ディスプレイ 105から構成される。本実施の形態におけるプロファイル交換シ ステムは、上記の各機器によって構成される力 この構成に限定されるものではない
[0027] 上記それぞれの機器は、情報処理機能、データ保持機能などを持ち、これによつて 制御プログラムを実行することが可能であるとともに、通信機能、プロファイル交換制 御機能を有する。
[0028] また、上記各機器は、例えば UPnP (Universal Plug and Play)の通信機能を有して いる。
[0029] 図 2は、図 1に示すプロファイル交換システムを構成する各機器に共通するハードウ エア構成の一例を示すブロック図である。
[0030] 200は、各ユニットを接続するための入出力バス(アドレスバス、データバス、及び 制御バス)である。
[0031] 201はタイマであり、指定した時間間隔で割り込みを発生させる機能を有する。また
、レ、わゆるウォッチドッグタイマ機能や計時機能を有する。
[0032] 202は ROM (Read Only Memory)であり、プログラムのコードや変化しない固定デ ータを記憶する機能を有する。
[0033] 203は RAM (Random Access Memory)であり、主メモリとして、ならびに実行プログ ラムの領域ゃ該プログラムの実行エリア及びデータエリアとしての機能を有する。
[0034] 204はパラレルコントローラであり、ハードウェア内部で扱われる並列データをその まま外部装置との間で入出力する機能を有する。
[0035] 205はシリアノレコントローラであり、ハードウェア内部で扱われる並列データを直列 データとして出力したり、直列データを並列データに変換して入力したりする機能を 有する。
[0036] 206は MPU (Micro Processor Unit)であり、プログラムの命令を逐次実行する機能 と割り込み制御を行う機能とを有する。
[0037] 207はデバイスコントローラであり、ハードディスク、ディスプレイなど一般的な外部 入出力装置を接続する機能を有する。
[0038] 208は DMAC (Direct Memory Access Controller)であり、メモリと外部装置との間 でのデータの直接受け渡しを制御する機能を有する。
[0039] 209は A/D (Analog to Digital)変換器であり、アナログからデジタルにデータを変 換する機能を有し、センサなどの感知した量を数値化する機能を有する。
[0040] 210は D/A (Digital to Analog)変換器であり、デジタルからアナログにデータを変 換する機能を有し、外部のァクチユエータなどに出力する操作量をアナログ化する機 能を有する。
[0041] 図 1に示すデジタルカメラ 100、デジタルビデオカメラ 101、プリンタ 102、スキャナ 1 03などの機器には、本発明に係るプロファイル交換制御装置 310が実装される。プ 口ファイル交換制御装置 310については、以下に説明する。なお、プロファイル交換 制御装置 310は、図 2に示すハードウェアによって実現される機能であってよい。
[0042] 図 3は、プロファイル交換制御装置 310の構成を示すブロック図である。
[0043] プロファイル交換制御装置 310は、プロトコルアダプタモジュール 300、プロフアイ ル送信モジュール 301、プロファイル受信モジュール 302、 XML読み出しモジユー ノレ 303、 XML書き込みモジュール 304、 XMLパースモジュール 305、サーキュレイ シヨンモジュール 306、コントロールモジュール 307から構成される。
[0044] プロトコルアダプタモジュール 300は、対応機器(プロファイル交換制御装置 310を 備えた機器)に実装されている、例えば UPnPや Jiniなどのプロトコルの制御やメッセ ージの取得、出力などを行う機能を有する。そして、プロトコルアダプタモジュール 30 0は、プロファイル交換制御装置 310と機器 (プロファイル交換制御装置 310を備え た機器)に実装されてレ、るプロトコルとのインターフェイスとして機能する。
[0045] プロファイル送信モジュール 301は、後述するプロファイル情報ドキュメントを外部 機器にネットワークを介して送信する機能を有する。
[0046] プロファイル受信モジュール 302は、上記プロファイル情報ドキュメントを外部機器 力 ネットワークを介して受信する機能を有する。
[0047] XML読み出しモジュール 303は、後述する XMLパースモジュール 305でパースさ
れるべきドキュメントをファイルなどから読み出す機能を有する。
[0048] XML書き込みモジュール 304は、後述する XMLパースモジュール 305でパースさ れたドキュメントをファイルなどに書き込む機能を有する。
[0049] XMLパースモジュール 305は、 XML文書をパースする機能、すなわちアプリケー シヨンソフトが利用しやすい形にドキュメントを変換する機能を有する。また DTDなど のスキーマ言語に沿って内容の正しさを検証したり、 XML文書の作成や編集を行つ たりする機能も有する。
[0050] サーキユレイシヨンモジュール 306は、上記パースされたドキュメントから情報を取得 し、その内容を判断する機能を有する。また、取得した情報を基に XMLパースモジ ユール 305の編集機能を使用して、ドキュメントを編集、作成する機能を有する。
[0051] コントロールモジュール 307は、上記プロトコルアダプタモジュール 300、プロフアイ ノレ送信モジュール 301、プロファイル受信モジュール 302、 XML読み出しモジユー ノレ 303、 XML書き込みモジュール 304、 XMLパースモジュール 305、サーキュレイ シヨンモジュール 306の制御を行う機能を有する。
[0052] 次に、上述のプロファイル情報ドキュメントについて説明する。
[0053] 図 4は、各機器のプロファイル情報を収集する前のプロファイル情報ドキュメント 40 0の一例を示す図である。
[0054] 図 4におけるプロファイル情報ドキュメント 400には、プロファイル情報ドキュメント 40 0を各機器に回送するために必要な情報と、プロファイル情報の送信を要求される機 器の情報とが記述されてレ、る。
[0055] 以下、主要な項目について説明を行う。
[0056] く wsi"p : to >401には、プロファイル情報ドキュメント 400を初めに送信する機器( 送信元)のエンドポイントの URLが記述される。プロファイル情報ドキュメント 400は各 機器に回送され回覧されて、最終的に送信元に戻る形態をとるので、こうした指定が 行われる。
[0057] く wsi"p : fwd>402には、プロファイル情報ドキュメント 400が回送されるべき機器 のエンドポイントが順に記述される。この例では、 5つの機器の URLが記述されてお り、プロファイル情報ドキュメントは、この 5つの機器の上から順に(1番上の機器から 2
番目の機器に、さらには、 2番目の機器から 3番目の機器というように)、回送される。
[0058] く wsi"p : id >403には、プロファイル情報ドキュメント 400に対して一意に付与され た識別符合 (ID)が記述される。
[0059] その他、プロファイル情報ドキュメント 400の作成日時や有効時間などの情報が記 述される。
[0060] なお、く soap : Body >404以下において、プロファイル情報の送信を要求するドキ ュメントであることを示す情報がく SearchDevice >に記述され、プロファイル情報の 送信を要求される機器の機能がく input >に記述される。この例では「Printer」が記 述され、これによつて、プリンタ機能を保有する機器のプロファイル情報が要求される
[0061] 図 5は、図 4に示すプロファイル情報ドキュメント 400を受信した機器が作成したプロ ファイル情報ドキュメント 500を示す図である。
[0062] プロファイル情報ドキュメント 500は、プロファイル情報の送信を要求した機器(この 機器の URLはく wsrp : to >401に記述されている。例えば、デジタルカメラ 100。 ) 力 回送されてきたプロファイル情報ドキュメント 400を受け取った機器(プリンタ 102 )力 自身のプロファイル情報を記述した一例である。
[0063] 自身のプロファイル情報は、回送されてきたプロファイル情報ドキュメント 400の最 後部に追加記述される。すなわち、図 5に示す例では、プロファイル情報ドキュメント 4 00のく input >に記述された「Printer」にマッチした機器(プリンタ 102)のプロファ ィル情報が、く CirculationProfile > 501以降に記述されてレ、る。
[0064] なお、プロファイル情報ドキュメント 500では、く wsrp : fwd >に記述された機器自 身のエンドポイントは削除される。また、く wsrp : rev>の要素に、機器自身のエンド ポイントが追加記入される。この例ではく wsi"p : via >の要素として記述されている。 これにより、プロファイル情報ドキュメント 500を次に受け取った機器が、 自身の次に 回送すべき相手を認識することができる。
[0065] こうして、く wsrp : fwd >の要素に記述された機器全てにプロファイル情報ドキュメ ントが確実に回送され、最後にはプロファイル情報の送信を要求した機器(デジタノレ カメラ 100)に該プロファイル情報ドキュメントが戻る。
[0066] 次に、図 3に示すプロファイル交換制御装置 310において行われるプロファイル交 換について、図 6を参照して説明する。
[0067] 図 6は、各機器におけるプロファイル交換制御装置 310において実行されるプロフ アイル情報収集及び送信処理の手順を示すフローチャートである。
[0068] ここでは例えば、デジタルカメラ 100が、 自身の持つ画像をプリンタ 102に印刷させ ることを想定するとともに、該処理の説明を解りやすくするため、図 1に示す各機器に は UPnPプロトコルが実装されてレ、るものとする。
[0069] まずデジタルカメラ 100において、コントロールモジュール 307がプロトコルアダプタ モジュール 300に、ネットワーク 106に接続されている全機器のアドレスをリストアップ するように求めるディスカバリーメッセージを送信する(S l)。このディスカバリーメッセ ージに従い、プロトコルアダプタモジュール 300力 ネットワーク 106に接続されてい る全機器のアドレスリストを作成してコントロールモジュール 307へ送信する(S2)。例 えば、プロトコルアダプタモジュール 300力 このディスカバリーメッセージに基づき、 ネットワーク 106に接続されている全機器に対してブロードキャストメッセージを送信 し、送信した結果のキャッシュを生成する。コントロールモジュール 307は、そのキヤッ シュを入手して、アドレスリストを取得する。
[0070] コントロールモジュール 307は、取得したアドレスリストと、印刷に必要な機器機能を 示す「Printer」とをサーキユレイシヨンモジュール 306に指定する。そして、サーキュ レイシヨンモジュール 306は、図 4に示すようなプロファイル情報ドキュメント 400を、 X MLパースモジュール 305を用いて作成する(S3)。プロファイル情報ドキュメント 400 のく wsrp : fwd > 402には、上記アドレスリストに記載された各アドレス力 プロフアイ ル情報ドキュメント 400が回送されるべき機器のエンドポイントとして順に記述される。 このプロファイル情報ドキュメント 400は、上述のように、複数の機器を回送した後、自 機器 (デジタルカメラ 100)に戻るように構成されてレ、る。
[0071] コントロールモジュール 307は、サーキユレイシヨンモジュール 306によって作成さ れたプロファイル情報ドキュメント 400を取得する。そして、コントロールモジュール 30 7は、プロファイル送信モジュール 301を用いて、く wsi"p : fwd > 402の先頭にある「 < wsrp: via > http:// 192.168.1.11 /WSERouting/a. sp < /wsrp:via >」によって示される
機器に対して、プロファイル情報ドキュメント 400を送信する(S4)。
[0072] 仮に、「く ws卬: via >http:〃192.168.1.11/WSERouting/a.spく/ ws卬: via >」が図 1 のビデオカメラ 101に対応し、同様に、「く ws卬: via>http:〃192.168.1.12/WSERouti ng/b.spく/ ws卬: via>」がプリンタ 102に、 「く ws卬: via >http:〃192.168.1.13/WSER outing/c.spく/ ws卬: via>」がスキャナ 103に、 「く ws卬: via >http:〃192.168.1.14/W SERouting/a.spく /wsH3:via >」がプロジェクタ 104に、「く ws卬: via>http:〃192.168. 1.15/WSERouting/a. sp < /wsrp: via >」がディスプレイ 105に対応する場合には、以 下のような処理になる。
[0073] まず、ビデオカメラ 101において、プロファイル受信モジュール 302力 デジタル力 メラ 100力も送られたプロファイル情報ドキュメント 400を受信し、これを XML書き込 みモジュール 304がファイルなどに書き込む。このプロファイル情報ドキュメント 400 は、 XML読み出しモジュール 303によって読み出され、 XMLパースモジュール 305 でパースされ、サーキユレイシヨンモジュール 306へ送られる。
[0074] サーキユレイシヨンモジュール 306は、プロファイル情報ドキュメント 400のく Searc hDevice >の子要素であるく input >要素を検索し、自身の機器機能と比較する(S 5)。その結果、サーキユレイシヨンモジュール 306は、 自身の機器(ビデオカメラ 101) が印刷機能を所持していないと判断する(S5で NO)。そして、サーキユレイシヨンモ ジュール 306は、 XMLパースモジュール 305に対して、プロファイル情報ドキュメント 400のく wsrp : fwd〉402から自身のエントリを削除し、該削除したエントリをく wsi^p : rev >の子要素として追加するよう指示する。
[0075] また、プロファイル情報ドキュメント 400を次の機器に送信するための送信先をく w si~p : fwd >402の子要素から取得し、保持する。
[0076] 以上の処理が終了したら、サーキユレイシヨンモジュール 306は XML書き込みモジ ユール 304に、こうした変更分の書き込みを指示する。
[0077] この変更分の書き込みが完了すると、サーキユレイシヨンモジュール 306は、プロフ アイル情報ドキュメント 400と、上述のように保持した次の送信先 (機器のエンドポイン トの URL)とをコントロールモジュール 307に送る。コントロールモジュール 307はプロ ファイル送信モジュール 301に、プロファイル情報ドキュメント 400を次の送信先(プリ
ンタ 102)に送信するように指示する(S6)。
[0078] デジタルビデオカメラ 101としては、ここで本処理を終了する。
[0079] なお、図 6での図示を省略したが、プロファイル情報ドキュメント 400に、次の転送先 として要求受信側機器が指定されていれば、該要求受信側機器において、ステップ S5以降の処理を再度行う。また、次の転送先として要求送信側機器が指定されてい れば、該要求送信側機器にプロファイル情報ドキュメント 400が送信されて本処理は 終了する。
[0080] ここでは、プロファイル情報ドキュメント 400に、次の転送先としてプリンタ 102が指 定されているので、プリンタ 102において、ステップ S5以降の処理を再度行う。
[0081] すなわち、プロファイル情報ドキュメント 400を受信したプリンタ 102では、デジタル ビデオカメラ 101と同様にして、前記プロファイル情報ドキュメント 400をプロファイル 受信モジュール 302から受信する。そして、プロファイル情報ドキュメント 400がサー キユレイシヨンモジュール 306に送られる。
[0082] サーキユレイシヨンモジュール 306は、プロファイル情報ドキュメント 400のく Searc hDevice >の子要素であるく input >要素を検索し、自身の機器機能と比較する(S 5)。その結果、 自身の機器 (プリンタ 102)が印刷機能を所持していると判断する(S5 で YES)。この時、サーキユレイシヨンモジュール 306は XMLパースモジュール 305 に対して、プリンタ 102自身のプロファイル情報をプロファイル情報ドキュメント 400の 最後尾に追加記述するように指示する(S7)。さらにサーキユレイシヨンモジュール 30 6は XMLパースモジュール 305に対して、プロファイル情報ドキュメント 400のく wsr p : fwd >402から自身のエントリを削除し、該削除したエントリをく wsrp : rev >の子 要素として追加するように指示する。
[0083] また、プロファイル情報ドキュメント 400を次の機器に送信するための送信先をく w si~p : fwd >402の子要素から取得し、保持する。
[0084] 以上の処理が終了したら、サーキユレイシヨンモジュール 306は XML書き込みモジ ユール 304に、こうした変更分の書き込みを指示する。
[0085] この変更分の書き込みが完了すると、サーキユレイシヨンモジュール 306は、プロフ アイル情報ドキュメント 400と、上述のように保持した次の送信先 (機器のエンドポイン
トの URL)とをコントロールモジュール 307に送る。コントロールモジュール 307はプロ ファイル送信モジュール 301に、プロファイル情報ドキュメント 400を次の送信先(スキ ャナ 103)に送信するように指示する(S8)。
[0086] プリンタ 102としては、ここで本処理を終了する。
[0087] なお、図 6のステップ S8の後においても図示を省略した力 プロファイル情報ドキュ メント 400に、次の転送先として要求受信側機器が指定されていれば、該要求受信 側機器において、ステップ S5以降の処理を再度行う。また、次の転送先として要求 送信側機器が指定されてレ、れば、該要求送信側機器にプロファイル情報ドキュメント 400が送信されて本処理は終了する。
[0088] ここでは、プロファイル情報ドキュメント 400に、次の転送先としてスキャナ 103、プロ ジヱクタ 104、ディスプレイ 105が指定されているので、それぞれの機器において、上 述のデジタルビデオ 102での処理と同様な処理が個別に行われる。すなわち、プロ ファイル情報ドキュメントを複数の機器のうちの最初の機器力 最後の機器に順次転 送する。そして、最後のディスプレイ 105が、プロファイル情報ドキュメント 400を送信 元であるデジタルカメラ 100に送信することになる。
[0089] 以上のようにして、第 1の実施の形態では、ある機器 (送信元機器)力 特定の機能 を保有する他の機器のプロファイル情報を欲しレ、場合、特定の機能を指定したプロフ アイル情報ドキュメントを、ネットワークに接続された複数の機器に回送する。すなわ ち、プロファイル情報ドキュメントを複数の機器のうちの最初の機器から最後の機器に 順次転送する。そして、その回送の途中において、その特定の機能を保有する機器 が自身のプロファイル情報をプロファイル情報ドキュメントに付加する。このプロフアイ ル情報ドキュメントを送信元機器に回送することで、送信元機器は、特定の機能を保 有する他の機器のプロファイル情報を取得することができる。すなわち、機器間の 1 対 1のプロファイル交換を、ネットワークに接続された他のすべての機器との間で行う 必要がなぐ第 1の実施の形態では、プロファイル情報を簡単な処理によって迅速に 収集すること力 S可能となる。これにより、ネットワークのトラフィックを低減させることも可 能となり、システム全体としての処理効率が向上する。
[0090] [第 2の実施の形態]
次に、本発明の第 2の実施の形態を説明する。
[0091] 上述の第 1の実施の形態では、プロファイル情報ドキュメント 400で特定な機能(例 えばプリンタ機能)を指定して、この特定な機能を持った機器のプロファイル情報を収 集することが行われている。これに対し、第 2の実施の形態では、機能の種類を限定 せずに、ネットワーク 106に接続されたすベての機器のプロファイル情報を収集する ことが行われる。さらに、複数の機器の各機能の組み合わせ (例えばプリンタ機能とス キヤナ機能)によって得られる新たな機能 (コピー機能)を持った仮想的な機器のプロ ファイル情報を提供することも行われる。
[0092] 図 7は、第 2の実施の形態におけるプロファイル交換システムの構成を示す図であ る。このプロファイル交換システムは、複数の機器が接続されたネットワークにより構 成される。
[0093] 図 7に示すように、本プロファイル交換システムは、ネットワーク 603に接続された P DA (携帯端末) 600、プリンタ 601、スキャナ 602から構成される。本実施の形態に おけるプロファイル交換システムは、上記の各機器によって構成されるが、この構成 に限定されるものではない。
[0094] 上記それぞれの機器は、情報処理機能、データ保持機能などを持ち、これによつて 制御プログラムを実行することが可能であるとともに、通信機能、プロファイル交換制 御機能を有する。
[0095] また、上記各機器は、例えば UPnP (Universal Plug and Play)の通信機能を有して いる。
[0096] なお、図 7に示す PDA600、プリンタ 601、スキャナ 602などの機器には、図 3に示 す第 1の実施の形態におけるプロファイル交換制御装置 310と同一の構成のプロフ アイル交換制御装置が実装される。以下の第 2の実施の形態の説明では、図 3に示 すプロファイル交換制御装置 310の構成を流用する。
[0097] 図 8は、第 2の実施の形態における各機器のプロファイル交換制御装置において実 行されるプロファイル情報収集及び送信処理の手順を示すフローチャートである。
[0098] 該処理の説明を解りやすくするため、図 7に示す各機器には UPnPプロトコルが実 装されているものとする。
[0099] まず、 PDA600において、コントロールモジュール 307がプロトコルアダプタモジュ ール 300に、ネットワーク 603に接続されている全機器のアドレスをリストアップするよ うに求めるディスカバリーメッセージを送信する(S l l)。このディスカバリーメッセージ に従レ、、プロトコルアダプタモジュール 300力 ネットワーク 603に接続されている全 機器のアドレスリストを作成してコントロールモジュール 307へ送信する(S 12)。例え ば、プロトコルアダプタモジュール 300力 このディスカバリーメッセージに基づき、ネ ットワーク 603に接続されている全機器に対してブロードキャストメッセージを送信し、 送信した結果のキャッシュを生成する。コントロールモジュール 307は、そのキヤッシ ュを入手して、アドレスリストを取得する。
[0100] コントロールモジュール 307は、取得したアドレスリストと、特定な機能を指定せず、 ネットワーク 603に接続されている全機器がプロファイル情報を要求送信元に送信す ることを求める旨を示す「Any」とをサーキユレイシヨンモジュール 306に指定する。サ ーキユレイシヨンモジュール 306は、図 9に示すようなプロファイル情報ドキュメント 70 0を、 XMLパースモジュール 305を用いて作成する(S13)。
[0101] 図 9は、各機器のプロファイル情報を収集する前の第 2の実施の形態におけるプロ ファイル情報ドキュメント 700の一例を示す図である。
[0102] プロファイル情報ドキュメント 700のく wsi"p : fwd > 701には、上記アドレスリストに 記載された各アドレスが、プロファイル情報ドキュメント 700が回送されるべき機器の エンドポイントとして順に記述される。また、プロファイル情報の送信を要求される機 器を示すく input > 702に「Any」が記述される。このプロファイル情報ドキュメント 70 0は、上述のように、複数の機器を回送した後、自機器 (デジタルカメラ 100)に戻るよ うに構成されている。
[0103] コントロールモジュール 307は、サーキユレイシヨンモジュール 306によって作成さ れたプロファイル情報ドキュメント 700を取得する。そして、コントロールモジュール 30 7は、プロファイル送信モジュール 301を用いて、 <\^卬 (1 > 701の先頭にぁる「 < wsrp: via > http:// 192.168.1.11 /WSERouting/a. sp < /wsrp: via >」によって示される 機器に対して、プロファイル情報ドキュメント 700を送信する(S 14)。
[0104] 仮に、「く wsrp: via > http :〃192.168.1.11 /WSERouting/a. sp < /wsrp: via >」が図 7
のプリンタ 601に対応し、「く ws卬: via>http:〃192.168.1.12/WSERouting/b.sp< /w s卬: via>」がスキャナ 602に対応する場合には、以下のような処理になる。
[0105] まずプリンタ 601におレ、て、プロファイル受信モジュール 302力 PDA600力ら送ら れたプロファイル情報ドキュメント 700を受信し、これを XML書き込みモジュール 304 力 Sファイルなどに書き込む。このプロファイル情報ドキュメント 700は、 XML読み出し モジュール 303によって読み出され、 XMLパースモジュール 305でパースされ、サ ーキユレイシヨンモジュール 306へ送られる。
[0106] サーキユレイシヨンモジュール 306は、プロファイル情報ドキュメント 700のく Searc hDevice >の子要素であるく input > 702を検索し、「Any」であるか否かを判別す る(S15)。その結果、「Any」であるならばステップ S16へ進み、「Any」でなければ、 図 6に示す第 1の実施の形態におけるステップ S5以降と同様な処理(図示を省略)へ 進む。
[0107] ステップ S16では、サーキユレイシヨンモジュール 306が XMLパースモジュール 30 5に対して、プリンタ 601自身のプロファイル情報をプロファイル情報ドキュメント 700 の最後尾に追加記述するように指示する(S16)。さらにサーキユレイシヨンモジユー ル 306は XMLパースモジュール 305に対して、プロファイル情報ドキュメント 700の < 3卬 (1> 701から自身のェントリを削除し、該削除したエントリをく wsrp : rev >の子要素として追加するように指示する。
[0108] また、プロファイル情報ドキュメント 700を次の機器に送信するための送信先をく w si"p : fwd> 701の子要素から取得し、保持する。
[0109] 以上の処理が終了したら、サーキユレイシヨンモジュール 306は XML書き込みモジ ユール 304に、こうした変更分の書き込みを指示する。
[0110] この変更分の書き込みが完了すると、サーキユレイシヨンモジュール 306は、プロフ アイル情報ドキュメント 700と、上述のように保持した次の送信先 (機器のエンドポイン トの URL)とをコントロールモジュール 307に送る。コントロールモジュール 307はプロ ファイル送信モジュール 301に、プロファイル情報ドキュメント 700を次の送信先(スキ ャナ 602)に送信するように指示する(S17)。
[0111] プリンタ 601としては、ここで本処理を終了する。
[0112] 次に、プロファイル情報ドキュメント 700に、次の転送先として指定されている機器 が要求受信側機器であるか、または要求送信側機器であるかを判断する(S18)。要 求受信側機器であれば、ステップ S 15へ戻る。一方、次の転送先として要求送信側 機器が指定されてレ、れば、該要求送信側機器にプロファイル情報ドキュメント 700が 送信されて本処理は終了する。
[0113] ここでは、プロファイル情報ドキュメント 700に、次の転送先としてスキャナ 602が指 定されているので、スキャナ 602において、ステップ S15以降の処理を再度行う。
[0114] すなわち、プロファイル情報ドキュメント 700を受信したスキャナ 602では、上記プリ ンタ 601での処理と同様に、プロファイル情報ドキュメント 700がサーキユレイシヨンモ ジユーノレ 306に送られる。サーキユレイシヨンモジュール 306は、プロファイル情報ド キュメント 700のく SearchDevice >の子要素であるく input > 702を検索し、「Any 」であるか否力、を判別する(S15)。その結果、「Any」であるならばステップ S16へ進 む。サーキユレイシヨンモジュール 306が XMLパースモジュール 305に対して、スキ ャナ 602自身のプロファイル情報をプロファイル情報ドキュメント 700の最後尾、すな わち、ここでは既に追加記述されているプリンタ 601のプロファイル情報の後に追加 記述するように指示する(S16)。さらにサーキユレイシヨンモジュール 306は、 XML パースモジュール 305に対して、プロファイル情報ドキュメント 700のく wsrp : fwd> 701から自身のエントリを削除し、該削除したエントリをく wsi"p : rev>の子要素として 追加するように指示する。
[0115] ここで、サーキユレイシヨンモジュール 306は、受け取ったプロファイル情報ドキュメ ント 700を参照することで、該プロファイル情報ドキュメント 700に対して他の機器によ つて既にプロファイル情報が追加記述されていると判断できる。したがって、こうした 判断をしたときには、追加記述されているプロファイル情報を、 XMLパースモジユー ル 305を用いて解析する。その結果、この例では、既に記述されたプロファイル情報 に対応する機器がプリント機能を備えていると判断される。
[0116] ここで、サーキユレイシヨンモジュール 306は、自身が対応する機器がスキャナであ るので、プリンタ 601のプリンタ機能とスキャナ 602のスキャナ機能とを合わせることで 仮想的な複写機機能を提供できると判断する。そして、サーキユレイシヨンモジュール
306は、 XMLパースモジュール 306に対して、仮想的な複写機機能を示すプロファ ィル情報をプロファイル情報ドキュメント 700の最後尾に追加記述するように指示する
[0117] その後、サーキユレイシヨンモジュール 306は、プロファイル情報ドキュメント 700と、 次の送信先とをコントロールモジュール 307に送る。コントロールモジュール 307はプ 口ファイル送信モジュール 301に、プロファイル情報ドキュメント 700を次の送信先に 送信するように指示する(S 17)。
[0118] スキャナ 602としては、ここで本処理を終了する。
[0119] なおここでは、プロファイル情報ドキュメント 700に、次の転送先として要求送信側 機器 (PDA600)が指定されているので、該要求送信側機器にプロファイル情報ドキ ュメント 700が送信されて本処理は終了する。
[0120] 以上のようにして、第 2の実施の形態では、ある機器 (送信元機器)が、複数の機器 のプロファイル情報を欲しい場合、その旨を指定したプロファイル情報ドキュメントを、 ネットワークに接続された複数の機器に回送する。そして、その回送の途中において 、各機器が自身のプロファイル情報をプロファイル情報ドキュメントに付加する。この プロファイル情報ドキュメントを送信元機器に回送することで、第 2の実施の形態では
、送信元機器が、個々に独立していた他の複数の機器の各機能を関連づけ、新たな 機能として該複数の機器を連携して利用することが可能となる。
[0121] [他の実施の形態]
なお、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプ ログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムま たは装置のコンピュータほたは CPU、 MPU等)が記憶媒体に格納されたプログラム コードを読み出して実行することによつても達成される。
[0122] この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能 を実現することになり、そのプログラムコードを記憶した記憶媒体及びプログラムは本 発明を構成することになる。
[0123] また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブル ディスク、ハードディスク、光ディスク、光磁気ディスク、 CD-ROM, CD-R, CD-
RW、 DVD-ROM, DVD -RAM, DVD— RW、 DVD + RW,磁気テープ、不揮 発性のメモリカード、 ROM等を用いることができる。或いは、上記プログラムは、イン ターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される他の コンピュータやデータベース等からダウンロードすることにより供給される。
[0124] また、コンピュータが読み出したプログラムコードを実行することにより、前述した各 実施の形態の機能が実現されるだけでなぐそのプログラムコードの指示に基づき、 コンピュータ上で稼動してレ、る OS (オペレーティングシステム)等が実際の処理の一 部または全部を行レ、、その処理によって前述した各実施の形態の機能が実現される 場合も含まれる。
[0125] 更に、記憶媒体から読み出されたプログラムコードが、コンピュータに揷入された機 能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ま れた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ュニ ットに備わる CPU等が実際の処理の一部または全部を行い、その処理によって前述 した各実施の形態の機能が実現される場合も含まれる。
[0126] 本発明は、上記実施の形態に限定されるものではなぐ請求の範囲内において種 々の変形が可能である。
優先権の主張
[0127] 本願は、 2004年 11月 11日提出の日本国特許出願特願 2004— 327892を基礎 として優先権を主張するものであり、その記載内容の全てを、ここに援用する。