JP2003158544A - プログラマブル・ネットワーク・ルータ兼スイッチのための方法および装置 - Google Patents
プログラマブル・ネットワーク・ルータ兼スイッチのための方法および装置Info
- Publication number
- JP2003158544A JP2003158544A JP2002275080A JP2002275080A JP2003158544A JP 2003158544 A JP2003158544 A JP 2003158544A JP 2002275080 A JP2002275080 A JP 2002275080A JP 2002275080 A JP2002275080 A JP 2002275080A JP 2003158544 A JP2003158544 A JP 2003158544A
- Authority
- JP
- Japan
- Prior art keywords
- information
- network
- flow control
- control table
- computer
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ー制御の動作条件を変更できる方法及びシステムを提供
する。 【解決手段】ビデオプログラムは、ビデオ・サーバ10
からクライアント30,31へ異った品質レベルで送信
できる。データはルータ42のネットワーク・ノードで
処理されてビデオ・ストリームの解像度またはデータ・
レートが変更できる。これによりクライアント30,3
1のそれぞれは処理能力およびパケット受信能力に応じ
て最高画質のビデオを受信できる。また、クライアント
は希望するビデオの品質をネットワーク上のトラフィッ
クの範囲や、ユーザーの選択、その他の要因に応じてい
つでも変更できる。
Description
ットワーク・ルータ兼スイッチ、ネットワーク内のトラ
フィックを制御するシステム、また特にデータ処理能力
を内蔵したルータまたはスイッチング・システム、およ
び当該装置をプログラムする方法に関する。
ワークが生まれ世界中からの利用が一般化した。このよ
うな通信ネットワークは今日データ、音声、ビデオを伝
送しており、さらに大きなバンド幅と運用上のいっそう
の柔軟性が必要とされている。インターネット・プロト
コル(以下IP)ネットワーク・システムの技術は比較
的最近開発された通信技術で、従来のネットワークに見
られる制約を克服するように設計されている。IP技術
はデータ、音声、ビデオ、その他の各種データを、ほと
んどあらゆる種類のネットワーク上に送信するために使
用できる。IPができる前、大半のネットワークは伝送
しようとするデータの種類に基づいたものだった。つま
り公衆電話回線網と高速デジタル伝送装置は主として音
声またはビデオなどの遅延に敏感な情報を伝送するため
に設計使用されていた。逆に、多くのパケット方式ネッ
トワークは遅延が許容し得るようなデータ情報向けに開
発された。ユーザは自分の特定用途に必要な機能を提供
するネットワーク技術を採用したが、その結果として多
くの組織で多数の異なる種類のネットワークをサポート
することとなった。
ぞれが複数バイトを含むデータ・パケットを用いてい
る。パケットは比較的高速で、たとえば毎秒数百メガビ
ットで、伝送/交換される。各IPパケットは通常20
バイト(バージョン4の場合)のへッダ部分と、ペイロ
ード部分とから構成される。ペイロード部分は任意の長
さで良いが、最大長以下とする.このようなネットワー
クで使用されるパケット交換は入力線に到着した特定の
パケットを希望する出力線へ、または希望するアドレス
へ、パケットのへッダの内容にしたがって、転送する。
これを実現するには、システムがパケットのへッダ部分
を検証して、そのパケットを転送すべき希望アドレスを
決定し、ついでシステムが宛先に向けてパケットを送出
する。固定長パケットを使用する場合、たとえばATM
用としては、比較的単純なハードウェアで交換を実施す
ることができる。
想チャンネル識別、ペイロード種別、エラー制御、その
他の機能を含め多くの異なる機能に対してデータを提供
する。パケットを使うことによりデータ、音声、ビデオ
の伝送を混在させられるようになる。つまりパケット種
別の変化が他のパケット種別のレイテンシに影響するこ
とがある。
は通常多数の異なる到着線上で情報を受信して、その情
報を多くの異なる出力線上へ伝送するように接続され
る。その結果、ルータに到着したIPパケットは互いに
混合される、つまり各線からのパケットが他の線からの
パケットと混ぜ合わされる。しかし個々の接続に由来す
るパケットはルータからルータへ、そのへッダにしたが
って転送される。従来のルータでは、個々のパケットが
入力線から出力線へパケット・へッダ内に保持されてい
る情報によってルーティングされる。
ティの付加機能を有するようになった。プログラム可能
なネットワークではデータ・パケットがパケットそれ自
体の中でプログラムを伝送するか、パケットが処理され
たネットワーク装置で実行されるべきプログラムの参照
を伝送するようにしている。この演算能力を提供するひ
とつの方法としては、「アクティブ・ネットワーク」が
一般に良く知られている。この方法は各パケットがネッ
トワーク装置で実行されるプログラム(またはプログラ
ムへのポインタまたは参照)を内包して伝送される。ネ
ットワーク・ノードでの動作のなんらかの側面を制御す
るプログラムを書くことにより、そのノードをパケット
内の情報により制御できる。アクティブ・ネットワーク
の明らかな欠点は、パケットがネットワークを通ってく
る間にフラグメンテーションを起こす場合に発生する。
パケットのフラグメンテーションが発生した場合、その
ノードにまだ到着していないパケットに内包されたデー
タがネットワーク・ノードでのプログラム状態の保持を
困難にする。このような保存は単純なプログラム参照で
は実現できず、むしろプログラムの特定の実行インスタ
ンスへの参照を必要とし、これはデータの供給源側では
分からない。DARPAはアクティブ・ネットワークの
例である(例えば、非特許文献1及び2参照。)。
トワーク」として知られている。プログラマブル・ネッ
トワークでは、ネットワーク装置の資源が抽象化されソ
フトウェアにより制御できるようにしてある(例えば、
非特許文献3及び4参照。)。ソフトウェアは標準化さ
れたアプリケーション・プログラム・インタフェースの
セットを介してネットワーク装置と会話する。現在のと
ころ特に注目されているのは、サービス品質に関係する
資源、たとえばキューの品質などを抽出し、これを利用
できるようにしてAPI経由で制御するもので、コント
ローラ・ソフトウェアからサービス品質の設定を操作す
ることが可能である。さらに、標準化されたAPIによ
り新規のネットワーク・サービスの開発が容易かつ迅速
にできるようになる。
L., et al., “Towards an A
ctive Network Architectur
e,” SPIE Computer Communi
cation Review, Vol. 26, N
o. 2, 1996年4月
L., et al., “A Survey of
Active Network Research,”
IEEECommunications Magaz
ine, Vol. 35, No. 1, 1997
年1月,pp. 80−86
amming Telecommunication
Networks,” IEEE Network,
1997年9月/10月,pp. 8−18
l., “The IEEE P1520Standa
rds Initiative for Progra
mmable Network Interface
s,” IEEE Communications,
Special Issue on Programm
able Networks, Vol. 36, N
o. 10, 1998年10月, pp. 64−7
0
コンピュータ上で動作するストアド・プログラムへ情報
を提供するためのネットワーク装置またはシステムを開
発した。本発明は実行プログラムの同じインスタンスへ
の同じフローに属する均等に断片化されたパケットを供
給する技術を提供する。プログラムによって処理される
ことを目的としていない他のパケットを遅延させること
はなく、また他のパケットのサービス品質を劣化させる
こともない。本発明では、ネットワーク装置またはシス
テムは望ましくは供給源から情報を受信するための入力
ポートと、供給源から宛先へ受信した情報を提供するた
めの出力ポートとを含む。出力ポートからの情報を受信
するようにコンピュータを接続し、当該コンピュータあ
ての情報を出力ポートに提供するようにする。
格納されてエントリを保持する。エントリは入力ポート
に到着する情報について、供給源を表わすソースアドレ
スと、到着した情報を出力ポートから送信しようとする
宛先を表わす宛先アドレスと、それぞれのアドレスにつ
いてのアクション情報とを含む。重要なことは、フロー
制御テーブル内のアクション情報に少なくとも一つのプ
ログラム参照を含むことである。コンピュータはこれに
向けられた情報を出力ポートから受信して、ストアド・
プログラムの実行時に受信した情報を使用する。
を示す略図であり、この例を使って、ビデオ解像度をス
イッチまたはルータにより変更し、可能な限り最高画質
のビデオを各クライアントに供給するための技術を説明
する。図1に示したシステムでは、ビデオ・プログラム
がビデオ・サーバ10からネットワーク20上で各種ク
ライアント30、31へ送信されている。ネットワーク
はルータ40、41、42を含み、これらのルータはビ
デオ・サーバ10から受信したデータをネットワーク2
0で交換して最終的にクライアント30、31へ配信す
るために使用する。
ビデオプログラムはビデオ・サーバ10から各種クライ
アント30、31へ異なった品質レベルで送信できる。
特にデータは、たとえばルータ42のようなネットワー
ク・ノードで処理され、ビデオ・ストリームの解像度あ
るいはデータ・レートが変更されることがある。このよ
うにすると、クライアント30、31のそれぞれはこれ
らの処理能力および/またはパケット受信能力に応じて
最高画質のビデオを受信できる。さらに、各クライアン
トのユーザは受信したいと希望するビデオの品質を選択
することができ、各クライアント30、31へ供給され
るビデオの品質を、ネットワーク上のトラフィックの範
囲や、ユーザの選択、またそれ以外の要因に応じて、い
つでも変更できる。
ータまたはスイッチなどのネットワーク装置での代表的
な構成を示したブロック図である。図示してあるよう
に、本システムはコントローラまたはコンピュータ5
0、データ処理サーバ60、ルータ70で構成される。
コントローラ50はサービス・ソフトウェア52とコン
トローラ・ソフトウェア54を含み、これらソフトウェ
アがアプリケーション・プログラム・インタフェース
(API)58経由で通じている。コントローラ50は
ルータ・コントローラ72に接続される。またルータ・
コントローラ72にはデータ処理サーバ60も接続され
ている。サーバはコンピュータで構成するのが代表的で
ありプログラム65を実行する環境を有している。
ス75経由でネットワーク20に接続される。インタフ
ェース75はルータ70へ情報を供給したりネットワー
ク上のルータ70から情報を受信できるようにする。ル
ータ70の代表的な機能はネットワーク20から情報パ
ケットを受信し、へッダ情報を解析して、希望するクラ
イアントあるいはダウンストリーム側のルータへ、(お
そらくは新しいへッダをつけた)ペイロード部分を転送
することである。
スイッチ77経由で転送コントローラ78とインタフェ
ースする。転送コントローラ78はフロー制御テーブル
80を含んでおり、これについては後述する。
接続することができる。転送コントローラ78は、フロ
ー制御テーブル80に入っている設定にしたがって、デ
ータの出力パスを制御する。フロー制御テーブル80は
ルータ・コントローラ72に管理されており、ルータ・
コントローラそれ自体はコントローラ50によって制御
される。コントローラ50は代表的にはルータとは別に
存在しているがルータに接続されているコンピュータで
ある。図2に図示した実施例では、プログラマブル・ネ
ットワーク環境での実施に好適なように、コントローラ
に標準化APIを提供し、そのAPIの最上部でサービ
ス・ソフトウェアが実行される。重要なことは、図示し
た実施例で、ルータにはデータ処理を実行することので
きるデータ処理サーバ60がルータに接続されている点
である。これによってネットワークから入ってきた情報
を処理するためデータ処理サーバへ転送することができ
るようになる。本発明の別の実施例では、データ処理サ
ーバはルータそれ自体の中に(あるいはその逆に)内蔵
される。当然のことながら、コントローラ50、サーバ
60、ルータ70のあらゆる組み合わせにおいて、コン
トローラ50もデータ処理サーバ60および/またはル
ータ70に内蔵されていても良い。
るパケットはネットワーク・インタフェース75から転
送コントローラ78に接続される。これらの転送コント
ローラは、パケット由来のへッダ情報を使って、そのパ
ケットに対して、適切な処理を実行するが、これにはへ
ッダ情報を除去する、その情報を新アドレス情報に置き
換える、またはその他周知の処理が含まれる。
制御テーブル80の設定に基づいてパケットを制御す
る。フロー制御テーブルはルータ・コントローラ50に
よって管理されており、ルータ・コントローラそれ自体
は他の供給源から情報を受信する。ここで理解しておく
べきことは、コントローラ50が一つ以上のルータを制
御できることで、また周知のように、各ルータがネット
ワークとの間で情報を送受信するために多数のネットワ
ーク・インタフェースを装備できる点である。コントロ
ーラ50においてAPIを用いることによりアプリケー
ション・ソフトウェアをどこか他の場所で実行したり、
プログラマブル・ルータ70と容易に通信したりできる
ようになる。図2に図示したシステムの動作については
図3および図4に関連して説明する。
細な図面である。ネットワーク20上からネットワーク
・インタフェース75へパケットが到着すると、転送コ
ントローラ78はフロー制御テーブル80を検索し、到
着したパケットについてのへッダ情報がテーブル内に登
録されているかどうか判断する。これはテーブル80の
フロー部分110にあるエントリと、パケットのそれぞ
れのフィールドとを照合することにより行なう。たとえ
ば、テーブル80のフロー部分110はソース・アドレ
スのコラム(SRC_ADDR)と宛先アドレスのコラ
ム(DST_ADDR)を含んでいる。ルータに受信さ
れたパケットはへッダ情報とペイロード情報とから構成
されている。テーブルのフロー部分は代表的にはへッダ
情報だけに関係することになるので、ペイロードの情報
は使用されない。
110に対して照合してから、「アクション」部分11
2で示してある適切な対応動作を実行する。たとえば、
ソースIP―aaから到着し、アドレスIP―bbへ送
信されるべきパケットは、“xx”のプライオリティ
(優先順位)で転送される(これはバンド幅の仕様を含
むことがある)。同じように、ソースIP―eeから到
着して宛先IP―ffへ向けられたパケットはプライオ
リティ“zz”にしたがって配送される。フロー制御テ
ーブル内のエントリに合致しないへッダ情報のあるパケ
ットは矢印115で示したようにデフォルトのアクショ
ンにしたがって処理される。このデフォルト・アクショ
ンは長期にわたる「静的」資源割り当てにより設定され
るものである。またデフォルト・アクションはプライオ
リティの設定なしにパケットを処理するように設定でき
るので、「ベスト・エフォート」型のパケット転送が行
なわれる。フロー制御テーブル96に格納されているア
クションはハードウェア処理またはソフトウェア処理で
変更可能である。
112にはエントリとして実行中のプログラムの入力ポ
ートを含んでいる。このような状況では、パケットに適
当なパケットへッダ情報を追加することによって、パケ
ットがその入力ポートへ転送される。このような環境で
は、フィールドにはプログラムへの参照たとえばUR
L、オブジェクトID、あるいはその他の参照を含むこ
とができる。これは、図2の実施例を使うと、フロー制
御テーブルをAPI58でセットアップすることで実現
できる。フロー制御テーブルをセットアップするAPI
を呼び出す場合に、「アクション」フィールドがプログ
ラムの参照であれば、そのプログラムが起動され、これ
の入力ポートが用意される。起動されたプログラムの入
力ポートへの参照がフロー制御テーブル内の新規エント
リのアクション・フィールドに設定される。フロー制御
テーブル80の矢印115で示してあるように、デフォ
ルトのアクションをプログラム参照とすることが可能で
ある。
に、パケットのフローを処理するあるいは他の動作を実
行するソフトウェア・プログラムが起動され、起動され
たプログラムにデータ・パケットを供給するための「フ
ック」をフロー制御テーブル80に記録する。これを実
現するには「if .., then」対を使用でき
る。
フローを決定するための情報を持っていることになる。
これは、ソース・アドレス、ソース・ポート、宛先アド
レス、宛先ポート、プロトコルIDの組み合わせを指定
すれば実現できる。別のアプローチでは、MPLSスイ
ッチングを実行するシステムではMPLSラベルを指定
することで実現可能である。さらに、Diffserv
eコア・ネットワーク内ではDiffserve Co
de Points(DSCP値)を指定するとサービ
ス品質を制御するために使用することができる。
条件を満たすようにするため到着パケットをどのように
処理するか指定する。これは代表的にはパケットを送信
する出力キューを指定する、たとえば長さ、プライオリ
ティなど特性の異なったキューの中から選択することで
行なう。
フトウェア・プログラムへの参照たとえばファイル名、
URL、オブジェクトIDその他を含むことが許容され
る。さらに、ソフトウェア・プログラムへ渡したい他の
パラメータ(引数)もプログラム参照と一緒に指定でき
る。以下のリストAはAPIの一例である。
またAPIのthen部分がプログラムへの参照であれ
ば、参照されるプログラムはなんらかのパラメータがあ
ればそれと一緒に起動される。API呼び出し側は代表
的にはサービス・アプリケーション・プログラムか、サ
ービス・プロバイダが所有するサーバに存在する他のソ
フトウェアである。リモート・コールはCORBA(C
ommon Object Request Brok
er Architecture:共通オブジェクト要
求ブローカ・アーキテクチャ)ファシリティあるいはR
PC(Remote Procedure Call:
リモート・プロシージャ・コール)を使って実現でき
る。呼び出し側、この場合サーバ・アプリケーション
は、ネットワーク管理サーバまたはなんらかの他のポリ
シー制御サーバからルーティング・パス情報を取得する
ことにより、どのネットワーク要素でこのAPIを使っ
て呼び出すべきかを決定する。
ログラムへパケットを渡すのに必要とされる情報を取得
して、APIのif部分で与えられた情報と一緒にネッ
トワーク要素に記録する。そのためプログラムの起動に
は、典型的にはプログラムが実際に実行されるサービス
・プロバイダのファイル・サーバから、プログラムのダ
ウンロードが行なわれる。
するプログラムがあるべき物理的ロケーションはAPI
に対しては透過的である。代表的にはネットワーク要素
と物理的に近いサーバで、またはネットワーク要素がデ
ータ処理能力を備えているならネットワーク要素それ自
体の中で、プログラムを起動するのが望ましい。API
の呼び出し側あるいはサービス・アプリケーションは、
ルーティング・パスと一緒に各ネットワーク要素におい
て希望する演算能力の可用性(おそらくは処理コスト
も)を取得することで、どのネットワーク要素上でAP
Iを呼び出すべきかを決定する。さらに、ポリシー・サ
ーバは特定のネットワーク要素でサービス・プロバイダ
のそれぞれに対する演算能力の可用性を管理できる。
ンティティである必要がない。サーバ集合体または分散
プロセッサを使用することができる。さらに、当然のこ
とながら呼び出される側のプロセッサが汎用プロセッサ
である必要もない。プロセッサはたとえばデジタル信号
プロセッサあるいはイメージ・プロセッサなどと言った
専用プロセッサとすることが可能である。どの場合であ
れ、呼び出し側はどのネットワーク要素上でAPI コ
ールがプログラムを起動するのかを、様々なネットワー
ク要素での特定の演算能力についての予備知識から、決
定することができる。さらに、呼び出し側はMPLSま
たはその他の周知の技術を使って故意にルーティングを
変更し、フローが必要とされるあるいは適当な特殊演算
能力を備えたネットワーク要素を通過するようにするこ
とができる。その一例がビットレート解像度、エンコー
ド方法などの変更により効率的にビデオ・ストリームを
処理する特殊プロセッサである。
とえばサーバのロケーションで)プログラムを起動実行
するかを指定できる。これは代表的には、ネットワーク
上のどこに特化プロセッサが存在しているかを呼び出し
側で知っているような場合におこるであろう。さらに、
呼び出し側はあるネットワーク要素の近くに配置した自
分自身のサーバを保有することがあり、他のなんらかの
サーバの代わりにそのサーバを使用したいことがある。
ションが指定されているAPIの例である。ロケーショ
ンはネットワーク・サーバまたはネットワーク要素のI
Pアドレスを使って指定できるが、前者の場合にはUR
Lを使って指定することも可能である。このAPIはロ
ケーション情報を供給することなしに呼び出せる、たと
えばこの引数に「ヌル・ポインタ」を設定することで呼
び出せるが、この場合リストAのAPIが呼ばれたかの
ようにプログラムが起動される。
ラムのパラメータを変更することもできる。このような
状況では、APIはそれ以前のコールとif部分が全く
同じだが別のthen部分をつけて呼び出される。新し
いパラメータはすでに実行されているプログラムへ、こ
れの入力ポート経由で、たとえばプログラム制御パケッ
トなどとして渡され、プログラムが処理するパケット・
データに対するプログラムの動作方法を変更するように
する。
動処理はネットワーク管理システム(NMS)を経由す
る。現在のところ、NMSはトラフィック伝送の範囲で
はネットワーク資源を管理するだけである。本発明はN
MSがネットワーク内に存在する処理資源を管理できる
ようにする能力を提供する。たとえば、サーバがそれ自
体ネットワーク要素に統合されていて、ネットワーク・
プロバイダによって所有されている場合、第3者がその
サーバを使用するのに認証およびアカウンティング機構
を必要とすることがある。
MSを使用して処理資源を管理する必要がない。しかし
NMSは認証を提供できるのでサーバの所有者だけがそ
のサーバを使用できるようになる。これ以外に、NMS
はアカウンティング機能を提供し、他のサービス・プロ
バイダによる演算能力の使用状況を全部記録することが
できる。
それぞれの指示で、同じプログラムが指定されている場
合でも別のインスタンス(プロセスあるいはタスク)を
作り出して、それぞれが他のプログラムの実行あるいは
終了とは無関係に実行または終了されるようになる。起
動されたプログラムがなんらかのデータ処理を実行する
フローでは、パケットの次のホップについてサービス品
質の設定を指定できる。これは引数セットのif部分で
フロー指定のある同じAPIを使用することで実現さ
れ、このフローと一致するようになる。このような場合
フロー制御テーブルはそのアクション・フィールドに直
列に複数のアクションを保持することになる。同様に、
アクション・フィールドが一連のプログラム参照を有し
て多数プログラムのパイプライン処理を提供することも
できる。
ビス・ソフトウェアから呼び出されて、入力ポート情報
がフロー制御テーブル80に書き込まれた場合に、特定
のプログラムを起動するプロセスをさらに詳細に示した
フローチャートである。処理はステップ120で開始さ
れ、フロー制御テーブルが呼び出されてAPIを設定す
る。ステップ122で、ネットワーク上で受信した情報
に対応するエントリが、フロー制御テーブルで検索され
る。一致するエントリが見つかると、プログラムが終了
し、ステップ128として示したようにエントリがクリ
アされる。一方で、エントリが見つからなかった場合に
は、ステップ130で、指定された情報によりエントリ
を作成する。アクション・フィールドがプログラムへの
参照ではないと仮定すると、ステップ132とステップ
134に示してあるように、作成されたエントリにこの
フィールドが書き込まれる。こうしてステップ135に
示したように、プロセスがうまく完了する。一方、ステ
ップ132で、アクションがプログラムへの参照である
と判断された場合、プログラムが起動され入力ポート情
報をステップ140で取得する。このステップが成功し
た場合には、入力ポート情報を備えたアクションがステ
ップ142で示したように作成されたエントリに書き込
まれ、ここでもAPIが成功することになる。
イッチに、特にハードウェア支援パケット転送あるいは
サービス品質制御機構を使用しているようなルータやス
イッチに、さらに特定するとネットワークパケット処理
能力をアプリケーションが必要とするような場合に、採
用できる。ネットワーク装置を制御するAPIの標準化
に本発明を含めることで、APIに沿って構築されるネ
ットワーク・サービスへ本発明を採用することができ
る。これにより前述したようなプログラマブル機能の使
用のための広範な能力を提供する。
が、本明細書は本発明の特定の例を説明するために提供
されたものであることを理解すべきである。本発明の範
囲は添付の請求項で決定され得るものである。
・ビデオ供給サービス・システムの略図である。
である。
る。
ローチャート図である。
ンターネット/イントラネット、30:クライアント
1、31:クライアント2。
Claims (32)
- 【請求項1】ネットワークに接続された装置に接続され
たコンピュータ上で実行するストアド・プログラムへ情
報を提供するためのシステムであって、前記装置は前記
ネットワークに接続された供給源からの情報を受信する
ための少なくとも一つの入力ポートと、 前記供給源から宛先へ前記情報を提供するための少なく
とも一つの出力ポートと、前記出力ポートから前記コン
ピュータを宛先とする情報を受信するように前記コンピ
ュータが接続され、 それぞれが前記入力ポートに到着する情報の少なくとも
一つの供給源を表わすソース・アドレスと、 前記到着した情報が前記出力ポートから送出される宛先
の少なくとも一つを表わす宛先アドレスと、 前記ストアド・プログラムへの少なくとも一つの参照を
含むそれぞれのアドレスについてのアクション情報とを
含むエントリを格納するためのフロー制御テーブルとを
備え、 前記出力ポートから情報を受信するように接続された前
記コンピュータはそれを宛先とする情報を受信して、前
記受信した情報を前記ストアド・プログラムの実行の際
に使用することを特徴とするシステム。 - 【請求項2】前記アクション情報は前記フロー制御テー
ブル内になんらかのエントリを持たない情報を制御する
ために使用されるデフォルトのプライオリティ情報を含
むことを特徴とする請求項1に記載のシステム。 - 【請求項3】前記システムは情報を交換するためのスイ
ッチと、前記スイッチに接続されて前記フロー制御テー
ブルを格納し前記テーブルに応じて前記スイッチを制御
するためのコントローラとを含むことを特徴とする請求
項2に記載のシステム。 - 【請求項4】前記スイッチはルータを含み前記フロー制
御テーブルは前記ルータ内のコントローラにより維持さ
れることを特徴とする請求項3に記載のシステム。 - 【請求項5】前記ルータ・コントローラはそれ自体がコ
ンピュータにより制御されることを特徴とする請求項4
に記載のシステム。 - 【請求項6】前記ルータ・コントローラはアプリケーシ
ョン・プログラム・インタフェースを使用して前記フロ
ー制御テーブルを管理することを特徴とする請求項3に
記載のシステム。 - 【請求項7】前記システムがIPルータを含むことを特
徴とする請求項2に記載のシステム。 - 【請求項8】前記システムがIPスイッチを含むことを
特徴とする請求項2に記載のシステム。 - 【請求項9】フロー制御テーブル内の前記アクション情
報が前記システムと通信するアプリケーション・プログ
ラム・インタフェースによって作成されることを特徴と
する請求項1に記載のシステム。 - 【請求項10】前記アプリケーション・プログラム・イ
ンタフェースは引数を使用し、前記引数には受信した情
報の供給源の起源を決定するためのif部分と受信した
情報の処理方法を指定するためのthen部分とを含む
ことを特徴とする請求項9に記載のシステム。 - 【請求項11】前記then部分は前記ストアド・プロ
グラムへの参照を含むことを特徴とする請求項10に記
載のシステム。 - 【請求項12】前記then部分はさらに前記ストアド
・プログラムへ供給しようとするパラメータを含む請求
項11に記載のシステム。 - 【請求項13】前記then部分はさらに前記ストアド
・プログラムを実行しようとするロケーションを含むこ
とを特徴とする請求項11に記載のシステム。 - 【請求項14】前記ストアド・プログラムがネットワー
ク管理のために使用される請求項1に記載のシステム。 - 【請求項15】ネットワーク上の装置の出力ポートに接
続されたコンピュータ上で動作するストアド・プログラ
ムへ情報を提供する方法であって、前記方法は前記装置
へ前記情報を配送するためのアドレス情報を含むフォー
マットで前記ネットワークへ前記情報を提供するステッ
プと、 前記装置において、それぞれが前記装置に到着する情報
の少なくとも一つの供給源を表わすソース・アドレス
と、前記到着情報を前記出力ポートから送出する前記宛
先の少なくとも一つを表わす宛先情報と、それぞれの宛
先アドレスについてのアクション情報とを含むエントリ
を有するフロー制御テーブルを格納するステップとを含
み、 前記フロー制御テーブル内の前記アクション情報は少な
くとも一つのプログラムへの参照を含むことと、前記出
力ポートから情報を受信するように接続された前記コン
ピュータはこれを宛先とする情報を受信して前記受信し
た情報を前記ストアド・プログラムの実行の際に使用す
ることを特徴とする方法。 - 【請求項16】前記アクション情報は前記フロー制御テ
ーブル内のエントリになんらかのエントリを持たない情
報を制御するために使用されるデフォルト情報を含むこ
とを特徴とする請求項15に記載の方法。 - 【請求項17】前記スイッチング・システムを制御する
ために前記コンピュータを使用するステップをさらに含
むことを特徴とする請求項15に記載の方法。 - 【請求項18】前記コンピュータを使用してネットワー
クを制御することを特徴とする請求項17に記載の方
法。 - 【請求項19】ネットワークへの接続に適した装置であ
って、前記装置へ接続されたコンピュータ上で実行する
ストアド・プログラムへ情報を提供するための装置であ
って、前記装置は、 供給源から情報を受信するための少なくとも一つの入力
ポートと、 宛先へ前記供給源からの前記情報を提供するための少な
くとも一つの出力ポートと、 それぞれが前記入力ポートに到着する情報の少なくとも
一つの供給源を表わすソース・アドレスと、 前記到着した情報が前記出力ポートから送出される宛先
の少なくとも一つを表わす宛先アドレスと、 前記ストアド・プログラムへの少なくとも一つの参照を
含むそれぞれのアドレスについてのアクション情報とを
含むエントリを格納するためのフロー制御テーブルとを
備え、 前記出力ポートからの情報が前記ストアド・プログラム
の実行の際に使用するため前記コンピュータへ送信され
ることを特徴とする装置。 - 【請求項20】前記供給源は前記ネットワークに接続さ
れた情報の供給源を含むことを特徴とする請求項19に
記載の装置。 - 【請求項21】前記コンピュータは前記出力ポートへ直
接接続されていることを特徴とする請求項20に記載の
装置。 - 【請求項22】前記アクション情報は前記フロー制御テ
ーブル内のエントリになんらかのエントリを持たない情
報を制御するために使用されるデフォルトのプライオリ
ティ情報を含むことを特徴とする請求項19に記載の装
置。 - 【請求項23】前記装置は前記宛先アドレスに基づいて
情報を交換するためのスイッチと、前記スイッチに接続
されて前記フロー制御テーブルを格納し前記テーブルに
応じて前記スイッチを制御するためのコントローラとを
含むことを特徴とする請求項19に記載の装置。 - 【請求項24】前記スイッチがルータを含むことを特徴
とする請求項23に記載の装置。 - 【請求項25】前記コントローラがそれ自体コンピュー
タにより制御されることを特徴とする請求項24に記載
の装置。 - 【請求項26】前記コントローラがアプリケーション・
プログラム・インタフェースを使用して前記フロー制御
テーブルを管理することを特徴とする請求項23に記載
の装置。 - 【請求項27】前記フロー制御テーブル内の前記アクシ
ョン情報が前記装置と通信するアプリケーション・プロ
グラム・インタフェースによって作成されることを特徴
とする請求項23に記載の装置。 - 【請求項28】前記アプリケーション・プログラム・イ
ンタフェースは引数を使用し、前記引数には受信した情
報の供給源の起源を決定するためのif部分と受信した
情報の処理方法を指定するためのthen部分とを含む
ことを特徴とする請求項27に記載の装置。 - 【請求項29】前記then部分は前記ストアド・プロ
グラムへの参照を含むことを特徴とする請求項28に記
載の装置。 - 【請求項30】前記then部分はさらに前記ストアド
・プログラムへ供給しようとするパラメータを含む請求
項29に記載の装置。 - 【請求項31】前記then部分はさらに前記ストアド
・プログラムを実行しようとするロケーションを含むこ
とを特徴とする請求項30に記載の装置。 - 【請求項32】前記ストアド・プログラムが前記ネット
ワークの管理に使用されることを特徴とする請求項19
に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/972,290 US20030084186A1 (en) | 2001-10-04 | 2001-10-04 | Method and apparatus for programmable network router and switch |
US09/972,290 | 2001-10-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003158544A true JP2003158544A (ja) | 2003-05-30 |
Family
ID=25519471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002275080A Pending JP2003158544A (ja) | 2001-10-04 | 2002-09-20 | プログラマブル・ネットワーク・ルータ兼スイッチのための方法および装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20030084186A1 (ja) |
JP (1) | JP2003158544A (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030231239A1 (en) * | 2002-06-12 | 2003-12-18 | Corzilius Brian S. | Nodal video stream processor and method |
US7467408B1 (en) * | 2002-09-09 | 2008-12-16 | Cisco Technology, Inc. | Method and apparatus for capturing and filtering datagrams for network security monitoring |
JP2004178472A (ja) * | 2002-11-29 | 2004-06-24 | Sanyo Electric Co Ltd | プログラム取得方法およびその方法を利用可能なパケット転送装置 |
FR2857539B1 (fr) * | 2003-07-11 | 2005-09-30 | Cit Alcatel | Description de contenu de paquets dans un reseau de communication par paquets |
US20050125514A1 (en) * | 2003-11-21 | 2005-06-09 | Intel Corporation, A Delaware Corporation | Dynamic resource allocation systems and methods |
US20060006248A1 (en) | 2004-07-06 | 2006-01-12 | Chin-Chiang Wu | Floating rotatable fountain decoration |
US7411910B1 (en) * | 2004-07-06 | 2008-08-12 | Juniper Networks, Inc. | Systems and methods for automatic provisioning of data flows |
EP2187579A1 (en) * | 2008-11-13 | 2010-05-19 | Alcatel Lucent | Reconfigurable communications system |
CN102273139B (zh) * | 2008-12-30 | 2015-04-15 | 惠普开发有限公司 | 存储网络流信息 |
WO2019126305A1 (en) * | 2017-12-18 | 2019-06-27 | The IP Law Firm of Guy Levi, LLC | Systems, and methods for transferring data between secure networks through less secure networks |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6628653B1 (en) * | 1998-06-04 | 2003-09-30 | Nortel Networks Limited | Programmable packet switching device |
US6286052B1 (en) * | 1998-12-04 | 2001-09-04 | Cisco Technology, Inc. | Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows |
US6810037B1 (en) * | 1999-03-17 | 2004-10-26 | Broadcom Corporation | Apparatus and method for sorted table binary search acceleration |
US6628654B1 (en) * | 1999-07-01 | 2003-09-30 | Cisco Technology, Inc. | Dispatching packets from a forwarding agent using tag switching |
US6560610B1 (en) * | 1999-08-10 | 2003-05-06 | Washington University | Data structure using a tree bitmap and method for rapid classification of data in a database |
US6801525B1 (en) * | 2000-07-11 | 2004-10-05 | Lucent Technologies Inc. | Internet protocol packet router |
US7209977B2 (en) * | 2001-10-01 | 2007-04-24 | International Business Machines Corporation | Method and apparatus for content-aware web switching |
-
2001
- 2001-10-04 US US09/972,290 patent/US20030084186A1/en not_active Abandoned
-
2002
- 2002-09-20 JP JP2002275080A patent/JP2003158544A/ja active Pending
-
2006
- 2006-05-30 US US11/443,679 patent/US20060218300A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20030084186A1 (en) | 2003-05-01 |
US20060218300A1 (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110999252B (zh) | 经由多个路径的quic通信的方法 | |
EP1133111B1 (en) | Method and apparatus for managing quality of service in network devices | |
US7646759B2 (en) | Apparatus and method for configuring data plane behavior on network forwarding elements | |
US20060218300A1 (en) | Method and apparatus for programmable network router and switch | |
JP2005529545A (ja) | パケットフローに基づくセッションサービスの適用 | |
US6392996B1 (en) | Method and apparatus for frame peeking | |
JP2003060691A (ja) | ネットワークルータおよび交換機におけるリソースの割当て方法および装置 | |
US6763375B1 (en) | Method for defining and controlling the overall behavior of a network processor device | |
US5949780A (en) | Integration of intelligence with communications in a switching node | |
US8743685B2 (en) | Limiting transmission rate of data | |
JP2000253053A (ja) | ネットワークシステム | |
US6981064B1 (en) | Supporting multiple point-to-point sessions between network devices on an ATM backbone | |
Li et al. | Active gateway: a facility for video conferencing traffic control | |
WO2021101610A1 (en) | Latency guarantee for data packets in a network | |
Kozat et al. | The requirements and architectural advances to support URLLC verticals | |
Harbaum et al. | Providing heterogeneous multicast services with AMnet | |
JP2006246278A (ja) | 通信品質制御方法及び通信品質制御システム | |
EP1551142B1 (en) | A gateway for coupling of passive and active networks | |
CN115499386B (zh) | 一种数据转发方法、vpp网元设备和可读存储介质 | |
Enghardt et al. | TAPS Working Group B. Trammell, Ed. Internet-Draft Google Switzerland GmbH Intended status: Standards Track M. Welzl, Ed. Expires: January 28, 2021 University of Oslo | |
Enghardt et al. | TAPS Working Group B. Trammell, Ed. Internet-Draft Google Switzerland GmbH Intended status: Standards Track M. Welzl, Ed. Expires: 14 January 2021 University of Oslo | |
Enghardt et al. | TAPS Working Group B. Trammell, Ed. Internet-Draft ETH Zurich Intended status: Standards Track M. Welzl, Ed. Expires: April 25, 2019 University of Oslo | |
JP2003143214A (ja) | 端末装置、パケット中継装置、パケット送信プログラム送信方法、パケット送信プログラム指定方法、パケット送信方法、記録媒体、ネットワーク中継システム及びパケット送信プログラム設定方法 | |
Enghardt et al. | TAPS Working Group B. Trammell, Ed. Internet-Draft Google Intended status: Standards Track M. Welzl, Ed. Expires: September 12, 2019 University of Oslo | |
CN116938824A (zh) | 业务传输方法、装置、网络侧设备及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050314 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070604 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070604 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070821 |