JP2003208365A - 適応ディスパッチャを有する仮想ネットワーク - Google Patents
適応ディスパッチャを有する仮想ネットワークInfo
- Publication number
- JP2003208365A JP2003208365A JP2002302252A JP2002302252A JP2003208365A JP 2003208365 A JP2003208365 A JP 2003208365A JP 2002302252 A JP2002302252 A JP 2002302252A JP 2002302252 A JP2002302252 A JP 2002302252A JP 2003208365 A JP2003208365 A JP 2003208365A
- Authority
- JP
- Japan
- Prior art keywords
- message
- network
- dispatcher
- routing
- protocol
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/308—Route determination based on user's profile, e.g. premium users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
後に、復旧することができる仮想ネットワークを提供す
る。 【解決手段】 ネットワーク内のそれぞれのマシン上の
アプリケーションとネットワークトランスポートサービ
スの間に適応ディスパッチャを挿入することによって、
ネットワークサービスアプリケーションと従来型ネット
ワークプロトコルの間に少なくとも1つの抽象化層が作
成される。仮想ネットワーク内のメッセージプロトコル
は、拡張可能であり、アプリケーションプログラムが、
必要な任意のメッセージ内に新しいヘッダを作成するこ
とを可能にする。適応ディスパッチャは、ヘッダまたは
データ内容あるいはその両方の任意の組合せを含むそれ
ぞれのメッセージ内の任意の内容に基づいて、仮想ネッ
トワーク内のメッセージをルーティングしディスパッチ
するハンドラを含む。
Description
タネットワークに関する。より詳細には本発明は、メッ
セージ内容に基づいて適合的にメッセージをルーティン
グする仮想ネットワークに関する。
出願第60/329796号および2001年10月19日出願の米国仮
出願第60/346370号に関し、それらからの優先権を請求
し、そのそれぞれを参照により本明細書に組み込む。
よび0の物理表現から高レベルアプリケーションプログ
ラムまで様々なレベルの抽象化がある。コンピュータが
最初に開発されたとき、それらの動作を制御するため
に、マシン言語と一般に呼ばれる低レベルプログラミン
グ言語が一般的に使用された。しかし、異なるマシン言
語を有する2つの異なるコンピュータプラットフォーム
のために同じプログラムを作成するには、プログラマ
は、プログラムを2度、それぞれのプラットフォームの
マシン言語で1度ずつ書かなければならなかった。
どの高レベルプログラミング言語を作成し、次いでその
プログラムが使用されるそれぞれのプラットフォーム用
のコンパイラを提供することによって、マシン言語を抽
象化できることがわかった。プログラムがこれらの高レ
ベルプログラミング言語の1つで書かれたとき、そのプ
ログラムは、それぞれのマシン用にソースプログラムを
再作成することなく、それぞれの特定マシン上で実行す
るようにコンパイルすることができた。この点での抽象
化が継続し、より最近の仮想マシンの開発をもたらし
た。
技術分野でよく知られている。仮想マシンは、特定のコ
ンピュータハードウェアアーキテクチャの具体的詳細に
縛られない中間表現である。通常、仮想マシンは、その
仮想マシンを実施するために使用されるハードウェアと
は無関係に、同一であり続ける特定のセマンティックス
(semantics)を保証する。したがってそのようなマシン
のために書かれたプログラムは、修正することなく異な
るハードウェアシステム上で実行することができる。し
たがって仮想マシンの一利点は、その動作セマンティッ
クスが、どの1つのコンピュータプログラムの起源また
は動作要件とも無関係に、1つのコンピュータから次の
コンピュータに一定であり続けることである。
クが構築される基礎になる物理ハードウェアおよびネッ
トワークプロトコルに依存する。これらのプロトコル
は、そのプロトコルか実施される基礎になるネットワー
クアーキテクチャに依存する。結果として、ネットワー
クアプリケーションは、それらが使用されるそれぞれの
ネットワークのために再作成しなければならない。さら
に、2つのマシンがネットワークを介して通信するため
には、それぞれのマシンが、その特定ネットワークを介
してどのように通信するかを理解しなければならない、
すなわちそれぞれのマシンは、通信するための適切なネ
ットワークドライバを有しなければならない。
1つのレベルの抽象化は、OSIの7層ネットワークモデル
に従って実施された、TCP/IPプロトコルスタック(proto
colstack)の使用である。TCP/IPは、ネットワークプロ
トコルのいくつかの概念を抽象化し、TCP/IPプロトコル
をそれぞれ理解する2つのマシンが互いに効果的に通信
することを可能にする。しかし、TCP/IPを使用しても、
それぞれのマシンは、ネットワークルーティングおよび
トポロジ(topology)、バインディング(binding)、なら
びにDNS解決をあるレベルで理解できなければならな
い。すなわち、OSIモデルは、マシン間の物理ワイヤを
仮想化するだけで、マシンが通信するネットワークは仮
想化しないので、ネットワーク上のそれぞれのコンピュ
ータは、そのネットワークを介して効果的に通信するた
めにインストールされたネットワークサポートユーティ
リティを依然として相当有しなければならない。
スの概念を理解するアプリケーションを必要とする。ポ
ートおよびIPアドレスは、DNS名解決、ネットワークト
ポロジ、トランスポート(transport)帯域幅、および両
端間のルーティングを理解するアプリケーションを必要
とする。したがって、順序付けられたバイトシーケンス
を信頼可能な方法で交換するためのモデルを単純化しな
がら、アプリケーションは依然として、多数のネットワ
ークレベルの概念および詳細を直接取り扱わなければな
らない。OSIモデルは、ネットワークアプリケーション
が必要とするネーミング、ルーティング、およびサービ
ス品質などの高レベルの構造を扱わない。
他の欠点は、メッセージエラーまたはネットワーク故障
の後に、適合し復旧できないことである。現在のネット
ワークは、マシンが追加、移動、または削除されるとき
に、自動的に容易に適合できない。すなわち、ユーザは
通常、ルーティングテーブルを編集して、ネットワーク
にその変更を知らせなければならない。
実行する冗長マシンを保守すること以外によっては、容
易に修理されない。すなわち、第1マシンが故障すれ
ば、第2(バックアップ)マシンが第1マシンの機能を引き
継ぐ。しかし、第2マシンがその後故障し、同じ機能を
実行する第3マシンがない場合、結果としてネットワー
クは損害を受けるであろう。知られているネットワーク
は自己治癒的ではない。したがって、これらの問題を克
服する高度なネットワークが必要である。
のネットワークが、メッセージ内容に基づいてネットワ
ークメッセージを動的にルーティングできないことであ
る。Cisco Systems, Inc.による知られているルータ
は、事前定義された基準に基づいてメッセージをルーテ
ィングすることができるが、メッセージ内容に基づい
て、ユーザ拡張可能ルーティング動作をサポートするよ
うに動的にプログラム可能ではない。アプリケーション
が伝統的ルーティングおよびQoS要件に加えてメッセー
ジの変換および処理を制御することができるシステムに
とって、この機能がないことは、それらのルータを不適
切にする。
べてを解決する方法およびシステムを提供すれば、当技
術分野の進歩であろう。
トワークを仮想化して、プラットフォームに依存しない
ネットワークコンピュータアプリケーションをプログラ
マが書くことを可能にするために使用することができ
る。仮想ネットワークは、ネットワークサービスを提供
するアプリケーションと、そのコードを実行する、基礎
になるシステムネットワークの間、例えばOSIネットワ
ークモデル内の層6と7の間に、(ソフトウェアまたはハ
ードウェアの)抽象化層を追加することによって作成す
ることができる。同期化、イベンティング(eventing)、
メッセージング、ネーミング、グループ、アドレシン
グ、およびルーティングコンポーネントを含む1つまた
は複数の仮想化コンポーネントを挿入することができ
る。
とによって、ネットワークは、その上に構築されたアプ
リケーションおよびサービスに固有のサービスをより効
率的にかつ安全に提供することができる。例えば、信頼
性、安全性、プラットフォーム非依存性、スケールアウ
ト(scale-out)、エッジネットワーキング(edge network
ing)、および位置非依存性などのサービスを容易に提供
することができる。同様に、システムが、物理的トポロ
ジ変更に適合し故障から自動的に「治癒」することがで
きる。仮想ネットワークは、ネットワークの物理的トポ
ロジ上にコードをマッピングしそのマッピングを透過的
に適合させることを担当する。さらに、開発者はそれら
のサービスの分離から利益を得ることができる。
せることによって、アプリケーションを1度書きどのマ
シン上でも実行できる、分散された区分可能な仮想ネッ
トワークを作成することができる。すなわち、仮想ネッ
トワーク内、かつ仮想マシンを稼動するコンピュータ上
で使用するために書かれたネットワークアプリケーショ
ンは、同じ仮想マシンを動作させ仮想ネットワークに接
続されるどのマシン上でも実行できるので、再作成する
必要がない。
提供する。マシンAがネットワークを介してマシンBにメ
ッセージを送り、BがマシンAに回答することを考える。
しかし、マシンAがマシンBに第2メッセージを送ること
ができる前に、マシンBが(例えば他のIPアドレスに)移
動する。一実施形態によれば、仮想ネットワークは、自
分自身を解決し変更された位置に適合することができる
ので、その結果そのメッセージは依然Bの新しい位置に
届けられる。アドレス変更は透過的に行われるので、そ
のネットワーク上で稼動するアプリケーションは、Bの
位置の変更が行われたことを知らない(または知る必要
がない)。抽象化がマシンレベルからネットワークレベ
ルに移動されるので、それぞれのマシンを移動すること
ができる位置のセットに制限がかけられることはない。
デバイスが移動された後に、そのデバイスが、新しい位
置にある自分自身をネットワークに対して識別すると、
仮想ネットワークは、そのマシンに対するルーティング
が中断されることなく動作継続できるように自分自身を
更新することができる。この能力は、単一管理ドメイン
内で現在可能であることを複数管理ドメインに拡張し、
位置移動性が組織を越えて拡張できるようにする。
ーティングしディスパッチするメッセージディスパッチ
ャを含む装置を提供する。それぞれのメッセージは、メ
ッセージ内容の任意の部分に基づいてルーティングされ
る。ネットワークアプリケーションプログラムがメッセ
ージディスパッチャと通信して、メッセージがルーティ
ングされるメッセージ内容の任意の部分を定義するイン
タフェースもまたある。
ィスパッチャモジュール、メッセージディスパッチャを
トランスポートプロトコルにインタフェースするための
トランスポートアダプタ、アプリケーションプログラム
がメッセージディスパッチャと通信するインタフェー
ス、第1ネットワークメッセージの第1属性に基づいて前
記第1ネットワークメッセージをルーティングし、第2ネ
ットワークメッセージの、第1属性とは異なる第2属性に
基づいて第2ネットワークメッセージをルーティングす
ることをメッセージディスパッチャに命令する格納され
たルール、を含むデータ処理装置がある。第1および第2
属性は、それぞれのネットワークメッセージ内に含まれ
る1組のヘッダおよびデータから選択される。
をルーティングする方法を提供する。メッセージディス
パッチャは、第1ネットワークメッセージを第1ネットワ
ークメッセージの第1属性に基づいてルーティングす
る。メッセージディスパッチャは、第2ネットワークメ
ッセージを、第2ネットワークメッセージの、第1属性と
は異なる第2属性に基づいてルーティングする。第1およ
び第2属性は、それぞれのネットワークメッセージの1組
のヘッダおよびデータから選択されたどのフィールドで
もよい。
れると1組のステップを実行するコンピュータ実行可能
命令を格納するネットワークルータがある。ネットワー
クルータは、ネットワークアプリケーションから受け取
ったルーティング情報を格納する。ルーティング情報
は、メッセージフィールド、フィールド条件、およびメ
ッセージ命令を含む。ネットワークルータは、ネットワ
ークメッセージと格納されたルーティング情報を比較す
ることによってネットワークメッセージを受け取り処理
する。受け取ったメッセージのメッセージフィールドが
フィールド条件を満たしたとき、ネットワークルータは
メッセージ命令を実行する。
タネットワークを提供する。コンピュータネットワーク
は、トランスポート層プロトコルとネットワークプロト
コルの間でメッセージを変換する少なくとも1つのトラ
ンスポートアダプタ、メッセージ内容の任意の部分に基
づいてメッセージをルーティングしディスパッチするメ
ッセージディスパッチャ、でそれぞれ構成される複数の
コンピュータを含む。それぞれのコンピュータ内のメッ
セージディスパッチャは、仮想ネットワークプロトコル
のメッセージを、トランスポートアダプタを使用しトラ
ンスポート層プロトコルを介してルーティングする。
ルスタックの層6と7の間に挿入された少なくとも1つの
仮想化コンポーネントを含む仮想ネットワークがある。
解決は、仮想ネットワークディスパッチャ(VND)と呼ぶ
ユニバーサルイネーブリングコンポーネント(universal
enabling component)と組み合わせて仮想位置を使用す
ることにより達成することができ、そのコンポーネント
は、仮想ネットワーク内に加わる全てのリソース内に含
まれる。リソースは、任意のメッセージ端点として定義
することができる。図1を参照すると、仮想ネットワー
ク113上の全てのデバイス101-102には、(IPアドレス、M
ACアドレス、URL、その他の位置識別子など)その実際の
アドレスをマッピングすることができる仮想アドレスが
与えられる。VND103は、ルータがインストールされたデ
バイスとは無関係に、ハードウェアまたはソフトウェア
のいずれかを使用して同じ方法でメッセージに応答する
それぞれのデバイス内に統合されたルータモジュールを
含むことができる。すなわちルータモジュールは、デバ
イスに依存しない。VND103は、以下にさらに述べるメッ
セージハンドラ109を含む。
シンに異なるか、またはマシン全体で一貫してよい。そ
れぞれのメッセージハンドラは、具体的なタイプのマシ
ンのために明示的に構成するか、あるいは任意の与えら
れたマシン上で具体的に動作するかまたは動作しないよ
うに構成することができる。いくつかのメッセージハン
ドラ、例えばメッセージヘッダハンドラ、暗号化ハンド
ラ、を広く配備する一方、他のメッセージハンドラを単
一マシン上にのみ配備することができる。
ィスパッチング機能を実行することを担当する。ルーテ
ィングは、メッセージが意図されたデバイスにそれらの
メッセージを転送する処理である。ディスパッチング
は、メッセージを受け取るときに、そのメッセージを受
け取ったことに応答して、適切なハンドラ(例えば、ソ
フトウェアモジュール、機能、アプリケーションプログ
ラム、ルーチンなど)または他の実行可能ソフトウェア
を実行する処理である。VNDが実行するハンドラは、そ
のVNDがメッセージをどのように処理しルーティングす
べきかを判断するルーティングハンドラでよく、または
ハンドラは、デバイス上で実行されるアプリケーション
プログラムにメッセージを送ってよい。
定のアプリケーションが使用するオペレーティングシス
テム、オブジェクトモデル、または言語とは無関係に、
分散され非集中化されたアプリケーションが情報を交換
することを可能にするオープンで拡張可能なメッセージ
ングプロトコルでXMLベースのメッセージをルーティン
グしディスパッチすることができる。仮想ネットワーク
によって使用されるトランスポートをサポートするどん
なプロトコルでも使用することができる。VNDは、ネッ
トワークトランスポートプロトコル107、例えばTCP、I
P、UDP、HTTP、SMTP、SOAP-RPなどとともに使用するこ
とができる。任意のトランスポートプロトコルを介して
一位置でメッセージが受け取られるとき、メッセージ内
容がトランスポートアダプタ105によって抽出されVND10
3に入力される。それぞれのトランスポートアダプタ
は、事前定義されたトランスポートプロトコルに従って
フォーマットされたメッセージを入力として受け取り、
仮想ネットワークプロトコルに従うためにそのメッセー
ジヘッダを変換する(または取り除く)。図1に示すよう
に、それぞれのVND103は、複数のトランスポートプロト
コルT1-Tnと共に使用するために複数のトランスポート
アダプタTA1-TAnに接続することができる。これは、仮
想ネットワークを単一トランスポートプロトコルに縛る
ことなく複数のトランスポートを越えてそれぞれのVND
を使用することを可能にする。
ロトコルアダプタを使用することによって、それぞれの
デバイス上にVND103を置くことは、任意のアプリケーシ
ョンプログラムが仮想ネットワークプロトコルを使用す
ることによってトランスポート層プロトコルとは独立に
他のアプリケーションプログラムと透過的に通信するこ
とができるプラットフォームを提供する。当技術分野で
は、複数のプロトコルを介して通信するように構成され
た具体的アプリケーションプログラムが知られている。
しかし、そうするそれぞれのアプリケーションプログラ
ムは、具体的に構成されなければならない。本明細書に
述べる仮想ネットワークを使用して、どのような特別な
構成もなしで、複数のプロトコルを介して通信がトラン
スポートされていることを気付くことさえなく、複数の
プロトコルを介してアプリケーションが通信することが
できる。それぞれのメッセージを送るそれぞれの具体的
デバイス内のVND103は、メッセージを送るプロトコルに
関する決定を行う。それぞれのメッセージに対して、VN
Dは、1つまたは複数の事前定義されたプロトコルポリシ
に基づいてどのプロトコルを使用するかを判断すること
ができる。あるいは、使用されるプロトコルは、アプリ
ケーションまたはウェブサービスの必要または要求ある
いはその両方に基づいて、特定のメッセージのためにVN
Dを動かすアプリケーションまたはウェブサービスに依
存してよい。
ットワークによって開発されるか、または必要とされる
とき、それぞれのVNDと共に使用するための新しいトラ
ンスポートアダプタを作成しインストールすることがで
きる。この方法で、仮想ネットワークは、仮想ネットワ
ーク内のそれぞれのアプリケーションにそれぞれのトラ
ンスポートプロトコルを構築するサポートを必要とする
ことなく、新しいトランスポートプロトコルを利用する
ことができる。代わりに、新しいトランスポートプロト
コルに対するサポートは、新しいトランスポートアダプ
タと共に新しいトランスポートプロトコルをいつどのよ
うに使用するかを命令するロジックを含むそれぞれのVN
Dに提供される。
モートディスパッチを統一する。指定されたまたは専用
のマシンがルータとして振る舞う従来型ネットワークと
は異なり、仮想ネットワークでは通常、全てのデバイス
がルータとして振る舞う。例えば、一デバイスは、メッ
セージを受け取り、そのメッセージが実際にはネットワ
ーク内のどこか他に届けられるべきであると判断するに
過ぎない。これが行われるとき、マシンは、(オプショ
ンで)メッセージの送信者にエラーメッセージを返す代
わりに、正しい受信者、またはその現在のルーティング
テーブルおよびルールに基づいてそのマシンが正しいと
考える受信者にメッセージを転送する。
セージルーティング例を示す。VND1001は、トランスポ
ートアダプタ1005aを介して、FROMフィールドに1.2.3.4
が入った着信メッセージ1003を受け取る。VND1001は、
複数のトランスポートプロトコルと共に使用する複数の
トランスポートアダプタ1005a、1005b、および1005cを
含むことができる。VND1001は、事前定義された基準に
基づいてメッセージをルーティングまたはディスパッチ
あるいはその両方を行うようにVND1003にそれぞれが命
令するハンドラ1007-1013を使用して、受け取ったメッ
セージ1003を処理する。VND1001は、ハンドラ1007に基
づいて、メッセージのTOフィールドを7.7.4.4に修正
し、トランスポートアダプタ1005cを介してルーティン
グされたメッセージ1015を出力する。ルーティングされ
たメッセージ1015は、1.2.3.4を示す着信メッセージ100
3のFROMフィールドに基づいて、宛先アドレス7.7.4.4が
入れられたTOフィールドを含む。
うので、自己治癒システムを実施することができる。1
つのマシンがダウンすると、他のマシンが自動的に補正
し、メッセージを送るべき他のパスを見つけ、仮想ネッ
トワークをフォールトトレラントにする。一実施形態で
は、マシンを冗長性グループ内に置くことができる。冗
長性グループ内のそれぞれのマシンは、そのグループ内
の他の任意のマシンが故障しそのグループを去ったこと
を検出することができる。次いで、残りのマシンは、ダ
ウンしていることが知られているマシンの使用を回避す
るために、メッセージを転送する1つまたは複数のメッ
セージハンドラ内の情報を更新することができる。した
がってマシンは、自分のルーティングおよびロジックテ
ーブル内にコード化された命令に従って、ネットワーク
障害およびエラーを補正することができ、それを以下に
さらに述べる。他の実施形態では、1つまたは複数のマ
シンサブシステムが、ネットワークを監視して、最適な
パスおよび故障したパスを判断することができる。
ージをどのように処理するか、すなわち着信メッセージ
をどのように処理するか、メッセージにどのように応答
するか、およびメッセージをどのように転送するか、を
VND 03に命令するロジックを含む。例えば、第1ハンド
ラ109aは、ウィルスチェックを実行することができ、第
2ハンドラ109bは、セキュリティ機能を実行することが
でき、第3ハンドラ109cは、信頼性機能を実行すること
ができる等。図2内で109nによって示されるように、無
制限の数のハンドラ109を使用することができる。それ
ぞれのマシン上のネットワークアプリケーションを修正
する必要なく、与えられた任意のときに、新しいハンド
ラ109を追加することによって、仮想ネットワークに新
しい機能および能力を追加することができる。処理され
たメッセージは、論理受信者ポート111を介して出力さ
れる。論理端点は、メッセージがそこから送られるデバ
イス上の任意の物理ポートにマッピングすることができ
る。
いて、アプリケーションネットワークがそれぞれのアプ
リケーションに1組の論理端点、すなわちデバイスを提
示するように作成することができる。アプリケーション
は、非統一セマンティックルールを使用するメッセージ
を介して端点と通信することができる。例えば、第1ア
プリケーションは、第1メッセージフォーマット(例え
ば、ヘッダおよびデータ)に従って、ネットワークを介
して第2アプリケーションにメッセージ送ることができ
る。1つまたは複数のハンドラは、メッセージシンタク
スを修正することができ、その結果そのメッセージは、
第2アプリケーションによって受け取られる前に修正さ
れ、異なるメッセージシンタクスで現れる。端点は、物
理ネットワーク上にマッピングすることができ、そのネ
ットワークは、それぞれの端点において様々な実施例を
有することができ(すなわち、仕様が公に使用可能にな
ると、様々なベンダが仮想ネットワークを動作させるソ
フトウェアおよびハードウェアを提供することができ
る)、端点間で非統一のトランスポートプロトコルを使
用して通信することができる。
用すると、仮想ネットワークは自己編成的に構成するこ
とができる。すなわち、仮想ネットワークは、ネットワ
ーク上の指定されたイベントから回復し、そのイベント
に適合し、そのイベントに応答して自分自身を再編成す
るように構成することができる。イベントは、ネットワ
ークに自己適合を引き起こす任意の事前定義された条件
でよく、条件の非発生を含む。例えば、ネットワーク
は、ネットワークのノードが故障したことを検出すると
再編成するように構成することができる。このイベント
が発生すると、1つまたは複数のハンドラが、パケット
を新しい位置にルーティングするようにVNDに命令する
ことができる。他の実施例では、ネットワークパス上の
負荷が高いとき、VNDは、よりトラフィックの少ないネ
ットワークパスを介してメッセージをルーティングする
ことができる。あるいは、ユーザは、グラフィカルユー
ザインタフェース、または他の構成インタフェースを介
して仮想ネットワークを再編成することができる。
ェース(API)115を提供することができ、そのAPIを介し
て、アプリケーションプログラムがVND103とインタフェ
ースすることができる。メッセージ内容に基づくか、ま
たはそのメッセージを受け取ったトランスポートプロト
コルに基づくか、あるいはその両方に基づいてそれぞれ
のメッセージに応答するようにVNDを構成するAPI115を
使用してインタフェースするコンピュータの実行エンジ
ン(例えばオペレーティングシステムまたは仮想マシン)
のために、アプリケーションプログラムを書くことがで
きる。VNDは、プロトコルと基礎になる実行エンジンの
対話を仲介する。
される構成可能なメッセージフォーマットを示す。それ
ぞれのメッセージ301は、ヘッダ部分303およびデータ部
分305を含む。ヘッダは、データ部分内に含まれる情報
に関する情報を含む。すなわち、ヘッダは、メッセージ
301のデータ部分305に属するある種のメタデータであ
る。ヘッダ部分もデータ部分も固定長である必要はな
い。ヘッダは、ルーティングヘッダ307、信頼性ヘッダ3
09、セキュリティヘッダ311、およびアプリケーション
ヘッダ313を含むことができる。ルーティングヘッダ307
は、例えば、送信者のアドレス、受信者のアドレス、お
よびルーティング処理に向けられた他の任意の情報を含
むことができる。アドレスフィールドは、そのアドレス
が参照するエンティティまたはデバイスの仮想アドレス
を入れることができる。仮想アドレスは、物理または他
の論理アドレスをマッピングすることができる論理アド
レスである。信頼性ヘッダ309は、パケットが自分の意
図した宛先に達することを確実にする任意のヘッダを含
むことができる。セキュリティヘッダ311は、メッセー
ジ内容が、意図しない受信者にさらされないことを確実
にする任意のヘッダを含むことができる。特定のアプリ
ケーションの必要に基づいて、整合性ヘッダをセキュリ
ティまたは信頼性ヘッダと共に含めることができる。ア
プリケーションヘッダ313は、先に説明しなかった任意
のヘッダを含むことができ、ネットワークアプリケーシ
ョンによって定義される。
は、事前に存在するメッセージ機能の処理を中断するこ
となく、アプリケーションプログラムが必要なときに新
しい機能態様を追加することができるという点におい
て、構成可能プロトコルである。一実施形態においてヘ
ッダは、新しい機能態様を提供するために使用される。
新しい機能属性は、1つまたは複数のメッセージヘッダ
内に格納することができる。すなわち新しいヘッダは、
新しいヘッダ(または機能属性)を含むために1つのメッ
セージプロトコルが他のメッセージプロトコルをカプセ
ル化する従来型メッセージプロトコル一式とは異なり、
前のメッセージの処理を邪魔することなく既存メッセー
ジに追加することができる。したがって、このメッセー
ジプロトコルは、新しい機能を提供するために必要なと
きに、アプリケーションによって追加ヘッダフィールド
を追加または削除することができるという点で拡張可能
である。これは、全てのネットワークアプリケーション
がそれぞれの新しいメッセージヘッダを理解するように
プログラムする必要なく、ネットワークアプリケーショ
ンが、新しいヘッダフィールドを定義しそれらのフィー
ルドをメッセージフォーマットに組込むことを可能にす
る。それぞれのアプリケーションプログラムは、特定ア
プリケーションプログラムが理解するように構成された
ヘッダのみを使用する。そのアプリケーションプログラ
ムは、自分が理解しないまたは適切に解釈できないヘッ
ダを無視することができる。
ベースのプロトコルか、またはそれぞれのTCPメッセー
ジのデータ部分に追加ヘッダが挿入される修正されたTC
Pプロトコルでよい。アプリケーションが新しいヘッダ
をメッセージに追加するとき、そのアプリケーション
は、新しいヘッダに基づいてルーティングまたはディス
パッチあるいはその両方を行う1つまたは複数のハンド
ラを作成するようにそれぞれのVNDに命令するメッセー
ジを1つまたは複数のVNDに送ることができる。
ジ内の任意のヘッダまたはデータフィールドあるいはそ
の両方、またはそれぞれのメッセージ内のヘッダまたは
データフィールドあるいはその両方の任意の組合せに基
づいて、ルーティング決定を行うことができる。追加の
またはより少ないタイプのヘッダを使用することができ
る。それぞれのVND103内のそれぞれのハンドラは、メッ
セージ内容に基づくルーティングのための命令を提供す
る。
それぞれのメッセージ内に「アクション」ヘッダを定義
し含んで、ユーザが受信者に要求するアクションを示す
ことができる。ネットワークユーザが予約のアクション
を指定し、メッセージデータ305を「野球のスコア」に
設定すれば、そのメッセージは、送信者のユーザが野球
のスコアの電子メールリストを予約したいと考えている
ことを第1サーバに示すことができる。さらに、アクシ
ョンフィールドには、仮想機能名を入れて、そのフィー
ルドを受け取るそれぞれのマシンで具体的機能にマッピ
ングすることができる。ネットワークユーザが、予約の
アクションを指定してメッセージデータ305を「MSDN」
に設定すれば、そのメッセージは、送信者のユーザが
「MSDN Magazine」という名前の物理的雑誌を予約した
いと考えていることを第2サーバに示すことができる。
したがって、2つのアプリケーションはともに、それぞ
れ異なる方法で予約というアクションを使用することが
でき、それらのそれぞれの予約の機能によって定義され
る。
プリケーションサービスプロバイダ(ASP)が顧客に3つの
レベルのサービスを提供すると考える。ASPは、顧客が
予約したサービスレベルに基づいて、3つの様々なサー
バまたはアプリケーションあるいはその両方の1つにメ
ッセージをルーティングすることができる。ASPは、サ
ービスレベルなどと呼ぶ新しいアプリケーションヘッダ
を定義かつ使用してそれぞれの顧客に対するサービスレ
ベルを示すことができる。クライアントアプリケーショ
ンは、サービスレベルフィールドに金、銀または銅の1
つを入れ、具体的顧客が支払ったかまたはそうでなけれ
ば予約したか、あるいはその両方のサービスのレベルを
示すことができる。マスタサーバ1105は、顧客1101から
のすべての着信メッセージをネットワーク1103を介して
受け取ることができる。次いでマスタサーバディスパッ
チャ、例えばVND103は、サービスレベルに基づいて着信
顧客メッセージをルーティングすることができる。金の
サービスを注文した顧客は、高速応答サーバ1107、すな
わち1組の完全なサービスをサポートするサーバ、また
は他のプレミアレベルのサーバにルーティングすること
ができる。銀のサービスを注文した顧客は、中速応答サ
ーバ1109、すなわち基本サービスに加えて選択されたサ
ービスをサポートするサーバ、または他の中間サービス
レベルサーバにルーティングすることができる。銅サー
ビスを注文した顧客は、低速応答サーバ1111、すなわち
基本サービスのみをサポートするサーバ、または他の低
サービスレベルサーバにルーティングすることができ
る。
者ユーザの地理的位置に関する地帯という名前のヘッダ
フィールドを含むことができる。次いで、送信者ユーザ
に最も近くに位置するサーバにメッセージが送られるよ
うに、送信者の物理位置に基づいて、ルーティング決定
を行うことができる。例えば2つのサーバを保守するシ
ステムでは、送信者ユーザがオレゴン州ポートランドに
居ることを地理的位置ヘッダフィールドが示すとき、デ
バイスはワシントン州シアトル内の第1サーバにメッセ
ージをルーティングすることができ、送信者ユーザがミ
シガン州デトロイト内に居ることを地理的位置ヘッダフ
ィールドが示すときは、イリノイ州シカゴ内の第2サー
バにメッセージをルーティングすることができる。これ
は、等価なサーバが近くにあるとき、遠いサーバにメッ
セージを送ることを回避する。
に対してサービス攻撃の拒否が発せられるとき、それぞ
れのメッセージの「信任状」フィールドに基づいてすべ
てのメッセージを拒絶するハンドラを作成することがで
きる。「信任状」フィールドは、メッセージの「from」
フィールドと同じでも、そうでなくてもよい。例えば
「信任状」フィールドは、送信者ユーザの名前、および
送信者が自分で言っている者であることを照明する認証
を含むことができるのに対し、「from」フィールドは、
送信者のIPアドレスまたは論理名を単に含むに過ぎな
い。メッセージの「信任状」フィールドが送信者マシン
に対する適切な信任状を含むときに、ハンドラが、メッ
セージを受け付けるように構成することができる。メッ
セージが拒絶されると、そのメッセージは完全に無視さ
れ、正当なメッセージに応答するためのリソースを解放
することができる。
ネットワークを自己治癒的に構成することができる。フ
ァイアウォール403の背後に位置するマシン401は、ネッ
トワーク接続404上で着信メッセージを受け取ることが
できる。マシン401は、仮想ネットワーク(すなわち、本
明細書に議論した適応ディスパッチャおよびトランスポ
ートアダプタで構成された物理ネットワーク)を介して
他のマシン407、409、411に接続することができる。そ
れぞれのマシン401、407、409、および411は、VND405を
含む。それぞれのマシン401、407、409、および411は、
1つまたは複数の仮想位置を格納することができる。す
なわち、マシン1は、「alpha」として知られているサー
バを格納し実行することができる。マシン2は、「brav
o」として知られているサーバを収容し格納することが
できる。マシン3は、「charlie」、「delta」および「e
cho」として知られているサーバを収容し格納すること
ができる。マシン4は、「foxtrot」および「golf」とし
て知られているサーバを収容し格納することができる。
仮想ネットワーク内のそれぞれのVNDは、それぞれの仮
想位置をその各物理マシンにマッピングするハンドラで
構成される。例えば、デバイス401が、仮想位置bravoに
宛てられたメッセージを受け取るとき、デバイス401のV
ND内の仮想位置マッピングハンドラは、そのメッセージ
をマシン2にルーティングするようにVNDに命令する。し
かし、デバイス401は、ファイアウォールでの着信ソー
スであるので、マシン1内のVND405は、ウィルスに対し
てすべての着信メッセージを最初にチェックし他のセキ
ュリティ対策を実行する追加ハンドラで構成することが
できる。
は、そのネットワーク状況を判断するために他のマシン
またはサーバに定期的にポーリングするようにハンドラ
を作成することができる。すなわち、サーバ「golf」が
「echo」のためのバックアップサーバである場合、マシ
ン4は、マシン3、具体的にはサーバ「echo」が機能して
いることを確認するために定期的間隔でマシン3にポー
リングするように構成することができる。マシン4が指
定された時間、例えば10秒以内にマシン3(または「ech
o」)から肯定応答を受け取らないとき、マシン4がそれ
ぞれのマシンのVNDにルーティングメッセージを送り始
めるフェイルオーバ(failover)シーケンスをマシン4が
起動することができ、マシン3上の「echo」に対するメ
ッセージを受け取ったとき、そのメッセージは代わり
に、マシン4上の「golf」に送るべきであるということ
をそれぞれのVNDに示す。
使用して、サーバが1つのマシンから他に、例えば1つの
IPアドレスから第2IPアドレスに移動するとき、ネット
ワーク上で動作するそれぞれのアプリケーションプログ
ラムを再構成する必要なく、仮想マッピングをそれぞれ
のVND内で更新することができる。アプリケーションプ
ログラムがサーバにメッセージを送るとき、それぞれの
VNDは、そのサーバの新しい位置にメッセージを自動的
に再ルーティングする。仮想マッピングは、手作業で、
例えば新しいサーバがシステムに追加されることの結果
として更新することができ、またはそのマッピングは、
自動的に、例えば上述の自動治癒または適合イベントの
結果として更新することができる。図12は、サンプル仮
想マッピングテーブルを示す。図13は、ウェブサイトww
w.foo.comを収容する第1マシンが故障した後の同じテー
ブル、および冗長性グループ内の他のマシンにメッセー
ジを再ルーティングする上述の故障に適合したシステム
を示す。
いサーバおよびネットワークアプリケーションの容易な
セットアップおよびテストもまた容易にする。例えば、
マシン2上のサーバbravoは、本番の電子メールサーバで
よい(すなわちそのサーバは、仮想ネットワーク内で現
在使用される電子メールサーバである)。仮想ネットワ
ークの所有者は、新しいまたは異なる機能を有するアッ
プグレードされた電子メールサーバをテストしたいと考
えることができる。一般に、その新しいサーバをテスト
するためであれば、ユーザは、自分の電子メールクライ
アントをその新しいサーバに宛てなければならない。こ
れは単一ユーザに対しては不便ではないが、新しいサー
バがライブになるときに、大きな組織内の全てのユーザ
のサーバ名を変更することは大きな不便となる可能性が
ある。本発明的システムを使用すると、同様にbravoと
いう名前でbravoと参照されるテストサーバをマシン3上
にインストールすることができる。それぞれのVNDは、b
ravoに対するメッセージをマシン2にルーティングする
ようにそのVNDに命令するハンドラで構成することがで
きる。しかし、送信者が所定のユーザ、例えば新しいサ
ーバ(「bravo」)をテストしているネットワーク管理
者、であるとき、bravoに対するメッセージをマシン3に
ルーティングするように同じまたは異なるハンドラが構
成される。したがって、テストユーザのマシンの再構成
は必要がない。さらに、新しいサーバ「bravo」が本番
に置かれる準備ができているとき、どのユーザの電子メ
ールサービスを中断することもなく、すべてのbravoメ
ッセージをマシン3に宛てることによって、ネットワー
クマッピングを変更することができる。仮想マッピング
が変更されたので、それぞれのユーザは、新しい電子メ
ールサーバを透過的に使用し始めるであろう。
通信およびサービスが安全、適合可能、信頼可能、自己
治癒的、かつプラットフォーム非依存であることを確実
化する1組の仮想ネットワークサービスを提供すること
ができる。仮想ネットワーク同期サービス703は、ネッ
トワーク内の分散データの同期がとられ続けることを確
実にする。仮想ネットワークイベンティングサービス70
5は、イベントの発生または非発生に基づいて、新しい
ルーティングまたはディスパッチあるいはその両方のル
ールを作成する。仮想ネットワークメッセージングサー
ビス707は、仮想名前および位置に従ってメッセージを
ルーティングする。仮想ネットワーク名前サービス709
は、仮想名前の任意の部分文字列に基づく名前解決サー
ビスを提供する。仮想ネットワークグループサービス71
1は、名前マッピングテーブルを管理する。仮想ネット
ワークアドレシングサービス713は、固定長アドレス
名、例えばIPv6アドレスに対するネーミングおよびルー
ティングサービスを実行する。しかし、仮想ネットワー
クアドレシングサービスは、固定サイズアドレスの任意
のフラットアドレス空間で使用することができる。仮想
ネットワークルーティングサービス715は、構成可能メ
ッセージプロトコルを使用して、動的ヘッダと共に動的
ルールに基づいてルーティングかつディスパッチする。
仮想ネットワークセキュリティサービス717は、ネット
ワークのすべてのレベルにわたって提供され、メッセー
ジ内容が安全かつ真正であることを確実にすることがで
きる。仮想ネットワーク管理719は、名前管理、ルーテ
ィング/ディスパッチハンドラ、イベンティングなど、
すべてのレベルにわたって実行することができる。仮想
ネットワーク監視サービス721は、当技術分野で知られ
ているように、ネットワーク管理者が、ネットワーク使
用状況、帯域幅、ボトルネック点などを監視することを
可能にする。
は、7レベルの開放型システム間相互接続(OSI)の修正バ
ージョンに基づくことができる。OSIモデルで使用する
ことができる1つのプロトコルスタックは、TCP/IPプロ
トコルスタックである。本発明は、最上部アプリケーシ
ョン層と最上部アプリケーション層の直下の層の間に層
を挿入することによって、OSIネットワークモデルまた
は他の任意のネットワークモデル内に追加レベルの抽象
化を挿入することができる。仮想ネットワーク(VN)層と
呼ばれる新しい層は、VN層によって定義される統一的方
法でアプリケーションが相互動作できるように、すべて
のアプリケーションにわたって一貫しているべきであ
る。VN層が統合されたネットワークは、仮想ネットワー
クと呼ばれる。一実施形態においてVN層は、仮想ネット
ワークディスパッチャおよび任意の必要なトランスポー
トアダプタを含み、メッセージハンドラおよび仮想アド
レスマッピングテーブルに基づいてメッセージをルーテ
ィングかつディスパッチする。
ワークは、異なるメッセージ内容に基づいて、個々のメ
ッセージ毎にメッセージをルーティングしディスパッチ
することができる。本発明は、APIを使用してプログラ
マが必要なように適合させ構成することができるネット
ワークプロトコルを提供する。プログラマおよびAPIを
使用するプログラムは、着信メッセージをどのようにル
ーティングしディスパッチするかをVNDに命令すること
ができる。すなわち、プログラマは、メタメッセージを
VNDに送り、ここでそれぞれのメタメッセージは、APIに
従って構築され、1つまたは複数のルーティングまたは
ディスパッチングあるいはその両方の命令を提供する。
的ルーティング手順の流れ図を示す。ステップ801にお
いて、ユーザは、「foo」として知られているサービス
にメッセージを送ることを決定する。ステップ803にお
いて、マシンはサービス「foo」に対するメッセージを
作成する。ステップ805において、サービス名「foo」が
仮想アドレスマッピングテーブルに基づいて仮想アドレ
スにマッピングされる。ステップ807において、メッセ
ージは必要に応じて安全にされる。一実施形態では、ウ
ェブサービスセキュリティ言語(WS-Security)またはウ
ェブサービスライセンス言語(WS-License)あるいはその
両方によって定義される拡張子などのSOAP拡張子を使用
してセキュリティが実行される。他の実施形態におい
て、適切な部分を選択するためにメッセージ上で変換が
実行される。選択された部分に対して要約が計算され、
送信者によって暗号化/署名される。メッセージの部分
は、秘密であってよい。この場合、それらの部分は、共
用鍵、または受信者のために暗号化された新しい鍵を使
用して暗号化される。ステップ809において、適用可能
なときには、仮想アドレスがグループアドレス(GADDR)
にマッピングされる。ステップ811において、適応ディ
スパッチャ(すなわち、VND)は、最良のターゲットを判
断し、ステップ813において、GADDRを仮想アドレスにマ
ッピングする。ステップ815において、仮想アドレス
が、物理アドレスにマッピングされ、ステップ817にお
いて、メッセージがその物理アドレスに送られる。受信
者マシンは、ステップ819でメッセージを受け取り、ス
テップ821においてセキュリティを検証する。
ィスク、CD-ROM、取外し可能記憶装置、ハードディス
ク、システムメモリ、その他のデータ記憶媒体などのコ
ンピュータ可読媒体上に格納されたコンピュータ可読命
令として実施することができる。あるいは、本発明的方
法は、ハードウェアおよびソフトウェアの組合せ、また
はハードウェアのみで実施することができる。図6は、
上述の実施形態の1つまたは複数に従って使用すること
ができるコンピュータ可読媒体601のブロック図を示
す。コンピュータ可読媒体601は、コンピュータ実行可
能コンポーネント、またはソフトウェアモジュール603-
613を格納する。より多数または少数のソフトウェアモ
ジュールを別法として使用することができる。それぞれ
のコンポーネントは、実行可能プログラム、データリン
クライブラリ、構成ファイル、データベース、グラフィ
カルイメージ、2進データファイル、テキストデータフ
ァイル、オブジェクトファイル、ソースコードファイル
などでよい。1つまたは複数のコンピュータプロセッサ
が1つまたは複数のソフトウェアモジュールを実行する
とき、ソフトウェアモジュールは、対話して、本発明の
教示に従って1つまたは複数のコンピュータシステムに
実行させる。
具体的実施例に関して本発明を述べたが特許請求の範囲
において説明する本発明の精神および範囲内に当たる、
上述のシステムおよび手法の多数の変形形態および置換
があることを当業者は理解するであろう。
内の2つのノードのブロック図である。
ディスパッチャのブロック図である。
ジプロトコルを示す図である。
のブロック図である。
クのブロック図である。
トウェアを格納するコンピュータ可読媒体のブロック図
である。
によって提供される1組のサービスを示す図である。
実行する流れ図である。
層ネットワークプロトコルスタックを示す図である。
クディスパッチャを介するデータフローを示す図であ
る。
ーキテクチャを示す図である。
ある。
のサンプル仮想マッピングテーブルを示す図である。
Claims (42)
- 【請求項1】 それぞれがメッセージ内容の任意の部分
に基づいてルーティングされるメッセージを、ルーティ
ングしディスパッチするメッセージディスパッチャと、 アプリケーションプログラムが前記メッセージディスパ
ッチャと通信して前記メッセージ内容の前記任意の部分
を定義するインタフェースとを備えたことを特徴とする
装置。 - 【請求項2】 前記メッセージディスパッチャが、トラ
ンスポートに依存しないメッセージディスパッチャを備
え、前記メッセージディスパッチャがトランスポートに
依存しないプロトコルを使用して通信することを特徴と
する請求項1に記載の装置。 - 【請求項3】 前記メッセージディスパッチャが、第1
ネットワークメッセージの第1属性に基づいて前記第1ネ
ットワークメッセージをルーティングし、前記第1属性
とは異なる第2ネットワークメッセージの第2属性に基づ
いて前記第2ネットワークメッセージをルーティングす
ることを特徴とする請求項1に記載の装置。 - 【請求項4】 前記メッセージディスパッチャが、第1
の送信者から受信者に宛てた第1ネットワークメッセー
ジを第1サーバにルーティングし、 前記メッセージディスパッチャが、第2の送信者から前
記受信者に宛てた第2ネットワークメッセージを第2サー
バにルーティングすることを特徴とする請求項1に記載
の装置。 - 【請求項5】 前記メッセージディスパッチャが、トラ
ンスポート層プロトコルより上の仮想ネットワークプロ
トコルを使用してメッセージをルーティングすることを
特徴とする請求項1に記載の装置。 - 【請求項6】 前記トランスポート層プロトコルと前記
仮想ネットワークプロトコルの間でメッセージを変換す
るトランスポートアダプタをさらに備えたことを特徴と
する請求項1に記載の装置。 - 【請求項7】 前記メッセージ内容の前記任意の部分
が、アプリケーションレベルヘッダを含むことを特徴と
する請求項1に記載の装置。 - 【請求項8】 メッセージディスパッチャモジュール
と、 前記メッセージディスパッチャをトランスポートプロト
コルにインタフェースするためのトランスポートアダプ
タと、 アプリケーションプログラムが前記メッセージディスパ
ッチャと通信するインタフェースと、 第1ネットワークメッセージの第1属性に基づいて前記第
1ネットワークメッセージをルーティングすること、お
よび第2ネットワークメッセージの、前記第1属性とは異
なる第2属性に基づいて、前記第2ネットワークメッセー
ジをルーティングすることを前記メッセージディスパッ
チャに命令する格納されたルールとを備えるデータ処理
装置であって、前記第1および第2属性が、それぞれのネ
ットワークメッセージ内に含まれる1組のヘッダおよび
データから選択されることを特徴とするデータ処理装
置。 - 【請求項9】 前記第1属性がアプリケーションによっ
て作成されたヘッダを含むことを特徴とする請求項8に
記載のデータ処理装置。 - 【請求項10】 それぞれのメッセージルールが、メッ
セージハンドラ内に格納されることを特徴とする請求項
8に記載のデータ処理装置。 - 【請求項11】 所定の条件の発生時に第2メッセージ
ハンドラを変更する第1メッセージハンドラを備えたこ
とを特徴とする請求項10に記載のデータ処理装置。 - 【請求項12】 所定の条件の発生時に前記第1ネット
ワークメッセージを変更する第1メッセージハンドラを
備えたことを特徴とする請求項10に記載のデータ処理装
置。 - 【請求項13】 前記所定の条件が、イベントの非発生
を含むことを特徴とする請求項11に記載のデータ処理装
置。 - 【請求項14】 実行されたときに、 (i)第1の所定の間隔で第2装置にポーリングするステッ
プと、 (ii)前記第2装置からポーリング応答を受け取るステッ
プとを前記データ処理装置に実行させるコンピュータ実
行可能命令を、前記メッセージディスパッチャモジュー
ルが備え、 前記所定の条件が、所定の時間にステップ(ii)が発生し
ないことを含むことを特徴とする請求項13に記載のデー
タ処理装置。 - 【請求項15】 前記所定の条件が満たされたとき、前
記メッセージディスパッチャが、元々前記第2装置に宛
てられたメッセージを第3装置に宛先変更するように前
記第2メッセージハンドラを変更することを特徴とする
請求項14に記載のデータ処理装置。 - 【請求項16】 前記コンピュータ実行可能命令が、ル
ーティング情報を第2メッセージディスパッチャに送っ
て前記第2および第3装置に対応するルーティング情報の
変更を示すステップを、前記データ処理装置にさらに実
行させることを特徴とする請求項15に記載のデータ処理
装置。 - 【請求項17】 (i)第1ネットワークメッセージの第1
属性に基づいて、前記第1ネットワークメッセージをル
ーティングするステップと、 (ii)第2ネットワークメッセージの、前記第1属性とは異
なる第2属性に基づいて、前記第2ネットワークメッセー
ジをルーティングするステップとを含む、ネットワーク
メッセージをルーティングする方法であって、 前記第1および第2属性が、それぞれのネットワークメッ
セージの1組のヘッダおよびデータから選択された任意
のフィールドでよいことを特徴とする方法。 - 【請求項18】 (iii)メッセージフィールドおよびフ
ィールド条件を含む命令を受け取るステップと、 (iv)前記受け取った命令に基づいてメッセージハンドラ
を修正するステップとをさらに含むことを特徴とする請
求項17に記載の方法。 - 【請求項19】 ステップ(iii)において、前記命令
が、ネットワークアプリケーションプログラムから受け
取られることを特徴とする請求項18に記載の方法。 - 【請求項20】 ステップ(iii)において、前記命令が
ユーザ入力に基づくことを特徴とする請求項18に記載の
方法。 - 【請求項21】 ステップ(i)および(ii)において、仮
想ネットワークプロトコルからトランスポートプロトコ
ルにメッセージを変換するトランスポートアダプタにそ
れぞれのメッセージが出力されることを特徴とする請求
項17に記載の方法。 - 【請求項22】 ステップ(i)において、前記第1属性
が、アプリケーションによって作成されたヘッダを含む
ことを特徴とする請求項17に記載の方法。 - 【請求項23】 ルーティング命令をメッセージハンド
ラ内に格納するステップをさらに含む方法であって、ス
テップ(i)および(ii)が、格納されたメッセージハンド
ラに基づいて実行されることを特徴とする請求項17に記
載の方法。 - 【請求項24】 所定の条件が発生したときに、第1メ
ッセージハンドラを変更するステップをさらに含むこと
を特徴とする請求項23に記載の方法。 - 【請求項25】 メッセージハンドラ内に格納された所
定の条件をメッセージが満たしたときに、ネットワーク
メッセージを変更するステップをさらに含むことを特徴
とする請求項23に記載の方法。 - 【請求項26】 前記所定の条件が、イベントの非発生
を含むことを特徴とする請求項24に記載の方法。 - 【請求項27】 (iii)所定の間隔で第1データ処理デバ
イスにポーリングするステップと、 (iv)前記第1データ処理デバイスからポーリング応答を
受け取るステップと (v)ステップ(iv)が所定の時間に発生しなかったとき
に、元々前記第1データ処理デバイスに宛てられたメッ
セージを第2データ処理デバイスに宛てるためにメッセ
ージハンドラを変更するステップとをさらに含むことを
特徴とする請求項17に記載の方法。 - 【請求項28】 ルーティング情報をメッセージディス
パッチャに送って、前記第1および第2データ処理デバイ
スに対応するルーティング情報の変更を示すステップを
さらに含むことを特徴とする請求項27に記載の方法。 - 【請求項29】 前記ルータによって実行されたとき
に、 (i)ネットワークアプリケーションから受け取ったルー
ティング情報を格納するステップであって、前記ルーテ
ィング情報が、メッセージフィールド、フィールド条
件、およびルーティング命令を含むステップと、 (ii)ネットワークメッセージを受け取るステップと、 (iii)前記ネットワークメッセージと前記格納されたル
ーティング情報を比較することによって、前記ネットワ
ークメッセージを処理するステップと、 (iv)前記受け取ったメッセージのメッセージフィールド
が前記フィールド条件を満たしたとき、前記ルーティン
グ命令を実行するステップとを実行するコンピュータ実
行可能命令を含むことを特徴とするネットワークルー
タ。 - 【請求項30】 ステップ(iv)において、前記ルーティ
ング命令が、前記メッセージを変更することを含むこと
を特徴とする請求項29に記載のネットワークルータ。 - 【請求項31】 ステップ(iv)において、前記ルーティ
ング命令が、アプリケーションレベルヘッダに基づいて
前記メッセージをルーティングすることを含むことを特
徴とする請求項29に記載のネットワークルータ。 - 【請求項32】 トランスポート層プロトコルとネット
ワークプロトコルの間でメッセージを変換する少なくと
も1つのトランスポートアダプタと、 メッセージ内容の任意の部分に基づいてメッセージをル
ーティングしディスパッチするメッセージディスパッチ
ャとをそれぞれが備える複数のコンピュータを備えるコ
ンピュータネットワークであって、それぞれのコンピュ
ータ内の前記メッセージディスパッチャが、前記仮想ネ
ットワークプロトコルのメッセージを、前記少なくとも
1つのトランスポートアダプタを使用して前記トランス
ポート層プロトコルを介してルーティングすることを特
徴とするコンピュータネットワーク。 - 【請求項33】 第1コンピュータ内の第1メッセージデ
ィスパッチャが、新しいトランスポート層プロトコルと
前記ネットワークプロトコルの間でメッセージを変換す
る新しいトランスポートアダプタを追加することによっ
て、前記新しいトランスポートプロトコルで使用するた
めにネットワークアプリケーションを再構成する必要な
く、前記新しいトランスポートプロトコルで使用するた
めに構成可能であることを特徴とする請求項32に記載の
コンピュータネットワーク。 - 【請求項34】 OSIプロトコルスタックの層7と層6の
間に挿入された少なくとも1つの仮想化されたコンポー
ネントを備えたことを特徴とする仮想ネットワーク。 - 【請求項35】 前記少なくとも1つの仮想化されたコ
ンポーネントが、仮想ネットワークメッセージディスパ
ッチャを備えたことを特徴とする請求項34に記載の仮想
ネットワーク。 - 【請求項36】 前記少なくとも1つの仮想化されたコ
ンポーネントが、同期モジュールを備えたことを特徴と
する請求項34に記載の仮想ネットワーク。 - 【請求項37】 前記少なくとも1つの仮想化されたコ
ンポーネントが、イベンティングモジュールを備えたこ
とを特徴とする請求項34に記載の方法。 - 【請求項38】 前記少なくとも1つの仮想化されたコ
ンポーネントが、名前モジュールを備えたことを特徴と
する請求項34に記載の仮想ネットワーク。 - 【請求項39】 前記少なくとも1つの仮想化されたコ
ンポーネントがグループモジュールを備えたことを特徴
とする請求項34に記載の仮想ネットワーク。 - 【請求項40】 前記少なくとも1つの仮想化されたコ
ンポーネントが、アドレシングモジュールを備えたこと
を特徴とする請求項34に記載の仮想ネットワーク。 - 【請求項41】 前記少なくとも1つの仮想化されたコ
ンポーネントが、セキュリティモジュールを備えたこと
を特徴とする請求項34に記載の仮想ネットワーク。 - 【請求項42】 前記少なくとも1つの仮想化されたコ
ンポーネントが、管理モジュールを備えたことを特徴と
する請求項34に記載の仮想ネットワーク。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32979601P | 2001-10-16 | 2001-10-16 | |
US60/329,796 | 2001-10-16 | ||
US34637001P | 2001-10-19 | 2001-10-19 | |
US60/346,370 | 2001-10-19 | ||
US09/993,656 US7257817B2 (en) | 2001-10-16 | 2001-11-27 | Virtual network with adaptive dispatcher |
US09/993,656 | 2001-11-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003208365A true JP2003208365A (ja) | 2003-07-25 |
JP4503225B2 JP4503225B2 (ja) | 2010-07-14 |
Family
ID=27406692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002302252A Expired - Fee Related JP4503225B2 (ja) | 2001-10-16 | 2002-10-16 | 適応ディスパッチャを有する仮想ネットワーク |
Country Status (5)
Country | Link |
---|---|
US (1) | US7257817B2 (ja) |
EP (1) | EP1303096B1 (ja) |
JP (1) | JP4503225B2 (ja) |
CN (1) | CN1288558C (ja) |
MX (1) | MXPA02010199A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006072647A (ja) * | 2004-09-01 | 2006-03-16 | Canon Inc | ファイル管理装置 |
JP2006129446A (ja) * | 2004-10-27 | 2006-05-18 | Morgan Stanley | フォールト・トレラント・ネットワーク・アーキテクチャ |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019836B2 (en) | 2002-01-02 | 2011-09-13 | Mesh Comm, Llc | Wireless communication enabled meter and network |
US6915338B1 (en) * | 2000-10-24 | 2005-07-05 | Microsoft Corporation | System and method providing automatic policy enforcement in a multi-computer service application |
US7113900B1 (en) * | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
US7606898B1 (en) * | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US6971001B1 (en) * | 2001-05-17 | 2005-11-29 | Accenture Global Services Gmbh | General and reusable components for defining net-centric application program architectures |
US7373644B2 (en) * | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
EP1303097A3 (en) * | 2001-10-16 | 2005-11-30 | Microsoft Corporation | Virtual distributed security system |
US7536712B2 (en) * | 2001-10-16 | 2009-05-19 | Microsoft Corporation | Flexible electronic message security mechanism |
US20030074579A1 (en) * | 2001-10-16 | 2003-04-17 | Microsoft Corporation | Virtual distributed security system |
US8015204B2 (en) | 2001-10-16 | 2011-09-06 | Microsoft Corporation | Scoped access control metadata element |
US7194553B2 (en) | 2001-10-16 | 2007-03-20 | Microsoft Corporation | Resolving virtual network names |
US7676540B2 (en) * | 2001-10-16 | 2010-03-09 | Microsoft Corporation | Scoped referral statements |
US8296433B2 (en) * | 2002-05-22 | 2012-10-23 | International Business Machines Corporation | Virtualization method and apparatus for integrating enterprise applications |
US7610404B2 (en) * | 2002-05-22 | 2009-10-27 | Cast Iron Systems, Inc. | Application network communication method and apparatus |
DE10392750T5 (de) * | 2002-06-05 | 2005-11-03 | Sap Aktiengesellschaft | Vorrichtung und Verfahren zum Abstimmen von variablen Hilfsinformationen auf Hauptbüroinformationen in einem Firmensystem |
US20080301298A1 (en) * | 2002-07-29 | 2008-12-04 | Linda Bernardi | Identifying a computing device |
US8015303B2 (en) * | 2002-08-02 | 2011-09-06 | Astute Networks Inc. | High data rate stateful protocol processing |
US7814218B1 (en) * | 2002-10-17 | 2010-10-12 | Astute Networks, Inc. | Multi-protocol and multi-format stateful processing |
US8151278B1 (en) | 2002-10-17 | 2012-04-03 | Astute Networks, Inc. | System and method for timer management in a stateful protocol processing system |
US20040078471A1 (en) * | 2002-10-18 | 2004-04-22 | Collatus Corporation, A Delaware Corportion | Apparatus, method, and computer program product for building virtual networks |
US7373383B2 (en) * | 2002-12-06 | 2008-05-13 | International Business Machines Corporation | Location messaging method for delivering messages in a global virtual space |
US8122106B2 (en) | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7689676B2 (en) | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
US20040210623A1 (en) * | 2003-03-06 | 2004-10-21 | Aamer Hydrie | Virtual network topology generation |
JP3969654B2 (ja) * | 2003-03-07 | 2007-09-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Soapメッセージ作成方法並びに処理方法、情報処理方法、情報処理装置及びプログラム |
EP1625358A1 (en) * | 2003-05-12 | 2006-02-15 | Power Measurement Ltd | Time coordinating energy monitoring system |
US8321590B2 (en) * | 2003-05-22 | 2012-11-27 | International Business Machines Corporation | Application network communication |
US9317570B2 (en) * | 2003-07-11 | 2016-04-19 | Ca, Inc. | System and method for managing user data in a plurality of databases |
US7788214B2 (en) * | 2003-07-11 | 2010-08-31 | Computer Associates International, Inc. | XML configuration technique and graphical user interface (GUI) for managing user data in a plurality of databases |
US7926064B2 (en) * | 2003-07-11 | 2011-04-12 | Computer Associates Think, Inc. | Business transformation logic engine and handlers |
GB0328888D0 (en) | 2003-12-12 | 2004-01-14 | British Telecomm | Distributed computer system |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
US20050246529A1 (en) | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US20050276240A1 (en) * | 2004-05-27 | 2005-12-15 | Gupta Vivek G | Scheme for seamless connections across heterogeneous wireless networks |
US7607011B1 (en) * | 2004-07-16 | 2009-10-20 | Rockwell Collins, Inc. | System and method for multi-level security on a network |
US20060168268A1 (en) * | 2004-12-02 | 2006-07-27 | International Business Machines Corporation | Specific method of setting transport-specific properties from transport-agnostic clients |
US7644184B2 (en) * | 2004-12-08 | 2010-01-05 | International Business Machines Corporation | Universal adapter |
US7984118B2 (en) * | 2004-12-14 | 2011-07-19 | General Electric Company | Persistent configuration in a multiple processor repairable system |
US7418006B2 (en) * | 2005-03-08 | 2008-08-26 | Microsoft Corporation | Virtual endpoints |
US7802144B2 (en) | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US7797147B2 (en) | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
US20060271634A1 (en) * | 2005-05-25 | 2006-11-30 | England Laurence E | Method, system, and program for processing a message with dispatchers |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US20070084638A1 (en) * | 2005-10-19 | 2007-04-19 | Clyde Bohnsack | Drilling fluid flow facilitation |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US7761595B1 (en) | 2006-01-25 | 2010-07-20 | Sprint Communications Company L.P. | Dynamic server addition using virtual routing |
US7464151B1 (en) * | 2006-01-25 | 2008-12-09 | Sprint Communications Company L.P. | Network centric application failover architecture |
US7523340B2 (en) * | 2006-05-31 | 2009-04-21 | Microsoft Corporation | Support self-heal tool |
US8988995B2 (en) * | 2007-07-23 | 2015-03-24 | Mitel Network Corporation | Network traffic management |
US7969872B2 (en) * | 2007-07-23 | 2011-06-28 | Mitel Networks Corporation | Distributed network management |
US20090216639A1 (en) * | 2008-02-25 | 2009-08-27 | Mark Joseph Kapczynski | Advertising selection and display based on electronic profile information |
US20090216563A1 (en) * | 2008-02-25 | 2009-08-27 | Michael Sandoval | Electronic profile development, storage, use and systems for taking action based thereon |
US8458285B2 (en) | 2008-03-20 | 2013-06-04 | Post Dahl Co. Limited Liability Company | Redundant data forwarding storage |
US9203928B2 (en) | 2008-03-20 | 2015-12-01 | Callahan Cellular L.L.C. | Data storage and retrieval |
US8019864B2 (en) | 2009-06-19 | 2011-09-13 | Microsoft Corporation | Using transport-independent resource status |
US8984647B2 (en) | 2010-05-06 | 2015-03-17 | Atigeo Llc | Systems, methods, and computer readable media for security in profile utilizing systems |
US9563751B1 (en) | 2010-10-13 | 2017-02-07 | The Boeing Company | License utilization management system service suite |
US10938868B2 (en) * | 2012-12-07 | 2021-03-02 | Unisys Corporation | Application service integration |
US20150379225A1 (en) * | 2014-06-27 | 2015-12-31 | Michael Scott Plasse | System and method for securely managing medical interactions |
US9336040B2 (en) * | 2014-09-15 | 2016-05-10 | Intel Corporation | Techniques for remapping sessions for a multi-threaded application |
US10581767B1 (en) * | 2015-09-23 | 2020-03-03 | Veritas Technologies Llc | Systems and methods for email journaling |
US10025605B2 (en) * | 2016-04-08 | 2018-07-17 | Advanced Micro Devices, Inc. | Message handler compiling and scheduling in heterogeneous system architectures |
US10419243B2 (en) * | 2016-09-09 | 2019-09-17 | Johnson Controls Technology Company | Smart gateway devices, systems and methods for providing communication between HVAC system networks |
US11880413B2 (en) * | 2017-06-02 | 2024-01-23 | Qualtrics, Llc | Transforming datasets for visualization within widgets across multiple platforms and software applications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10290257A (ja) * | 1997-04-16 | 1998-10-27 | Sharp Corp | メッセージ中継装置及び通信システム |
JP2000010880A (ja) * | 1998-06-22 | 2000-01-14 | Ricoh Co Ltd | 電子メール転送装置 |
JP2001230803A (ja) * | 2000-02-15 | 2001-08-24 | Toshiba Corp | 位置識別子管理装置及び移動計算機並びに位置識別子管理方法及び位置識別子処理方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61158257A (ja) * | 1984-12-29 | 1986-07-17 | Hashimoto Corp | ビデオテツクス受信中の電話応対方式 |
US4852151A (en) * | 1988-02-24 | 1989-07-25 | Hayes Microcomputer Products, Inc. | Modem with call waiting |
KR910002934B1 (ko) * | 1988-08-31 | 1991-05-10 | 삼성전자 주식회사 | 전자식 간이 교환 장치의 통화 대기 및 교대통화방법 |
US4995074A (en) * | 1989-04-03 | 1991-02-19 | Goldman Bruce J | Switched line modem interface system |
EP0463252B1 (en) * | 1990-06-28 | 1996-12-27 | International Business Machines Corporation | Message handling in data processing apparatus |
US5241587A (en) * | 1991-07-03 | 1993-08-31 | Teltone Corporation | Polling controller |
US5224098A (en) * | 1991-07-17 | 1993-06-29 | International Business Machines Corporation | Compensation for mismatched transport protocols in a data communications network |
US5608551A (en) * | 1993-04-12 | 1997-03-04 | In Focus Systems, Inc. | Display panel assembly with microlens structure |
IL111154A0 (en) * | 1993-10-21 | 1994-12-29 | Martino Ii John A | Systems and methods for electronic messaging |
US5509000A (en) * | 1994-06-10 | 1996-04-16 | Motorola, Inc. | Method and apparatus for routing information in a communication system |
US6151618A (en) | 1995-12-04 | 2000-11-21 | Microsoft Corporation | Safe general purpose virtual machine computing system |
US5761477A (en) | 1995-12-04 | 1998-06-02 | Microsoft Corporation | Methods for safe and efficient implementations of virtual machines |
US5862339A (en) * | 1996-07-09 | 1999-01-19 | Webtv Networks, Inc. | Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server |
JP3004590B2 (ja) * | 1996-08-02 | 2000-01-31 | 株式会社山田製作所 | ステアリングシャフト |
US5805798A (en) * | 1996-10-29 | 1998-09-08 | Electronic Data Systems Corporation | Fail-safe event driven transaction processing system and method |
US5944825A (en) * | 1997-05-30 | 1999-08-31 | Oracle Corporation | Security and password mechanisms in a database system |
US5999932A (en) * | 1998-01-13 | 1999-12-07 | Bright Light Technologies, Inc. | System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing |
US6119171A (en) | 1998-01-29 | 2000-09-12 | Ip Dynamics, Inc. | Domain name routing |
US6453356B1 (en) * | 1998-04-15 | 2002-09-17 | Adc Telecommunications, Inc. | Data exchange system and method |
US6233619B1 (en) * | 1998-07-31 | 2001-05-15 | Unisys Corporation | Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems |
US6243749B1 (en) | 1998-10-08 | 2001-06-05 | Cisco Technology, Inc. | Dynamic network address updating |
US6006259A (en) | 1998-11-20 | 1999-12-21 | Network Alchemy, Inc. | Method and apparatus for an internet protocol (IP) network clustering system |
JP3688149B2 (ja) * | 1999-05-26 | 2005-08-24 | 沖電気工業株式会社 | パケット中継装置及びパケット中継方法 |
US6748453B2 (en) * | 2000-05-08 | 2004-06-08 | Microtune (San Diego), Inc. | Distributed applications in a portable thread environment |
US20020101880A1 (en) * | 2001-01-30 | 2002-08-01 | Byoung-Jo Kim | Network service for adaptive mobile applications |
-
2001
- 2001-11-27 US US09/993,656 patent/US7257817B2/en not_active Expired - Fee Related
-
2002
- 2002-10-15 EP EP02023016.5A patent/EP1303096B1/en not_active Expired - Lifetime
- 2002-10-16 MX MXPA02010199A patent/MXPA02010199A/es active IP Right Grant
- 2002-10-16 CN CNB02147320XA patent/CN1288558C/zh not_active Expired - Fee Related
- 2002-10-16 JP JP2002302252A patent/JP4503225B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10290257A (ja) * | 1997-04-16 | 1998-10-27 | Sharp Corp | メッセージ中継装置及び通信システム |
JP2000010880A (ja) * | 1998-06-22 | 2000-01-14 | Ricoh Co Ltd | 電子メール転送装置 |
JP2001230803A (ja) * | 2000-02-15 | 2001-08-24 | Toshiba Corp | 位置識別子管理装置及び移動計算機並びに位置識別子管理方法及び位置識別子処理方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006072647A (ja) * | 2004-09-01 | 2006-03-16 | Canon Inc | ファイル管理装置 |
JP4574287B2 (ja) * | 2004-09-01 | 2010-11-04 | キヤノン株式会社 | ファイル管理装置 |
JP2006129446A (ja) * | 2004-10-27 | 2006-05-18 | Morgan Stanley | フォールト・トレラント・ネットワーク・アーキテクチャ |
Also Published As
Publication number | Publication date |
---|---|
MXPA02010199A (es) | 2009-12-14 |
US7257817B2 (en) | 2007-08-14 |
JP4503225B2 (ja) | 2010-07-14 |
CN1288558C (zh) | 2006-12-06 |
EP1303096B1 (en) | 2019-05-22 |
EP1303096A3 (en) | 2006-07-26 |
CN1442788A (zh) | 2003-09-17 |
EP1303096A2 (en) | 2003-04-16 |
US20030101284A1 (en) | 2003-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4503225B2 (ja) | 適応ディスパッチャを有する仮想ネットワーク | |
US7899047B2 (en) | Virtual network with adaptive dispatcher | |
US11902364B2 (en) | Automatic replacement of computing nodes in a virtual computer network | |
CN107947961B (zh) | 基于SDN的Kubernetes网络管理系统与方法 | |
WO2020147466A1 (zh) | 调用服务器的方法和代理服务器 | |
EP0381365B1 (en) | A system and method for interconnecting applications across different networks of data processing systems | |
US7089318B2 (en) | Multi-protocol communication subsystem controller | |
KR100798504B1 (ko) | 요청의 집중 및 부하조정을 위한 시스템 및 방법 | |
EP0613274A2 (en) | Socket structure for concurrent multiple protocol access | |
US20080320503A1 (en) | URL Namespace to Support Multiple-Protocol Processing within Worker Processes | |
CN112202615B (zh) | 一种多cni协同工作系统与方法 | |
Traversat et al. | Project JXTA-C: Enabling a web of things | |
US20080201406A1 (en) | Feature manager system for facilitating communication and shared functionality among components | |
US7907544B2 (en) | Overlay network for location-independent communication between computer systems | |
WO2009062414A1 (en) | Integrate client and method of desktop application communicating with net web application | |
US7934218B2 (en) | Interprocess communication management using a socket layer | |
US7735095B2 (en) | Network device drivers using a communication transport | |
US7418712B2 (en) | Method and system to support multiple-protocol processing within worker processes | |
US8135772B2 (en) | Single servlets for B2B message routing | |
US11546405B2 (en) | Methods for exposing mainframe data as a web service and devices thereof | |
US7418719B2 (en) | Method and system to support a unified process model for handling messages sent in different protocols | |
Ricciulli | Anetd: Active networks daemon (v1. 0) | |
JPH0666813B2 (ja) | データ通信システム及び通信路確立方法 | |
Acharya et al. | Wrens: A Framework for Rapidly Evolvable Network Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050907 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080215 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080514 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090817 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091030 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100301 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20100302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100302 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100325 |
|
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: 20100416 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100421 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4503225 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140430 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |