【実施例1】
【0027】
添付図面は本発明の説明を補完するだけでなく、必要に応じて定義を提供することにも資する。
【0028】
以下の説明において、本発明が使用されるパケット交換(通信)網は、専門的なオーディオ/ビデオ制作施設に配備されたイーサーネット/IPローカルネットワークインフラストラクチャであるものとして説明される。そのようなイーサーネット/IPローカルネットワークインフラストラクチャの具体例は
図2に示されている。
【0029】
このインフラストラクチャは、i)データストリームの形式でオーディオ及び/又はビデオコンテンツを生成又は配信する第1のエンドノード(例えば、カメラ、サーバ、ビデオテープレコーダ(VTR)、マイクロフォン、オーディオミキサ、スイッチ等)、ii)ビデオコンテンツ又はテレビジョン番組を表示したり、或いはオーディオコンテンツを配信する第2のエンドノード(例えば、テレビジョン又は拡声スピーカ等)及びiii)第1のエンドノードが提供したデータストリームをパケット又はプロトコルデータユニット(PDU)により転送するコアネットワーク装置(又はブリッジ)(例えば、イーサネット(登録商標)スイッチ)を特に有する。
【0030】
プロトコルデータユニット(PDU)は、接続されたホスト(又はエンドノード(Hi))が送信したプロトコルパケットであることに留意を要する。更に、ブリッジされたプロトコルデータユニット(BPDU)は、接続されたコアネットワークスイッチ装置(Sj)が送信したプロトコルパケットである。
【0031】
トーカー(talker)と言及される第1のノードが、リスナー(listener)と言及される他の(第2の)エンドノードにより受信されるデータストリームを提供しようとする場合、第1のエンドノードはストリームデクラレーション(stream declaration)を発行又は通知する。ストリームデクラレーションは、接続されているコアネットワーク装置(イーサーネットスイッチ等)が、データストリームの仕様情報(TSpec)(例えば、トーカーId、最大帯域幅及び最大遅延時間等)を取得し、リソースの予約に関連する自身の内部データベースを初期化できるようにする。しかしながら、コアネットワーク装置各々が各自の内部データベースを初期化した場合、如何なるリソースも未だ予約されていないことになる。
【0032】
リスナーが過去に宣言されたストリームを受信するように「ジョイン(join)」リクエストを発行した場合、完全なリソース要約及びTSpec制約検査が実行される。この検査において、(過去に発行された)リソース予約が、現在の残りのリソース量と比較され、そして予約が継続される又はされないことになる。この状況については
図3及び
図4を参照しながら後述される。
【0033】
図3は、上記のリソース予約プロセスを行う簡易な同期ネットワークインフラストラクチャを概略的に示す。このインフラストラクチャにおいて、エンドノード(又はユーザ)ホストi(又はHi、例えば、i=1ないし3である)は、イーサーネットスイッチSj(例えば、j=1又は2)を介して互いに結合されている。
図3の右側に示されているインフラストラクチャのスパニングツリー表現は、スイッチポートの接続状況を示す。
【0034】
例えば、エンドノードH2及びH3は、過去に宣言されている各自の(データ)ストリームを有するトーカーである。エンドノードH1は、H2ストリーム及び/又はH3ストリームを受信するのに必要なリソースを要求するリスナーである。
【0035】
しかしながら、スイッチS1及びS2の間のリンクがH2及びH3のストリームを同時にはサポートできなかった場合、リスナーは、最初に要求したストリーム(例えば、H2ストリーム)を解放して第2のもの(例えば、H3ストリーム)を受信し、最大の帯域幅を超えないようにする必要がある。このため、一連の解放(リリース)及び予約の処理に起因して導入される余分な遅延に起因して、2つのソースH2及びH3の間で鮮明なビデオの切替を行うことができないかもしれない。
図4は、非同期式及び同期式の解放及び予約を時間の関数として示す図である。
【0036】
上述したように、802.1Qat及び802.1Qav標準仕様により提案されているようなリソース予約方法は、解放及び予約のリクエストの変更を許容しない。
【0037】
にもかかわらず、本方法は、(インフラストラクチャ又は)ネットワークの接続ノード全ての間で非常に正確な時間を設定できるようにする。例えば、イーサーネット(802.3)及びWifi(802.11)に関するIEEE1588プロファイルを規定する新たなIEEE802.1ASドラフト及びIEEE1588標準仕様は、1つのクロックドメインを規定する7ホップのブリッジトポロジにおいて、1μsの精度を達成できるようにする。
【0038】
この時間同期は、タイムスタンプを利用して、少なくとも1つのストリームへの加入を終了する及び/又は少なくとも他のストリームへの加入を開始することを考慮して、リスナノードが解放/予約リクエスト(又はメッセージ)を希望する時間(日)を判定できるようにする。
【0039】
「解放/予約リクエスト」という表現は、ストリームの解放リクエスト又はストリームの予約リクエストを意味してもよいし、或いは第1のストリームのリソースを解放して第2のストリームのリソースの予約を意図したリクエストを意味してもよい。
【0040】
より正確に言えば、本発明は少なくとも1つの時間情報(又はタイムスタンプ)を解放及び/又は予約リクエストに(例えば、プロトコルデータユニット(PDU)内に)含め(追加し)、全てのリスナーな解放及び/又は予約リクエストを同期させる。タイムスタンプは、好ましくは、接続された全ての装置(エンドノード及びコアネットワーク装置)により共有されるウォールクロック(Wall Clock:WC)が提供する時間から導出され、その幅は対象のアプリケーションが必要とする精度に合致していなければならない。
【0041】
これらのタイムスタンプの追加及び時間の導出はエンドノードに関連する(すなわち、エンドノードHiの中に設けられている)第1の処理手段により実行されてもよい。第1の処理手段は、少なくとも部分的にソフトウェアモジュールにより、或いは電子回路又はハードウェアモジュールにより、或いはハードウェア及びソフトウェアモジュールの組み合わせにより形成される。
【0042】
図5は、802.1Qatドラフトにより規定されているマルチプルストリームレジストレーションPDU(MSPRDU)を、802.1ASタイムスタンプを含むように修正した非限定的な例を示す。この例の場合、802.1ASタイムスタンプは「PreciseTimeStamp」と言う名称のフィールドに設けられ、このフィールドは、「First Value」と言う名称のサブブランチにおいて「StreamID」という名称のフィールド(MSRPDUに属するストリームの識別子を規定する)と並列的に設定されている。
図5に示す例の場合、タイムスタンプ「PreciseTimeStamp」は80ビットで規定されている。これは、802.1AS標準仕様におけるタイムスタンプが80ビッットで規定されていることに起因する。しかしながら、他の標準仕様に従うタイムスタンプを規定するために他のビット数が使用されてもよい。
【0043】
図5の例の場合、「PreciseTimeStamp」のフィールドが「FirstValue」サブブランチに追加されかつ80ビットで規定されるので、個のサブブランチの「ListeneraskingFailed」のフィールドを規定するバイト数を修正する必要がある。すなわち、それは18バイト(48ビット+16ビット+80ビット=144ビット=18バイト)に等しい。更に、従来の802.1QatのMSRPDUに対するこの修正は、「AttributeLength」及び「AttributedListLength」のような何らかの他のフィールドを規定するバイト数を修正及び/又は調整することを強いる。例えば、AttributeLengthのフィールドを規定するバイト数は18に設定され、AttributeListLengthのフィールドを規定するバイト数が24に調整されてもよい。
【0044】
首尾一貫した又は矛盾のない厳格なリソース管理を保証するために、コアネットワーク装置の各々は、リソースの解放/予約リクエスト(又はメッセージ)が何れかのポートで受信される度に、自身の内部データベースを更新しなければならない。
【0045】
上述したように、コアネットワーク装置Sjがトーカーの通知メッセージ(又はトーカーの通知デクラレーションTA)を受信した場合、コアネットワーク装置は、そのトーカー通知メッセージを隣接する他のコアネットワーク装置(例えば、スイッチ)及びエンドノードに転送する前に、受信したトーカーの通知メッセージで規定されているストリーム仕様(TSpec)を登録する。
【0046】
更に、コアネットワーク装置Sjが「リスナーレディ」リクエスト又はデクラレーション(リスナーのエンドノードHiが指定されたストリームを受信する準備が整っていることを示す)を受信した場合、コアネットワーク装置は、内部データベースにおいて、その指定されたストリームを規定しかつトーカーノードが過去に送信した情報を含んでいるか否かをトーカーの通知メッセージを用いて検査し、含んでいた場合、データストリームの仕様(特に、帯域幅及び最大遅延時間(待ち時間))の観点から、受信したリスナーのレディリクエストのステータスが、指定されたストリームについて保存されているデータストリーム仕様(TSpec)に適合するか否かを確認する。
【0047】
適合していた場合、コアネットワーク装置は、対象の登録されたトーカー通知メッセージに関連するポートにより、リスナーレディリクエストを転送する。
【0048】
適合していなかった場合、リクエストは拒否され、拒否する通知がトーカーノード及びリスナーエンドノードに転送される。そのように拒否する状況の具体例は、
図6左側に示されている非同期内部データベースの3つの進展図(1)、(2)及び(3)に示されている。この例の場合、TAはトーカーの通知メッセージ(又は、トーカー通知)を示し、LRはリスナーのエンドノードが送信したリソースの予約(又は「リスナーレディ」)リクエストであって、要求に応じることができないものを示し、LF(又は「リスナーフェイル(Listener Failed)」)はストリームを要求したが不適合であることに起因してそれを受信できないリスナーノードを示す。コアネットワーク装置の内部データベースの第1段階(1)において、H1はリスナーのエンドノードを示し、H2は第1のストリームを送信する準備が整ったことを通知した第1のトーカーエンドノードを示し、H3は第2のストリームを送信する準備が整ったことを通知した第2のトーカーエンドノードを示す。コアネットワーク装置の内部データベースの第2段階(2)において、コアネットワーク装置は、第1の(H2の)ストリームを指定するリスナーの予約リクエスト(LR)をエンドノードH1から受信し、そのリクエストを満足させることが可能であることを確認して登録する(LR)。コアネットワーク装置の内部データベースの第3段階(3)において、コアネットワーク装置は、第2の(H3の)ストリームを指定するリスナーの予約リクエストをエンドノードH1から受信し、そのリクエストを満足させることは不可能であることを確認して登録する。すなわち、リスナーエンドノードH1の最後の予約リクエストは拒否される。
【0049】
このように拒否する状況を回避するため、本発明において、異なるリスナーエンドノードリクエストのタイムスタンプが存在しなかった場合、リスナーエンドノードH1は、第1の(H2の)リクエストされたストリームを解放して第2の(H3)のものを受信しなければならず、これは追加的な遅延を導入してしまう。そのような解放の状況の具体例は、
図6右側に示す非同期の内部データベースにおける4つの進展図(1’)、(2’)、(3’)及び(4’)に示されている。
【0050】
コアネットワークの内部データベースの第1段階(1’)において、H1はリスナーエンドノードを示し、H2は第1のストリームを送信する準備が整ったことを通知した第1のトーカーエンドノードを示し、H3は第2のストリームを送信する準備が整ったことを通知した第2のトーカーエンドノードを示す。コアネットワーク装置の内部データベースの第2段階(2’)において、コアネットワーク装置は、第1の(H2の)ストリームを指定する第1のリスナー予約リクエスト(LR)をエンドノードH1から受信し、その第1のリクエストを満足させることが可能であることを確認して登録する(LR)。コアネットワーク装置の内部データベースにおける第3段階(3’)において、コアネットワーク装置は、第2の(H3の)ストリームを指定する第2のリスナー予約リクエストをエンドノードH1から受信し、そのリクエストを満足させることは不可能であることを確認する。そして、コアネットワーク装置はリスナーエンドノードH1にその状況を通知し、リスナーエンドノードH1は第1の(H2の)ストリームについての第1の予約リクエストを解放するストリーム解放リクエストを送信する。そして、コアネットワーク装置は、LR情報をTA情報で更新することで、(3’)の状態の内部データベースを更新する。コアネットワーク装置の内部データベースの第4の状態(4’)において、コアネットワーク装置は、第2の(H3の)ストリームを指定する第2のリスナー予約リクエストをエンドノードH1から受信し、その第2の予約リクエストを今度は満足できることを確認して登録する。
【0051】
本発明によれば、リスナーエンドノードリクエストの中にタイムスタンプを導入することで、コアネットワーク装置の各々は、各自のタイムスタンプに従ってリクエストを、すなわちリクエストが処理されるべき時間に従ってリクエストを、処理することができる。言い換えれば、第1の時間に送信されたリスナーのエンドノードリクエストの各々は、エンドノードの第1の処理手段により追加されたタイムスタンプを含み、そのタイムスタンプは、後に生じる第2の時点を規定しており、その第2の時点においてリスナーエンドノードリクエストが考慮又は処理されることになる。
【0052】
コアネットワークスイッチSjがエンドノードHiにより発行されたリクエストを受信し、そのリクエストが、ストリームの仕様の情報とエンドノードがそのストリームを受信し始めることを希望する時間を表す時間情報とを含んでいた場合、コアネットワークスイッチ(Sj)に関連する第2の処理手段は、関連するストリーム仕様情報とともにその時間情報を関連するデータベースに保存し、関連するコアネットワークスイッチが、(ストリームに)対応する保存されている時間情報により示されている時間から、要求を行っているエンドノードHiに要求されているストリームを転送できるようにする。
【0053】
第2の処理手段は関連するコアネットワークスイッチSjの中に設けられている。第2の処理手段は、少なくとも部分的にソフトウェアモジュールにより形成されていてもよいし、あるいは電子回路又はハードウェアモジュールにより形成されていてもよいし、或いはハードウェア及びソフトウェアモジュールの組み合わせにより形成されていてもよい。
【0054】
図7は、本発明に従って登録されたタイムスタンプに基づく同期した処理により、コアネットワーク装置の内部データベースにおける進展図(1)、(2)及び(3)の具体例を示す。コアネットワーク装置の内部データベースにおける第1段階(1)において、H1はリスナーエンドノードを示し、H2は時間T0から第1のストリームを送信する準備が整ったことを通知した第1のトーカーエンドノードを示し、H3は時間T0から第2のストリームを送信する準備が整ったことを通知した第2のトーカーエンドノードを示す。コアネットワーク装置の内部データベースにおける第2段階(2)において、コアネットワーク装置は、i)第1の(H2の)ストリームを指定しかつ或る時間を規定するタイムスタンプ(T1>T0)を含む第1のリスナー予約リクエスト(LR)をエンドノードH1から受信し、エンドノードH1は第1の予約リクエストがその或る時間に満たされることを希望しており、コアネットワーク装置は、ii)その第1の(H2の)予約リクエストを時間T1に満足できることを確認して登録する。コアネットワーク装置の内部データベースにおける第3段階(3)において、コアネットワーク装置は、i)時間T3を規定するタイムスタンプ(T3>T1)を含む第2のリスナー解放及び予約リクエストをエンドノードH1から受信し、その時間T3においてエンドノードH1は第1の(H2の)ストリームに関する第1の予約リクエストが解放されかつ第2の(H3の)ストリームについてリソース予約が実行されることを希望しており、コアネットワーク装置は、ii)時間T3にその最新の(H3の)リソース予約を実行できることを確認及び登録する。
【0055】
本発明は一例に過ぎない上記の方法、エンドノード及びコアネットワークスイッチに限定されず、当業者によって想定される全ての代替例は、添付の特許請求の範囲内に包含されることが想定されている。