JP5199331B2 - ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法 - Google Patents

ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法 Download PDF

Info

Publication number
JP5199331B2
JP5199331B2 JP2010275415A JP2010275415A JP5199331B2 JP 5199331 B2 JP5199331 B2 JP 5199331B2 JP 2010275415 A JP2010275415 A JP 2010275415A JP 2010275415 A JP2010275415 A JP 2010275415A JP 5199331 B2 JP5199331 B2 JP 5199331B2
Authority
JP
Japan
Prior art keywords
data unit
network
routing
path
application
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.)
Active
Application number
JP2010275415A
Other languages
English (en)
Other versions
JP2011050116A (ja
Inventor
ボウステッド,ポール・アンドリュー
サファエイ,ファルザド
Original Assignee
ドルビー ラボラトリーズ ライセンシング コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2004902023A external-priority patent/AU2004902023A0/en
Application filed by ドルビー ラボラトリーズ ライセンシング コーポレイション filed Critical ドルビー ラボラトリーズ ライセンシング コーポレイション
Publication of JP2011050116A publication Critical patent/JP2011050116A/ja
Application granted granted Critical
Publication of JP5199331B2 publication Critical patent/JP5199331B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、一般に、ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法に関する。より詳細には、本発明は、待ち時間駆動型分散アプリケーション(latency driven distributed application)の共有ネットワーク環境においてパケットをルーティングする特定のアプリケーションを有するが、これに限られるものではない。
ネットワークの遅延を低減することによって、アプリケーションの性能を向上させるために地理的に分散されたサーバのネットワークの使用を必要とするコンピュータ・アプリケーションが台頭しつつある。この性質のアプリケーションは、時として、待ち時間駆動型分散(LDD)アプリケーションと呼ばれる。LDDアプリケーションの一例には、インターネットを介して動作する大規模マルチプレイヤ・リアルタイム・ゲームがある。この性質のアプリケーションは、典型的には、インターネットの周囲の分散ソースからのマルチメディア素材のリアルタイムの構成を伴う。その結果、LDDアプリケーションのリアルタイムの性質を保持するために、LDDアプリケーションのユーザの近くに配置されているサーバでデータの処理および配布を実行することが必要となることが多い。例えば、オーストラリアにいるユーザのために、ヨーロッパに配置されているサーバにおいてマルチメディア・データの処理および配布を実行すると、オーストラリアのユーザに対してLDDアプリケーションのリアルタイムの性能を大幅に劣化させる遅延をもたらす可能性がある。この例では、オーストラリアに配置されているサーバからマルチメディア・データの処理および配布を実行することによって、遅延を低減することが有利となる。
LDDアプリケーション・プロバイダが、地理的に分散された1組のサーバを持つために、それらプロバイダのインフラストラクチャを購入してインストールすることは可能であるが、この選択肢は比較的費用がかかるという欠点がある。より費用対効果の大きい解決策は、サーバを所有する団体から必要なコンピューティング・リソースをリースまたは賃借して、パスなどを提供することである。残念ながら、この選択肢の欠点は、アプリケーション・プロバイダが他のアプリケーション・プロバイダと物理的なリソース(つまり、コンピューティング・リソース)を共有する可能性が高いことであり、それによって、処理の遅延によるLDDアプリケーションの性能の低下がもたらされる可能性がある。
定義
以下に、本明細書を通じて使用される様々な用語の定義を記載する。
・ルーティング − 通信ネットワークにおいてデータ・ユニット(unit of data)を送る動作を指すために使用される。本明細書で使用される「ルーティング」という用語は、データ・ユニットを送る特定の技術に制限されない。従って、「ルーティング」という単語は、例えば、レベル3のネットワーク・レベルのパケット・ルーティングや、レベル2のリンク・レベルの交換(スイッチング)などを含む技術の範囲をカバーするのに十分な広義の意味を有する。
・パス − ネットワーク・ノード間でのデータ・ユニットの転送に使用される、通信ネットワークにおける1または複数のリンクを指すために使用される。従って、パスは、隣接するノードがデータを交換できるようにする単一のリンクや、隣接してないノード間で他のノードを介してデータを交換できるようにする一連のリンクを含み得る。更に、本明細書を通じて「パス」および「リンク」という用語は、光ファイバ・ケーブルなどの物理的なパスまたはリンクや、IPトンネルなどの仮想パスまたはリンクを網羅することを意図している。
本発明の第1の態様によれば、ネットワークにおいてデータ・ユニットをルーティングするデバイスが提供され、このデバイスは、
データ・ユニットを送るために使用された、ネットワークにおける第1のパスの識別(ID、identity)を決定し、
第1のパスのIDに基づいて、ネットワークにおける第2のパスを識別し、
データ・ユニットを、第2のパスを介して転送し、それによって前記ネットワークにおいてデータ・ユニットをルーティングする
ように動作する処理手段を含む。
好ましくは、処理手段は、
1または複数の第1のルーティング・レコードから1つのルーティング・レコードを選択し、
このルーティング・レコードが1または複数の第2のルーティング・レコードへの参照を含んでいるかどうかを決定し、
このルーティング・レコードが参照を含んでいないと決定した場合、このルーティング・レコードを検査することによって第2のパスを識別し、
このルーティング・レコードが参照を含んでいると決定した場合、第2のルーティング・レコードから別のルーティング・レコードを選択し、その別のルーティング・レコードを検査することによって第2のパスを識別する
ことによって第2のパスを識別するように動作する。
好ましくは、処理手段は、第1のルーティング・レコードから1つのルーティング・レコードを選択するとき、第1のパスのIDに対応する情報を含む第1のルーティング・レコードのうちの1つを識別し、それによってルーティング・レコードを選択するように動作する。
好ましくは、処理手段は、第2のルーティング・レコードから別のルーティング・レコードを選択するとき、第1のパスのIDに対応する情報と、データ・ユニットに含まれるアプリケーション情報に対応する追加情報とを含む前記第2のルーティング・レコードのうちの1つを識別し、それによって、別のルーティング・レコードを選択するように動作する。
好ましくは、データ・ユニットに含まれるアプリケーション情報は、データ・ユニットの出所であるコンピューティング・デバイスのアイデンティフィケーション(ID)を含む。
好ましくは、処理手段は、データ・ユニットを検査することによって、第1のパスのIDを決定するように動作する。
好ましくは、処理手段は、第2のパスを介してデータ・ユニットを送る場合に、第2のパスを識別するようにデータ・ユニットを分類(arrange、整列)するように動作する。
好ましくは、第1のパスは、ネットワークにおけるトンネルを含む。
好ましくは、第2のパスは、ネットワークにおける複数の第2のパスのうちの1つであり、第2のパスは、ネットワークにおける別のトンネル、およびネットワークにおける非トンネル・パスを含む。
好ましくは、ネットワークはパケット交換に基づく。
好ましくは、データ・ユニットはIPパケットである。
本発明の第2の態様によれば、ネットワークにおいてデータ・ユニットをルーティングする方法が提供され、この方法は、
データ・ユニットを送るために使用された、ネットワークにおける第1のパスのID(identity、アイデンティティ)を決定するステップと、
第1のパスのIDに基づいて、第2のパスを識別するステップと、
データ・ユニットを、第2のパスを介して送り、それによってデータ・ユニットをルーティングするステップと
を含む。
好ましくは、第2のパスを識別するステップは、
1または複数の第1のルーティング・レコードから1つのルーティング・レコードを選択するステップと、
ルーティング・レコードが1または複数の第2のルーティング・レコードへの参照を含んでいるかどうかを決定するステップと、
ルーティング・レコードが参照を含んでいないと決定した場合に、ルーティング・レコードを検査することによって第2のパスを識別するステップと、
ルーティング・レコードが参照を含んでいると決定した場所に、第2のルーティング・レコードから別のルーティング・レコードを選択し、その別のルーティング・レコードを検査することによって第2のパスを識別するステップと
を含む。
好ましくは、第1のルーティング・レコードからルーティング・レコードを選択するステップは、第1のパスのIDに対応する情報を含む第1のルーティング・レコードのうちの1つを識別し、それによってルーティング・レコードを選択するステップを含む。
好ましくは、第2のルーティング・レコードから別のルーティング・レコードを選択するステップは、第1のパスのIDに対応する情報と、データ・ユニットに含まれるアプリケーション情報に対応する追加情報とを含む第2のルーティング・レコードのうちの1つを識別し、それによって、別のルーティング・レコードを選択するステップを含む。
好ましくは、データ・ユニットに含まれるアプリケーション情報は、データ・ユニットの出所であるコンピューティング・デバイスの識別(ID、identification)を含む。
好ましくは、第1のパスのIDを決定するステップは、データ・ユニットを検査するステップを含む。
好ましくは、第2のパスを介してデータ・ユニットを送るステップは、データ・ユニットを、第2のパスを識別するように分類するステップを含む。
好ましくは、第1のパスはネットワークにおけるトンネルを含む。
好ましくは、第2のパスは、ネットワークにおける複数の第2のパスのうちの1つであり、第2のパスは、ネットワークにおける別のトンネル、およびネットワークにおける非トンネル・パスを含む。
好ましくは、ネットワークはパケット交換に基づく。
好ましくは、データ・ユニットはIPパケットである。
本発明の第3の態様によれば、ネットワークにおいてデータ・ユニットをルーティングするデバイスが提供され、このデバイスは、
データ・ユニットの宛先を決定し、
データ・ユニットの宛先に基づいて、データ・ユニットにラベルを割り当て、
ラベルに基づいて、1または複数のルーティング・レコードから1つのルーティング・レコードを選択し、
ルーティング・レコードで識別されたパスを介してデータ・ユニットを送る
ように動作する処理手段を含む。
好ましくは、処理手段は、データ・ユニットに割り当てられたラベルに対応する情報と、データ・ユニットに含まれているアプリケーション情報に対応する追加情報とを含むルーティング・レコードのうちの1つを識別し、それによってルーティング・レコードを選択することによって、ルーティング・レコードを選択するように動作する。
好ましくは、データ・ユニットに含まれるアプリケーション情報は、データ・ユニットの出所であるコンピューティング・デバイスの識別(ID)を含む。
好ましくは、処理手段は、パスを介してデータ・ユニットを送るとき、パスを識別するようにデータ・ユニットを分類するように動作する。
好ましくは、パスは、ネットワークにおける複数のパスのうちの1つであり、パスは、ネットワークにおけるトンネル、およびネットワークにおける非トンネル・パスを含む。
好ましくは、ネットワークはパケット交換ネットワークである。
好ましくは、データ・ユニットはIPパケットを含む。
本発明の第4の態様によれば、ネットワークにおいてデータ・ユニットをルーティングする方法が提供され、この方法は、
データ・ユニットの宛先を決定するステップと、
データ・ユニットの宛先に基づいて、データ・ユニットにラベルを割り当てるステップと、
ラベルに基づいて、1または複数のルーティング・レコードから1つのルーティング・レコードを選択するステップと、
ルーティング・レコードで識別されたパスを介してデータ・ユニットを送るステップと
を含む。
好ましくは、ルーティング・レコードを選択するステップは、データ・ユニットに割り当てられたラベルに対応する情報と、データ・ユニットに含まれているアプリケーション情報に対応する追加情報とを含むルーティング・レコードのうちの1つを識別し、それによってルーティング・レコードを選択するステップを含む。
好ましくは、データ・ユニットに含まれるアプリケーション情報は、データ・ユニットの出所であるコンピューティング・デバイスのIDを含む。
好ましくは、パスを介してデータ・ユニットを送るステップは、データ・ユニットを、パスを識別するように分類するステップを含む。
好ましくは、パスは、ネットワークにおける複数のパスのうちの1つであり、パスは、ネットワークにおけるトンネル、およびネットワークにおける非トンネル・パスを含む。
好ましくは、ネットワークはパケット交換ネットワークである。
好ましくは、データ・ユニットはIPパケットを含む。
本発明の第5の態様によれば、コンピューティング・デバイスに本発明の第2および/または第4の態様による方法を実行させる少なくとも1つの命令を含むコンピュータ・プログラムが提供される。
本発明の第6の態様によれば、本発明の第5の態様によるコンピュータ・プログラムを含むコンピュータ読取可能媒体が提供される。
次に、本発明の範囲内に含まれ得る他の任意の実施形態もあるが、単なる例により本発明の一実施形態について添付の図面を参照して説明する。
図1は、本発明の実施形態によるネットワークの概略図である。 図2は、図1のネットワークにおいてデータ・ユニットをルーティングするデバイスを示す。 図3は、図2のデバイスによって維持されるルーティング・テーブルの一例を示す。 図4は、本発明の別の実施形態によるネットワークの一例を提供する。 図5は、図1および図4のネットワークによって実行される様々なステップを示すフロー・チャートである。 図6は、図1および図4のネットワークによって実行される様々なステップを示す別のフロー・チャートである。
図1は、待ち時間駆動型分散(LDD)アプリケーションを実行するために使用することができる共有コンピュータ・ネットワーク101を示している。ネットワーク101は、地理的に分散された複数のサブネットワーク103を含む。例えば、サブネットワーク103は、異なる国に配置され、異なる組織によって維持されていてもよい。サブネットワーク103は、時としてイントラネットと呼ばれる。それぞれのサブネットワーク103は、1または複数のコンピュータ・サーバ105と、サブネットワーク103間でのデータ・パケットのルーティングを行うように動作するデバイス107とを含む。それぞれのデバイス107は、一般にゲートウェイ、ルータまたはスイッチと呼ばれ、データ・パケットのルーティング専用の電子デバイスの形態である。データ・パケットを互いに交換するために、それぞれのサブネットワーク103内のコンピュータ・サーバ105およびデバイス107は、例えば高速Ethernet(登録商標)などを使用して共にネットワーク接続されている。サブネットワーク103間でのデータ・パケットのルーティングを可能にするために、ネットワーク101は、隣接するデバイス107を接続してデータを互いにルーティング(交換)するように確立することができる複数のリンク109も含む。リンク109は、要求されるレベルのサービスを提供する「ベスト・エフォート型」(サービス・レベル・アグリーメントなし(no service level agreement))やトンネルやVPNの形態とすることができる。
LDDアプリケーションをネットワーク101に配置する前に、LDDアプリケーション・プロバイダは、幾つかのサブネットワーク103のオペレータと交渉して、コンピュータ・サーバ105の能力およびデバイス107における交換(スイッチング)リソースの一部を借りる。典型的には、アプリケーション・プロバイダは、そのアプリケーション・プロバイダがアプリケーション処理能力を有することを望む地理的な位置におけるサブネットワーク103を制御するオペレータのみへ、申し入れを行う。コンピュータ・サーバ105は、それぞれのサブネットワーク103のオペレータが、その借りられた容量を、そのアプリケーション・プロバイダのLDDアプリケーションを独占的に実行する仮想サーバとして構成することができるようになっている。次いで、アプリケーション・プロバイダは、アプリケーション・プロバイダが仮想サーバを有するサブネットワーク103のデバイス107を相互接続するリンク109を確立する。例えば、アプリケーション・プロバイダが、サブネットワーク103a、103c、および103dに仮想サーバを有する場合、アプリケーション・プロバイダは、ネットワーク・プロバイダから帯域幅保証付きリンク109bおよび109dを借りることができる。
あるいは、アプリケーション・プロバイダは、帯域幅保証付きのリンク109bおよび109d借りて、サブネットワーク103aと103dとの間にベスト・エフォート型リンク9hを確立することを選択してもよい。リンク109cは、パケットのルーティングの遅延が重要問題ではない場合に使用される。アプリケ―ション・プロバイダまたはネットワーク・サービス・プロバイダは、必要なリンク109を確立してデータ・パケットを適切な仮想サーバへ送り、その仮想サーバで実行されるLDDアプリケーションによって処理されるようにする。
上述のように、ネットワーク101は、データ・パケットのルーティングを行うデバイス107を含む。より詳細には、デバイス107は、LDDアプリケーションを実行する適切な仮想サーバへの配信のための、データ・パケットをルーティングするタスクを行うように構成されている。図2を参照すると、デバイス207のそれぞれは、第1のインターフェイス211および第2のインターフェイス213を有する。第1のインターフェイス211は、リンク109を介して幾つかのIPトンネルをサポートすることができる。アプリケーション・プロバイダがサブネットワーク103aおよび103cに仮想サーバを有する先の例では、IPトンネルは、リンク9bによってサポートされることになる。IPトンネルのサポートに加えて、第1のインターフェイス211は、非トンネルのベスト・エフォート型IP接続をサポートすることもできる。第2のインターフェイス213は、基本的に、それぞれのサブネットワーク103において動作し得る仮想サーバに接続されている。
デバイス107のそれぞれは、ルーティング・プロセスも含む(図示せず)。一般的に言えば、ルーティング・プロセスは、第1のインターフェイス211で受信されたデータ・パケット(つまり、IPトンネルまたは非トンネルIP接続を介して受信されたデータ・パケット)を、その第1のインターフェイス211がデータ・パケットを受信したIPトンネルのID(アイデンティティ)に基づいて、ルーティングすることができる。以下の段落で詳述するように、それぞれのデバイス107におけるルーティング・プロセスは、第1のインターフェイス211で受信されるデータ・パケットのフィールドに含まれている転送ラベル(トンネル識別子)を検査することによって、IPトンネルのIDを決定する。本発明のこの実施形態では、転送ラベルは、第1のインターフェイス211で受信されたパケットの宛先IPアドレスの形態である。IPアドレスは、IPトンネルにおけるIPも識別し得る。本発明の代替の実施形態において、転送ラベルは、パケット・ヘッダやペイロードにおける別の識別子とすることもできると考えられている。この点に関して、転送ラベルは、IPv6パケットにおける「フロー・ラベル」識別子とすることができる。ルーティング・プロセスは、IPトンネルまたは非トンネルIP接続のうちの1つを、データ・パケットが受信されたIPトンネルのIDに基づいて選択し、その受信されたデータ・パケットを、選択されたIPトンネルまたは非トンネルIP接続を介して送ることを含むものである。あるいは、ルーティング・プロセスは、受信されたデータ・パケットが、第2のインターフェイス213を介して仮想サーバへ送られることを含み得、そのパケットがその仮想サーバで実行されるLDDアプリケーションによって処理されるようにする。
データ・パケットをルーティングするためのルーティング・プロセスの能力における細分性(granularity)のレベルを向上させるために、デバイス107は、アプリケーション情報に基づいてデータ・パケットをルーティングすることもできる。従って、デバイス107は、実際上、トンネル・レベルの交換(先の段落で説明した)およびアプリケーション・レベルの交換を行う。アプリケーション情報を決定するために、デバイス107におけるルーティング・プロセスは、受信されたデータ・パケットに含まれるアプリケーション・ラベルを検査する。本発明のこの実施形態の場合、アプリケーション情報は、実際上、データ・パケットの出所であるデバイスの一意の識別子である。
転送ラベル(IPトンネルのID)およびアプリケーション・ラベル(アプリケーション関連情報)に基づいてデバイス107にデータ・パケットをルーティングさせる利点は、アプリケーション・プロバイダが、サービス品質(QoS)を制御し、マルチキャストを実施し、仮想サーバ間での効率的なセッションのリダイレクション(redirection)や流れの再ルーティング並びにパケット・フィルタリングおよび類似のサービスを、仮想サーバにネットワーク・レベルの機能を負担させることなく展開できるようにする、という能力を有することである。
転送ラベルおよびアプリケーション・ラベルに基づいてデータ・パケットを送るために、デバイス107のそれぞれは転送ラベル・テーブルを維持する。そのラベルの一例が図3に示されている。転送ラベル・テーブルは、着信転送ラベルFL、発信転送ラベルFL、およびアプリケーション転送テーブルへのリンクを含む。図3の転送テーブルには示されていないが、転送テーブルは、アプリケーション・ラベル・オフセットおよびアプリケーション・ラベル・マークを含むこともできると考えられている。転送テーブルのこれら2つの構成要素は、実際上、受信されたデータ・パケットでアプリケーション・ラベルを探すために使用することができる。より詳細には、アプリケーション・ラベル・オフセットは、受信されたデータ・パケットの先頭からの、アプリケーション・ラベルが位置しているところまでのバイト数を表す。次いで、アプリケーション・ラベル・マスクを使用してアプリケーション・ラベルを計算するが、これは、アプリケーション・ラベル・マスクを、アプリケーション・ラベル・オフセットのところに含まれるデータに適用することによって行われる。
各アプリケーション・プロバイダは、それ自体のアプリケーション転送テーブルを有する。アプリケーション転送テーブルへのリンクが空の場合、ルーティング・プロセスは、転送ラベル・テーブルに含まれている情報に基づいてデータ・パケットをルーティングする。一方、アプリケーション転送テーブルへのリンクが空でない場合、ルーティング・プロセスは、アプリケーション転送テーブルに含まれている情報に基づいてデータ・パケットをルーティングする。アプリケーション転送テーブルの一例も図3に示されている。アプリケーション転送テーブルは、着信転送ラベルFL、着信アプリケーション・ラベルAL、発信アプリケーション・ラベルAL、および発信転送ラベルFLを含む。
クライアント・デバイスから仮想サーバへ送られるデータ・パケットは、最初はデバイス107のうちの1つに着く。受信されたこうしたデータ・パケットは、転送ラベルを有する場合も有さない場合もあり得る。典型的には、データ・パケットは、ネットワーク101における通常のルーティング・プロセスによって到着する。この性質のデータ・パケットを送るために、デバイス107のそれぞれは入力マッピング・テーブル(ingress mapping table)を維持し、その例が図3に示されている。入力マッピング・テーブルは、アドレスおよびビット・マスクの形態の宛先IPアドレス・プレフィックス(仮想サーバをサポートしているコンピュータ・サーバ105のうちの1つのコンピュータ・サーバのもの)、転送ラベルFL、およびアプリケーション転送テーブルへのリンクを含む。データ・パケットの宛先アドレスが、入力マッピング・テーブルのエントリと一致する場合、ルーティング・プロセスは、転送ラベルFLをデータ・パケットに割り当てる。次いで、ルーティング・プロセスは、入力マッピング・テーブルの「App Table」フィールドによって示されるアプリケーション転送テーブルに含まれている情報に基づいて、データ・パケットをルーティングする。「App Table」が空の場合、データ・パケットは、FLによって識別されるトンネルへ直接にルーティングされる。
デバイス107は、デバイス107によって維持されるテーブルに含まれる様々なラベルをアプリケーション・プロバイダが変更することができるように、構成されている。デバイス107の構成は、アプリケーション・プロバイダが、それらに関連付けられているテーブルおよびラベルを変更するこのみ可能であり、他のアプリケーション・プロバイダに関連付けられているテーブルを変更したりラベルを使用したりすることはできないように、なっていることに留意されたい。この態様を実施するために、デバイス107のそれぞれは、図2に示されているネットワーク抽象化レイヤ(Network Abstraction Layer)と呼ばれるアプリケーション・プログラム・インターフェイス(API)を含む。ネットワーク抽象化レイヤは、アプリケーション・プロバイダによって使用される転送ラベルの実際の値を隠し、アプリケーション・プロバイダが、それらに帰属するラベル・テーブル・エントリの変更のみを行えることを確実にする。更に、上述のように、デバイス107のそれぞれは、個々のアプリケーション・プロバイダごとに個別のアプリケーション・ラベル・テーブルを維持する。
以下では、ネットワーク101が大規模マルチプレイヤ・ゲームや分散型仮想環境内で富んだ没入型通信環境(rich immersive communications environment)を提供する手法の一例を示している。この例のために、LDDアプリケーションは、音の届く範囲内の他のすべてのプレイヤのそれぞれについての個々の3次元オーディオ・シーンを提供する。この例では、(1)クライアントでのアプリケーション・ラベルによるパケットのラベリング、(2)トンネルによりスイッチングされたパスを作成するための転送ラベルの使用、(3)ネットワーク内でのアプリケーション・ラベルを使用した転送のアプリケーション・レベルの制御、および(4)サービス品質に対するアプリケーション制御について述べる。
図4に示されているように、アプリケーション・プロバイダAは、サイトSからSで仮想サーバを借りていると仮定する。豊んだ没入型通信サービスのクライアントの小さいサブセット(C・・・C)が検査される。図4(a)は、仮想世界におけるこれらのユーザの場所、およびアバタAに対するこれらのユーザの空間的な位置を示している。2つのエリアは、アバタの聴取範囲および対話ゾーン(他のアバタとの対話通信があり得る)として定義されている。対話ゾーン内の他のソースからは遅延が少ないことが必要とされ、対話ゾーン外のソースからは遅延が大きくても許容され得る。借りているサーバのサブセットに関連してのアバタの「所有者」の物理的な場所は、図4(b)に示されている。これらのユーザを含む仮想世界のエリアのオーディオ・シーンを計算するための最適な場所は、サンフランシスコにあるサーバSにおいてアプリケーション・プロバイダによって(おそらくは、遅延とリソースの使用量との間での妥協案として)計算される。図4(c)に示されているサーバSおよびSは、図3に示されている正式なラベル・テーブルおよび入力マッピング・テーブルを維持すると仮定される。
このアプリケーションの場合、一意のアバタIDが各クライアントに割り当てられる。例えば、クライアントCにはアバタID A、CにはアバタID B、などのように割り当てられる。このアバタIDは、アプリケーションが、オーディオ・フローを適切なサーバへルーティングするため、および各フローに提供すべき必要なサービス品質を決定するために、有用である。それだけ有用性があるので、アプリケーション・プロバイダは、アプリケーション・ラベルにこの値を使用する。従って、各クライアントは、各オーディオ・パケットのアプリケーション・ラベルをそのアバタIDに設定する。状態情報などのような他のタイプのフローは、異なるようにラベル付けされ得る。
クライアント・ノードCからネットワーク101を通じてサーバSへオーディオ・パケットを送信するために、オーディオ・パケットは、外側IPヘッダーのサーバSのアドレスおよび内側ヘッダーのSのアドレスと共にIP−in−IPトンネルにカプセル化される。パケットがSに着くと、カプセル化は解除され、パケットは、入力マッピング・テーブルSに基づいて転送される。この場合、Dは、Aの対話ゾーン内にあるため、低遅延のリンクが必要である。パケットは、aの転送ラベルが与えられ、次いで、アプリケーション・プロバイダAの転送テーブルによって送られる。転送ラベルは、aからbに交換され、Sへ送られる。Sで、パケットは、Sに向かう途中でトンネルbからトンネルcへとスイッチングされる。
からSに着いたパケットもSへとスイッチングされる。しかし、アプリケーションは、より高い遅延パスでストリームを送信することを決定する(アバタBがアバタAの聴取範囲のちょうど端部にあるため)。これは、空の転送ラベルOUT(発信)フィールド(FL)を含むSのアプリケーション転送テーブルに、アプリケーション・ラベルB用のエントリを入れることによって可能とされる。これは、転送ラベルが取り除かれ、パケットがインターネットを通るパスで送信されることを示す。
この例を簡素化するために、マルチキャストおよび他の交換操作への言及は省かれている。2つのレベルのアプリケーション/転送ラベル・スイッチング操作は、非常に強力である。多くの操作は、アプリケーション・ラベルに基づいてオーバーレイ・ネットワーク内で実行することができ、フローは、ネットワークの状態やゲームの要件の変更に基づいてドロップされたり、再ルーティングされたり、また、マルチキャストされ得る(フローは、この時点では低遅延のリンクを必要としない場合がある)。
ネットワーク104によって実行される様々なステップが、図5および図6のフロー・チャート501および601に示されている。
本明細書に記載された本発明は、特に明記されたもの以外の変形および変更も可能であることを当業者は理解されよう。本発明は、本発明の精神および範囲内に含まれるこうしたすべての変形および変更を含むことを理解されたい。

Claims (14)

  1. ネットワークにおいてデータ・ユニットをルーティングするデバイスであって、処理手段を備え、該処理手段は、
    前記データ・ユニットの宛先を決定し、
    前記データ・ユニットの前記宛先に基づいて、前記データ・ユニットにラベルを割り当て、
    前記ラベルに基づいて1または複数のルーティング・レコードから1つのルーティング・レコードを選択し、
    前記1つのルーティング・レコードで識別されたパスを介して前記データ・ユニットを送る
    ように動作する処理手段であり、
    前記1または複数のルーティング・レコードは1または複数のアプリケーション・プロバイダにより変更することができ、前記1または複数のルーティング・レコードはアプリケーション・プロバイダに関連する情報を含み、前記アプリケーション・プロバイダに関連する情報は、関連するそれぞれのアプリケーション・プロバイダにより変更することができるように構成され、
    前記ルーティング・レコードは、前記データ・ユニットに割り当てられた前記ラベルに対応する情報と、前記データ・ユニットに含まれ、特定のアプリケーション・プロバイダに対して特有の、出所のアプリケーション情報に対応する追加情報とを含む前記ルーティング・レコードのうちの1つを識別することによって、選択される、
    デバイス。
  2. 請求項1に記載のデバイスであって、前記データ・ユニットに含まれる前記アプリケーション情報が、前記データ・ユニットの出所であるコンピューティング・デバイスのアイデンティフィケーションを含む、デバイス。
  3. 請求項1または2に記載のデバイスであって、前記処理手段が、前記パスを介して前記データ・ユニットを送るとき、前記パスを識別するように前記データ・ユニットを分類するように動作する、デバイス。
  4. 請求項1ないし3の何れかに記載のデバイスであって、前記パスが、前記ネットワークにおける複数のパスのうちの1つであり、前記パスが、前記ネットワークにおけるトンネルおよび前記ネットワークにおける非トンネル・パスを含む、デバイス。
  5. 請求項1ないし4の何れかに記載のデバイスであって、前記ネットワークがパケット交換ネットワークである、デバイス。
  6. 請求項1ないし5の何れかに記載のデバイスであって、前記データ・ユニットがIPパケットを含む、デバイス。
  7. ネットワークにおいてデータ・ユニットをルーティングする方法であって、
    前記データ・ユニットの宛先を決定するステップと、
    前記データ・ユニットの前記宛先に基づいて、前記データ・ユニットにラベルを割り当てるステップと、
    前記ラベルに基づいて1または複数のルーティング・レコードから1つのルーティング・レコードを選択するステップであって、前記1または複数のルーティング・レコードは1または複数のアプリケーション・プロバイダにより変更することができ、前記1または複数のルーティング・レコードはアプリケーション・プロバイダに関連する情報を含み、前記アプリケーション・プロバイダに関連する情報は、関連するそれぞれのアプリケーション・プロバイダにより変更することができるように構成されるものである、ステップと、
    前記1つのルーティング・レコードで識別されたパスを介して前記データ・ユニットを送るステップと
    を備え、
    前記ルーティング・レコードを選択する前記ステップが、前記データ・ユニットに割り当てられた前記ラベルに対応する情報と、前記データ・ユニットに含まれ、特定のアプリケーション・プロバイダに対して特有の、出所のアプリケーション情報に対応する追加情報とを含む前記ルーティング・レコードのうちの1つを識別するステップを含む、
    方法。
  8. 請求項7に記載の方法であって、前記データ・ユニットに含まれる前記アプリケーション情報が、前記データ・ユニットの出所であるコンピューティング・デバイスのアイデンティフィケーションを含む、方法。
  9. 請求項7または8に記載の方法であって、前記パスを介して前記データ・ユニットを送る前記ステップが、前記データ・ユニットを、前記パスを識別するように分類するステップを含む、方法。
  10. 請求項7ないし9の何れかに記載の方法であって、前記パスが、前記ネットワークにおける複数のパスのうちの1つであり、前記パスが、前記ネットワークにおけるトンネルおよび前記ネットワークにおける非トンネル・パスを含む、方法。
  11. 請求項7ないし10の何れかに記載の方法であって、前記ネットワークがパケット有資格ネットワークである、方法。
  12. 請求項7ないし11の何れかに記載の方法であって、前記データ・ユニットがIPパケットを含む、方法。
  13. コンピューティング・デバイスに、請求項7ないし12の何れかに記載の前記方法を実行させる命令を含むコンピュータ・プログラム。
  14. 請求項13に記載のソフトウェアを含むコンピュータ・プログラムが記録されたコンピュータ読取可能記録媒体。
JP2010275415A 2004-04-16 2010-12-10 ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法 Active JP5199331B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2004902023A AU2004902023A0 (en) 2004-04-16 Devices and methods for routeing a unit of data in a network
AU2004902023 2004-04-16

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007507623A Division JP4705094B2 (ja) 2004-04-16 2005-04-15 ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法

Publications (2)

Publication Number Publication Date
JP2011050116A JP2011050116A (ja) 2011-03-10
JP5199331B2 true JP5199331B2 (ja) 2013-05-15

Family

ID=35150335

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007507623A Active JP4705094B2 (ja) 2004-04-16 2005-04-15 ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法
JP2010275415A Active JP5199331B2 (ja) 2004-04-16 2010-12-10 ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007507623A Active JP4705094B2 (ja) 2004-04-16 2005-04-15 ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法

Country Status (7)

Country Link
US (1) US8543727B2 (ja)
EP (2) EP1738541B1 (ja)
JP (2) JP4705094B2 (ja)
KR (1) KR101155386B1 (ja)
CN (1) CN1961541B (ja)
SG (2) SG155161A1 (ja)
WO (1) WO2005101751A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135230B2 (en) * 2007-07-30 2012-03-13 Dolby Laboratories Licensing Corporation Enhancing dynamic ranges of images
US8433783B2 (en) * 2010-09-29 2013-04-30 Citrix Systems, Inc. Systems and methods for providing quality of service via a flow controlled tunnel
US9246820B1 (en) * 2013-07-01 2016-01-26 Juniper Networks, Inc. Methods and apparatus for implementing multiple loopback links
US9608858B2 (en) * 2014-07-21 2017-03-28 Cisco Technology, Inc. Reliable multipath forwarding for encapsulation protocols
US10243832B2 (en) 2014-12-23 2019-03-26 Industrial Technology Research Institute Routing message delivery method applicable to network node and network node using the same and communication network using the same
WO2017050385A1 (en) * 2015-09-24 2017-03-30 Hewlett Packard Enterprise Development Lp Memory system management
US10862620B2 (en) * 2017-09-25 2020-12-08 Dolby Laboratories Licensing Corporation Systems and methods to optimize the load of multipath data transportation
CN114915585A (zh) * 2019-03-11 2022-08-16 华为技术有限公司 报文处理方法、装置、设备及***
JP2022527111A (ja) 2019-04-03 2022-05-30 ドルビー ラボラトリーズ ライセンシング コーポレイション スケーラブル音声シーンメディアサーバ

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3225924B2 (ja) * 1998-07-09 2001-11-05 日本電気株式会社 通信品質制御装置
US6205488B1 (en) * 1998-11-13 2001-03-20 Nortel Networks Limited Internet protocol virtual private network realization using multi-protocol label switching tunnels
US6985454B1 (en) * 1999-01-26 2006-01-10 Globalstar L.P. ISP system using non-geosynchronous orbit satellites
EP1126742A1 (de) * 2000-02-15 2001-08-22 Siemens Aktiengesellschaft Verfahren zum Ersatzschalten von Übertragungseinrichtungen in MPLS-Netzen
US6886043B1 (en) * 2000-06-28 2005-04-26 Nortel Networks Limited Communications network
AU2001286954A1 (en) * 2000-08-31 2002-03-13 The Regents Of The University Of California Cluster-based aggregated switching technique (cast) for routing data packets and information objects in computer networks
US20030177263A1 (en) * 2000-09-29 2003-09-18 Robinson Gerald A Routing in a communications network
SE520129C2 (sv) * 2000-10-27 2003-05-27 Terraplay Systems Ab Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer
US7123587B1 (en) * 2000-11-22 2006-10-17 Nortel Networks Limited System, device and method for limiting tunnel traffic in an information communication network
US6847641B2 (en) 2001-03-08 2005-01-25 Tellabs San Jose, Inc. Apparatus and methods for establishing virtual private networks in a broadband network
JP4481518B2 (ja) * 2001-03-19 2010-06-16 株式会社日立製作所 情報中継装置及び転送方法
JP2002354022A (ja) 2001-05-29 2002-12-06 Nec Corp パケットスイッチネットワークにおけるQoS制御方式
GB0118172D0 (en) * 2001-07-26 2001-09-19 British Telecomm A telecommunications network
JP4460195B2 (ja) * 2001-08-06 2010-05-12 株式会社日立製作所 パケット転送装置およびルーティング制御装置
US7061894B2 (en) * 2001-08-07 2006-06-13 Industrial Technology Research Institute System and method for providing voice communications for radio network
US6950394B1 (en) * 2001-09-07 2005-09-27 Agilent Technologies, Inc. Methods and systems to transfer information using an alternative routing associated with a communication network
JP2003134150A (ja) * 2001-10-24 2003-05-09 Nippon Telegr & Teleph Corp <Ntt> 非対称通信方法及び装置、非対称通信プログラム及びそのプログラムを記録した記録媒体
US20030174706A1 (en) * 2002-03-15 2003-09-18 Broadcom Corporation Fastpath implementation for transparent local area network (LAN) services over multiprotocol label switching (MPLS)
US7616637B1 (en) * 2002-04-01 2009-11-10 Cisco Technology, Inc. Label switching in fibre channel networks
FI20020791A (fi) * 2002-04-24 2003-10-25 Nokia Corp Menetelmä ja järjestelmä tietoyksikköjen lähettämiseksi
JP2004128723A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd ラベルスイッチルータ及びそのパス切替制御方法
US7085745B2 (en) * 2003-03-05 2006-08-01 Klug John R Method and apparatus for identifying, managing, and controlling communications

Also Published As

Publication number Publication date
EP2549702A1 (en) 2013-01-23
SG187466A1 (en) 2013-02-28
WO2005101751A1 (en) 2005-10-27
KR20070053658A (ko) 2007-05-25
CN1961541A (zh) 2007-05-09
US8543727B2 (en) 2013-09-24
JP4705094B2 (ja) 2011-06-22
JP2007533214A (ja) 2007-11-15
SG155161A1 (en) 2009-09-30
EP2549702B1 (en) 2019-02-27
CN1961541B (zh) 2011-07-20
KR101155386B1 (ko) 2012-06-21
EP1738541A1 (en) 2007-01-03
US20070133503A1 (en) 2007-06-14
JP2011050116A (ja) 2011-03-10
EP1738541A4 (en) 2010-08-18
EP1738541B1 (en) 2018-01-10

Similar Documents

Publication Publication Date Title
JP5199331B2 (ja) ネットワークにおいてデータ・ユニットをルーティングするデバイスおよび方法
CN107566440B (zh) 软件定义的网络环境中服务的自动发现和自动扩缩
US7257646B2 (en) Method and arrangement for handling information packets via user selectable relay nodes
US7668164B2 (en) Methods and arrangements in a telecommunications system
WO2016197344A1 (zh) 实现业务链接的方法、设备及***
US8787218B2 (en) Dynamic establishment of virtual circuits multisegment pseudowires
JP4696131B2 (ja) サービスバインディングを用いアクセスドメイン上でユニキャストメッセージを介してデータトラフィックを集合する方法およびノード
JP2002111725A (ja) インタフェース識別装置、インタフェース識別方法および、mpls−vpnサービスネットワーク
EP1155577A2 (en) Public mobile data communications network
EP3716529B1 (en) Tunneling inter-domain stateless internet protocol multicast packets
US20210044445A1 (en) Group-based policy multicast forwarding
Sun et al. Scalable programmable inbound traffic engineering
Cisco IPv6: Providing IPv6 Services over an IPv4 Backbone Using Tunnels
AU2010201307B2 (en) Devices and methods for routeing a unit of data in a network
AU2005234094B2 (en) Devices and methods for routeing a unit of data in a network
JP2004165970A (ja) 動的経路制御方法および動的経路制御装置
Yuan et al. Leveraging Legacy Software in Clean-Slate Network Architectures

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110107

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120911

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

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: 20130109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130207

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

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5199331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250