JP3973533B2 - 多数の処理を実行するプログラム可能ネットワークノード構造 - Google Patents

多数の処理を実行するプログラム可能ネットワークノード構造 Download PDF

Info

Publication number
JP3973533B2
JP3973533B2 JP2002300287A JP2002300287A JP3973533B2 JP 3973533 B2 JP3973533 B2 JP 3973533B2 JP 2002300287 A JP2002300287 A JP 2002300287A JP 2002300287 A JP2002300287 A JP 2002300287A JP 3973533 B2 JP3973533 B2 JP 3973533B2
Authority
JP
Japan
Prior art keywords
data
processing
section
database
network
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.)
Expired - Fee Related
Application number
JP2002300287A
Other languages
English (en)
Other versions
JP2003338834A (ja
Inventor
敏明 鈴木
デナズイス・スピロス
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 JP2003338834A publication Critical patent/JP2003338834A/ja
Application granted granted Critical
Publication of JP3973533B2 publication Critical patent/JP3973533B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/604Hybrid IP/Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Description

【0001】
【発明の属する技術分野】
本発明は、データ上で多重処理を実行するためのプログラム可能ネットワークノード構造、およびインターネット等のIP/TCP(伝送制御プロトコル)を利用するネットワークへの特別であるが排他的でない応用に関する。
【0002】
【従来の技術】
従来、ネットワークデータ通信においてデータはインターネット等のネットワークの送信側から、データ上で所定の不変処理を実行するルータ等のネットワークノードを介して受信側に送信される。ノードが2つ以上の処理サービスを実行すべきであるということが提案されており、「ANTS: A Toolkit for Building and Dynamically Deploying Network Protocols」http://www.tns.lcs.mit.edu/publications/openarch98.htmlでは、ルータ等のノード内に幾つかのプログラムをインストールし、種々のサービスを動的に実行することによって、ネットワークに2つ以上のサービスをインストールすることが提案されている。このプログラム可能ネットワークでは、ノード内に利用者が使用することを望んでいるプログラムをインストール後、利用者はプログラム可能ネットワーク内にパケットを送信する。パケットがプログラム可能ノードに到達すると、利用者がインストールしたプログラムはノードにおいてパケットを処理する。添付図面の図33が、入力ポート901、分類セクション902、処理モジュール903〜905および出力ポート906からなるそのような従来のノード900の例を示している。ノード900は単一処理の要求を含むパケットデータを入力ポート901で受信する。受信されたパケットデータが分類セクション902に移され、分類セクションは受信したパケットデータをパケットデータ内の処理要求に基づく適切な処理モジュールに転送する。例えば、パケットデータがウイルスチェッキング処理の要求を含む場合、パケットデータはウイルスチェッキング処理を実行する処理モジュール903に伝送される。パケットデータが暗号化処理の要求を含む場合、パケットデータは暗号化処理を実行する処理モジュール904に伝送される。パケットデータがウイルスチェッキングおよび暗号化処理の両方の要求を含む場合、パケットデータはウイルスチェッキング処理に続いて暗号化処理を実行する処理モジュール905に伝送される。処理モジュールのそれぞれは単一処理を実行後、パケットデータを出力ポート906に伝送する。次にパケットデータは出力ポート906によってネットワーク内に伝送される。このノードでは、単一の実行だけが各処理モジュールによってパケットデータ上で実行される。例えば、処理モジュールはウイルスチェッキング処理を提供するだけであり、それはデータ上のモジュール内で一度だけ実行される。ウイルスチェッキングおよび暗号化等の2つの処理が実行されたとき、1つのモジュール内に2つの処理を含むプログラム構造をインストールする必要がある。
【0003】
したがって、異なるモジュール内に同じプログラムが重複して提供される必要があるためノードのリソースは不必要に消耗され、モジュール内で利用可能な処理の組合せや順列を利用者は使用することができない。したがって、従来のノードにおける処理の柔軟性は非常に制限される。
【0004】
多重処理への別のアプローチが、Decasper, D., Dittia, Z., Parulkar, G.,Plattner, B., “Routers Plugins A Software Architecture for Next Generation Routers ICCC/ACM Transaction on Networking, February 2000 (http://www.acrn.org/sigcomm/sigcomm98/tp/paper19.pdf)、さらにDecasper, D., Dittia, Z., Parulkar, G.,Plattner, B., “Router Plugins A Modular and Extensible Software Framework for Modern High Performance Integrated Services Router Washington University Tech Report WUCS-98-08, February 1998 (http://www.arl.wustl.edu/~dan/papers/router_plugins.pdf)(やはりACM SIGCOMM '98会議で提出された)に述べられている。この構造では、データベース内のデータに基づき、データパケット用のルーチングデータに従って選択された多重処理のインスタンスを使用してデータパケットの多重処理が実行される。データパケットのヘッダー内のルーチングデータは、データ上のノードで実行される多重処理を決定するのに利用される。したがって処理は、特定のルートに沿って送信された全てのデータが同一の処理を受けるであろうという想定のもとに実行され、それは柔軟的でなく不便であろう。
【0005】
別のアプローチがFeldmeier, D., McAuley, A., Smith, J., Bakin, D., Marcus, W., Raleigh, T., “Protocol Boosters IEEE JSAC April, 1998. (http://www.cis.upenn.edu/~boosters/)によって述べられている。
【0006】
さまざまな処理の選択に関して幾つかのアプローチが開発されており、参照として挙げるならTschudin, C., “Active Ad-hoc Networking (http://www.docs.uu.se/~tschudin/pub/cft-1999-kth.pdf); Stiller, B., Class, C., Waldvogel, M., Caronni, G., Bauer, D., “A Flexible Middleware for Multimedia Communication: Design, Implementation, and Experience IEEE Journal on Selected Area In Communication, Vol.17, No.9, pages 1580-1598, September, 1999. (http://olymp.org/~caronni/work/papers/JSAC-dacapo.pdf); およびWolf, T., Decasper, D., Tschudin, Ch., “Tags for High Performance Active Networks In Proceedings of OpenArch 2000, April 2000 (http://www.docs.uu.se/~tschudin/pub/cft-2000-tan.pdf)がある。
【0007】
やはり、先行技術に関して、関数のための関連付けの処理概念とそのインバースとを以下の参考文献に見ることができる。Keller, R., Ramamirtham, J., Wolf, T., Plattner, B., “Active Pipes: Service Composition for Programmable Networks, Milcom 2001, 2001 (http://ccrc.wustl.edu/~wolf/papers/active_pipes.pdf)”。
【0008】
【発明が解決しようとする課題】
本発明は多重処理を実行する改良された、より一層柔軟な方法を提供する。
【0009】
【課題を解決するための手段】
本発明により、ネットワークルータブルデータ上で多重処理を実行するためにネットワークで使用されるネットワークノード構造であって、多数の処理モジュールと、処理モジュールにデータを選択的に向かわせて多数の処理を順次実行するコントローラとからなるものにおいて、この構造が、モジュールによってデータ上で実行される利用者選択処理に対応するルータブルデータ内の処理コードデータを検出し、この検出された処理コードデータに基づいて利用者選択処理が処理モジュールによって実行される順番を決定する順序データを提供するように動作可能であるネットワークノード構造が提供される。このノード構造は、順序データを含むオーダリングデータベースと、ルータブルデータ内の処理コードデータに基づいてデータベースから順序データを決定する順序決定構造とを含むことができる。
【0010】
ノード構造は、ノードに結合された送信側利用者端末と関連して、ネットワークの送信側で使用するためのノードとして構成することができる。
【0011】
オーダリングデータベースはノード自体または利用者端末内とすることができる。
【0012】
処理分類データベースは利用者端末に含まれ、利用者によって選択された個々の処理に対応する処理コードデータを提供することができる。
【0013】
またノード構造は多重処理されることになるルータブルデータを多重処理を必要としないルータブルデータと共に受信することができ、ルータブルデータを分類するデータを入れておくための分類データベースは、多重処理を必要とするデータだけを処理モジュールに向かわせるように使用することができる。
【0014】
処理モジュールは、それらが実行する処理のインバースに対応するデータを提供し、インバースデータとそれらが実行した処理の結果からなるデータとを関連付けてネットワークの受信側にルーチングするように構成することができる。
【0015】
ノードはまたネットワークの受信側で使用するように構成することができ、受信側端末はノードによって処理されたデータを受信するようにノードに結合することができる。ノードはネットワークを介してルーチングされたデータを受信することができ、それは送信側ノードで実行された多重処理に対応するデータを含み、受信側ノードで実行された処理に対してのインバースである多重処理を実行するように構成される。
【0016】
【発明の実施の形態】
サービスプロバイダは前記データベースまたは前記データベースのそれぞれにデータを供給するのに利用することができ、それらを更新することを可能にする。
【0017】
本発明をより完全に理解するために、その実施形態を添付図面をもとに例示する。
【0018】
本発明の以下の実施形態において、データはネットワークを介して送信側利用者端末から受信側端末に、選択可能な多重処理が個々にプルグラム可能な順序で実行される各ネットワークノードを介して送信される。
【0019】
(第1実施形態)
システムの送信側は図1に示されており、端末1とネットワークノード2とからなる。受信側は図8に示されており、受信側ネットワークノード3と受信者端末4とからなる。
【0020】
図1に示すごとく、端末1はIP(インターネットプロトコル)ネットワークの一部等のアクセス回線を経由してネットワークノード2に接続されている。またノード2はIPネットワーク等の外部ネットワークに接続されている。利用者端末1は入力セクション10、伝送コントローラ11、データベース(A)12、データ記憶セクション13および出力ポート14を含む。ネットワークノード2は入力ポート20、要求分析セクション21、順序決定セクション22、データベース(B)23、内部ヘッダー制御セクション24、ルーチングセクション25、処理モジュール(1〜n)26〜29および出力ポート30を含む。種々の構成要素の機能性が個々の回路部品または単数または複数のプログラム済みマイクロプロセッサによって提供されうることは理解されるだろう。例えば、処理モジュール(1〜n)26〜29は個々のメモリを備えた個々のマイクロプロセッサを含むことができ、これらのメモリは多重処理を実現する個々の処理を実行するためのそれぞれのプログラムを含む。そのプログラムはサービスプロバイダからダウンロードするか、もしくはセットアップして、スタート前に望ましい機能性を提供することができる。
【0021】
図1の送信側システムの動作をこれから詳細に記述していく。初めに、利用者5は入力セクション10を使用して、受信者4に送信されるデータを、実行される多重処理と共に選択する。多重処理はネットワークノード2において選択済みデータ上で実行されることになる。一例として、利用者5は選択済みデータ上で実行される多重処理の個々の構成要素として暗号化およびウイルスチェックを選択することができる。利用者は個々の処理が実行される順序を特定せず、システムが自動的にその順序を決定する。特定の順序が要求される場合は以下に明らかにする。
【0022】
そして伝送コントローラ11は利用者5によって選択された処理用の処理コードPを獲得する。処理コードはデータベース(A)に記憶され、それが図2に示されている。サービスプロバイダ6は予めデータベース(A)内にコードをダウンロードしており、またサービスプロバイダ6が新しいサービスをインストールするとデータベース(A)12は更新される。この例では利用者5は多重処理に暗号化とウイルスチェッキングとを選択しているので、関連する処理コードは図2に示すごとくそれぞれP−1とP−2とである。
【0023】
そして、伝送コントローラ11はデータ記憶セクション13にアクセスし、利用者5が受信者4に送信することを望んでいるデータを読み込む。利用者5はスタート前にデータをデータ記憶セクション13に記憶する。
【0024】
処理されるデータを読み込んだ後、伝送コントローラ11は図3に示されたデータパッケージ40をアセンブルする。データパッケージ40はIP/TCP(伝送制御プロトコル)ヘッダーデータ100、多重処理ドラフトヘッダーデータ41および処理されることになるデータ42とからなる。詳細には、IP/TCPヘッダーデータ100はルーチングデータを含み、それは送信者用IPアドレス、受信者のIPアドレス、送信者用ポート番号、受信者のポート番号等からなる。ヘッダー100用のルーチングデータの選択は、利用者によって従来の仕方で実行することができるがここでは詳細には述べない。多重処理ヘッダーデータ41は、数データ43、順列/組合せデータ44、実行済み処理数データ45および個々の処理要求に対応する個々の処理コードデータ46、47とからなる。数データ43は1バイトからなり、処理が幾つ要求されているのかを表す。この例では利用者は2つの処理、すなわち暗号化とウイルスチェックとを選択しているので、数データ43は2の値を有する。順列/組合せデータ44は1バイトからなり、多重処理のための特定の順序の有無を表す。この段階ではデータ44は特定の順列または組合せを何ら示しておらず、ゼロ等のデフォルト値を有する。データ44はネットワークノード2において処理がスタートされる前に提供されるだろう。実行済み処理数45は1バイトからなり、処理が幾つ実行されたのかを示す。この時点では、実行されている処理はないので、このデータ45はゼロに設定される。後で詳説するが、このデータ値は各処理がノード2の処理モジュールにおいて実行された後に変更されるだろう。数データ43の値は46、47等の処理要求データの数に対応する。処理要求データはそれぞれ1データバイトからなる。この例では2つの処理データ要求が存在するので、数データの値は2である。利用者5が暗号化およびウイルスチェックの処理を選択すると、データ46とデータ47は図2に示されたデータベース(A)の表によりそれぞれ1の値と2の値を有するように設定される。伝送コントローラ11はデータパッケージ40をアセンブルした後、そのパッケージ40をIPデータパケットとして出力ポート14を介してネットワークノード2に送信する。
【0025】
次にネットワークノード2の動作を記述していく。データパッケージ40は入力ポート20によって受信され、要求分析セクション21に転送される。要求分析セクション21は処理要求に関して図3に示されているヘッダーデータ41を引き出し、そのデータを順序決定セクション22に転送する。順序決定セクション22は利用者によって要求されている多重処理の順序をデータベース(B)23を参照して決定する。データベース(B)23内のデータは図4に示されており、システムをスタートさせる前にサービスプロバイダ6によってその中に記憶される。加えて、データベース(B)は新しいサービスがシステムにインストールされることになった場合、サービスプロバイダ6によって更新することができる。データベース(B)は3つのカラムを有する。1番目の左側のカラムは処理コードPを示す。2番目の真ん中のカラムは処理コードPに対応して処理を実行するように割り当てられたモジュール26〜29用のモジュールポートMを示す。3番目の右側のカラムは処理の順序を示す。処理の順序がない場合、処理順序の値はゼロに設定される。
【0026】
図5は順序決定セクション22によって実行される動作を示す。順序決定セクション22は要求分析セクション21から受信するヘッダーデータ41上で動作する。初めに、順序決定セクション22は処理コードPの値をデータベース(B)内のデータに従って対応するモジュールポート値Mに変換する。より詳細には、処理コードP−1はデータ48に関するモジュールポートM−1に対応し、P−2はデータ49に関するM−2に対応する。そして順序決定セクション22はデータベース(B)23を参照し、要求済された処理毎に順序値を求める。この例では、利用者5がポートM−1およびM−2に送信される予定になっている2つの処理を要求しており、したがって図4を参照すると、対応する順序値がO−4およびO−1であり、O−4およびO−1の実値が4および1であることがわかる。ゼロではない少なくとも1つの順序値が存在する場合、順序決定セクション22は降順値Oに従って処理順序をソートする。すべての順序値が同じ場合、順序セクションは処理順序をソートしないが、以下でより詳細に説明するように、組合せデータ44の適切な値を選択する。この例では、O−4およびO−1の値が両方とも非ゼロの値を有するので、順序決定セクション22はデータベース(B)23内のM−1およびM−2の順序値に応じてそれらの順序を変更する。特に、データ48に対応する低い方の順序値はデータ57を形成し、データ49と関連する高い方の順序値はデータ56を形成して図5に示すごとくデータ57よりも前に位置する。
【0027】
加えて、データ44の値が選択される。この例では、処理の特定の順序が存在するので、順列に対応するデータ44の値がデータ54の値として選択される。1という値は順列を表し、2という値は組合せを表す。したがって、処理はモジュールポートM−2、次いでM−1の順序で実行することができる。データ53およびデータ55の値はそれぞれデータ43およびデータ45の値と同じである。
【0028】
したがって、上記のごとく順序決定セクション22が多重処理の順序を決定すると新しいヘッダー51が生成されうる。順序決定セクション22は新しいヘッダー51用のデータを内部ヘッダー制御セクション24に送信し、また、この内部ヘッダー制御セクションは要求分析セクション21からデータ40を受信する。そして、内部ヘッダー制御セクション24は図3に示されたデータ41を図5に示されたデータ51に置き換える。その後、内部ヘッダー制御セクション24はデータ100、データ51およびデータ42をルーチングセクション25に伝送する。
【0029】
図6Aはルーティンセクション25によって受信されたデータ100、データ51およびデータ42を示す。初めは、ルーチングセクション25は数データ53の値と実行済み処理数データ55の値とからなる。両方の値が同じである場合、ルーチングセクション25はデータ100、データ51およびデータ42をネットワークを介して出力ポート30を経由して受信者4に送信する。値が異なる場合、ルーチングセクション25はデータ53の値とデータ55の値との間の差を計算する。データ53とデータ55との間の差の値は、実行されたままである処理の数を表す。各処理が実行された後、ルーチングセクション25はデータ55の値を現在の値に1を加えたものに計算する。
【0030】
ルーチングセクション25はデータ55の場所からデータ55に1を加えることによって指示されるデータをチェックする。たとえば、データ55に1を加えた値が1に等しい場合、ルーチングセクション25はデータ55から第1データ56をチェックする。そして、ルーチングセクション25はモジュールポートデータ56によって確認された処理モジュールにデータ100、データ51およびデータ42を送信する。最初は、実行済み処理データ55の値はゼロに等しい。したがってデータ55に1を加えた値は1に等しい。そしてルーチングセクション25はモジュールポートデータ56の値をチェックする。データ56の値はモジュールポート2に対応する。したがって、ルーチングセクション25はデータ100、データ51およびデータ42を図1に示された処理モジュール(2)27に送信する。そして、処理モジュール(2)27はその予めロード済みのプログラムによりデータ42を処理し、新しいデータ61を生成する。この例では、ウイルスチェッキングプログラムは処理モジュール(2)27内に予めインストール済みである。
【0031】
処理モジュール(2)27は図6Bに示すごとくデータ56をデータ66に置き換える。送信側で種々のモジュールによって実行される処理は受信側でインバースマナーで実行され、処理済みデータ、例えば送信側での暗号化および受信側でのインバース復号化をリカバーすることができ、適切なインバースコードIはインバース計算が後で受信側で実行されるようにすることができるように図7に示すごとくデータに割り当てられる。やはり、既に説明したように、処理モジュール(2)27はデータ55の値をデータ55に1を加えたデータ62の値に置き換える。そして処理モジュール(2)27はデータ100、データ71およびデータ61をルーチングセクション25に返送する。
【0032】
ルーチングセクション25はしたがって図6Bに示されたデータ100、データ71およびデータ61を受信する。そしてその手順は繰り返される。こうして、ルーチングセクション25はデータ62に1を加えることによって指示されるデータをチェックする。この例では、データ62に1を加えた値は2に等しく、したがってルーチングセクション25はデータ62から第2データ57をチェックする。そしてルーチングセクション25はモジュールポートデータ57によって指示される適切な処理モジュールにデータ100、データ71およびデータ61を送信する。このとき、実行済み処理データ62の値は1に等しい。したがって、データ62に1を加えた値は2に等しい。そしてルーチングセクション25はモジュールポートデータ57の値をチェックする。このとき、データ57の値はモジュールポート1に対応する。したがって、ルーチングセクション25はデータ100、データ71およびデータ61を図1に示された処理モジュール(1)26に送信する。処理モジュール(1)26はその予めロード済みのプログラムによりデータ61を処理し、新しいデータ69を生成する。この例では、暗号化プログラムは処理モジュール(1)26に予めインストール済みである。したがって処理モジュール(1)26は図7に示すごとくデータ57をデータ67に置き換える。加えて、処理モジュール(1)26はデータ62の値をデータ62に1を加えた値と一致するデータ65の値に置き換える。図6Cにおいて、データ63の値およびデータ64の値はそれぞれデータ53の値およびデータ54の値と同じである。そして処理モジュール(1)26はデータ100、データ70およびデータ69をルーチングセクション25に返送する。
【0033】
こうしてルーチングセクション25は図6Cに示されているデータ100、データ70およびデータ69を受信する。その手順が再び繰り返され、このとき数データ63の値と実行済み処理数データ65の値は同じである。したがって、ルーチングセクション25はデータ100、データ70およびデータ69を外部ネットワークを介して出力ポート30を経由して受信者4に送信する。
【0034】
前述から利用者が送信側でプログラム可能多重処理を実行できることが理解されるだろう。さらに、処理データ(P)を選択することによってデータが送信されるときは、利用者は異なる多重処理動作を選択することができる。このことは、例えばルーチングヘッダーデータ100によって特定されたネットワークを介してデータがフォローするルート等のそのほかの要因と関係なく、利用者が設定することができる。多重処理の処理の順序は順序データ(O)によって決定され、そこから処理データ(P)に規定された処理に応じて順序が決定される。
【0035】
受信側について図8、図9および図10を参照してより詳細に記述していく。
【0036】
受信側はネットワークに接続された受信側ネットワークノード3と、概略的に示された受信者4もやはり含む。ネットワークノード3は入力ポート39、要求分析セクション31、順序決定セクション32、データベース(C)33、内部ヘッダー制御セクション34、ルーチングセクション35、インバース処理モジュール(1,3・・・)36、37および出力ポート38からなる。
【0037】
したがってネットワークノード3はネットワークノード2によって送信されたデータ100、データ70およびデータ69を入力ポートセクション39で受信する。要求分析セクション31は受信データから図10に示されたインバース処理用のデータ70を引き出し、それを順序決定セクション32に伝送する。順序決定セクション32はデータ65をゼロであるデータ85に置き換える。そして順序決定セクション32は図9に示されているデータベース(C)33を参照してデータ66およびデータ67をデータ76およびデータ77に置き換える。このデータベースのコンテンツはサービスプロバイダ6から予め記憶されている。加えて、サービスプロバイダ6はシステムに新しいサービスがインストールされるときにデータベース(C)を更新することができる。
【0038】
そして、順序決定セクション32がデータ84をチェックするが、このデータはデータ64と同じである。データ84が組合せを意味する場合、データ76の場所とデータ77の場所は変化しない。しかしながら、データ84が順列を意味する場合、データ76の場所とデータ77の場所は逆転する。つまり、データ86はデータ77に置き換えられデータ87はデータ76に置き換えられる。データ83およびデータ84の値はそれぞれデータ63およびデータ64と同じである。次に、順序決定セクション32は新しいヘッダーデータ80を内部ヘッダー制御セクション34に送信し、また内部ヘッダー制御セクションは、要求分析セクション31からデータ100、データ70およびデータ69を受信する。そして内部ヘッダー制御セクション34は図6のデータ70を図10のデータ80に置き換える。その後、内部ヘッダー制御セクション34はデータ100、データ80およびデータ69をルーチングセクション35に伝送する。
【0039】
ルーチングセクション35は図11に示されたデータ100、データ80およびデータ69を受信する。ルーチングセクション35はまず初めに数データ83の値と実行済みインバース処理数データ85の値とを比較する。その値が両方とも同じ場合、ルーチングセクション35はデータ80を削除した後、データ100とデータ69を受信者4に出力ポート38を経由して送信する。値が異なる場合、ルーチングセクション35はデータ83の値とデータ85の値との間の差を計算し、それが実行される必要があるインバース処理の数を示す。そして、ルーチングセクション35はデータ85に1を加えた値を計算する。このことは次のインバース処理モジュールポートに対応するデータを指示す。そしてルーチングセクション35はデータ85に1を加えることによって指示されるデータをチェックする。初めは、データ85の値はゼロに等しいのでデータ85に1を加えた値は1である。したがって、ルーチングセクション35はまずデータ85からデータ86をチェックする。データ86の値はこのときインバース処理モジュールポート(1)に対応する。したがって、ルーチングセクション35はデータ100、データ80およびデータ69を図8に示されたインバース処理モジュール(1)36に送信する。インバース処理モジュール(1)36はその予め定義済みのインバースプログラムに従ってデータ69を処理し、新しいデータ89を生成する。この例では、インバース暗号化または復号化プログラムがインバース処理モジュール(1)36にインストールされており、そのプログラムはサービスプロバイダ6からダウンロードされている。インバース処理モジュール(1)36はデータ85をデータ88、すなわちデータ85に1を加えたものに置き換える。その後、インバース処理モジュール(1)36はデータ100、データ90および89をルーチングセクション35に返送する。
【0040】
そしてルーチングセクション35は図11に示されたデータ100、データ90およびデータ89を受信する。そしてその処理が繰り返される、すなわち、ルーチングセクション35が数データ83の値と実行済みインバース処理数データ88の値とを比較する。両方の値が同じ場合、ルーチングセクション35はデータ90を削除した後、データ100とデータ89を受信者4に出力ポート38を経由して送信する。値が異なる場合、ルーチングセクション35はデータ83の値とデータ88の値との間の差を計算し、その差が、実行される必要があるさらなるインバース処理の数を示す。そしてルーチングセクション35はデータ88に1を加えた値を計算する。これは次のインバース処理モジュールポートに対応するデータを指示す。そしてルーチングセクション35はデータ88に1を加えることによって指示されるデータをチェックする。データ88の値は1に等しいので、データ88に1を加えた値は2である。したがってルーチングセクション35はデータ88のフィールドから第2データ87をチェックする。データ87の値はこのときインバース処理モジュールポート(2)に対応する。図9から、インバース処理モジュールポート(2)の値が列76に示すごとくゼロであることがわかる。このゼロはインバース処理を実行する必要がないことを意味する。実際、インバースウイルスチェックプログラムは存在しない。この場合、ルーチングセクション35はデータ88をデータ88に1を加えたデータ91に置き換える。
【0041】
その後、ルーチングセクション35は再び数データ83の値と実行済みインバース処理数データ91の値とを比較する。このとき、数データ83と実行済みインバース処理数データ91の両方の値は同じである。両方の値が同じなので、ルーチングセクション35はデータ92を削除した後、データ100とデータ89を受信者4に出力ポート38を経由して送信する。
【0042】
上述のように、ルーチングセクション35はデータ83等の数データの値とデータ91等の実行済みインバース処理数データとを比較し、両方の値が同じ場合、データ92等のヘッダーデータを削除した後、データ100とデータ89等のインバース処理済みデータとを受信者に送信する。両方の値が同じでない場合、ルーチングセクション35はデータ100と、データ92等のヘッダーデータと、データ89等のあらゆる現行のインバース処理済みデータとを適切なインバース処理モジュールに送信する。このとき、データ87等のインバース処理モジュールポートの場所を指示すデータの値がゼロである場合、ルーチングセクション35はデータ100と、ヘッダーデータ90と、89等のインバース処理用データとをインバース処理モジュールに送信しない。加えて、ルーチングセクション35はデータ88等の実行済みインバース処理数データをデータ88に1を加えたデータ91に置き換える。これらの手順は両方の値、すなわちデータ83等の数データの値と、データ91等の実行済みインバース処理数データとが同じになるまで繰り返される。
【0043】
前述により、ノード2,3は多重プログラムを選択的にロードされて個々の処理およびそれらのインバースを実行することができ、プログラムはサービスプロバイダ6から新しい、もしくは置換プログラムをダウンロードすることによって変更することができるということが理解されるだろう。さらに、利用者5はデータ上で実行される多重処理およびそれらの実行順序を選択することができる。
【0044】
(第2実施形態)
図12はプログラム可能多重処理システムの送信側の第2の実施のブロック図であり、IPネットワーク等のアクセス回線を経由して相互接続された利用者端末101とネットワークノード102とからなる。ノード102は、以下で述べることになるが、IPネットワーク等の外部ネットワークにも接続されて受信側との接続が提供される。
【0045】
利用者端末101は、入力セクション110、順序決定セクション122、データベース(A)112、データベース(B)123、ヘッダー制御セクション124、データ記憶セクション113および出力ポート114からなる。データベース(A)112のコンテンツは図2に示されたものであり、データベース(B)123のコンテンツは図4に示されたものである。ネットワークノード102は、入力ポート120、ルーチングセクション125、処理モジュール(1〜n)126〜129および出力ポート130からなる。
【0046】
送信側システムの動作を詳細に述べていく。まず初めに、利用者は入力セクション110を操作し、受信者4に送信されるデータと実行される多重処理とを限定する。多重処理はネットワークノード102で実行される。利用者が多重処理として暗号化およびウイルスチェックを選択する一例を考慮していく。利用者がデータおよび多重処理を選択しているという情報を受信した後、順序決定セクション122は選択された多重処理用の処理コードをデータベース(A)112からチェックする。データベース(A)112は図2に示されたデータベース(A)12と同じデータを含む。データベース(A)112のデータはこのシステムをスタートする前に記憶される。利用者は多重処理に暗号化およびウイルスチェックを選択しており、したがって対応する処理コードは図2に示されたデータベース(A)112に記されたごとくそれぞれP−1およびP−2である。そして順序決定セクション122は図5に関連して既に述べてある多重処理用のドラフトヘッダーデータ41を生成する。ドラフトヘッダーデータ41は、既に述べたごとく数データ43、順列/組合せデータ44、実行済み処理数データ45および多重処理コードデータ46、47からなる。順序決定セクション122における順序決定の動作は第1実施形態の順序決定セクション22の動作と一致しており、図4のデータベース(B)23と同じデータを含んでいる図12のデータベース(B)123を参照することによりドラフトヘッダーデータ41からヘッダーデータ51が作成される。
【0047】
そして、順序決定セクション122はデータ51をヘッダー制御セクション124に送信する。加えて、受信者4に送信されるデータは順序決定セクション122によってヘッダー制御セクション124にも送信される。ヘッダー制御セクション124は受信者に送信されるデータをデータ記憶セクション113から読み込む。データ記憶セクション内のデータはこの動作処理をスタートする前に記憶される。そしてヘッダー制御セクション124は図6Aに示されているデータ100、データ51およびデータ42からなるデータパッケージをアセンブルする。その後、ヘッダー制御セクション124はデータ100、データ51およびデータ42を出力ポート114を経由してネットワークノード102に送信する。
【0048】
ネットワークノード102はこのデータを入力ポートセクション120を経由して受信し、そのデータはルーチングセクション125に転送される。セクション125、126、127、128、129および130の動作は、図1のセクション25、26、27、28、29および30の動作と同じである。これらのセクションによって実行される動作は図6に関連して述べられており、したがってセクション125、126、127、128、129および130の動作の詳細な記述は省略する。
【0049】
受信側の動作は第1実施形態に関連して既に述べたノード3および受信者4と同じである。
【0050】
第1および第2実施形態の間の主な違いは順序決定セクションおよびデータベース(B)の位置である。第1実施形態ではネットワークノード2がデータベース(B)23を参照して多重処理の順序を決定する。他方、第2実施では利用者端末101がデータベース(B)123を参照して多重処理の順序を決定する。サービスプロバイダ6が新しい処理をネットワークノードのモジュール内にインストールする場合、第1実施形態の場合、サービスプロバイダはデータベース(B)23を更新するだけでよい。第2実施形態では、サービスプロバイダは各利用者端末に記憶されている個々のデータベース(B)123を更新しなければならない。
【0051】
(第3実施形態)
第3実施形態では、ネットワークノードは多重処理されることになるデータだけでなく、多重処理を必要としないデータも受信する。
【0052】
図13について説明すると、この図はネットワークノード2の別の実施を示しており、これは200で参照される。ノード200は図1に関連して既に述べられた仕方で利用者端末1(図13には図示せず)に接続されている。ネットワークノード200は、入力ポートセクション(1、2)211、212、データベース(D)240を含む分類セクション220、要求分析セクション221、順序決定セクション222、データベース(B)223、内部ヘッダー制御セクション224、ルーチングセクション225、処理モジュール(1〜n)226〜229、ルーチングセクション235および出力ポート(1、2)231、232からなる。
【0053】
図14は図13に示されているデータベース(D)240のコンテンツを示している。データベース(D)240は4つのカラムを有する。左側から見て、1番目のカラムがIP/TCPヘッダーのリストである。2番目のカラムは各IP/TCPヘッダーデータに割り当てられている処理またはルーチング要求を含んでおり、値1はデータ処理要求に対応し、値ゼロはデータルーチング要求に対応する。3番目のカラムは分析の要求または多重処理用のヘッダーデータの置き換えのための情報を含む。値1は処理要求を含む回線すべてに割り当てられるが、そうでなければ値ゼロが割り当てられる。4番目のカラムは多重処理用のヘッダーデータの置換えのためのデータを含む。デフォルトデータ240はシステムをスタートする前に記憶される。
【0054】
図15は利用者端末1からネットワークノード200に送信されるデータのフォーマットを示す。フォーマット250内のデータは多重処理用であり、それに対してフォーマット260内のデータは単にルーチング用である。
【0055】
ネットワークノード200の動作を記述していく。まず初めに、ネットワークノード200は入力ポート(1)211または入力ポート(2)212を経由してデータを受信する。この例では、利用者端末1は入力ポート(1)211に接続されている。したがって、ネットワークノード200は図15に示されたデータ250またはデータ260を入力ポート(1)211を経由して受信する。入力ポート(1)は受信したデータ250または260を分類セクション220に送信する。分類セクション220は受信したデータからIP/TCPヘッダーデータ251またはデータ261を読み込む。そして分類セクション240は図14に示されたデータベース(D)240を参照して受信したデータをルーチングまたは処理に送信することを決定する。データベース(D)240のデフォルトデータはスタート前に記憶される。
【0056】
分類セクションはデータ260を受信すると、データ260をルーチングセクション235に送信する。分類セクション240はデータ250を受信すると、データフィールド241をチェックする。データ241が1に等しい場合、分類セクション220は受信したデータ250を要求分析セクション221に送信する。データ241のデフォルト値は1である。データ243が2に等しい場合、以下でより詳細に説明するごとく、分類セクション220は図15に示されたデータ41を図5に示されたデータ51に置き換える。そして分類セクション220はデータ251、データ51およびデータ42をルーチングセクション225に送信する。セクション221、222および223の動作はそれぞれセクション21、22および23と同じである。したがってこれらのセクションの動作の詳細な説明は省略する。
【0057】
内部ヘッダー制御セクション224はセクション24と同じ方法で動作するが、それに加え一旦内部ヘッダー制御セクション224が多重処理用のヘッダーデータ51を作成すると、セクション224はデータベース(D)240を更新する。この更新動作の一例が図14に示されている。内部ヘッダー制御セクション224は多重処理用のヘッダーデータ51を作成した後、データ241およびデータ242を変更する。すなわち、ヘッダーデータ41をデータ51に置き換えた後、データ241がデータ243に置き換えられるが、これは受信したデータをルーチングセクション225に直接送信することを意味する。データ243の値は2である。加えて、データ242はデータ244、すなわちヘッダーデータ41を置き換えるためのデータに置き換えられる。データ244はデータ51と同じである。処理モジュール(1〜n)226〜229は図1に関連して述べられた処理モジュール(1〜n)26〜29と同じ方法で動作する。ルーチングセクション225はルーチングセクション25の動作とほぼ同じであるが、多重処理が完了したときにルーチングセクション225がデータを出力ポートにではなく別のルーチングセクション235に送信するということが異なる。ルーチングセクション235は分類セクション220またはルーチングセクション225から受信したデータをIP/TCPヘッダー251データ261に基づく適切な出力ポート(1、2)231、232に送信する。
【0058】
この実施により、利用者による多重処理要求は第1データパケットに対してのみ分析される。そして多重処理用の内部ヘッダーデータが生成、記憶される。したがって多重処理用の内部ヘッダーデータを記憶した後、要求は分析されないが要求は記憶済み内部ヘッダーデータに置き換えられ、多重処理が記憶済み内部ヘッダーデータに基づいて実行される。
【0059】
(第4実施形態)
第4の実施形態は図16、図17および図18に示される。この実施では、利用者は多重処理を要求するデータをデータが受信側に送信される度に送信しない。その代わり、利用者は利用者が送信するデータ上で実行される多重処理リジュームを登録する。
【0060】
図16に示されているプログラム可能多重処理のシステムの送信側は、IPネットワーク等のアクセス回線を経由してネットワークノード302に接続された利用者端末301からなる。加えて、ノード302はIPネットワーク等の外部ネットワークに接続されている。
【0061】
利用者端末301は、入力セクション310、伝送制御セクション311、データ記憶セクション313および出力ポート314からなる。ネットワークノード302は、入力ポート320、送信者分析セクション321、データベース(E)316、順序決定セクション322、データベース(B)323、入力セクション315、データベース(A)312、内部ヘッダー制御セクション324、ルーチングセクション325、処理モジュール(1〜n)326〜329および出力ポート330からなる。
【0062】
このシステムでもってデータを送信するのをスタートする前に、利用者305は多重処理のためのサービスプロバイダ306に登録する。そして利用者305はネットワークを介して受信者に送信されるデータを入力セクション310によって選択することになる。例えば、利用者305は多重処理として暗号化およびウイルスチェックを選択することができる。伝送制御セクション311はデータ記憶セクション313にアクセスし、利用者が受信者に送信することを望んでいるデータを読み込む。送信されるデータを読み込んだ後、伝送制御セクション311は図17に示されているデータパッケージ340をアセンブルする。データ340はIP/TCPヘッダーデータ100および処理用のデータ42からなる。そして伝送制御セクション311はIPパケットデータとしてデータパッケージ340を出力ポートセクション314に送信する。
【0063】
ネットワークノード302の動作を詳細に述べていく。まず初めに、サービスプロバイダ306は入力セクション315を介してネットワークノード302に登録データを入力する。登録データは、利用者305用のIPアドレスと共に、サービスプロバイダによる前述の登録中に利用者305が要求した個々の多重処理に関する情報とからなる。入力セクション315は利用者305が選択する多重処理用の処理コードをデータベース(A)312からチェックし、多重処理実行用のドラフトヘッダーデータ41を生成する。データベース(A)312のコンテンツはシステムをスタートする前にサービスプロバイダ306によって記憶される。加えて、データベース(A)のデータはサービスプロバイダがシステムに新しい処理をインストールしたときに更新される。そして入力セクション315はドラフトヘッダーデータ41と利用者のIPアドレスとを順序決定セクション322に送信する。順序決定セクション322の動作は順序決定セクション22の動作とほぼ同じである。順序決定セクション322はデータベース(B)323を参照して受信したドラフトヘッダーデータ41から多重処理の順序を決定し、ヘッダーデータ51を作成する。データベース(B)323のコンテンツはデータベース(B)23と同じでありスタート前に記憶される。サービスプロバイダ306は新しい処理がシステムにインストールされたときもやはりデータベース(B)323のコンテンツを更新する。そしてデータ41からデータ51を作成する動作は前述のごとく順序決定セクション22において実行される。そして順序決定セクション322はヘッダーデータ51を、利用者のIPアドレスと関連して、データベース(E)316に記憶する。データベース(E)316のコンテンツの一例は図18に示されたデータ350からなる。これはデータ51を利用者AのIPアドレスと関連して示している。
【0064】
ノード302の入力ポート320は利用者端末301の出力ポート314から送信されるIPパケットデータを受信する。入力ポート320は受信したデータを送信者分析セクション321に転送する。送信者分析セクション321は送信者のIPアドレスを引き出し、データの送信者に対応する利用者情報を提供する。そして送信者分析セクション321は利用者のIPアドレスをデータベース(E)316に送信し、特定の利用者用の多重処理用ヘッダーデータを得る。この例では利用者は利用者−Aである。したがって利用者−A用のヘッダーデータはデータ351である。データ351はデータ51と同じである。その後、送信者分析セクション321は受信したデータ340とヘッダーデータ51とを内部ヘッダー制御セクション324に伝送する。内部ヘッダーデータ制御セクション324は図6に示したごとくデータ100、データ51およびデータ42をアセンブルする。そして内部ヘッダー制御セクション324はデータ100、データ51およびデータ42をルーチングセクション325に伝送する。
【0065】
ルーチングセクション325、多重処理モジュール(1〜n)326〜329および出力ポート330はそれぞれ、ルーチングセクション25、多重処理モジュール(1〜n)26〜29および出力ポート30と同じ方法で動作する。
【0066】
図8に示されたノード3および受信者4はこの実施形態において受信側で使用される。
【0067】
この実施により、利用者はサービスプロバイダと契約して特定タイプの処理を利用者のデータ上で実行できるようにすることができる。この場合、利用者はデータが送信される度に多重処理要求を選択する必要がない。
【0068】
(第5実施形態)
図1の第1実施形態では、多重処理の実行順序はデータベースに保持された情報に基づいて自動的に選択される。したがって、利用者は多重処理のための順序を限定する必要がない。第5実施形態では、多重処理は、伝送されたデータに送信されたデータにより、利用者によって要求された順序で実行される。すなわち、多重処理は利用者が選択する順序で実行される。第5実施形態を図19〜図23に関連して述べていく。
【0069】
第5実施形態のプログラム可能多重処理システムの送信側は利用者端末401とネットワークノード402とからなる。利用者端末401はIPネットワーク等のアクセス回線を経由してネットワークノード402に接続されている。加えて、ネットワークノード402はIPネットワーク等の外部ネットワークに接続されている。利用者端末401は、入力セクション410、伝送制御セクション411、データベース(F)412、データ記憶セクション413および出力ポート414からなる。ネットワークノード402は入力セクション420、ルーチングセクション425処理モジュール(1〜n)426〜429および出力ポート430からなる。
【0070】
まず初めに、利用者405は入力セクション410を使用して、受信者に送信されるデータを選択する。利用者405はやはり入力セクション410を使用して、データに選択された個々の多重処理を適用することを利用者が望んでいる順序を含めて、多重処理を選択する。この例では、利用者405は多重処理にウイルスチェックおよび暗号化を、この順序で、選択している。
【0071】
利用者405が送信および多重処理用のデータを選択するという情報を受信した後、伝送制御セクション411は利用者405が図20に示されているデータベース(F)412から選択する多重処理用のモジュールポートコードをチェックする。モジュールポートコードMは、ノード402で特定の処理を実行するための処理モジュールを確認するための識別子である。データベース(F)412のデータはサービスプロバイダ406によってスタート前に記憶される。加えて、データベース(F)412はサービスプロバイダが新しいサービスをインストールするときに更新することができる。利用者405が多重処理としてウイルスチェックおよび暗号化をこの順序で選択しているので、モジュールポートコードはデータベース(F)412からそれぞれM−2およびM−1である。M−2およびM−1の値はそれぞれ2および1に等しい。
【0072】
そして伝送制御セクション411はデータ記憶セクション413にアクセスし、利用者405が送信を望んでいるデータを読み込む。利用者405はこのデータをシステムのスタート前にデータ記憶セクション413に記憶する。処理用のデータを読み込んだ後、伝送制御セクション411は図21に示されているデータパッケージ440をアセンブルする。データパッケージ440は、IP/TCPヘッダー100と、多重処理用のヘッダーデータ441と、処理されるデータ442とからなる。詳細には、IP/TCPヘッダーデータは、送信者のIPアドレスと、受信者のIPアドレスと、送信者のポート番号と、受信者のポート番号とを含む。加えて、多重処理用のヘッダーデータ441は、数データ443、実行済み処理数データ445および多重モジュールポートコードデータ446、447からなる。数データ443は1バイトからなり、利用者によって作成された処理要求の数に対応する。この例では、利用者405は2つの処理実行、ウイルスチェックおよび暗号化を選択しているので、この数フィールドは2の値を有する。実行済み処理数445データは1バイトからなり、処理実行が幾つなされているかを示す。この時点では、実行されている処理はないので、データ445はゼロの値を有する。このデータ値は処理モジュールの1つによる各処理実行の後、変化するだろう。各処理要求データは1バイトからなる。この例では、数データ443の値は2であるので、2つの処理要求データが存在する。このデータの値は図20に示されたデータベース(F)を参照して決定され、これにより、利用者405がウイルスチェックおよび暗号化を選択していることからデータ446およびデータ447がそれぞれ2および1の値を有することが理解されるだろう。伝送制御セクション411はネットワークノード402への伝送用の出力ポート414にデータパッケージ440をIPパケットデータとして送信する。
【0073】
ノード402の入力ポート420はデータパッケージをルーチングセクション425に転送する。ルーチングセクション425は、図22に示されたデータ100、データ441およびデータ442を受信する。まず初めに、ルーチングセクション425は数データ443の値と実行済み処理数データ445の値とを比較する。値が同じ場合、ルーチングセクション425はデータ100、データ441およびデータ442を出力ポート430を経由して受信者に送信する。値が異なる場合、ルーチングセクション425はデータ445に1を加えた値を計算する。これは次の処理モジュールポートに対応する情報の位置を表す。そしてルーチングセクション425はデータ445に1を加えることによって指示されるデータをチェックする。例えば、データ445に1を加えた値が1に等しい場合、ルーチングセクション425はデータ445から第1データ446をチェックする。そしてルーチングセクション425はモジュールポートコード446によって指示される適切な処理モジュールにデータ100、データ441およびデータ442を送信する。この例では、初めは実行済み処理データ445の値はゼロに等しい。したがって、データ445に1を加えた値は1に等しい。したがってルーチングセクション425はモジュールポートコード446の値をチェックする。この場合、データ446の値はモジュールポート2に対応する。したがってルーチングセクション425は図19に示された処理モジュール(2)427にデータ100、データ441およびデータ442を送信する。処理モジュール(2)427はデータ442上でウイルスチェックプログラムを実行し、データ452を生成する。このシステムにおいて、処理モジュール(2)427は処理のスタート前にウイルスチェックプログラムをインストールされている。加えて、処理モジュール(2)427は図22に示すごとくデータ446をデータ456に置き換える。各処理モジュールは図23に示すごとく受信側で処理済みデータにインバース処理を実行するための情報を有する。さらに、処理モジュール(2)427はデータ445の値をデータ445に1を加えたデータ455の値に置き換える。そして、処理モジュール(2)427はデータ100、データ451およびデータ452をルーチングセクション425に送信する。
【0074】
ルーチングセクション425はしたがって図22に示されているデータ100、データ451およびデータ452を受信する。このとき、手順は新しく作成されたデータ上で繰り返される。より詳細には、ルーチングセクション425は数データ443の値と実行済み処理数データ455の値とを比較する。両方の値が同じ場合、ルーチングセクション425は出力ポート430を経由して受信者にデータ100、データ451およびデータ452を送信する。値が異なる場合、ルーチングセクション425はデータ455に1を加えた値を計算する。これは次の処理モジュールポートに対応する情報を指示す。そしてルーチングセクション425はデータ455に1を加えることによって指示されるデータをチェックする。このとき、実行済み処理データ455の値は1に等しい。したがって、データ455に1を加えた値は2に等しい。そしてルーチングセクション425はモジュールポートコード447の値をチェックする。この場合、データ447の値はモジュールポート1を意味する。したがって、ルーチングセクション425はデータ100、データ451およびデータ452を図19に示された処理モジュール(1)426に送信する。処理モジュール(1)426はデータ452上で暗号化プログラムを実行し、データ462を生成する。このシステムでは、処理モジュール(1)426は暗号化プログラムが予めインストールされている。加えて、処理モジュール(1)426は図22に示すごとくデータ447をデータ467に置き換える。やはり、図23に示すごとく、各処理モジュールは受信側で処理済みデータにインバース処理を実行するための情報を有する。さらに、処理モジュール(1)426はデータ455の値をデータ455に1を加えたデータ465の値に置き換える。そして処理モジュール(1)426はデータ100、データ461およびデータ462をルーチングセクション425に送信する。
【0075】
ルーチングセクション425はしたがって図22に示されているデータ100、データ461およびデータ462を受信する。ルーチングセクション425は数データ443の値と実行済み処理数データ465の値とを比較する。このとき、数データ443の値と実行済み処理数データ465の値は両方とも同じである。したがってルーチングセクション425はデータ100、データ461およびデータ462を出力ポートセクション430を経由して受信者に送信する。
【0076】
こうして、上述のように、これらの手順はデータ443等の数データの値とデータ465等の実行済み処理数データとが同じになるまで繰り返される。
【0077】
こうして、第5実施形態により、利用者は利用者がデータを送信する度に多重処理を選択することができる。加えて、利用者は多重処理の実行の順序を選択することができる。
【0078】
第5実施形態の受信側を図24,図25および図26に関連して記述していく。図24について説明すると、受信側ネットワークノード403はネットワークに接続されており、概略的に示された受信者端末404にデータを提供する。ネットワークノード403は、入力ポート439、リバースセクション434、ルーチングセクション435、インバース処理モジュール(1、3・・・)436、437および出力ポート438からなる。入力ポートセクション439は送信側からIPネットワークを介してデータ100、データ461およびデータ462を受信する。入力ポートセクション439はデータ100、データ461およびデータ462をルーチングセクション435に転送する。リバースセクションは図25に示されているデータ100、データ461およびデータ462を受信する。送信側のネットワークノード402が多重処理を実行しているので、ネットワークノード403は受信したデータを受信者に伝送する前にインバース多重処理を実行しなければならない。例えば、ノード402が暗号化処理を実行する場合、受信者404はインバース暗号化処理をしなければ受信したデータを使用することができない。加えて、多重処理が実行された特定の順序がある場合、インバース処理は対応する反対の順序で実行すべきである。したがってリバースセクション434はデータ456およびデータ467によって表されている多重インバース処理要求の順序を変更する。図25に示したごとく、リバースセクション434においてデータ476はデータ467に置き換えられ、データ477はデータ456に置き換えられる。加えて、リバースセクション434はデータ465をデータ475、すなわちゼロの値に置き換える。そしてリバースセクション434はデータ100、データ471およびデータ462をルーチングセクション435に伝送する。
【0079】
ルーチングセクション435はこうして図26に示されたデータ100、データ471およびデータ462を受信する。ルーチングセクション435は数データ443の値と実行済みインバース処理数データ475の値とを比較する。値が両方とも同じ場合、ルーチングセクション435はデータ471を削除した後、出力ポート438を経由して受信者にデータ100とデータ462とを送信する。値が異なる場合、ルーチングセクション435はデータ475に1を加えた値を計算する。これは次のインバース処理モジュールポートを表す情報を指示す。そして、ルーチングセクション435はデータ475に1を加えることによって指示されるデータをチェックする。初めはデータ475の値がゼロに等しいので、データ475に1を加えた値は1である。したがってルーチングセクション435はデータ475から第1データ476をチェックする。このとき、データ476の値はインバース処理モジュールポート1を示している。したがってルーチングセクション435は図24に示されたインバース処理モジュール(1)436にデータ100、データ471およびデータ462を送信する。インバース処理モジュール(1)436は予め限定済みのインバースプログラムによりデータ462を処理し、新しいデータ482を生成する。このシステムでは、インバース処理モジュール(1)436はインバース暗号化プログラムが予めインストールされている。例えば、サービスプロバイダはインバース暗号化プログラムをインストールすることができる。そしてインバース処理モジュール(1)436はデータ475をデータ485、すなわちデータ475に1を加えたものに置き換えて、1つのインバース処理が実行されていることを示す。その後、インバース処理モジュール(1)436はルーチングセクション435にデータ100、データ481およびデータ482を返送する。
【0080】
このとき、その手順は繰り返され、ルーチングセクション435は数データ443の値と実行済みインバース処理数データ485の値とを比較する。値が両方とも同じ場合、ルーチングセクション435はデータ481を削除した後、出力ポート438を経由して受信者にデータ100とデータ482とを送信する。値が異なる場合、ルーチングセクション435はデータ485に1を加えた値を計算する。これは次のインバース処理モジュールポートに対応する情報を指示す。そしてルーチングセクション435は、データ485のフィールドから、データ485に1を加えることによって指示されるデータをチェックする。データ485の値が1に等しいので、データ485に1を加えた値は2である。したがってルーチングセクション435はデータ485のフィールドから第2データ477をチェックする。このとき、データ477の値はインバース処理モジュールポート2を示す。しかしインバース処理モジュールポート2の値はゼロである。このゼロはインバースウイルスチェックプログラムが存在しないのでインバース処理を実行する必要がないということを意味する。この場合、ルーチングセクション435はデータ485をデータ495、すなわちデータ485に1を加えたものに置き換える。その後、ルーチングセクション435は再び数データ443の値と実行済みインバース処理数データ495の値とを比較する。こうして、数データ443の値と実行済みインバース処理数データ495の値は両方とも同じである。したがって、ルーチングセクション435はデータ491を削除した後、出力ポート438を介して受信者にデータ100とデータ482とを送信する。
【0081】
これらの手順はデータ443等の数データの値とデータ495等の実行済みインバース処理数データとが同じになるまで繰り返される。これが起こると、データ100とデータ482はデータ491の削除後、出力ポート438を経由して送信者に送信される。
【0082】
(第6実施形態)
この実施形態では、多重処理が実行される順序は利用者の要求またはサービスプロバイダによって供給されたデータベース(H)に基づいて選択される。
【0083】
図27に示されているプログラム可能多重処理システムの送信側は、利用者端末601とネットワークノード602とからなる。サービスプロバイダ606は端末601およびノード602と通信する。利用者端末601は、入力セクション610、伝送制御セクション611、データ記憶セクション613、データベース(F)412、データベース(G)615および出力ポートセクション614を含む。ネットワークノード602は、入力ポート620、要求分析セクション621、順序決定セクション622、データベース(H)623、内部ヘッダー制御セクション624、ルーチングセクション625、処理モジュール(1〜n)626〜629および出力ポート630からなる。
【0084】
まず初めに、利用者605は入力セクション610を操作して、受信者に送信されるデータと、データ上で実行される多重処理と、さらには多重処理を実行する順序を如何にして決定するかの手順とを選択する。このことは利用者605が多重処理にウイルスチェックと暗号化とをこの順序で選択する一例によって説明していく。
【0085】
利用者605が送信用のデータと実行される多重処理とを選択したという情報を受信した後、伝送制御セクション611は図20に示されているデータベース(F)412から選択済み多重処理用のモジュールポートコードをチェックする。モジュールポートコードはノード602で特定の処理を実行するための処理モジュールを確認するための識別子である。データベース(F)412のデータはサービスプロバイダ606によってシステムのスタート前に記憶される。加えて、データベース(F)412はサービスプロバイダが新しいサービスをインストールするときに更新される。利用者605は多重処理にウイルスチェックおよび暗号化を選択しているので、モジュールポートコードはデータベース(F)412からそれぞれM−2およびM−1に決定される。M−2およびM−1の値はそれぞれ2および1に等しい。そして、伝送制御セクション611は図28に示されたデータベース(G)を参照し、多重処理が実行される順序に対応する順序コードを選択する。サービスプロバイダ606はシステムをスタートする前にデータベース(G)615用のデータをダウンロードする。この例では、利用者605は利用者の要求に基づいた多重処理の実行順序を選択する。したがって、順序コードR−1はデータベース(G)615を参照することにより選択される。
【0086】
やはり、伝送制御セクション611はデータ記憶セクション613にアクセスし、処理後に利用者が受信者に送信することを望んでいるデータを読み込む。利用者605はスタート前にデータ記憶セクション613のデータを記憶する。このデータを読み込んだ後、伝送制御セクション611は図29Aに示されたデータパッケージ640をアセンブルする。データパッケージ640は、IP/TCPヘッダーデータ100、多重処理ヘッダーデータ641および処理用のデータ642からなる。
【0087】
詳細には、多重処理ヘッダーデータ641は、数データ643、順序コードデータ644、実行済み処理数データ645および多重モジュールポートコードデータ646、647からなる。数データ643は1バイトからなり処理動作が幾つ要求されているのかを示す。この例では、利用者605は2つの処理動作、すなわちウイルスチェックと暗号化を選択しており、したがってこの数フィールドは2の値が与えられる。順序コードデータ644は1バイトからなり多重処理の実行順序をどのように決定するかを示す。この例では、利用者605が順序を選択しており、したがって順序コードデータ644がコードR−1を含む。実行済み処理数645は1データバイトからなり、処理動作が幾つ実行されているかを示す。この段階では、実行されている処理はなく、したがってデータ645はゼロに設定される。このデータ値は処理モジュール626〜629の1つによって実行された各処理の後にインクリメントされるだろう。数データ643は646および647等の処理要求データの数に対応する。各処理要求データは1バイトからなる。この場合、2つの処理要求データが存在するので、数データの値は2である。処理要求データの個々の値はデータベース(F)を参照することにより選択される。利用者605は多重処理にウイルスチェックと暗号化を選択しているので、データ646およびデータ647はそれぞれ2および1の値に設定される。
【0088】
そして、伝送制御セクション611は各データパッケージ640をIPパケットデータとして出力ポート614を介してネットワークノード602の入力ポートセクション620に送信し、各データパッケージはそこから要求分析セクション621に転送される。まず初めに、要求分析セクション621はデータ644をチェックする。データ644が順序コードR−1、すなわち1の値を有するコードである場合、要求分析セクション621はデータ640をルーチングセクション625に伝送する。選択的には、ゼロの値を有する順序コードR−2にデータ633が対応する図29Bに示すごとくデータパッケージが構成されている場合、要求分析セクション621はヘッダーデータ631を順序決定セクション622に伝送し、データ648を内部ヘッダー制御セクション624に伝送する。データ631を受信した後、順序決定セクション622はデータベース(H)623を参照して多重処理の実行順序を決定する。データベース(H)623は図30に示されており、処理モジュール623〜629が個々の処理を実行するべき順序に対応したデータを含んでいる。順序決定セクション622は図31に示された2の値のモジュールポートデータ635を、1の値のモジュールポートデータ636と共に、受信する。データベース(H)623により、データ635の順序は4の値を有するO−4であり、データ636の順序は1の値を有するO−1である。順序決定セクション622はこれらのデータを降順、すなわち最も高い値を1番目にして再配置するので、データ638をデータ636に置き換え、データ639をデータ635に置き換える。
【0089】
そして、順序決定セクション622は結果として生じるデータ637を内部ヘッダー制御セクション624に伝送する。内部ヘッダー制御セクション624はデータ637とデータ648を受信する。そして内部ヘッダー制御セクション624は図29Bに示されたデータ648内のデータ631をデータ637に置き換える。その後、内部ヘッダー制御セクション624はデータ100、データ637およびデータ642をルーチングセクション625に伝送する。ルーチングセクション625はデータ100、データ637およびデータ642、またはデータ640を受信する。この例では、ルーチングセクション625は図32に詳細に示すごとくデータ640を受信する。
【0090】
ルーチングセクション625は数データ643の値と実行済み処理数データ645の値とを比較する。値が異なる場合、ルーチングセクション625はデータ645に1を加えた値を計算する。この例では、実行済み処理データ645の値は最初はゼロに等しい。したがって、データ645に1を加えた値は1に等しい。そして、ルーチングセクション425はデータ645から第1データフィールドをチェックする。そしてルーチングセクション625はモジュールポートコード646の値をチェックする。この例では、データ646の値はモジュールポート2に対応する。したがって、ルーチングセクション625はデータ100、データ641およびデータ642を図27に示された処理モジュール(2)627に送信する。処理モジュール(2)627はデータ642上でウイルスチェックプログラムを実行してデータ652を生成する。加えて、処理モジュール(2)627はデータ646を図23に示されているデータ456に置き換える。図23に示すごとく、各処理モジュールは受信側で処理済みデータにインバース処理を実行するための情報を有する。処理モジュール(2)627はデータ645の値をデータ655、すなわちデータ645に1を加えた値に置き換える。そして処理モジュール(2)627はデータ100、データ651およびデータ652をルーチングセクション625に返送する。
【0091】
そしてルーチングセクション625は数データ643の値と実行済み処理数データ655の値とを比較する。両方のデータの値が同じでないので、ルーチングセクション625はデータ655に1を加えた値を計算する。データ655に1を加えた値が2であるので、ルーチングセクション625はモジュールポートコード647の値をチェックする。この例では、データ647の値はモジュールポート1に対応する。したがってルーチングセクション625はデータ100、データ651およびデータ652を図27に示された処理モジュール(1)626に送信する。処理モジュール(1)626はデータ652上で暗号化プログラムを実行してデータ662を生成する。加えて、処理モジュール(1)626は図23に示すごとくデータ647をデータ467に置き換える。やはり、処理モジュール(1)626はデータ655の値をデータ655に1を加えたデータ665の値に置き換える。そして、処理モジュール(1)626はデータ100、データ661およびデータ662をルーチングセクション625に送信する。ルーチングセクション625は数データ643の値と実行済み処理数データ665の値とを比較する。このとき、データの値は両方とも同じであり、したがってルーチングセクションはデータ100、データ661およびデータ662を出力ポート630を経由して受信者に送信する。
【0092】
第6実施形態の受信側のための構成要素は、第5実施形態に関連して記述され図24に示されたネットワークノード403を含む。この実施では、ノード403はデータ100、データ661および662を受信する。第5実施形態と第6実施形態との間の差は、第6実施形態ではノード403で受信されたデータ内にデータ644が付加的に含まれるが、このことによってその動作方法が変わるということがないということである。
【0093】
【発明の効果】
本発明によれば、ネットワークルータブルデータ上で多重処理を柔軟に実行可能とするためのIPネットワークで使用されるネットワークノード構造を提供することができる。
【図面の簡単な説明】
【図1】本発明によるプログラム可能多重処理システムの第1の実施形態の送信側のブロック図。
【図2】図1、図12に示されたデータベース(A)のコンテンツを示す図。
【図3】第1の実施形態において送信者から受信者に送信されるデータのフォーマットを示す図。
【図4】図1、図12および図13に示されたデータベース(B)のコンテンツを示す図。
【図5】第1の実施形態において多重処理を実行するための内部ヘッダーをどのように作成するのかを示す図。
【図6】処理モジュールにおける各処理の後に内部ヘッダーデータをどのように変更するかの手順を示す図。
【図7】図1において各処理モジュールで維持されるインバース処理データを示す図。
【図8】本発明の第1の実施形態のプログラム可能多重処理システムの受信側のブロック図。
【図9】図8に示されたデータベース(C)のコンテンツデータを示す図。
【図10】多重インバース処理を実行するための内部ヘッダーをどのように作成するのかを示す図。
【図11】インバース処理モジュールにおける各インバース処理の後に内部ヘッダーデータをどのように変更するのかを示す図。
【図12】本発明によるプログラム可能多重処理システムの第2の実施形態の送信側のブロック図。
【図13】本発明の第3の実施形態のためのネットワークノードのブロック図。
【図14】図13に示されているデータベース(D)のコンテンツを示す図。
【図15】第3の実施形態において送信者から受信者に送信されるデータのフォーマットを示す図。
【図16】本発明によるプログラム可能多重処理システムの第4の実施形態の送信側のブロック図。
【図17】第4の実施形態において送信者から受信者に送信されるデータのフォーマットを示す図。
【図18】図16に示されたデータベース(E)のコンテンツを示す図。
【図19】本発明によるプログラム可能多重処理システムの第5の実施形態の送信側のブロック図。
【図20】図19に示されたデータベース(F)のコンテンツを示す図。
【図21】第5の実施形態において送信者から受信者に送信されるデータのフォーマットを示す図。
【図22】処理モジュールの1つによって実行される各処理の後に変化する内部ヘッダーを示す図。
【図23】図19において各処理モジュールで維持され、受信側で処理済みデータにインバース処理を実行するデータを示す図。
【図24】本発明の第5の実施形態のための受信側のブロック図。
【図25】図24に示されているリバースセクションで変化する内部ヘッダーを示す図。
【図26】インバース処理モジュールによって実行された処理の後に変化する内部ヘッダーを示す図。
【図27】本発明によるプログラム可能多重処理システムの第6の実施形態の送信側のブロック図。
【図28】データベース(G)のコンテンツを示す図。
【図29】第6の実施形態において送信者から受信者に送信されるデータのフォーマットを示す図。
【図30】データベース(H)のコンテンツを示す図。
【図31】第6の実施形態において多重処理を実行するための内部ヘッダーをどのように作成するのかを示す図。
【図32】各処理モジュールにおいて処理された後に変化する内部ヘッダーを示す図。
【図33】前述の先行技術のネットワークノードのブロック図。
【符号の説明】
1:端末、2,200,302,402,403,602:ネットワークノード、3:ネットワークノード、4:受信者、5,305:利用者、6:サービスプロバイダ、10,310:入力セクション、11:伝送コントローラ、12:データベース(A)、13:データ記憶セクション14:出力ポート、20:入力ポート、21:要求分析セクション、22:順序決定セクション、23:データベース(B)、24:内部ヘッダー制御セクション、25:ルーチングセクション、26〜29:処理モジュール(1〜n)、30:出力ポート、31:要求分析セクション、32:順序決定セクション、33:データベース(C)、34:内部ヘッダー制御セクション、35:ルーチングセクション、36,37:インバース処理モジュール(1,3・・・)、38:出力ポート、39:入力ポート、40:データパッケージ、41:多重処理ドラフトヘッダーデータ、42:処理されることになるデータ、43,83:数データ、44:順列/組合せデータ、45:実行済み処理数データ、46,47:処理要求に対応する個々の処理コードデータ、48,49,53,54,55,56,57,61,62,63,64,65,66,67,69,70,76,77,80,84,86,89,90,100:データ、85:実行済みインバース処理数データ、88,91:実行済みインバース処理数データ、92:ヘッダーデータ、87:インバース処理モジュールポートの場所を指示すデータ、211,212:入力ポートセクション(1、2)、240:データベース(D)、220:分類セクション、221:要求分析セクション、222:順序決定セクション、223:データベース(B)、224:内部ヘッダー制御セクション、225:ルーチングセクション、226〜229:処理モジュール(1〜n)、235:ルーチングセクション、231,232:出力ポート(1、2)、301:利用者端末、311:伝送制御セクション、313:データ記憶セクション314:出力ポート、320:入力ポート、321:送信者分析セクション、316:データベース(E)、322:順序決定セクション、323:データベース(B)、315:入力セクション、312:データベース(A)、324:内部ヘッダー制御セクション、325:ルーチングセクション、326〜329:処理モジュール(1〜n)、330:出力ポート、306:サービスプロバイダ、401:利用者端末、410:入力セクション410、411:伝送制御セクション、412:データベース(F)、413:データ記憶セクション、414:出力ポート、420:入力セクション、425:ルーチングセクション、426〜429:処理モジュール(1〜n)、430:出力ポート、404:受信者端末、439:入力ポート、434:リバースセクション、435:ルーチングセクション、436,437:インバース処理モジュール(1、3・・・)、438:出力ポート、601:利用者端末、606:サービスプロバイダ、601:利用者端末601、610:入力セクション、611:伝送制御セクション、613:データ記憶セクション、412:データベース(F)、615:データベース(G)、614:出力ポートセクション、620:入力ポート、621:要求分析セクション、622:順序決定セクション、623:データベース(H)、624:内部ヘッダー制御セクション、625:ルーチングセクション、626〜629:処理モジュール(1〜n)、630:出力ポート。

Claims (15)

  1. ネットワークルータブルデータ上で多重処理を実行するためにネットワークで使用されるネットワークノード構造であって、
    多数の処理モジュールと、処理モジュールにデータを選択的に向かわせて多数の処理を順次実行するコントローラとからなるものにおいて、この構造が、モジュールによってデータ上で実行される利用者選択処理に対応するルータブルデータ内の処理コードデータ(P)を検出し、この検出された処理コードデータ(P)に基づいて利用者選択処理が処理モジュールによって実行される順番を決定する順序データ(O)を提供するように動作可能であることを特徴とするネットワークノード構造。
  2. 順序データ(O)を含むオーダリングデータベース(B)と、ルータブルデータ内の処理コードデータ(P)に基づいてデータベースから順序データを決定する順序決定構造とを含み、処理されるデータを順序データに基づいて処理モジュールに向かわせるようにコントローラが動作可能である、請求項1記載のネットワークノード構造。
  3. 利用者によって選択された個々の処理に対応する処理コードデータ(P)を提供する処理分類データベース(A)を含む、請求項2記載のネットワークノード構造。
  4. ネットワークの送信側で使用されるノードとして構成され、実行されるべき処理を選択するために送信側利用者端末に関連した、請求項3記載のネットワークノード構造。
  5. オーダリングデータベース(B)がノード内部にある、請求項3記載のネットワークノード構造。
  6. 処理分類データベース(A)が端末内部にある、請求項3記載のネットワークノード構造。
  7. データベース(B)が利用者端末内部にある、請求項3記載のネットワークノード構造。
  8. ノードが、多重処理されることになるルータブルデータを多重処理を必要としないルータブルデータと共に受信するように構成され、かつルータブルデータを分類するデータを入れておくための分類データベース(D)を含み、それにより多重処理を必要とするデータだけが処理モジュールに向けられる、請求項1ないし請求項7のいずれか一つに記載のネットワークノード構造。
  9. 処理モジュールが、それらが実行する処理のインバース(I)に対応するデータを提供し、インバースデータとそれらが実行した処理の結果からなるデータとを関連付けてネットワークの受信側にルーチングするように構成されている、請求項1ないし請求項8のいずれか一つに記載のネットワークノード構造。
  10. ネットワークの受信側で使用するノードとして構成され、受信側端末と関連付けられて、ノードによって処理されたデータを受信するためにノードに結合されている、請求項1または2記載のネットワークノード構造。
  11. 送信側ノードで実行された多重処理に対応するデータを含むネットワークを介してルーチングされたデータを受信するように構成され、受信側ノードで実行された処理に対してのインバースである多重処理を実行するように構成されている請求項10に記載のネットワークノード構造。
  12. ネットワークの送信側用の請求項3で請求されたノードと、ネットワークの受信側ノード用の請求項11で請求されたノードとからなるネットワークノード構造。
  13. ルーチング情報を含むネットワークルータブルデータを受信するように動作可能であり、処理コードデータ(P)がルーチング情報とは関係なく利用者が選択したものである、請求項1ないし請求項12のいずれか一つに記載のネットワークノード構造。
  14. 求項1ないし請求項13のいずれか一つに記載であり、前記データベースまたは前記データベースのそれぞれにデータを供給するためにサービスプロバイダを含む、ネットワークノード構造。
  15. 各データベース用の新データをサービスプロバイダから前記ノードまたは各ノードに供給することを含む、請求項14で請求されたノード構造を更新する方法。
JP2002300287A 2002-05-21 2002-10-15 多数の処理を実行するプログラム可能ネットワークノード構造 Expired - Fee Related JP3973533B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02253575A EP1365546B1 (en) 2002-05-21 2002-05-21 Programmable network node for performing multiple processes
EP02253575.1 2002-05-21

Publications (2)

Publication Number Publication Date
JP2003338834A JP2003338834A (ja) 2003-11-28
JP3973533B2 true JP3973533B2 (ja) 2007-09-12

Family

ID=29286214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002300287A Expired - Fee Related JP3973533B2 (ja) 2002-05-21 2002-10-15 多数の処理を実行するプログラム可能ネットワークノード構造

Country Status (3)

Country Link
EP (1) EP1365546B1 (ja)
JP (1) JP3973533B2 (ja)
DE (1) DE60207993T2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4704729B2 (ja) 2004-10-20 2011-06-22 株式会社日立製作所 パケットデータ処理ノード装置
JP4523381B2 (ja) 2004-10-29 2010-08-11 株式会社日立製作所 パケット通信装置
JP4369351B2 (ja) 2004-11-30 2009-11-18 株式会社日立製作所 パケット転送装置
JP2008524916A (ja) 2004-12-21 2008-07-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信システムにおけるパケットフローに関する装置及び方法
JP4309359B2 (ja) 2005-03-09 2009-08-05 株式会社日立製作所 パケット通信装置とその機能拡張方法
JP4599429B2 (ja) * 2008-05-13 2010-12-15 日本電信電話株式会社 通信システム及び通信方法
EP2541851A1 (en) * 2011-06-30 2013-01-02 Astrium Limited Apparatus and method for use in a spacewire-based network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092118A (ja) * 1998-09-08 2000-03-31 Hitachi Ltd プログラマブルネットワーク
GB2353372B (en) * 1999-12-24 2001-08-22 F Secure Oyj Remote computer virus scanning

Also Published As

Publication number Publication date
DE60207993T2 (de) 2006-08-03
JP2003338834A (ja) 2003-11-28
EP1365546B1 (en) 2005-12-14
DE60207993D1 (de) 2006-01-19
EP1365546A1 (en) 2003-11-26

Similar Documents

Publication Publication Date Title
EP1328095B1 (en) Packet switching system, packet switching method, routing apparatus, structure of packet, and packet generating method
US20030198214A1 (en) Method for sharing network information and a router apparatus
JP3973533B2 (ja) 多数の処理を実行するプログラム可能ネットワークノード構造
Cisco Apollo Domain Commands
Cisco Apollo Domain Commands
Cisco DECnet Commands
Cisco DECnet Commands
Cisco DECnet Commands
Cisco DECnet Commands
Cisco Apollo Domain Commands
Cisco Apollo Domain Commands
Cisco Apollo Domain Commands
Cisco Apollo Domain Commands
Cisco DECnet Commands
Cisco DECnet Commands
Cisco DECnet Commands
Cisco DECnet Commands
Cisco Apollo Domain Commands
Cisco Apollo Domain Commands
Cisco Apollo Domain Commands
Cisco Apollo Domain Commands
Cisco Configuring XNS
Cisco Configuring XNS
Cisco Configuring XNS
Cisco Configuring XNS

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070417

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070417

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070612

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees