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
Application number
JP2002275080A
Other languages
English (en)
Inventor
Satoshi Yoshizawa
聡 吉澤
Kaneichi Otsuki
兼市 大槻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2003158544A publication Critical patent/JP2003158544A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network 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

(57)【要約】 (修正有) 【課題】 ネットワークに接続された通信装置でのフロ
ー制御の動作条件を変更できる方法及びシステムを提供
する。 【解決手段】ビデオプログラムは、ビデオ・サーバ10
からクライアント30,31へ異った品質レベルで送信
できる。データはルータ42のネットワーク・ノードで
処理されてビデオ・ストリームの解像度またはデータ・
レートが変更できる。これによりクライアント30,3
1のそれぞれは処理能力およびパケット受信能力に応じ
て最高画質のビデオを受信できる。また、クライアント
は希望するビデオの品質をネットワーク上のトラフィッ
クの範囲や、ユーザーの選択、その他の要因に応じてい
つでも変更できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラマブル・ネ
ットワーク・ルータ兼スイッチ、ネットワーク内のトラ
フィックを制御するシステム、また特にデータ処理能力
を内蔵したルータまたはスイッチング・システム、およ
び当該装置をプログラムする方法に関する。
【0002】
【従来の技術】インターネットの発達により通信ネット
ワークが生まれ世界中からの利用が一般化した。このよ
うな通信ネットワークは今日データ、音声、ビデオを伝
送しており、さらに大きなバンド幅と運用上のいっそう
の柔軟性が必要とされている。インターネット・プロト
コル(以下IP)ネットワーク・システムの技術は比較
的最近開発された通信技術で、従来のネットワークに見
られる制約を克服するように設計されている。IP技術
はデータ、音声、ビデオ、その他の各種データを、ほと
んどあらゆる種類のネットワーク上に送信するために使
用できる。IPができる前、大半のネットワークは伝送
しようとするデータの種類に基づいたものだった。つま
り公衆電話回線網と高速デジタル伝送装置は主として音
声またはビデオなどの遅延に敏感な情報を伝送するため
に設計使用されていた。逆に、多くのパケット方式ネッ
トワークは遅延が許容し得るようなデータ情報向けに開
発された。ユーザは自分の特定用途に必要な機能を提供
するネットワーク技術を採用したが、その結果として多
くの組織で多数の異なる種類のネットワークをサポート
することとなった。
【0003】従来のIPネットワーク・システムはそれ
ぞれが複数バイトを含むデータ・パケットを用いてい
る。パケットは比較的高速で、たとえば毎秒数百メガビ
ットで、伝送/交換される。各IPパケットは通常20
バイト(バージョン4の場合)のへッダ部分と、ペイロ
ード部分とから構成される。ペイロード部分は任意の長
さで良いが、最大長以下とする.このようなネットワー
クで使用されるパケット交換は入力線に到着した特定の
パケットを希望する出力線へ、または希望するアドレス
へ、パケットのへッダの内容にしたがって、転送する。
これを実現するには、システムがパケットのへッダ部分
を検証して、そのパケットを転送すべき希望アドレスを
決定し、ついでシステムが宛先に向けてパケットを送出
する。固定長パケットを使用する場合、たとえばATM
用としては、比較的単純なハードウェアで交換を実施す
ることができる。
【0004】IPパケットのへッダは仮想パス識別、仮
想チャンネル識別、ペイロード種別、エラー制御、その
他の機能を含め多くの異なる機能に対してデータを提供
する。パケットを使うことによりデータ、音声、ビデオ
の伝送を混在させられるようになる。つまりパケット種
別の変化が他のパケット種別のレイテンシに影響するこ
とがある。
【0005】ルータとして一般に知られているIP装置
は通常多数の異なる到着線上で情報を受信して、その情
報を多くの異なる出力線上へ伝送するように接続され
る。その結果、ルータに到着したIPパケットは互いに
混合される、つまり各線からのパケットが他の線からの
パケットと混ぜ合わされる。しかし個々の接続に由来す
るパケットはルータからルータへ、そのへッダにしたが
って転送される。従来のルータでは、個々のパケットが
入力線から出力線へパケット・へッダ内に保持されてい
る情報によってルーティングされる。
【0006】最近多くのネットワークはプログラマビリ
ティの付加機能を有するようになった。プログラム可能
なネットワークではデータ・パケットがパケットそれ自
体の中でプログラムを伝送するか、パケットが処理され
たネットワーク装置で実行されるべきプログラムの参照
を伝送するようにしている。この演算能力を提供するひ
とつの方法としては、「アクティブ・ネットワーク」が
一般に良く知られている。この方法は各パケットがネッ
トワーク装置で実行されるプログラム(またはプログラ
ムへのポインタまたは参照)を内包して伝送される。ネ
ットワーク・ノードでの動作のなんらかの側面を制御す
るプログラムを書くことにより、そのノードをパケット
内の情報により制御できる。アクティブ・ネットワーク
の明らかな欠点は、パケットがネットワークを通ってく
る間にフラグメンテーションを起こす場合に発生する。
パケットのフラグメンテーションが発生した場合、その
ノードにまだ到着していないパケットに内包されたデー
タがネットワーク・ノードでのプログラム状態の保持を
困難にする。このような保存は単純なプログラム参照で
は実現できず、むしろプログラムの特定の実行インスタ
ンスへの参照を必要とし、これはデータの供給源側では
分からない。DARPAはアクティブ・ネットワークの
例である(例えば、非特許文献1及び2参照。)。
【0007】別のアプローチは「プログラマブル・ネッ
トワーク」として知られている。プログラマブル・ネッ
トワークでは、ネットワーク装置の資源が抽象化されソ
フトウェアにより制御できるようにしてある(例えば、
非特許文献3及び4参照。)。ソフトウェアは標準化さ
れたアプリケーション・プログラム・インタフェースの
セットを介してネットワーク装置と会話する。現在のと
ころ特に注目されているのは、サービス品質に関係する
資源、たとえばキューの品質などを抽出し、これを利用
できるようにしてAPI経由で制御するもので、コント
ローラ・ソフトウェアからサービス品質の設定を操作す
ることが可能である。さらに、標準化されたAPIによ
り新規のネットワーク・サービスの開発が容易かつ迅速
にできるようになる。
【0008】
【非特許文献1】Tennenhouse, D.
L., et al., “Towards an A
ctive Network Architectur
e,” SPIE Computer Communi
cation Review, Vol. 26, N
o. 2, 1996年4月
【非特許文献2】Tennenhouse, D.
L., et al., “A Survey of
Active Network Research,”
IEEECommunications Magaz
ine, Vol. 35, No. 1, 1997
年1月,pp. 80−86
【非特許文献3】Lazar, A., “Progr
amming Telecommunication
Networks,” IEEE Network,
1997年9月/10月,pp. 8−18
【非特許文献4】Biswas, J., et a
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
【0009】
【課題を解決するための手段】ネットワークに接続した
コンピュータ上で動作するストアド・プログラムへ情報
を提供するためのネットワーク装置またはシステムを開
発した。本発明は実行プログラムの同じインスタンスへ
の同じフローに属する均等に断片化されたパケットを供
給する技術を提供する。プログラムによって処理される
ことを目的としていない他のパケットを遅延させること
はなく、また他のパケットのサービス品質を劣化させる
こともない。本発明では、ネットワーク装置またはシス
テムは望ましくは供給源から情報を受信するための入力
ポートと、供給源から宛先へ受信した情報を提供するた
めの出力ポートとを含む。出力ポートからの情報を受信
するようにコンピュータを接続し、当該コンピュータあ
ての情報を出力ポートに提供するようにする。
【0010】フロー制御テーブルはネットワーク装置に
格納されてエントリを保持する。エントリは入力ポート
に到着する情報について、供給源を表わすソースアドレ
スと、到着した情報を出力ポートから送信しようとする
宛先を表わす宛先アドレスと、それぞれのアドレスにつ
いてのアクション情報とを含む。重要なことは、フロー
制御テーブル内のアクション情報に少なくとも一つのプ
ログラム参照を含むことである。コンピュータはこれに
向けられた情報を出力ポートから受信して、ストアド・
プログラムの実行時に受信した情報を使用する。
【0011】
【発明の実施の形態】図1はネットワークの典型的な例
を示す略図であり、この例を使って、ビデオ解像度をス
イッチまたはルータにより変更し、可能な限り最高画質
のビデオを各クライアントに供給するための技術を説明
する。図1に示したシステムでは、ビデオ・プログラム
がビデオ・サーバ10からネットワーク20上で各種ク
ライアント30、31へ送信されている。ネットワーク
はルータ40、41、42を含み、これらのルータはビ
デオ・サーバ10から受信したデータをネットワーク2
0で交換して最終的にクライアント30、31へ配信す
るために使用する。
【0012】このビデオ供給サービス・システムでは、
ビデオプログラムはビデオ・サーバ10から各種クライ
アント30、31へ異なった品質レベルで送信できる。
特にデータは、たとえばルータ42のようなネットワー
ク・ノードで処理され、ビデオ・ストリームの解像度あ
るいはデータ・レートが変更されることがある。このよ
うにすると、クライアント30、31のそれぞれはこれ
らの処理能力および/またはパケット受信能力に応じて
最高画質のビデオを受信できる。さらに、各クライアン
トのユーザは受信したいと希望するビデオの品質を選択
することができ、各クライアント30、31へ供給され
るビデオの品質を、ネットワーク上のトラフィックの範
囲や、ユーザの選択、またそれ以外の要因に応じて、い
つでも変更できる。
【0013】図2は本発明を実施する際に使用されるル
ータまたはスイッチなどのネットワーク装置での代表的
な構成を示したブロック図である。図示してあるよう
に、本システムはコントローラまたはコンピュータ5
0、データ処理サーバ60、ルータ70で構成される。
コントローラ50はサービス・ソフトウェア52とコン
トローラ・ソフトウェア54を含み、これらソフトウェ
アがアプリケーション・プログラム・インタフェース
(API)58経由で通じている。コントローラ50は
ルータ・コントローラ72に接続される。またルータ・
コントローラ72にはデータ処理サーバ60も接続され
ている。サーバはコンピュータで構成するのが代表的で
ありプログラム65を実行する環境を有している。
【0014】ルータ70はネットワーク・インタフェー
ス75経由でネットワーク20に接続される。インタフ
ェース75はルータ70へ情報を供給したりネットワー
ク上のルータ70から情報を受信できるようにする。ル
ータ70の代表的な機能はネットワーク20から情報パ
ケットを受信し、へッダ情報を解析して、希望するクラ
イアントあるいはダウンストリーム側のルータへ、(お
そらくは新しいへッダをつけた)ペイロード部分を転送
することである。
【0015】ルータ・コントローラ72はバスあるいは
スイッチ77経由で転送コントローラ78とインタフェ
ースする。転送コントローラ78はフロー制御テーブル
80を含んでおり、これについては後述する。
【0016】ルータ70は複数個のネットワーク20に
接続することができる。転送コントローラ78は、フロ
ー制御テーブル80に入っている設定にしたがって、デ
ータの出力パスを制御する。フロー制御テーブル80は
ルータ・コントローラ72に管理されており、ルータ・
コントローラそれ自体はコントローラ50によって制御
される。コントローラ50は代表的にはルータとは別に
存在しているがルータに接続されているコンピュータで
ある。図2に図示した実施例では、プログラマブル・ネ
ットワーク環境での実施に好適なように、コントローラ
に標準化APIを提供し、そのAPIの最上部でサービ
ス・ソフトウェアが実行される。重要なことは、図示し
た実施例で、ルータにはデータ処理を実行することので
きるデータ処理サーバ60がルータに接続されている点
である。これによってネットワークから入ってきた情報
を処理するためデータ処理サーバへ転送することができ
るようになる。本発明の別の実施例では、データ処理サ
ーバはルータそれ自体の中に(あるいはその逆に)内蔵
される。当然のことながら、コントローラ50、サーバ
60、ルータ70のあらゆる組み合わせにおいて、コン
トローラ50もデータ処理サーバ60および/またはル
ータ70に内蔵されていても良い。
【0017】動作において、ネットワーク20に到着す
るパケットはネットワーク・インタフェース75から転
送コントローラ78に接続される。これらの転送コント
ローラは、パケット由来のへッダ情報を使って、そのパ
ケットに対して、適切な処理を実行するが、これにはへ
ッダ情報を除去する、その情報を新アドレス情報に置き
換える、またはその他周知の処理が含まれる。
【0018】転送コントローラ78は部分的にはフロー
制御テーブル80の設定に基づいてパケットを制御す
る。フロー制御テーブルはルータ・コントローラ50に
よって管理されており、ルータ・コントローラそれ自体
は他の供給源から情報を受信する。ここで理解しておく
べきことは、コントローラ50が一つ以上のルータを制
御できることで、また周知のように、各ルータがネット
ワークとの間で情報を送受信するために多数のネットワ
ーク・インタフェースを装備できる点である。コントロ
ーラ50においてAPIを用いることによりアプリケー
ション・ソフトウェアをどこか他の場所で実行したり、
プログラマブル・ルータ70と容易に通信したりできる
ようになる。図2に図示したシステムの動作については
図3および図4に関連して説明する。
【0019】図3はフロー制御テーブル80のさらに詳
細な図面である。ネットワーク20上からネットワーク
・インタフェース75へパケットが到着すると、転送コ
ントローラ78はフロー制御テーブル80を検索し、到
着したパケットについてのへッダ情報がテーブル内に登
録されているかどうか判断する。これはテーブル80の
フロー部分110にあるエントリと、パケットのそれぞ
れのフィールドとを照合することにより行なう。たとえ
ば、テーブル80のフロー部分110はソース・アドレ
スのコラム(SRC_ADDR)と宛先アドレスのコラ
ム(DST_ADDR)を含んでいる。ルータに受信さ
れたパケットはへッダ情報とペイロード情報とから構成
されている。テーブルのフロー部分は代表的にはへッダ
情報だけに関係することになるので、ペイロードの情報
は使用されない。
【0020】到着したパケットをフロー・テーブル部分
110に対して照合してから、「アクション」部分11
2で示してある適切な対応動作を実行する。たとえば、
ソースIP―aaから到着し、アドレスIP―bbへ送
信されるべきパケットは、“xx”のプライオリティ
(優先順位)で転送される(これはバンド幅の仕様を含
むことがある)。同じように、ソースIP―eeから到
着して宛先IP―ffへ向けられたパケットはプライオ
リティ“zz”にしたがって配送される。フロー制御テ
ーブル内のエントリに合致しないへッダ情報のあるパケ
ットは矢印115で示したようにデフォルトのアクショ
ンにしたがって処理される。このデフォルト・アクショ
ンは長期にわたる「静的」資源割り当てにより設定され
るものである。またデフォルト・アクションはプライオ
リティの設定なしにパケットを処理するように設定でき
るので、「ベスト・エフォート」型のパケット転送が行
なわれる。フロー制御テーブル96に格納されているア
クションはハードウェア処理またはソフトウェア処理で
変更可能である。
【0021】本発明によれば、アクション・フィールド
112にはエントリとして実行中のプログラムの入力ポ
ートを含んでいる。このような状況では、パケットに適
当なパケットへッダ情報を追加することによって、パケ
ットがその入力ポートへ転送される。このような環境で
は、フィールドにはプログラムへの参照たとえばUR
L、オブジェクトID、あるいはその他の参照を含むこ
とができる。これは、図2の実施例を使うと、フロー制
御テーブルをAPI58でセットアップすることで実現
できる。フロー制御テーブルをセットアップするAPI
を呼び出す場合に、「アクション」フィールドがプログ
ラムの参照であれば、そのプログラムが起動され、これ
の入力ポートが用意される。起動されたプログラムの入
力ポートへの参照がフロー制御テーブル内の新規エント
リのアクション・フィールドに設定される。フロー制御
テーブル80の矢印115で示してあるように、デフォ
ルトのアクションをプログラム参照とすることが可能で
ある。
【0022】結果として、APIが呼び出されたとき
に、パケットのフローを処理するあるいは他の動作を実
行するソフトウェア・プログラムが起動され、起動され
たプログラムにデータ・パケットを供給するための「フ
ック」をフロー制御テーブル80に記録する。これを実
現するには「if .., then」対を使用でき
る。
【0023】引数のif部分は到着したパケットの起源
フローを決定するための情報を持っていることになる。
これは、ソース・アドレス、ソース・ポート、宛先アド
レス、宛先ポート、プロトコルIDの組み合わせを指定
すれば実現できる。別のアプローチでは、MPLSスイ
ッチングを実行するシステムではMPLSラベルを指定
することで実現可能である。さらに、Diffserv
eコア・ネットワーク内ではDiffserve Co
de Points(DSCP値)を指定するとサービ
ス品質を制御するために使用することができる。
【0024】一方でthen部分は希望のサービス品質
条件を満たすようにするため到着パケットをどのように
処理するか指定する。これは代表的にはパケットを送信
する出力キューを指定する、たとえば長さ、プライオリ
ティなど特性の異なったキューの中から選択することで
行なう。
【0025】本発明によればAPIのthen部分はソ
フトウェア・プログラムへの参照たとえばファイル名、
URL、オブジェクトIDその他を含むことが許容され
る。さらに、ソフトウェア・プログラムへ渡したい他の
パラメータ(引数)もプログラム参照と一緒に指定でき
る。以下のリストAはAPIの一例である。
【0026】
【表1】 このAPIがネットワーク要素中で呼び出された場合、
またAPIのthen部分がプログラムへの参照であれ
ば、参照されるプログラムはなんらかのパラメータがあ
ればそれと一緒に起動される。API呼び出し側は代表
的にはサービス・アプリケーション・プログラムか、サ
ービス・プロバイダが所有するサーバに存在する他のソ
フトウェアである。リモート・コールはCORBA(C
ommon Object Request Brok
er Architecture:共通オブジェクト要
求ブローカ・アーキテクチャ)ファシリティあるいはR
PC(Remote Procedure Call:
リモート・プロシージャ・コール)を使って実現でき
る。呼び出し側、この場合サーバ・アプリケーション
は、ネットワーク管理サーバまたはなんらかの他のポリ
シー制御サーバからルーティング・パス情報を取得する
ことにより、どのネットワーク要素でこのAPIを使っ
て呼び出すべきかを決定する。
【0027】参照プログラムの起動が成功した場合、プ
ログラムへパケットを渡すのに必要とされる情報を取得
して、APIのif部分で与えられた情報と一緒にネッ
トワーク要素に記録する。そのためプログラムの起動に
は、典型的にはプログラムが実際に実行されるサービス
・プロバイダのファイル・サーバから、プログラムのダ
ウンロードが行なわれる。
【0028】当然のことながら、起動して実行しようと
するプログラムがあるべき物理的ロケーションはAPI
に対しては透過的である。代表的にはネットワーク要素
と物理的に近いサーバで、またはネットワーク要素がデ
ータ処理能力を備えているならネットワーク要素それ自
体の中で、プログラムを起動するのが望ましい。API
の呼び出し側あるいはサービス・アプリケーションは、
ルーティング・パスと一緒に各ネットワーク要素におい
て希望する演算能力の可用性(おそらくは処理コスト
も)を取得することで、どのネットワーク要素上でAP
Iを呼び出すべきかを決定する。さらに、ポリシー・サ
ーバは特定のネットワーク要素でサービス・プロバイダ
のそれぞれに対する演算能力の可用性を管理できる。
【0029】これ以外に、処理ファシリティは単一のエ
ンティティである必要がない。サーバ集合体または分散
プロセッサを使用することができる。さらに、当然のこ
とながら呼び出される側のプロセッサが汎用プロセッサ
である必要もない。プロセッサはたとえばデジタル信号
プロセッサあるいはイメージ・プロセッサなどと言った
専用プロセッサとすることが可能である。どの場合であ
れ、呼び出し側はどのネットワーク要素上でAPI コ
ールがプログラムを起動するのかを、様々なネットワー
ク要素での特定の演算能力についての予備知識から、決
定することができる。さらに、呼び出し側はMPLSま
たはその他の周知の技術を使って故意にルーティングを
変更し、フローが必要とされるあるいは適当な特殊演算
能力を備えたネットワーク要素を通過するようにするこ
とができる。その一例がビットレート解像度、エンコー
ド方法などの変更により効率的にビデオ・ストリームを
処理する特殊プロセッサである。
【0030】さらに、APIの呼び出し側はどこで(た
とえばサーバのロケーションで)プログラムを起動実行
するかを指定できる。これは代表的には、ネットワーク
上のどこに特化プロセッサが存在しているかを呼び出し
側で知っているような場合におこるであろう。さらに、
呼び出し側はあるネットワーク要素の近くに配置した自
分自身のサーバを保有することがあり、他のなんらかの
サーバの代わりにそのサーバを使用したいことがある。
【0031】以下のリストBはプログラム起動のロケー
ションが指定されているAPIの例である。ロケーショ
ンはネットワーク・サーバまたはネットワーク要素のI
Pアドレスを使って指定できるが、前者の場合にはUR
Lを使って指定することも可能である。このAPIはロ
ケーション情報を供給することなしに呼び出せる、たと
えばこの引数に「ヌル・ポインタ」を設定することで呼
び出せるが、この場合リストAのAPIが呼ばれたかの
ようにプログラムが起動される。
【0032】
【表2】 さらに同じAPIを使ってすでに実行されているプログ
ラムのパラメータを変更することもできる。このような
状況では、APIはそれ以前のコールとif部分が全く
同じだが別のthen部分をつけて呼び出される。新し
いパラメータはすでに実行されているプログラムへ、こ
れの入力ポート経由で、たとえばプログラム制御パケッ
トなどとして渡され、プログラムが処理するパケット・
データに対するプログラムの動作方法を変更するように
する。
【0033】本発明の他の実施例では、プログラムの起
動処理はネットワーク管理システム(NMS)を経由す
る。現在のところ、NMSはトラフィック伝送の範囲で
はネットワーク資源を管理するだけである。本発明はN
MSがネットワーク内に存在する処理資源を管理できる
ようにする能力を提供する。たとえば、サーバがそれ自
体ネットワーク要素に統合されていて、ネットワーク・
プロバイダによって所有されている場合、第3者がその
サーバを使用するのに認証およびアカウンティング機構
を必要とすることがある。
【0034】別の場合には、サービス・プロバイダはN
MSを使用して処理資源を管理する必要がない。しかし
NMSは認証を提供できるのでサーバの所有者だけがそ
のサーバを使用できるようになる。これ以外に、NMS
はアカウンティング機能を提供し、他のサービス・プロ
バイダによる演算能力の使用状況を全部記録することが
できる。
【0035】APIを呼び出すことによるプログラムの
それぞれの指示で、同じプログラムが指定されている場
合でも別のインスタンス(プロセスあるいはタスク)を
作り出して、それぞれが他のプログラムの実行あるいは
終了とは無関係に実行または終了されるようになる。起
動されたプログラムがなんらかのデータ処理を実行する
フローでは、パケットの次のホップについてサービス品
質の設定を指定できる。これは引数セットのif部分で
フロー指定のある同じAPIを使用することで実現さ
れ、このフローと一致するようになる。このような場合
フロー制御テーブルはそのアクション・フィールドに直
列に複数のアクションを保持することになる。同様に、
アクション・フィールドが一連のプログラム参照を有し
て多数プログラムのパイプライン処理を提供することも
できる。
【0036】図4はフロー制御テーブルのAPIがサー
ビス・ソフトウェアから呼び出されて、入力ポート情報
がフロー制御テーブル80に書き込まれた場合に、特定
のプログラムを起動するプロセスをさらに詳細に示した
フローチャートである。処理はステップ120で開始さ
れ、フロー制御テーブルが呼び出されてAPIを設定す
る。ステップ122で、ネットワーク上で受信した情報
に対応するエントリが、フロー制御テーブルで検索され
る。一致するエントリが見つかると、プログラムが終了
し、ステップ128として示したようにエントリがクリ
アされる。一方で、エントリが見つからなかった場合に
は、ステップ130で、指定された情報によりエントリ
を作成する。アクション・フィールドがプログラムへの
参照ではないと仮定すると、ステップ132とステップ
134に示してあるように、作成されたエントリにこの
フィールドが書き込まれる。こうしてステップ135に
示したように、プロセスがうまく完了する。一方、ステ
ップ132で、アクションがプログラムへの参照である
と判断された場合、プログラムが起動され入力ポート情
報をステップ140で取得する。このステップが成功し
た場合には、入力ポート情報を備えたアクションがステ
ップ142で示したように作成されたエントリに書き込
まれ、ここでもAPIが成功することになる。
【0037】前述したように、本発明はルータまたはス
イッチに、特にハードウェア支援パケット転送あるいは
サービス品質制御機構を使用しているようなルータやス
イッチに、さらに特定するとネットワークパケット処理
能力をアプリケーションが必要とするような場合に、採
用できる。ネットワーク装置を制御するAPIの標準化
に本発明を含めることで、APIに沿って構築されるネ
ットワーク・サービスへ本発明を採用することができ
る。これにより前述したようなプログラマブル機能の使
用のための広範な能力を提供する。
【0038】本発明について多数の実施例を説明した
が、本明細書は本発明の特定の例を説明するために提供
されたものであることを理解すべきである。本発明の範
囲は添付の請求項で決定され得るものである。
【図面の簡単な説明】
【図1】図1はルータを使用する典型的なネットワーク
・ビデオ供給サービス・システムの略図である。
【図2】図2は代表的なルータ構成を表わすブロック図
である。
【図3】図3はフロー制御テーブルの一例を示す図であ
る。
【図4】図4はフロー制御テーブルの更新方法を示すフ
ローチャート図である。
【符号の説明】
10:ビデオ・サーバ、40、41:ルータ、20:イ
ンターネット/イントラネット、30:クライアント
1、31:クライアント2。
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5K030 HA08 HB19 HD03 KA04 LC01 LC09 MA04

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】ネットワークに接続された装置に接続され
    たコンピュータ上で実行するストアド・プログラムへ情
    報を提供するためのシステムであって、前記装置は前記
    ネットワークに接続された供給源からの情報を受信する
    ための少なくとも一つの入力ポートと、 前記供給源から宛先へ前記情報を提供するための少なく
    とも一つの出力ポートと、前記出力ポートから前記コン
    ピュータを宛先とする情報を受信するように前記コンピ
    ュータが接続され、 それぞれが前記入力ポートに到着する情報の少なくとも
    一つの供給源を表わすソース・アドレスと、 前記到着した情報が前記出力ポートから送出される宛先
    の少なくとも一つを表わす宛先アドレスと、 前記ストアド・プログラムへの少なくとも一つの参照を
    含むそれぞれのアドレスについてのアクション情報とを
    含むエントリを格納するためのフロー制御テーブルとを
    備え、 前記出力ポートから情報を受信するように接続された前
    記コンピュータはそれを宛先とする情報を受信して、前
    記受信した情報を前記ストアド・プログラムの実行の際
    に使用することを特徴とするシステム。
  2. 【請求項2】前記アクション情報は前記フロー制御テー
    ブル内になんらかのエントリを持たない情報を制御する
    ために使用されるデフォルトのプライオリティ情報を含
    むことを特徴とする請求項1に記載のシステム。
  3. 【請求項3】前記システムは情報を交換するためのスイ
    ッチと、前記スイッチに接続されて前記フロー制御テー
    ブルを格納し前記テーブルに応じて前記スイッチを制御
    するためのコントローラとを含むことを特徴とする請求
    項2に記載のシステム。
  4. 【請求項4】前記スイッチはルータを含み前記フロー制
    御テーブルは前記ルータ内のコントローラにより維持さ
    れることを特徴とする請求項3に記載のシステム。
  5. 【請求項5】前記ルータ・コントローラはそれ自体がコ
    ンピュータにより制御されることを特徴とする請求項4
    に記載のシステム。
  6. 【請求項6】前記ルータ・コントローラはアプリケーシ
    ョン・プログラム・インタフェースを使用して前記フロ
    ー制御テーブルを管理することを特徴とする請求項3に
    記載のシステム。
  7. 【請求項7】前記システムがIPルータを含むことを特
    徴とする請求項2に記載のシステム。
  8. 【請求項8】前記システムがIPスイッチを含むことを
    特徴とする請求項2に記載のシステム。
  9. 【請求項9】フロー制御テーブル内の前記アクション情
    報が前記システムと通信するアプリケーション・プログ
    ラム・インタフェースによって作成されることを特徴と
    する請求項1に記載のシステム。
  10. 【請求項10】前記アプリケーション・プログラム・イ
    ンタフェースは引数を使用し、前記引数には受信した情
    報の供給源の起源を決定するためのif部分と受信した
    情報の処理方法を指定するためのthen部分とを含む
    ことを特徴とする請求項9に記載のシステム。
  11. 【請求項11】前記then部分は前記ストアド・プロ
    グラムへの参照を含むことを特徴とする請求項10に記
    載のシステム。
  12. 【請求項12】前記then部分はさらに前記ストアド
    ・プログラムへ供給しようとするパラメータを含む請求
    項11に記載のシステム。
  13. 【請求項13】前記then部分はさらに前記ストアド
    ・プログラムを実行しようとするロケーションを含むこ
    とを特徴とする請求項11に記載のシステム。
  14. 【請求項14】前記ストアド・プログラムがネットワー
    ク管理のために使用される請求項1に記載のシステム。
  15. 【請求項15】ネットワーク上の装置の出力ポートに接
    続されたコンピュータ上で動作するストアド・プログラ
    ムへ情報を提供する方法であって、前記方法は前記装置
    へ前記情報を配送するためのアドレス情報を含むフォー
    マットで前記ネットワークへ前記情報を提供するステッ
    プと、 前記装置において、それぞれが前記装置に到着する情報
    の少なくとも一つの供給源を表わすソース・アドレス
    と、前記到着情報を前記出力ポートから送出する前記宛
    先の少なくとも一つを表わす宛先情報と、それぞれの宛
    先アドレスについてのアクション情報とを含むエントリ
    を有するフロー制御テーブルを格納するステップとを含
    み、 前記フロー制御テーブル内の前記アクション情報は少な
    くとも一つのプログラムへの参照を含むことと、前記出
    力ポートから情報を受信するように接続された前記コン
    ピュータはこれを宛先とする情報を受信して前記受信し
    た情報を前記ストアド・プログラムの実行の際に使用す
    ることを特徴とする方法。
  16. 【請求項16】前記アクション情報は前記フロー制御テ
    ーブル内のエントリになんらかのエントリを持たない情
    報を制御するために使用されるデフォルト情報を含むこ
    とを特徴とする請求項15に記載の方法。
  17. 【請求項17】前記スイッチング・システムを制御する
    ために前記コンピュータを使用するステップをさらに含
    むことを特徴とする請求項15に記載の方法。
  18. 【請求項18】前記コンピュータを使用してネットワー
    クを制御することを特徴とする請求項17に記載の方
    法。
  19. 【請求項19】ネットワークへの接続に適した装置であ
    って、前記装置へ接続されたコンピュータ上で実行する
    ストアド・プログラムへ情報を提供するための装置であ
    って、前記装置は、 供給源から情報を受信するための少なくとも一つの入力
    ポートと、 宛先へ前記供給源からの前記情報を提供するための少な
    くとも一つの出力ポートと、 それぞれが前記入力ポートに到着する情報の少なくとも
    一つの供給源を表わすソース・アドレスと、 前記到着した情報が前記出力ポートから送出される宛先
    の少なくとも一つを表わす宛先アドレスと、 前記ストアド・プログラムへの少なくとも一つの参照を
    含むそれぞれのアドレスについてのアクション情報とを
    含むエントリを格納するためのフロー制御テーブルとを
    備え、 前記出力ポートからの情報が前記ストアド・プログラム
    の実行の際に使用するため前記コンピュータへ送信され
    ることを特徴とする装置。
  20. 【請求項20】前記供給源は前記ネットワークに接続さ
    れた情報の供給源を含むことを特徴とする請求項19に
    記載の装置。
  21. 【請求項21】前記コンピュータは前記出力ポートへ直
    接接続されていることを特徴とする請求項20に記載の
    装置。
  22. 【請求項22】前記アクション情報は前記フロー制御テ
    ーブル内のエントリになんらかのエントリを持たない情
    報を制御するために使用されるデフォルトのプライオリ
    ティ情報を含むことを特徴とする請求項19に記載の装
    置。
  23. 【請求項23】前記装置は前記宛先アドレスに基づいて
    情報を交換するためのスイッチと、前記スイッチに接続
    されて前記フロー制御テーブルを格納し前記テーブルに
    応じて前記スイッチを制御するためのコントローラとを
    含むことを特徴とする請求項19に記載の装置。
  24. 【請求項24】前記スイッチがルータを含むことを特徴
    とする請求項23に記載の装置。
  25. 【請求項25】前記コントローラがそれ自体コンピュー
    タにより制御されることを特徴とする請求項24に記載
    の装置。
  26. 【請求項26】前記コントローラがアプリケーション・
    プログラム・インタフェースを使用して前記フロー制御
    テーブルを管理することを特徴とする請求項23に記載
    の装置。
  27. 【請求項27】前記フロー制御テーブル内の前記アクシ
    ョン情報が前記装置と通信するアプリケーション・プロ
    グラム・インタフェースによって作成されることを特徴
    とする請求項23に記載の装置。
  28. 【請求項28】前記アプリケーション・プログラム・イ
    ンタフェースは引数を使用し、前記引数には受信した情
    報の供給源の起源を決定するためのif部分と受信した
    情報の処理方法を指定するためのthen部分とを含む
    ことを特徴とする請求項27に記載の装置。
  29. 【請求項29】前記then部分は前記ストアド・プロ
    グラムへの参照を含むことを特徴とする請求項28に記
    載の装置。
  30. 【請求項30】前記then部分はさらに前記ストアド
    ・プログラムへ供給しようとするパラメータを含む請求
    項29に記載の装置。
  31. 【請求項31】前記then部分はさらに前記ストアド
    ・プログラムを実行しようとするロケーションを含むこ
    とを特徴とする請求項30に記載の装置。
  32. 【請求項32】前記ストアド・プログラムが前記ネット
    ワークの管理に使用されることを特徴とする請求項19
    に記載の装置。
JP2002275080A 2001-10-04 2002-09-20 プログラマブル・ネットワーク・ルータ兼スイッチのための方法および装置 Pending JP2003158544A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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