JP4102344B2 - 通信制御装置、方法及びプログラム - Google Patents

通信制御装置、方法及びプログラム Download PDF

Info

Publication number
JP4102344B2
JP4102344B2 JP2004244120A JP2004244120A JP4102344B2 JP 4102344 B2 JP4102344 B2 JP 4102344B2 JP 2004244120 A JP2004244120 A JP 2004244120A JP 2004244120 A JP2004244120 A JP 2004244120A JP 4102344 B2 JP4102344 B2 JP 4102344B2
Authority
JP
Japan
Prior art keywords
network
identifier
upnp
message
communication control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004244120A
Other languages
English (en)
Other versions
JP2006066994A (ja
Inventor
靖太 森岡
圭一 寺本
宏幸 会津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004244120A priority Critical patent/JP4102344B2/ja
Publication of JP2006066994A publication Critical patent/JP2006066994A/ja
Application granted granted Critical
Publication of JP4102344B2 publication Critical patent/JP4102344B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、異なるプロトコルを用いてそれぞれ通信を行う2つネットワークに接続された通信制御装置に関し、例えば、一方のネットワークがIEEE1394ネットワークであり、他方のネットワークがTCP/IPネットワークである場合のブリッジ装置に関する。
最近、オーディオ機器やビデオ機器ならびにパーソナルコンピュータ等の電子機器および情報機器をネットワークで結び、機器が互いに操作しあう利用場面が増加している。このような場面において利用されるネットワーク技術は、ただ一種類とは限らず、接続される機器の能力やネットワークの能力に対する要求によって数種類の中から選択され、場合によっては1つの利用場面の中で複数のネットワーク技術が利用されることがある。
それらの代表的なネットワーク技術2つが、IEEE(Institute of Electrical and Electronics Engineers)1394高速シリアルバスを用いたネットワーク(以下、1394ネットワークと呼ぶ)と、TCP/IPが動作するネットワーク、例えば、IEEE802委員会で標準化されている各種ネットワーク(以下、IEEE802ネットワークあるいは802ネットワークと呼ぶ)である。
1394ネットワークは、ビデオ機器やオーディオ機器を結ぶのに用いられることが多く、各機器はIEEE1394規格で定義されるAV/Cコマンドを用いて、ネットワーク上の他の機器を制御できる。
802ネットワークは、パーソナルコンピュータおよびそれ以上の規模の計算機相互を結ぶのに用いられることが多く、基本的な通信はIEEE802ネットワーク技術上に構築されるTCP/IPネットワーク技術によって行なわれる。そしてこの上に実現されるUPnP(Universal Plug and Play, United States Patent Application 20020035621)プロトコルに基づいて、ネットワーク上の他の機器を制御できる。
これら2種類のネットワーク技術は独立したものであり、一方のネットワークに属する機器から他方のネットワークに属する機器を制御することは出来ない。このような異なるネットワーク技術の相互連携を可能にするのがブリッジ技術である。基本的には両方のネットワークに属する機器において、一方から他方のネットワークへと、ネットワーク上でやりとりされるデータの意味を維持しながらデータ形式や通信方法を変換することによって実現され、一方のネットワークから他方のネットワーク上の機器ないしサービスの存在をどのように見せかけるかが、設計上および利用上の課題となる。
1394ネットワーク上の機器を、1394パケットあるいは1394AV/CコマンドをSOAP(Simple Object Access Protocol)アクションに変換することによって、UPnPネットワーク上の機器から制御可能にするブリッジ(以下、1394ブリッジと呼ぶ)については、例えば、特許文献1及び2に開示されている。
特許文献1では、ブリッジは、1394ProxyServiceと、1394NodeService、または1394NodesServiceを備えたUPnPデバイスとしてUPnPコントローラには見えるものとされている。ここで、1394ProxyServiceが1394ネットワークへの1394機器の着脱を監視して、IEEE802ネットワーク上のUPnP機器への通知および1394機器の列挙機能を提供し、1394NodeServiceは1394ネットワーク上の各1394機器の操作機能を提供する。1394NodesServiceは、1394ネットワーク上の個別の1394機器の操作に割り当てられる1394NodeServiceと異なり、1394ネットワーク上の複数の機器の操作を1つのサービスとして提供するものである。
特開2003−8610公報 特開2003−46535公報
上記特許文献1及び2で開示されている1394ブリッジでは、IEEE802ネットワーク(第1のネットワーク)に、IEEE1394ネットワーク(第2のネットワーク)上の複数の1394ブリッジが接続される場合を想定していなかった。
この場合、各1394ブリッジが独立してブリッジ処理を行うと、1394AV/Cデバイス識別子(EUI64)とUPnPデバイス識別子(UDN:Unique Device Name)をどのように対応付けるかによって、以下に示すような3つの問題が生じる。なお、上記特許文献1及び2では、EUI64とUDNの対応付け方法については記載されていない。
ここでは、第1のネットワークに第2のネットワーク上の2つの1394ブリッジ(これをブリッジX1及びブリッジX2とする)が接続されている場合について示す。
1) EUI64とUDNの対応関係がブリッジX1、X2で共通して規則的に定まる場合、ブリッジX1とブリッジX2が各々UPnPコントロールポイントに見せる1394機器Y1のUDNは同一であり、UPnPコントロールポイントからは見かけ上、同一UDNのUPnPデバイスが存在しているように見える。これは、UPnPの仕様に反することになる。
2) EUI64とUDNの対応関係がブリッジX1、X2個別で規則的に定まる場合、ブリッジX1とブリッジX2が各々UPnPコントロールポイントに見せる1394機器Y1は、UPnPコントロールポイントからは別々のUPnPデバイスとして見える。UPnPコントロールポイントがこれらUPnPデバイスは同一のものとして認識するためには、上記特許文献1に記載されている方法を用いれば、1394ProxyServiceあるいは1394NodeServiceあるいは1394NodesServiceを通じて、各UPnPデバイスが仮想化している1394機器のY1のEUI64値を得て比較する枠組みを導入する必要がある。
3) また、UDNの生成規則がEUI64値に対して永続的でない場合、1394機器の着脱の度に、同一の1394機器にもかかわらず、UPnPコントロールポイントからは毎回異なったUPnPデバイスとして見える。その場限りの利用を前提とする場合には不都合は生じないが、時間経過を前提として互いに連携させる利用場面においては、1394機器をUPnPコントロールポイントから特定できることが求められる場合がある。
ブリッジが複数存在して独立に動作する場面は、管理者によって注意深く維持されるネットワークでは少ないが、管理者が不在であるような小規模で自動設定を多用するネットワークでは、利用者の意図的な、または意図しない操作によって生じることが考えられる。
そこで、本発明は上記問題点に鑑み、例えば、第1のネットワーク(IEEE1394ネットワーク)と第2のネットワーク(TCP/IPネットワークを用いて通信を行う例えばIEEE802ネットワーク)とに複数の通信制御装置(ブリッジ)が接続されている場合でも、第2のネットワーク上の機器からの第1のネットワーク上の同一のデバイスに対し重複して操作することを回避することのできる通信制御装置及び方法を提供することを目的とする。
本発明に係る、第1のネットワークと第2のネットワークに接続され、第1のネットワーク上の機器と第2のネットワーク上の機器との間で通信を行うための通信制御装置は、第1のネットワークに接続された第1の識別子を有する新たな機器を検知すると、第2のネットワーク上に第1の識別子を有する機器が存在するか否かを検知し、第2のネットワーク上に第1の識別子を有する機器が検知されなかったときに、新たな機器と第2のネットワーク上の機器との間の通信制御を行い、第2のネットワーク上に第1の識別子を有する機器が検知されたときには、当該新たな機器と当該第2のネットワーク上の機器との間の通信制御は行わない。
第1及び第2のネットワークに複数の通信制御装置(ブリッジ)が接続されている場合でも、第2のネットワーク上の機器からの第1のネットワーク上の同一のデバイスに対し重複して操作することを回避することができる。
以下、本発明の実施形態について図面を参照して説明する。
図1は、本実施形態に係るネットワークの構成例を示したもので、TCP/IPを用いて通信を行うネットワーク、例えば、IEEE802委員会で標準化されている各種ネットワーク(以下、IEEE802ネットワークあるいは802ネットワークと呼ぶ)と、IEEE1394高速シリアルバスを用いたネットワーク(以下、1394ネットワークと呼ぶ)とが、複数の(ここでは、例えば2台の)1394ブリッジを介して接続され、各1394ブリッジは、802ネットワーク上の機器と1394ネットワーク上の機器との間で通信を行うための通信制御を行うようになっている。
IEEE802ネットワーク(図1では太い実線で示している)には、UPnP(Universal Plug and Play)で規定されているUPnPコントロールポイント10、2台の1394ブリッジX1、X2、その他のUPnPデバイスが接続され、これら機器間では、TCP/IPを用いて通信を行っている。そして、このTCP/IP上でUPnPを用いて、UPnPコントロールポイント10は、当該ネットワーク上のデバイスの検出や制御を行うようになっている。
UPnPでは、UPnPコントロールポイントとUPnPデバイスとの間で、SSDP(Simple Service Discovery Protocol)やSOAP(Simple Object Access Protocol)などのプロトコルが利用されている。SSDPは、UPnPコントロールポイントがUPnPデバイスやサービスを検出するためのプロトコルである。また、SOAPは、各UPnPデバイスを制御する際に用いられる手続き呼び出しプロトコルである。
また、IEEE802ネットワーク(図1では細い実線で示している)には、2台の1394ブリッジX1、X2、及び2台の1394機器(1394デバイス)Y1、Y2が接続されている。1394機器Y1、Y2は、IEEE1394ネットワーク上でAV/Cコマンドにより制御される。
1394ブリッジX1、X2は、各1394機器Y1、Y2を1394NodeServiceを有するUPnPルートデバイスとして扱う。すなわち、図2に示すように、1394ブリッジx1,X2では、IEEE802ネットワーク側に対し、2つの1394機器Y1、Y2を、それぞれ、1394NodeServiceを持ったUPnPデバイスとして仮想化してみせる。従って、IEEE802ネットワーク側からは、1394ブリッジX1、X2内の2つの1394機器Y1、Y2のそれぞれに対応するUPnP仮想デバイスが、UPnPデバイスとして検出・制御される。
このような構成のため、UPnPコントロールポイント10が1394機器Y1、Y2の着脱を知るのは、UPnP仮想デバイスY1、Y2の出現/消滅により、1394ブリッジX1、X2から送信されるSSDPメッセージ(ssdp:alive,ssdp:byebye)を受信したときである。そして1394ブリッジX1、X2は、周囲のUPnPデバイスの発見と情報取得のためにUPnPで規定されているコントロールポイントとしての機能を併せ持つ。
図3は、1394ブリッジX1、X2の構成例を示したものである。
図3において、1394ブリッジは、IEEE1394ネットワークの状態を監視する1394バス監視部101と、IEEE1394ネットワークを通じての通信を行う1394通信処理部102と、IEEE802ネットワークとの通信を行うIEEE802通信処理部103と、UPnP仮想デバイス生成・消去部106、UPnP仮想デバイス処理部107、UPnP仮想デバイス衝突検出部108、UPnP仮想デバイス生成・消去部106で、UPnP仮想デバイス(のディスクリプションdescription)を生成する際に用いるUPnP仮想デバイスdescription生成規則を記憶する第1の記憶部104、UPnP仮想デバイス生成・消去部106で生成された各UPnP仮想デバイスのディスクリプションを記憶する第2の記憶部105を有する。
1394バス監視部101は、IEEE1394ネットワークからバスリセットシグナルを受けて、1394機器の着脱を検知し、新たに接続された1394機器や、IEEE1394ネットワークから外された1394機器を通知するための着脱イベントをUPnP仮想デバイス生成・消去部106へ出力する。
UPnPデバイス仮想生成・消去部106は、1394バス監視部101からの着脱イベントを受けて、新たなに接続された1394機器に対しては、第1の記憶部104に記憶されたUPnP仮想デバイスdescription生成規則を用いてUPnP仮想デバイスのディスクリプションを生成して、当該生成されたディスクリプションを第2の記憶部105へ格納する。また、IEEE1394ネットワークから外された1394機器に対しては、第2の記憶部105から、当該1394機器に対応するUPnP仮想デバイスのディスクリプションを消去する。
UPnP仮想デバイス処理部107は、ディスクリプションの生成された各UPnP仮想デバイスについてUPnPデバイスとしての動作を行うためのものである。
UPnP仮想デバイス衝突検出部108は、UPnP仮想デバイス生成・消去部106によって生成されたディスクリプションの生成されたUPnP仮想デバイスについて、当該UPnP仮想デバイスと同一の1394デバイスであるUPnPデバイスを探索・検出する。
UPnP仮想デバイス処理部107は、仮想化されたIEEE1394機器(UPnP仮想デバイス)別に、各UPnP仮想デバイスに対し、当該UPnP仮想デバイスをUPnPデバイスとして動作させるために、当該UPnP仮想デバイスの開始・終了を司る開始/終了通知処理部107aと、UPnP仮想デバイスのイベント通知処理を司るイベント通知処理部107bと、IEEE802ネットワークから受け取ったSOAPアクションに対する応答処理を司るSOAPアクション処理部107cと、1394変換処理部107dを有する。
1394変換処理部107dは、SOAPアクション処理部107cで受け取ったSOAPアクション要求メッセージをIEEE1394コマンド(AV/Cコマンド)に変換する。ここで変換した結果得られるコマンドは、1394通信処理部102を通じて、実際のIEEE1394ネットワーク上の1394機器に送信される。また、1394変換処理部107dは、当該コマンドに対する当該1394機器からの応答を1394通信処理部102を介して受け取るとと、当該応答をSOAPアクション応答メッセージに変換する。ここで変換されたSOAPアクション応答メッセージは、SOAPアクション処理部107cを介してIEEE802ネットワークへ送信される。また、1394機器からの状態変化通知をUPnP形式のイベントに変換し、当該イベントはイベント通知処理部107bを介してIEEE802ネットワークへ送信される。
このような構成において、1394ブリッジは以下に示す動作を行う。
(1)まず、EUI64値とUDNとの対応関係が、共通かつ永続的であるとした場合の動作を以下に示す。ここで1394ブリッジX1はIPアドレス「192.168.0.10」を持つとする。ブリッジ対象の1394機器Y1のデバイスID(EUI64値)は「9663−3E2A2EF40458」であるとする。後述のUDN生成用に1394機器のデバイスIDに結合されるデータ列(例えば、ここでは前置する)64ビット値を「9076423E−C064−4025」とする。また、他の1394ブリッジX2のIPアドレスは「192.168.0.1」であるとする。
例えば、図4に示すように、1394機器Y2が1394ブリッジX2に接続されている状態において、1394機器Y1を1394ブリッジX1に接続する場合について、図8に示すフローチャート及び図5を参照して説明する。なお、図5,図8において同一ステップには、同一符号を付している。
図8は、1394ブリッジX1、X2の本実施形態に係る要部の処理動作を概略的に示したフローチャートである。
ステップS1:1394機器Y1がIEEE1394ネットワークに接続され、これにより1394ブリッジX1がバスリセットを受けて、1394機器Y1の接続を検出すると、1394機器Y1のデバイスIDを取得する。
ステップS2:1394ブリッジX1のUPnP仮想デバイス生成・消去部106は、1394機器Y1のデバイスIDから、UPnP仮想デバイス用のUDNを生成し、それに基づいたディスクリプション(UPnPデバイス記述とサービス記述)を生成する。生成されたディスクリプションは、第2の記憶部105に記憶され、これにより当該1394機器Y1に対応するUPnP仮想デバイス用の仮想UPnPデバイスが生成されたこととする(また、当該1394機器Y1に対応するUPnP仮想デバイス用の仮想UPnPデバイス処理部107が生成される)。
UDNの生成規則の一例として、ここでは、1394機器のデバイスIDとして用いている64ビットのEUI64値に、予め定められた特定の64ビット値を前置して128ビットのUDNを生成する。この特定の64ビット値が、各1394ブリッジで共通であれば、各1394ブリッジで生成される、同一の1394機器に対するUDNは、共通かつ永続的に一意な値となる。
ここでは、1394機器Y1のデバイスID、すなわち、EUI64値「9663−3E2A2EF40458」に、予め定められた特定の64ビット値「9076423E−C064−4025」を前置し、UDNとして「9076423E−C064−4025−9663−3E2A2EF40458」を得る。
なお、本実施形態では、64ビットのEUI64値に、長さを補い且つ一意性を持たせるための特定のデータを結合させることで、128ビットのUDNを生成する場合を示したが、この場合に限らない。例えば、xを1394ネットワーク上の1394機器のデバイスID(識別子)、yを当該1394機器に対応する802ネットワーク上でのUDN(識別子)とし、yをxと予め定められた関数fを用いて、y=f(x)から求めるようにしてもよい。この場合、1394ネットワーク上の異なる2つの1394機器のデバイスIDをそれぞれx1、x2とすると、x1とx2が異なるかぎりy1=f(x1)=f(x2)とはならない、つまり、x1とx2が異なるならば、y1=f(x1)とy2=f(x2)となるような変換手段であれば、どのような関数を用いてもよい。例えば、適当なハッシュ(hash)関数を用いる方法でも可能である。
以下に、UPnP仮想デバイス生成・消去部106で生成される、UPnP仮想デバイスのデスクリプション(ここでは、デバイス記述)の一例を示す。ここでは、1394機器Y1がテープレコーダ・サブユニットを持つI1394デバイスである場合を示している。
<?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>
ステップS3:ステップ2で仮想UPnPデバイス生成・消去部106でUDN及び1394機器Y1に対応する仮想UPnPデバイスが生成されると、仮想UPnPデバイス衝突検出部108は、当該生成されたUDNをUPnPデバイスを探索ターゲットとするSSDPのデバイス探索要求メッセージ(ssdp:discover)を同報する。
デバイス探索要求メッセージ(ssdp:discover)の一例を以下に示す。
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 3
ST: uuid: 9076423E-C064-4025-9663-3E2A2EF40458
UPnPの規定によれば、UPnPコントロールポイントから探索要求であるssdp:discoverメッセージがネットワーク上にマルチキャストされると、当該メッセージ中の探索ターゲットにマッチする機器は応答を該コントロールポイントにユニキャストで返すようになっている。仮想UPnPデバイス衝突検出部108においても同様であって、UPnPコントロールポイントとして動作し、仮想UPnPデバイス生成・消去部106によって生成された仮想UPnPデバイスのUDNを持ったデバイスが既に周囲に存在するか否かを上記ssdp:discoverメッセージとその応答によって判断する。
上記ssdp:discoverメッセージの1行目は、デバイス探索要求メッセージであることを示す。2行目および3行目は固定値であり、4行目のMX欄は、探索要求メッセージに応答するUPnPデバイスが実際に応答を返すまでに許される遅延時間を示す。この例では3秒の間に返せばよい。4行目は、探索ターゲットを示す。この例では「uuid:」以下に示したUDN「9076423E−C064−4025−9663−3E2A2EF40458」を持つUPnPデバイスがターゲットであることを示す。なお、このUDNには、前述したように、1394機器Y1のデバイスID(EUI64値)を含む。
ステップS4:予め定められた時間(ここでは、上記MX欄で指定された3秒)、上記ssdp:discoverメッセージに対する応答メッセージを待つ。この間に、当該応答メッセージを受信した場合には、上記探索ターゲットとして指定されたUDNと同一のUDNをもつ(同一のEUI64値をもつ)UPnP仮想デバイスが存在することになる。すなわち、この場合、1394機器Y1が他の1394ブリッジにてUPnP仮想デバイスとして認識されていることを意味する。
ステップS5(図8のステップS5a、5b):上記ssdp:discoverメッセージ送信後、予め定められた時間までに、UPnP仮想デバイス衝突検出部108は、他のUPnPデバイスからの応答メッセージ(ssdp:response)を受け取れば(ステップS5a)、IEEE802ネットワーク上には既に同一のUDNをもつUPnP仮想デバイスが存在していると判定できるので、UPnP仮想デバイス生成・消去部106で生成した該1394機器Y1に対応するUPnP仮想デバイスを有効化(活性化)しないでおく。すなわち、UPnP仮想デバイスを非活性化状態にする(ステップS5b)。UPnP仮想デバイスが非活性化状態であるとは、ここでは、IEEE802ネットワーク上に後述するssdp:aliveメッセージが同報されないので、UPnP仮想デバイスが稼働していないこと、IEEE802ネットワーク上にはまだ存在しないことを意味する。
上記ssdp:discoverメッセージに対し、他のUPnPデバイスから送信される応答メッセージの一例を以下に示す。
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
上記応答メッセージでは、IPアドレス「192.168.0.1」のUPnPデバイスから送信された応答メッセージであって、上記UDNと同じUDNをもつUPnPデバイスであることを示すものである。
なお、図4に示した状態では、1394機器Y1が接続されているのは、1394ブリッジX1のみであるから、1394機器Y1のデバイスIDをもとに生成される上記UDNと同一のUDNはIEEE802ネットワーク上には存在しないはずである。従って、上記ssdp:discoverメッセージ送信後、予め定められた時間までに、他のUPnPデバイスからの応答メッセージを受信することはない。
ステップS6:上記予め定められた時間までに応答メッセージを受信しなければ、13904ブリッジX1のUPnP仮想デバイス衝突検出部108は、IEEE802ネットワーク上には、同一のUDNをもつUPnPデバイスが存在しないと判定し、1394機器Y1に対応するUPnP仮想デバイスを有効化(活性化)すべく、その旨を当該UPnP仮想デバイスに対応するUPnP仮想デバイス処理部107に通知し、開始/終了処理部107aはこの通知を受けて、UPnPの手順に従って、以下に示すような当該仮想UPnPデバイスのアドバタイズ・メッセージ(ssdp:alive)を同報する。
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
上記メッセージは、IPアドレス「192.168.0.10」である1394ブリッジX1に存在する、1394機器Y1に対応するUPnP仮想デバイスのUPnPデバイス広告であることを意味する。
上記メッセージの1行目は、この通知がGENA(Generic Event Notification Architecture)プロトコルにも従ったNOTIFYメッセージであることを示す。2行目は、本メッセージの宛先であるマルチキャストアドレスとポートであって、UPnPの場合、固定値である。3行目は、この通知内容の有効期間であって、秒数(この例では600秒)が指定される。4行目は、UPnP仮想デバイスのルートデバイスのdescriptionへのURLを示す。5行目は、通知タイプを示す。この例の場合、「uuid:」以下に示したUDNを持つUPnPデバイスに関する通知であることを示す。6行目は、通知サブタイプを示す。固定値である。7行目は、UPnPデバイスが動作しているOS等の環境情報を示す。8行目は、5行目のNT欄に関連して決定されるユニークサービス名である。この場合は、5行目でUDNが指定されているので、同じ値であるUDNが設定されている。このほか、NT欄で「upnp:rootdevice」としてUPnPルートデバイスに関する通知であると指定された場合には、UPnPルートデバイスのUDNが設定されたり、NT欄でサービスタイプが指定された場合には、UDNとサービスIDの対が設定されたり、NT欄とUSN欄の内容の組み合わせがUPnP仕様によって定められている。通常は、1つのUPnPデバイスについてのalive通知について、NT欄でupnp:rootdevice,UDN,サービスタイプ等のうち1つが指定され、USN欄に対応した値が設定された各メッセージが周囲に通知される。
なお、通常のUPnPでは、上記のようなssdp:aliveメッセージは、仮想UPnPデバイスのうち、活性化されたものが、IEEE802ネットワークを通じて周囲のネットワーク機器に自己の稼動状態をアナウンスする場合に用いられている。稼働中の場合は、上記ssdp:aliveメッセージを定期的に通知するようになっている。
ステップS7:UPnP仮想デバイスが活性化されているときには、以後の動作は、UPnPで規定された手順に従い、各UPnP仮想デバイスに対応する1394機器は、UPnPデバイスとして、各UPnPコントロールポイントからの制御される。すなわち、任意のUPnPコントロールポイントから送信されたデバイス探索要求メッセージの送信をSOAPアクション処理部107cで受け、当該メッセージに含まれる探索ターゲットにマッチする場合には応答メッセージが送信される。その後、当該UPnPコントロールポイントからディスクリプションの取得要求メッセージを受けて、1394機器Y1に対応するディスクリプションを送信したり、1394機器Y1に対応するUDN宛てのSOAPアクション要求メッセージを受信すると、1394変換処理部107dは、これを1394AV/Cコマンドに変換して、1394通信処理部102から、当該1394機器Y1に送信する。当該1394機器Y1からの1394AV/Cレスポンスを受け取ると、1394変換処理部107dは、これをSOAPアクション応答メッセージに変換し、SOAPアクション処理部107c、IEEE802通信処理部103を介して、UPnPコントロールポイント10へ送信する。
なお、図8では、上記ステップS7の動作は省略されている。
以下に、SOAPアクション要求メッセージの一例を示す。
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>
上記SOAPアクション要求メッセージは、URLとして「http://192.168.0.100:2869/upnphost/tape1/control」を指定して、SOAPアクションとして「avcTapeRecorderSubunit」サービスのPlayコマンドを呼び出している様子を示す。URLとUPnPサービスとは、UPnPデバイスのディスクリプションによって関連付けられている。<Envelope>エレメントは、SOAPで定義されている記述形式であって、<Body>エレメント内の<u:Play>エレメントがアクションの名前、<u:playback_mode>エレメントでその引数名と引数の内容を示している。
一方、1394機器Y1が1394ブリッジX1に接続される以前に既に1394ブリッジX2に接続されて、図5と同様にして、1394ブリッジX2にてUPnP仮想デバイスが生成され、当該UPnP仮想デバイスが活性化されている状態において、さらに、当該1394機器Y1が1394ブリッジX1に接続された場合について、図6及び図8を参照して説明する。この場合、ステップS1〜ステップS3までは図5と同様である。以下、図5と異なる部分について説明する。すなわち、この場合、1394機器Y1に対応するUDNを有するUPnP仮想デバイスが既に活性化されているため、ステップS3で、1394ブリッジX1からssdp:discoverメッセージが送信されると、予め定められた時間までに、1394ブリッジX2から当該ssdp:discoverメッセージに対する応答メッセージ(ssdp:response)が送信されてくる(ステップS5)。
UPnP仮想デバイス衝突検出部108は、この応答メッセージを受信すると、当該1394機器Y1に対応するUPnP仮想デバイスを非活性化する。この場合、開始/終了処理部107aからssdp:aliveメッセージは送信されない(ステップS5)。
この場合、1394機器Y1に対応するUDN宛てのSOAPアクション要求メッセージは、1394ブリッジX2を介して1394機器Y1へ渡される。
なお、活性化していないUPnP仮想デバイスが存在する場合には、仮想UPnPデバイス衝突検出部108は、当該活性化されていないUPnP仮想デバイスのUDNを探索ターゲットとするSSDPのデバイス探索要求メッセージ(ssdp:discover)を定期的に同報すべく、定期的にステップS3〜ステップS6を行う(図8のステップS1〜ステップS6、ステップS9)。
各1394ブリッジX1、X2が図8に示すような動作を行うことにより、図1に示すトポロジーの場合には、1394機器Y1に対応するUPnP仮想デバイスは、1394ブリッジX2では活性化状態であり、1394ブリッジX1では非活性化状態である。
このとき、1394機器Y1が1394ブリッジX2から外されたとする。すなわち、当該1394機器Y1に対応するUPnPデバイスの稼働が終了したとする。
この場合、1394ブリッジX2では、IEEE1394ネットワークのバスリセットによって、1394バス監視部101が1394機器Y1が離脱したと判定する(図8のステップS10a)。すると、UPnP仮想Pデバイス生成・消去部106は、当該1394機器Y1に対応するUPnP仮想デバイスのディスクリプションが第2の記憶部105に記憶されていれば、それを削除するとともに、当該UPnP仮想デバイスに対応するUPnP仮想デバイス処理部107への離脱イベント通知を行う(ステップS10b)。この通知を受けて、仮想UPnPデバイス処理部107は、開始/終了通知部107aを通じて、IEEE802ネットワーク上の機器に対して、当該1394機器Y1に対応するUPnPデバイス稼動終了を通知する旨の次のようなssdp:byebyeメッセージを同報する(ステップS10c)。
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
上記メッセージでは、4行目のNTS欄がssdp:byebyeであることで、UPnPデバイスの稼動終了通知であることを示している。
以下、図7、図8を参照して、1394ブリッジX1の動作について説明する。すなわち、ステップS8において、1394ブリッジX1において、1394ブリッジX2から送信されたssdp:byebyeメッセージを、IEEE802通信処理部103を通じてUPnP仮想デバイス衝突検出部108が受け取ると(ステップS8a)、当該メッセージ内に含まれるUDNが、1394ブリッジX1がもつ非活性化状態のUPnP仮想デバイスのUDNと同一のものであるか否かを調べる(ステップS8b)。同一のものである場合には、ステップS3へ進み、当該非活性化状態のUPnP仮想デバイスのUDNを探索ターゲットとするssdp:discoverメッセージを送信する。
その後は、前述のステップS4〜ステップS6と同様である。すなわち、ssdp:discoverメッセージ送信後、予め定められた時間までに応答メッセージを受信しなければ、1394ブリッジX1のUPnP仮想デバイス衝突検出部108は、1394機器Y1に対応するUPnP仮想デバイス処理部107を有効化(活性化)し、開始/終了処理部107aは当該仮想UPnPデバイスのアドバタイズ・メッセージ(ssdp:alive)を同報する。また、ssdp:discoverメッセージ送信後、予め定められた時間までに、UPnP仮想デバイス衝突検出部108は、他のUPnPデバイスからの応答メッセージ(ssdp:response)を受け取れば、当該1394機器Y1に対応するUPnP仮想デバイスを有効化(活性化)しないでおく(UPnP仮想デバイスを非活性化状態にする)。
IEEE802ネットワーク上の1394ブリッジX1は、ステップS8では、他のUPnPデバイス(1394ブリッジX2)でのUPnP仮想デバイスが終了した場合に、当該UPnP仮想デバイスと同一の1394デバイスに対応するUPnP仮想デバイスに継続させるために、ステップS9において、別のUPnPデバイス(1394ブリッジX2)でのUPnP仮想デバイスが、ssdp:byebyeメッセージなしに終了した際の対処のために、ステップS3にて、当該UPnP仮想デバイスを探索ターゲットとするssdp:discoverメッセージを送信するようになっている。
(2)次に、EUI64値とUDNとの対応関係が、共通でないまたは非永続的でない場合の1394ブリッジの動作について説明する。図1に示すようなトポロジーにおいて、各1394ブリッジは、各1394ブリッジ内の1394機器に対応するUPnPデバイスの存在を互いに認識し、各UPnPデバイスが仮想化している実際の1394機器のEUI64値を得る手続きを、1394NodeServiceに備えるか、UPnPとは別の枠組みに基づく調整用プロトコルが必要となる。前者の場合においても、UPnPプロトコルに基づいた枠組みの中で扱うことができる。
ここでは、各1394ブリッジで仮想化される1394機器のEUI64値は、当該1394機器に対応するUPnP仮想デバイスのディスクリプション(デバイス記述)中「device description」)に埋め込むこととする。
以下、図8に示すフローチャートを参照して、1394ブリッジの動作を説明する。なお、ここでは、上述の(1)EUI64値とUDNとの対応関係が、共通かつ永続的であるとした場合の1394ブリッジの動作と異なる部分を主に説明する。
1394機器の接続を検出し、1394機器のデバイスIDを取得すると(ステップS1)、1394機器のデバイスIDから、UPnP仮想デバイス用のUDNを生成し、それに基づいたUPnPデバイス記述とサービス記述とを生成する(ステップS2)。ここまでは、前述同様である。ここでは、UPnP仮想デバイス生成・消去部106で生成されるディスクリプションに当該接続の検知された1394機器のデバイスID(EUI64値)が含まれている点が異なるため、図8のステップS3〜ステップS6が上述の(1)の場合と異なる。ここでは、図8のステップS3〜ステップS6のそれぞれに対応するステップをステップS3´〜ステップS6´として説明する。
以下に、UPnP仮想デバイス生成・消去部106で生成されるデバイス記述の一例を示す。ここでは、1394機器のデバイスIDであるEUI64値を、例えば<avc:EUI64>という新たに定められたエレメントに埋め込んでいる。
<?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>
各1394ブリッジで、当該1394ブリッジに接続された1394機器について生成するデバイス記述には、上記のように、当該1394機器のデバイスIDが含まれている。
UPnPで規定されている手順によれば、IEEE802ネットワーク上の各UPnPコントロールポイント(1394ブリッジX1、X2を含む)は、ssdp:discoverメッセージを送信し、その応答メッセージを受信したときには、当該応答メッセージの含まれるデバイス記述を取得できるURLに対し、ディスクリプションを取得するための要求メッセージ、すなわち、get descriptionメッセージを送信し、所望のディスクリプションを取得することができる。また、IEEE802ネットワーク上のUPnPデバイスからのssdp:aliveメッセージを受信したときには、当該メッセージに含まれるデバイス記述を取得できるURLに対し、get descriptionメッセージを送信し、所望のディスクリプションを取得することができる。
このようにしてUPnPのコントロールポイントは、IEEE802ネットワーク上の各UPnPデバイスのディスクリプション(デバイス記述やサービス記述)を取得することができるので、コントロールポイントである1394ブリッジX1、X2は、このようにして取得されたディスクリプションを、例えば、第2の記憶部105に記憶しておく。1394ブリッジX1、X2は、例えば、図9に示すように、ディスクリプションを取得した活性化されている各UPnPデバイスと、自身がもつ活性化されているUPnP仮想デバイスについて、当該UPnPデバイスのディスクリプションに含まれている情報などから、例えば、デバイスタイプ(deviceType)またはサービスタイプ(serviceType)、UDN、EUI64値、ssdp:aliveメッセージ送信時刻またはssdp:response送信時刻、キャッシュ時間、IPアドレスなどを記録したテーブルを第2の記憶部10に記憶する。
このように、各1394ブリッジは、現在活性化されている1394機器に対応するUPnPデバイスについて、図9に示すようなテーブルから、そのデバイスIDを知ることができるようになっている。
よって、UPnP仮想デバイス衝突検出部108では、新たなUPnP仮想デバイスの衝突検出処理を行う際には、当該新たなUPnP仮想デバイスのUDNを探索ターゲットとするSSDPのデバイス探索要求メッセージ(ssdp:discover)を同報した後、そのときの図9に示したテーブル中のEUI64値の欄に記録されている各値と、当該UPnP仮想デバイスのデバイスID(EUI64値)とを比較する(ステップS3´)。当該テーブル上に同じデバイスIDがなく、しかも、所定時間内に他のUPnPデバイスから当該デバイス探索要求メッセージに対する応答メッセージを受信しなかったときには(ステップS4´)、ステップS6´へ進み、当該UPnP仮想デバイスを活性化し、当該新たなUPnP仮想デバイスのssdp:aliveメッセージを同報する。
一方、当該テーブル上に当該新たなUPnP仮想デバイスと同一のデバイスIDが存在するとき、あるいは、所定時間内に他のUPnPデバイスから当該デバイス探索要求メッセージに対する応答メッセージを受信したときには、当該新たなUPnP仮想デバイスを非活性化状態とする(ステップS5´)。
その後、活性化された仮想デバイスに対する各UPnPコントロールポイントからの制御は、前述のステップS7で示したように、UPnPに規定された手順に従って行われる。
1394ブリッジは、非活性化状態のUPnP仮想デバイスについて、他の1394ブリッジから、ssdp:byebyeメッセージを受信すると(図8のステップS8a〜ステップS8b)、上記ステップS3´〜ステップS6´を実行する。
また、非活性化状態のUPnP仮想デバイスについては、定期的にステップS3´からS6´を実行する(図8のステップS9)。
さらに、1394機器の離脱を検出すると、活性化状態の当該1394機器に対応するUPnP仮想デバイスを削除し、当該UPnP仮想デバイスに対応するssdp:byebyeメッセージを同報する(図8のステップS10a〜ステップS10c)。
(3)機器に、特に自機器に対して、ある識別子を割り当てるに当たり、適当な値を生成し、その値が割り当て済みか否かを周囲に問い合わせて、割り当て済みとの応答がない場合に、その値を識別子とする方法には、Auto IP(US Patent 6,101,499)がある。しかしながら、これは未使用かつ一意性のある識別子、この場合はIPアドレス、を一時的に割り当てる方法であり、その時々によって異なる識別子が割り当てられることを許すものである。
上記実施形態では、UPnP仮想化デバイスの衝突検出を、UPnPプロトコルが通常用いられる802ネットワーク上で行っている。UPnP仕様に拠れば、SSDPで用いるIPマルチキャストのホップ数(IPパケットが通過するルータの数)が4以下と制約されているため、複数のサブネットから構成される802ネットワークにおいて、相異なるサブネットに属する1394ブリッジが、1394ネットワークとしては同一のネットワークに属する場合、1394ブリッジ相互においてSSDPによる衝突検出を行えない、隠れ端末問題が生じる恐れがある。
この場合の対処法としては、SSDPで用いるIPマルチキャストのホップ数を増加させる方法の他、衝突検出を、802ネットワーク上でなく、1394ネットワーク上で行なう方法とがある。後者の場合、1394ネットワーク上でTCP/IPプロトコルを動作させ、その上でUPnPを稼動する。1394ネットワークは平坦なネットワークであるので、同報すればネットワーク上の全ての機器に必ず到達する。そして1394ネットワーク上で衝突検出を行い、実際のUPnP仮想デバイスは802ネットワーク側で稼動させる。1394ネットワーク上で、802ネットワークで利用しているUPnPによる衝突検出を行うことにより、新たな調停用プロトコルを用意することなく、等しい機能を提供できる。
以上説明したように、上記実施形態によれば、第1のネットワーク(1394ネットワーク)と第2のネットワーク(802ネットワーク)に接続され、1394ネットワーク上の機器と802ネットワーク上の機器との間で通信を行うための通信制御装置(1394ブリッジ)が、1394バス監視部101で1394ネットワークに接続された第1の識別子を有する新たな機器を(1394ネットワーク上のバスリセットシグナルを受信することにより)検知すると、UPnP仮想デバイス衝突検出部108は、802ネットワーク上に上記第1の識別子を有する機器が存在するか否かを検知し、第1の識別子を有する機器が検知されなかったときに、新たな機器と802ネットワーク上の機器との間の通信制御を行う(当該新たな機器を活性化する)。UPnP仮想デバイス衝突検出部108で、802ネットワーク上に第1の識別子を有する機器が検知された場合には、当該新たな機器については、別の1394ブリッジからの操作が可能であるから、802ネットワーク上の機器との間の通信制御は行わない(当該新たな機器は非活性化状態とする)。
その後、802ネットワーク上から当該第1の識別子を有する機器の稼働終了を通知するメッセージ(ssdp:byebyeメッセージ)を受信した場合に、当該802ネットワーク上の機器との間の通信制御が行われていない当該第1の識別子を有する新たな機器について、UPnP仮想デバイス衝突検出部108で当該第1の識別子を有する機器が検知されなかったときには、当該新たな機器と802ネットワーク上の機器との間の通信制御を行う。
1394ブリッジが上記のような構成および制御を行うことにより、1394ネットワークと802ネットワークとに複数の1394ブリッジが接続されている場合でも、802ネットワーク上では、1394ネットワーク上の1つの1394デバイスに対応するUPnP(仮想)デバイスは常に1つのみとなるから、802ネットワーク上の機器から1394ネットワーク上の同一の1394デバイスに対し重複して操作することを回避することができる。
図3に示した1394ブリッジの1394バス監視部101、1394通信処理部102、IEEE802通信処理部103、UPnP仮想デバイス生成・消去部106、UPnP仮想デバイス処理部107、UPnP仮想デバイス衝突検出部108の機能、及び図8に示す上記各部の処理動作は、コンピュータに実行させることのプログラムとして磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。
すなわち、コンピュータの記憶手段を図3の第1記憶手段及び第2の記憶手段として用い、さらに、上記プログラムをコンピュータに実行させることにより、コンピュータを上記1394ブリッジとして機能させることものできる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の実施形態に係るネットワークの構成例を示した図。 1394ブリッジの概念図。 1394ブリッジの構成例を示した図。 本実施形態に係るネットワークの他の構成例を示した図。 1394ブリッジの動作を説明するためのシーケンス図。 1394ブリッジの動作を説明するためのシーケンス図。 1394ブリッジの動作を説明するためのシーケンス図。 1394ブリッジの要部の処理動作を説明するためのフローチャート。 1394ブリッジがUPnP仮想デバイスの衝突を検知する際に用いる、活性化状態のUPnP仮想デバイスに関する情報を記憶するためのテーブルの一例を示した図。
符号の説明
X1、X2…1394ブリッジ;
Y1、Y2…1394機器;
10…UPnPコントロールポイント;
101…1394バス監視部;
102…1394通信処理部;
103…IEEE802通信処理部;
104…第1の記憶部;
105…第2の記憶部;
106…UPnP仮想デバイス生成・消去部;
107…UPnP仮想デバイス処理部;
108…UPnP仮想デバイス衝突検出部

Claims (7)

  1. 異なる通信プロトコルの第1のネットワークと第2のネットワークに接続され、前記第1のネットワーク上の機器と前記第2のネットワーク上の機器との間で通信を行うための通信制御装置において、
    前記第1のネットワークに接続された第1の識別子を有する新たな機器を検知する手段と、
    前記新たな機器の前記第1の識別子に対応する前記第2のネットワーク上での識別子として、前記第1の識別子とは異なる第2の識別子を生成する生成手段と、
    前記第2の識別子と同一の識別子を有する機器の存在の有無を確認するための前記第2の識別子を含む第1のメッセージを前記第2のネットワークに同報し、予め定められた時間以内に前記第2の識別子を有する機器からの前記第1のメッセージに対する応答メッセージを受信した場合には、前記第1のネットワーク上での識別子として前記第1の識別子を有する機器が前記第2のネットワーク上での識別子として前記第2の識別子を有する機器として前記第2のネットワーク上に既に存在することを検知し、前記応答メッセージを受信しない場合には、前記第2のネットワーク上に前記第2の識別子を有する機器が存在しないことを検知する検知手段と、
    前記検知手段で前記第2のネットワーク上に前記第2の識別子を有する機器の存在が検知されなかったとき、前記新たな機器と前記第2のネットワーク上の機器との間の通信制御を行う手段と、
    を備える通信制御装置。
  2. 前記検知手段で前記第2のネットワーク上に前記第2の識別子を有する機器の存在が検知されたとき、前記新たな機器と前記第2のネットワーク上の機器との間の通信制御は行わないことを特徴とする請求項1記載の通信制御装置。
  3. 前記検知手段で前記第2のネットワーク上に前記第2の識別子を有する機器の存在が検知されたことにより当該第2のネットワーク上の機器との間の通信制御が行われていない前記新たな機器については、前記検知手段は、予め定められた時間毎に、前記第1のメッセージを前記第2のネットワークに同報することを特徴とする請求項1記載の通信制御装置。
  4. 前記第1のネットワークから離脱した機器を検知する手段と、
    前記離脱した機器に対し前記第2のネットワーク上の機器との間の通信制御を行っていたときには、前記第2のネットワークに当該機器の稼働終了を通知するためのメッセージを同報する手段と、
    をさらに備えたことを特徴とする請求項1記載の通信制御装置。
  5. 前記第2のネットワークから、前記第2のネットワーク上での識別子として前記第2の識別子を有する機器の稼働終了を通知するメッセージを受信した場合に、前記検知手段で前記第2のネットワーク上に前記第2の識別子を有する機器の存在が検知されなかったときには、当該第2のネットワーク上の機器との間の通信制御が行われていない前記新たな機器と前記第2のネットワーク上の機器との間の通信制御を行うことを特徴とする請求項2記載の通信制御装置。
  6. 異なる通信プロトコルの第1のネットワークと第2のネットワークに接続され、前記第1のネットワーク上の機器と前記第2のネットワーク上の機器との間で通信を行うための通信制御装置における通信制御方法において、
    前記第1のネットワークに接続された第1の識別子を有する新たな機器を検知する第1のステップと、
    前記新たな機器の前記第1の識別子に対応する前記第2のネットワーク上での識別子として、前記第1の識別子とは異なる第2の識別子を生成する第2のステップと、
    前記第2の識別子と同一の識別子を有する機器の存在の有無を確認するための前記第2の識別子を含む第1のメッセージを前記第2のネットワークに同報し、予め定められた時間以内に前記第2の識別子を有する機器からの前記第1のメッセージに対する応答メッセージを受信した場合には、前記第1のネットワーク上での識別子として前記第1の識別子を有する機器が前記第2のネットワーク上での識別子として前記第2の識別子を有する機器として前記第2のネットワーク上に既に存在することを検知し、前記応答メッセージを受信しない場合には、前記第2のネットワーク上に前記第2の識別子を有する機器が存在しないことを検知する第3のステップと、
    前記第3のステップで、前記第2のネットワーク上に前記第2の識別子を有する機器の存在が検知されなかったときに、前記新たな機器と前記第2のネットワーク上の機器との間の通信制御を行う第4のステップと、
    を有することを特徴とする通信制御方法
  7. 異なる通信プロトコルの第1のネットワークと第2のネットワークに接続され、前記第1のネットワーク上の機器と前記第2のネットワーク上の機器との間で通信を行うための通信制御装置として機能させるためのプログラムにおいて、
    前記コンピュータを、
    前記第1のネットワークに接続された第1の識別子を有する新たな機器を検知する手段、
    前記新たな機器の前記第1の識別子に対応する前記第2のネットワーク上での識別子として、前記第1の識別子とは異なる第2の識別子を生成する生成手段、
    前記第2の識別子と同一の識別子を有する機器の存在の有無を確認するための前記第2の識別子を含む第1のメッセージを前記第2のネットワークに同報し、予め定められた時間以内に前記第2の識別子を有する機器からの前記第1のメッセージに対する応答メッセージを受信した場合には、前記第1のネットワーク上での識別子として前記第1の識別子を有する機器が前記第2のネットワーク上での識別子として前記第2の識別子を有する機器として前記第2のネットワーク上に既に存在することを検知し、前記応答メッセージを受信しない場合には、前記第2のネットワーク上に前記第2の識別子を有する機器が存在しないことを検知する検知手段、
    前記検知手段で、前記第2のネットワーク上に前記第2の識別子を有する機器の存在が検知されなかったときに、前記新たな機器と前記第2のネットワーク上の機器との間の通信制御を行う手段、
    として機能させるためのプログラム。
JP2004244120A 2004-08-24 2004-08-24 通信制御装置、方法及びプログラム Expired - Fee Related JP4102344B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004244120A JP4102344B2 (ja) 2004-08-24 2004-08-24 通信制御装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004244120A JP4102344B2 (ja) 2004-08-24 2004-08-24 通信制御装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2006066994A JP2006066994A (ja) 2006-03-09
JP4102344B2 true JP4102344B2 (ja) 2008-06-18

Family

ID=36113116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004244120A Expired - Fee Related JP4102344B2 (ja) 2004-08-24 2004-08-24 通信制御装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4102344B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259111A (ja) * 2008-04-18 2009-11-05 Hitachi Ltd ネットワーク装置、コンテンツ配信方法及びプログラム
JP5604354B2 (ja) * 2011-04-05 2014-10-08 株式会社日立製作所 加入者終端装置による接続性監視方法とその制御方法
JP5982515B1 (ja) * 2015-02-27 2016-08-31 日本システムウエア株式会社 センサデバイス、管理システム、及び無線通信方法

Also Published As

Publication number Publication date
JP2006066994A (ja) 2006-03-09

Similar Documents

Publication Publication Date Title
JP3576019B2 (ja) 通信ノード
KR100413684B1 (ko) 서로 다른 미들웨어를 가진 디바이스들간 통신을 가능하게하는 게이트웨이, 홈네트웍시스템 및 데이터 중계방법
KR100493895B1 (ko) 협업 서비스를 위한 홈 네트워크 시스템 및 방법
EP2160866B1 (en) Method and apparatus for providing dynamically changed upnp description
JP2003501765A (ja) HAVi部分ネットワークおよびUPnP部分ネットワークを橋渡しする方法および該方法を実行する装置
WO2009090707A1 (ja) 通信端末装置及び通信機器接続制御方法
WO2000079729A9 (en) Gathering of device discovery information
JP2003018177A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
BR112014009195B1 (pt) Aparelho de comunicação e método para controle do mesmo
US6298069B1 (en) System and method for implementing self-device control modules in an electronic network
US8176343B2 (en) Method for providing information for power management of devices on a network
KR100498284B1 (ko) UPnP 기반 네트워크의 동기화 시스템 및 방법
JP4102344B2 (ja) 通信制御装置、方法及びプログラム
JP2006202210A (ja) 情報処理装置、サービス公開方法及びプログラム
US20070220129A1 (en) Method of granting control of device and device using the method
US9083545B2 (en) Method and apparatus for managing resources of a universal plug and play device based on a connection status of a control point
KR100888478B1 (ko) 액션 처리 방법, 피제어 장치의 제어 방법, 피제어 장치 및제어 포인트
US20090254679A1 (en) Connection apparatus and method for limiting signal transfer
JP2006128737A (ja) 通信端末装置及び通信方法
US20060092956A1 (en) Bridging device, communication program, and communication method
US20080320491A1 (en) Method of receiving/transmitting event message, controlled device, and controlled point
JP2005101741A (ja) 通信装置、方法、機器制御装置、方法、及び、プログラム
JP2009088765A (ja) ネットワークシステム、中継デバイス及び中継プログラム
JP2004104839A (ja) 情報処理装置および方法、並びに通信システム
JP2006139429A (ja) ホームネットワークシステム、電子機器コンポーネント、プロトコル変換コンポーネント

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080321

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees