本発明は、ネットワークシステムさらには複数のネットワークを他のネットワークで接続する技術に関し、例えばIEEE1394規格に従って構築された2以上のネットワーク間をIEEE802.11規格に従ったワイヤレス通信で接続してデータを送受信するシステムに利用して有効な技術に関する。
近年、無線LANの仕様を規定するIEEE802.11規格を使用してデータをワイヤレスで送受信する技術が脚光を浴びている。ワイヤレスの特徴として、信号の伝播経路が空中となるため機器の配置制約が少ないことが挙げられる。
IEEE802.11には、キャリア周波数と変調方式からIEEE802.11a、同802.11b、同802.11g等の規格がある。このうちIEEE802.11b、同802.11g等の規格はキャリア周波数として2.4GHz帯を使用するため電子レンジからのノイズによる通信品質の低下が問題であることから、AV(Audio Visual)の用途には5GHz帯を使用する802.11aが最も有効である。
これに対しIEEE1394規格は、マルチメディアに対応した有線高速シリアルバスインターフェースを規格化したものであり、信頼性が要求される通信コマンドなどを扱う場合に好適な"Asynchronous"通信と、リアルタイム性が要求される動画像や音声データを扱う場合に好適な"Isochronous"通信が用意されており、"Asynchronous"通信は機器の制御、"Isochronous"通信はコンテンツの配信にそれぞれ適していてAV機器との相性も良いため、現在ではIEEE1394インタフェースを搭載した1394AV機器も数多く市場に出てきている。なお、本明細書では、IEEE1394インタフェースを搭載したAV機器と無線機器をそれぞれ1394AV機器、1394無線機器と簡略して呼ぶ。
IEEE1394バスで接続されている1394AV機器を管理する手法としてAV/Cプロトコルが規定されているとともに、通信ノードの機能ブロックに関する情報として"Unit"、"Subunit"等の概念が定義されている。IEEE1394バスに接続された1394AV機器はこの"Unit"、"Subunit"情報をもとに通信相手の機器の機能を特定することで、相手機器の機能に対応したコマンドを生成する。1394AV機器は、生成したコマンドを"Asynchronous"通信で相手機器に送信して相手機器のリモート制御を行うことができる。
さらに、1394AV機器ではリアルタイム性の高い動画等のコンテンツの配信に"Isochronous"通信を使用する。"Isochronous"通信を行う場合においてIEEE1394バス上の信号経路を論理的に扱う概念として"プラグ"が定義されている。プラグには、1394AV機器内のサブユニットと1394AV機器の入出力経路を論理的に表現するためのサブユニットプラグおよびユニットプラグと、IEEE1394ネットワーク上での通信経路を論理的に表現するための入力プラグと出力プラグがある。
1394AV機器内の入出力経路を示すサブユニットプラグとユニットプラグの接続は、他の1394AV機器による指示で行うことができる。具体的な接続指示は、AV/Cコマンドである"Connect"コマンドを用いる。IEEE1394ネットワーク上の"Isochronous"通信経路を示す1394AV機器の入力プラグと出力プラグの接続は、IEC61883規格で規定されているCMP(Connection Management Procedure)に基づいて確立される。複数の1394AV機器が接続されているネットワークでは、AV/Cコマンドによるサブユニットとユニットのプラグ接続と"Isochronous"通信経路の確立により、1394AV機器間での"Isochronous"通信を行うことができる。
ホームネットワークでは、家庭内の各部屋を接続するための配線が障害となっており、各部屋のIEEE1394バスをIEEE802.11a等のワイアレスネットワークで接続することで各部屋間の配線を不要にする手法が考えられている。
このように、IEEE1394バス同士をIEEE1394バス以外のネットワーク(例えばIEEE802.11a等)で中継して接続するためのIEEE1394における規格としては、1394バスブリッジ(IEEE P1394.1)、Wireless1394、1394overIP等がある。
第1の課題として、複数のIEEE1394ネットワークをIEEE1394ネットワーク以外のネットワークで接続するために、上記記載のIEEEP1394.1規格、Wireless1394規格を適用した場合には、それぞれの規格に対応していない従来の1394AV機器(Legacyデバイス)が接続できないという課題がある。
また、複数のIEEE1394ネットワークをIEEE1394ネットワーク以外のネットワークで接続した場合には、異なるIEEE1394ネットワークのAV機器間の"Isochronous"通信において、それぞれのIEEE1394ネットワーク上で"Isochronous"通信時に別々に伝送チャネルが設定されるため、それぞれのネットワークで設定される伝送チャネルが異なってしまうことがあり、そのような場合、異なるIEEE1394ネットワークのAV機器間の"Isochronous"通信を行うことができないという第2の課題がある。
また、IEEE1394ネットワークでは、1394AV機器におけるケーブルの挿抜等によりバスリセットが発生するが、バスリセットが発生するごとに挿抜のあった1394AV機器は同一IEEE1394ネットワーク上に存在する1394AV機器の情報を取得する。1394AV機器の情報の一部には、機器固有のID番号である"Unit_ID"と機能ブロックに関する情報(例えばUnit情報、Subunit情報)がある。1394AV機器は、これらの"Unit_ID"と機能ブロックに関する情報を記憶しておき、再度バスリセットが発生した場合に、接続された1394AV機器の機器固有ID番号である"Unit_ID"を調べ、1394AV機器が記憶している"Unit_ID"と一致すれば、既に記憶している機能ブロックに関する情報を使用する。かかる手法により、バスリセット後における同一の1394AV機器に対する情報取得作業を省略することができ、バスリセット後の通信量の削減が可能になる。
しかしながら、機能ブロックに関する情報を持つ1394AV機器が接続された従来のIEEE1394ネットワークにおいては、他の1394AV機器の機能ブロックに関する情報を記憶する1394AV機器は、他の1394AV機器が持つ機能ブロックに関する情報が変化した場合でも、IDが一致すれば自機器が記憶している機能ブロックに関する情報を使用するため、他のIEEE1394ネットワークに接続された他の1394AV機器が持つ機能ブロックに関する情報が変化した場合に変化後の情報を正しく認識できないという第3の課題がある。
この発明の目的は、例えば複数の有線式のネットワーク間をワイヤレス方式の通信規格を利用して接続する場合に、異なるネットワーク間を接続するための規格に対応していない従来の機器が接続された場合にもネットワーク上ですべての接続機器を正確に把握することができる通信機器およびネットワークシステムを提供することにある。
この発明の他の目的は、ネットワーク上で伝送チャネルを設定してデータの伝送を行なうようにされた複数のネットワーク間を接続した場合に、異なるネットワーク上の機器間でも正しくデータの伝送を行なうことができる通信機器およびネットワークシステムを提供することにある。
この発明のさらに他の目的は、例えば、複数の有線方式のネットワーク間をワイヤレス方式の通信規格を利用して接続したシステムにおいて、他のネットワークに接続された他の機器が持つ機能ブロックに関する情報が変化した場合にも変化後の情報を正しく認識することができるようにすることにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
すなわち、上記第1の課題を解決するために本発明は、各々が一つ以上の機能ブロック(サブユニット)を有する複数のユニット(例えば1394AV機器)間が第1のインタフェース手段(例えばIEEE1394インタフェース)により接続された複数のネットワーク(例えばIEEE1394ネットワーク)を含むネットワークシステムにおいて、複数のネットワークのそれぞれに第1のインタフェース手段と第2のインタフェース手段(例えばIEEE802.11a)を有する通信ユニット(例えば1394無線機器)を少なくとも一つ設け、いずれか1つのネットワーク上に存在する通信ユニットに当該ネットワークに接続された全てもしくは一部のユニットの機能ブロックに関する情報(例えばNode_ID、Unit情報、Subunit情報)を収集し、かつ第2のネットワーク(例えば無線LAN)を介して、他のネットワーク上に存在する通信ユニットに対して前記収集した機能ブロックに関する情報を伝達する手段を設けるようにした。
また、上記第1の課題を解決するために本発明は、上記複数のネットワークのいずれかに存在する通信ユニット(例えば1394無線機器)が、他の通信ユニットから伝達される当該他の通信ユニットが存在するネットワークに接続された全てもしくは一部の通信ユニットの機能ブロックに関する情報を受けて保持し、自己の機能ブロックとして当該ネットワーク上の一つ以上のユニットに伝達する手段を設けるようにした。
さらに、上記第1の課題を解決するために本発明は、上記複数のネットワークのいずれかに存在するユニット(例えば1394AV機器)から当該ネットワークの通信ユニット(例えば1394無線機器)が保持する前記機能ブロックの一つに対して発行した命令を、前記通信ユニットが前記第2のインタフェース手段(例えばIEEE802.11a)を介して他のネットワークに存在する通信ユニットに伝達し、前記命令を受信した通信ユニットが、当該通信ユニットが存在するネットワーク上の前記機能ブロックを備えたユニットに伝達する手段を設けるようにした。
また、上記第2の課題を解決するために本発明は、上記複数のネットワークのいずれかのネットワークに存在するユニット(例えば1394AV機器)から当該ネットワークの通信ユニット(例えば1394無線機器)が保持する機能ブロックの一つへの第1の通信経路を確立する手段(例えばIsochronousプラグ確立)と、前記通信ユニットが第1の通信経路の確立を前記第2のインタフェース手段を介して他のネットワーク上の通信ユニットに伝達する手段とを設けるようにした。
さらに、上記第2の課題を解決するために本発明は、前記通信ユニット(例えば1394無線機器)によって伝達された第1の通信経路の確立情報に基づいて、他のネットワーク上の通信ユニット(例えば1394無線機器)と前記機能ブロックを備えたユニット(例えば1394AV機器)との間に第2の通信経路を確立する手段を設け、前記他のネットワーク上に存在するユニットが前記第2の通信経路によって通信ユニットに伝達したデータを、該通信ユニットが第2のインタフェース手段(例えばIEEE802.11a)を通じて前記第1の通信経路が確立されたネットワークに存在する通信ユニットに伝達し、該通信ユニットが前記データを前記第1の通信経路によって前記ユニットに伝達するようにした。
また、上記第3の課題を解決するために本発明は、各々が自己の一つ以上の機能ブロックを管理するために機能ブロックに関する情報を保持する手段と他のユニットの機能ブロックに関する情報を記憶する手段とを備えたユニット(例えば1394AV機器)を有する複数のネットワーク(例えばIEEE1394ネットワーク)を含むネットワークシステムにおいて、いずれかのネットワーク上に存在するユニット(例えば1394AV機器)に自己が保有する他のユニットの機能ブロックに関する情報の変化を当該ネットワークに存在する通信ユニットに伝達する手段を設けるとともに、前記変化を受信した通信ユニットは自己が記憶しているユニットの機能ブロックに関する情報を更新する手段と、前記更新した機能ブロックに関する情報を第2のインタフェース手段(例えばIEEE802.11a)を介して他のネットワーク上に存在する通信ユニットに対して伝達する手段とを備えるようにした。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
本発明によれば、IEEE1394ネットワーク以外のネットワーク(IEEE802.11a等)で中継してIEEE1394ネットワーク同士を接続した場合でも、従来の1394AV機器(Legacyデバイス)を接続することができる。または、本発明によれば、IEEE1394ネットワーク以外のネットワークで中継してIEEE1394ネットワーク同士を接続した場合でも"Isochronous"通信でデータ転送を行うことができる。または、本発明によれば、第一のネットワークで中継して第二のネットワーク同士を接続し、一方の第二のネットワークの機能ブロックに関する情報の変化をそれ以外の第二のネットワークへ正しく伝送し、変化後の機能ブロックに関する情報を正しく認識させることができる。
以下、本発明の好適な実施の形態を図面に基づいて説明する。
図1は、2つのIEEE1394ネットワークをIEEE802.11aの無線LANにより接続したネットワークシステムの一実施例を示すブロック図である。
図1において、100と110は各々IEEE1394規格に準拠して構築されたネットワークであり、本実施例では、IEEE1394ネットワーク100と110は、1394インタフェースとIEEE802.11aの無線通信機能とを有する1394無線機器200と210との間が無線LAN400によりワイヤレス方式で接続されている。なお、本明細書では、1394無線機器の機能をハードウェア及びソフトウエアで実現したものを通信ユニット、該通信ユニットを筐体に内蔵したものを1394無線機器と称する。また、通信機能をハードウェア及びソフトウエアで実現したものをユニットと称する。
図1に示されているように、左側のIEEE1394ネットワーク100は1つの1394無線機器200と3つの1394AV機器(一種のユニット)201〜203とにより構成され、これらの機器間がIEEE1394バス501〜503により接続されている。また、図1の右側IEEE1394ネットワーク110は1つの1394無線機器210と1つの1394AV機器230とにより構成され、これらの機器間がIEEE1394バス511により接続されている。1394AV機器201〜203はそれぞれチューナ,VTR1,VTR2であり、1394AV機器230はディスプレイである。また、1394AV機器201はサブユニットとしてのチューナ300を有し、VTR1は磁気テープ記録再生装置からなるサブユニット301,302を、またVTR2は磁気テープ記録再生装置からなるサブユニット303を、さらにディスプレイとしての1394AV機器230はサブユニットとしてのモニタ304を有する。
1394無線機器200と210は、IEEE1394インタフェースIF1と無線LANインタフェースIF2を持つ通信ノードである。各1394無線機器200,210は、例えば図2に示すように、IEEE1394バス501に接続するためのインタフェースとしての1394PHY部(物理層)291および1394LINK部(リンク層)292、IEEE802.11aの無線LAN400に接続するためのインタフェースとしてのIEEE802.11aMAC部293およびIEEE802.11aPHY/RF部294、AV/Cプロトコルに従った通信処理をするためのAV/C処理機能(AV/C処理)とサブユニット管理を行うためのサブユニット管理機能(SU管理)と"Isochronous"パケットや"Asynchronous"パケットを解析したり形成したりするためのパケット処理機能(パケット処理)を有する制御部295、制御部295が実行するプログラムが格納されるROM(リードオンリメモリ)296、制御部295によって管理される後述の変換テーブルやアドレステーブルが格納されるRAM(ランダムアクセスメモリ)297等で構成されている。なお、図2のような構成を有する1394無線機器200,210は、これを1つの半導体チップ上に半導体集積回路として構成することができる。
1394AV機器201〜203および230は、AV/Cの管理規格にしたがってサブユニットごとに機器の機能と情報を管理する。サブユニット情報には、機能の種類を示す"Subunit_Type"と識別コードを示す"Subunit_ID"等が含まれる。例えば図1に示されるチューナとしての1394AV機器201は、サブユニットとしてのチューナ300の情報を管理している。1394AV機器201は、"Subunit_Type"が"Tuner"で、"Subunit_ID"が"00"のチューナ300を持つことから、1394AV機器201は"Tuner"の機能を一つ有することが分かる。VTR1からなる1394AV機器202は、複数のサブユニットを持つ1394AV機器であり、サブユニットごとに割り振られている"Subunit_Type" と"Subunit_ID"でそれぞれのサブユニットを識別する。1394無線機器200,210と1394AV機器201〜203および230は、識別コード(一種のユニットごとの識別情報)である"Node_ID"によって識別される。
なお、この実施例では、1394無線機器と1394AV機器は各々機能が異なるユニットであるが、ネットワークから見た場合、それぞれの機器は通信機能を備えており、いずれの機器も通信のマスタとなることができるので、ネットワーク上では通信ノードとみなすことができる。そこで、ネットワーク上で通信を行なう際に各通信ノードを特定するために"Node_ID"のようななる識別コードを用いて区別するようにしている。また、ネットワーク上で通信を行なう場合、1394AV機器とそれが有する機能ブロックは、階層的に扱うと便利である。そこで、1394AV機器が有する機能ブロックを、ユニットである1394AV機器に対してサブユニットとして扱っている。
本実施例のネットワークシステムでは、IEEE1394ネットワーク100および110に属する各通信ノードは、他のすべての通信ノードの識別コードである"Node_ID"をIEEE1394ネットワークの機器接続状態変化時に取得する機能を有する。IEEE1394ネットワークの機器接続状態変化は、IEEE1394バスとしてのケーブルの挿抜により生じるIEEE1394ネットワークのバスリセットで検出される。
IEEE1394ネットワークに接続された1394AV機器のサブユニットとしての機能ブロックに関する情報の取得には、AV/Cコマンドの1つである"Subunit_Info"を使用する。"Subunit_Info"コマンドは、"Node_ID"で指定された1394AV機器からサブユニットに関する情報である"Subunit_Type"や"Subunit_ID"等を取得するAV/Cコマンドである。
本実施例のネットワークシステムでは、1394無線機器200が、IEEE1394ネットワーク100の機器接続状態変化時に取得した"Node_ID"と上記AV/Cコマンドである"Subunit_Info"を使用し、IEEE1394ネットワーク100上に接続されている1394AV機器201〜203のサブユニットに関する情報を収集する機能を有する。また、1394無線機器210は、IEEE1394ネットワーク110の機器接続状態変化時に取得した"Node_ID"と上記AV/Cコマンドである"Subunit_Info"を使用し、IEEE1394ネットワーク110上に接続されている1394AV機器230のサブユニットに関する情報を収集する機能を有する。
さらに、第1の実施形態では、1394無線機器200により収集されたIEEE1394ネットワーク100上の1394AV機器201〜203の"Node_ID"とサブユニットに関する情報"Subunit_Type" と"Subunit_ID"は、無線LAN400を介して1394無線機器210に送信される。1394無線機器210は、受信したIEEE1394ネットワーク100上の1394AV機器201〜203のサブユニットに関する情報から自分の中に仮想サブユニット310〜313を生成する機能と、図3に示すようなAV/Cコマンドパケット変換テーブル710を生成・保持する機能とを有する。AV/Cコマンドパケット変換テーブル710は、1394無線機器210の制御部295(図2参照)で管理される。
具体的には、1394無線機器210は、図3に示されるAV/Cコマンドパケット変換テーブル710中の"Subunit_Type"を、1394無線機器200により収集されたIEEE1394ネットワーク100上の1394AV機器201〜203のサブユニット(機能ブロック)に関する情報の"Subunit_Type"に基づき生成する。また、1394無線機器210は、図3の変換テーブル710におけるサブユニット情報に含まれる"Subunit_ID"をAV/Cの管理規格に従いそれぞれの"Subunit_Type"ごとに割り振る。
なお、本実施例では、図3に示される1394無線機器210内のAV/Cコマンドパケット変換テーブル710が、IEEE1394ネットワーク100上の1394AV機器201〜203から収集されたサブユニットに関する情報のうち"Subunit_Type","Subunit_ID"と"Node_ID"と1394無線機器210が生成した"Subunit_ID"とから構成されているが、変換テーブル710に上記以外の情報を含めるようにしてもよい。
次に、IEEE1394ネットワーク110上の1394AV機器であるディスプレイ230から、他方のIEEE1394ネットワーク100上の1394AV機器201〜203を認識する動作を説明する。
先ず、IEEE1394ネットワーク110上のディスプレイ230からAV/Cコマンドである"Subunit_Info"が1394無線機器210に対して発行される。すると、1394無線機器210は"Subunit_Info"コマンドに対する応答として、1394無線機器210が管理・保持するサブユニット情報を返信する。具体的には、1394無線機器210は、図3に示されているAV/Cコマンドパケット変換テーブル710上の"Subunit_Type"と1394無線機器210が生成した"Subunit_ID"の部分を返信する。ここで、1394無線機器210が管理・保持するサブユニット情報は、1394無線機器200が収集したIEEE1394ネットワーク100上の1394AV機器201〜203が持つサブユニット情報と同等であるため、IEEE1394ネットワーク110上のディスプレイ230によって、1394無線機器210がIEEE1394ネットワーク100上の1394AV機器の機能をすべて包含した1394AV機器として認識される。
次に、IEEE1394ネットワーク110上のディスプレイ230からIEEE1394ネットワーク100上の1394機器203であるVTR2を操作する場合のネットワークシステムの動作を説明する。
1394AV機器を操作するコマンド(例えば、"Play"など)は1394TA規格にAV/Cコマンドの1つとして規定されており、このコマンドは図4に示されている"Asynchronous"パケットフォーマットで通信される。なお、図4のパケットにおいて、上半分の"HEAD"部分はパケットのヘッダ部、"DATA"はデータ領域を示している。また、パケットは、以下に述べる順序で各フィールドのビットが伝送される。
図4において、符号"destination_ID"が付されているのは送信先の機器のIDが入るフィールド、"source_ID"は送信元の機器のIDが入るフィールド、"tl"は各トランザクションに固有のタグが入るフィールド、"rt"はリトライの状態を示すコードが入るフィールド、"tcode"はリードやライト、ロックなどのトランザクションの定義が入るフィールド、"destination offset"は送信先アドレスのアドレスが入るフィールド、"data length"はデータ領域内のデータの長さを示すコードが入るフィールド、"extended tcode"はサブコマンドが入るフィールド、"header CRC"はヘッダ部分のエラー訂正符号が入るフィールド、"CTS"はコマンドセットのIDが入るフィールド、"cCtype/response"はコマンドの機能分類またはコマンドの処理結果が入るフィールド、"subunit type"はサブユニットの機能の種別を示すコードが入るフィールド、"Id"はサブユニットが複数ある場合にそれぞれを区別するコードが入るフィールド、"opcode"はAV/Cコマンドコードが入るフィールド、"operand"はコマンドのパラメータが入るフィールド、"Additional operand"は追加のパラメータ等が入るフィールド、"padding"はパケットの長さを揃えるために加えるビット"0"が入るフィールド、"data CRC"はデータ部分のエラー訂正符号が入るフィールドである。
ディスプレイ230からVTR2を操作する場合、ディスプレイ230は、まず、図5に示されているように、"Subunit_Type"に"Tape"が、また"Subunit_ID"に"Subunit_ID02"が格納されたAV/Cコマンド"opcode"を含む"Asynchronous"パケットを、1394無線機器210内の仮想サブユニット313に対して送信する。このとき、図5に示される"Asynchronous"パケットの"destination_ID"には1394無線機器210の識別コード"Node_ID00"が、"source_ID"にはネットワーク110上での自分自身の識別コード"Node_ID01"が格納される。
ディスプレイ230から送られた図5に示される"Asynchronous"パケットを受信した1394無線機器210は、図3に示されているAV/Cコマンドパケット変換テーブル710を参照して"destination_ID"と"Subunit_ID"を、被制御機器203であるVTR2のネットワーク100上でのサブユニット303を指す"Node_ID03"と"Subunit_ID00"に変換した後、ネットワーク100の1394無線機器200へ変換後の"Asynchronous"パケットを送信する。変換後の"Asynchronous"パケットを受信した1394無線機器200は、パケットの"source_ID"に自己の識別コード"Node_ID00"を格納するとともに、エラー訂正符合CRCを再計算したものを"header CRC"と"data CRC"にそれぞれ格納した図6に示すような"Asynchronous"パケットをIEEE1394バスケーブル501上へ送信する。すると、ネットワーク100上の1394機器203である"Node_ID03"のVTR2は、上記パケットを受信し、パケット内のAV/Cコマンドコードを解読し、コマンドに対応した処理を行う。
なお、本第1の実施形態においては、AV/Cコマンドパケット変換テーブル710をネットワーク110側の1394無線機器210に持たせているが、ネットワーク100の1394無線機器200に保持させて"Asynchronous"パケットの変換を1394無線機器200で行うようにしてもよい。
また、3つ以上のIEEE1394ネットワークが無線LANで接続されたネットワークシステムにおいても、各1394無線機器が、本第1の実施の形態と同様にして、他のIEEE1394ネットワークに存在する1394AV機器の機能ブロックに関する情報を得て、仮想サブユニットとAV/Cコマンドパケット変換テーブルを生成することで異なるネットワーク間にまたがった1394AV機器の制御を実現できるように構成することができる。
図7は、本発明の第2の実施形態を示すもので、4つのIEEE1394ネットワークにより構成されたネットワークシステムである。
特に制限されるものでないが、第2の実施形態では、"Isochronous"パケットで動画像のようなコンテンツデータを送信する一つのIEEE1394ネットワーク100と"Isochronous"データを受信可能な3つのIEEE1394ネットワーク110,120,130が無線LAN400で接続されている。
IEEE1394ネットワーク100は、1394AV機器201〜203と1394無線機器200とがケーブル501〜503で接続されている。IEEE1394ネットワーク110,120,130はそれぞれ1394無線機器210,211,212と1394AV機器であるディスプレイ230,231,232とがケーブル510,511,512で接続されている。第1の実施形態と同様に、ケーブルが接続されてネットワークが確立すると、1394無線機器200と210〜230との通信により、1394無線機器210内には仮想サブユニット310〜313が、1394無線機器211内には仮想サブユニット320〜323が、また1394無線機器212内には仮想サブユニット330〜333が構築される。これらの仮想サブユニットは、IEEE1394ネットワーク100上の1394AV機器201〜203内のサブユニット300〜303に対応するものである。また、1394無線機器210〜212内には、パケット変換テーブル710〜712が生成される。
さらに、この実施形態においては、無線LAN400を介してIEEE1394ネットワーク100と110〜130との間でデータを送信する場合の伝送チャネルを管理するためのチャネル変換テーブル701がIEEE1394ネットワーク110の1394無線機器210内に、また1394無線機器200が無線LAN400を用いて他のネットワークの1394無線機器210〜212と通信する場合に使用する無線LANを特定するためのLANアドレス管理テーブル700がIEEE1394ネットワーク100の1394無線機器200内に生成されるようになっている。
これらのアドレス管理テーブル700とチャネル変換テーブル701とを用いることにより、図7のネットワークシステムにおいて、IEEE1394ネットワーク100に接続された任意の1394AV機器からIEEE1394ネットワーク110〜130の任意の1394AV機器との間で"Isochronous"パケットによるデータ通信を行うことが可能となる。図9(A)にアドレス管理テーブル700の構成例が、また図9(B)にチャネル変換テーブル701の構成例が示されている。アドレス管理テーブル700は、1394無線機器200がIEEE1394ネットワーク100上で獲得した"Isochronous"チャネルと"Isochronous"データ送信先の1394無線機器のある無線LANアドレスとの対応を示す。また、チャネル変換テーブル701は1394無線機器200がIEEE1394ネットワーク100上で獲得した"Isochronous"チャネルと1394AV機器230がIEEE1394ネットワーク110上で獲得した"Isochronous"チャネルとの対応を示す。アドレス管理テーブル700は、図9(A)に示されているものに固定されるわけではなく、接続するネットワークの数や各ネットワーク上のAV機器の数が変わればそれに応じて変更されるものである。また、図9(B)のチャネル変換テーブル701も、データを伝送したい機器が変更される毎に変更することができる。
次に、図7のネットワークシステムにおいて、一例として、IEEE1394ネットワーク100に接続された1394AV機器203からIEEE1394ネットワーク110の1394AV機器であるディスプレイ230に"Isochronous"データを送信する場合の手順を、図8を用いて説明する。
図8は、図7中の1394無線機器200,210ならびに1394AV機器201,202,203,230を抽出し、データを伝送する場合の通信経路の確保に必要な機能を表わしたものである。302,303は1394AV機器203に付随するサブユニットであり、304はAV機器230に付随するサブユニットである。さらに310〜313は1394無線機器210内に構築された仮想サブユニットである。
複数の1394無線機器が無線LANで接続されているネットワークにおいて、データを送信する場合には図10に示すような"Isochronous"パケットが用いられる。また、通信を行なおうとする1394無線機器200と210は"Isochronous"データを要求のあった1394AV機器に正しく送信するために通信経路を確保する必要がある。この通信経路の確保の際に、1394無線機器210において生成されたチャネル変換テーブル701と1394無線機器200において生成された無線LANアドレス管理テーブル700が使用される。
データの送受信の際の通信路の確保に使用される無線LANアドレス管理テーブル700とチャネル変換テーブル701の生成には、1394AV機器間で"Isochronous"データ通信を行う際にAV/Cで規定されている"Subunit"プラグと入力プラグ及び出力プラグとの接続を要求する"Connect"コマンドが利用される。また、1394無線機器210のサブユニットとIEEE1394ネットワーク100上の1394AV機器との対応は、1394無線機器210が保持する第1の実施例と同様のAV/Cコマンドパケット変換テーブル710〜712により管理されているものとする。
IEEE1394ネットワーク110上のディスプレイ230からの要求で、IEEE1394ネットワーク100に接続された1394AV機器(VTR)203のサブユニット302からディスプレイ230に動画像のようなコンテンツを"Isochronous"パケットで送信する場合、まずディスプレイ230が1394無線機器210に対しVTR203のサブユニット302に対応する仮想サブユニット312を示す"Subunit_Type"="Tape"、"Subunit_ID"="01"を設定したAV/Cの"Connect"コマンドを発行する。このコマンドは"Asynchronous"パケットにより送信される。
この"Connect"コマンドを受けた1394無線機器210は、仮想サブユニット312の"Subunit"プラグ630と1394無線機器210の出力プラグ631とを接続する(図8参照)。また、ディスプレイ230は、自己の入力プラグ632と1394無線機器210の出力プラグ631とを接続して"Isochronous"通信経路の確立を行う。"Isochronous"通信経路の確立時に、IEEE1394ネットワーク110での"Isochronous"チャネル(例えばIso ch=0)が決定される。
また、1394無線機器210は、ディスプレイ230から受信した"Connect"コマンドを含むAsynchronous"パケットに含まれる"Subunit_Type"="Tape"と"Subunit_ID"="01"からAV/Cコマンドパケット変換テーブル710を参照して、IEEE1394ネットワーク100でのAV/Cコマンド送信先であるVTR203のサブユニット302を特定するコードに変換した後、該コードを1394無線機器210の無線LANの固有番号である無線LANアドレス(例えばWLAN0)と共に無線LAN400を介してネットワーク100の1394無線機器200へ通知する。
1394無線機器200は、1394無線機器210より受信した"Connect"コマンドによって、"Isochronous"データの送信元となるVTR203のサブユニット302に対する"Connect"コマンドの発行すなわち"Connect"コマンドを含む"Asynchronous"パケットの送信を行う。"Connect"コマンドを受信したVTR203は、"Subunit"プラグ600と出力プラグ610との接続を行う。また、1394無線機器200は、出力プラグ610と入力プラグ612間で"Isochronous"通信経路の確立を行う。このとき、IEEE1394ネットワーク100での"Isochronous"チャネル(例えばIso ch=1)が決定される。このようにして決定された"Isochronous"チャネルと1394無線機器210の無線LANアドレス(WLAN0)を用いて1394無線機器200内において無線LANアドレス管理テーブル700が生成される。
さらに、1394無線機器200は、IEEE1394ネットワーク100での"Isochronous"チャネル(Iso ch=1)を1394無線機器210に通知する。すると、1394無線機器210は、通知されたIEEE1394ネットワーク100での"Isochronous"チャネル(Iso ch=1)と、IEEE1394ネットワーク110上でディスプレイ230と1394無線機器210の間で設定された"Isochronous"チャネル(Iso ch=0)とからチャネル変換テーブル701を生成する。
次に、IEEE1394ネットワーク110に接続されたディスプレイ230が、IEEE1394ネットワーク100上のVTR203のサブユニット302からのデータ(画像コンテンツ)を含む"Isochronous"パケットを無線LAN経由で受信する手順を説明する。
図10は、"Isochronous"パケットのフォーマットを示す。"Isochronous"パケットは、ヘッダ部HEADとデータ部DATAとからなる。図10において、符号"data length" が付されているのはデータ領域内のデータの長さを示すコードが入るフィールド、"tag"はパケットのフォーマットに関するラベルが入るフィールド、"channel"はアイソクロナス通信時の仮想の伝送番号が入るフィールド、"tcode"はリードやライト、ロックなどのトランザクションの定義が入るフィールド、"sy"はアプリケーションの制御コードが入るフィールド、"header CRC"はヘッダ部分のエラー訂正符号が入るフィールド、"00"は固定ビット、"SID"は送信元の機器のIDが入るフィールド、"DBS"は分割された1データブロックのサイズを示すフィールド、"FN"は1ソースパケットのデータブロックへの分割数を示すコードが入るフィールド、 "QPC"は分割のために付加されたパッディングデータのサイズを示すフィールド、"rsv"は未使用のリザーブ領域、"10"は固定ビット、"FMT"はフォーマットタイプのを示すコードが入るフィールド、"FDF"はフォーマットに依存するフィールド、"DATA"はデータが入るフィールド、 "data CRC"はデータ部分のエラー訂正符号が入るフィールドである。なお、"DATA"フィールドに入るデータは長さが決まっていないので、データの末尾にパケットの長さを揃えるための"0"が連続して付加されることがある。"Asynchronous"パケットにある"destination_ID"のフィールドが"Isochronous"パケットにないのは、"Connect"コマンドを含む"Asynchronous"パケットにより予め通信経路が確立されるためである。
図11はIEEE1394ネットワーク100上のVTR203から1394無線機器200へ送信される"Isochronous"パケットを示す。IEEE1394ネットワーク100上ではチャネル"1"を使用してデータを伝送するため、図10のフィールド"channel"に相当するフィールドには"01"が格納され、送信元を示す識別コードが入るフィールド"SID"にはVTR203のノードIDである"03"が格納されている。このパケットは、1394無線機器200がアドレス管理テーブル700を参照して対応するネットワークの1394無線機器に送信される。図9(A)に示されているように、ここではIEEE1394ネットワーク100上のチャネル"1"は1394無線機器210(WLAN0)に対応されているため、パケットはネットワーク110の1394無線機器210へ送信される。
図12は1394無線機器210からIEEE1394ネットワーク110へ送信される"Isochronous"パケットを示す。図9(B)に示されているように、ここでは送信側のIEEE1394ネットワーク100上のチャネル"1"は受信側のIEEE1394ネットワーク110上のチャネル"0"に対応されているため、図12の"channel"に相当するフィールドには"00"が格納され、送信元を示す識別コードが入るフィールド"SID"には1394無線機器210のノードIDである"00"が格納される。
VTR203に含まれるサブユニット302から送信された図11に示される"Isochronous" パケットは1394無線機器200で受信され、1394無線機器200は"Isochronous" パケット受信時に図9(A)の無線LANアドレス管理テーブル700を参照し、受信した"Isochronous" パケットの"Isochronous"チャネル(Iso ch=1)から送信先の1394無線機器210の無線LANアドレス(WLAN0)を決定し、無線LANアドレスWLAN0で示される1394無線機器210へ送信する。
この"Isochronous" パケットを受信した1394無線機器210は、図9(B)のチャネル変換テーブルを参照して、IEEE1394ネットワーク110上での使用チャネルを決定し、 パケットの"channel"フィールドを書き換えるとともに、"SID"部を自機器のNodeID"00"に書き換えることで、図12に示される"Isochronous" パケットに変換する。この"Isochronous" パケットは、IEEE1394ネットワーク110のデータとして1394無線機器210がケーブル510上へ出力し、ディスプレイ230が受信する。
以上の手順により、IEEE1394ネットワーク100上のVTR203から送信された"Isochronous" パケットを、IEEE1394ネットワーク110上のディスプレイ230が受信可能な"Isochronous" パケットへ変換することが可能になる。
同様にして、IEEE1394ネットワーク上の複数の"Isochronous"チャネルにそれぞれの1394無線機器の無線LANアドレスを対応させることで、一つのIEEE1394ネットワークから複数のIEEE1394ネットワーク110,120,130へ"Isochronous" パケットを用いたデータの送信が可能である。すなわち、動画像のようなコンテンツを1つの1394AV機器(VTR)から複数の1394AV機器(モニタ)へ同時配信することができる。また、IEEE1394ネットワーク100上の複数の"Isochronous"チャネルとIEEE1394ネットワーク110上の複数の"Isochronous"チャネルをそれぞれの対応させることで、IEEE1394ネットワーク100からIEEE1394ネットワーク110へ複数のチャネルを使用したデータの送信が可能である。すなわち、複数の1394AV機器(VTR)からそれぞれ別個のコンテンツを所望の1394AV機器(モニタ)へ並行して送信することができる。
(変形例)
次に、本発明にかかるネットワークシステムの変形例について説明する。
第1の変形例は、第2の実施形態を変形したもので、図13に示すような構成を有する。この変形例は、図7の第2の実施形態において、IEEE1394ネットワーク100の1394無線機器200に設けられているアドレス管理テーブル700とIEEE1394ネットワーク110の1394無線機器210に設けられているチャネル変換テーブル701とを一体にした図14に示すような参照テーブル702を、ネットワーク100の1394無線機器200に用意しておくようにしたものである。第1の変形例と第2の実施形態との差異は、図11の"Isochronous"パケットのチャネルフィールド"channel"を"00"に書き換えるのが無線機器200か210かの違いのみであり、この変形例のような構成によっても第2の実施形態と同様な作用効果が得られる。
第2の変形例は、図1の実施例に次の機能を追加するようにしたものである。すなわち、IEEE1394ネットワーク100の接続状態変化を、IEEE1394ネットワーク100で発生したバスリセット信号で検知し、これをトリガとして1394無線機器200がIEEE1394ネットワーク100に接続された1394AV機器201〜203の機能ブロック(サブユニット)に関する情報を取得し直して管理する機能を、図2の制御部295に設ける。また、1394無線機器200は、新たに受信した機能ブロックに関する情報を1394無線機器210に対し送信する機能を有するようにする。
一方、1394無線機器210には、新たに受信した機能ブロックに関する情報から内部に仮想サブユニットを再度構築する機能を設ける。また、1394無線機器210には、サブユニット情報の更新をディスプレイ230等IEEE1394ネットワーク110側の1394無線機器に通知する機能を持たせる。これにより、ディスプレイ230は、IEEE1394ネットワーク110側でバスリセットが発生した場合にも1394無線機器210からの通知により自身が保持しているサブユニットに関する情報を更新することができる。
以上の構成及び動作によりIEEE1394ネットワーク100での接続状態の変化を1394無線機器210が保持するサブユニット情報へ反映することができ、ディスプレイ230は、IEEE1394ネットワーク100上で変化したサブユニットに関する情報を取得することができる。
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記実施例では、IEEE1394ネットワーク同士を接続するネットワークとしてIEEE802.11a無線LANを例示したが、これに限るものではなく、例えば無線通信方式のブルートゥースや有線通信方式のイーサネット(ゼロックスコーポレーション社の登録商標)を用いて接続する場合にも適用できる。また、上記実施例では、ネットワークを構成する少なくとも1つの機能ブロックを有するユニットを内蔵した機能機器の例として1394AV機器を挙げたが、ネットワークがパーソナルコンピュータを含むような場合には、当該コンピュータやIEEE1394インタフェースを有するスキャナー、プリンタ、ハードディスクドライバやDVDドライバのようなデータストレージなどのパソコン周辺機器も機能機器となる。
さらに、上記実施例では、2つのインタフェースを有する通信ノードがユニットとしての1394AV機器とは別個の機器(1394無線機器)として構成されている場合を示したが、2つのインタフェースを有する通信ノードを、IEEE1394インタフェースを有するAV機器やパソコンおよびパソコン周辺機器と一体に構成することも可能である。また、図2の1394無線機器200,210は、これを1つの半導体チップ上に半導体集積回路として構成するとしたが、図2のうちIEEE802.11aPHY/RF部294を除いた一点鎖線C1で囲まれた部分あるいは1394PHY部291とIEEE802.11aPHY/RF部294を除いた破線C2で囲まれた部分を、1つの半導体チップ上に半導体集積回路として構成するようにしても良い。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である複数のIEEE1394ネットワークからなるネットワークシステムに適用した場合について説明したが、接続するネットワークはIEEE1394ネットワークに限るものではなく、例えば機器の情報を階層的に管理したりチャネルを使用してデータを伝送するようなネットワーク同士を接続する場合にも適用できる。
本発明に係るネットワークシステムの一実施例を示すブロック構成図である。
ネットワークシステムを構成する1394無線機器の構成例を示すブロック図である。
実施例のネットワークシステムにおいてAV/Cコマンドパケットを変換する変換テーブルの構成を示す説明図である。
実施例のネットワークシステムにおいて用いられる"Asynchronous"パケットの構造を示すフォーマット図である。
変換前の"Asynchronous"パケットを示すフォーマット図である。
変換後の"Asynchronous"パケットを示すフォーマット図である。
本発明に係るネットワークシステムの第2の実施例を示すブロック構成図である。
第2の実施例のネットワークシステムにおいて1394無線機器を用いて"Isochronous"通信を行う場合の通信経路の確立の仕方を示す説明図である。
(A)は第2の実施例のネットワークシステムにおいて用いられる無線LANアドレス管理テーブルの構造を示すテーブル構成図、(B)はチャネル変換テーブルの構造を示すテーブル構成図である。
実施例のネットワークシステムにおいて用いられる"Isochronous"パケットの構造を示すフォーマット図である。
変換前の"Isochronous"パケットの構造を示すフォーマット図である。
変換後の"Isochronous"パケットの構造を示すフォーマット図である。
本発明に係るネットワークシステムの変形例を示すブロック構成図である。
図13の実施例のネットワークシステムにおいて用いられる参照テーブルの構造を示すテーブル構成図である。
符号の説明
100,110,120,130…IEEE1394ネットワーク
200,210,211,212…1394無線機器
201〜203,230〜232…1394AV機器(ユニット)
300〜304,310〜313,320〜323,330〜333…機能ブロック(サブユニット)
400…無線LAN
600,630…サブユニットプラグ
610,611,631…出力プラグ
612,632…入力プラグ
620,622…1394AV機器内信号経路
700…無線LANアドレス管理テーブル
701…チャネル変換テーブル
702…参照テーブル(アドレス管理&チャネル変換テーブル)
710〜712…パケット変換テーブル
291…IEEE1394PHY部
292…IEEE1394LINK部
293…IEEE802.11a MAC部
294…IEEE802.11a PHY/RF部
295…制御部(パケット処理部)
501〜503,510〜512…1394バス
297…チャネル変換テーブル及び無線LANアドレス管理テーブル格納用RAM
296…プログラム格納用ROM