(57)【要約】【課題】第１及び第２のネットワークに複数の通信制御装置（ブリッジ）が接続されている場合でも、第２のネットワーク上の機器からの第１のネットワーク上の同一のデバイスに対し重複して操作することを回避することができる通信制御装置を提供する。【解決手段】第１のネットワークと第２のネットワークに接続され、第１のネットワーク上の機器と第２のネットワーク上の機器との間で通信を行うための通信制御装置は、第１のネットワークに接続された第１の識別子を有する新たな機器を検知すると、第２のネットワーク上に第１の識別子を有する機器が存在するか否かを検知し、第２のネットワーク上に第１の識別子を有する機器が検知されなかったときに、新たな機器と第２のネットワーク上の機器との間の通信制御を行う。【選択図】      図３
2006066994.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークと第２のネットワークに接続され、前記第１のネットワーク上の機器と前記第２のネットワーク上の機器との間で通信を行うための通信制御装置において、
前記第１のネットワークに接続された第１の識別子を有する新たな機器を検知する手段と、
前記第２のネットワーク上に前記第１の識別子を有する機器が存在するか否かを検知する検知手段と、
を備え、
前記検知手段で前記第１の識別子を有する機器が検知されなかったときに、前記新たな機器と前記第２のネットワーク上の機器との間の通信制御を行うことを特徴とする通信制御装置。
【請求項２】
前記検知手段で前記第２のネットワーク上に前記第１の識別子を有する機器が検知された前記新たな機器については、当該第２のネットワーク上の機器との間の通信制御は行わないことを特徴とする請求項１記載の通信制御装置。
【請求項３】
前記新たな機器の前記第１の識別子に対応する前記第２のネットワーク上の第２の識別子を生成する手段をさらに備え、
前記検知手段は、前記第２の識別子と同一の識別子を有する機器の存在の有無を確認するための前記第２の識別子を含む第１のメッセージを前記第２のネットワークに同報し、予め定められた時間以内に前記第２の識別子を有する機器からの前記第１のメッセージに対する応答メッセージを受信することにより、前記第２のネットワーク上での前記第１の識別子を有する機器の存在を検知することを特徴とする請求項１記載の通信制御装置。
【請求項４】
前記第２のネットワークから、前記第１のネットワーク上の識別子を有する各機器の当該識別子を含むデバイス記述を取得する手段をさらに備え、
前記検知手段は、
取得されたデバイス記述に含まれる前記識別子のなかから前記第１の識別子を検索し、当該デバイス記述に含まれる識別子のなかに当該第１の識別子が含まれているとき、前記第２のネットワーク上での前記第１の識別子を有する機器の存在を検知することを特徴とする請求項１記載の通信制御装置。
【請求項５】
前記検知手段で前記第２のネットワーク上に前記第１の識別子を有する機器が検知されたことにより当該第２のネットワーク上の機器との間の通信制御が行われていない前記新たな機器については、前記検知手段は、予め定められた時間毎に、前記第１のメッセージを前記第２のネットワークに同報することを特徴とする請求項３記載の通信制御装置。
【請求項６】
前記検知手段で前記第２のネットワーク上に前記第１の識別子を有する機器が検知されたことにより当該第２のネットワーク上の機器との間の通信制御が行われていない前記新たな機器については、前記検知手段は、予め定められた時間毎に、取得されたデバイス記述に含まれる前記識別子のなかから前記第１の識別子を検索することを特徴とする請求項４記載の通信制御装置。
【請求項７】
前記第１のネットワークから離脱した機器を検知する手段と、
前記離脱した機器に対し前記第２のネットワーク上の機器との間の通信制御を行っていたときには、前記第２のネットワークに当該機器の稼働終了を通知するためのメッセージを同報する手段と、
をさらに備えたことを特徴とする請求項１記載の通信制御装置。
【請求項８】
前記第２のネットワークから、前記第１の識別子を有する機器の稼働終了を通知するメッセージを受信した場合に、当該第２のネットワーク上の機器との間の通信制御が行われていない当該第１の識別子を有する前記新たな機器について、前記検知手段で前記第１の識別子を有する機器が検知されなかったときには、当該新たな機器と前記第２のネットワーク上の機器との間の通信制御を行うことを特徴とする請求項２記載の通信制御装置。
【請求項９】
第１のネットワークと第２のネットワークに接続され、前記第１のネットワーク上の機器と前記第２のネットワーク上の機器との間で通信を行うための通信制御装置における通信制御方法において、
前記第１のネットワークに接続された第１の識別子を有する新たなに機器を検知する第１のステップと、
前記第２のネットワーク上に前記第１の識別子を有する機器が存在するか否かを検知する第２のステップと、
前記第２のステップで前記第１の識別子を有する機器が検知されなかったときに、前記新たな機器と前記第２のネットワーク上の機器との間の通信制御を行う第３のステップと、
を有することを特徴とする通信制御方法。
【請求項１０】
第１のネットワークと第２のネットワークに接続されたコンピュータを、前記第１のネットワーク上の機器と前記第２のネットワーク上の機器との間で通信を行うための通信制御装置として機能させるためのプログラムにおいて、
前記コンピュータを、
前記第１のネットワークに接続された第１の識別子を有する新たなに機器を検知する第１の手段と、
前記第２のネットワーク上に前記第１の識別子を有する機器が存在するか否かを検知する第２の手段と、
前記第２の手段で前記第１の識別子を有する機器が検知されなかったときに、前記新たな機器と前記第２のネットワーク上の機器との間の通信制御を行う第３の手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるプロトコルを用いてそれぞれ通信を行う２つネットワークに接続された通信制御装置に関し、例えば、一方のネットワークがＩＥＥＥ１３９４ネットワークであり、他方のネットワークがＴＣＰ／ＩＰネットワークである場合のブリッジ装置に関する。
【背景技術】
【０００２】
最近、オーディオ機器やビデオ機器ならびにパーソナルコンピュータ等の電子機器および情報機器をネットワークで結び、機器が互いに操作しあう利用場面が増加している。このような場面において利用されるネットワーク技術は、ただ一種類とは限らず、接続される機器の能力やネットワークの能力に対する要求によって数種類の中から選択され、場合によっては１つの利用場面の中で複数のネットワーク技術が利用されることがある。
【０００３】
それらの代表的なネットワーク技術２つが、ＩＥＥＥ(Institute of Electrical and Electronics Engineers)１３９４高速シリアルバスを用いたネットワーク（以下、１３９４ネットワークと呼ぶ）と、ＴＣＰ／ＩＰが動作するネットワーク、例えば、ＩＥＥＥ８０２委員会で標準化されている各種ネットワーク（以下、ＩＥＥＥ８０２ネットワークあるいは８０２ネットワークと呼ぶ）である。
【０００４】
１３９４ネットワークは、ビデオ機器やオーディオ機器を結ぶのに用いられることが多く、各機器はＩＥＥＥ１３９４規格で定義されるＡＶ／Ｃコマンドを用いて、ネットワーク上の他の機器を制御できる。
【０００５】
８０２ネットワークは、パーソナルコンピュータおよびそれ以上の規模の計算機相互を結ぶのに用いられることが多く、基本的な通信はＩＥＥＥ８０２ネットワーク技術上に構築されるＴＣＰ／ＩＰネットワーク技術によって行なわれる。そしてこの上に実現されるＵＰｎＰ(Universal Plug and Play, United States Patent Application 20020035621)プロトコルに基づいて、ネットワーク上の他の機器を制御できる。
【０００６】
これら２種類のネットワーク技術は独立したものであり、一方のネットワークに属する機器から他方のネットワークに属する機器を制御することは出来ない。このような異なるネットワーク技術の相互連携を可能にするのがブリッジ技術である。基本的には両方のネットワークに属する機器において、一方から他方のネットワークへと、ネットワーク上でやりとりされるデータの意味を維持しながらデータ形式や通信方法を変換することによって実現され、一方のネットワークから他方のネットワーク上の機器ないしサービスの存在をどのように見せかけるかが、設計上および利用上の課題となる。
【０００７】
１３９４ネットワーク上の機器を、１３９４パケットあるいは１３９４ＡＶ／ＣコマンドをＳＯＡＰ（Simple Object Access Protocol）アクションに変換することによって、ＵＰｎＰネットワーク上の機器から制御可能にするブリッジ（以下、１３９４ブリッジと呼ぶ）については、例えば、特許文献１及び２に開示されている。
【０００８】
特許文献１では、ブリッジは、１３９４ＰｒｏｘｙＳｅｒｖｉｃｅと、１３９４ＮｏｄｅＳｅｒｖｉｃｅ、または１３９４ＮｏｄｅｓＳｅｒｖｉｃｅを備えたＵＰｎＰデバイスとしてＵＰｎＰコントローラには見えるものとされている。ここで、１３９４ＰｒｏｘｙＳｅｒｖｉｃｅが１３９４ネットワークへの１３９４機器の着脱を監視して、ＩＥＥＥ８０２ネットワーク上のＵＰｎＰ機器への通知および１３９４機器の列挙機能を提供し、１３９４ＮｏｄｅＳｅｒｖｉｃｅは１３９４ネットワーク上の各１３９４機器の操作機能を提供する。１３９４ＮｏｄｅｓＳｅｒｖｉｃｅは、１３９４ネットワーク上の個別の１３９４機器の操作に割り当てられる１３９４ＮｏｄｅＳｅｒｖｉｃｅと異なり、１３９４ネットワーク上の複数の機器の操作を１つのサービスとして提供するものである。
【特許文献１】特開２００３−８６１０公報
【特許文献２】特開２００３−４６５３５公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記特許文献１及び２で開示されている１３９４ブリッジでは、ＩＥＥＥ８０２ネットワーク（第１のネットワーク）に、ＩＥＥＥ１３９４ネットワーク（第２のネットワーク）上の複数の１３９４ブリッジが接続される場合を想定していなかった。
【００１０】
この場合、各１３９４ブリッジが独立してブリッジ処理を行うと、１３９４ＡＶ／Ｃデバイス識別子（ＥＵＩ６４）とＵＰｎＰデバイス識別子（ＵＤＮ：Ｕｎｉｑｕｅ  Ｄｅｖｉｃｅ  Ｎａｍｅ）をどのように対応付けるかによって、以下に示すような３つの問題が生じる。なお、上記特許文献１及び２では、ＥＵＩ６４とＵＤＮの対応付け方法については記載されていない。
【００１１】
ここでは、第１のネットワークに第２のネットワーク上の２つの１３９４ブリッジ（これをブリッジＸ１及びブリッジＸ２とする）が接続されている場合について示す。
【００１２】
１）  ＥＵＩ６４とＵＤＮの対応関係がブリッジＸ１、Ｘ２で共通して規則的に定まる場合、ブリッジＸ１とブリッジＸ２が各々ＵＰｎＰコントロールポイントに見せる１３９４機器Ｙ１のＵＤＮは同一であり、ＵＰｎＰコントロールポイントからは見かけ上、同一ＵＤＮのＵＰｎＰデバイスが存在しているように見える。これは、ＵＰｎＰの仕様に反することになる。
【００１３】
２）  ＥＵＩ６４とＵＤＮの対応関係がブリッジＸ１、Ｘ２個別で規則的に定まる場合、ブリッジＸ１とブリッジＸ２が各々ＵＰｎＰコントロールポイントに見せる１３９４機器Ｙ１は、ＵＰｎＰコントロールポイントからは別々のＵＰｎＰデバイスとして見える。ＵＰｎＰコントロールポイントがこれらＵＰｎＰデバイスは同一のものとして認識するためには、上記特許文献１に記載されている方法を用いれば、１３９４ＰｒｏｘｙＳｅｒｖｉｃｅあるいは１３９４ＮｏｄｅＳｅｒｖｉｃｅあるいは１３９４ＮｏｄｅｓＳｅｒｖｉｃｅを通じて、各ＵＰｎＰデバイスが仮想化している１３９４機器のＹ１のＥＵＩ６４値を得て比較する枠組みを導入する必要がある。
【００１４】
３）  また、ＵＤＮの生成規則がＥＵＩ６４値に対して永続的でない場合、１３９４機器の着脱の度に、同一の１３９４機器にもかかわらず、ＵＰｎＰコントロールポイントからは毎回異なったＵＰｎＰデバイスとして見える。その場限りの利用を前提とする場合には不都合は生じないが、時間経過を前提として互いに連携させる利用場面においては、１３９４機器をＵＰｎＰコントロールポイントから特定できることが求められる場合がある。
【００１５】
ブリッジが複数存在して独立に動作する場面は、管理者によって注意深く維持されるネットワークでは少ないが、管理者が不在であるような小規模で自動設定を多用するネットワークでは、利用者の意図的な、または意図しない操作によって生じることが考えられる。
【００１６】
そこで、本発明は上記問題点に鑑み、例えば、第１のネットワーク（ＩＥＥＥ１３９４ネットワーク）と第２のネットワーク（ＴＣＰ／ＩＰネットワークを用いて通信を行う例えばＩＥＥＥ８０２ネットワーク）とに複数の通信制御装置（ブリッジ）が接続されている場合でも、第２のネットワーク上の機器からの第１のネットワーク上の同一のデバイスに対し重複して操作することを回避することのできる通信制御装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係る、第１のネットワークと第２のネットワークに接続され、第１のネットワーク上の機器と第２のネットワーク上の機器との間で通信を行うための通信制御装置は、第１のネットワークに接続された第１の識別子を有する新たな機器を検知すると、第２のネットワーク上に第１の識別子を有する機器が存在するか否かを検知し、第２のネットワーク上に第１の識別子を有する機器が検知されなかったときに、新たな機器と第２のネットワーク上の機器との間の通信制御を行い、第２のネットワーク上に第１の識別子を有する機器が検知されたときには、当該新たな機器と当該第２のネットワーク上の機器との間の通信制御は行わない。
【発明の効果】
【００１８】
第１及び第２のネットワークに複数の通信制御装置（ブリッジ）が接続されている場合でも、第２のネットワーク上の機器からの第１のネットワーク上の同一のデバイスに対し重複して操作することを回避することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について図面を参照して説明する。
【００２０】
図１は、本実施形態に係るネットワークの構成例を示したもので、ＴＣＰ／ＩＰを用いて通信を行うネットワーク、例えば、ＩＥＥＥ８０２委員会で標準化されている各種ネットワーク（以下、ＩＥＥＥ８０２ネットワークあるいは８０２ネットワークと呼ぶ）と、ＩＥＥＥ１３９４高速シリアルバスを用いたネットワーク（以下、１３９４ネットワークと呼ぶ）とが、複数の（ここでは、例えば２台の）１３９４ブリッジを介して接続され、各１３９４ブリッジは、８０２ネットワーク上の機器と１３９４ネットワーク上の機器との間で通信を行うための通信制御を行うようになっている。
【００２１】
ＩＥＥＥ８０２ネットワーク（図１では太い実線で示している）には、ＵＰｎＰ(Universal Plug and Play)で規定されているＵＰｎＰコントロールポイント１０、２台の１３９４ブリッジＸ１、Ｘ２、その他のＵＰｎＰデバイスが接続され、これら機器間では、ＴＣＰ／ＩＰを用いて通信を行っている。そして、このＴＣＰ／ＩＰ上でＵＰｎＰを用いて、ＵＰｎＰコントロールポイント１０は、当該ネットワーク上のデバイスの検出や制御を行うようになっている。
【００２２】
ＵＰｎＰでは、ＵＰｎＰコントロールポイントとＵＰｎＰデバイスとの間で、ＳＳＤＰ（Simple Service Discovery Protocol）やＳＯＡＰ（Simple Object Access Protocol）などのプロトコルが利用されている。ＳＳＤＰは、ＵＰｎＰコントロールポイントがＵＰｎＰデバイスやサービスを検出するためのプロトコルである。また、ＳＯＡＰは、各ＵＰｎＰデバイスを制御する際に用いられる手続き呼び出しプロトコルである。
【００２３】
また、ＩＥＥＥ８０２ネットワーク（図１では細い実線で示している）には、２台の１３９４ブリッジＸ１、Ｘ２、及び２台の１３９４機器（１３９４デバイス）Ｙ１、Ｙ２が接続されている。１３９４機器Ｙ１、Ｙ２は、ＩＥＥＥ１３９４ネットワーク上でＡＶ／Ｃコマンドにより制御される。
【００２４】
１３９４ブリッジＸ１、Ｘ２は、各１３９４機器Ｙ１、Ｙ２を１３９４ＮｏｄｅＳｅｒｖｉｃｅを有するＵＰｎＰルートデバイスとして扱う。すなわち、図２に示すように、１３９４ブリッジｘ１，Ｘ２では、ＩＥＥＥ８０２ネットワーク側に対し、２つの１３９４機器Ｙ１、Ｙ２を、それぞれ、１３９４ＮｏｄｅＳｅｒｖｉｃｅを持ったＵＰｎＰデバイスとして仮想化してみせる。従って、ＩＥＥＥ８０２ネットワーク側からは、１３９４ブリッジＸ１、Ｘ２内の２つの１３９４機器Ｙ１、Ｙ２のそれぞれに対応するＵＰｎＰ仮想デバイスが、ＵＰｎＰデバイスとして検出・制御される。
【００２５】
このような構成のため、ＵＰｎＰコントロールポイント１０が１３９４機器Ｙ１、Ｙ２の着脱を知るのは、ＵＰｎＰ仮想デバイスＹ１、Ｙ２の出現／消滅により、１３９４ブリッジＸ１、Ｘ２から送信されるＳＳＤＰメッセージ（ｓｓｄｐ：ａｌｉｖｅ，ｓｓｄｐ：ｂｙｅｂｙｅ）を受信したときである。そして１３９４ブリッジＸ１、Ｘ２は、周囲のＵＰｎＰデバイスの発見と情報取得のためにＵＰｎＰで規定されているコントロールポイントとしての機能を併せ持つ。
【００２６】
図３は、１３９４ブリッジＸ１、Ｘ２の構成例を示したものである。
【００２７】
図３において、１３９４ブリッジは、ＩＥＥＥ１３９４ネットワークの状態を監視する１３９４バス監視部１０１と、ＩＥＥＥ１３９４ネットワークを通じての通信を行う１３９４通信処理部１０２と、ＩＥＥＥ８０２ネットワークとの通信を行うＩＥＥＥ８０２通信処理部１０３と、ＵＰｎＰ仮想デバイス生成・消去部１０６、ＵＰｎＰ仮想デバイス処理部１０７、ＵＰｎＰ仮想デバイス衝突検出部１０８、ＵＰｎＰ仮想デバイス生成・消去部１０６で、ＵＰｎＰ仮想デバイス（のディスクリプションdescription）を生成する際に用いるＵＰｎＰ仮想デバイスｄｅｓｃｒｉｐｔｉｏｎ生成規則を記憶する第１の記憶部１０４、ＵＰｎＰ仮想デバイス生成・消去部１０６で生成された各ＵＰｎＰ仮想デバイスのディスクリプションを記憶する第２の記憶部１０５を有する。
【００２８】
１３９４バス監視部１０１は、ＩＥＥＥ１３９４ネットワークからバスリセットシグナルを受けて、１３９４機器の着脱を検知し、新たに接続された１３９４機器や、ＩＥＥＥ１３９４ネットワークから外された１３９４機器を通知するための着脱イベントをＵＰｎＰ仮想デバイス生成・消去部１０６へ出力する。
【００２９】
ＵＰｎＰデバイス仮想生成・消去部１０６は、１３９４バス監視部１０１からの着脱イベントを受けて、新たなに接続された１３９４機器に対しては、第１の記憶部１０４に記憶されたＵＰｎＰ仮想デバイスｄｅｓｃｒｉｐｔｉｏｎ生成規則を用いてＵＰｎＰ仮想デバイスのディスクリプションを生成して、当該生成されたディスクリプションを第２の記憶部１０５へ格納する。また、ＩＥＥＥ１３９４ネットワークから外された１３９４機器に対しては、第２の記憶部１０５から、当該１３９４機器に対応するＵＰｎＰ仮想デバイスのディスクリプションを消去する。
【００３０】
ＵＰｎＰ仮想デバイス処理部１０７は、ディスクリプションの生成された各ＵＰｎＰ仮想デバイスについてＵＰｎＰデバイスとしての動作を行うためのものである。
【００３１】
ＵＰｎＰ仮想デバイス衝突検出部１０８は、ＵＰｎＰ仮想デバイス生成・消去部１０６によって生成されたディスクリプションの生成されたＵＰｎＰ仮想デバイスについて、当該ＵＰｎＰ仮想デバイスと同一の１３９４デバイスであるＵＰｎＰデバイスを探索・検出する。
【００３２】
ＵＰｎＰ仮想デバイス処理部１０７は、仮想化されたＩＥＥＥ１３９４機器（ＵＰｎＰ仮想デバイス）別に、各ＵＰｎＰ仮想デバイスに対し、当該ＵＰｎＰ仮想デバイスをＵＰｎＰデバイスとして動作させるために、当該ＵＰｎＰ仮想デバイスの開始・終了を司る開始／終了通知処理部１０７ａと、ＵＰｎＰ仮想デバイスのイベント通知処理を司るイベント通知処理部１０７ｂと、ＩＥＥＥ８０２ネットワークから受け取ったＳＯＡＰアクションに対する応答処理を司るＳＯＡＰアクション処理部１０７ｃと、１３９４変換処理部１０７ｄを有する。
【００３３】
１３９４変換処理部１０７ｄは、ＳＯＡＰアクション処理部１０７ｃで受け取ったＳＯＡＰアクション要求メッセージをＩＥＥＥ１３９４コマンド（ＡＶ／Ｃコマンド）に変換する。ここで変換した結果得られるコマンドは、１３９４通信処理部１０２を通じて、実際のＩＥＥＥ１３９４ネットワーク上の１３９４機器に送信される。また、１３９４変換処理部１０７ｄは、当該コマンドに対する当該１３９４機器からの応答を１３９４通信処理部１０２を介して受け取るとと、当該応答をＳＯＡＰアクション応答メッセージに変換する。ここで変換されたＳＯＡＰアクション応答メッセージは、ＳＯＡＰアクション処理部１０７ｃを介してＩＥＥＥ８０２ネットワークへ送信される。また、１３９４機器からの状態変化通知をＵＰｎＰ形式のイベントに変換し、当該イベントはイベント通知処理部１０７ｂを介してＩＥＥＥ８０２ネットワークへ送信される。
【００３４】
このような構成において、１３９４ブリッジは以下に示す動作を行う。
【００３５】
（１）まず、ＥＵＩ６４値とＵＤＮとの対応関係が、共通かつ永続的であるとした場合の動作を以下に示す。ここで１３９４ブリッジＸ１はＩＰアドレス「１９２．１６８．０．１０」を持つとする。ブリッジ対象の１３９４機器Ｙ１のデバイスＩＤ（ＥＵＩ６４値）は「９６６３−３Ｅ２Ａ２ＥＦ４０４５８」であるとする。後述のＵＤＮ生成用に１３９４機器のデバイスＩＤに結合されるデータ列（例えば、ここでは前置する）６４ビット値を「９０７６４２３Ｅ−Ｃ０６４−４０２５」とする。また、他の１３９４ブリッジＸ２のＩＰアドレスは「１９２．１６８．０．１」であるとする。
【００３６】
例えば、図４に示すように、１３９４機器Ｙ２が１３９４ブリッジＸ２に接続されている状態において、１３９４機器Ｙ１を１３９４ブリッジＸ１に接続する場合について、図８に示すフローチャート及び図５を参照して説明する。なお、図５，図８において同一ステップには、同一符号を付している。
【００３７】
図８は、１３９４ブリッジＸ１、Ｘ２の本実施形態に係る要部の処理動作を概略的に示したフローチャートである。
【００３８】
ステップＳ１：１３９４機器Ｙ１がＩＥＥＥ１３９４ネットワークに接続され、これにより１３９４ブリッジＸ１がバスリセットを受けて、１３９４機器Ｙ１の接続を検出すると、１３９４機器Ｙ１のデバイスＩＤを取得する。
【００３９】
ステップＳ２：１３９４ブリッジＸ１のＵＰｎＰ仮想デバイス生成・消去部１０６は、１３９４機器Ｙ１のデバイスＩＤから、ＵＰｎＰ仮想デバイス用のＵＤＮを生成し、それに基づいたディスクリプション（ＵＰｎＰデバイス記述とサービス記述）を生成する。生成されたディスクリプションは、第２の記憶部１０５に記憶され、これにより当該１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイス用の仮想ＵＰｎＰデバイスが生成されたこととする（また、当該１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイス用の仮想ＵＰｎＰデバイス処理部１０７が生成される）。
【００４０】
ＵＤＮの生成規則の一例として、ここでは、１３９４機器のデバイスＩＤとして用いている６４ビットのＥＵＩ６４値に、予め定められた特定の６４ビット値を前置して１２８ビットのＵＤＮを生成する。この特定の６４ビット値が、各１３９４ブリッジで共通であれば、各１３９４ブリッジで生成される、同一の１３９４機器に対するＵＤＮは、共通かつ永続的に一意な値となる。
【００４１】
ここでは、１３９４機器Ｙ１のデバイスＩＤ、すなわち、ＥＵＩ６４値「９６６３−３Ｅ２Ａ２ＥＦ４０４５８」に、予め定められた特定の６４ビット値「９０７６４２３Ｅ−Ｃ０６４−４０２５」を前置し、ＵＤＮとして「９０７６４２３Ｅ−Ｃ０６４−４０２５−９６６３−３Ｅ２Ａ２ＥＦ４０４５８」を得る。
【００４２】
なお、本実施形態では、６４ビットのＥＵＩ６４値に、長さを補い且つ一意性を持たせるための特定のデータを結合させることで、１２８ビットのＵＤＮを生成する場合を示したが、この場合に限らない。例えば、ｘを１３９４ネットワーク上の１３９４機器のデバイスＩＤ（識別子）、ｙを当該１３９４機器に対応する８０２ネットワーク上でのＵＤＮ（識別子）とし、ｙをｘと予め定められた関数ｆを用いて、ｙ＝ｆ（ｘ）から求めるようにしてもよい。この場合、１３９４ネットワーク上の異なる２つの１３９４機器のデバイスＩＤをそれぞれｘ１、ｘ２とすると、ｘ１とｘ２が異なるかぎりｙ１＝ｆ（ｘ１）＝ｆ（ｘ２）とはならない、つまり、ｘ１とｘ２が異なるならば、ｙ１＝ｆ（ｘ１）とｙ２＝ｆ（ｘ２）となるような変換手段であれば、どのような関数を用いてもよい。例えば、適当なハッシュ（ｈａｓｈ）関数を用いる方法でも可能である。
【００４３】
以下に、ＵＰｎＰ仮想デバイス生成・消去部１０６で生成される、ＵＰｎＰ仮想デバイスのデスクリプション（ここでは、デバイス記述）の一例を示す。ここでは、１３９４機器Ｙ１がテープレコーダ・サブユニットを持つI１３９４デバイスである場合を示している。
【００４４】
<?xml version="1.0">
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-foobar-org:device:Ieee1394Device:1</deviceType>
<friendlyName>1394 Recorder device </friendlyName> 
<manufacturer>FooBar Corporation </manufacturer>
<modelName>FooBar Redcorder 10 </modelName>
<UDN> uuid:9076423E-C064-4025-9663-3E2A2EF40458</UDN>
<serviceList>
<service>
<serviceType>urn:schemas-foobar-org:avcTapeRecorderSubunit:1</serviceType>
<serviceId>urn:foobar-co-jp:avcTapeRecorderSubunit:1</serviceId>
<SCPDURL>tape1/description.xml</SCPDURL>
<controlURL>tape1/control/</controlURL>
<eventSubURL>tape1/subscribe/</eventSubURL>
</service>
</serviceList>
</device>
</root>
ステップＳ３：ステップ２で仮想ＵＰｎＰデバイス生成・消去部１０６でＵＤＮ及び１３９４機器Ｙ１に対応する仮想ＵＰｎＰデバイスが生成されると、仮想ＵＰｎＰデバイス衝突検出部１０８は、当該生成されたＵＤＮをＵＰｎＰデバイスを探索ターゲットとするＳＳＤＰのデバイス探索要求メッセージ（ｓｓｄｐ：ｄｉｓｃｏｖｅｒ）を同報する。
【００４５】
デバイス探索要求メッセージ（ｓｓｄｐ：ｄｉｓｃｏｖｅｒ）の一例を以下に示す。
【００４６】
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 3
ST: uuid: 9076423E-C064-4025-9663-3E2A2EF40458
ＵＰｎＰの規定によれば、ＵＰｎＰコントロールポイントから探索要求であるｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージがネットワーク上にマルチキャストされると、当該メッセージ中の探索ターゲットにマッチする機器は応答を該コントロールポイントにユニキャストで返すようになっている。仮想ＵＰｎＰデバイス衝突検出部１０８においても同様であって、ＵＰｎＰコントロールポイントとして動作し、仮想ＵＰｎＰデバイス生成・消去部１０６によって生成された仮想ＵＰｎＰデバイスのＵＤＮを持ったデバイスが既に周囲に存在するか否かを上記ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージとその応答によって判断する。
【００４７】
上記ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージの１行目は、デバイス探索要求メッセージであることを示す。２行目および３行目は固定値であり、４行目のＭＸ欄は、探索要求メッセージに応答するＵＰｎＰデバイスが実際に応答を返すまでに許される遅延時間を示す。この例では３秒の間に返せばよい。４行目は、探索ターゲットを示す。この例では「ｕｕｉｄ：」以下に示したＵＤＮ「９０７６４２３Ｅ−Ｃ０６４−４０２５−９６６３−３Ｅ２Ａ２ＥＦ４０４５８」を持つＵＰｎＰデバイスがターゲットであることを示す。なお、このＵＤＮには、前述したように、１３９４機器Ｙ１のデバイスＩＤ（ＥＵＩ６４値）を含む。
【００４８】
ステップＳ４：予め定められた時間（ここでは、上記ＭＸ欄で指定された３秒）、上記ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージに対する応答メッセージを待つ。この間に、当該応答メッセージを受信した場合には、上記探索ターゲットとして指定されたＵＤＮと同一のＵＤＮをもつ（同一のＥＵＩ６４値をもつ）ＵＰｎＰ仮想デバイスが存在することになる。すなわち、この場合、１３９４機器Ｙ１が他の１３９４ブリッジにてＵＰｎＰ仮想デバイスとして認識されていることを意味する。
【００４９】
ステップＳ５（図８のステップＳ５ａ、５ｂ）：上記ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージ送信後、予め定められた時間までに、ＵＰｎＰ仮想デバイス衝突検出部１０８は、他のＵＰｎＰデバイスからの応答メッセージ（ｓｓｄｐ：ｒｅｓｐｏｎｓｅ）を受け取れば（ステップＳ５ａ）、ＩＥＥＥ８０２ネットワーク上には既に同一のＵＤＮをもつＵＰｎＰ仮想デバイスが存在していると判定できるので、ＵＰｎＰ仮想デバイス生成・消去部１０６で生成した該１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイスを有効化（活性化）しないでおく。すなわち、ＵＰｎＰ仮想デバイスを非活性化状態にする（ステップＳ５ｂ）。ＵＰｎＰ仮想デバイスが非活性化状態であるとは、ここでは、ＩＥＥＥ８０２ネットワーク上に後述するｓｓｄｐ：ａｌｉｖｅメッセージが同報されないので、ＵＰｎＰ仮想デバイスが稼働していないこと、ＩＥＥＥ８０２ネットワーク上にはまだ存在しないことを意味する。
【００５０】
上記ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージに対し、他のＵＰｎＰデバイスから送信される応答メッセージの一例を以下に示す。
【００５１】
HTTP/1.1 200 OK
CACHE-CONTROL: max-age = 600
EXT:
LOCATION: http://192.168.0.1:2869/upnphost/
SERVER: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
ST: uuid: 9076423E-C064-4025-9663-3E2A2EF40458
USN: uuid: 9076423E-C064-4025-9663-3E2A2EF40458
上記応答メッセージでは、ＩＰアドレス「１９２．１６８．０．１」のＵＰｎＰデバイスから送信された応答メッセージであって、上記ＵＤＮと同じＵＤＮをもつＵＰｎＰデバイスであることを示すものである。
【００５２】
なお、図４に示した状態では、１３９４機器Ｙ１が接続されているのは、１３９４ブリッジＸ１のみであるから、１３９４機器Ｙ１のデバイスＩＤをもとに生成される上記ＵＤＮと同一のＵＤＮはＩＥＥＥ８０２ネットワーク上には存在しないはずである。従って、上記ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージ送信後、予め定められた時間までに、他のＵＰｎＰデバイスからの応答メッセージを受信することはない。
【００５３】
ステップＳ６：上記予め定められた時間までに応答メッセージを受信しなければ、１３９０４ブリッジＸ１のＵＰｎＰ仮想デバイス衝突検出部１０８は、ＩＥＥＥ８０２ネットワーク上には、同一のＵＤＮをもつＵＰｎＰデバイスが存在しないと判定し、１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイスを有効化（活性化）すべく、その旨を当該ＵＰｎＰ仮想デバイスに対応するＵＰｎＰ仮想デバイス処理部１０７に通知し、開始／終了処理部１０７ａはこの通知を受けて、ＵＰｎＰの手順に従って、以下に示すような当該仮想ＵＰｎＰデバイスのアドバタイズ・メッセージ（ｓｓｄｐ：ａｌｉｖｅ）を同報する。
【００５４】
NOTIFY * HTTP/1.1
HOST: 239.255.255.250:1900
CACHE-CONTROL: max-age = 600
LOCATION: http://192.168.0.10:2869/upnphost/
NT: uuid: 9076423E-C064-4025-9663-3E2A2EF40458
NTS: ssdp:alive
SERVER:
USN: uuid:9076423E-C064-4025-9663-3E2A2EF40458
上記メッセージは、ＩＰアドレス「１９２．１６８．０．１０」である１３９４ブリッジＸ１に存在する、１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイスのＵＰｎＰデバイス広告であることを意味する。
【００５５】
上記メッセージの１行目は、この通知がＧＥＮＡ（Generic Event Notification Architecture）プロトコルにも従ったＮＯＴＩＦＹメッセージであることを示す。２行目は、本メッセージの宛先であるマルチキャストアドレスとポートであって、ＵＰｎＰの場合、固定値である。３行目は、この通知内容の有効期間であって、秒数（この例では６００秒）が指定される。４行目は、ＵＰｎＰ仮想デバイスのルートデバイスのｄｅｓｃｒｉｐｔｉｏｎへのＵＲＬを示す。５行目は、通知タイプを示す。この例の場合、「ｕｕｉｄ：」以下に示したＵＤＮを持つＵＰｎＰデバイスに関する通知であることを示す。６行目は、通知サブタイプを示す。固定値である。７行目は、ＵＰｎＰデバイスが動作しているＯＳ等の環境情報を示す。８行目は、５行目のＮＴ欄に関連して決定されるユニークサービス名である。この場合は、５行目でＵＤＮが指定されているので、同じ値であるＵＤＮが設定されている。このほか、ＮＴ欄で「ｕｐｎｐ：ｒｏｏｔｄｅｖｉｃｅ」としてＵＰｎＰルートデバイスに関する通知であると指定された場合には、ＵＰｎＰルートデバイスのＵＤＮが設定されたり、ＮＴ欄でサービスタイプが指定された場合には、ＵＤＮとサービスＩＤの対が設定されたり、ＮＴ欄とＵＳＮ欄の内容の組み合わせがＵＰｎＰ仕様によって定められている。通常は、１つのＵＰｎＰデバイスについてのａｌｉｖｅ通知について、ＮＴ欄でｕｐｎｐ：ｒｏｏｔｄｅｖｉｃｅ，ＵＤＮ，サービスタイプ等のうち１つが指定され、ＵＳＮ欄に対応した値が設定された各メッセージが周囲に通知される。
【００５６】
なお、通常のＵＰｎＰでは、上記のようなｓｓｄｐ：ａｌｉｖｅメッセージは、仮想ＵＰｎＰデバイスのうち、活性化されたものが、ＩＥＥＥ８０２ネットワークを通じて周囲のネットワーク機器に自己の稼動状態をアナウンスする場合に用いられている。稼働中の場合は、上記ｓｓｄｐ：ａｌｉｖｅメッセージを定期的に通知するようになっている。
【００５７】
ステップＳ７：ＵＰｎＰ仮想デバイスが活性化されているときには、以後の動作は、ＵＰｎＰで規定された手順に従い、各ＵＰｎＰ仮想デバイスに対応する１３９４機器は、ＵＰｎＰデバイスとして、各ＵＰｎＰコントロールポイントからの制御される。すなわち、任意のＵＰｎＰコントロールポイントから送信されたデバイス探索要求メッセージの送信をＳＯＡＰアクション処理部１０７ｃで受け、当該メッセージに含まれる探索ターゲットにマッチする場合には応答メッセージが送信される。その後、当該ＵＰｎＰコントロールポイントからディスクリプションの取得要求メッセージを受けて、１３９４機器Ｙ１に対応するディスクリプションを送信したり、１３９４機器Ｙ１に対応するＵＤＮ宛てのＳＯＡＰアクション要求メッセージを受信すると、１３９４変換処理部１０７ｄは、これを１３９４ＡＶ／Ｃコマンドに変換して、１３９４通信処理部１０２から、当該１３９４機器Ｙ１に送信する。当該１３９４機器Ｙ１からの１３９４ＡＶ／Ｃレスポンスを受け取ると、１３９４変換処理部１０７ｄは、これをＳＯＡＰアクション応答メッセージに変換し、ＳＯＡＰアクション処理部１０７ｃ、ＩＥＥＥ８０２通信処理部１０３を介して、ＵＰｎＰコントロールポイント１０へ送信する。
【００５８】
なお、図８では、上記ステップＳ７の動作は省略されている。
【００５９】
以下に、ＳＯＡＰアクション要求メッセージの一例を示す。
【００６０】
POST /upnphost/tape1/control HTTP/1.1
HOST: 192.168.0.100:2869
CONTENT-LENGTH: 309
CONTENT-TYPE: text/xml; charset="UTF-8"
SOAPACTION: urn:schemas-foobar-org:avcTapeRecorderSubunit:1#Play
<s:Envelope
xmlns:s=http://schemas.xmlsoap.org/soap/envelope
s:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/>
<s:Body>
<u:Play xmlns:u="urn:schemas-foobar-org:avcTapeRecorderSubunit:1">
<u:playback_mode>FORWARD</u:playback_mode>
</u:Play>
</s:Body>
</s:Envelope>
上記ＳＯＡＰアクション要求メッセージは、ＵＲＬとして「ｈｔｔｐ：／／１９２．１６８．０．１００：２８６９／ｕｐｎｐｈｏｓｔ／ｔａｐｅ１／ｃｏｎｔｒｏｌ」を指定して、ＳＯＡＰアクションとして「ａｖｃＴａｐｅＲｅｃｏｒｄｅｒＳｕｂｕｎｉｔ」サービスのＰｌａｙコマンドを呼び出している様子を示す。ＵＲＬとＵＰｎＰサービスとは、ＵＰｎＰデバイスのディスクリプションによって関連付けられている。＜Ｅｎｖｅｌｏｐｅ＞エレメントは、ＳＯＡＰで定義されている記述形式であって、＜Ｂｏｄｙ＞エレメント内の＜ｕ：Ｐｌａｙ＞エレメントがアクションの名前、＜ｕ：ｐｌａｙｂａｃｋ＿ｍｏｄｅ＞エレメントでその引数名と引数の内容を示している。
【００６１】
一方、１３９４機器Ｙ１が１３９４ブリッジＸ１に接続される以前に既に１３９４ブリッジＸ２に接続されて、図５と同様にして、１３９４ブリッジＸ２にてＵＰｎＰ仮想デバイスが生成され、当該ＵＰｎＰ仮想デバイスが活性化されている状態において、さらに、当該１３９４機器Ｙ１が１３９４ブリッジＸ１に接続された場合について、図６及び図８を参照して説明する。この場合、ステップＳ１〜ステップＳ３までは図５と同様である。以下、図５と異なる部分について説明する。すなわち、この場合、１３９４機器Ｙ１に対応するＵＤＮを有するＵＰｎＰ仮想デバイスが既に活性化されているため、ステップＳ３で、１３９４ブリッジＸ１からｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージが送信されると、予め定められた時間までに、１３９４ブリッジＸ２から当該ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージに対する応答メッセージ（ｓｓｄｐ：ｒｅｓｐｏｎｓｅ）が送信されてくる（ステップＳ５）。
【００６２】
ＵＰｎＰ仮想デバイス衝突検出部１０８は、この応答メッセージを受信すると、当該１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイスを非活性化する。この場合、開始／終了処理部１０７ａからｓｓｄｐ：ａｌｉｖｅメッセージは送信されない（ステップＳ５）。
【００６３】
この場合、１３９４機器Ｙ１に対応するＵＤＮ宛てのＳＯＡＰアクション要求メッセージは、１３９４ブリッジＸ２を介して１３９４機器Ｙ１へ渡される。
【００６４】
なお、活性化していないＵＰｎＰ仮想デバイスが存在する場合には、仮想ＵＰｎＰデバイス衝突検出部１０８は、当該活性化されていないＵＰｎＰ仮想デバイスのＵＤＮを探索ターゲットとするＳＳＤＰのデバイス探索要求メッセージ（ｓｓｄｐ：ｄｉｓｃｏｖｅｒ）を定期的に同報すべく、定期的にステップＳ３〜ステップＳ６を行う（図８のステップＳ１〜ステップＳ６、ステップＳ９）。
【００６５】
各１３９４ブリッジＸ１、Ｘ２が図８に示すような動作を行うことにより、図１に示すトポロジーの場合には、１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイスは、１３９４ブリッジＸ２では活性化状態であり、１３９４ブリッジＸ１では非活性化状態である。
【００６６】
このとき、１３９４機器Ｙ１が１３９４ブリッジＸ２から外されたとする。すなわち、当該１３９４機器Ｙ１に対応するＵＰｎＰデバイスの稼働が終了したとする。
【００６７】
この場合、１３９４ブリッジＸ２では、ＩＥＥＥ１３９４ネットワークのバスリセットによって、１３９４バス監視部１０１が１３９４機器Ｙ１が離脱したと判定する（図８のステップＳ１０ａ）。すると、ＵＰｎＰ仮想Ｐデバイス生成・消去部１０６は、当該１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイスのディスクリプションが第２の記憶部１０５に記憶されていれば、それを削除するとともに、当該ＵＰｎＰ仮想デバイスに対応するＵＰｎＰ仮想デバイス処理部１０７への離脱イベント通知を行う（ステップＳ１０ｂ）。この通知を受けて、仮想ＵＰｎＰデバイス処理部１０７は、開始／終了通知部１０７ａを通じて、ＩＥＥＥ８０２ネットワーク上の機器に対して、当該１３９４機器Ｙ１に対応するＵＰｎＰデバイス稼動終了を通知する旨の次のようなｓｓｄｐ：ｂｙｅｂｙｅメッセージを同報する（ステップＳ１０ｃ）。
【００６８】
NOTIFY * HTTP/1.1
HOST: 239.255.255.250:1900
NT: uuid:9076423E-C064-4025-9663-3E2A2EF40458
NTS: ssdp:byebye
USN: uuid:9076423E-C064-4025-9663-3E2A2EF40458
上記メッセージでは、４行目のＮＴＳ欄がｓｓｄｐ：ｂｙｅｂｙｅであることで、ＵＰｎＰデバイスの稼動終了通知であることを示している。
【００６９】
以下、図７、図８を参照して、１３９４ブリッジＸ１の動作について説明する。すなわち、ステップＳ８において、１３９４ブリッジＸ１において、１３９４ブリッジＸ２から送信されたｓｓｄｐ：ｂｙｅｂｙｅメッセージを、ＩＥＥＥ８０２通信処理部１０３を通じてＵＰｎＰ仮想デバイス衝突検出部１０８が受け取ると（ステップＳ８ａ）、当該メッセージ内に含まれるＵＤＮが、１３９４ブリッジＸ１がもつ非活性化状態のＵＰｎＰ仮想デバイスのＵＤＮと同一のものであるか否かを調べる（ステップＳ８ｂ）。同一のものである場合には、ステップＳ３へ進み、当該非活性化状態のＵＰｎＰ仮想デバイスのＵＤＮを探索ターゲットとするｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージを送信する。
【００７０】
その後は、前述のステップＳ４〜ステップＳ６と同様である。すなわち、ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージ送信後、予め定められた時間までに応答メッセージを受信しなければ、１３９４ブリッジＸ１のＵＰｎＰ仮想デバイス衝突検出部１０８は、１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイス処理部１０７を有効化（活性化）し、開始／終了処理部１０７ａは当該仮想ＵＰｎＰデバイスのアドバタイズ・メッセージ（ｓｓｄｐ：ａｌｉｖｅ）を同報する。また、ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージ送信後、予め定められた時間までに、ＵＰｎＰ仮想デバイス衝突検出部１０８は、他のＵＰｎＰデバイスからの応答メッセージ（ｓｓｄｐ：ｒｅｓｐｏｎｓｅ）を受け取れば、当該１３９４機器Ｙ１に対応するＵＰｎＰ仮想デバイスを有効化（活性化）しないでおく（ＵＰｎＰ仮想デバイスを非活性化状態にする）。
【００７１】
ＩＥＥＥ８０２ネットワーク上の１３９４ブリッジＸ１は、ステップＳ８では、他のＵＰｎＰデバイス（１３９４ブリッジＸ２）でのＵＰｎＰ仮想デバイスが終了した場合に、当該ＵＰｎＰ仮想デバイスと同一の１３９４デバイスに対応するＵＰｎＰ仮想デバイスに継続させるために、ステップＳ９において、別のＵＰｎＰデバイス（１３９４ブリッジＸ２）でのＵＰｎＰ仮想デバイスが、ｓｓｄｐ：ｂｙｅｂｙｅメッセージなしに終了した際の対処のために、ステップＳ３にて、当該ＵＰｎＰ仮想デバイスを探索ターゲットとするｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージを送信するようになっている。
【００７２】
（２）次に、ＥＵＩ６４値とＵＤＮとの対応関係が、共通でないまたは非永続的でない場合の１３９４ブリッジの動作について説明する。図１に示すようなトポロジーにおいて、各１３９４ブリッジは、各１３９４ブリッジ内の１３９４機器に対応するＵＰｎＰデバイスの存在を互いに認識し、各ＵＰｎＰデバイスが仮想化している実際の１３９４機器のＥＵＩ６４値を得る手続きを、１３９４ＮｏｄｅＳｅｒｖｉｃｅに備えるか、ＵＰｎＰとは別の枠組みに基づく調整用プロトコルが必要となる。前者の場合においても、ＵＰｎＰプロトコルに基づいた枠組みの中で扱うことができる。
【００７３】
ここでは、各１３９４ブリッジで仮想化される１３９４機器のＥＵＩ６４値は、当該１３９４機器に対応するＵＰｎＰ仮想デバイスのディスクリプション（デバイス記述）中「ｄｅｖｉｃｅ  ｄｅｓｃｒｉｐｔｉｏｎ」）に埋め込むこととする。
【００７４】
以下、図８に示すフローチャートを参照して、１３９４ブリッジの動作を説明する。なお、ここでは、上述の（１）ＥＵＩ６４値とＵＤＮとの対応関係が、共通かつ永続的であるとした場合の１３９４ブリッジの動作と異なる部分を主に説明する。
【００７５】
１３９４機器の接続を検出し、１３９４機器のデバイスＩＤを取得すると（ステップＳ１）、１３９４機器のデバイスＩＤから、ＵＰｎＰ仮想デバイス用のＵＤＮを生成し、それに基づいたＵＰｎＰデバイス記述とサービス記述とを生成する（ステップＳ２）。ここまでは、前述同様である。ここでは、ＵＰｎＰ仮想デバイス生成・消去部１０６で生成されるディスクリプションに当該接続の検知された１３９４機器のデバイスＩＤ（ＥＵＩ６４値）が含まれている点が異なるため、図８のステップＳ３〜ステップＳ６が上述の（１）の場合と異なる。ここでは、図８のステップＳ３〜ステップＳ６のそれぞれに対応するステップをステップＳ３´〜ステップＳ６´として説明する。
【００７６】
以下に、ＵＰｎＰ仮想デバイス生成・消去部１０６で生成されるデバイス記述の一例を示す。ここでは、１３９４機器のデバイスＩＤであるＥＵＩ６４値を、例えば＜ａｖｃ：ＥＵＩ６４＞という新たに定められたエレメントに埋め込んでいる。
【００７７】
<?xml version="1.0">
<rootxmlns="urn:schemas-upnp-org:device-1-0" 
xmlns:avc="urn:schemas-foobar-org:avcDevice" >
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-foobar-org:device:Ieee1394Device:1</deviceType>
<friendlyName>1394 Recorder device </friendlyName>
<manufacturer>FooBar Corporation </manufacturer>
<modelName>FooBar Redcorder 10 </modelName>
<UDN> uuid:9076423E-C064-4025-3237-3E2A77840432</UDN>
<avc:EUI64>9663-3E2A2EF40458</avc:EUI64>
<serviceList>
<service>
<serviceType>urn:schemas-foobar-org:avcTapeRecorderSubunit:1</serviceType>
<serviceId>urn:foobar-co-jp:avcTapeRecorderSubunit:1</serviceId>
<SCPDURL>tape1/description.xml</SCPDURL>
<controlURL>tape1/control/</controlURL>
<eventSubURL>tape1/subscribe/</eventSubURL>
</service>
</serviceList>
</device>
</root>
各１３９４ブリッジで、当該１３９４ブリッジに接続された１３９４機器について生成するデバイス記述には、上記のように、当該１３９４機器のデバイスＩＤが含まれている。
【００７８】
ＵＰｎＰで規定されている手順によれば、ＩＥＥＥ８０２ネットワーク上の各ＵＰｎＰコントロールポイント（１３９４ブリッジＸ１、Ｘ２を含む）は、ｓｓｄｐ：ｄｉｓｃｏｖｅｒメッセージを送信し、その応答メッセージを受信したときには、当該応答メッセージの含まれるデバイス記述を取得できるＵＲＬに対し、ディスクリプションを取得するための要求メッセージ、すなわち、ｇｅｔ  ｄｅｓｃｒｉｐｔｉｏｎメッセージを送信し、所望のディスクリプションを取得することができる。また、ＩＥＥＥ８０２ネットワーク上のＵＰｎＰデバイスからのｓｓｄｐ：ａｌｉｖｅメッセージを受信したときには、当該メッセージに含まれるデバイス記述を取得できるＵＲＬに対し、ｇｅｔ  ｄｅｓｃｒｉｐｔｉｏｎメッセージを送信し、所望のディスクリプションを取得することができる。
【００７９】
このようにしてＵＰｎＰのコントロールポイントは、ＩＥＥＥ８０２ネットワーク上の各ＵＰｎＰデバイスのディスクリプション（デバイス記述やサービス記述）を取得することができるので、コントロールポイントである１３９４ブリッジＸ１、Ｘ２は、このようにして取得されたディスクリプションを、例えば、第２の記憶部１０５に記憶しておく。１３９４ブリッジＸ１、Ｘ２は、例えば、図９に示すように、ディスクリプションを取得した活性化されている各ＵＰｎＰデバイスと、自身がもつ活性化されているＵＰｎＰ仮想デバイスについて、当該ＵＰｎＰデバイスのディスクリプションに含まれている情報などから、例えば、デバイスタイプ（ｄｅｖｉｃｅＴｙｐｅ）またはサービスタイプ（ｓｅｒｖｉｃｅＴｙｐｅ）、ＵＤＮ、ＥＵＩ６４値、ｓｓｄｐ：ａｌｉｖｅメッセージ送信時刻またはｓｓｄｐ：ｒｅｓｐｏｎｓｅ送信時刻、キャッシュ時間、ＩＰアドレスなどを記録したテーブルを第２の記憶部１０に記憶する。
【００８０】
このように、各１３９４ブリッジは、現在活性化されている１３９４機器に対応するＵＰｎＰデバイスについて、図９に示すようなテーブルから、そのデバイスＩＤを知ることができるようになっている。
【００８１】
よって、ＵＰｎＰ仮想デバイス衝突検出部１０８では、新たなＵＰｎＰ仮想デバイスの衝突検出処理を行う際には、当該新たなＵＰｎＰ仮想デバイスのＵＤＮを探索ターゲットとするＳＳＤＰのデバイス探索要求メッセージ（ｓｓｄｐ：ｄｉｓｃｏｖｅｒ）を同報した後、そのときの図９に示したテーブル中のＥＵＩ６４値の欄に記録されている各値と、当該ＵＰｎＰ仮想デバイスのデバイスＩＤ（ＥＵＩ６４値）とを比較する（ステップＳ３´）。当該テーブル上に同じデバイスＩＤがなく、しかも、所定時間内に他のＵＰｎＰデバイスから当該デバイス探索要求メッセージに対する応答メッセージを受信しなかったときには（ステップＳ４´）、ステップＳ６´へ進み、当該ＵＰｎＰ仮想デバイスを活性化し、当該新たなＵＰｎＰ仮想デバイスのｓｓｄｐ：ａｌｉｖｅメッセージを同報する。
【００８２】
一方、当該テーブル上に当該新たなＵＰｎＰ仮想デバイスと同一のデバイスＩＤが存在するとき、あるいは、所定時間内に他のＵＰｎＰデバイスから当該デバイス探索要求メッセージに対する応答メッセージを受信したときには、当該新たなＵＰｎＰ仮想デバイスを非活性化状態とする（ステップＳ５´）。
【００８３】
その後、活性化された仮想デバイスに対する各ＵＰｎＰコントロールポイントからの制御は、前述のステップＳ７で示したように、ＵＰｎＰに規定された手順に従って行われる。
【００８４】
１３９４ブリッジは、非活性化状態のＵＰｎＰ仮想デバイスについて、他の１３９４ブリッジから、ｓｓｄｐ：ｂｙｅｂｙｅメッセージを受信すると（図８のステップＳ８ａ〜ステップＳ８ｂ）、上記ステップＳ３´〜ステップＳ６´を実行する。
【００８５】
また、非活性化状態のＵＰｎＰ仮想デバイスについては、定期的にステップＳ３´からＳ６´を実行する（図８のステップＳ９）。
【００８６】
さらに、１３９４機器の離脱を検出すると、活性化状態の当該１３９４機器に対応するＵＰｎＰ仮想デバイスを削除し、当該ＵＰｎＰ仮想デバイスに対応するｓｓｄｐ：ｂｙｅｂｙｅメッセージを同報する（図８のステップＳ１０ａ〜ステップＳ１０ｃ）。
【００８７】
（３）機器に、特に自機器に対して、ある識別子を割り当てるに当たり、適当な値を生成し、その値が割り当て済みか否かを周囲に問い合わせて、割り当て済みとの応答がない場合に、その値を識別子とする方法には、Ａｕｔｏ  ＩＰ（ＵＳ  Ｐａｔｅｎｔ  ６，１０１，４９９）がある。しかしながら、これは未使用かつ一意性のある識別子、この場合はＩＰアドレス、を一時的に割り当てる方法であり、その時々によって異なる識別子が割り当てられることを許すものである。
【００８８】
上記実施形態では、ＵＰｎＰ仮想化デバイスの衝突検出を、ＵＰｎＰプロトコルが通常用いられる８０２ネットワーク上で行っている。ＵＰｎＰ仕様に拠れば、ＳＳＤＰで用いるＩＰマルチキャストのホップ数（ＩＰパケットが通過するルータの数）が４以下と制約されているため、複数のサブネットから構成される８０２ネットワークにおいて、相異なるサブネットに属する１３９４ブリッジが、１３９４ネットワークとしては同一のネットワークに属する場合、１３９４ブリッジ相互においてＳＳＤＰによる衝突検出を行えない、隠れ端末問題が生じる恐れがある。
【００８９】
この場合の対処法としては、ＳＳＤＰで用いるＩＰマルチキャストのホップ数を増加させる方法の他、衝突検出を、８０２ネットワーク上でなく、１３９４ネットワーク上で行なう方法とがある。後者の場合、１３９４ネットワーク上でＴＣＰ／ＩＰプロトコルを動作させ、その上でＵＰｎＰを稼動する。１３９４ネットワークは平坦なネットワークであるので、同報すればネットワーク上の全ての機器に必ず到達する。そして１３９４ネットワーク上で衝突検出を行い、実際のＵＰｎＰ仮想デバイスは８０２ネットワーク側で稼動させる。１３９４ネットワーク上で、８０２ネットワークで利用しているＵＰｎＰによる衝突検出を行うことにより、新たな調停用プロトコルを用意することなく、等しい機能を提供できる。
【００９０】
以上説明したように、上記実施形態によれば、第１のネットワーク（１３９４ネットワーク）と第２のネットワーク（８０２ネットワーク）に接続され、１３９４ネットワーク上の機器と８０２ネットワーク上の機器との間で通信を行うための通信制御装置（１３９４ブリッジ）が、１３９４バス監視部１０１で１３９４ネットワークに接続された第１の識別子を有する新たな機器を（１３９４ネットワーク上のバスリセットシグナルを受信することにより）検知すると、ＵＰｎＰ仮想デバイス衝突検出部１０８は、８０２ネットワーク上に上記第１の識別子を有する機器が存在するか否かを検知し、第１の識別子を有する機器が検知されなかったときに、新たな機器と８０２ネットワーク上の機器との間の通信制御を行う（当該新たな機器を活性化する）。ＵＰｎＰ仮想デバイス衝突検出部１０８で、８０２ネットワーク上に第１の識別子を有する機器が検知された場合には、当該新たな機器については、別の１３９４ブリッジからの操作が可能であるから、８０２ネットワーク上の機器との間の通信制御は行わない（当該新たな機器は非活性化状態とする）。
【００９１】
その後、８０２ネットワーク上から当該第１の識別子を有する機器の稼働終了を通知するメッセージ（ｓｓｄｐ：ｂｙｅｂｙｅメッセージ）を受信した場合に、当該８０２ネットワーク上の機器との間の通信制御が行われていない当該第１の識別子を有する新たな機器について、ＵＰｎＰ仮想デバイス衝突検出部１０８で当該第１の識別子を有する機器が検知されなかったときには、当該新たな機器と８０２ネットワーク上の機器との間の通信制御を行う。
【００９２】
１３９４ブリッジが上記のような構成および制御を行うことにより、１３９４ネットワークと８０２ネットワークとに複数の１３９４ブリッジが接続されている場合でも、８０２ネットワーク上では、１３９４ネットワーク上の１つの１３９４デバイスに対応するＵＰｎＰ（仮想）デバイスは常に１つのみとなるから、８０２ネットワーク上の機器から１３９４ネットワーク上の同一の１３９４デバイスに対し重複して操作することを回避することができる。
【００９３】
図３に示した１３９４ブリッジの１３９４バス監視部１０１、１３９４通信処理部１０２、ＩＥＥＥ８０２通信処理部１０３、ＵＰｎＰ仮想デバイス生成・消去部１０６、ＵＰｎＰ仮想デバイス処理部１０７、ＵＰｎＰ仮想デバイス衝突検出部１０８の機能、及び図８に示す上記各部の処理動作は、コンピュータに実行させることのプログラムとして磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。
【００９４】
すなわち、コンピュータの記憶手段を図３の第１記憶手段及び第２の記憶手段として用い、さらに、上記プログラムをコンピュータに実行させることにより、コンピュータを上記１３９４ブリッジとして機能させることものできる。
【００９５】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施形態に係るネットワークの構成例を示した図。
【図２】１３９４ブリッジの概念図。
【図３】１３９４ブリッジの構成例を示した図。
【図４】本実施形態に係るネットワークの他の構成例を示した図。
【図５】１３９４ブリッジの動作を説明するためのシーケンス図。
【図６】１３９４ブリッジの動作を説明するためのシーケンス図。
【図７】１３９４ブリッジの動作を説明するためのシーケンス図。
【図８】１３９４ブリッジの要部の処理動作を説明するためのフローチャート。
【図９】１３９４ブリッジがＵＰｎＰ仮想デバイスの衝突を検知する際に用いる、活性化状態のＵＰｎＰ仮想デバイスに関する情報を記憶するためのテーブルの一例を示した図。
【符号の説明】
【００９７】
Ｘ１、Ｘ２…１３９４ブリッジ；
Ｙ１、Ｙ２…１３９４機器；
１０…ＵＰｎＰコントロールポイント；
１０１…１３９４バス監視部；
１０２…１３９４通信処理部；
１０３…ＩＥＥＥ８０２通信処理部；
１０４…第１の記憶部；
１０５…第２の記憶部；
１０６…ＵＰｎＰ仮想デバイス生成・消去部；
１０７…ＵＰｎＰ仮想デバイス処理部；
１０８…ＵＰｎＰ仮想デバイス衝突検出部
【図１】
2006066994.tif 000003
【図２】
2006066994.tif 000004
【図３】
2006066994.tif 000005
【図４】
2006066994.tif 000006
【図５】
2006066994.tif 000007
【図６】
2006066994.tif 000008
【図７】
2006066994.tif 000009
【図８】
2006066994.tif 000010
【図９】
2006066994.tif 000011