(57)【要約】【課題】ネットワーク内に存在する複数の機器からの情報を基に、制御対象とすべき特定の機器を自動的に抽出、選択可能とする。【解決手段】ネットワークへＵＰｎＰコントロールポイントとして接続が可能なデジタルビデオカメラは、ネットワークに参加すると、ネットワークへ接続されている複数の電子機器の各々についてディスクリプションを取得する（ステップＳ４００３〜Ｓ４００７）。そして、取得したディスクリプションを解析して、所定の動作モードであるところのＤＰＳモードに適応した外部機器を抽出する（ステップＳ４００９、Ｓ４０１０）。そして、抽出した外部機器に対して所定の確認メッセージを送信し、前記動作モードへの移行が可能か否かを確認し（ステップＳ４０１１）、移行が可能であるとの確認が取れたならば、当該デジタルビデオカメラ自身の動作状態をＤＰＳモードへ移行する（ステップＳ４０１４）。【選択図】  図５
2005217974.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークへ接続が可能な電子機器であって、
ネットワークへ接続されている複数の電子機器の各々についてディスクリプションを取得する取得手段と、
前記取得手段で取得したディスクリプションを解析して、動作モードに適応した外部機器を抽出する抽出手段と、
前記抽出手段で抽出した外部機器に対して所定の確認メッセージを送信し、前記動作モードへの移行が可能か否かを確認する確認手段と、
前記確認手段により移行が可能であるとの確認が取れたならば、当該電子機器自身の動作状態を前記所定の動作モードへ移行する移行手段とを備えることを特徴とする電子機器。
【請求項２】
前記取得手段は、外部からのネットワークへの加入を表すメッセージの受信に応じて機能することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記取得手段は、当該電子機器がネットワークへ参入した際に所定のメッセージをブロードキャストし、該所定のメッセージに対して応答した外部機器についてディスクリプションを取得することを特徴とする請求項１に記載の電子機器。
【請求項４】
前記ディスクリプションはＸＭＬによって記述され、
前記抽出手段は、所定のタグで特定される情報に基づいて適応した外部機器かどうかを判定し、外部機器の抽出を行うことを特徴とする請求項１に記載の電子機器。
【請求項５】
前記確認手段は、前記所定の確認メッセージを２回以上送信することを特徴とする請求項１に記載の電子機器。
【請求項６】
ネットワークへ接続が可能な電子機器であって、
ネットワークへの参加時あるいは外部からの第１メッセージに応じて、ディスクリプションへのアクセスのためのアクセス情報を記述したメッセージをブロードキャストする第１送信手段と、
外部よりの前記アクセス情報を含む第２メッセージの受信に応じて、前記ディスクリプションの記述を含むメッセージの発行元へ送信する第２送信手段と、
所定の動作モードへの移行指示を含む第３メッセージを受信した場合に、該動作モードへの移行が可能か否かを判定する判定手段と、
前記判定手段で移行可能と判定された場合に、前記第３メッセージに対する応答メッセージを返すとともに、自身を前記動作モードへ移行させる制御手段とを備えることを特徴とする電子機器。
【請求項７】
自身がネットワーク接続を継続することを示す継続メッセージを所定の周期で発行する発行手段と、
前記動作モードへの移行後、所定期間を超えて印刷ジョブを受信しなかった場合に動作モードへの移行状態を解除する解除手段とを更に備え、
前記所定期間は前記所定の周期よりも短いことを特徴とする請求項６に記載の電子機器。
【請求項８】
前記第２送信手段において、前記第２メッセージを受信する毎に、前記ディスクリプションにおける前記動作モードに関わる設定値を変更することを特徴とする請求項６に記載の電子機器。
【請求項９】
複数の電子機器がネットワークを介して接続された電子機器システムであって、
前記複数の電子機器のうち、コントロールポイントとして接続されている第１の電子機器が他の電子機器よりディスクリプションを収集する収集手段と、
前記収集手段で収集されたディスクリプションを解析して、前記第１の電子機器に指定された動作モードに適応した電子機器を前記他の電子機器より抽出する抽出手段と、
前記抽出手段で抽出された電子機器に対して所定の確認メッセージを送信し、前記動作モードへの移行が可能か否かを確認する確認手段と、
前記確認手段により移行が可能であるとの確認が取れたならば、当該電子機器自身の動作状態と前記抽出された電子機器の動作状態を前記所定の動作モードへ移行する移行手段とを備えることを特徴とする電子機器システム。
【請求項１０】
ネットワークへ接続が可能な電子機器の制御方法であって、
ネットワークへ接続されている複数の外部機器の各々についてディスクリプションを取得する取得工程と、
前記取得工程で取得したディスクリプションを解析して、動作モードに適応した外部機器を抽出する抽出工程と、
前記抽出工程で抽出した外部機器に対して所定の確認メッセージを送信し、前記動作モードへの移行が可能か否かを確認する確認工程と、
前記確認工程により移行が可能であるとの確認が取れたならば、当該電子機器自身の動作状態を前記所定の動作モードへ移行する移行工程とを備えることを特徴とする電子機器の制御方法。
【請求項１１】
ネットワークへ接続が可能な電子機器の制御方法であって、
ネットワークへの参加時あるいは外部からの第１メッセージに応じて、ディスクリプションへのアクセスのためのアクセス情報を記述したメッセージをブロードキャストする第１送信工程と、
外部よりの前記アクセス情報を含む第２メッセージの受信に応じて、前記ディスクリプションの記述を含むメッセージの発行元へ送信する第２送信工程と、
所定の動作モードへの移行指示を含む第３メッセージを受信した場合に、該動作モードへの移行が可能か否かを判定する判定工程と、
前記判定工程で移行可能と判定された場合に、前記第３メッセージに対する応答メッセージを返すとともに、自身を前記動作モードへ移行させる制御工程とを備えることを特徴とする電子機器の制御方法。
【請求項１２】
複数の電子機器がネットワークを介して接続された電子機器システムの制御方法であって、
前記複数の電子機器のうち、コントロールポイントとして接続されている第１の電子機器が他の電子機器よりディスクリプションを収集する収集工程と、
前記収集工程で収集されたディスクリプションを解析して、前記第１の電子機器に指定された動作モードに適応した電子機器を前記他の電子機器より抽出する抽出工程と、
前記抽出工程で抽出された電子機器に対して所定の確認メッセージを送信し、前記動作モードへの移行が可能か否かを確認する確認工程と、
前記確認工程により移行が可能であるとの確認が取れたならば、当該電子機器自身の動作状態と前記抽出された電子機器の動作状態を前記所定の動作モードへ移行する移行工程とを備えることを特徴とする制御方法。
【請求項１３】
請求項１０または１１に記載の制御方法をコンピュータに実行させるための制御プログラム。
【請求項１４】
請求項１０または１１に記載の制御方法をコンピュータに実行させるための制御プログラムを格納する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器によって構成されるネットワーク内から所望の外部機器を抽出し、これを制御する技術に関する。
【背景技術】
【０００２】
近年、ネットワーク上の所定のサービスを提供するデバイスを探索するためのネットワーク技術が開発されている。このような技術の一つに米国マイクロソフト社が提唱するＵＰｎＰ（Universal Plug and Play）がある（非特許文献１）。ＵＰｎＰでは、「サービス」、「デバイス」及び「コントロールポイント」を規定している。サービスは所定のサービスを提供する論理的な単位であり、デバイスは１つ以上のサービスを有する論理的な単位であり、コントロールポイントは１つ以上のサービスを制御する論理的な単位である。以下、ＵＰｎＰで規定されたデバイス及びコントロールポイントを「ＵＰｎＰデバイス」及び「ＵＰｎＰコントロールポイント」と呼ぶ。
【０００３】
ＵＰｎＰデバイス及びＵＰｎＰコントロールポイントは、ＳＳＤＰ（Simple Service Discovery Protocol）を用いてサービスなどの通知及び検出を行う。このサービスなどの通知はdiscovery messageの送信によって行われ、discovery messageはＸＭＬ（Extensible Markup Language）を用いて記述されたデバイスディスクリプションファイルのＵＲＬを含んでいる。
【０００４】
ＵＰｎＰデバイスはＵＰｎＰネットワークに接続されるとネットワーク上に存在するＤＨＣＰサーバからＩＰアドレスを取得し、そのデバイスの種類とそのデバイスが有するサービスをネットワーク上にssdp:aliveメッセージとしてマルチキャスト送信する。例えばＵＰｎＰデバイスがＶＴＲの機能を有する場合、そのデバイスは対応している記録メディアの種類や記録フォーマット、再生機能などの情報をＸＭＬで記述して送信する。対応している記録メディアや記録フォーマットなどの情報は状態変数として定義され、再生機能などの機器の動作を行うための機能はアクションとして定義される。ＵＰｎＰデバイスがＵＰｎＰネットワークから切断される場合には、切断されることを通知するssdp:byebyeメッセージをマルチキャスト送信することが推奨されている。なお、ssdp:aliveメッセージにはこのssdp:aliveメッセージで通知されたＵＰｎＰデバイスやサービスが有効である期間が記述されており、ssdp:byebyeメッセージを送信しない場合は、ＵＰｎＰコントロールポイントは、受信したssdp:aliveメッセージ２記述された有効期間が経過することで該当するサービスなどを無効化する。
【０００５】
更に、ＰＣや携帯電話などの間の無線によるデータ通信も急速に普及している。このような無線化の波は様々なデジタル機器に波及してきており、全てのデジタル機器が有線と無線の混合で接続されるという状況も現れている。
【非特許文献１】Universal Plug and Play Device Architecture Version 1.0, 08 Jun 2000 10:41 AM
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した構成においては、デジタルカメラやデジタルビデオカメラが複数の機器と同時に接続された状態において、複数あるデジタル機器の中から特定のプリンタを選択しようとした場合、数多くの機器の情報をネットワーク内より取得し、取得した機器情報の中からユーザが特定のプリンタをみつけて、選択するしか方法がなかった。したがって、接続されている機器が多ければ多いほど、そのような機器の選択はユーザにとってわずらわしいものとなってくる。また、無線においても同様に、特定の機器を複数の機器から選択することは困難である。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、ネットワーク内に存在する複数の機器からの情報を基に、制御対象とすべき特定の機器を自動的に抽出、選択可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明による電子機器は以下の構成を備える。即ち、
ネットワークへ接続が可能な電子機器であって、
ネットワークへ接続されている複数の電子機器の各々についてディスクリプションを取得する取得手段と、
前記取得手段で取得したディスクリプションを解析して、動作モードに適応した外部機器を抽出する抽出手段と、
前記抽出手段で抽出した外部機器に対して所定の確認メッセージを送信し、前記動作モードへの移行が可能か否かを確認する確認手段と、
前記確認手段により移行が可能であるとの確認が取れたならば、当該電子機器自身の動作状態を前記所定の動作モードへ移行する移行手段とを備える。
【０００９】
また、上記の目的を達成するための本発明の他の態様による電子機器は以下の構成を備える。即ち、
ネットワークへ接続が可能な電子機器であって、
ネットワークへの参加時あるいは外部からの第１メッセージに応じて、ディスクリプションへのアクセスのためのアクセス情報を記述したメッセージをブロードキャストする第１送信手段と、
外部よりの前記アクセス情報を含む第２メッセージの受信に応じて、前記ディスクリプションの記述を含むメッセージの発行元へ送信する第２送信手段と、
所定の動作モードへの移行指示を含む第３メッセージを受信した場合に、該動作モードへの移行が可能か否かを判定する判定手段と、
前記判定手段で移行可能と判定された場合に、前記第３メッセージに対する応答メッセージを返すとともに、自身を前記動作モードへ移行させる制御手段とを備える。
【００１０】
更に、上記の目的を達成するための本発明の他の態様による電子機器システムは以下の構成を備える。即ち、
複数の電子機器がネットワークを介して接続された電子機器システムであって、
前記複数の電子機器のうち、コントロールポイントとして接続されている第１の電子機器が他の電子機器よりディスクリプションを収集する収集手段と、
前記収集手段で収集されたディスクリプションを解析して、前記第１の電子機器に指定された動作モードに適応した電子機器を前記他の電子機器より抽出する抽出手段と、
前記抽出手段で抽出された電子機器に対して所定の確認メッセージを送信し、前記動作モードへの移行が可能か否かを確認する確認手段と、
前記確認手段により移行が可能であるとの確認が取れたならば、当該電子機器自身の動作状態と前記抽出された電子機器の動作状態を前記所定の動作モードへ移行する移行手段とを備える。
【発明の効果】
【００１１】
本発明によれば、ネットワーク内に存在する複数の機器からの情報を基に、制御対象とすべき特定の機器を自動的に抽出、選択することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、添付の図面を参照しながら本発明に好適な実施形態を説明する。
【００１３】
＜第１実施形態＞
図１は、本発明に好適な実施形態に係るＵＰｎＰネットワークの一例を示す図である。本実施形態においては、電子機器１００１〜１００５がＩＥＥＥ８０２．１１ｂ規格に準拠し、インフラストラクチャーモードで動作する場合を説明する。図１において、１００１はデジタルビデオカメラ（以下、ＤＶＣ）、１００２はインクジェットプリンタ、１００３は複写機、１００４はＣＰプリンタ、１００５はＩＥＥＥ８０２．１１ｂ規格に準拠した無線ＬＡＮアクセスポイントとして動作するルータである。ルータ１００５は、無線ＬＡＮアクセスポイントであると同時に、ネットワーク内の電子機器１００１〜１００５に対してＩＰアドレスＩＰアドレスを割り振るＤＨＣＰサーバ（RFC 2131 "Dynamic Host Configuration Protocol"参照）である。また、ルータ１００５は、ネットワーク上のパケットの経路制御も行う。なお、本発明は、ＩＥＥＥ８０２．１１ｂ規格に準拠し、インフラストラクチャーモードで動作するネットワークに限定されるものではない。例えば、本発明は、ＩＥＥＥ８０２．１１ｂ規格に準拠し、アドホックモードで動作するネットワークでも実施することができる。また、一部又は全てがＩＥＥＥ８０２．１１ｂ規格以外の無線通信方式又は有線通信方式で構成されたネットワークでも実施することができる。
【００１４】
図２は、ＤＶＣ１００１の主要な構成要素を示すブロック図である。図２において、ＣＰＵ１０１５は、ＤＶＣ１００１の制御を司る。ＲＯＭ１０１６は、例えばＣＰＵ１０１５が実行する処理プログラムやＤＶＣ１００１を一意に識別するためのデバイス固有情報等を記憶する。ＲＡＭ１０１７は、ＣＰＵ１０１５のワークエリアを提供する。操作部１０１８は画像を選択したり録画や再生を指示するための各種スイッチやボタン、更にはネットワーク接続を行うためのボタンなどを有する。ネットワークインターフェース部１０１９は、ＤＶＣ１００１をネットワークに接続するためのインターフェース（本実施形態ではＩＥＥＥ８０２．１１ｂ規格に準拠するインターフェースとする)を有する。カメラ部１０１１は光学レンズ、イメージセンサ（ＣＣＤセンサ等）などで構成される。コーデック部１０１２は、カメラ部１０１１によって得られた画像データについて圧縮符号化を行ったり、圧縮された画像データの復号化処理を行う。記録部１０１３は、記録媒体（磁気テープやメモリーカードなど）への画像データの書き込みや、記録媒体からの画像データの読み出しを行う。表示部１０１４は、例えば液晶表示器で構成され、アイコン等のグラフィカルユーザインターフェース（ＧＵＩ）を提供する。
【００１５】
図１の電子機器１００１〜１００４のそれぞれはＵＰｎＰで規定された機能を備えている。ルータ１００５はＵＰｎＰで定義された「ＩＧＤ（Internet Gateway Device）デバイス」であり、ＤＨＣＰサーバの機能を用いてＩＰアドレスを設定している。
【００１６】
各電子機器１００１〜１００４は、電源の投入や物理的接続の確立に伴い、まず無線ＬＡＮのインフラストラクチャーモードによりアクセスポイントとの接続を試みる。アクセスポイントであるルータ１００５との無線ＬＡＮでの接続が確立されると、各電子機器１００１〜１００４はルータ１００５の持つＤＨＣＰサーバを利用して、ＩＰアドレスの取得を試みる。もしも、ネットワーク上にＤＨＣＰサーバが存在しないといった理由で、ＤＨＣＰによるＩＰアドレス取得ができなかい場合、上記電子機器１００１〜１００４は、AutoIP（Dynamic Configuration of IPv4 link-local addresses参照）を用いて自分自身のＩＰアドレスを決定する。
【００１７】
次に、図３を用いて、新たなＵＰｎＰデバイスがネットワークに参加した際のメッセージ授受手順について説明する。図１において、ＤＶＣ１００１はＵＰｎＰコントロールポイントとしてネットワークへ参加することが可能であり、インクジェットプリンタ１００２、複写機１００３、ＣＰプリンタ１００４はいずれもＵＰｎＰデバイスとしてネットワークへ参加する。以下、ＤＶＣ１００１が参加しているネットワークに、インクジェットプリンタ１００２が新たに参加した場合を例にあげて説明する。
【００１８】
ＵＰｎＰコントロールポイント（ＤＶＣ１００１）はＩＰアドレスを取得すると、ＵＰｎＰのネットワークで使用されるＳＳＤＰメッセージのマルチキャストＩＰアドレスである、"239.255.255.250のポート1900"を監視することにより、他の電子機器のネットワークへの参加を検出することができる。図３のステップＳ２００１は、ＵＰｎＰデバイスへの接続が検出され、ＤＨＣＰサーバ（ルータ１００５）によってＩＰアドレスが決定されて、当該電子機器がＵＰｎＰのネットワークへ参加した状態を示す。ＵＰｎＰネットワークへ参加したＵＰｎＰデバイスは、ＵＰｎＰプロトコルのdiscovery messageのうちのAdvertiseメッセージと呼ばれるssdp:alive形式のメッセージを、ＳＳＤＰによりＵＰｎＰで規定されたマルチキャストアドレス宛てに送信する（ステップＳ２００２）。
【００１９】
ＵＰｎＰコントロールポイントはこのメッセージを受信することにより、ネットワーク内にＵＰｎＰデバイスが参加したことを認識する（ステップＳ２００３）。ＵＰｎＰコントロールポイントは、ＵＰｎＰデバイスの参加を認識すると、受信したメッセージ内に記述されていたディスクリプションファイルのＵＲＬに対してＨＴＴＰのＧＥＴコマンド（HTTP GET）を送信することにより、ＵＰｎＰデバイスからＸＭＬファイルの取得を行う（ステップＳ２００４）。ＵＰｎＰデバイスはこのHTTP GETリクエストに対するレスポンスとして、ディスクリプションファイルのＸＭＬデータをＨＴＴＰのボディに付加して送信する（ステップＳ２００５）。ＵＰｎＰコントロールポイントは、ＵＰｎＰデバイスから受信したＸＭＬファイルを解析する（ステップＳ２００６）ことにより、各種のデバイスの情報を入手する。例えば、アイコンタグ（図４の〈icon〉、〈/icon〉）に記載されているＵＲＬからアイコンの画像データを取得することにより、表示領域にアイコンを表示する等の処理を実行できる。
【００２０】
ここで、ＵＰｎＰコントロールポイントがＤＶＣ１００１であり、このＤＶＣ１００１がＤＰＳモードに設定されており、これを実現するために、ＤＰＳモードに対応したプリンタが接続されるのを待機している状態にあるとする。例えば、操作部１０１８によりＤＰＳモードへの移行を指示したが、その時点でネットワーク上にＤＰＳモードに対応するプリンタが存在していなかった場合である。このような場合、ＤＶＣ１００１は新たにネットワークに参加したＵＰｎＰデバイスがＤＰＳモードに対応しているか否かを判断し、そのＵＰｎＰデバイスがＤＰＳモードに対応していれば自身の動作モードをＤＰＳモードへ移行する。なお、本実施形態では、プリンタと直接通信してデジタル画像の印刷を行う印刷形式を「ダイレクトプリント」と呼ぶ。また、本実施形態では、PictBridge（CIPA DC-001-2003 Digital Photo Solutions for Imaging Devices参照）等で規定されたダイレクトプリントプロトコルに従ってダイレクトプリントを実現するシステムを「ＤＰＳ」と呼び、ＤＰＳを実行するための動作モードを「ＤＰＳモード」と呼ぶ。
【００２１】
この場合、まず、ステップＳ４００９にて得られた解析処理の結果に基づいて、ＤＰＳモードに適応するＵＰｎＰデバイスであるか否かを判断する。本実施形態では、〈DPS〉タグの有無によって対応するか否かを判断するものとする。ＤＰＳモードに対応するのであれば、DPS_Configurationメッセージを送信し、正しく返答が戻ってくるかを待つ（ステップＳ４０１１）。なお、ＤＶＣ１００１は、常に送信先のＵＰｎＰデバイスであるプリンタに対して２回以上同一のメッセージを送信するものとする。これは、無線ＬＡＮの場合に、１回のメッセージ発行のみでは、送信先の装置がこれを検出できない可能性があり、より確実に送信先装置にメッセージを受信させるためである。ＵＰｎＰデバイスはリクエストされたメッセージを正しく理解した場合には、直ちにレスポンスメッセージ（DPS_Configuration_Informationメッセージ）を返す（ステップＳ４０１２）。なお、ＵＰｎＰデバイスは、２回以上送信されたメッセージのうち、最も早く受信したメッセージのみに対してのみ送信し、それ以外のリクエストメッセージは無視する。
【００２２】
ＵＰｎＰデバイスがコマンドを理解し、正しいメッセージを返答してきて、なおかつ、対象とするＵＰｎＰデバイスが自機器（すなわちＤＶＣ１００１）のＵＰｎＰコントロールポイントと接続するためのサービスを備えている場合には、ＵＰｎＰデバイスは自動的にＤＰＳモードへ移行する （ステップＳ４０１３）。またＵＰｎＰコントロールポイントも、ＵＰｎＰデバイスから正しいメッセージを受信したらＤＰＳモードへ移行する（ステップＳ４０１４）。更にＵＰｎＰコントロールポイントにおいて表示領域に接続したＵＰｎＰデバイスのアイコンを表示することで、実際に接続が確立されたかどうかを明示する（ステップＳ４０１５）。
【００２３】
ＵＰｎＰデバイスがネットワークから離脱する場合には、Advertiseメッセージを送信したときと同じ形式のssdp:byebyeを用いて、ＳＳＤＰによりマルチキャストアドレスに対してメッセージを送信する（ステップＳ２００８）。なお、ＵＰｎＰデバイスはssdp:byebyeメッセージが受信されたかどうかに係わらずネットワークから離脱することができる（ステップＳ２００９）。また、ＵＰｎＰでは、既にＵＰｎＰデバイスがネットワークに参加している場合には、CACHE-CONTROLヘッダーに記載されたタイムアウト値以内に再度当該デバイスからAdvertiseメッセージをネットワーク内に送信しなければならない。さもなければ、ＵＰｎＰコントロールポイントはＵＰｎＰデバイスがネットワーク内から離脱したと判断し、ＵＰｎＰデバイスのデバイス情報をＵＰｎＰコントロールポイント内から削除してしまう。ＵＰｎＰコントロールポイントでは、上記ssdp:byebyeメッセージを受信するか、discovery messageに付与されるCACHE-CONTROLヘッダーのタイムアウト値以内に次のdiscovery messageを受信しなかった場合、そのデバイスはネットワークから離脱したものとみなして対応するデバイス情報を削除する（ステップＳ２０１０）。このとき、アイコン表示や各種ＵＰｎＰデバイスに対する制御やイベントなどの情報についても全てキャンセルし、データをクリアしなければならない。
【００２４】
図４にssdp:aliveで送信されるＵＲＬにて取得されるディスクリプションファイルの一例を示す。このディスクリプションファイルによれば、当該電子機器がPrinterデバイスであり、PrintBasicサービスを１つ持ち、friendlyNameが「UPnP BJ Printer」であることがわかる。またアイコンはprinter.pngであり、そのＵＲＬはhttp://192.168.0.3/images/printer.pngであることもわかる。このように各機器の詳細情報をＸＭＬで記述したディスクリプションファイルは、前述のように、Advertiseメッセージに記述されたＵＲＬにHTTP GETを送信することにより返信されるDescription XMLに含まれる。このようなディスクリプションファイルを取得することにより、機器のフレンドリー名（friendlyName）、機種名、シリアル番号、当該電子機器が持つサービスの詳細情報を記述したサービスディスクリプションファイルの存在するSCPDURL、実際にサービスが存在する場合にそのサービスを制御するためのcontrolURLや、状態変化を取得するためのeventSubURLなどがわかる。なおＵＰｎＰにはサービスを持たないＵＰｎＰデバイスとしてBasicデバイスが規定されており、ControlやEventingといったサービスに関する詳細情報が記述されていないものもある。
【００２５】
次に、すでにＵＰｎＰデバイスが複数接続されているネットワークにＤＶＣ１００１がＤＰＳモードへの移行指示を受けて参加した場合の動作を説明する。この場合、すでにネットワーク上にある複数のＵＰｎＰデバイスから、デジタルビデオカメラ２００１がＤＰＳモードを提供するＵＰｎＰデバイス（例えば、プリンタ）を抽出することになる。
【００２６】
図５において、ＵＰｎＰデバイスがネットワークに参加し（ステップＳ４００１）、ssdp:aliveメッセージを送信した瞬間（ステップＳ４００２）は、まだＵＰｎＰコントロールポイントがネットワークに参加していないことを示している。
【００２７】
ＵＰｎＰコントロールポイントがＩＰアドレスを取得しネットワークへ参加する（ステップＳ４００３）と、すでにＵＰｎＰデバイスからのAdvertiseメッセージは送信済みであり、次のメッセージを受信するまでにはCACHE-CONTROLヘッダーに記載された時間待つ必要がある。そこで、本実施形態のＤＶＣ１００１は、ＩＰアドレスを取得してネットワークに参加すると（ステップＳ４００３）直ちにdiscovery messageのうちの、任意のＵＰｎＰデバイスを検索するためのメッセージであるM-SEARCHメッセージを発行する（ステップＳ４００４）。M-SEARCHメッセージは、ssdp:discover形式で、ＳＳＤＰによりマルチキャストアドレス宛てに送信される。その際に、検索する対象となるＵＰｎＰデバイスを指定するＳＴヘッダーには、全てのＵＰｎＰデバイスを対象とするupnp:rootdeviceを指定する。なお、ＳＴヘッダーに全てのＵＰｎＰデバイスとサービスを対象とするssdp:allを指定しても、所定のＵＰｎＰデバイスを検索するという目的を果たすので、本実施形態に利用可能である。
【００２８】
上記M-SEARCHメッセージを受信した全てのＵＰｎＰデバイスは、ターゲットとして指定されたupnp:rootdeviceをＳＴヘッダーに記載し、ディスクリプションファイルのあるＵＲＬを付加したレスポンス（M-SEARCH Response）を返す（ステップＳ４００５）。ＵＰｎＰコントロールポイントは返答のあった全てのＵＰｎＰデバイスを認識する（ステップＳ４００６）。そして、各ＵＰｎＰデバイスからディスクリプションファイルを取得するために、各ＵＰｎＰデバイスから受信したM-SEARCH Responseに記述されたＵＲＬへHTTP GETコマンドを送る（ステップＳ４００７）。HTTP GETによるディスクリプションファイルのリクエストを受けた各ＵＰｎＰデバイスは、ディスクリプションファイル（Description XML）をＨＴＴＰのレスポンスとして送信する（ステップＳ４００８）。
【００２９】
デジタルビデオカメラ１００１は、ＵＰｎＰデバイスから送信されたデバイスディスクリプションのＸＭＬによる記述について解析処理を行い、図４を参照して上述したような各種情報をＵＰｎＰデバイス毎に取得し、保持する。そして、ＤＰＳモードへの移行が指定されているので、ステップＳ４０１０以降に示すように、指定されたモードの実行に対応したＵＰｎＰデバイス（本例ではダイレクトプリントに対応したプリンタ）をステップＳ４００９で保持した情報に基づいて抽出し、対応するＵＰｎＰデバイスが見つかったならば自身の動作モードをＤＰＳモードへ移行する。
【００３０】
まず、ステップＳ４００９にて得られた解析処理の結果に基づいて、ＤＰＳモードに適応するＵＰｎＰデバイスの抽出を行い（ステップＳ４０１０）、ダイレクトプリントを実現するためのデバイス候補を決定する。上述したように〈DPS〉タグの有無が調べられる。そして、デバイス候補が決定できたならば、その候補に対してConfigurationメッセージを送信し、正しく返答が戻ってくるかを待つ（ステップＳ４０１１）。なお、ＤＶＣ１００１は、上述したように、常に送信先のＵＰｎＰデバイスであるプリンタに対して２回以上同一のメッセージを送信するものとする。ＵＰｎＰデバイスはリクエストされたメッセージを正しく理解した場合には、直ちにレスポンスメッセージ（DPS_Configuration_Informationメッセージ）を返す（ステップＳ４０１２）。ＵＰｎＰデバイスは、２回以上送信されたメッセージのうち、最も早く受信したメッセージのみに対してのみ送信し、それ以外のリクエストメッセージは無視する。
【００３１】
ＵＰｎＰデバイス（上記デバイス候補）がコマンドを理解し、正しいメッセージを返答してきて、なおかつ、対象とするＵＰｎＰデバイスが自機器（すなわちＤＶＣ１００１）のＵＰｎＰコントロールポイントと接続するためのサービスを備えている場合には、ＵＰｎＰデバイスは自動的にＤＰＳモードへ移行する（ステップＳ４０１３）。またＵＰｎＰコントロールポイントも，ＵＰｎＰデバイスから正しいメッセージを受信したらＤＰＳモードへ移行する（ステップＳ４０１４）。更にＵＰｎＰコントロールポイントにおいて表示領域に接続したＵＰｎＰデバイスのアイコンを表示することで、実際に接続が確立されたかどうかを表す（ステップＳ４０１５）。
【００３２】
以上のようにして、ＤＶＣ１００１は、ネットワークに接続された複数の電子機器１００２〜１００４の中からＤＰＳモードに適応したＵＰｎＰデバイスを自動的に抽出することができる。
【００３３】
次に、ステップＳ２００６、Ｓ４００９、Ｓ４０１０に示したＸＭＬファイルの解析とデバイス抽出における処理手順の詳細について、図６のフローチャートを用いてより詳細に説明する。図６は、ＤＰＳを利用するために、ＵＰｎＰデバイスのディスクリプションファイルを利用して特定のＵＰｎＰデバイスを抽出する処理を説明するフローチャートである。なお、以下では、図４に示したディスクリプションファイルを持つインクジェットプリンタ１００２をＤＰＳモードに適応した特定のＵＰｎＰデバイスとして抽出するフローチャートを説明する。
【００３４】
まず、図３のステップＳ２００２〜Ｓ２００６或いはステップＳ４００４〜Ｓ４００８で上述した方法によってディスクリプションファイルのＸＭＬ記述を取得する（ステップＳ５００１）。そして、ステップＳ５００２〜Ｓ５００６において、取得したデバイスディスクリプションファイルのＸＭＬ記述を解析していく。
【００３５】
ステップＳ５００２において、まずＸＭＬによって記述されたファイル全体がＸＭＬ構文に則ってウェルフォームドで記述されているかをチェックする。ウェルフォームドＸＭＬ文書でなければ、このディスクリプションファイルは不適切であるため処理を中止し、処理を次のＸＭＬ記述へ移すべくステップＳ５００６へスキップする。ウェルフォームドＸＭＬ文書であれば、ステップＳ５００３へ進み、各タグに記載された要素のうち、ＵＰｎＰで定義されたタグ、例えばfriendlyNameやdeviceTypeなどのタグで囲まれた要素の内容を管理テーブルへ登録する。なお、管理テーブルに記載された要素の内容は、アイコン表示に利用したり、デバイスのカテゴライズに使用したり、ユーザに対する表示に利用することが可能である。またpresentationURLが記載されている場合は、該ＵＲＬにアクセスすることでＵＰｎＰデバイスの情報や操作を行うことが可能なＨＴＭＬページなどを利用することが可能である（デバイスディスクリプションの詳細については先に示した非特許文献１である「UPnP Device Architecture Version 1.0, 08 Jun 2000 10:41 AM」を参照されたい）。
【００３６】
続いて、ステップＳ５００４において、ＤＰＳタグがあるかどうかを判断する。ＤＰＳタグがあれば、当該デバイスを候補デバイスとして当該ＤＰＳタグの内容とともに登録しておく（ステップＳ５００５）。以上のステップＳ５００２〜Ｓ５００５の処理を、ステップＳ５００１で取得されたすべてのＸＭＬ記述について実行する（ステップＳ５００６）。なお、上記ステップＳ５００４、Ｓ５００５においてＤＰＳタグを扱ったのは、本例においてＤＰＳモードへの移行が指示されていたからであり、他のモードへの移行が指示されていた場合にはそれに対応したタグが調べられる。もちろん、動作モードによっては、ＵＰｎＰ定義のタグ要素の内容から判断できる場合もある。
【００３７】
以上のようにして、取得したすべてのＸＭＬファイルについて解析を終えたならば、ステップＳ５００７において、ステップＳ５００５で登録された候補デバイスが存在するか否かを判定し、候補デバイスがなければステップＳ５００１へ戻る。候補デバイスが存在すれば、ステップＳ５００８へ進み、候補デバイスに対応して格納されているＤＰＳタグの要素を取り出す。ＤＰＳタグの要素の内容は、ＤＰＳモードで動作する際に使用されるＤＰＳ用のポート番号を示しており、該ポート番号に対してデータを送信することで、直接、特定のＵＰｎＰデバイスとの通信を行うことが可能となる。このＤＰＳタグの要素の内容から、対象のＵＰｎＰデバイスに対してＤＰＳのバージョン情報や実装しているサービス内容などのConfigurationを問い合わせることにより、対象のＵＰｎＰデバイスからのレスポンスメッセージが正しく戻ってきたＵＰｎＰデバイスをＤＰＳデバイスとして決定する（ステップＳ５００９、Ｓ５０１１）。レスポンスメッセージが正しく戻ってこない場合は、動作確認がＮＧであったとしてステップＳ５００９からＳ５０１０へ進み、ステップＳ５００５で登録された他の候補デバイスで未確認のものがあるかどうかを判定し、あればステップＳ５００８へ戻る。
【００３８】
以上のようにして、ネットワークに存在する複数のＵＰｎＰデバイスの中から、所望の動作モードに適応したＵＰｎＰデバイスを自動的に検索し、適応したＵＰｎＰデバイスを発見した場合は自分自身をその動作モードへ自動的に移行するとともに、候補デバイスのアイコンを表示する（４０１４，４０１５）。
【００３９】
次に、ＵＰｎＰデバイス側の動作について図７のフローチャートを参照して説明する。ステップＳ６００１において、HTTP GETコマンドを受信した場合は、ステップＳ６００２へ進み、自身のディスクリプションファイルにおけるＸＭＬ記述を取得し、これをDescription XMLメッセージに添付してHTTP GETコマンドの発行元へ返信する（ステップＳ２００４、Ｓ２００５、Ｓ４００７、Ｓ４００８）。
【００４０】
DPS Configurationを受信した場合は、ステップＳ６００３からステップＳ６００４へ進み、受信したDPS Configurationを解析する。この解析の結果、自身が、ＤＰＳモードへによる動作に対応可能であると判定された場合は、ステップＳ６００６へ進み、DPS Configurationメッセージの発行元へDPS Configuration Informationメッセージを返信し（ステップＳ４０１１、Ｓ４０１２）、ステップＳ６００７にて自身の動作モードをＤＰＳモードへ移行する（図３、図５のステップＳ４０１３）。
【００４１】
その後、DPS Configurationを発行したＵＰｎＰコントロールポイント（ＤＶＣ１００１）より直接に印刷データを受信し、印刷を実行する（ステップＳ６００８、Ｓ６００９）。
【００４２】
なお、本実施形態では、ＵＰｎＰデバイスのプリンタがＤＰＳモードへ移行後、ＵＰｎＰコントロールポイント（ＤＶＣ）側でＤＰＳモードの処理を中断した場合等、ＵＰｎＰコントロールポイント側からのアクセスが所定期間を超えて受信されなかった場合は、ステップＳ６００８からステップＳ６０１０へ進み、ＤＰＳモードを抜け通常の状態へ戻る。この所定期間としては、例えば、自身の持つAdvertiseメッセージの再送時間（ssdp:aliveメッセージの再送間隔）よりも十分に短い時間（例えば再送時間の１／４）を設定するのが好ましい。
【００４３】
更に、無線通信を行っているため、電波の届かない場所や遮断された場合に、ネットワークが途切れてしまい、一定期間データが送受信できない場合、無線通信であるネットワークインターフェース部１０１９がリセットされる。ＣＰＵ１０１５はネットワークインターフェース部１０１９からのリセット信号を受け取ると、ＤＰＳモードを抜けて通常のモードへ移行し、ＲＡＭ１０１７に保存した各種デバイスの情報を消去し、表示部１０１４や操作部１０１８の状態も初期状態へと変更する。
【００４４】
このように、本実施形態によれば、ＤＰＳモードになり、直接、特定のプリンタであるインクジェットプリンタ１００２を抽出した後、ＵＰｎＰコントロールポイントであるデジタルビデオカメラ１００１は、内部に持つＲＡＭ１０１７に保存したデバイス情報を基に、表示部１０１４へアイコンを表示する。操作部１０１８により、内部記憶領域であるメモリーカード内に存在する画像データのうち、印刷したい所望の画像データを選択することにより、対象プリンタであるインクジェットプリンタ１００２へデータを送信し、インクジェットプリンタ１００２が印刷ジョブの印刷を開始する。
【００４５】
なお、ＤＰＳタグで囲まれた要素の内容は、印刷を行うための特別なポート番号であり、ＵＰｎＰコントロールポイントとＵＰｎＰデバイス間では、このポート番号に対して全ての印刷処理データ送受信を行う。そのため、一定の値を用いるとプリンタ側は所望の機器からのアクセスでない場合に対してもＤＰＳモードに入る可能性がある。よって、インクジェットプリンタ１００２において、デバイスディスクリプションへのアクセスがあるたびに該ポート番号を変更するようにし手もよい。このようにすれば、特定のＵＰｎＰコントロールポイントとの一意の送信パスを確立することが可能となる。
【００４６】
また、本実施形態では、対象となるＵＰｎＰデバイスを抽出する際に、ＤＰＳタグを用いて対象となるＵＰｎＰデバイスを抽出する方法を示したが、タグの要素名はＤＰＳに限らず、一意に特定できる要素名であれば他の要素名でも実現できる。同様に、要素名とその要素の内容を組み合わせた場合でも、一意に特定できるものであれば本発明の目的は達成される。
【００４７】
また、ＤＶＣ１００１において、対象となる機器がネットワーク内に存在しない場合（ステップＳ４０１０におけるＵＰｎＰデバイスの抽出に失敗した場合、ステップＳ４０１１で確認が取れなかった場合）には、直ちに動作モードを切り替える、あるいはネットワークから離脱させるようにしてもよい。このようにすれば、ＤＶＣ１００１が受信する様々なパケットによる電力消費を抑えることが可能となる。
【００４８】
以上のように本実施形態によれば、複数のデジタル機器で構成されたネットワーク内において、対象となる機器を問い合わせるコマンドを送り、返答データから最適な機器を自動的に抽出することが可能となる。これにより、最も自機器の持つ画像データに対して品質が良く効率的な機器を選択可能となることが期待できる。なお、本発明は、デジタルビデオカメラをデジタルカメラ、携帯電話等の電子機器に置き換えて実施することも可能である。
【００４９】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【図面の簡単な説明】
【００５０】
【図１】本実施形態に係るネットワークの構成の一例を示す図である。
【図２】本実施形態におけるデジタルビデオカメラの主要な構成要素を示すブロック図である。
【図３】ＵＰｎＰデバイスがネットワークへ参加した際のメッセージのやり取りを説明するためのフロー図である。
【図４】ディスクリプションファイルの一例を示した図である。
【図５】ＵＰｎＰコントロールポイントであるデジタルビデオカメラがネットワークに参加した際のメッセージのやり取りを説明するためのフロー図である。
【図６】ＵＰｎＰコントロールポイントによるＵＰｎＰデバイスの抽出と動作モードの移行の手順を説明するフローチャートである。
【図７】ＵＰｎＰデバイス側のモード移行の手順を説明するフローチャートである。
【図１】
2005217974.tif 000003
【図２】
2005217974.tif 000004
【図３】
2005217974.tif 000005
【図４】
2005217974.tif 000006
【図５】
2005217974.tif 000007
【図６】
2005217974.tif 000008
【図７】
2005217974.tif 000009