JP3996832B2 - ネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置 - Google Patents
ネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置 Download PDFInfo
- Publication number
- JP3996832B2 JP3996832B2 JP2002293125A JP2002293125A JP3996832B2 JP 3996832 B2 JP3996832 B2 JP 3996832B2 JP 2002293125 A JP2002293125 A JP 2002293125A JP 2002293125 A JP2002293125 A JP 2002293125A JP 3996832 B2 JP3996832 B2 JP 3996832B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- gateway
- wireless
- networks
- iso
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
本発明は、ネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置であって、特にIEEE1394技術を利用したネットワーク、またはIEC61883を利用したネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置に関するものである。
【0002】
【従来の技術】
有線1394ネットワークにおいて、任意の機器間で同期通信(以下、ISO通信とする)を行う場合は、IEC61883−1の規格に則り、CMPによる送信機器と受信機器間のプラグコネクションを確立する事になっている。
【0003】
CMPとは1394の搭載されたAV機器間で、入力プラグと出力プラグを接続するプラグコネクションの手続きを定義したものである。プラグコネクションには入力プラグと出力プラグを1対1に接続するpoint−to−pointコネクションと、ブロードキャスト入出力を行うbroadcast−out/inコネクションがあり、CMPではこれらのコネクションの生成、削除、多重化などの方法を定義している。
【0004】
入力プラグ、出力プラグは個々のAV機器が持つものであり、入力プラグはAV機器へのストリームの入力を、出力プラグはAV機器からのストリームの出力を表す論理プラグである。これらのプラグはそれぞれにプラグレジスタというプラグの状態を記録するレジスタが割り当てられている。
【0005】
CMPは実際にはプラグレジスタのコネクション数の値を変化させるだけであり、論理的なコネクションを定義しただけのものである。そして、それを実現するにはIRMからの送受信するISO通信ストリームのISO帯域の取得、転送チャンネル(以下、CHとする)の確保、さらに、1394のREADトランザクションを利用したプラグレジスタの読み込みとLOCKトランザクションを利用したプラグレジスタの変更などの処理が必要となる。つまり、これらの処理が行えればCMPはそのネットワーク内で実現できるといえる。ここで、プラグレジスタとは入力プラグや出力プラグに割り当てられたレジスタであり、それぞれのプラグの情報を管理するものである。
【0006】
以上にあげた処理は、もちろん、単一の有線1394ネットワーク内では問題なく行えるので、その範囲内ではCMPは有効であった。しかし、複数のネットワークをまたがると、これらの処理に問題がありCMPが実現できない場合がある。
【0007】
【非特許文献】
IEEE1394規格書
【0008】
【発明が解決しようとする課題】
有線1394ネットワークを拡張し、複数の有線1394ネットワークを無線で接続して利用することを考える。
【0009】
現在のところ、複数の有線で構成された1394ネットワークを接続するためにいくつかの技術が考案されている。基本的に現在考案されている技術では、異なる1394ネットワークは必ずブリッジ(IEEE1394.1)を介して接続する事になっている。しかし、ブリッジを介した接続ではそれぞれの1394ネットワークでISO通信の管理が別々となるためIEEE61883−1で規定されたCMPをそのまま利用することができず、その代わりに新たにStreamConnectという仕様が策定されている。
【0010】
しかし、現状で市場に存在するDVHSやBSデジタルチューナなどIEEE1394を搭載する機器はCMPのみに対応しているため、ブリッジを使用した無線接続ではこれらの機器をそのままで使用できない。また、StreamConnectに対応した機器が出現するには時間がかかる可能性がある。
【0011】
このように、従来の技術では分離された複数の1394ネットワーク間ではCMPによるプラグコネクションが実現できず、CMPのみサポートする現行の1394機器間のISO通信をIEC61883−1の仕様どおりに実現することができなかった。
【0012】
【課題を解決するための手段】
本発明は、上記課題を解決するため、以下のような手段を講じた。
【0013】
即ち、本発明に係るゲートウエイを実現する方法は、複数の分離している1394ネットワーク間でISO通信を行っているネットワーク網であって、1394機器1と1394機器2は別々のネットワークに接続されており、1394機器1の存在するネットワーク1ではゲートウェイ装置1により1394機器2が仮想的に観測され、1394機器2の存在するネットワーク2ではゲートウェイ装置2により1394機器1が仮想的に観測されるようなゲートウェイを実現する方法において、ネットワーク1で行われた1394機器1と仮想的1394機器2の間に行われたプラグコネクションとISOリソースの確保処理が発生すると、そのプラグコネクションが発生したことを前記ゲートウエイ装置2に通知し、ネットワーク2でも仮想1394機器1と1394機器2の間にプラグコネクションを行い、前記ネットワーク1で発生したプラグコネクションを前記ネットワーク2でも再現し、必要なISOリソースの確保を前記ネットワーク1と前記ネットワーク2の双方で別々の処理として実行することを特徴とするゲートウエイを実現する方法である。
【0014】
また、本発明に係るゲートウエイ装置は、ネットワーク1とネットワーク2を結びつける機能を持ち、各々のネットワークに接続された1394機器を仮想的に他方のネットワークに存在する様にみせるためのエミュレーションノードをもち、エミュレーションノードのプラグ情報を保持するためのPlugレジスタ処理部と、PlugレジスタへのLOCKトランザクションを検出するためのLOCK検出部と、請求項1に記載の機能を実現するためのミラーリング処理部をもつ、CMPミラーリング機能を持つことを特徴とするゲートウェイ装置である。
【0015】
また、1394のISOストリームのCH番号と、ネットワーク1とネットワーク2間の通信手段におけるISOストリームのIDとを結びつける情報を確保するためのメモリをもち、分離されたネットワーク間でISOストリームの送信と受信を可能とすることを特徴とするゲートウェイ装置である。
【0016】
また、本発明に係るゲートウェイを実現する方法は、1394のISOストリームのCH番号と、ネットワーク1とネットワーク2間の通信手段におけるISOストリームのIDとを結びつける情報を確保するためのメモリをもち、分離されたネットワーク間でISOストリームの送信と受信を可能とすることを特徴とするゲートウェイを実現する方法である。
【0017】
また、本発明に係るゲートウエイを実現する方法は、複数の分離している1394ネットワーク間でISO通信を行っているネットワーク網であって、1394機器1と1394機器2は別々のネットワークに接続されており、1394機器1の存在するネットワーク1ではゲートウェイ装置1により1394機器2が仮想的に観測され、1394機器2の存在するネットワーク2ではゲートウェイ装置2により1394機器1が仮想的に観測されるようなゲートウェイを実現する方法において、ネットワーク1で行われた1394機器1と仮想的1394機器2の間に行われたプラグコネクションとISOリソースの確保処理が発生すると、そのプラグコネクションが発生したことを前記ゲートウエイ装置2に通知し、ネットワーク2でも仮想1394機器1と1394機器2の間にプラグコネクションを行い、前記ネットワーク1で発生したプラグコネクションを前記ネットワーク2でも再現し、必要なISOリソースの確保を前記ネットワーク1と前記ネットワーク2の双方で別々の処理として実行することによって、分離している1394ネットワークの間でゲートウェイを実現する方法である。
【0018】
また、複数の分離したネットワークは有線1394ネットワークであり、ゲートウェイ間は無線プロトコルで通信することで実現しているゲートウェイを実現する方法である。
【0019】
また、本発明に係るゲートウェイ装置は、複数の分離したネットワークは有線1394ネットワークであり、ゲートウェイ間は無線プロトコルで通信しているゲートウェイ装置である。
【0021】
また、本発明に係るゲートウェイ装置は、出力側のストリームの通信レートがネットワーク間の通信レートを越えないように、IEC61883−1に定義されたプラグレジスタのMPCRのDataRateCapabilityの値を1394機器1と1394機器2間の最低レートまたはそれ以下の値に変更することを特徴とするゲートウェイ装置である。
【0022】
また、本発明に係るゲートウェイを実現する方法は、出力側のストリームの通信レートがネットワーク間の通信レートを越えないように、IEC61883−1に定義されたプラグレジスタのMPCRのDataRateCapabilityの値を1394機器1と1394機器2間の最低レートまたはそれ以下の値に変更することを特徴とするゲートウェイを実現する方法である。
【0023】
より具体的には、本発明ではCMPの仕様をそのままに、複数ある有線1394ネットワークの各々のネットワークで関係するCMPの処理をミラーリングすることによって、異なる有線1394ネットワークをまたがるCMPの手続きを実現する方法を提案する。これにより、ネットワークに接続される1394機器はCMPの機能さえ装備していれば、複数の有線1394ネットワークまたは無線1394ネットワークを通して、2つの機器の間にプラグコネクションを確立することができることになる。
【0024】
本発明は、1394機器1と1394機器2は別々のネットワークに接続されており、1394機器1の存在するネットワーク1ではゲートウェイ装置1により1394機器2が仮想的に観測され、1394機器2の存在するネットワーク2ではゲートウェイ装置2により1394機器1が仮想的に観測されるようなゲートウェイ装置をもっている環境において有効となる。
【0025】
このような環境の例を図2、図3に示している。ここで、無線ゲートウェイ(以降、無線GWとする)は複数のネットワークをAV/Cアプリケーションレベルで一つの有線1394ネットワークに見せる役割をもつ。
【0026】
図2で1394機器1から1394機器2に対してプラグコネクションを行うと、ネットワーク1では無線GW1のエミュレーションノードのうちの一つが1394機器2であると見えるため、1394機器1はネットワーク1で無線GW1のエミュレートノードとのプラグコネクションを行う処理をする。無線GW1はエミュレートノードに対してプラグコネクションが実施されると、無線GW1はエミュレートしている1394機器2のプラグを模倣して提示して、ネットワーク1におけるプラグコネクションを完結させる。その後、このプラグコネクションが発生したことを、無線GW1は無線通信により無線GW2に通知し、無線GW2は、ネットワーク2において1394機器1をエミュレートしているノードから1394機器2に対してプラグコネクションを実施する。ネットワーク1で発生したプラグコネクションを、ネットワーク2でも再現する処理であるので、この処理をミラーリングと呼ぶ。
【0027】
このように、ネットワーク1とネットワーク2の双方で、別々の処理としてではあるが、ISO帯域とCHを確保することにより結果的にCMPを実現することができ、従来の機器でも分離されたネットワーク間でのISO通信が可能となる。
【0028】
【発明の実施の形態】
(実施例1)
本発明の例として2つの有線1394ネットワークが無線ネットワークで接続されている状態を図2に示す。有線1394ネットワークはネットワーク1とネットワーク2に分かれており、この2つのネットワークは無線ネットワークで結合されているとする。各1394機器や無線GWと結ばれている実線はIEEE1394の配線を表している。
【0029】
1394バスは、接続機器の増減、バスリセット発生時などに、コンフィグレーションプロセスが起動され、バスの初期化、ツリーの識別、自己認識を行い各機器のノードIDが割り当てられる。これらの処理は通常、PHYチップが行いこれにより1つのPHYチップに対して1つのノードIDが割り当てられる。
【0030】
また、1394機器には、ノードIDとは別に、世の中で一意に定められる64ビットのGUIDが割り当てられており、通常、GUIDは1つのノードに必ず1つ存在する。
【0031】
次に、無線GWの内部構成の概要を図8に例示する。これは、無線GW1が2つ、無線GW2が1つのエミュレートノードを持ち、夫々のエミュレートノードについてConfigROM情報の入った管理テーブルが割り当てられることを示している。
【0032】
図9に、無線GWのブロック図を例示する。
【0033】
以下、図9の各ブロックの機能について説明する。
【0034】
無線I/F処理部は、無線伝送におけるネゴシエーション等のPHYレベルの基本機能を備え、無線伝送のプロトコルに従ったパケットを送受信する機能を備えるものとする。
【0035】
機器情報送受信部は、無線ネットワーク上の無線機器から1394バス上の機器構成情報提供の要求を受信し、その要求に応じたデータを内部機器情報記憶部から取得して無線I/Fに送信する機能を備え、無線ネットワーク上の無線機器に接続されている1394バス上の機器構成情報を取得し外部機器情報記憶部に登録を要求する機能を備え、また、無線ネットワーク上の無線機器に接続されている1394バス上の機器構成の変化の通知を受け取る機能を備えている。
【0036】
プロトコル変換部は、無線I/F処理部からのGUIDにより宛先と送り先が示されたAsyncパケットと同等のパケットを包括する無線パケットを受信し、GUIDで示された送信先と送信元を内部機器情報記憶部と外部機器情報記憶部の管理テーブルを参照しノードIDによる送信先と送信元に変換して1394バス上で伝送できるAsyncパケットに変換する機能を備え、1394I/F処理部からノードIDで示された送信先と送信元が示されたAsyncパケットを受信し、内部機器情報記憶部と外部機器情報記憶部の管理テーブルを参照しGUIDによる送信先と送信元に変換してパケットを包括した無線パケットに変換する機能を備える。
【0037】
1394I/F処理部は、プロトコル変換部からAsyncパケットを受信し、Asyncパケットの送信元に応じて1394PHYのどちらかに送信する機能を備え、1394PHYで受信したAsyncパケットを外部機器情報部の管理テーブルを参照し情報が可能ならば応答を返送し、応答できない場合はプロトコル変換部に送信する機能を備える。また、後述する管理テーブル内のエミュレートフラグが無効である場合にはリピータとして動作するように1394PHYを制御する機能を備える。
【0038】
1394PHYは、既存のPHYチップの機能を全て備えており、リピート、ケーブルの状態認識、バスの初期化、アービトレーションの機能を備えており、1つの1394PHYに対して1つのノードを確保するように機能する。この1394PHYは複数個備えることが望ましい。
【0039】
外部機器情報記憶部は、遠隔の1394ネットワーク構成と、そこに接続されている1394機器のConfigROM等の機器情報を蓄積する機能を備える。
内部機器情報記憶部は、無線GWの接続されている1394ネットワーク構成と、そこに接続されている1394機器のConfigROM等の機器情報を蓄積する機能を備える。
【0040】
図10に、外部機器情報記憶部、内部機器情報記憶部の管理テーブルに蓄積する情報の一例を示す。
【0041】
図10に示すとおり、管理テーブルには、1394機器をエミュレートしているかどうか、つまり機器の情報の有無を示すエミュレートフラグと、ノードID、エミュレートした機器のGUIDと必要に応じてレジスタのアドレスと値を登録するための領域を持つ。本実施例ではレジスタのアドレスと値にConfigROM(レジスタアドレスは0xFFFFF000400〜)のレジスタを登録するための領域を持つこととする。
【0042】
ただし、外部機器情報記憶部の管理テーブルには無線GWの1394PHYで確保したノードIDを、内部機器情報記憶部の管理テーブルには無線GWの接続されたネットワークに存在する1394機器のノードIDを登録することとする。
プロトコル管理部は外部記憶装置部の管理テーブルを利用して、複数の1394PHYに対して遠隔の1394ネットワークにある1394機器を割り当ててエミュレートする事ができる。このとき1394PHYに割り振られたノードは遠隔の1394機器をエミュレートするノードとなっている。そこで、以下ではこの無線GWの1394PHY割り振られたノードIDやノード自身をエミュレーションノードと呼ぶこととする。
【0043】
まず、図1におけるネットワーク1において、機器の増減等においてバスリセットが発生した場合の無線GW1において1394バス上の機器を認識し、無線GW2に通知する動作を説明する。
【0044】
ネットワーク1でバスリセットが発生すると、各1394機器の1394PHYの間でバスの初期化動作が実施され、各1394機器にノードIDが割り当てられる。ノードIDが決定されると無線GW1はネットワーク1上の全てのノードの機器から自機器を除き順番にConfigROMを読み出す、本実施例においては、ノードAの1394機器1のConfigROMを読み出す。読み出したConfigROMには通常はGUIDが含まれているので、予めGUIDを抜き出しておき、内部機器情報記憶部の管理テーブルに、ノードAの機器のノードIDとGUID、ConfigROMを登録し、エミュレートフラグを有効にする。全ての機器の管理テーブルの作成が終わると、無線GW2に機器構成変化通知を送信する。
【0045】
無線GW2も同様に1394機器2,3の情報を内部管理情報記憶部に記憶し、機器構成変化通知を送信する。
【0046】
次に、無線GW1は無線GW2から機器構成変化通知を受け取ると、無線GW2に機器構成情報を要求して無線GW2の内部機器記憶部の情報を取得し、取得した情報を無線GW1の外部機器情報記憶部の管理テーブルに登録し、エミュレートフラグを有効にする。
【0047】
無線GW2も外部機器情報記憶部に無線GW1の内部機器情報記憶部の情報を登録し、エミュレートフラグを有効とする。
【0048】
上述した通り1394ネットワークに接続された1394機器を外部機器情報記憶部に登録することにより、分離している1394ネットワークに存在する1394機器を全て認識することが可能で、ネットワーク1にネットワーク2の1394機器があるかのように、またネットワーク1にネットワーク2の機器があるかのように見せられる。このとき、ネットワーク2の1394機器を無線GW1のエミュレーションノードにエミュレートし、また、ネットワーク1の1394機器を無線GW2のエミュレーションノードにエミュレートする仕組みが構築できる。
【0049】
(実施例2)
図3に実施例1の無線GWを使用したネットワークがどのように見えるかを示した。
【0050】
このとき、無線GW1はネットワーク2の1394機器2、3をエミュレートしており、ネットワーク1は仮想的に図3(1)の様になっている。ここで、エミュレートノードBはネットワーク2の1394機器2をエミュレートノードCはネットワーク2の1394機器3をエミュレートしている。
【0051】
また、ネットワーク2は仮想的に図3(2)の様になっており、エミュレートノードAはネットワーク1の1394機器1をエミュレートしている。
【0052】
このような分離されたネットワーク間でCMPを実現する方法について、無線GW上のエミュレーションノードにプラグを定義し、そのプラグを介して1394機器1から1394機器2へのプラグコネクションを実現する例を詳細に説明する。
【0053】
図2の2つのネットワークを、プラグレジスタを表現する図に書き直したものを図1に示す。図中、「I」とある端子は入力プラグを、「O」とある端子は出力プラグを表している。プラグコネクションとはネットワークリソースのISO帯域の取得とCH確保を行う処理と、この入力プラグと出力プラグを結びつける処理を指している。図1では、無線GW以外からプラグコネクションを行った結果としてプラグが結びつけられている事を、実線で表した。これに対し、無線GWによりミラーリングでプラグが結びつけられている場合は、波線で表している。
本発明を実現する無線GWのブロック図を図4に示す。
【0054】
図4で、301から309は実施例1記載されているブロックを表す。以下の説明では401から410の動作についても全体の流れと同時に説明する。
【0055】
無線GWのミラーリング処理部は、接続が確立されている他の無線GWのある有線1394ネットワークでバスリセットが発生すると、エミュレーションノードに割り当てられた1394機器のPlugレジスタの情報を、実際に1394機器があるネットワークの無線GWと無線通信を行うことで取得する。この無線通信は独自の方式でもかまわない。
【0056】
このとき、重要な情報はMasterPlugレジスタ(以降、MPRとする。入力プラグの同レジスタはiMPR。出力プラグの場合はoMPRとする。)のNumberOfPlugs情報とDatarate capabliity情報、さらに出力プラグのPlugレジスタ(以降、oPCRとする。入力プラグの場合はiPCR、総称はPCRとする。)のPayloadの値であり、無線GW間の情報交換は重要な情報だけであってもかまわない。
【0057】
図1では、無線GW1はエミュレーションノードBに1394機器2をエミュレートしているので、バスリセット時などに無線GW2のミラーリング処理部から1394I/F処理部を通してノードBの入力プラグのMPR(以降、iMPRとする)と出力プラグのMPR(以降、oMPRとする)の値を取得する。そして、MPRのNumberOfPlug情報から、Plugレジスタ処理部にあるエミュレーションノードBのデータにその値と同じだけoPCRとiPCR、そしてMPRを定義する。
【0058】
このとき、oPCRのPayload値は1394機器2と同じ値である必要があるので、MPRと同時にoPCRのPayloadの値も取得してエミュレーションノードBのデータに定義する。oPCRのPayload値は時々変化する可能性があるので、定期的に無線GW2のミラーリング処理部が監視し、変化があった場合は無線GW1のミラーリング処理部に通知して、エミュレーションノードBのoPCRの値を追従させることなどもできるだろう。ただし、実際にはoPCRは固定値が入っていることが多く追従はあまり重要ではない。MPRについてもNumberOfPlugとDatarate capabilityの値を設定する。NumberOfPlugは基本的には1394機器2から読み出した値をそのまま使用する。
【0059】
Datarate capabilityはそのまま使用しても良いが、この値がネットワーク2における無線GW2から1394機器2までの通信路にある最低速度のものよりも早く設定されている場合には、最低速度の値を使用する方が好ましい。この最低速度の無線GW2のミラーリング処理部を通して1394I/F処理部から取得できる。通信路の最低速度を算出することは、1394で通信を行う機器にとっては基本的な機能であり、もちろん無線GW2の1394I/F処理部もその機能を持っている。
【0060】
その他のMPR,PCRに設定される値はネットワーク1のISOリソース管理上で矛盾の無い適当な値を設定する。つまり、上記で説明した以外の値は1394機器2のデータを参照しなくともよい。
【0061】
このように無線GW1のPlugレジスタ処理部に値を設定すると、図1(1)にあるように1394機器2をエミュレートしているエミュレーションノードBには、1394機器2と同じようにoPCRが2つとiPCRが存在するように見える様になる。これはエミュレートノードBのPCRに対するアクセスがあると、1394I/F部を通してPlugレジスタ処理部が、エミュレートノードBに割り当てられた値をアクセスためである。同様に、図1(2)にあるようにエミュレーションノードAには1394機器1に相当するoPCRとiPCRが1つずつ定義される。IEEE1394バスからPlugレジスタへアクセスされた場合は、1394I/F処理部はAysncパケットをプロトコル変換部に送信しない。
【0062】
次に、アプリケーションが1394機器1の入力プラグから1394機器2の出力プラグに対してプラグコネクションを行う流れを説明する。
【0063】
1394機器1のアプリケーションは、1394機器1のiPCR[0]と1394機器2のoPCR[1]にプラグコネクションを行う要求を受けると、まず、1394機器2のoMPRをREADトランザクションで読み出す。ここで、PCR[n]はn番目のPCRを表す。1394機器2はoPCRが2つあるために、oPCR[1]にプラグコネクションをはる場合もある。1394機器2のoMPRを読み出すのはoPCRが2つあり、oPCR[1]が存在することを確認するためである。これを確認した後、アプリケーションはoPCR[1]を読み出しISOストリームの情報を得ることとなる。
【0064】
ここで、ネットワーク1では無線GW1のエミュレーションノードBが1394機器2のノードに見えるため、1394機器1のアプリケーションはエミュレーションノードBのoMPRとoPCR[1]を読むことになる。このときに参照される値はoMPRのNumberOfPCRとDatarate capability、そしてoPCRのPayloadの値である。これらは前述したように実際の1394機器2の値と一致するようになっている。
【0065】
次に、アプリケーションはoPCR[1]のPayload値と、ネットワーク1のノードの構成から算出したOverHeadID値、そしてoMPRのDatareate capabilityを限界として、1394機器1と無線GW1間の転送速度を決定したDataRate値などのから必要なISO帯域(bandwidth unit)を算出する。この算出方法はIEC61883−1のCMPに定義されている。これをもとに、アプリケーションはネットワーク1のIRMからISO帯域取得し、同時にネットワーク1内でISO通信に使用するCH番号の確保を行う。これらの処理はネットワーク1で閉じた処理であり、エミュレートされている1394機器2の介在なく行えるものである。ここでIRMとはIEEE1394で定義されたリソースを管理するマネージャであり、ネットワーク1のどこかのノードがこの役割を担っている。
【0066】
さらに、アプリケーションは確保したCH番号と算出したOverHeadID、DataRateをもとに、1394機器2のoPCR[1]の値を書き換えようとする。このとき、プラグコネクションが行われていることを表すために、Point−to−Point connection counterを1つ加算する処理も同時に行う。このoPCRの書き換えにはLOCKトランザクションが使用される。この処理は実際には無線GW1のエミュレーションノードBに対して行われるものとなり、結果的にアプリケーションはエミュレーションノードBのoPCR[1]、つまりはPlugレジスタ処理部のデータを書き換える。このようにこの処理はネットワーク1で閉じた処理で完結する。その後、アプリケーションは1394機器1のiPCRに同様のCH番号を設定し、さらにPoint−to−Point connection counterの加算を行う。
【0067】
以上で、ネットワーク1におけるプラグコネクションのCMP手続きは終了した。この状態で1394機器1から無線GW1間でのISO通信路の確保ができたことになる。
【0068】
しかし、このままではネットワーク2におけるISO通信路の確保が行えていない。このため、1394機器1から1394機器2に対するCMPの手続きは終了していない。そこで以降では、ネットワーク2でこのプラグコネクションをミラーリングして、1394機器1から1394機器2へのCMP手続きを完成させる方法を示す。
【0069】
無線GW1のLock検出部は1394I/F処理部のAsyncパケットを監視して、oPCRがLOCKトランザクションにより書き変わったこと検知すると、ミラーリング処理部にミラーリングの必要を通知する。ミラーリング処理部は1394I/F処理部にたいしてREADトランザクションを行い、同じCH番号を持ちPoint−to−Point connection counterが1以上のiPCRのある1394機器をネットワーク1から探し出す。これはプラグコネクションによりoPCRと割り当てられたiPCRが、どこにあるかを知るためである。プラグコネクションは第3者の1394機器からも行うことができるので、エミュレーションノードのPCRの値を変更するLOCKトランザクションを起動した1394機器が対応するPCRを持つとは限らない。
【0070】
そのため、この処理が必要となる。iPCRの変更はoPCRの変更と順番が前後する可能性があるので、oPCRの変更を検知してから十分な時間待った後にiPCRを検索する。以上の処理により、無線GW1はプラグコネクションに対応するiPCRをもつ1394機器1を特定できる。ここではコネクションestablish(最初の生成)の場合の話をしているが、もしネットワーク1におけるプラグコネクションがOverlayで行われた場合は、同じCHをもつ複数のiPCRが発見される場合がある。この場合は以前行った処理の履歴をメモリに保持しておき、新たに発見されたiPCRを検索すればよい。
【0071】
また、コネクションの削除の場合は履歴と現状を比較して無くなったiPCRを検索する。
【0072】
無線GW1のミラーリング処理部はプラグコネクションの相手を特定すると、無線通信I/F処理部を通して、以下のミラーリング情報を無線GW2のミラーリング処理部に通知する。
・PCRをLOCKトランザクションにより変更されたエミュレーションノードのエミュレートしている1394機器のGUIDと、変更されたPCRのoPCR/iPCRの種別と番号
・プラグコネクションの相手のPCRをもつ1394機器のGUIDと、そのPCRのoPCR/iPCRの種別と番号、
・双方のPCRのレジスタ値
・コネクション生成/削除の種別
ここで、双方のPCRのレジスタ値が必要な理由は、この例とiPCRとoPCRが逆の場合、つまり1394機器1のoPCRから1394機器2のiPCRへプラグコネクションを行った場合に、以降の処理で無線GW2は1394機器1のoPCRのPayload情報が必要になるからである。PCRレジスタ値が必要ないケースでは通知しなくてもよいが、安全のために通知しておくことは問題ではない。またここで、GUIDとは1394機器に割り振られた全世界的にグローバルなIDであり、この値によって全ての1394機器を区別できるものである。例ではエミュレーションノードにこの値を割り当てることでエミュレートしている相手機器を特定していると仮定する。この情報は外部/内部機器情報記憶部にエミュレーションノードのノードIDとGUIDのペアで保存されている。
【0073】
無線GW2は上記の情報を得ると、GUIDをキーに外部/内部機器情報記憶部から1394機器2とエミュレーションノードAを割り出し、エミュレーションノードAのiPCR[0]と1394機器2のoPCR[1]をプラグコネクションするCMPを開始する。
【0074】
まず、無線GW2のミラーリング処理部は1394I/F処理部を通して、1394機器2のoPCR[1]をREADトランザクションで読み出し、Payload値を得る。この値はネットワーク1でのプラグコネクションで利用されたエミュレーションノードBのoPCR[1]で設定されていた同じ値である。
【0075】
無線GW2のミラーリング処理部はこのPayload値と、ネットワーク2のノードの構成から算出したOverHeadID値、そして、ネットワーク1側oPCRから得たDataRate値から必要なISO帯域を算出する。これをもとに、ミラーリング処理部は1394I/F処理部を通して、ネットワーク2のIRMからISO帯域を取得し、同時にネットワーク2内でISO通信に使用するCH番号の確保を行う。
【0076】
さらに、無線GW2は確保したCH番号と算出したOverHeadID、上記のDataRateをもとに、1394機器2のoPCR[1]の値を変更する。このとき、1394I/F処理部はSourceIDをエミュレーションノードAのノードIDとしたLOCKトランザクションを使用する。
【0077】
その後、無線GW2のミラーリング処理部は、Plugレジスタ処理部にあるエミュレーションノードAのiPCR[0]のデータに同様のCH番号を設定しPoint−to−Point connection counterの値を1つ加算する。これによりネットワーク2におけるCMP手続きが終了し、ネットワーク2における無線GW2から1394機器2までのISO通信路の確保ができたことになる。
【0078】
以上で、ネットワーク2におけるプラグコネクションのミラーリングが完成し、結果として1394機器1から1394機器2までの通信路が全て確保できた事になる。
【0079】
このように、本発明では1394機器1のアプリケーションがネットワーク1において有線1394ネットワークのCMP手続きを行うだけで、実際にはネットワーク1とネットワーク2をまたがるCMPを行うという事を実現できる。
【0080】
この状態で、実際のISOストリームがどのように伝送されるか以下に説明する。
【0081】
まず、ISOストリームはネットワーク2で確保されたCHで、1394機器2から無線GW2に送信される。無線GW2は無線のプロトコルを利用しこのストリームを無線GW1に送信する。このときの無線プロトコルはなんであってもよい。その後、無線GW1は受信したストリームをネットワーク1で確保したCHを利用して1394機器1に送信する。
【0082】
もともと、1394機器2がネットワーク2にストリームを伝送する場合はoPCR[1]のCH情報を参照し、1394機器1がネットワーク1でストリームを受信するにはiPCR[0]のCH情報を参照して送受信CHを決定するため、1394機器1,2とも何の改造もせずに上記のストリームの流れを実現できる。
【0083】
また、無線GW1と無線GW2はエミュレーションノードのiPCR、oPCRを参照して受信するべきストリームを各々のネットワークから受信、または送信すれば全てのストリームの流れを実現できる。コネクションのあるiPCRのCHで指定されたストリームがネットワーク上に流れていればそれを受信し、コネクションのあるoPCRのCHで指定されたストリームを送信すればよい。
無線GW1と無線GW2の間でストリームの区別を行う方法は無線プロトコルによる。たとえば、無線パケットにストリームID等を付加して区別する方法があるだろう。このストリームIDに対して無線GW1と無線GW2で対応するプラグコネクションの情報を割り当てればどのCH番号に対応するストリームかを判断することはより簡単になる。
【0084】
例えば、以下のようになるだろう。
【0085】
ミラーリングを開始するタイミングで、無線GW1のミラーリング処理部は無線ストリーム管理部からストリームIDを取得し、そのストリームIDを前記したミラーリング情報に加えて無線GW2のミラーリング処理部に通知する。無線GW1のミラーリング処理部では、このストリームIDをネットワーク1側で取得したCH番号と対比させてメモリに保存する。無線GW2のミラーリング処理部では、ミラーリングを終了した後に、無線GW1から受け取ったストリームIDとネットワーク2側で取得したCH番号を対比させてメモリに保存する。
【0086】
そして、無線GW1と無線GW2がストリームを送受信する時は、無線GW2では1394I/F処理部が受け取ったストリームのCHを検出し、メモリにCH番号が存在すれば、プロトコル変換部がそれに対応するストリームIDを付加して無線パケットを送信し、無線GW1では、無線I/F処理部がメモリに存在するストリームIDが存在すれば、それに対応するCHの1394パケットに変換して1394パケットを送信すればよい。
【0087】
以上で本発明によるミラーリング処理の説明を終了する。
【0088】
ところで、以上の例にたいして入力プラグと出力プラグが逆の場合も考えられる。つまり、1394機器1のoPCRと1394機器2のiPCRをプラグコネクションする処理も考えられる。その場合は上記の文章のoPCRとiPCRを置き換えて読めばそのまま適用可能である。また、本発明はCMPのPoint−to−Pointコネクションに限定しており、Broadcastコネクションの場合については言及していない。なぜなら、Broadcastコネクションは一つのノードに関する処理であり、CMPとしてネットワークをまたがる処理ではないからである。
【0089】
プラグコネクションを削除する場合の処理も、同様になるので改めて詳細には言及しない。上記の説明のPoint−to−Pointに1を加算する部分を1減算する様にし、ミラーリング情報の生成方法を説明してあるようにコネクション削除の場合の検出を行えばよいだろう。
【0090】
また、この実施例の中では説明していないが、図1(2)のプラグコネクション2の様に、無線GWを介することのないプラグコネクションはミラーリングの対象とはしない。これはネットワーク2で閉じたプラグコネクションであり、ネットワーク1には無関係だからである。
【0091】
(実施例3)
実施例1では2つの有線1394ネットワークを無線で接続する場合を説明したが、これは複数の有線1394ネットワークでも可能となる。そのため、同様に実施例2も複数の有線ネットワークでも実現できる。
【0092】
図5にn個の1394有線ネットワークの例を示した。ここでは簡単のために、ネットワーク1の無線GW1はネットワークnに存在する1394機器nをエミュレートするが、ネットワーク2以降の無線GWはネットワーク1の1394機器1のみをエミュレートする形式を考える。
【0093】
これらのネットワークのプラグに注目した図を図6に示す。
【0094】
このとき、1394機器1から1394機器2にプラグコネクションをすることを考える。まず、無線GW1のエミュレートノードBは実施例1と同様にPCRが設定される。
【0095】
1394機器1のアプリケーションは、1394機器2とプラグコネクションするように指示を受けると、無線GW1のエミュレーションノードBに対してプラグコネクションを実施する。この方法は実施例1と全く同じである。
【0096】
次に、無線GW1はLOCKトランザクションを検知すると、全ての無線GWに対して、実施例1と同様に以下の情報を送信する。
・PCRをLOCKトランザクションにより変更されたエミュレーションノードのエミュレートしている1394機器のGUIDと、変更されたPCRのoPCR/iPCRの種別と番号
・プラグコネクションの相手のPCRをもつ1394機器のGUIDと、そのPCRのoPCR/iPCRの種別と番号、
・双方のPCRのレジスタ値
・コネクション生成/削除の種別
これを受信した無線GW2の動作は実施例1と同様である。ここでは、その他の無線GWk(k=1,2以外の自然数;k≦n)を考える。
【0097】
無線GWkは情報を受信すると、GUIDよりネットワークk上から1394機器2を割り出そうとする。しかし、1394機器2はこのネットワークに存在しないのでエラーとなり、プラグコネクションのミラーリングを行わない。また、無線GWkがネットワーク2をエミュレートしている場合は、無線GWkのエミュレートノードを1394機器2のGUIDから割り出すだろう。しかし、この場合は1394機器1もエミュレートノードとして割り出されていて、双方がエミュレートノードであるのでプラグコネクションのミラーリングは行わない。ミラーリングが発生しない場合は、ネットワークk上でPoint−to−Point connectionの値の整合性を保つために、エミュレーションノードAのiPCRのPoint−to−Point connection counterは変更しない。
【0098】
以上のように、その他のネットワークkを混乱させることなく、CMPを実現することができる。
【0099】
このとき、ISOストリームの送受信処理も実施例1と同様に行える。ISOストリームはブロードキャスト通信で送信すれば、どの無線GWもストリームを受信することが可能である。無線GWはメモリに登録されているストリームIDの無線パケットが受信された場合に、プロトコル変換部でそれに相当するCH番号の1394パケットに変換して送信すればよい。
【0100】
(実施例4)
実施例3では複数の有線1394ネットワークを無線で接続する場合を説明したが、無線で接続するのではなく、有線の任意のプロトコルのネットワークで接続する場合も実施例2と同様に実現可能である。
【0101】
この場合は実施例2,3の無線GWを有線GWに置き換えるだけでよい。
【0102】
(実施例5)
この発明は、同様に複数の有線無線を問わない1394ネットワークを接続する場合にも適用可能である。
【0103】
この場合は実施例2、3の有線1394ネットワークの任意のネットワークを無線1394ネットワークと置き換えるだけでよい。
【0104】
【発明の効果】
複数の有線1394ネットワークを無線で結んだネットワークにおいて、ネットワークを越えたCMPの適用が可能となる。また、この発明は有線1394ネットワークが無線1394ネットワークに置き変わってもそのまま利用可能であり、分離された複数の1394ネットワーク間でCMPを実現したい場合に有効であるといえるだろう。
【図面の簡単な説明】
【図1】ネットワークにおけるプラグコネクションの説明図である。
【図2】1394ネットワークを無線接続した図である。
【図3】ネットワークにおける仮想的な接続の説明図である。
【図4】無線GWのブロック図である。
【図5】1394ネットワークを無線接続した図である。
【図6】ネットワークにおけるプラグコネクションの説明図である。
【図7】プラグレジスタの内容を説明した図である。
【図8】無線GWの概略図である。
【図9】無線GWのブロック図である。
【図10】管理テーブルの説明図である。
【符号の説明】
101、102、103・・・1394機器、104、105・・・無線GW、111、112、113・・・仮想1394機器、131・・・プラグコネクション、141・・・プラグコネクションのミラー、121、122・・・ネットワーク、301・・・無線I/F、302・・・無線I/F処理部、303・・・機器情報送受信部、304・・・プロトコル変換部、305・・・1394I/F処理部、306、307・・・1394PHY、308、309・・・外部/内部機器情報記憶部、401・・・ミラーリング処理部、402・・・Plugレジスタ処理部、403・・・LOCK検出部、404・・・メモリ、410・・・無線ストリーム管理部、501、502、503・・・1394機器、551、552、553・・・無線GW、612、613、621・・・仮想1394機器
Claims (9)
- 複数の分離している1394ネットワーク間でISO通信を行っているネットワーク網であって、1394機器1と1394機器2は別々のネットワークに接続されており、1394機器1の存在するネットワーク1ではゲートウェイ装置1により1394機器2が仮想的に観測され、1394機器2の存在するネットワーク2ではゲートウェイ装置2により1394機器1が仮想的に観測されるようなゲートウェイを実現する方法において、ネットワーク1で行われた1394機器1と仮想的1394機器2の間に行われたプラグコネクションとISOリソースの確保処理が発生すると、そのプラグコネクションが発生したことを前記ゲートウエイ装置2に通知し、ネットワーク2でも仮想1394機器1と1394機器2の間にプラグコネクションを行い、前記ネットワーク1で発生したプラグコネクションを前記ネットワーク2でも再現し、必要なISOリソースの確保を前記ネットワーク1と前記ネットワーク2の双方で別々の処理として実行することを特徴とするゲートウエイを実現する方法。
- ネットワーク1とネットワーク2を結びつける機能を持ち、各々のネットワークに接続された1394機器を仮想的に他方のネットワークに存在する様にみせるためのエミュレーションノードをもち、エミュレーションノードのプラグ情報を保持するためのPlugレジスタ処理部と、PlugレジスタへのLOCKトランザクションを検出するためのLOCK検出部と、請求項1に記載の機能を実現するためのミラーリング処理部をもつ、CMPミラーリング機能を持つことを特徴とするゲートウェイ装置。
- 請求項2に記載のゲートウェイ装置であって、1394のISOストリームのCH番号と、ネットワーク1とネットワーク2間の通信手段におけるISOストリームのIDとを結びつける情報を確保するためのメモリをもち、分離されたネットワーク間でISOストリームの送信と受信を可能とすることを特徴とするゲートウェイ装置。
- 請求項1に記載のゲートウェイを実現する方法であって、1394のISOストリームのCH番号と、ネットワーク1とネットワーク2間の通信手段におけるISOストリームのIDとを結びつける情報を確保するためのメモリをもち、分離されたネットワーク間でISOストリームの送信と受信を可能とすることを特徴とするゲートウェイを実現する方法。
- 複数の分離している1394ネットワーク間でISO通信を行っているネットワーク網であって、1394機器1と1394機器2は別々のネットワークに接続されており、1394機器1の存在するネットワーク1ではゲートウェイ装置1により1394機器2が仮想的に観測され、1394機器2の存在するネットワーク2ではゲートウェイ装置2により1394機器1が仮想的に観測されるようなゲートウェイを実現する方法において、ネットワーク1で行われた1394機器1と仮想的1394機器2の間に行われたプラグコネクションとISOリソースの確保処理が発生すると、そのプラグコネクションが発生したことを前記ゲートウエイ装置2に通知し、ネットワーク2でも仮想1394機器1と1394機器2の間にプラグコネクションを行い、前記ネットワーク1で発生したプラグコネクションを前記ネットワーク2でも再現し、必要なISOリソースの確保を前記ネットワーク1と前記ネットワーク2の双方で別々の処理として実行することによって、分離している1394ネットワークの間でゲートウェイを実現する方法。
- 請求項1に示したゲートウェイを実現する方法であり、複数の分離したネットワークは有線1394ネットワークであり、ゲートウェイ間は無線プロトコルで通信することで実現しているゲートウェイを実現する方法。
- 請求項2または請求項3に示したゲートウェイ装置であり、複数の分離したネットワークは有線1394ネットワークであり、ゲートウェイ間は無線プロトコルで通信しているゲートウェイ装置。
- 請求項3に示したゲートウェイ装置において、出力側のストリームの通信レートがネットワーク間の通信レートを越えないように、IEC61883−1に定義されたプラグレジスタのMPCRのDataRateCapabilityの値を1394機器1と1394機器2間の最低レートまたはそれ以下の値に変更することを特徴と するゲートウェイ装置。
- 請求項4に示したゲートウェイを実現する方法において、出力側のストリームの通信レートがネットワーク間の通信レートを越えないように、IEC61883−1に定義されたプラグレジスタのMPCRのDataRateCapabilityの値を1394機器1と1394機器2間の最低レートまたはそれ以下の値に変更することを特徴とするゲートウェイを実現する方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002293125A JP3996832B2 (ja) | 2002-10-07 | 2002-10-07 | ネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002293125A JP3996832B2 (ja) | 2002-10-07 | 2002-10-07 | ネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004129096A JP2004129096A (ja) | 2004-04-22 |
JP3996832B2 true JP3996832B2 (ja) | 2007-10-24 |
Family
ID=32284124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002293125A Expired - Fee Related JP3996832B2 (ja) | 2002-10-07 | 2002-10-07 | ネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3996832B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5697564B2 (ja) * | 2011-08-31 | 2015-04-08 | パイオニア株式会社 | デバイス制御装置及びデバイス情報表示方法 |
-
2002
- 2002-10-07 JP JP2002293125A patent/JP3996832B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004129096A (ja) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3922817B2 (ja) | 通信ノード及び通信端末 | |
JP3805725B2 (ja) | 相異なるミドルウェアを使用するホームネットワーク上のデバイス間のメッセージの受け渡しを可能にするゲートウェイ、ホームネットワークシステム及びメッセージ受け渡し方法 | |
JP2004056728A5 (ja) | ||
JP2006503513A (ja) | 異機種プロトコルの間に相互データ伝送のための共通プロトコル階層構造及び方法と共通プロトコルパケット。 | |
JP2004242194A (ja) | Rprネットワークシステム | |
JP5813866B2 (ja) | 複数のインターフェースネットワークノードのための通信機構 | |
US7187655B1 (en) | Information communication method and apparatus | |
JPH10200583A (ja) | ネットワーク接続装置 | |
US8582576B2 (en) | Method of bus configuration to enable device bridging over dissimilar buses | |
US20020061025A1 (en) | Data transmitting and receiving apparatus and data transmitting and receiving method | |
US7251703B1 (en) | Method of time stamping to enable device bridging over dissimilar buses | |
JP3715494B2 (ja) | 情報転送方法並びに無線端末及び無線ゲートウェイ装置 | |
EP1091523B1 (en) | Speed converter for IEEE-1394 serial bus network | |
JP3848344B2 (ja) | 室内バックボーンネットワークのためのieee1394基盤の単方向リングシステム | |
JP3996832B2 (ja) | ネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置 | |
JP3643575B2 (ja) | ネットワークブリッジ装置及び方法 | |
JP2005244388A (ja) | 通信端末装置及び通信接続装置 | |
JP2004274608A (ja) | 通信機器 | |
JP4102253B2 (ja) | 通信機器 | |
JP2000059420A (ja) | 情報処理装置 | |
JP2004129028A (ja) | 通信機器 | |
JP2006324869A (ja) | ネットワークシステムにおける通信処理方法および通信機器 | |
KR20090030548A (ko) | Ieee 1394 브리지 제어장치 및 방법 | |
KR100778302B1 (ko) | Ieee 1394 브릿지 네트워크에서의 서로 다른 버스간 디바이스 연결 방법 | |
JP2005236370A (ja) | 有線アイソクロナス/非同期ネットワークをパケットベースの中間ネットワークを介してブリッジングする方法およびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070409 |
|
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: 20070724 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070803 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100810 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110810 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120810 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130810 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |