JP2000092118A - プログラマブルネットワーク - Google Patents
プログラマブルネットワークInfo
- Publication number
- JP2000092118A JP2000092118A JP10254228A JP25422898A JP2000092118A JP 2000092118 A JP2000092118 A JP 2000092118A JP 10254228 A JP10254228 A JP 10254228A JP 25422898 A JP25422898 A JP 25422898A JP 2000092118 A JP2000092118 A JP 2000092118A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- communication
- network
- program
- flow
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5619—Network Node Interface, e.g. tandem connections, transit switching
- H04L2012/562—Routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
- H04L2012/566—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM layer
- H04L2012/5662—Macrocells or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】
【課題】各ネットワーク上のプログラムノード上で通信
パケットのソフトウェア処理をおこなうプログラマブル
ネットワークにおいて、通信速度を向上させ、ネットワ
ークシステムのスループットを向上させる。 【解決手段】ネットワークノード1において、ネットワ
ーク入力インタフェース3のパケット種別判定手段10
の判定により、ソフトウェア処理を要する通信パケット
のみをフロー対応処理プログラム実行手段20に転送
し、それ以外はルーティング手段5に直接転送する。さ
らに、ネットワーク経路上の各ネットワークノードで実
行した処理内容の履歴情報140をネットワークノード
間で通信し、履歴情報蓄積テーブル24に保持し、各ノ
ードではこれを参照して、その処理がネットワーク経路
上の他のノードで既に実行されていない通信パケットに
ついてのみフロー対応処理プログラム実行手段20に転
送する。
パケットのソフトウェア処理をおこなうプログラマブル
ネットワークにおいて、通信速度を向上させ、ネットワ
ークシステムのスループットを向上させる。 【解決手段】ネットワークノード1において、ネットワ
ーク入力インタフェース3のパケット種別判定手段10
の判定により、ソフトウェア処理を要する通信パケット
のみをフロー対応処理プログラム実行手段20に転送
し、それ以外はルーティング手段5に直接転送する。さ
らに、ネットワーク経路上の各ネットワークノードで実
行した処理内容の履歴情報140をネットワークノード
間で通信し、履歴情報蓄積テーブル24に保持し、各ノ
ードではこれを参照して、その処理がネットワーク経路
上の他のノードで既に実行されていない通信パケットに
ついてのみフロー対応処理プログラム実行手段20に転
送する。
Description
【0001】
【発明の属する技術分野】本発明は、プログラマブルネ
ットワークに係り、複数の計算機をネットワークで結合
したネットワークシステムにおいて、通信フローの経路
上のネットワークノードにプログラムをロードし、その
通信フローを構成する各通信パケットに対するプログラ
ム処理をそのノードで実行するようなシステムであり、
特に、インターネットなどのIPパケット通信に用い
て、システムのスループットを向上させるのに好適なプ
ログラマブルネットワークに関する。
ットワークに係り、複数の計算機をネットワークで結合
したネットワークシステムにおいて、通信フローの経路
上のネットワークノードにプログラムをロードし、その
通信フローを構成する各通信パケットに対するプログラ
ム処理をそのノードで実行するようなシステムであり、
特に、インターネットなどのIPパケット通信に用い
て、システムのスループットを向上させるのに好適なプ
ログラマブルネットワークに関する。
【0002】
【従来の技術】従来、通信データを加工して伝送するネ
ットワークシステムに関しては、特開平7−15609
号公報に示される様に、画像をウェーブレット帯域毎に
パケット化し伝送する方法が知られている。この発明で
は、画像伝送媒体であるネットワークの伝送能力及び画
像送信装置の符号化能力に対し、画像受信側の伝送媒体
であるネットワークの伝送能力及び画像受信装置の復号
化能力が劣っていても、後者の能力に応じた画像伝送を
おこなうことができる画像伝送方法並びに画像送信装
置、画像受信装置および画像伝送装置を提供することを
目的としている。具体的な実現方式としては、画像送信
装置において、画像データをウェーブレット帯域毎にパ
ケット化し、そのパケットに所定の識別子を設定し送信
する。また、画像データを伝送する媒体がATM(Asyn
chronous Transfer Mode)の場合は、セルヘッダ内に優
先度を付加して伝送する。そして、画像データを伝送す
るネットワーク上では、網の輻輳時において優先度の高
いセルを優先的に伝送する。画像受信装置では、受信し
た画像データの識別子を基に画像受信装置の復号化処理
能力に応じて必要な画像データのみを選択し復号化をお
こなうことにより、受信側の処理能力に応じた画像再生
が可能である。
ットワークシステムに関しては、特開平7−15609
号公報に示される様に、画像をウェーブレット帯域毎に
パケット化し伝送する方法が知られている。この発明で
は、画像伝送媒体であるネットワークの伝送能力及び画
像送信装置の符号化能力に対し、画像受信側の伝送媒体
であるネットワークの伝送能力及び画像受信装置の復号
化能力が劣っていても、後者の能力に応じた画像伝送を
おこなうことができる画像伝送方法並びに画像送信装
置、画像受信装置および画像伝送装置を提供することを
目的としている。具体的な実現方式としては、画像送信
装置において、画像データをウェーブレット帯域毎にパ
ケット化し、そのパケットに所定の識別子を設定し送信
する。また、画像データを伝送する媒体がATM(Asyn
chronous Transfer Mode)の場合は、セルヘッダ内に優
先度を付加して伝送する。そして、画像データを伝送す
るネットワーク上では、網の輻輳時において優先度の高
いセルを優先的に伝送する。画像受信装置では、受信し
た画像データの識別子を基に画像受信装置の復号化処理
能力に応じて必要な画像データのみを選択し復号化をお
こなうことにより、受信側の処理能力に応じた画像再生
が可能である。
【0003】一方、“IEEE Communications Magazin
e”、1997年1月号、pp.80−86記載の“A S
urvey of Active Network Research”に示される様に、
ネットワークを構成するネットワークノードにおいて通
信パケットに対するプログラム処理をおこなうプログラ
マブルネットワークが知られている。プログラマブルネ
ットワークでは、例えば上で説明したATMによる優先
度付き伝送を、ネットワークノードにロードしたプログ
ラムを用いてソフトウェア的におこなうことにより実現
する。これにより、上記の様なシステムをATMの持つ
QoS(Qualityof Service)制御機構を持たないネッ
トワーク、例えば、インターネット等のIP(Internet
Protocol)ネットワーク上で実現することが可能とな
る。さらに、画像受信装置の復号化処理能力や、画像受
信装置までのネットワーク経路での輻輳状態等に応じ
て、ネットワーク内で画像受信装置への通信データ量を
動的に調節することも可能となり、ネットワークの限ら
れた伝送容量を有効に活用することができる。またこの
方法を用いることにより、ネットワークシステム上で種
々のネットワークサービスを柔軟に実現することができ
る。
e”、1997年1月号、pp.80−86記載の“A S
urvey of Active Network Research”に示される様に、
ネットワークを構成するネットワークノードにおいて通
信パケットに対するプログラム処理をおこなうプログラ
マブルネットワークが知られている。プログラマブルネ
ットワークでは、例えば上で説明したATMによる優先
度付き伝送を、ネットワークノードにロードしたプログ
ラムを用いてソフトウェア的におこなうことにより実現
する。これにより、上記の様なシステムをATMの持つ
QoS(Qualityof Service)制御機構を持たないネッ
トワーク、例えば、インターネット等のIP(Internet
Protocol)ネットワーク上で実現することが可能とな
る。さらに、画像受信装置の復号化処理能力や、画像受
信装置までのネットワーク経路での輻輳状態等に応じ
て、ネットワーク内で画像受信装置への通信データ量を
動的に調節することも可能となり、ネットワークの限ら
れた伝送容量を有効に活用することができる。またこの
方法を用いることにより、ネットワークシステム上で種
々のネットワークサービスを柔軟に実現することができ
る。
【0004】さらに、IPネットワークにおいては、ネ
ットワークノードにおけるパケットの通信経路を制御す
るルーティング処理を専用プロセッサ等を用いて高速化
する技術も知られている。これにより、通常のIPパケ
ットに関してはソフトウェア処理を介することなくルー
ティング処理が行えるので、ネットワークノードのソフ
トウェア処理能力の不足に起因する通信パケットの滞留
を発生することなく、大量のIPパケットをIPネット
ワーク上で伝送することができる。
ットワークノードにおけるパケットの通信経路を制御す
るルーティング処理を専用プロセッサ等を用いて高速化
する技術も知られている。これにより、通常のIPパケ
ットに関してはソフトウェア処理を介することなくルー
ティング処理が行えるので、ネットワークノードのソフ
トウェア処理能力の不足に起因する通信パケットの滞留
を発生することなく、大量のIPパケットをIPネット
ワーク上で伝送することができる。
【0005】
【発明が解決しようとする課題】上記従来技術で説明し
たプログラマブルなネットワークシステムにおいては、
各パケットに対してネットワークノードにロードされた
プログラムにより、ソフトウェア処理がなされる。この
従来技術では、真に処理が必要な通信パケットを選別し
て、それのみに対してソフトウェア処理をおこなうとい
う考え方はない。それゆえ、ネットワークノードには、
ソフトウェア処理を要する通信パケットと、処理を要さ
ない通信パケットとが混在して入力される。そして、そ
の通信パケットに対し、ソフトウェアにより加工を要す
るのか、ソフトウェアにより加工を要さないのかの識別
をソフトウェア処理で判定していたために、全ての通信
パケットに対し、ソフトウェア処理を実施する必要が生
じる。そのため、ネットワークノードを経由できる単位
時間当たりの通信パケット数は、ネットワークノードの
ソフトウェア処理能力により制限されるという問題点が
あった。また、ルーティング処理専用プロセッサ等によ
る高速化技術を本ネットワークノードに適用しても、上
記の理由によりソフトウェア処理を実施する必要がある
ため、ソフトウェア処理能力の制限により、ネットワー
クノードとして高速化を果たすことは困難であるという
問題点があった。
たプログラマブルなネットワークシステムにおいては、
各パケットに対してネットワークノードにロードされた
プログラムにより、ソフトウェア処理がなされる。この
従来技術では、真に処理が必要な通信パケットを選別し
て、それのみに対してソフトウェア処理をおこなうとい
う考え方はない。それゆえ、ネットワークノードには、
ソフトウェア処理を要する通信パケットと、処理を要さ
ない通信パケットとが混在して入力される。そして、そ
の通信パケットに対し、ソフトウェアにより加工を要す
るのか、ソフトウェアにより加工を要さないのかの識別
をソフトウェア処理で判定していたために、全ての通信
パケットに対し、ソフトウェア処理を実施する必要が生
じる。そのため、ネットワークノードを経由できる単位
時間当たりの通信パケット数は、ネットワークノードの
ソフトウェア処理能力により制限されるという問題点が
あった。また、ルーティング処理専用プロセッサ等によ
る高速化技術を本ネットワークノードに適用しても、上
記の理由によりソフトウェア処理を実施する必要がある
ため、ソフトウェア処理能力の制限により、ネットワー
クノードとして高速化を果たすことは困難であるという
問題点があった。
【0006】さらに、この問題に対処するためソフトウ
ェア処理能力を向上させようとすると、より高速な中央
演算装置、より容量の大きな記憶装置をネットワークノ
ード上で備えることが必要となり、ネットワークノード
装置の構成が複雑化するという問題も生ずる。
ェア処理能力を向上させようとすると、より高速な中央
演算装置、より容量の大きな記憶装置をネットワークノ
ード上で備えることが必要となり、ネットワークノード
装置の構成が複雑化するという問題も生ずる。
【0007】本発明の目的は、各ネットワーク上のプロ
グラムノード上で通信パケットのソフトウェア処理をお
こなうプログラマブルネットワークにおいて、通信パケ
ットに対するソフトウェア処理の実行を、処理を必要と
するパケットのみに限定し、処理を必要としないパケッ
トについては、ソフトウェア処理を介することなくルー
ティング専用プロセッサを用い、それにより、通信速度
を向上させ、ネットワークシステムのスループットを向
上させることのできるプログラマブルネットワークを提
供することにある。
グラムノード上で通信パケットのソフトウェア処理をお
こなうプログラマブルネットワークにおいて、通信パケ
ットに対するソフトウェア処理の実行を、処理を必要と
するパケットのみに限定し、処理を必要としないパケッ
トについては、ソフトウェア処理を介することなくルー
ティング専用プロセッサを用い、それにより、通信速度
を向上させ、ネットワークシステムのスループットを向
上させることのできるプログラマブルネットワークを提
供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明のプログラマブルネットワークに係る発明の
構成は、ネットワーク上で定義される通信フロー毎に対
応して、プログラムがロードされ、そのプログラムによ
り、その通信フローに属する通信パケットに対し、ネッ
トワークノード上でプログラム処理をおこなうプログラ
マブルネットワークにおいて、前記ネットワークノード
は、前記プログラムを実行するプログラム実行手段と、
入力パケットの送出先を割り出してルーティング処理を
おこなうルーティング手段と、ネットワーク入力インタ
フェースとを有し、このネットワーク入力インタフェー
スには、入力パケットの種別を判定するパケット種別判
定手段を設け、このパケット種別判定手段は、このネッ
トワークノードに通信パケットが到着すると、前記プロ
グラムの処理対象とする通信フローに属する通信パケッ
トのみをプログラム実行手段に転送し、それ以外の通信
パケットは、前記ルーティング手段に転送するようにし
たものである。
に、本発明のプログラマブルネットワークに係る発明の
構成は、ネットワーク上で定義される通信フロー毎に対
応して、プログラムがロードされ、そのプログラムによ
り、その通信フローに属する通信パケットに対し、ネッ
トワークノード上でプログラム処理をおこなうプログラ
マブルネットワークにおいて、前記ネットワークノード
は、前記プログラムを実行するプログラム実行手段と、
入力パケットの送出先を割り出してルーティング処理を
おこなうルーティング手段と、ネットワーク入力インタ
フェースとを有し、このネットワーク入力インタフェー
スには、入力パケットの種別を判定するパケット種別判
定手段を設け、このパケット種別判定手段は、このネッ
トワークノードに通信パケットが到着すると、前記プロ
グラムの処理対象とする通信フローに属する通信パケッ
トのみをプログラム実行手段に転送し、それ以外の通信
パケットは、前記ルーティング手段に転送するようにし
たものである。
【0009】より詳しくは、上記プログラマブルネット
ワークにおいて、前記パケット種別判定手段は、さら
に、その通信フローの通信経路上の他のネットワークノ
ードによって、既に実行されている処理内容の履歴情報
を保持する履歴情報蓄積手段と、前記ネットワークノー
ド間で処理内容の履歴情報を通知する手段とを有し、こ
のパケット種別判定手段は、このネットワークノードに
通信パケットが到着すると、前記履歴情報蓄積手段を参
照し、その通信パケットに属する通信フローに対して、
このネットワークノードで実行されるプログラムが既に
実行されていない場合のみ、その通信パケットを前記プ
ログラム実行手段に転送し、それ以外の場合には、前記
ルーティング手段に転送するようにしたものである。
ワークにおいて、前記パケット種別判定手段は、さら
に、その通信フローの通信経路上の他のネットワークノ
ードによって、既に実行されている処理内容の履歴情報
を保持する履歴情報蓄積手段と、前記ネットワークノー
ド間で処理内容の履歴情報を通知する手段とを有し、こ
のパケット種別判定手段は、このネットワークノードに
通信パケットが到着すると、前記履歴情報蓄積手段を参
照し、その通信パケットに属する通信フローに対して、
このネットワークノードで実行されるプログラムが既に
実行されていない場合のみ、その通信パケットを前記プ
ログラム実行手段に転送し、それ以外の場合には、前記
ルーティング手段に転送するようにしたものである。
【0010】また詳しくは、上記プログラマブルネット
ワークにおいて、このプログラマブルネットワークに用
いられる各通信パケットに対し、ネットワーク経路上で
既に実行されている処理内容の履歴情報を保持するフィ
ールドを設け、前記ネットワークノード上で、プログラ
ム処理をおこなった際に、前記フィールドを更新し、前
記パケット種別判定手段は、そのネットワークノードに
通信パケットが到着すると前記フィールドを参照し、そ
の通信パケットに属する通信フローに対して、このネッ
トワークノードで実行されるプログラムが既に実行され
ていない場合のみ、その通信パケットを前記プログラム
実行手段に転送し、それ以外の場合には、前記ルーティ
ング手段に転送するようにしたものである。
ワークにおいて、このプログラマブルネットワークに用
いられる各通信パケットに対し、ネットワーク経路上で
既に実行されている処理内容の履歴情報を保持するフィ
ールドを設け、前記ネットワークノード上で、プログラ
ム処理をおこなった際に、前記フィールドを更新し、前
記パケット種別判定手段は、そのネットワークノードに
通信パケットが到着すると前記フィールドを参照し、そ
の通信パケットに属する通信フローに対して、このネッ
トワークノードで実行されるプログラムが既に実行され
ていない場合のみ、その通信パケットを前記プログラム
実行手段に転送し、それ以外の場合には、前記ルーティ
ング手段に転送するようにしたものである。
【0011】さらに詳しくは、上記プログラマブルネッ
トワークにおいて、前記パケット種別判定手段を、前記
ルーティング手段の中に設け、このルーティング手段
は、前記ネットワーク入力インタフェースから通信パケ
ットを受け取ると、そのプログラムの処理対象となる通
信フローに属する通信パケットのみを前記プログラム実
行手段に転送するようにしたものである。
トワークにおいて、前記パケット種別判定手段を、前記
ルーティング手段の中に設け、このルーティング手段
は、前記ネットワーク入力インタフェースから通信パケ
ットを受け取ると、そのプログラムの処理対象となる通
信フローに属する通信パケットのみを前記プログラム実
行手段に転送するようにしたものである。
【0012】
【発明の実施の形態】以下、本発明に係る各実施形態
を、図1ないし図14を用いて説明する。 〔ネットワークシステムのシステム構成〕先ず、図1お
よび図2を用いて本発明に係るプログラマブルなネット
ワークシステムのシステム構成を説明する。図1は、本
発明の一実施形態に係るプログラマブルなネットワーク
システムのネットワークノードの構成を示すブロック図
である。図2は、本発明の一実施形態に係るプログラマ
ブルなネットワークシステムのシステム構成とその動作
を説明するためのブロック図である。
を、図1ないし図14を用いて説明する。 〔ネットワークシステムのシステム構成〕先ず、図1お
よび図2を用いて本発明に係るプログラマブルなネット
ワークシステムのシステム構成を説明する。図1は、本
発明の一実施形態に係るプログラマブルなネットワーク
システムのネットワークノードの構成を示すブロック図
である。図2は、本発明の一実施形態に係るプログラマ
ブルなネットワークシステムのシステム構成とその動作
を説明するためのブロック図である。
【0013】本実施形態のプログラマブルなネットワー
クシステムは、図2に示されるように、ネットワーク
2、サーバ計算機50、複数のネットワークノード1、
ネットワークノード51、クライアント計算機52によ
り構成される。
クシステムは、図2に示されるように、ネットワーク
2、サーバ計算機50、複数のネットワークノード1、
ネットワークノード51、クライアント計算機52によ
り構成される。
【0014】なお、ネットワークノード1が複数ある場
合には、枝番を付けて、1−1,1−2,…と表すこと
にする。サーバ計算機50、ネットワーク2などについ
ても同様の表記を用いることにする。
合には、枝番を付けて、1−1,1−2,…と表すこと
にする。サーバ計算機50、ネットワーク2などについ
ても同様の表記を用いることにする。
【0015】サーバ計算機50−1は通信フロー60
を、サーバ計算機50−2は通信フロー61をネットワ
ーク2に、それぞれ送出する。ネットワークノードは、
ネットワークを連結するために、複数設けられている。
そして、ネットワークノードの種類としては、ネットワ
ークノード1の様に、フロー対応処理プログラム実行手
段20を有するものがあり、一方では、ネットワークノ
ード51の様に、そのような手段を有さないネットワー
クノードもある。クライアント計算機52は、サーバ計
算機50−1の送出した通信フロー60とサーバ計算機
50−2の送出した通信フロー61とをネットワーク2
経由で受信する計算機である。
を、サーバ計算機50−2は通信フロー61をネットワ
ーク2に、それぞれ送出する。ネットワークノードは、
ネットワークを連結するために、複数設けられている。
そして、ネットワークノードの種類としては、ネットワ
ークノード1の様に、フロー対応処理プログラム実行手
段20を有するものがあり、一方では、ネットワークノ
ード51の様に、そのような手段を有さないネットワー
クノードもある。クライアント計算機52は、サーバ計
算機50−1の送出した通信フロー60とサーバ計算機
50−2の送出した通信フロー61とをネットワーク2
経由で受信する計算機である。
【0016】そして、ネットワークノード1−1、1−
2のフロー対応処理プログラム実行手段20には、プロ
グラムを実行するために、サーバ計算機50−1から予
めフロー対応処理プログラムを送信し、ロードしてお
く。
2のフロー対応処理プログラム実行手段20には、プロ
グラムを実行するために、サーバ計算機50−1から予
めフロー対応処理プログラムを送信し、ロードしてお
く。
【0017】ここで、通信フロー60に属する通信パケ
ットが、フロー対応処理プログラムの対象となり、通信
フロー61に関しては、フロー対応処理プログラムの対
象となっていないものとする。
ットが、フロー対応処理プログラムの対象となり、通信
フロー61に関しては、フロー対応処理プログラムの対
象となっていないものとする。
【0018】このとき、ネットワークノード1−1、1
−2では、サーバ計算機50−1からクライアント計算
機52への通信フロー60に属する通信パケットについ
て、それぞれのフロー対応処理プログラム実行手段20
にてプログラム処理を実施する様に、それぞれのパケッ
ト種別判定手段10が通信パケットの転送先を制御す
る。
−2では、サーバ計算機50−1からクライアント計算
機52への通信フロー60に属する通信パケットについ
て、それぞれのフロー対応処理プログラム実行手段20
にてプログラム処理を実施する様に、それぞれのパケッ
ト種別判定手段10が通信パケットの転送先を制御す
る。
【0019】一方、サーバ計算機50−2からクライア
ント計算機52への通信フロー61に属するパケットに
関しては、プログラムの実行を必要としないパケットな
ので、ネットワークノード1−1、1−2で、それぞれ
のパケット種別判定手段10は、フロー対応処理プログ
ラム実行手段20に通信パケットを転送せず、そのま
ま、ルーティング手段5にて処理する様に通信パケット
の転送先を制御する。
ント計算機52への通信フロー61に属するパケットに
関しては、プログラムの実行を必要としないパケットな
ので、ネットワークノード1−1、1−2で、それぞれ
のパケット種別判定手段10は、フロー対応処理プログ
ラム実行手段20に通信パケットを転送せず、そのま
ま、ルーティング手段5にて処理する様に通信パケット
の転送先を制御する。
【0020】次に、上で説明したネットワークノードの
内でフロー対応処理プログラム実行手段20を有するタ
イプのネットワークノードの構成を詳説しよう。
内でフロー対応処理プログラム実行手段20を有するタ
イプのネットワークノードの構成を詳説しよう。
【0021】図1に示される様に、本発明の実施形態に
よるネットワークノード1は、ネットワーク入力インタ
フェース3と、ネットワーク出力インタフェース4と、
ルーティング手段5と、フロー対応処理プログラム実行
手段20とから構成されている。そして、ネットワーク
入力インタフェース3(3−i,i=1,…,N)と、
ネットワーク出力インタフェース4(4−i,i=1,
…,N)は、N個のネットワーク2(2−i,i=1,
…,N)にそれぞれ、入力と出力のために接続されてい
る。
よるネットワークノード1は、ネットワーク入力インタ
フェース3と、ネットワーク出力インタフェース4と、
ルーティング手段5と、フロー対応処理プログラム実行
手段20とから構成されている。そして、ネットワーク
入力インタフェース3(3−i,i=1,…,N)と、
ネットワーク出力インタフェース4(4−i,i=1,
…,N)は、N個のネットワーク2(2−i,i=1,
…,N)にそれぞれ、入力と出力のために接続されてい
る。
【0022】ネットワーク入力インタフェース3には、
各々パケット種別判定手段10が設けられ、そこには、
それぞれパケット処理対象フロー識別テーブル11が保
持されている。パケット処理対象フロー識別テーブル1
1は、各々の通信フローに属するパケットを、フロー対
応処理プログラム実行手段20に送るか、直接、ルーテ
ィング手段5に送るかを判定するための情報を蓄えるた
めのテーブルである。
各々パケット種別判定手段10が設けられ、そこには、
それぞれパケット処理対象フロー識別テーブル11が保
持されている。パケット処理対象フロー識別テーブル1
1は、各々の通信フローに属するパケットを、フロー対
応処理プログラム実行手段20に送るか、直接、ルーテ
ィング手段5に送るかを判定するための情報を蓄えるた
めのテーブルである。
【0023】フロー対応処理プログラム実行手段20
は、通信パケット送受信手段21、履歴情報更新手段2
2、パケット処理対象フロー識別テーブル設定手段2
3、および履歴情報蓄積テーブル24により構成されて
いる。ここで、パケット処理対象フロー識別テーブル設
定手段23は、パケット処理対象フロー識別テーブル1
1に情報を設定する機能を有する。
は、通信パケット送受信手段21、履歴情報更新手段2
2、パケット処理対象フロー識別テーブル設定手段2
3、および履歴情報蓄積テーブル24により構成されて
いる。ここで、パケット処理対象フロー識別テーブル設
定手段23は、パケット処理対象フロー識別テーブル1
1に情報を設定する機能を有する。
【0024】また、ルーティング手段5は、パケットの
ルーティングを制御する部分であり、ルーティング処理
専用プロセッサ等により実施することができる。
ルーティングを制御する部分であり、ルーティング処理
専用プロセッサ等により実施することができる。
【0025】パケット種別判定手段10では、パケット
処理対象フロー識別テーブル設定手段23が設定するパ
ケット処理対象フロー識別テーブル11を参照して、受
信した通信パケットの転送先を選択する。これにより、
受信した通信パケットは、その通信パケットの属する通
信フローに応じて、ルーティング手段5、またはフロー
対応処理プログラム実行手段20に転送される。具体的
には、フロー対応処理プログラムの処理対象となる通信
フローに属する通信パケットをパケット種別判定手段1
0で選択して、フロー対応処理プログラム実行手段20
に転送し、それ以外の通信フローに属する通信パケット
については直接ルーティング手段5に転送する。これに
より、フロー対応処理プログラムの処理対象とならない
通信フローに属する通信パケットについて、ソフトウェ
ア処理を介することなく高速に通信処理がおこなえる様
になる。
処理対象フロー識別テーブル設定手段23が設定するパ
ケット処理対象フロー識別テーブル11を参照して、受
信した通信パケットの転送先を選択する。これにより、
受信した通信パケットは、その通信パケットの属する通
信フローに応じて、ルーティング手段5、またはフロー
対応処理プログラム実行手段20に転送される。具体的
には、フロー対応処理プログラムの処理対象となる通信
フローに属する通信パケットをパケット種別判定手段1
0で選択して、フロー対応処理プログラム実行手段20
に転送し、それ以外の通信フローに属する通信パケット
については直接ルーティング手段5に転送する。これに
より、フロー対応処理プログラムの処理対象とならない
通信フローに属する通信パケットについて、ソフトウェ
ア処理を介することなく高速に通信処理がおこなえる様
になる。
【0026】さらに、通信フローの通信経路上において
は、各ネットワークノードは、それぞれのフロー対応処
理プログラム実行手段20で実行したプログラムの処理
内容を履歴情報更新手段22により、履歴情報蓄積テー
ブル24に保持する。それと共に、通信経路上の次のネ
ットワークノードにこの履歴情報を転送する。履歴情報
を受信したネットワークノードでは、自ノード内で実施
する処理内容と受信した履歴情報とを合わせて、履歴情
報蓄積テーブル24に保持する。この動作を通信経路上
の各ネットワークノードについて繰り返しおこなうこと
により、各ネットワークノードでは、通信パケット受信
時に通信経路上で既に実施された処理の履歴内容を各フ
ロー毎に履歴情報蓄積テーブル24に保持することが可
能となる。この情報を基に、フロー対応処理プログラム
実行手段では、各フロー毎に自ノードにてプログラム処
理を実行する必要があるか否かを判定し、パケット処理
対象フロー識別テーブル設定手段23がパケット処理対
象フロー識別テーブル11を設定する。そして、パケッ
ト種別判定手段10では、このパケット処理対象フロー
識別テーブル11を参照して受信パケットの転送先を選
択する。
は、各ネットワークノードは、それぞれのフロー対応処
理プログラム実行手段20で実行したプログラムの処理
内容を履歴情報更新手段22により、履歴情報蓄積テー
ブル24に保持する。それと共に、通信経路上の次のネ
ットワークノードにこの履歴情報を転送する。履歴情報
を受信したネットワークノードでは、自ノード内で実施
する処理内容と受信した履歴情報とを合わせて、履歴情
報蓄積テーブル24に保持する。この動作を通信経路上
の各ネットワークノードについて繰り返しおこなうこと
により、各ネットワークノードでは、通信パケット受信
時に通信経路上で既に実施された処理の履歴内容を各フ
ロー毎に履歴情報蓄積テーブル24に保持することが可
能となる。この情報を基に、フロー対応処理プログラム
実行手段では、各フロー毎に自ノードにてプログラム処
理を実行する必要があるか否かを判定し、パケット処理
対象フロー識別テーブル設定手段23がパケット処理対
象フロー識別テーブル11を設定する。そして、パケッ
ト種別判定手段10では、このパケット処理対象フロー
識別テーブル11を参照して受信パケットの転送先を選
択する。
【0027】なお、上記各手段、および各テーブル等の
詳細な実施形態は、以下で説明する。
詳細な実施形態は、以下で説明する。
【0028】また、図1に示された実施形態において
は、本発明によるパケット種別判定手段10を各々のネ
ットワーク入力インタフェース3の中に設けていたが、
このパケット種別判定手段10は、ルーティング手段5
の中に一つだけ設けて実施しても良い。この場合、ネッ
トワーク入力インタフェース3は、受信した通信パケッ
トを全てルーティング手段5に転送する。ルーティング
手段5では、受け取った通信パケットをフロー対応処理
プログラム実行手段20に転送するか否かを、ルーティ
ング手段5の中にあるパケット種別判定手段10を用い
て判定し、必要なパケットのみをフロー対応処理プログ
ラム実行手段20に転送し、そのほかの通信パケットは
そのまま各ネットワーク出力インターフェイス4に送出
する。
は、本発明によるパケット種別判定手段10を各々のネ
ットワーク入力インタフェース3の中に設けていたが、
このパケット種別判定手段10は、ルーティング手段5
の中に一つだけ設けて実施しても良い。この場合、ネッ
トワーク入力インタフェース3は、受信した通信パケッ
トを全てルーティング手段5に転送する。ルーティング
手段5では、受け取った通信パケットをフロー対応処理
プログラム実行手段20に転送するか否かを、ルーティ
ング手段5の中にあるパケット種別判定手段10を用い
て判定し、必要なパケットのみをフロー対応処理プログ
ラム実行手段20に転送し、そのほかの通信パケットは
そのまま各ネットワーク出力インターフェイス4に送出
する。
【0029】さて、以下、本実施形態では、サーバ計算
機50から送出される通信データ60−10が、階層的
に符号化された画像データの場合を例に採って説明す
る。ここで例えば、クライアント計算機52の接続され
たネットワーク2−13の利用率が高く、通信データ6
0−10の全ての通信パケットをクライアント計算機5
2が受信できないとする。この場合、通信経路の途中に
あるいずれかのネットワークノード1にて、階層的に符
号化された画像データのうち、例えば、低周波帯域のデ
ータのみを通し、高周波帯域のデータについては破棄す
る処理をおこない、通信データの量をクライアント計算
機52が受信できる容量に低減する処理を、フロー対応
処理プログラム実行手段20にておこなう場合を想定す
る。
機50から送出される通信データ60−10が、階層的
に符号化された画像データの場合を例に採って説明す
る。ここで例えば、クライアント計算機52の接続され
たネットワーク2−13の利用率が高く、通信データ6
0−10の全ての通信パケットをクライアント計算機5
2が受信できないとする。この場合、通信経路の途中に
あるいずれかのネットワークノード1にて、階層的に符
号化された画像データのうち、例えば、低周波帯域のデ
ータのみを通し、高周波帯域のデータについては破棄す
る処理をおこない、通信データの量をクライアント計算
機52が受信できる容量に低減する処理を、フロー対応
処理プログラム実行手段20にておこなう場合を想定す
る。
【0030】フロー対応処理プログラム実行手段20−
1では、入力通信データ60−11の選択的な廃棄処理
をおこない、60−12として送出する。この際、当該
通信フローに属さない通信フロー61の通信パケット
は、パケット種別判定手段10−1により直接ルーティ
ング手段5−1に転送され、フロー対応処理プログラム
実行手段20−1を介することなくネットワークに送出
される。
1では、入力通信データ60−11の選択的な廃棄処理
をおこない、60−12として送出する。この際、当該
通信フローに属さない通信フロー61の通信パケット
は、パケット種別判定手段10−1により直接ルーティ
ング手段5−1に転送され、フロー対応処理プログラム
実行手段20−1を介することなくネットワークに送出
される。
【0031】フロー対応処理プログラム実行手段20−
2でも、20−1と同様にして入力通信データ60−1
2について、クライアント計算機52が受信できる容量
になる様に、選択的な廃棄処理をおこない、60−13
として送出する。ここで、通信データ60−12の容量
がフロー対応処理プログラム実行手段20−1によって
既にクライアント計算機52が受信できる容量にされて
いた場合、ネットワークノード1−2では、60−12
で受信した通信データに対してプログラム処理を実施す
ることなく、そのまま60−13として送出できる。
2でも、20−1と同様にして入力通信データ60−1
2について、クライアント計算機52が受信できる容量
になる様に、選択的な廃棄処理をおこない、60−13
として送出する。ここで、通信データ60−12の容量
がフロー対応処理プログラム実行手段20−1によって
既にクライアント計算機52が受信できる容量にされて
いた場合、ネットワークノード1−2では、60−12
で受信した通信データに対してプログラム処理を実施す
ることなく、そのまま60−13として送出できる。
【0032】本発明においては、ネットワークノード1
−1のフロー対応処理プログラム実行手段20−1が実
施した処理の履歴情報を、ネットワークノード1−2の
フロー対応処理プログラム実行手段20−2に送信して
おく。パケット種別判定手段10−2では、この履歴情
報を参照することにより、受信した通信データをフロー
対応処理プログラム実行手段20−2に転送するのか、
またはルーティング手段5−2に直接転送するのかを判
定する。図2に示した例においては、通信フロー60に
対してプログラム処理を必要としない場合には、フロー
対応処理プログラム実行手段20−2を経由せずに、ル
ーティング手段5−2のみを経由してネットワーク2−
12から2−13へのパケット転送をおこなうことがで
きる。これにより、本来ソフトウェア処理を介する通信
フローに関しても、通信経路上での処理履歴を基にし
て、ソフトウェア処理を省略して転送することが可能と
なる。
−1のフロー対応処理プログラム実行手段20−1が実
施した処理の履歴情報を、ネットワークノード1−2の
フロー対応処理プログラム実行手段20−2に送信して
おく。パケット種別判定手段10−2では、この履歴情
報を参照することにより、受信した通信データをフロー
対応処理プログラム実行手段20−2に転送するのか、
またはルーティング手段5−2に直接転送するのかを判
定する。図2に示した例においては、通信フロー60に
対してプログラム処理を必要としない場合には、フロー
対応処理プログラム実行手段20−2を経由せずに、ル
ーティング手段5−2のみを経由してネットワーク2−
12から2−13へのパケット転送をおこなうことがで
きる。これにより、本来ソフトウェア処理を介する通信
フローに関しても、通信経路上での処理履歴を基にし
て、ソフトウェア処理を省略して転送することが可能と
なる。
【0033】〔実施形態1〕次に、図3ないし図10を
用いて本発明に係る第一の実施形態について説明する。 (I)第一の実施形態のネットワークシステムに用いら
れるデータ構造 先ず、図3ないし図8を用いて第一の実施形態のネット
ワークシステムに用いられるデータ構造について説明す
る。図3は、本発明の第一の実施形態に係る通信パケッ
ト100のフォーマットを示す模式図である。図4は、
図3の通信パケット100で通信データ120が、フロ
ー対応処理プログラムであるときのフォーマットを示す
模式図である。図5は、図3の通信パケット100で通
信データ120が、履歴情報140であるときのフォー
マットを示す模式図である。図6は、本発明の一実施形
態に係る履歴情報140のフォーマットを示す模式図で
ある。図7は、本発明の第一の実施形態に係るパケット
処理対象フロー識別テーブル11のフォーマットを示す
模式図である。図8は、履歴情報蓄積テーブル24のフ
ォーマットを示す模式図である。
用いて本発明に係る第一の実施形態について説明する。 (I)第一の実施形態のネットワークシステムに用いら
れるデータ構造 先ず、図3ないし図8を用いて第一の実施形態のネット
ワークシステムに用いられるデータ構造について説明す
る。図3は、本発明の第一の実施形態に係る通信パケッ
ト100のフォーマットを示す模式図である。図4は、
図3の通信パケット100で通信データ120が、フロ
ー対応処理プログラムであるときのフォーマットを示す
模式図である。図5は、図3の通信パケット100で通
信データ120が、履歴情報140であるときのフォー
マットを示す模式図である。図6は、本発明の一実施形
態に係る履歴情報140のフォーマットを示す模式図で
ある。図7は、本発明の第一の実施形態に係るパケット
処理対象フロー識別テーブル11のフォーマットを示す
模式図である。図8は、履歴情報蓄積テーブル24のフ
ォーマットを示す模式図である。
【0034】図3に示されるように通信パケット100
は、通信パケットの宛先情報等を格納するパケットヘッ
ダ部110と、通信データを格納するパケットデータ部
120により構成される。パケットヘッダ部110は、
通信パケットの転送されるプロトコルの種別等を識別す
るパケット種別識別子111、送信側計算機を特定する
ための送信アドレス112と、送信ポート113、受信
側計算機を特定するための受信アドレス114と、受信
ポート115により構成される。ここで、よく用いられ
ている具体的なプロトコルに当てはめると、送信アドレ
ス112、受信アドレス114は、IP(Internet Pro
tocol)のIPアドレスが、送信ポート113、受信ポ
ート115は、TCP(Transmission Control Protoco
l)/UDP(User Datagram Protocol)のポート番号
がこれに該当する。
は、通信パケットの宛先情報等を格納するパケットヘッ
ダ部110と、通信データを格納するパケットデータ部
120により構成される。パケットヘッダ部110は、
通信パケットの転送されるプロトコルの種別等を識別す
るパケット種別識別子111、送信側計算機を特定する
ための送信アドレス112と、送信ポート113、受信
側計算機を特定するための受信アドレス114と、受信
ポート115により構成される。ここで、よく用いられ
ている具体的なプロトコルに当てはめると、送信アドレ
ス112、受信アドレス114は、IP(Internet Pro
tocol)のIPアドレスが、送信ポート113、受信ポ
ート115は、TCP(Transmission Control Protoco
l)/UDP(User Datagram Protocol)のポート番号
がこれに該当する。
【0035】また、本発明に係る通信パケット100
は、図4に示されるように通信データ120がフロー対
応処理プログラム130である場合がある。これは、図
2に示したようにサーバ計算機50がネットワークノー
ド1−1と1−2にフロー対応処理プログラムを送信す
る際の通信パケットのフォーマットである。ここで、フ
ロー対応処理プログラム130は、ネットワークノード
1にて実行可能なオブジェクトモジュール、テキストデ
ータで記述されたスクリプト、Java言語によるバイ
トコード等、その形態は問わない。また、フロー対応処
理プログラム130が一つのパケット100に格納でき
ない長さの場合、複数の通信パケット100で分割して
送信しても良い。
は、図4に示されるように通信データ120がフロー対
応処理プログラム130である場合がある。これは、図
2に示したようにサーバ計算機50がネットワークノー
ド1−1と1−2にフロー対応処理プログラムを送信す
る際の通信パケットのフォーマットである。ここで、フ
ロー対応処理プログラム130は、ネットワークノード
1にて実行可能なオブジェクトモジュール、テキストデ
ータで記述されたスクリプト、Java言語によるバイ
トコード等、その形態は問わない。また、フロー対応処
理プログラム130が一つのパケット100に格納でき
ない長さの場合、複数の通信パケット100で分割して
送信しても良い。
【0036】また、本発明に係る他の通信パケット10
0の例としては、図5に示されるように通信データ12
0が、履歴情報140である場合がある。これは、図2
に示したようにネットワークノード1−1が1−2に履
歴情報140を送信する際の通信パケットのフォーマッ
トである。ここでも、履歴情報140が一つのパケット
100に格納できない長さの場合には、複数の通信パケ
ット100で分割して送信しても良い。
0の例としては、図5に示されるように通信データ12
0が、履歴情報140である場合がある。これは、図2
に示したようにネットワークノード1−1が1−2に履
歴情報140を送信する際の通信パケットのフォーマッ
トである。ここでも、履歴情報140が一つのパケット
100に格納できない長さの場合には、複数の通信パケ
ット100で分割して送信しても良い。
【0037】履歴情報140は、例えば、図6に示す形
態が考えられる。この例においては、履歴情報140
は、各処理の実施履歴を示す“1”または“0”のビッ
トフィールド141、およびそのビット情報142にて
構成されている。前記の階層符号化した画像情報を伝送
する例の場合、周波数帯域をK段階に区切り、最も周波
数帯域の低いデータを格納したパケットの転送を141
−1に割り当て、周波数帯域の高いデータを格納したパ
ケットの転送を141−Kに割り当てる。各フィールド
142には、例えば、初期値“1”を書き込んでおき、
フロー対応処理プログラム実行手段20にて破棄した帯
域のパケットに該当するフィールド142には“0”を
書き込む。ここで、図6に示した履歴情報140はビッ
トフィールドで実施する形態をとるが、これは例えば、
テキストデータで記述されたスクリプト等を用いて実施
しても良い。
態が考えられる。この例においては、履歴情報140
は、各処理の実施履歴を示す“1”または“0”のビッ
トフィールド141、およびそのビット情報142にて
構成されている。前記の階層符号化した画像情報を伝送
する例の場合、周波数帯域をK段階に区切り、最も周波
数帯域の低いデータを格納したパケットの転送を141
−1に割り当て、周波数帯域の高いデータを格納したパ
ケットの転送を141−Kに割り当てる。各フィールド
142には、例えば、初期値“1”を書き込んでおき、
フロー対応処理プログラム実行手段20にて破棄した帯
域のパケットに該当するフィールド142には“0”を
書き込む。ここで、図6に示した履歴情報140はビッ
トフィールドで実施する形態をとるが、これは例えば、
テキストデータで記述されたスクリプト等を用いて実施
しても良い。
【0038】次に、図1に示したパケット処理対象フロ
ー識別テーブル11のフォーマットは、図7に示した例
が考えられる。この例のパケット処理対象フロー識別テ
ーブル11は、通信フロー識別情報201と、パケット
転送先識別子202によって構成される。
ー識別テーブル11のフォーマットは、図7に示した例
が考えられる。この例のパケット処理対象フロー識別テ
ーブル11は、通信フロー識別情報201と、パケット
転送先識別子202によって構成される。
【0039】通信フロー識別情報201は、送信アドレ
ス212、送信ポート213、受信アドレス214、受
信ポート215により構成される。212−215はそ
れぞれ図3で示したパケットヘッダ部110内の112
−115の情報に相当する。パケット転送先識別子20
2には、通信パケット100の転送先がフロー対応処理
プログラム実行手段20なのか、ルーティング手段5な
のかを示す識別子が格納される。
ス212、送信ポート213、受信アドレス214、受
信ポート215により構成される。212−215はそ
れぞれ図3で示したパケットヘッダ部110内の112
−115の情報に相当する。パケット転送先識別子20
2には、通信パケット100の転送先がフロー対応処理
プログラム実行手段20なのか、ルーティング手段5な
のかを示す識別子が格納される。
【0040】このパケット処理対象フロー識別テーブル
11は複数のエントリ210から構成される。ここで、
エントリ210−Pでは、212−215の情報で示さ
れる通信フローを構成する通信パケットを、フロー対応
処理プログラム実行手段20に転送することを示し、同
様にエントリ210−Rでは、通信パケットをルーティ
ング手段5に転送することを示している。これらのエン
トリ210は、図1に示されるフロー対応処理プログラ
ム実行手段20の中にあるパケット処理対象フロー識別
テーブル設定手段23によって設定され、ネットワーク
入力インタフェース3の中にあるパケット種別判定手段
10によって参照される。具体的にどのようなアルゴリ
ズムにより、このパケット転送先識別子202に値を設
定するかは、後に詳説する。
11は複数のエントリ210から構成される。ここで、
エントリ210−Pでは、212−215の情報で示さ
れる通信フローを構成する通信パケットを、フロー対応
処理プログラム実行手段20に転送することを示し、同
様にエントリ210−Rでは、通信パケットをルーティ
ング手段5に転送することを示している。これらのエン
トリ210は、図1に示されるフロー対応処理プログラ
ム実行手段20の中にあるパケット処理対象フロー識別
テーブル設定手段23によって設定され、ネットワーク
入力インタフェース3の中にあるパケット種別判定手段
10によって参照される。具体的にどのようなアルゴリ
ズムにより、このパケット転送先識別子202に値を設
定するかは、後に詳説する。
【0041】次に、図1に示した履歴情報蓄積テーブル
24のフォーマットは、図8に示した例が考えられる。
この例の履歴情報蓄積テーブル24は、通信フロー識別
情報601と、パケット毎履歴情報603、フロー対応
処理プログラム識別情報604によって構成される。通
信フロー識別情報601は、送信アドレス612、送信
ポート613、受信アドレス614、受信ポート615
により構成される。612−615はそれぞれ図3で示
した112−115の情報に相当することは先ほどと同
様である。
24のフォーマットは、図8に示した例が考えられる。
この例の履歴情報蓄積テーブル24は、通信フロー識別
情報601と、パケット毎履歴情報603、フロー対応
処理プログラム識別情報604によって構成される。通
信フロー識別情報601は、送信アドレス612、送信
ポート613、受信アドレス614、受信ポート615
により構成される。612−615はそれぞれ図3で示
した112−115の情報に相当することは先ほどと同
様である。
【0042】パケット毎履歴情報603には、図6に示
した履歴情報140が格納される。このパケット毎履歴
情報603が書き換えられるタイミングは、図5に示す
履歴情報140をデータとする通信パケット100が、
ネットワークノードに送られてきたときか、または、フ
ロー対応処理プログラム実行手段20が、現在、このノ
ードで実行すべきプログラムの内容を割り出して書き換
えるときのどちらかである。この履歴情報140を参照
したり、書き換えたりするアルゴリズムについても後に
詳説する。
した履歴情報140が格納される。このパケット毎履歴
情報603が書き換えられるタイミングは、図5に示す
履歴情報140をデータとする通信パケット100が、
ネットワークノードに送られてきたときか、または、フ
ロー対応処理プログラム実行手段20が、現在、このノ
ードで実行すべきプログラムの内容を割り出して書き換
えるときのどちらかである。この履歴情報140を参照
したり、書き換えたりするアルゴリズムについても後に
詳説する。
【0043】フロー対応処理プログラム識別情報604
には、通信パケット100を処理するプログラムの情
報、例えば、プログラム名が格納される。このフロー対
応処理プログラム識別情報604が、書き換えられるタ
イミングは、図4に示すフロー対応処理プログラム13
0をデータとする通信パケット100が、ネットワーク
ノードに送られてきたときである。
には、通信パケット100を処理するプログラムの情
報、例えば、プログラム名が格納される。このフロー対
応処理プログラム識別情報604が、書き換えられるタ
イミングは、図4に示すフロー対応処理プログラム13
0をデータとする通信パケット100が、ネットワーク
ノードに送られてきたときである。
【0044】履歴情報蓄積テーブル24は、複数のエン
トリ610から構成される。ここで、エントリ610−
2では、612−615の情報で示される通信フローを
構成する通信パケットを、フロー対応処理プログラム
“xxx”で処理することを示し、同様にエントリ61
0−3では、“yyy”で処理することを示している。
なお、図9においてはフロー対応処理プログラム識別情
報604をプログラムの名称で格納する実施形態を示し
たが、これは例えばプログラムを主記憶装置上に格納し
た際の開始アドレス値を格納して実施しても良い。
トリ610から構成される。ここで、エントリ610−
2では、612−615の情報で示される通信フローを
構成する通信パケットを、フロー対応処理プログラム
“xxx”で処理することを示し、同様にエントリ61
0−3では、“yyy”で処理することを示している。
なお、図9においてはフロー対応処理プログラム識別情
報604をプログラムの名称で格納する実施形態を示し
たが、これは例えばプログラムを主記憶装置上に格納し
た際の開始アドレス値を格納して実施しても良い。
【0045】(II)第一の実施形態のネットワークシス
テムの動作 次に、図9ないし図11を用いて第一の実施形態のネッ
トワークシステムの動作について説明する。図9は、本
発明の第一の実施形態に係るフロー対応処理プログラム
実行手段20内の通信パケット送受信手段20の動作内
容を示すフローチャートである。図10は、本発明の第
一の実施形態に係るフロー対応処理プログラム実行手段
20内の履歴情報更新手段22の動作内容を示すフロー
チャートである。図11は、本発明の第一の実施形態に
係るパケット種別判定手段10の動作内容を示すフロー
チャートである。
テムの動作 次に、図9ないし図11を用いて第一の実施形態のネッ
トワークシステムの動作について説明する。図9は、本
発明の第一の実施形態に係るフロー対応処理プログラム
実行手段20内の通信パケット送受信手段20の動作内
容を示すフローチャートである。図10は、本発明の第
一の実施形態に係るフロー対応処理プログラム実行手段
20内の履歴情報更新手段22の動作内容を示すフロー
チャートである。図11は、本発明の第一の実施形態に
係るパケット種別判定手段10の動作内容を示すフロー
チャートである。
【0046】先ず、図9の順を追ってフロー対応処理プ
ログラム実行手段20内の通信パケット送受信手段20
の動作について説明する。
ログラム実行手段20内の通信パケット送受信手段20
の動作について説明する。
【0047】通信パケット送受信手段20は、パケット
種別判定手段10から通信パケット100を受け取り
(S401)、パケットデータ部120に格納されたデ
ータの種別を判別する(S402)。
種別判定手段10から通信パケット100を受け取り
(S401)、パケットデータ部120に格納されたデ
ータの種別を判別する(S402)。
【0048】パケットデータ部120にフロー対応処理
プログラム130が格納されていた場合には、フロー対
応処理プログラム130が実行可能となる様にプログラ
ムを主記憶上にロードする(S403)。
プログラム130が格納されていた場合には、フロー対
応処理プログラム130が実行可能となる様にプログラ
ムを主記憶上にロードする(S403)。
【0049】そして、図8に示した履歴情報蓄積テーブ
ル24にエントリを登録して、通信フロー識別情報60
1と、フロー対応処理プログラム識別情報604のフィ
ールドに値を設定する(S404)。図8に示したエン
トリ610−2の例では、送信アドレスがA−1、送信
ポートがP−1、受信アドレスがA−2、受信ポートが
P−2に属する通信フローに対して、プログラムモジュ
ール名が、“xxx”のプログラムが実行されるべく設
定されたことを意味する。
ル24にエントリを登録して、通信フロー識別情報60
1と、フロー対応処理プログラム識別情報604のフィ
ールドに値を設定する(S404)。図8に示したエン
トリ610−2の例では、送信アドレスがA−1、送信
ポートがP−1、受信アドレスがA−2、受信ポートが
P−2に属する通信フローに対して、プログラムモジュ
ール名が、“xxx”のプログラムが実行されるべく設
定されたことを意味する。
【0050】そして、通信パケット100をルーティン
グ手段5に転送する(S410)。
グ手段5に転送する(S410)。
【0051】判別の結果、パケットデータ部120に履
歴情報140が格納されていた場合には、履歴情報蓄積
テーブル24に格納された履歴情報と比較する(S40
5)。
歴情報140が格納されていた場合には、履歴情報蓄積
テーブル24に格納された履歴情報と比較する(S40
5)。
【0052】比較の結果、内容が一致していれば、既に
この履歴情報は蓄積されているということなので、履歴
情報蓄積テーブル24を書き換える必要はないので次の
ステップに行く。
この履歴情報は蓄積されているということなので、履歴
情報蓄積テーブル24を書き換える必要はないので次の
ステップに行く。
【0053】そして、この場合には、この通信パケット
に属する処理が、既に前のノードで実行されているとい
うことである。したがって、パケット処理対象フロー識
別テーブル設定手段23を実行して、この通信パケット
と通信フロー識別情報201が一致するエントリを検索
し、パケット処理対象フロー識別テーブル11のパケッ
ト転送先識別子202のフィールドの値が、「フロー対
応処理プログラム実行手段」になっているときには、
「ルーティング手段」に書き換える(S409)。
に属する処理が、既に前のノードで実行されているとい
うことである。したがって、パケット処理対象フロー識
別テーブル設定手段23を実行して、この通信パケット
と通信フロー識別情報201が一致するエントリを検索
し、パケット処理対象フロー識別テーブル11のパケッ
ト転送先識別子202のフィールドの値が、「フロー対
応処理プログラム実行手段」になっているときには、
「ルーティング手段」に書き換える(S409)。
【0054】そして、ルーティング手段5に通信パケッ
トを転送する(S410)。
トを転送する(S410)。
【0055】一致していない場合には、履歴情報蓄積テ
ーブル24を更新する(S406)。更新されるのは、
その通信パケットの示す通信フロー識別情報の持つエン
トリである。
ーブル24を更新する(S406)。更新されるのは、
その通信パケットの示す通信フロー識別情報の持つエン
トリである。
【0056】パケット処理対象フロー識別テーブル設定
手段23を実行して、パケット処理対象フロー識別テー
ブル11を更新する(S407)。
手段23を実行して、パケット処理対象フロー識別テー
ブル11を更新する(S407)。
【0057】更新の仕方は、通信パケット100で送ら
れてきた履歴情報140の内容を解析しておこなう。こ
こで、図8の履歴情報蓄積テーブル24のエントリ61
0−2のエントリを例として説明しよう。
れてきた履歴情報140の内容を解析しておこなう。こ
こで、図8の履歴情報蓄積テーブル24のエントリ61
0−2のエントリを例として説明しよう。
【0058】例えば、このエントリの通信フローに属す
る通信パケットで、履歴情報140が、「“1”,
“1”,“1”,…」のものが送られてきたとする。こ
の場合、3番目に対応する周波数帯域が、前のノードで
プログラム処理をしなくなったということである。した
がって、この場合には、このネットワークノードで処理
すべく、パケット処理対象フロー識別テーブル11の通
信フロー識別情報が一致するエントリのパケット転送先
識別子202が、「ルーティング手段」となっている場
合には、「フロー対応処理プログラム実行手段」に書き
換える。
る通信パケットで、履歴情報140が、「“1”,
“1”,“1”,…」のものが送られてきたとする。こ
の場合、3番目に対応する周波数帯域が、前のノードで
プログラム処理をしなくなったということである。した
がって、この場合には、このネットワークノードで処理
すべく、パケット処理対象フロー識別テーブル11の通
信フロー識別情報が一致するエントリのパケット転送先
識別子202が、「ルーティング手段」となっている場
合には、「フロー対応処理プログラム実行手段」に書き
換える。
【0059】逆に、このエントリの通信フローに属する
通信パケットで、履歴情報140が、「“1”,
“0”,“0”,…」のものが送られてきたとする。こ
の場合、2番目に対応する周波数帯域が、前のノードで
プログラム処理をするようになったということである。
したがって、この場合には、既に2番目の周波数帯域
は、処理する必要はなくなったので、パケット処理対象
フロー識別テーブル11の通信フロー識別情報が一致す
るエントリのパケット転送先識別子202が、「フロー
対応処理プログラム実行手段」となっている場合には、
「ルーティング手段」に書き換える。
通信パケットで、履歴情報140が、「“1”,
“0”,“0”,…」のものが送られてきたとする。こ
の場合、2番目に対応する周波数帯域が、前のノードで
プログラム処理をするようになったということである。
したがって、この場合には、既に2番目の周波数帯域
は、処理する必要はなくなったので、パケット処理対象
フロー識別テーブル11の通信フロー識別情報が一致す
るエントリのパケット転送先識別子202が、「フロー
対応処理プログラム実行手段」となっている場合には、
「ルーティング手段」に書き換える。
【0060】そして、通信パケット100をルーティン
グ手段5に転送する(S410)。これによって、次の
ノードにも履歴情報が伝えられる。
グ手段5に転送する(S410)。これによって、次の
ノードにも履歴情報が伝えられる。
【0061】通信データ120が、図4に示すようにフ
ロー対応処理プログラム130でも、図5に示すように
履歴情報でもないときには、これは、プログラムの実行
対象となるデータである。この場合には、この通信パケ
ット100に対しフロー対応処理プログラムが実行され
て(S408)、その後、通信パケット100はルーテ
ィング手段5に転送される(S410)。
ロー対応処理プログラム130でも、図5に示すように
履歴情報でもないときには、これは、プログラムの実行
対象となるデータである。この場合には、この通信パケ
ット100に対しフロー対応処理プログラムが実行され
て(S408)、その後、通信パケット100はルーテ
ィング手段5に転送される(S410)。
【0062】最後のステップ409の処理が終わると、
ステップ401に戻り、パケット種別判定手段10から
の通信パケット100を待つことになる。
ステップ401に戻り、パケット種別判定手段10から
の通信パケット100を待つことになる。
【0063】次に、図10の順を追ってフロー対応処理
プログラム実行手段20内の履歴情報更新手段22の動
作内容について説明する。
プログラム実行手段20内の履歴情報更新手段22の動
作内容について説明する。
【0064】この処理は、各通信フローに対して随時実
行されるようにすれば良い。すなわち、この処理を実行
するタイミングは、例えば、通信パケットを送出するネ
ットワーク2の混雑状況が変化した場合や、クライアン
ト計算機52からの通知を受けた場合、また、定時間毎
に定期的に実行する様にしても良い。
行されるようにすれば良い。すなわち、この処理を実行
するタイミングは、例えば、通信パケットを送出するネ
ットワーク2の混雑状況が変化した場合や、クライアン
ト計算機52からの通知を受けた場合、また、定時間毎
に定期的に実行する様にしても良い。
【0065】先ず、フロー対応処理プログラムの実行内
容を割り出す(S501)。これは、現時点で、ネット
ワークの混雑状況などを勘案し、どのようなプログラム
処理をこのノードですれば良いかを求めることである。
容を割り出す(S501)。これは、現時点で、ネット
ワークの混雑状況などを勘案し、どのようなプログラム
処理をこのノードですれば良いかを求めることである。
【0066】ここでも、図8の履歴情報蓄積テーブル2
4のエントリ610−2のエントリを例に採って説明す
る。
4のエントリ610−2のエントリを例に採って説明す
る。
【0067】今、ネットワークのトラフィクを減らすた
め、3番目の周波数帯域に対して、プログラム処理をす
べきであると判定されたとする。この場合、図8のパケ
ット毎履歴情報603のエントリを見ると、3番目の周
波数帯域では、既にプログラム処理がされているという
ことなので、なにもせず、ステップ501の前の状態に
戻る。
め、3番目の周波数帯域に対して、プログラム処理をす
べきであると判定されたとする。この場合、図8のパケ
ット毎履歴情報603のエントリを見ると、3番目の周
波数帯域では、既にプログラム処理がされているという
ことなので、なにもせず、ステップ501の前の状態に
戻る。
【0068】また、別の場合として、2番目の周波数帯
域に対して、プログラム処理をすべきであると判定され
たとする。この場合、図8のパケット毎履歴情報603
のエントリを見ると、2番目の周波数帯域では、未だプ
ログラム処理はされていない。
域に対して、プログラム処理をすべきであると判定され
たとする。この場合、図8のパケット毎履歴情報603
のエントリを見ると、2番目の周波数帯域では、未だプ
ログラム処理はされていない。
【0069】したがって、この場合には、履歴情報蓄積
テーブル24の該当するエントリ610−2のパケット
毎履歴情報603の値を、「“1”,“0”,“0”,
…」に書き換える(S503)。
テーブル24の該当するエントリ610−2のパケット
毎履歴情報603の値を、「“1”,“0”,“0”,
…」に書き換える(S503)。
【0070】そして、このネットワークノードで処理す
べく、パケット処理対象フロー識別テーブル11の通信
フロー識別情報が一致するエントリのパケット転送先識
別子202が、「ルーティング手段」となっている場合
には、「フロー対応処理プログラム実行手段」に書き換
える(S504)。
べく、パケット処理対象フロー識別テーブル11の通信
フロー識別情報が一致するエントリのパケット転送先識
別子202が、「ルーティング手段」となっている場合
には、「フロー対応処理プログラム実行手段」に書き換
える(S504)。
【0071】次に、履歴情報140として、「“1”,
“0”,“0”,…」の値を持つ通信パケット100を
生成し、ルーティング手段5に転送し、次のノードにこ
の履歴情報を伝える(S505)。
“0”,“0”,…」の値を持つ通信パケット100を
生成し、ルーティング手段5に転送し、次のノードにこ
の履歴情報を伝える(S505)。
【0072】そして、最後の処理が終わると、ステップ
501に戻り、同じ処理を繰り返す。
501に戻り、同じ処理を繰り返す。
【0073】最後に、図11の順を追ってパケット種別
判定手段10の動作について説明する。
判定手段10の動作について説明する。
【0074】パケット種別判定手段10は、先ず、ネッ
トワーク2から通信パケット100を受信する(S30
1)。次に、通信パケットの種別を示すパケット種別識
別子111を読み込み(S302)、その通信パケット
100がフロー対応処理プログラム130の処理対象と
なる通信パケットであるか否かを判定する(S30
3)。
トワーク2から通信パケット100を受信する(S30
1)。次に、通信パケットの種別を示すパケット種別識
別子111を読み込み(S302)、その通信パケット
100がフロー対応処理プログラム130の処理対象と
なる通信パケットであるか否かを判定する(S30
3)。
【0075】ここで、通信パケット100がフロー対応
処理プログラム130の処理対象では無いと判定された
場合には、通信パケット100をルーティング手段5に
転送し(S304)、ステップ301に戻り次の通信パ
ケットの受信を待つ。
処理プログラム130の処理対象では無いと判定された
場合には、通信パケット100をルーティング手段5に
転送し(S304)、ステップ301に戻り次の通信パ
ケットの受信を待つ。
【0076】通信パケット100がフロー対応処理プロ
グラム130の処理対象であると判定された場合には、
パケットヘッダ部110から送信アドレス112、送信
ポート113、受信アドレス114、受信ポート115
を読み込み(S305)、ステップ306でパケット処
理対象フロー識別テーブル11の通信フロー識別情報2
01を検索し、該当するエントリ210を探す(S30
6)。
グラム130の処理対象であると判定された場合には、
パケットヘッダ部110から送信アドレス112、送信
ポート113、受信アドレス114、受信ポート115
を読み込み(S305)、ステップ306でパケット処
理対象フロー識別テーブル11の通信フロー識別情報2
01を検索し、該当するエントリ210を探す(S30
6)。
【0077】該当するエントリ210が見つからなかっ
た場合には、そのまま、通信パケット100をフロー対
応処理プログラム実行手段20に転送する(S30
7)。そして、ステップ301に戻り次の通信パケット
の受信を待つ。
た場合には、そのまま、通信パケット100をフロー対
応処理プログラム実行手段20に転送する(S30
7)。そして、ステップ301に戻り次の通信パケット
の受信を待つ。
【0078】該当するエントリ210が見つかった場
合、そのエントリのパケット転送先識別子202の内容
に従い、それが、「フロー対応処理プログラム実行手
段」のときには、フロー対応処理プログラム実行手段2
0に、パケットを転送し(S307)、「ルーティング
手段」のときには、ルーティング手段5にパケットを転
送する。
合、そのエントリのパケット転送先識別子202の内容
に従い、それが、「フロー対応処理プログラム実行手
段」のときには、フロー対応処理プログラム実行手段2
0に、パケットを転送し(S307)、「ルーティング
手段」のときには、ルーティング手段5にパケットを転
送する。
【0079】このエントリのパケット転送先識別子20
2の内容は、図9と図10で説明したアルゴリズムでし
かるべく設定されたものである。
2の内容は、図9と図10で説明したアルゴリズムでし
かるべく設定されたものである。
【0080】〔実施形態2〕次に、図12ないし図14
を用いて本発明に係る第二の実施形態について説明す
る。 (I)第二の実施形態のネットワークシステムに用いら
れるデータ構造 次に、図12および図13を用いて第二の実施形態のネ
ットワークシステムに用いられるデータ構造について説
明する。図12は、本発明の第二の実施形態に係る通信
パケット100のフォーマットを示す模式図である。図
13は、本発明の第二の実施形態に係るパケット処理対
象フロー識別テーブル11のフォーマットを示す模式図
である。
を用いて本発明に係る第二の実施形態について説明す
る。 (I)第二の実施形態のネットワークシステムに用いら
れるデータ構造 次に、図12および図13を用いて第二の実施形態のネ
ットワークシステムに用いられるデータ構造について説
明する。図12は、本発明の第二の実施形態に係る通信
パケット100のフォーマットを示す模式図である。図
13は、本発明の第二の実施形態に係るパケット処理対
象フロー識別テーブル11のフォーマットを示す模式図
である。
【0081】図12に示されるように本実施形態の通信
パケット100は、実施形態1のものとほとんど同じで
あるが、パケットヘッダ部110の最後尾に、パケット
毎履歴情報140が付け加わっている点が異なってい
る。このパケット毎履歴情報140は、プログラム実行
手段により、処理がなされたときに、その履歴として更
新されるものである。
パケット100は、実施形態1のものとほとんど同じで
あるが、パケットヘッダ部110の最後尾に、パケット
毎履歴情報140が付け加わっている点が異なってい
る。このパケット毎履歴情報140は、プログラム実行
手段により、処理がなされたときに、その履歴として更
新されるものである。
【0082】また、本実施形態のパケット処理対象フロ
ー識別テーブル11は、実施形態1と異なり、最後のフ
ィールドが、パケット毎履歴情報203となっている。
これは、通信フロー識別情報201に属する通信パケッ
トが、パケット毎履歴情報203の内容に従って処理さ
れることを示している。これにより、通信パケット10
0のパケット毎履歴情報140とマッチングを取り、そ
の転送先を決定しようとするものである。その他の構成
要素は、実施形態1の図7で示したものと同様である。
ー識別テーブル11は、実施形態1と異なり、最後のフ
ィールドが、パケット毎履歴情報203となっている。
これは、通信フロー識別情報201に属する通信パケッ
トが、パケット毎履歴情報203の内容に従って処理さ
れることを示している。これにより、通信パケット10
0のパケット毎履歴情報140とマッチングを取り、そ
の転送先を決定しようとするものである。その他の構成
要素は、実施形態1の図7で示したものと同様である。
【0083】(II)第二の実施形態のネットワークシス
テムの動作 次に、図14を用いて第二の実施形態のネットワークシ
ステムの動作について説明する。図14は、本発明の第
二の実施形態に係るパケット種別判定手段10の動作内
容を示すフローチャートである。
テムの動作 次に、図14を用いて第二の実施形態のネットワークシ
ステムの動作について説明する。図14は、本発明の第
二の実施形態に係るパケット種別判定手段10の動作内
容を示すフローチャートである。
【0084】パケット種別判定手段10は、先ず、ネッ
トワーク2から通信パケット100を受信する(S70
1)。次に、通信パケットの種別を示すパケット種別識
別子111を読み込み(S702)、その通信パケット
100がフロー対応処理プログラム130の処理対象と
なる通信パケットであるか否かを判定する(S70
3)。
トワーク2から通信パケット100を受信する(S70
1)。次に、通信パケットの種別を示すパケット種別識
別子111を読み込み(S702)、その通信パケット
100がフロー対応処理プログラム130の処理対象と
なる通信パケットであるか否かを判定する(S70
3)。
【0085】ここで、通信パケット100がフロー対応
処理プログラム130の処理対象では無いと判定された
場合には、通信パケット100をルーティング手段5に
転送し(S704)、ステップ701に戻り次の通信パ
ケットの受信を待つ。
処理プログラム130の処理対象では無いと判定された
場合には、通信パケット100をルーティング手段5に
転送し(S704)、ステップ701に戻り次の通信パ
ケットの受信を待つ。
【0086】通信パケット100がフロー対応処理プロ
グラム130の処理対象であると判定された場合には、
パケットヘッダ部110から送信アドレス112、送信
ポート113、受信アドレス114、受信ポート115
を読み込み(S705)、ステップ406でパケット処
理対象フロー識別テーブル11の通信フロー識別情報2
01を検索し、該当するエントリ210を探す(S70
6)。
グラム130の処理対象であると判定された場合には、
パケットヘッダ部110から送信アドレス112、送信
ポート113、受信アドレス114、受信ポート115
を読み込み(S705)、ステップ406でパケット処
理対象フロー識別テーブル11の通信フロー識別情報2
01を検索し、該当するエントリ210を探す(S70
6)。
【0087】該当するエントリ210が見つからなかっ
た場合には、そのまま、通信パケット100をフロー対
応処理プログラム実行手段20に転送する(S70
7)。そして、ステップ701に戻り次の通信パケット
の受信を待つ。
た場合には、そのまま、通信パケット100をフロー対
応処理プログラム実行手段20に転送する(S70
7)。そして、ステップ701に戻り次の通信パケット
の受信を待つ。
【0088】ここまでの処理は、実施形態1と同じであ
ることに注意しておこう。
ることに注意しておこう。
【0089】該当するエントリ210が見つかった場合
には、通信パケット100のパケット毎履歴情報140
を読込み(S710)、パケット処理対象フロー識別テ
ーブル11のフィールドであるパケット毎履歴情報20
3と比較する(S710)。
には、通信パケット100のパケット毎履歴情報140
を読込み(S710)、パケット処理対象フロー識別テ
ーブル11のフィールドであるパケット毎履歴情報20
3と比較する(S710)。
【0090】一致するものがあるときには、その処理
は、その通信パケットに関しておこなわれているという
ことなので、そのまま、ルーティング手段5に転送する
(S704)。
は、その通信パケットに関しておこなわれているという
ことなので、そのまま、ルーティング手段5に転送する
(S704)。
【0091】一致するものがないときには、フロー対応
処理プログラム実行手段20に、パケットを転送して
(S707)、プログラム処理をおこなう。この図14
の例では、履歴情報が一致しないときには、一律にプロ
グラム処理が必要であるとみなして、フロー対応処理プ
ログラム実行手段20に、パケットを転送している。
処理プログラム実行手段20に、パケットを転送して
(S707)、プログラム処理をおこなう。この図14
の例では、履歴情報が一致しないときには、一律にプロ
グラム処理が必要であるとみなして、フロー対応処理プ
ログラム実行手段20に、パケットを転送している。
【0092】この実施形態では、履歴情報蓄積テーブル
の処理が必要なくなるので、アルゴリズムが簡易化さ
れ、ネットワークノードの構成も簡易なもので済むとい
う利点がある。
の処理が必要なくなるので、アルゴリズムが簡易化さ
れ、ネットワークノードの構成も簡易なもので済むとい
う利点がある。
【0093】
【発明の効果】本発明によれば、各ネットワーク上のプ
ログラムノード上で通信パケットのソフトウェア処理を
おこなうプログラマブルネットワークにおいて、通信パ
ケットに対するソフトウェア処理の実行を、処理を必要
とするパケットのみに限定し、処理を必要としないパケ
ットについては、ソフトウェア処理を介することなくル
ーティング専用プロセッサを用い、それにより、通信速
度を向上させ、ネットワークシステムのスループットを
向上させることのできるプログラマブルネットワークを
提供することができる。
ログラムノード上で通信パケットのソフトウェア処理を
おこなうプログラマブルネットワークにおいて、通信パ
ケットに対するソフトウェア処理の実行を、処理を必要
とするパケットのみに限定し、処理を必要としないパケ
ットについては、ソフトウェア処理を介することなくル
ーティング専用プロセッサを用い、それにより、通信速
度を向上させ、ネットワークシステムのスループットを
向上させることのできるプログラマブルネットワークを
提供することができる。
【図1】本発明の一実施形態に係るプログラマブルなネ
ットワークシステムのネットワークノードの構成を示す
ブロック図である。
ットワークシステムのネットワークノードの構成を示す
ブロック図である。
【図2】本発明の一実施形態に係るプログラマブルなネ
ットワークシステムのシステム構成とその動作を説明す
るためのブロック図である。
ットワークシステムのシステム構成とその動作を説明す
るためのブロック図である。
【図3】本発明の第一の実施形態に係る通信パケット1
00のフォーマットを示す模式図である。
00のフォーマットを示す模式図である。
【図4】図3の通信パケット100で通信データ120
が、フロー対応処理プログラムであるときのフォーマッ
トを示す模式図である。
が、フロー対応処理プログラムであるときのフォーマッ
トを示す模式図である。
【図5】図3の通信パケット100で通信データ120
が、履歴情報140であるときのフォーマットを示す模
式図である。
が、履歴情報140であるときのフォーマットを示す模
式図である。
【図6】本発明の一実施形態に係る履歴情報140のフ
ォーマットを示す模式図である。
ォーマットを示す模式図である。
【図7】本発明の第一の実施形態に係るパケット処理対
象フロー識別テーブル11のフォーマットを示す模式図
である。
象フロー識別テーブル11のフォーマットを示す模式図
である。
【図8】履歴情報蓄積テーブル24のフォーマットを示
す模式図である。
す模式図である。
【図9】本発明の第一の実施形態に係るフロー対応処理
プログラム実行手段20内の通信パケット送受信手段2
0の動作内容を示すフローチャートである。
プログラム実行手段20内の通信パケット送受信手段2
0の動作内容を示すフローチャートである。
【図10】本発明の第一の実施形態に係るフロー対応処
理プログラム実行手段20内の履歴情報更新手段22の
動作内容を示すフローチャートである。
理プログラム実行手段20内の履歴情報更新手段22の
動作内容を示すフローチャートである。
【図11】本発明の第一の実施形態に係るパケット種別
判定手段10の動作内容を示すフローチャートである。
判定手段10の動作内容を示すフローチャートである。
【図12】本発明の第二の実施形態に係る通信パケット
100のフォーマットを示す模式図である。
100のフォーマットを示す模式図である。
【図13】本発明の第二の実施形態に係るパケット処理
対象フロー識別テーブル11のフォーマットを示す模式
図である。
対象フロー識別テーブル11のフォーマットを示す模式
図である。
【図14】本発明の第二の実施形態に係るパケット種別
判定手段10の動作内容を示すフローチャートである。
判定手段10の動作内容を示すフローチャートである。
1…ネットワークノード、2…ネットワーク、3…ネッ
トワーク入力インタフェース、4…ネットワーク出力イ
ンタフェース、5…ルーティング手段、10…パケット
種別判定手段、11…パケット処理対象フロー識別テー
ブル、20…フロー対応処理プログラム実行手段、21
…通信パケット送受信手段、22…履歴情報更新手段、
23…パケット処理対象フロー識別テーブル設定手段、
24…履歴情報蓄積テーブル、100…通信パケット、
110…パケットヘッダ部、120…パケットデータ
部、130…フロー対応処理プログラム、140…履歴
情報。
トワーク入力インタフェース、4…ネットワーク出力イ
ンタフェース、5…ルーティング手段、10…パケット
種別判定手段、11…パケット処理対象フロー識別テー
ブル、20…フロー対応処理プログラム実行手段、21
…通信パケット送受信手段、22…履歴情報更新手段、
23…パケット処理対象フロー識別テーブル設定手段、
24…履歴情報蓄積テーブル、100…通信パケット、
110…パケットヘッダ部、120…パケットデータ
部、130…フロー対応処理プログラム、140…履歴
情報。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 生澤 満 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 三村 到 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 亀山 達也 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内
Claims (4)
- 【請求項1】 ネットワーク上で定義される通信フロー
毎に対応して、プログラムがロードされ、そのプログラ
ムにより、その通信フローに属する通信パケットに対
し、ネットワークノード上でプログラム処理をおこなう
プログラマブルネットワークにおいて、 前記ネットワークノードは、 前記プログラムを実行するプログラム実行手段と、 入力パケットの送出先を割り出してルーティング処理を
おこなうルーティング手段と、 ネットワーク入力インタフェースとを有し、 このネットワーク入力インタフェースには、入力パケッ
トの種別を判定するパケット種別判定手段を設け、 このパケット種別判定手段は、 このネットワークノードに通信パケットが到着すると、 前記プログラムの処理対象とする通信フローに属する通
信パケットのみをプログラム実行手段に転送し、 それ以外の通信パケットは、前記ルーティング手段に転
送することを特徴とするプログラマブルネットワーク。 - 【請求項2】 前記パケット種別判定手段は、さらに、 その通信フローの通信経路上の他のネットワークノード
によって、既に実行されている処理内容の履歴情報を保
持する履歴情報蓄積手段と、 前記ネットワークノード間で処理内容の履歴情報を通知
する手段とを有し、 このパケット種別判定手段は、 このネットワークノードに通信パケットが到着すると、 前記履歴情報蓄積手段を参照し、 その通信パケットに属する通信フローに対して、このネ
ットワークノードで実行されるプログラムが既に実行さ
れていない場合のみ、その通信パケットを前記プログラ
ム実行手段に転送し、 それ以外の場合には、前記ルーティング手段に転送する
ことを特徴とする請求項1記載のプログラマブルネット
ワーク。 - 【請求項3】 このプログラマブルネットワークに用い
られる各通信パケットに対し、ネットワーク経路上で既
に実行されている処理内容の履歴情報を保持するフィー
ルドを設け、 前記ネットワークノード上で、プログラム処理をおこな
った際に、前記フィールドを更新し、 前記パケット種別判定手段は、 そのネットワークノードに通信パケットが到着すると前
記フィールドを参照し、 その通信パケットに属する通信フローに対して、このネ
ットワークノードで実行されるプログラムが既に実行さ
れていない場合のみ、その通信パケットを前記プログラ
ム実行手段に転送し、 それ以外の場合には、前記ルーティング手段に転送する
ことを特徴とする請求項1記載のプログラマブルネット
ワーク。 - 【請求項4】 前記パケット種別判定手段を、前記ルー
ティング手段の中に設け、 このルーティング手段は、前記ネットワーク入力インタ
フェースから通信パケットを受け取ると、そのプログラ
ムの処理対象となる通信フローに属する通信パケットの
みを前記プログラム実行手段に転送することを特徴とす
る請求項1ないし請求項3記載のいずれかのプログラマ
ブルネットワーク。
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10254228A JP2000092118A (ja) | 1998-09-08 | 1998-09-08 | プログラマブルネットワーク |
| CA002281321A CA2281321A1 (en) | 1998-09-08 | 1999-09-03 | Programmable network |
| KR1019990037271A KR20000022897A (ko) | 1998-09-08 | 1999-09-03 | 프로그래머블 네트워크 |
| EP99117384A EP0986220A3 (en) | 1998-09-08 | 1999-09-03 | Programmable data network |
| US09/391,404 US6262983B1 (en) | 1998-09-08 | 1999-09-08 | Programmable network |
| US09/626,391 US6259690B1 (en) | 1998-09-08 | 2000-07-26 | Programmable network |
| US09/880,121 US6333933B2 (en) | 1998-09-08 | 2001-06-14 | Programmable network |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10254228A JP2000092118A (ja) | 1998-09-08 | 1998-09-08 | プログラマブルネットワーク |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000092118A true JP2000092118A (ja) | 2000-03-31 |
Family
ID=17262051
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10254228A Pending JP2000092118A (ja) | 1998-09-08 | 1998-09-08 | プログラマブルネットワーク |
Country Status (5)
| Country | Link |
|---|---|
| US (3) | US6262983B1 (ja) |
| EP (1) | EP0986220A3 (ja) |
| JP (1) | JP2000092118A (ja) |
| KR (1) | KR20000022897A (ja) |
| CA (1) | CA2281321A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008541605A (ja) * | 2005-05-11 | 2008-11-20 | ウィズネット インコーポレーテッド | 埋め込み型システムのための高速データ処理・通信方法及び装置 |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2339368A (en) * | 1998-07-08 | 2000-01-19 | Ibm | Data communications protocol with efficient packing of datagrams |
| JP2000092118A (ja) * | 1998-09-08 | 2000-03-31 | Hitachi Ltd | プログラマブルネットワーク |
| JP3645735B2 (ja) * | 1999-02-24 | 2005-05-11 | 株式会社日立製作所 | ネットワーク中継装置及びネットワーク中継方法 |
| US6604147B1 (en) * | 2000-05-09 | 2003-08-05 | Lucent Technologies Inc. | Scalable IP edge router |
| US7075926B2 (en) * | 2000-05-24 | 2006-07-11 | Alcatel Internetworking, Inc. (Pe) | Programmable packet processor with flow resolution logic |
| WO2002078365A1 (en) * | 2001-03-21 | 2002-10-03 | Pelago Networks, Inc. | Programmable network service node |
| US7246173B2 (en) * | 2001-04-16 | 2007-07-17 | Nokia Corporation | Method and apparatus for classifying IP data |
| US20020188732A1 (en) * | 2001-06-06 | 2002-12-12 | Buckman Charles R. | System and method for allocating bandwidth across a network |
| US7095715B2 (en) * | 2001-07-02 | 2006-08-22 | 3Com Corporation | System and method for processing network packet flows |
| US20030033519A1 (en) * | 2001-08-13 | 2003-02-13 | Tippingpoint Technologies,Inc. | System and method for programming network nodes |
| US7142509B1 (en) * | 2001-09-12 | 2006-11-28 | Extreme Networks | Method and apparatus providing for delivery of streaming media |
| AUPR893201A0 (en) * | 2001-11-16 | 2001-12-13 | Telstra New Wave Pty Ltd | Active networks |
| US7239639B2 (en) * | 2001-12-27 | 2007-07-03 | 3Com Corporation | System and method for dynamically constructing packet classification rules |
| US7650634B2 (en) * | 2002-02-08 | 2010-01-19 | Juniper Networks, Inc. | Intelligent integrated network security device |
| US7512129B1 (en) * | 2002-02-19 | 2009-03-31 | Redback Networks Inc. | Method and apparatus for implementing a switching unit including a bypass path |
| DE60210576T2 (de) * | 2002-04-03 | 2007-02-15 | Alcatel | Verfahren und Vorrichtungen zur Umordnung von Paketen in einem Netzwerkprozessor |
| EP1365546B1 (en) * | 2002-05-21 | 2005-12-14 | Hitachi Europe Limited | Programmable network node for performing multiple processes |
| KR100497357B1 (ko) * | 2002-06-26 | 2005-06-23 | 삼성전자주식회사 | 인터넷 프로토콜 기반 네트워크 환경에 있어서 헤더 압축및 패킷 다중화 장치와 그 방법 |
| KR100560424B1 (ko) * | 2003-11-05 | 2006-03-13 | 한국전자통신연구원 | 접근이 제한되는 고비도 검증키를 갖는 변형된 디지털서명을 이용한 안전한 프로그래머블 패킷 전송 방법 |
| IL163092A (en) * | 2004-07-19 | 2010-11-30 | Veraz Networks Ltd | Processing of packets forwarded in communication networks |
| JP4597705B2 (ja) * | 2005-02-25 | 2010-12-15 | パナソニック株式会社 | 情報処理システム、情報処理装置、サーバ装置、及び情報処理方法 |
| JP4514623B2 (ja) * | 2005-02-25 | 2010-07-28 | パナソニック株式会社 | 情報処理システム、情報処理装置、サーバ装置、及び情報処理方法 |
| US7889734B1 (en) * | 2005-04-05 | 2011-02-15 | Oracle America, Inc. | Method and apparatus for arbitrarily mapping functions to preassigned processing entities in a network system |
| JP4665639B2 (ja) * | 2005-07-19 | 2011-04-06 | 日本電気株式会社 | 通信品質監視システム、通信品質監視装置、通信品質劣化箇所特定装置、その装置における方法及びプログラム |
| US7746862B1 (en) * | 2005-08-02 | 2010-06-29 | Juniper Networks, Inc. | Packet processing in a multiple processor system |
| US8028337B1 (en) | 2005-08-30 | 2011-09-27 | Sprint Communications Company L.P. | Profile-aware filtering of network traffic |
| US8204974B1 (en) * | 2005-08-30 | 2012-06-19 | Sprint Communications Company L.P. | Identifying significant behaviors within network traffic |
| US10554534B1 (en) | 2005-09-23 | 2020-02-04 | Chicago Mercantile Exchange Inc. | Clearing message broker system messaging gateway |
| US8149732B1 (en) * | 2005-09-23 | 2012-04-03 | Chicago Mercantile Exchange, Inc. | Clearing message broker system |
| US9325951B2 (en) | 2008-03-03 | 2016-04-26 | Avigilon Patent Holding 2 Corporation | Content-aware computer networking devices with video analytics for reducing video storage and video communication bandwidth requirements of a video surveillance network camera system |
| JP5307792B2 (ja) * | 2010-12-24 | 2013-10-02 | 株式会社エヌ・ティ・ティ・ドコモ | 通信制御システム及び通信制御方法 |
| KR101883892B1 (ko) * | 2011-10-13 | 2018-08-01 | 한국전자통신연구원 | 통신 시스템에서 데이터 송수신 장치 및 방법 |
| US10341241B2 (en) * | 2016-11-10 | 2019-07-02 | Hughes Network Systems, Llc | History-based classification of traffic into QoS class with self-update |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0715609A (ja) | 1993-06-17 | 1995-01-17 | Toshiba Corp | 画像伝送方法並びに画像送信装置、画像受信装置および画像伝送装置 |
| US5619501A (en) * | 1994-04-22 | 1997-04-08 | Thomson Consumer Electronics, Inc. | Conditional access filter as for a packet video signal inverse transport system |
| US5563648A (en) * | 1994-04-28 | 1996-10-08 | Thomson Consumer Electronics, Inc. | Method for controlling execution of an audio video interactive program |
| US5473609A (en) * | 1994-05-26 | 1995-12-05 | Thomson Consumer Electronics, Inc. | Method and apparatus for processing a conditional access program guide as for a satellite TV service |
| US5666293A (en) * | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
| JP3420664B2 (ja) * | 1995-12-20 | 2003-06-30 | 株式会社東芝 | パケット送信ノード装置、パケット受信ノード装置及びコネクション設定方法 |
| US6188689B1 (en) * | 1996-10-04 | 2001-02-13 | Kabushiki Kaisha Toshiba | Network node and method of frame transfer |
| US6172990B1 (en) * | 1997-06-19 | 2001-01-09 | Xaqti Corporation | Media access control micro-RISC stream processor and method for implementing the same |
| US6389023B1 (en) * | 1997-04-07 | 2002-05-14 | Kabushiki Kaisha Toshiba | Router device and frame transfer method using datalink layer frame switching |
| US5956721A (en) * | 1997-09-19 | 1999-09-21 | Microsoft Corporation | Method and computer program product for classifying network communication packets processed in a network stack |
| JP2000092118A (ja) * | 1998-09-08 | 2000-03-31 | Hitachi Ltd | プログラマブルネットワーク |
-
1998
- 1998-09-08 JP JP10254228A patent/JP2000092118A/ja active Pending
-
1999
- 1999-09-03 KR KR1019990037271A patent/KR20000022897A/ko not_active Withdrawn
- 1999-09-03 EP EP99117384A patent/EP0986220A3/en not_active Withdrawn
- 1999-09-03 CA CA002281321A patent/CA2281321A1/en not_active Abandoned
- 1999-09-08 US US09/391,404 patent/US6262983B1/en not_active Expired - Fee Related
-
2000
- 2000-07-26 US US09/626,391 patent/US6259690B1/en not_active Expired - Fee Related
-
2001
- 2001-06-14 US US09/880,121 patent/US6333933B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008541605A (ja) * | 2005-05-11 | 2008-11-20 | ウィズネット インコーポレーテッド | 埋め込み型システムのための高速データ処理・通信方法及び装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6259690B1 (en) | 2001-07-10 |
| US20010028650A1 (en) | 2001-10-11 |
| EP0986220A2 (en) | 2000-03-15 |
| US6262983B1 (en) | 2001-07-17 |
| CA2281321A1 (en) | 2000-03-08 |
| KR20000022897A (ko) | 2000-04-25 |
| US6333933B2 (en) | 2001-12-25 |
| EP0986220A3 (en) | 2002-08-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2000092118A (ja) | プログラマブルネットワーク | |
| US6947430B2 (en) | Network adapter with embedded deep packet processing | |
| EP4009593A1 (en) | Data transmission method and apparatus, network card and storage medium | |
| CN100552626C (zh) | 用网络栈同步和上载已卸载网络栈连接的方法 | |
| US20060221974A1 (en) | Method and apparatus for dynamic load balancing over a network link bundle | |
| US10701190B2 (en) | Efficient parsing of optional header fields | |
| EP0748141A2 (en) | Congestion control system and method for packet switched networks providing max-min fairness | |
| CN113691589A (zh) | 报文传输方法、装置及系统 | |
| US7664112B2 (en) | Packet processing apparatus and method | |
| US7174394B1 (en) | Multi processor enqueue packet circuit | |
| CN117478709A (zh) | 工业控制设备、工业控制系统及其操作方法 | |
| US6976149B1 (en) | Mapping technique for computing addresses in a memory of an intermediate network node | |
| US7245615B1 (en) | Multi-link protocol reassembly assist in a parallel 1-D systolic array system | |
| CN114793217B (zh) | 智能网卡、数据转发方法、装置及电子设备 | |
| US8467390B2 (en) | Method and system for network stack tuning | |
| Xuan et al. | Distributed admission control for anycast flows with QoS requirements | |
| JP2003158544A (ja) | プログラマブル・ネットワーク・ルータ兼スイッチのための方法および装置 | |
| US20090316726A1 (en) | Apparatus and method for data transmission | |
| JP3252831B2 (ja) | Atmにおけるipパケットルーティングプロセッサの分散処理方法及びその装置 | |
| KR20010038486A (ko) | 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법 | |
| CN110661731B (zh) | 一种报文处理方法及其装置 | |
| US7532644B1 (en) | Method and system for associating multiple payload buffers with multidata message | |
| US7133931B1 (en) | Method and system for making a frame alteration in a network processing system | |
| US20050044261A1 (en) | Method of operating a network switch | |
| JP3693594B2 (ja) | ルータ装置 |