JP2006333298A - ネットワークシステムにおける通信処理方法および通信機器 - Google Patents
ネットワークシステムにおける通信処理方法および通信機器 Download PDFInfo
- Publication number
- JP2006333298A JP2006333298A JP2005156812A JP2005156812A JP2006333298A JP 2006333298 A JP2006333298 A JP 2006333298A JP 2005156812 A JP2005156812 A JP 2005156812A JP 2005156812 A JP2005156812 A JP 2005156812A JP 2006333298 A JP2006333298 A JP 2006333298A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- network
- wired communication
- packet
- wlan module
- 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.)
- Withdrawn
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】 複数の有線式のネットワーク間を無線方式の通信で接続する場合に、無線区間での通信量を減らしてデータの誤り率を下げることができる通信機器およびネットワークシステムを提供する。
【解決手段】 "Asynchronous"通信でAV/Cコマンドを送るときは、受信側の通信ユニットは、送信側のユニットからのIEEE1394規格に従った応答を待たずに、送信側の通信ユニットからのIEEE802.11規格に従った応答を受け取ったことに基づいて受信側ユニットにIEEE1394規格に従った応答を返すようにする。また、"Asynchronous"通信でAV/Cコマンドに対する応答を送るときは、送信側の通信ユニットは、受信側のユニットからのIEEE1394規格に従った応答を待たずに、受信側の通信ユニットからのIEEE802.11規格に従った応答を受け取ったことに基づいて送信側ユニットにIEEE1394規格に従った応答を返すようにした。
【選択図】 図1
【解決手段】 "Asynchronous"通信でAV/Cコマンドを送るときは、受信側の通信ユニットは、送信側のユニットからのIEEE1394規格に従った応答を待たずに、送信側の通信ユニットからのIEEE802.11規格に従った応答を受け取ったことに基づいて受信側ユニットにIEEE1394規格に従った応答を返すようにする。また、"Asynchronous"通信でAV/Cコマンドに対する応答を送るときは、送信側の通信ユニットは、受信側のユニットからのIEEE1394規格に従った応答を待たずに、受信側の通信ユニットからのIEEE802.11規格に従った応答を受け取ったことに基づいて送信側ユニットにIEEE1394規格に従った応答を返すようにした。
【選択図】 図1
Description
本発明は、ネットワークシステム技術さらには複数のネットワーク間を無線通信で接続する技術に関し、例えばIEEE1394規格に従って構築された2以上のネットワーク間をIEEE802.11規格に従った無線通信で接続してデータを伝送するシステムに利用して有効な技術に関する。
近年、ディジタル家電製品の発展に伴い複数のディジタル家電製品をIEEE1394規格のシリアルバスインターフェースで接続して構成したネットワークシステム(以下、IEEE1394ネットワークと称する)が普及しつつある。かかるIEEE1394ネットワークの普及に伴い家庭内にある複数のIEEE1394を無線LANの仕様を規定するIEEE802.11規格を使用して、無線通信でデータを伝送する技術の開発が進められている。無線通信の特徴として、信号の伝播経路が空中となるため機器の配置制約が少ないことが挙げられる。
IEEE1394規格は、マルチメディアに対応した有線高速シリアルバスインターフェースを規格化したものであり、信頼性が要求される通信コマンドなどを扱う場合に好適な"Asynchronous"通信と、リアルタイム性が要求される動画像や音声データを扱う場合に好適な"Isochronous"通信が用意されている。"Asynchronous"通信は機器の制御、"Isochronous"通信はAV(Audio Visual)コンテンツの伝送にそれぞれ適していてAV機器との相性も良いため、現在ではIEEE1394インタフェースを搭載した1394AV機器も数多く市場に出てきている。なお、本明細書では、IEEE1394インタフェースを搭載したAV機器を1394AV機器と簡略化して呼ぶ。
IEEE1394バスで接続されている1394AV機器を管理する手法としてAV/Cプロトコルが規定されているとともに、通信ノードの機能ブロックに関する情報として"Unit"、"Subunit"等の概念が定義されている。IEEE1394バスに接続された1394AV機器は、ネットワーク上では通信ノードであり、この"Unit"、"Subunit"情報をもとに通信相手の機器の機能を特定することで、相手機器の機能に対応したコマンドを生成する。1394AV機器は、生成したコマンドを"Asynchronous"通信で相手機器に送信して相手機器のリモート制御を行うことができる。
ホームネットワークでは、家庭内の各部屋を接続するための配線が障害となっており、各部屋のIEEE1394バスをIEEE802.11等の無線通信ネットワークで接続することで各部屋間の配線を不要にする手法が考えられている。このように、IEEE1394バス同士をIEEE1394バス以外のネットワークで中継して接続するためのIEEE1394における規格としては、1394バスブリッジ(IEEE P1394.1)、Wireless1394、1394overIP等がある。
IEEE802.11には、キャリア周波数と変調方式からIEEE802.11a、同802.11b、同802.11g等の規格がある。このうちIEEE802.11b、同802.11g等の規格はキャリア周波数として2.4GHz帯を使用するため電子レンジからのノイズによる通信品質の低下が問題であることから、AVの用途には5GHz帯を使用する802.11aが最も有効である。
特開2000−156683号公報
複数のIEEE1394ネットワークをIEEE1394ネットワーク以外のネットワークで接続する際の第1の課題として、上記記載のIEEEP1394.1規格、Wireless1394規格を適用した場合には、それぞれの規格に対応していない従来の1394AV機器(Legacyデバイス)が接続できないという課題がある。
また、複数のIEEE1394ネットワークをIEEE1394ネットワーク以外のネットワークで接続した場合には、異なるIEEE1394ネットワークのAV機器間の"Isochronous"通信時に、それぞれのIEEE1394ネットワーク上で別々に伝送チャネルが設定される。そのため、それぞれのネットワークで設定される伝送チャネルが異なってしまうことがあり、そのような場合、異なるIEEE1394ネットワークのAV機器間の"Isochronous"通信を行うことができないという課題もある。
上記のような課題を解決するため、本発明者らは先に複数のIEEE1394ネットワークをIEEE802.11規格に従った無線通信で接続する技術を開発し出願を行なった(特願2003−383521)。しかしながら、前記先願発明にあっては、無線通信区間で送受信されるパケットについて詳細に検討していなかったため、無線通信でのデータ量が多く、データエラーを起こし易いという課題があることが明らかになった。
また、IEEE1394ネットワーク間を無線通信ネットワークで接続することで家庭内ネットワークを構築する技術としては、特許文献1に記載の発明もある。しかしながら、特許文献1に記載の発明においては、IEEE1394ネットワーク間のデータ送受信の際に、IEEE1394ネットワーク上のパケットをすべて無線通信ネットワークで送受信するようにしているため、無線通信でのデータ量が多い。家庭内での無線通信環境を考えた場合、電子レンジ等のノイズ源となる家電の稼動により通信環境は頻繁に変化している。そのため、無線通信でのデータ量が多いほど、通信環境の変化の影響を受けやすくデータの誤り率が高くなる。
この発明の目的は、複数の有線式のネットワーク間を無線方式の通信で接続する場合に、無線区間でのデータの通信量を減らしてデータの誤り率を下げることができる通信機器およびネットワークシステムを提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
すなわち、本発明は、複数の有線通信方式のネットワークを含むネットワークシステムにおいて、複数のネットワークのそれぞれに有線通信のための第1のインタフェース手段と無線通信のための第2のインタフェース手段を有する通信ユニット(通信機器)を少なくとも一つ設け、複数の有線通信方式のネットワークを無線通信で接続する。具体的には、各々が一つ以上のサブユニットを有する複数の1394AV機器間がIEEE1394インタフェースにより接続された複数のIEEE1394ネットワークを含むネットワークシステムにおいて、複数のネットワークのそれぞれにIEEE1394インタフェースとIEEE802.11aインタフェースを有する通信ユニットを少なくとも一つ設け、無線LANで接続する。
すなわち、本発明は、複数の有線通信方式のネットワークを含むネットワークシステムにおいて、複数のネットワークのそれぞれに有線通信のための第1のインタフェース手段と無線通信のための第2のインタフェース手段を有する通信ユニット(通信機器)を少なくとも一つ設け、複数の有線通信方式のネットワークを無線通信で接続する。具体的には、各々が一つ以上のサブユニットを有する複数の1394AV機器間がIEEE1394インタフェースにより接続された複数のIEEE1394ネットワークを含むネットワークシステムにおいて、複数のネットワークのそれぞれにIEEE1394インタフェースとIEEE802.11aインタフェースを有する通信ユニットを少なくとも一つ設け、無線LANで接続する。
そして、非同期通信でコマンドを送るときは、受信側の通信ユニットは、送信側のユニットからの第1の規格(IEEE1394規格)に従った応答を待たずに、送信側の通信ユニットからの第2の規格(IEEE802.11規格)に従った応答を受け取ったことに基づいて受信側ユニットに第1の規格に従った応答を返すようにする。また、非同期通信でコマンドに対する応答を送るときは、送信側の通信ユニットは、受信側のユニットからの第1の規格に従った応答を待たずに、受信側の通信ユニットからの第2の規格に従った応答を受け取ったことに基づいて送信側ユニットに第1の規格に従った応答を返すようにした。
上記した手段によれば、受信側の通信ユニットと送信側の通信ユニットとの間で送受信するコマンドや応答を含むパケットの数すなわちトランザクション数を減らすことができ、これによりネットワーク間での無線通信量を減らして伝送データの誤り率を下げることができる。なお、本明細書においては、通信ユニットの無線区間で送受信される送信パケットとそれに対する応答パケットの組み合わせを、1トランザクションと数えることとする。
また、有線通信方式のネットワークによる通信を行なう第1のインタフェース手段と無線通信方式のネットワークによる通信を行なう第2のインタフェース手段とを有する通信ユニット通信機器を設ける。そして、いずれかの機器から送信された、他の有線通信方式のネットワークに接続された機器への同期通信によるデータの受信設定のための要求コマンドを受けた場合に、通信機器は他の有線通信方式のネットワークの情報に依存せずに自身が接続されている有線通信方式のネットワークの情報に基づいて受信設定を行なうように構成した。これにより、同期通信によるデータの受信設定の際に各ネットワークの通信機器間での無線通信量を減らして伝送データの誤り率を下げることができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
本発明によれば、IEEE1394ネットワークのような複数の有線式のネットワーク間を、IEEE802.11aの無線LANのような無線方式の通信で接続する場合に、無線区間でのデータの通信量を減らしてデータの誤り率を下げることができる。
本発明によれば、IEEE1394ネットワークのような複数の有線式のネットワーク間を、IEEE802.11aの無線LANのような無線方式の通信で接続する場合に、無線区間でのデータの通信量を減らしてデータの誤り率を下げることができる。
また、本発明によれば、IEEE1394ネットワークのような複数の有線式のネットワーク間を、IEEE802.11aの無線LANのような無線方式の通信で接続した場合でも、他の有線通信方式のネットワークの情報に依存せずに自身が接続されている有線通信方式のネットワークの情報に基づいて受信設定を行なうため、通信機器の処理負担を軽減することができる。
以下、本発明の好適な実施の形態を図面に基づいて説明する。
図1は、2つのIEEE1394ネットワークをIEEE802.11aの無線LANにより接続したネットワークシステムの一実施例を示すブロック図である。
図1において、100と110は各々IEEE1394規格に準拠して構築されたネットワークであり、本実施形態では、IEEE1394ネットワーク100と110は、IEEE 1394規格の有線通信機能とIEEE802.11a規格の無線通信機能とを有するWLANモジュール200と210に接続され、WLANモジュール200と210との間が無線LAN400により接続されている。
図1は、2つのIEEE1394ネットワークをIEEE802.11aの無線LANにより接続したネットワークシステムの一実施例を示すブロック図である。
図1において、100と110は各々IEEE1394規格に準拠して構築されたネットワークであり、本実施形態では、IEEE1394ネットワーク100と110は、IEEE 1394規格の有線通信機能とIEEE802.11a規格の無線通信機能とを有するWLANモジュール200と210に接続され、WLANモジュール200と210との間が無線LAN400により接続されている。
なお、本明細書では、無線通信機能をハードウェア及びソフトウエアで実現したものを通信ユニット、また、通信機能およびいずれか1つのAV機能をハードウェア及びソフトウエアで実現したものをユニットと称する。通信ユニットは、プリント配線が施された絶縁基板に複数の半導体チップとディスクリート部品を実装して上記プリント配線やボンディングワイヤで各部品が所定の役割を果たすように結合して1つの装置として構成することができる。以下、このように構成された無線LAN機能を有する通信ユニットをWLANモジュールと称する。
図1に示されているように、左側のIEEE1394ネットワーク100は1つのWLANモジュール200と3つの1394AV機器(一種のユニット)201〜203とにより構成され、これらの機器間がIEEE1394バス501〜503により接続されている。また、図1の右側IEEE1394ネットワーク110は1つのWLANモジュール210と1つの1394AV機器230とにより構成され、これらの機器間がIEEE1394バス511により接続されている。
上記1394AV機器201〜203はそれぞれセットトップボックス(STB),VTR1,VTR2であり、1394AV機器230はディスプレイ(Disp)である。このうち、1394AV機器(STB)201はサブユニットとしてのチューナ300を有し、VTR1は磁気テープ記録再生装置からなるサブユニット301,302を有する。また、VTR2は磁気テープ記録再生装置からなるサブユニット303を有し、ディスプレイとしての1394AV機器230はサブユニットとしてのモニタ304を有する。
WLANモジュール200と210は、IEEE1394インタフェースIF1と無線LANインタフェースIF2を持つ通信ノードである。各WLANモジュール200,210は、例えば図2に示すように、IEEE1394バス501に接続するためのインタフェースとしての1394PHY部(物理層)291および1394LINK部(リンク層)292、IEEE802.11aの無線LAN400に接続するためのインタフェースとしてのIEEE802.11aMAC部293およびIEEE802.11aPHY/RF部294を有する。
WLANモジュール200,210は、AV/Cプロトコルに従った通信処理をするためのAV/C処理機能(AV/C処理)とサブユニット管理を行うためのサブユニット管理機能(SU管理)と"Isochronous"パケットや"Asynchronous"パケットを解析したり形成したりするためのパケット処理機能(パケット処理)を有する制御部295を有する。さらに、WLANモジュール200,210は、制御部295が実行するプログラムが格納されるROM(リードオンリメモリ)296、制御部295によって管理される後述の変換テーブルやアドレステーブルが格納されるRAM(ランダムアクセスメモリ)297を有する。
なお、図2のような構成を有するWLANモジュール200,210は、これを1つの半導体チップ上に半導体集積回路として形成したり、あるいはこの半導体集積回路と容量素子などの外付け部品を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"でそれぞれのサブユニットを識別する。WLANモジュール200,210と1394AV機器201〜203および230は、識別コード(一種のユニットごとの識別情報)である"Node_ID"によって識別される。
なお、この実施例では、WLANモジュールと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コマンドである。
本実施例のネットワークシステムでは、WLANモジュール200は、IEEE1394ネットワーク100の機器接続状態変化時に取得した"Node_ID"と上記AV/Cコマンドである"Subunit_Info"を使用し、IEEE1394ネットワーク100上に接続されている1394AV機器201〜203のサブユニットに関する情報を収集する機能を有する。また、WLANモジュール210は、IEEE1394ネットワーク110の機器接続状態変化時に取得した"Node_ID"と上記AV/Cコマンドである"Subunit_Info"を使用し、IEEE1394ネットワーク110上に接続されている1394AV機器230のサブユニットに関する情報を収集する機能を有する。
さらに、この実施形態では、WLANモジュール200により収集されたIEEE1394ネットワーク100上の1394AV機器201〜203の"Node_ID"とサブユニットに関する情報"Subunit_Type" と"Subunit_ID"は、無線LAN400を介してWLANモジュール210に送信される。WLANモジュール210は、受信したIEEE1394ネットワーク100上の1394AV機器201〜203のサブユニットに関する情報から自分の中に仮想サブユニット310〜313を生成する機能と、図3に示すようなAV/Cコマンドパケット変換テーブル710を生成・保持する機能とを有する。AV/Cコマンドパケット変換テーブル710は、WLANモジュール210の制御部295(図2参照)で管理される。
具体的には、WLANモジュール210は、図3に示されるAV/Cコマンドパケット変換テーブル710中の"Subunit_Type"を、WLANモジュール200により収集されたIEEE1394ネットワーク100上の1394AV機器201〜203のサブユニット(機能ブロック)に関する情報の"Subunit_Type"に基づき生成する。また、WLANモジュール210は、図3の変換テーブル710におけるサブユニット情報に含まれる"Subunit_ID"をAV/Cの管理規格に従いそれぞれの"Subunit_Type"ごとに割り振る。
なお、本実施例では、図3に示されるWLANモジュール210内のAV/Cコマンドパケット変換テーブル710が、IEEE1394ネットワーク100上の1394AV機器201〜203から収集されたサブユニットに関する情報のうち"Subunit_Type","Subunit_ID"と"Node_ID"とWLANモジュール210が生成した"Subunit_ID"とから構成されているが、変換テーブル710に上記以外の情報を含めるようにしてもよい。
次に、IEEE1394ネットワーク110上の1394AV機器であるディスプレイ230から、他方のIEEE1394ネットワーク100上の1394AV機器201〜203を認識する動作を説明する。
先ず、IEEE1394ネットワーク110上のディスプレイ230からAV/Cコマンドである"Subunit_Info"がWLANモジュール210に対して発行される。すると、WLANモジュール210は"Subunit_Info"コマンドに対する応答として、WLANモジュール210が管理・保持するサブユニット情報を返信する。具体的には、WLANモジュール210は、図3に示されているAV/Cコマンドパケット変換テーブル710上の"Subunit_Type"とWLANモジュール210が生成した"Subunit_ID"の部分を返信する。ここで、WLANモジュール210が管理・保持するサブユニット情報は、WLANモジュール200が収集したIEEE1394ネットワーク100上の1394AV機器201〜203が持つサブユニット情報と同等である。そのため、IEEE1394ネットワーク110上のディスプレイ230によって、WLANモジュール210がIEEE1394ネットワーク100上の1394AV機器の機能をすべて包含した1394AV機器として認識される。
先ず、IEEE1394ネットワーク110上のディスプレイ230からAV/Cコマンドである"Subunit_Info"がWLANモジュール210に対して発行される。すると、WLANモジュール210は"Subunit_Info"コマンドに対する応答として、WLANモジュール210が管理・保持するサブユニット情報を返信する。具体的には、WLANモジュール210は、図3に示されているAV/Cコマンドパケット変換テーブル710上の"Subunit_Type"とWLANモジュール210が生成した"Subunit_ID"の部分を返信する。ここで、WLANモジュール210が管理・保持するサブユニット情報は、WLANモジュール200が収集したIEEE1394ネットワーク100上の1394AV機器201〜203が持つサブユニット情報と同等である。そのため、IEEE1394ネットワーク110上のディスプレイ230によって、WLANモジュール210がIEEE1394ネットワーク100上の1394AV機器の機能をすべて包含した1394AV機器として認識される。
次に、IEEE1394ネットワーク110上のディスプレイ230からIEEE1394ネットワーク100上の1394機器であるSTB201を操作する場合のネットワークシステムの動作を説明する。
1394AV機器を操作するコマンド(例えば、"選局"など)は1394TA規格にAV/Cコマンドの1つとして規定されている。このコマンドは、図4に示されているフォーマットを有する"Asynchronous"パケットで通信される。なお、図4のパケットにおいて、上半分の"HEAD"部分はパケットのヘッダ部、"DATA"はデータ領域を示している。"Asynchronous"パケットの各フィールドの役割については、1394規格の解説書等に記載されているので、主なフィールドの役割を説明し、他は省略する。
1394AV機器を操作するコマンド(例えば、"選局"など)は1394TA規格にAV/Cコマンドの1つとして規定されている。このコマンドは、図4に示されているフォーマットを有する"Asynchronous"パケットで通信される。なお、図4のパケットにおいて、上半分の"HEAD"部分はパケットのヘッダ部、"DATA"はデータ領域を示している。"Asynchronous"パケットの各フィールドの役割については、1394規格の解説書等に記載されているので、主なフィールドの役割を説明し、他は省略する。
図4において、符号"destination_ID"が付されているのは送信先の機器のIDが入るフィールド、"source_ID"は送信元の機器のIDが入るフィールド、"subunit type"はサブユニットの機能の種別を示すコードが入るフィールド、"Id"はサブユニットが複数ある場合にそれぞれを区別するコードが入るフィールドである。
ディスプレイ230がSTB201を操作する場合、まず、図5に示されているように、"Subunit_Type"に"tuner"が、また"Subunit_ID"に"Subunit_ID00"が格納されたAV/Cコマンド"opcode"を含む"Asynchronous"パケットを、WLANモジュール210内の仮想サブユニット310に対して送信する。このとき、図5に示される"Asynchronous"パケットの"destination_ID"にはWLANモジュール210の識別コード"Node_ID00"が、"source_ID"にはネットワーク110上での自分自身の識別コード"Node_ID01"が格納される。
ディスプレイ230から送られた図5に示される"Asynchronous"パケットを受信したWLANモジュール210は、図3に示されているAV/Cコマンドパケット変換テーブル710を参照して"destination_ID"と"Subunit_ID"を、ネットワーク100上の被制御機器であるSTB201を指す"Node_ID01"とサブユニットであるチューナ300を指す "Subunit_ID00"に変換する。その後、ネットワーク100のWLANモジュール200へ変換後の"Asynchronous"パケットを送信する。
変換後のパケットを受信したWLANモジュール200は、パケットの"source_ID"に自己の識別コード"Node_ID00"を格納するとともに、エラー訂正符合CRCを再計算したものを"header CRC"と"data CRC"にそれぞれ格納した図6に示すような"Asynchronous"パケットをIEEE1394バスケーブル501上へ送信する。すると、ネットワーク100上の1394機器である"Node_ID01のSTB201は、上記パケットを受信し、パケット内のAV/Cコマンドコードを解読し、コマンドに対応した処理を行う。
なお、本実施形態においては、AV/Cコマンドパケット変換テーブル710をネットワーク110側のWLANモジュール210に持たせているが、ネットワーク100のWLANモジュール200に保持させて"Asynchronous"パケットの変換をWLANモジュール200で行うようにしてもよい。
また、3つ以上のIEEE1394ネットワークが無線LANで接続されたネットワークシステムにおいても、各WLANモジュールが、本実施形態と同様にして、他のIEEE1394ネットワークに存在する1394AV機器の機能ブロックに関する情報を得る。そして、仮想サブユニットとAV/Cコマンドパケット変換テーブルを生成することで、異なるネットワーク間にまたがった1394AV機器の制御を実現できるように構成することができる。
次に、本実施形態を適用した図1のネットワークシステムにおけるAV/Cコマンドを含む"Asynchronous"パケットのより詳しい通信処理手順の一実施例を、図7を用いて説明する。図7では、通常行う処理を実線で示し、通常では行わない処理を一点鎖線で示し、従来方式では実行される処理を破線で示してある。なお、図7の手順に従った通信が開始される前に、前述した図3の変換テーブルがWLANモジュール210において作成されているものとする。
ステップS1:ディスプレイ230が、STB201へ送信したいAV/Cコマンドを含む"Asynchronous"パケットを、WLANモジュール210に対して発行する。このときディスプレイ230が設定するパケット内の"destination_ID"等のヘッダ情報は、WLANモジュール210を示すものである。
ステップS2:WLANモジュール210は、受信したAV/Cコマンドを含むパケット"AVC_Com"を、変換テーブルを参照して実際の送信先となる機器(ここではSTB201)を特定する。そして、パケット内の"destination_ID"と"Subunit_ID"を、特定した機器を示すコードに書き替えて、無線LAN400によりWLANモジュール200へ送信する。また、WLANモジュール210は、AV/Cコマンドを受信したとき"Interim"パケット返信用のタイマーを起動させる。
ステップS3:WLANモジュール210は、WLANモジュール200からの無線LAN400を介した802.11のACKパケットを受信する。このACKパケットを受信できないときは、所定時間(Split Time Out値)まで受信待ちを行なう。
ステップS4:WLANモジュール210は、802.11のACKパケットを受信できた場合には、"rcode"を、通信成功を示す"complete"とした"1394WriteRsp"パケットをディスプレイ230へ返す。また、802.11のACKパケットを受信できなかった場合には、"rcode"を、通信エラーを示す"conflict Error"とした"1394WriteRsp"パケットをディスプレイ230へ返す。
本来、この"1394WriteRsp"パケットは、WLANモジュール210が後述のステップS6のWLANモジュール200からの"1394WriteRsp"を受けその応答を行なってから行なうべきところを、この実施例ではこの手続きP1,P2を省略している。そのため、無線LAN400を介して送受信するパケットの量を減らすことができる。1394ネットワークは有線方式の通信であるため、次のステップS5,S6の通信はほぼ間違いなく実行されるので、この実施例のような省略を行なっても実用上ほとんど問題は生じない。
ステップS5:1394ネットワーク100側のWLANモジュール200は、WLANモジュール210からの無線LAN400を介したパケット"AVC_Com"を受信すると、パケット内のヘッダ部の"source_ID"をネットワーク100上での自分自身の識別コード"Node_ID"に書き替えてSTB201へ送信する。これにより、STB201はWLANモジュール200が送信したパケットを自己宛のAV/Cコマンドであると認識することができる。
ステップS6:STB201は、1394ネットワークでのAV/Cコマンドパケットの送信に対する応答として応答パケット"1394WriteRsp"を送信し、WLANモジュール200がこれを受信する。なお、この応答パケットの内容がNG(complete以外)のときは、WLANモジュール200がWLANモジュール210に対して、1394ネットワーク110側のバスリセットを要求するコマンドを発行するように構成しても良い。バスリセットを発生させることで、最初のデータ送信要求を行なったディスプレイ230における送信AV/Cコマンドに対応した未完了のトランザクション処理を破棄させることができる。
ステップS7:WLANモジュール210は、例えばステップS4のパケット送信後所定時間経過すると、ディスプレイ230へ "Interim"パケットを発行する。このパケットは、本来、ステップS4での"1394WriteRsp"パケットの内容が"complete"で、ステップS1でAV/Cコマンドを受けてから100m秒以内に後述のステップS9の応答を受けることができたか否か判定してステップS12の応答をできないときに発行する、後で応答を返すことをとりあえず知らせる暫定応答パケットである。本実施例では、ステップS9の応答を受ける前にWLANモジュール210がタイマー処理でディスプレイ230へ"Interim"パケットとして送信するようにしている。そして、送信側WLANモジュール200は、STB201から"Interim"パケットを受け取ったとしてもWLANモジュール210へ転送するのを省略することができ、これにより無線区間での通信量を減らすことができる。
なお、この"Interim"パケットを受信したときには、図7では省略しているが、ディスプレイ230は"1394WriteRsp"パケットをWLANモジュール210へ返す。また、このパケットの発行は、最初にWLANモジュール210へ送ったAV/Cコマンドが"Interim"の返信を必要とするコマンドつまり応答までにかなり時間を必要とするようなコマンドであった場合に行なうようにすれば良く、ステップS1の送信コマンドによっては省略しても良い。また、このタイマーによる自動的な"Interim"パケットの送信を行なった場合には、次のステップS8で実際にSTB201がWLANモジュール200へ"AVC_Rsp"の代わりに"Interim"パケットを送ったとしても、ステップS7で既にWLANモジュール210からディスプレイ230へ送っているので、再度の送信は不要である。
ステップS8:STB201は、ステップS6で応答パケット"1394WriteRsp"を送信した後、AV/Cコマンドの制御内容に対する応答としてAV/Cレスポンス"AVC_Rsp"を送信しWLANモジュール200がこれを受信する。
ステップS9:AV/Cレスポンス"AVC_Rsp"を受信したWLANモジュール200は、AV/Cレスポンステーブルを参照して、最初のAV/Cコマンドの送信元(ここではディスプレイ230)を特定する。そして、パケットのヘッダ部の"destination_ID"を、AV/Cコマンドの送信元の"Node_ID"に書き替えて、"AVC_Rsp"を無線LAN400上へ送信し、WLANモジュール210が受信する。
ステップS10:WLANモジュール210は無線LAN400を介したパケット"AVC_Rsp"を受信すると、802.11のACKパケットを送信し、WLANモジュール200がこれを受信する。また、802.11のACKパケットを受信できないときは、所定時間(Split Time Out値)まで受信待ちを行なう。
ステップS11:WLANモジュール200は、ステップS10で802.11のACKパケットを受信できた場合には、"rcode"を、通信成功を示す"complete"とした1394WriteRspパケットをSTB201へ返す。また、802.11のACKパケットを受信できなかった場合には、"rcode"を、通信エラーを示す"conflict Error"とした"1394WriteRsp"パケットをディスプレイ230へ返す。本来この"1394WriteRsp"パケットは、WLANモジュール210が後述のステップS12のディスプレイ230からの"1394WriteRsp"を受けその応答を行なってから行なうべきところを、この実施例ではこの手続きP3,P4を省略している。そのため、無線LAN400を介して送受信するパケットの量を減らすことができる。
ステップS12:WLANモジュール210は、AV/Cレスポンス"AVC_Rsp"を受信した場合には、変換テーブルを参照してパケット内の"destination_ID"と"Subunit_ID"をディスプレイ230が発行した値に書き換える。さらにWLANモジュール210は、パケットのヘッダ部の"Source_ID "を、WLANモジュール210の"Node_ID"に書き替えて1394バス511を介してディスプレイ230へ送信する。
ステップS13:ディスプレイ230は、"1394WriteRsp"パケットをWLANモジュール210へ返す。WLANモジュール210は、この"1394WriteRsp"パケットを受信すると、パケットの内容がNG(complete以外)であった場合でも、NGに対する対応処理はしない。ちなみに、NGの場合には、例えばディスプレイ230が最初に発行したAV/Cコマンドをキャンセルさせる。つまり、ディスプレイ230においてAV/Cコマンドのシステムタイムアウトを発生させて、ディスプレイ230による本フローチャートに従ったコマンド発行のリトライを実行させるようにする。
図7を参照すると分かるように、AV/Cコマンドの送信では、無線機器200−210間で、ステップS2,S3の送受信と、P1,P2の送受信と、S9,S10の送受信と、P3,P4の送受信、の計4つのトランザクションが必要である。ところが、本実施例では、ステップS2,S3の送受信とS9,S10の送受信の2つのトランザクションのみでよく、トランザクション数を半分に減らすことができる。
(変形例)
図8には、AV/Cコマンドを含む"Asynchronous"パケットの通信処理手順の変形例が示されている。図8では、通常行う処理を実線で示し、通常では行わない処理を一点鎖線で示し、従来方式では実行される処理を破線で示してある。
図8には、AV/Cコマンドを含む"Asynchronous"パケットの通信処理手順の変形例が示されている。図8では、通常行う処理を実線で示し、通常では行わない処理を一点鎖線で示し、従来方式では実行される処理を破線で示してある。
この変形例は、図7の実施例のフローにおけるステップS7でのタイマーによる自動的な"Interim"パケットの返信を行なわず、最初にコンテンツ送信側の機器(STB)で"Interim"パケットの発行(ステップS7-1)を行ない、それをWLANモジュール200から210へ送信(ステップS7-2)する。そして、さらにWLANモジュール210からディスプレイ230へ送信(ステップS7-3)し、その応答(ステップS7-4,S7-5,S7-6)を行なうようにした場合のものである。
なお、この"Interim"パケットの返信は、必ず行なわれるものではなく、前述したように最初に発行するコマンドの種類によっては行なわない場合があるので、図8では一点鎖線で示されている。他の通信は図7の実施例と同様であるので、説明は省略する。本変形例においても、破線で示すような無線LAN上でのパケットの送信P1〜P4がないため、無線LANで送受信されるパケットの量が少なくなるという利点がある。
次に、図1のネットワークシステムにおいて、"Isochronous"パケットを用いて動画像のようなコンテンツデータを送信する場合の動作と本発明を適用した場合の通信処理手順を説明する。図9には、IEEE1394ネットワーク110上の1394AV機器としてのディスプレイ230からの要求に応じて、IEEE1394ネットワーク100上の1394AV機器としてのSTB(チューナ)201からディスプレイ230へコンテンツデータを送信する場合の接続が示されている。
無線LAN400を介して"Isochronous"パケットでコンテンツデータを送信する場合、IEEE1394ネットワーク100と110との間でデータを送信する場合の伝送チャネルを管理するためのチャネル変換テーブル701が、IEEE1394ネットワーク110のWLANモジュール210内に生成される。またWLANモジュール200が無線LAN400を介して他のネットワークのWLANモジュール210と通信する場合に使用する無線LANを特定するための無線LANアドレス管理テーブル700がIEEE1394ネットワーク100のWLANモジュール200内に生成される。
これらのアドレス管理テーブル700とチャネル変換テーブル701とを用いることにより、図1のネットワークシステムにおいて、IEEE1394ネットワーク100に接続された任意の1394AV機器からIEEE1394ネットワーク110の任意の1394AV機器との間で"Isochronous"パケットによるデータ通信を行うことが可能となる。
図10(A)にアドレス管理テーブル700の構成例が、また図10(B)にチャネル変換テーブル701の構成例が示されている。アドレス管理テーブル700は、WLANモジュール200がIEEE1394ネットワーク100上で獲得した"Isochronous"チャネルと"Isochronous"データ送信先のWLANモジュールのある無線LANアドレスとの対応を示す。また、チャネル変換テーブル701はWLANモジュール200がIEEE1394ネットワーク100上で獲得した"Isochronous"チャネルと1394AV機器230がIEEE1394ネットワーク110上で獲得した"Isochronous"チャネルとの対応を示す。
アドレス管理テーブル700は、図10(A)に示されているものに固定されるわけではなく、接続するネットワークの数や各ネットワーク上のAV機器の数が変わればそれに応じて変更されるものである。また、図10(B)のチャネル変換テーブル701も、データを伝送したい機器が変更される毎に変更することができる。
ここで、図1のネットワークシステムにおいて、一例として、IEEE1394ネットワーク100に接続された1394AV機器であるSTB201のサブユニット(チューナ)からIEEE1394ネットワーク110の1394AV機器であるディスプレイ230に"Isochronous"データを送信する場合の通信経路確立の手順を、図9を用いて説明する。図9において、301は1394AV機器201に付随するサブユニットであり、304はAV機器230に付随するサブユニットである。さらに310〜313はWLANモジュール210内に構築されたネットワーク100の仮想サブユニットである。
複数のWLANモジュールが無線LANで接続されているネットワークにおいて、データを送信する場合には図11に示すような"Isochronous"パケットが用いられる。また、通信を行なおうとするWLANモジュール200と210は"Isochronous"データを要求のあった1394AV機器に正しく送信するために通信経路を確保する必要がある。この通信経路の確保の際に、WLANモジュール210において生成されたチャネル変換テーブル701とWLANモジュール200において生成された無線LANアドレス管理テーブル700が使用される。
"Isochronous"通信を行う場合においてIEEE1394バス上の信号経路を論理的に扱う概念として"プラグ"が定義されている。プラグには、1394AV機器内のサブユニットと1394AV機器の入出力経路を論理的に表現するためのサブユニットプラグおよびユニットプラグと、IEEE1394ネットワーク上での通信経路を論理的に表現するための入力プラグと出力プラグがある。
1394AV機器内の入出力経路を示すサブユニットプラグとユニットプラグの接続は、他の1394AV機器による指示で行うことができる。具体的な接続指示は、AV/Cコマンドである"Connect"コマンドを用いる。IEEE1394ネットワーク上の"Isochronous"通信経路を示す1394AV機器の入力プラグと出力プラグの接続は、IEC61883規格で規定されているCMP(Connection Management Procedure)に基づいて確立される。複数の1394AV機器が接続されているネットワークでは、AV/Cコマンドによるサブユニットとユニットのプラグ接続と"Isochronous"通信経路の確立により、1394AV機器間での"Isochronous"通信を行うことができる。
データの送受信の際の通信路の確保に使用される無線LANアドレス管理テーブル700とチャネル変換テーブル701の生成には、1394AV機器間で"Isochronous"データ通信を行う際にAV/Cで規定されている"Subunit"プラグと入力プラグ及び出力プラグとの接続を要求する"Connect"コマンドが利用される。また、WLANモジュール210のサブユニットとIEEE1394ネットワーク100上の1394AV機器との対応は、WLANモジュール210が保持する前述のAV/Cコマンドパケット変換テーブル710により管理されているものとする。
IEEE1394ネットワーク110上のディスプレイ230からの要求で、IEEE1394ネットワーク100に接続された1394AV機器(STB)201のサブユニット302から動画像のようなコンテンツを"Isochronous"パケットで送信する場合、まずディスプレイ230がAV/Cの"Connect"コマンドを発行する。この"Connect"コマンドは、STB201のサブユニット300に対応するWLANモジュール210内の仮想サブユニット310を示す"Subunit_Type"が"Tuner"に、また"Subunit_ID"が"00"に設定される。このコマンドは"Asynchronous"パケットによりWLANモジュール210に対し送信される。
この"Connect"コマンドを受けたWLANモジュール210は、仮想サブユニット310の"Subunit"プラグ630とWLANモジュール210の出力プラグ631とを接続する(図9参照)。また、ディスプレイ230は、自己の入力プラグ632とWLANモジュール210の出力プラグ631とを接続して"Isochronous"通信経路の確立を行う。"Isochronous"通信経路の確立時に、IEEE1394ネットワーク110での"Isochronous"チャネル(例えばIso ch=0)が決定される。
また、WLANモジュール210は、ディスプレイ230から受信した"Connect"コマンドを含むAsynchronous"パケットに含まれる"Subunit_Type"="Tuner"と"Subunit_ID"="00"からAV/Cコマンドパケット変換テーブル710を参照して、IEEE1394ネットワーク100でのAV/Cコマンド送信先であるSTB201のサブユニット300を特定するコードに変換した後、該コードをWLANモジュール210の無線LANの固有番号である無線LANアドレス(例えばWLAN0)と共に無線LAN400を介してネットワーク100のWLANモジュール200へ通知する。
WLANモジュール200は、WLANモジュール210より受信した"Connect"コマンドによって、"Isochronous"データの送信元となるSTB201のサブユニット300に対する"Connect"コマンドの発行すなわち"Connect"コマンドを含む"Asynchronous"パケットの送信を行う。"Connect"コマンドを受信したSTB201は、"Subunit"プラグ600と出力プラグ610との接続を行う。また、WLANモジュール200は、出力プラグ610と入力プラグ612間で"Isochronous"通信経路の確立を行う。このとき、IEEE1394ネットワーク100での"Isochronous"チャネル(例えばIso ch=1)が決定される。このようにして決定された"Isochronous"チャネルとWLANモジュール210の無線LANアドレス(WLAN0)を用いてWLANモジュール200内において無線LANアドレス管理テーブル700が生成される。
さらに、WLANモジュール200は、IEEE1394ネットワーク100での"Isochronous"チャネル(Iso ch=1)をWLANモジュール210に通知する。すると、WLANモジュール210は、通知されたIEEE1394ネットワーク100での"Isochronous"チャネル(Iso ch=1)と、IEEE1394ネットワーク110上でディスプレイ230とWLANモジュール210の間で設定された"Isochronous"チャネル(Iso ch=0)とからチャネル変換テーブル701を生成する。
ここで、一例として、IEEE1394ネットワーク110に接続されたディスプレイ230が、IEEE1394ネットワーク100上のSTB201のサブユニット(チューナ)300からのデータ(画像コンテンツ)を含む"Isochronous"パケットを無線LAN経由で受信する場合を説明する。
図11は、"Isochronous"パケットのフォーマットを示す。"Isochronous"パケットは、ヘッダ部HEADとデータ部DATAとからなる。"Isochronous"パケットの各フィールドの役割については、1394規格の解説書等に記載されているので、主なフィールドの役割を説明し、他は省略する。
図11において、符号"channel"はアイソクロナス通信時の仮想の伝送番号が入るフィールド、"SID"は送信元の機器のIDが入るフィールド、"DATA"はデータが入るフィールド、"data CRC"はデータ部分のエラー訂正符号が入るフィールドである。"Asynchronous"パケットにある"destination_ID"のフィールドが"Isochronous"パケットにないのは、"Connect"コマンドを含む"Asynchronous"パケットにより予め通信経路が確立されるためである。
通信経路が確立されると、STB201に含まれるサブユニット300から送信されたコンテンツデータを含んだ"Isochronous" パケットはWLANモジュール200で受信される。そして、WLANモジュール200は"Isochronous" パケット受信時に図10(A)の無線LANアドレス管理テーブル700を参照し、受信した"Isochronous" パケットの"Isochronous"チャネル(Iso ch=1)から送信先のWLANモジュール210の無線LANアドレス(WLAN0)を決定し、無線LANアドレスWLAN0で示されるWLANモジュール210へ送信する。
この"Isochronous" パケットを受信したWLANモジュール210は、図10(B)のチャネル変換テーブルを参照して、IEEE1394ネットワーク110上での使用チャネルを決定し、パケットの"channel"フィールドを書き換えるとともに、"SID"部を自機器のNodeID"00"に書き換える。この変換後の"Isochronous" パケットは、IEEE1394ネットワーク110のデータとしてWLANモジュール210がケーブル511上へ出力し、ディスプレイ230が受信する。
以上の手順により、IEEE1394ネットワーク100上のSTB201から送信された"Isochronous" パケットを、IEEE1394ネットワーク110上のディスプレイ230が受信可能な"Isochronous" パケットへ変換することが可能になる。
次に、本実施形態を適用した図1のネットワークシステムにおける映像データのようなコンテンツを含む"Isochronous"パケットの受信のための設定処理の詳しい通信処理手順の一実施例を、図12を用いて説明する。尚、従来方式では実行される処理を破線で示してある。
なお、図12のステップS20〜S40に従った受信設定処理が開始される前に、前述した図3の変換テーブルがWLANモジュール210において作成されているものとする。また、実際に"Isochronous"パケットが送信される前に、ネットワークにおけるコンテンツの送信が可能かどうかを確認するため、図12のステップS01〜S04のような処理が実行されているものとする。なお、この確認処理は、例えばシステムの電源が投入された際に実行される初期化処理の中で行なうようにすることができる。
ステップS01:WLANモジュール200が、STB201など1394ネットワーク100上の1394AV機器201〜203へ各機器の制御部295内のoMPR(アウトプットマスタプラグレジスタ)と呼ばれるレジスタの内容を読み出すコマンドを含む要求パケット"oMPR Read Req"を送信する。oMPRは、IEC61883と呼ばれる規格で規定されているレジスタである。
ステップS02:1394AV機器201〜203がWLANモジュール200へSTBの制御部295内のoMPRレジスタの内容を含む応答パケット"oMPR Read Rsp"を返す。この応答パケットのプラグ数を示すフィールドを解析することにより、WLANモジュール200は、1394ネットワーク100上の1394AV機器201〜203がコンテンツの送信が可能かどうかを確認することができる。
ステップS03:WLANモジュール200が、1394AV機器201〜203の各機器のoMPRレジスタの内容を知らせる独自のベンダコマンド"MPR Info_Ntf"を、無線LAN400を介してWLANモジュール210へ送信する。このoMPRレジスタの内容からプラグ数を示すフィールドを解析することにより、WLANモジュール210は、1394ネットワーク100上の1394AV機器201〜203がコンテンツの送信が可能かどうかを知ることができる。WLANモジュール210は、受け取った内容を図3の変換テーブルと一体もしくは別個のテーブルとして管理することで、1394ネットワーク100上の1394AV機器であるディスプレイ230等から実際にSTB201等に対するステップS20のコンテンツの受信要求があった場合に、テーブルのデータを用いて対応することができる。具体的には、コンテンツ送信が不可である機器に対する受信要求があった場合には、自動的に拒否する等の処理を行うことができる。
ステップS04:WLANモジュール210が、コマンドを受け取ったことを知らせるため、無線LANの規格802.11で規定されている応答パケット"ACK"を、無線LAN400を介してWLANモジュール200へ送信する。これにより、1394AV機器201〜203がコンテンツの送信が可能かどうかの確認作業が終了する。
図12に示されているステップS1〜S13は、"Asynchronous"パケットの送信手順を示す図7のフローと同様な手順により、ディスプレイ230とSTB201との通信経路の接続を確立するためのAV/Cコマンドを含む"Asynchronous"パケットと応答パケットの受け渡し処理である。図7のフローとの違いは、ディスプレイ230により発行される "Asynchronous"パケットに含まれるAV/Cコマンドが、"Connect"(=接続)に特定されている点である。ステップS1〜S13による通信経路の接続確立がなされた後に、以下のステップS20〜S40によるコンテンツの受信設定処理が実行される。なお、このうちステップS20〜S25およびS30〜S35は、図9を用いて説明した前述の1394AV機器間で通信経路を確立するための処理に相当する。
ステップS20:ディスプレイ230が、STB201へ送信したい各機器の制御部295内のoPCR(アウトプットプラグコントロールレジスタ)と呼ばれるレジスタの内容を読み出すコマンドを含む要求パケット"oPCR Read Req"を、1394ネットワーク110を介してWLANモジュール210へ送信する。oPCRは、IEC61883と呼ばれる規格で規定されているレジスタである。後に行なわれるトランザクション"Lock"を実行するために、予め書き込み前のレジスタの内容を知っておく必要があるためである。
ステップS21:パケット"oPCR Read Req"を受信したWLANモジュール210が、自己が所有しているoPCRレジスタの内容(WLANモジュール200が所有している内容ではない)を応答パケット"oPCR Read Rsp"に入れて要求元のディスプレイ230へ返す。本来ならば、"oPCR Read Req"を受信したWLANモジュール210が、破線P5のようにネットワーク100側のWLANモジュール200へこのパケットを転送し、それに対する応答パケット(P6)を受け取ってから"oPCR Read Rsp"に入れて要求元のディスプレイ230へ返すべきところである。この実施例ではこの手続きP5,P6を省略しているため、その分、無線LAN400を介して送受信するパケットの量を減らすことができる。また、この実施例では、"oPCR Read Req"をWLANモジュール200へ転送しないため、ディスプレイ230がSTB201のoPCRレジスタの内容を取得することは不可能である。そのため、ここではWLANモジュール210自身が所有しているoPCRレジスタの内容を返している。尚、P5,P6を省略しているため、これ以降の処理では、無線LAN400を介して接続されている1394ネットワーク内での情報に依存せず、WLANモジュール自身が接続されている1394ネットワーク内での情報に基づいた設定となる。
ステップS22:ディスプレイ230は、1394ネットワーク110内でのIRM(Isochronous Resource Manager)へアクセスしてリソースを獲得する。本来ならば、ディスプレイ230がまず1394ネットワーク110内でのリソースを獲得し、その後1394ネットワーク100内でのリソース獲得のために、WLANモジュール210からネットワーク100側のWLANモジュール200へ、1394ネットワーク110内でのリソース獲得値と同値でのリソース獲得用パケット(P7)を送る。そして、それに対する応答パケット(P8)を受け取るようなIRMによるリソース獲得処理を行なうべきところである。この実施例ではこの手続きP7,P8を省略しているため、その分、無線LAN400を介して送受信するパケットの量を減らすことができる。
ステップS23:ディスプレイ230が、STB201へ送信したい各機器の制御部295内のoPCRレジスタの内容を書き換えるコマンドを含む要求パケット"oPCR Lock Req"を、1394ネットワーク110を介してWLANモジュール210へ送信する。このトランザクション"Lock"を受けたWLANモジュール210は、自己が所有しているoPCRレジスタの内容を書き換える。このとき、書込み前のレジスタの内容と書き替えたい箇所のデータとの論理をとって書込みを行なう。なお、このとき1394ネットワークでのデータ転送速度も設定されるが、転送速度の遅い無線LANでのオーバーヘッドを考慮してデータ転送速度は少し低く設定しておくのが望ましい。
ステップS24:パケット"oPCR Lock Req"を受信したWLANモジュール210が、書き替え後のoPCRレジスタの内容を応答パケット"oPCR Lock Rsp"に入れて要求元のディスプレイ230へ返す。本来ならば、"oPCR Lock Req"を受信したWLANモジュール210が、破線P9のようにネットワーク100側のWLANモジュール200へこのパケットを転送し、それに対する応答パケット(P10)を受け取ってから"oPCR Lock Rsp"に入れて要求元のディスプレイ230へ返すべきところである。この実施例ではこの手続きP9,P10を省略しているため、その分、無線LAN400を介して送受信するパケットの量を減らすことができる。
ステップS30〜S34:上記ステップS20〜S24と同様な処理を、1394ネットワーク100上のSTB201とWLANモジュール200との間で行なう。このうち、ステップS30とS33のパケット送信は、本来ならばP5とP9のパケットの送信を受けて行なうべきところを、この実施例では、ステップS2のAV/Cコマンド"Connect"の受信をトリガとして、WLANモジュール200がタイマー等で自動的に行なうようにしている。これによって、手続きP5〜P10を省略することが可能になる。また、ここでの設定は、1394ネットワーク110内での情報に依存せず、1394ネットワーク100内での情報に基づいて行う。
ステップS35:S35〜S36は、WLANモジュール200と210との間で、それぞれの内部で行われた受信設定が適切に行われたかを確認するための処理であり、まず受信側すなわちデータ要求側WLANモジュール210が送信側のWLANモジュール200へ、独自のベンダコマンドである内部状態受信要求パケット"PtoP Receive Sts Req"の送信を行なう(ステップS35)。ここで、"PtoP"はPoint to Pointの略であり、1:1の受信設定であることを意味している。
ステップS36:WLANモジュール200が、WLANモジュール210からのパケットを受け取ったことを知らせるため、無線LANの規格802.11で規定されている応答パケット"ACK"を、無線LAN400を介してWLANモジュール210へ送信する。
ステップS37:送信側のWLANモジュール200が、受信側のWLANモジュール210へ、独自のベンダコマンドである内部状態を通知する応答パケット"PtoP Receive Sts Rsp"の送信を行なう。
ステップS38:WLANモジュール210が、WLANモジュール200からのパケットを受け取ったことを知らせる802.11の応答パケット"ACK"を、無線LAN400を介してWLANモジュール200へ送信する。
S25〜S27は、WLANモジュール200と210との間で行われた受信設定状態の確認処理の結果、送信側の1394ネットワーク100で"PtoP"の受信設定の確立がNG(不成功)の場合に行なわれるエラー処理である。
このエラー処理では、受信側のWLANモジュール210がディスプレイ230へ、WLANモジュール210内のoPCR(アウトプットプラグコントロールレジスタ)に設定した内容のキャンセルを要求するコマンドパケット"PtoP Break Myself Req"の送信を行なう(ステップS25)。
続いて、ディスプレイ230が、受信側のネットワークのWLANモジュール210へ、PCRの設定内容をキャンセルするための"Lock"トランザクションの発行を行なう(ステップS26)。そして、WLANモジュール210がディスプレイ230へ、当該"Lock"トランザクションに対する応答を行なう(ステップS27)。
S39〜S40は、WLANモジュール200と210との間で行われた受信設定状態の確認処理の結果、受信側すなわちデータ要求側の1394ネットワーク110で"PtoP"の受信設定の確立がNG(不成功)の場合に行なわれるエラー処理である。
このエラー処理では、送信側のWLANモジュール200からSTB201へ、STB201内のoPCR(アウトプットプラグコントロールレジスタ)に設定した内容をキャンセルするための"Lock"トランザクションの発行を行なう(ステップS39)。そして、STB201がWLANモジュール200へ、当該"Lock"トランザクションに対する応答を行なう(ステップS40)。
以上、エラーがあった場合には、ステップS25〜S27のエラー処理またはステップS39〜S40のエラー処理を実行して、一連の受信設定処理は完了となる。なお、かかるエラー処理終了後に、ディスプレイ230はAV/Cコマンドである"Disconnect"(=切断)を発行することで、図12のステップS1を実行可能な状態に戻ることができる。また、現在受信中であった場合に受信設定処理を解除させたい場合には、ステップS1〜S3においてIEC61883規格で規定されているPtoP破棄処理を行い、ステップS35〜S38でお互いの1394ネットワークでの処理結果を確認し合って、処理完了となる。
上述したように、本実施例においても、図8のP1〜P4とS7-2,S7-5に相当する無線区間での送受信および図12のP5〜P10の送受信が不要であるため、トランザクション数を減らすことができる。
(変形例)
図13には、"Isochronous"パケットを用いたコンテンツの受信設定処理の手順の変形例が示されている。
この変形例は、図12の実施例のフローにおけるステップS1〜S13の処理とステップS20〜S40の処理の実行順序を逆にしたものである。ただし、処理の実行順序を逆にしたことにより、図12のステップS30のトリガがなくなり、送信側の1394ネットワーク100でのプラグ接続処理と受信側の1394ネットワーク110でのプラグ接続処理を並行して行うことができなくなる。
図13には、"Isochronous"パケットを用いたコンテンツの受信設定処理の手順の変形例が示されている。
この変形例は、図12の実施例のフローにおけるステップS1〜S13の処理とステップS20〜S40の処理の実行順序を逆にしたものである。ただし、処理の実行順序を逆にしたことにより、図12のステップS30のトリガがなくなり、送信側の1394ネットワーク100でのプラグ接続処理と受信側の1394ネットワーク110でのプラグ接続処理を並行して行うことができなくなる。
そこで、この変形例では、ステップS35の代わりとなるステップS35’で、データ要求側WLANモジュール210から送信側のWLANモジュール200へ、受信要求パケット"PtoP Receive Req"の送信を行ない、これをトリガとしてステップS30〜S34を開始する。そして、ステップS30〜S34の終了後に、送信側のWLANモジュール200が受信側のWLANモジュール210へ、無線LAN400を介して応答パケット"PtoP Receive Rsp"を送信し、WLANモジュール210がパケットを受け取ったことを知らせる802.11の応答パケット"ACK"をWLANモジュール200へ送信するようにしている。
図13において、ステップS20〜S24は、図12のフローチャートのステップS20〜S24に説明したのと同様な処理である。ステップS20では、ディスプレイ230が、oPCRレジスタの内容を読み出すコマンドを含む要求パケット"oPCR Read Req"をWLANモジュール210へ送信する。ステップS21では、WLANモジュール210自身が所有しているoPCRの内容をディスプレイ230へ返す。ステップS22では、受信に必要なチャネルや使用帯域をIRMより獲得する。つまり、ディスプレイ230が、自身の有するパラメータを用いて取得する値を決定する。別の言い方をすれば、他の1394ネットワーク内の情報には依存しない設定内容となる。
ステップS23では、ディスプレイ230がWLANモジュール210に対して、oPCRのLockトランザクションを発行する。ただし、伝送スピードに関しては、無線区間でのオーバーヘッドを考慮して、設定値は例えば100Mビット/秒に固定する。また、このとき実際のターゲットとなるAV機器(STB201等)を特定するために、図5のtlフィールド(Transaction Labelフィールド)にターゲットとなるAV機器情報を設定することも可能である。
ステップS24では、WLANモジュール210が、応答パケット"oPCR Lock Rsp"をディスプレイ230へ送信する。
ステップS24では、WLANモジュール210が、応答パケット"oPCR Lock Rsp"をディスプレイ230へ送信する。
この変形例では、ステップS20〜S24による受信側のネットワーク110での受信設定処理が不成功であると、ここで処理が終了し、図12のフローのように最後のエラー処理まで行かない点に特長がある。すなわち、この変形例では、ステップS20〜S24の受信設定処理が成功した場合にのみ、ステップS35’へ移行して、データ要求側WLANモジュール210から送信側のWLANモジュール200への受信要求パケット"PtoP Receive Req"の送信とそれ以降の処理が行なわれる。
"PtoP Receive Req"で送信される受信側のパラメータは、例えば受信側の1394機器のノードiDと、接続の確立または破棄の情報と、パケットのタイプ(ブロードキャストかポイント・ツー・ポイント)を示す情報に制限され、使用帯域等の細かな情報は省略される。ステップS30〜S34は図12のフローチャートのステップS30〜S34に説明したのと同様な処理である。
そして、ステップS37’の応答パケット"PtoP Receive Rsp"により送信側のネットワーク100での受信設定処理が不成功であることが分かると、図示しないがステップS25〜S27のエラー処理に相当する処理が実行される。一方、この変形例では、送信側のネットワーク100での受信設定処理が不成功であっても、図12のステップS39〜S40のエラー処理に相当する処理は実行されない。このように、図13の変形例のフローは、受信設定処理が成功の場合には、図12のフローよりも少し時間がかかるが、受信設定処理が不成功の場合には、図12のフローよりも処理の完了が早くなるという利点がある。
なお、この変形例では、WLANモジュール210が、ステップS37’で、内容がNGである"PtoP Receive Rsp"パケットを受信した場合、ステップS25〜S27のエラー処理に相当する処理を実行すると説明したが、NGの場合には、受信側ネットワーク110のバスリセットを行なうようにしても良い。これにより、ディスプレイ230によるコマンド発行のリトライ(接続回復処理)を実行させるようにすることができる。
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記実施例では、IEEE1394ネットワーク同士を接続するネットワークとしてIEEE802.11a無線LANを例示したが、これに限るものではなく、例えば無線通信方式のブルートゥースや有線通信方式のLANを用いて接続する場合にも適用できる。
また、上記実施例では、ネットワークを構成する少なくとも1つの機能ブロックを有するユニットを内蔵した機能機器の例として1394AV機器を挙げたが、ネットワークがパーソナルコンピュータを含むような場合には、当該コンピュータやIEEE1394インタフェースを有するスキャナー、プリンタ、ハードディスクドライバやDVDドライバのようなデータストレージなどのパソコン周辺機器も機能機器となる。
さらに、上記実施例では、2つのインタフェースを有する通信ノードとしての通信ユニットが、ユニットである1394AV機器とは別個の通信機器(WLANモジュール)として構成されている場合を示したが、2つのインタフェースを有する通信ユニットを、IEEE1394インタフェースを有するAV機器やパソコンおよびパソコン周辺機器と一体に構成することも可能である。また、図2のWLANモジュール200,210は、これを1つの半導体チップ上に半導体集積回路として構成するとしたが、図2のうちIEEE802.11aPHY/RF部294を除いた一点鎖線C1で囲まれた部分あるいは1394PHY部291とIEEE802.11aPHY/RF部294を除いた破線C2で囲まれた部分を、1つの半導体チップ上に半導体集積回路として構成するようにしても良い。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である複数のIEEE1394ネットワークをIEEE802.11規格に従った無線LANで接続してなるネットワークシステムに適用した場合について説明したが、これに限定されるものではなく、複数の有線式のネットワークを無線方式の通信で接続してなるネットワークシステム一般に利用することができる。
100,110…IEEE1394ネットワーク
200,210…WLANモジュール(通信ユニット,通信機器)
201〜203,230…1394AV機器(ユニット)
291…IEEE1394PHY部
292…IEEE1394LINK部
293…IEEE802.11a MAC部
294…IEEE802.11a PHY/RF部
295…制御部(パケット処理部)
296…プログラム格納用ROM
300〜304,310〜313…機能ブロック(サブユニット)
400…無線LAN
501〜503,511…1394バス
600,630…サブユニットプラグ
610,631…出力プラグ
612,632…入力プラグ
620,622…1394AV機器内信号経路
700…無線LANアドレス管理テーブル
701…チャネル変換テーブル
710…パケット変換テーブル
200,210…WLANモジュール(通信ユニット,通信機器)
201〜203,230…1394AV機器(ユニット)
291…IEEE1394PHY部
292…IEEE1394LINK部
293…IEEE802.11a MAC部
294…IEEE802.11a PHY/RF部
295…制御部(パケット処理部)
296…プログラム格納用ROM
300〜304,310〜313…機能ブロック(サブユニット)
400…無線LAN
501〜503,511…1394バス
600,630…サブユニットプラグ
610,631…出力プラグ
612,632…入力プラグ
620,622…1394AV機器内信号経路
700…無線LANアドレス管理テーブル
701…チャネル変換テーブル
710…パケット変換テーブル
Claims (10)
- 複数の有線通信方式のネットワークを無線通信方式のネットワークにより接続してなるネットワークシステムにおける通信処理方法であって、
上記複数の有線通信方式のネットワークのいずれかにおいて所定のトランザクションが発生しても上記無線通信方式のネットワークにおけるトランザクション処理を省略することで、上記複数の有線通信方式のネットワークのそれぞれにおけるトランザクション数よりも上記無線通信方式のネットワークにおけるトランザクション数の方が少なくなるようにしたことを特徴とする通信処理方法。 - 上記複数の有線通信方式のネットワークのいずれかのネットワークに接続された機器から他の有線通信方式のネットワークに接続された機器へ制御コマンドを送る場合に、上記他の有線通信方式のネットワークにおいて当該制御コマンドの送受信ができなかったことに応じて所定のエラー処理を行なうことを特徴とする請求項1に記載の通信処理方法。
- 上記所定のエラー処理は、上記他の有線通信方式のネットワークから上記いずれかの有線通信方式のネットワークに対するバスリセット要求であることを特徴とする請求項2に記載の通信処理方法。
- 上記複数の有線通信方式のネットワークには、有線通信方式のネットワークによる通信を行なう第1のインタフェース手段と無線通信方式のネットワークによる通信を行なう第2のインタフェース手段とを有する通信機器がそれぞれ設けられ、
上記いずれかの有線通信方式のネットワークに接続された機器から、当該有線通信方式のネットワークに設けられた上記通信機器へ、他の有線通信方式のネットワークに接続された機器に対する制御コマンドが送られてから所定時間経過した場合に、上記通信機器が上記制御コマンドを発行した機器へ暫定応答を返すようにしたことを特徴とする請求項2に記載の通信処理方法。 - 上記複数の有線通信方式のネットワークには、有線通信方式のネットワークによる通信を行なう第1のインタフェース手段と無線通信方式のネットワークによる通信を行なう第2のインタフェース手段とを有する通信機器がそれぞれ設けられ、
上記複数の有線通信方式のネットワークのいずれかのネットワークに接続された機器から他の有線通信方式のネットワークに接続された機器へ上記有線通信方式のネットワークを介して受信設定要求コマンドを送った場合に、上記いずれかのネットワークに接続された第1の通信機器と、上記他の有線通信方式のネットワークに接続された第2の通信機器との間で、当該受信設定要求コマンドに対して行なった受信設定処理の結果を相互に通知し合うことを特徴とする請求項2に記載の通信処理方法。 - 上記受信設定処理の結果の相互通知により受信設定が不成功であった場合に、所定のエラー処理を実行することを特徴とする請求項5に記載の通信処理方法。
- 上記いずれかのネットワークに接続された第1の通信機器と、上記他のネットワークに接続された第2の通信機器は、それぞれ他のネットワークの情報に依存せずに自身が接続されている有線通信方式のネットワークの情報に基づいて受信設定を行なうことを特徴とする請求項5に記載の通信処理方法。
- 有線通信方式のネットワークによる通信を行なう第1のインタフェース手段と無線通信方式のネットワークによる通信を行なう第2のインタフェース手段とを有する通信機器であって、
上記第1のインタフェース手段により上記有線通信方式のネットワークに接続されたいずれかの機器から送信された、他の有線通信方式のネットワークに接続されたいずれかの機器に対する制御コマンドを受信した場合に、上記他の有線通信方式のネットワークの通信機器からの無線通信方式のネットワークの規格で規定された応答を待たずに上記制御コマンドを発行した機器へ有線通信方式のネットワークの規格で規定された応答を返すように構成されていることを特徴とする通信機器。 - 上記第1のインタフェース手段により上記有線通信方式のネットワークに接続されたいずれかの機器から送信された、他の有線通信方式のネットワークに接続されたいずれかの機器に対する制御コマンドを受信した場合に、当該制御コマンドを受信してから所定時間経過したときに、上記制御コマンドを発行した機器へ有線通信方式のネットワークの規格で規定された暫定応答を返すようにしたことを特徴とする請求項8に記載の通信機器。
- 上記第1のインタフェース手段により上記有線通信方式のネットワークに接続されたいずれかの機器から、他の有線通信方式のネットワークに接続された機器への受信設定要求コマンドを受けた場合に、他の有線通信方式のネットワークの情報に依存せずに自身が接続されている有線通信方式のネットワークの情報に基づいて受信設定を行なうように構成されていることを特徴とする請求項8に記載の通信機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005156812A JP2006333298A (ja) | 2005-05-30 | 2005-05-30 | ネットワークシステムにおける通信処理方法および通信機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005156812A JP2006333298A (ja) | 2005-05-30 | 2005-05-30 | ネットワークシステムにおける通信処理方法および通信機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006333298A true JP2006333298A (ja) | 2006-12-07 |
Family
ID=37554468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005156812A Withdrawn JP2006333298A (ja) | 2005-05-30 | 2005-05-30 | ネットワークシステムにおける通信処理方法および通信機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006333298A (ja) |
-
2005
- 2005-05-30 JP JP2005156812A patent/JP2006333298A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4536981B2 (ja) | 情報信号処理装置及び情報信号処理方法 | |
US6728244B1 (en) | Communication node for enabling interworking of network using request/response based data transfer and network using non-request/response based data transfer | |
JP4795943B2 (ja) | 無線子機 | |
KR100413684B1 (ko) | 서로 다른 미들웨어를 가진 디바이스들간 통신을 가능하게하는 게이트웨이, 홈네트웍시스템 및 데이터 중계방법 | |
JP3922817B2 (ja) | 通信ノード及び通信端末 | |
US7701855B2 (en) | Communication device, communication system, communication method, communication program and recording medium storing the communication program | |
US20160037429A1 (en) | Low cost mesh network capability | |
US7433341B2 (en) | Method for connecting an IEEE1394 remote device to a cluster of IEEE1394 devices through a wireless link | |
JPH10154996A (ja) | ネットワーク接続装置及びネットワーク接続方法 | |
KR100746900B1 (ko) | 전자장치, 및 전자장치의 물리층 회로의 상태를 제어하는방법 | |
JP5775149B2 (ja) | ステーション、ターゲット装置、イニシエータ装置、通信システム及び通信方法 | |
US6272114B1 (en) | Data processing apparatus/method and electronic apparatus with such apparatus/method | |
US20040057448A1 (en) | Information processing system, information processing apparatus, and information processing method | |
JP2001186166A (ja) | 情報転送方法並びに無線端末及び無線ゲートウェイ装置 | |
JPH10341247A (ja) | データ送信装置、データ受信装置、データ伝送システム及びデータ伝送方法 | |
US7177959B2 (en) | Information signal processing apparatus and method | |
JP2006333298A (ja) | ネットワークシステムにおける通信処理方法および通信機器 | |
JP2006324869A (ja) | ネットワークシステムにおける通信処理方法および通信機器 | |
JP3643575B2 (ja) | ネットワークブリッジ装置及び方法 | |
JPH1155297A (ja) | 伝送媒体接続装置および記憶媒体 | |
JP2004274608A (ja) | 通信機器 | |
JP4102253B2 (ja) | 通信機器 | |
JP2004064665A (ja) | データ転送装置及び送信装置及び受信装置及びそれらの制御方法 | |
JP2002111698A (ja) | データ転送装置、ネットワークシステム及びデータ転送方法 | |
US20040252712A1 (en) | Information data transmitting and receiving device and transmitting and receiving method of information data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070427 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080805 |