JP2009532944A - コンピューティングノード間通信の管理 - Google Patents

コンピューティングノード間通信の管理 Download PDF

Info

Publication number
JP2009532944A
JP2009532944A JP2009502957A JP2009502957A JP2009532944A JP 2009532944 A JP2009532944 A JP 2009532944A JP 2009502957 A JP2009502957 A JP 2009502957A JP 2009502957 A JP2009502957 A JP 2009502957A JP 2009532944 A JP2009532944 A JP 2009532944A
Authority
JP
Japan
Prior art keywords
node
data transmission
transmission
group
data
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
Application number
JP2009502957A
Other languages
English (en)
Other versions
JP5006925B2 (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2009532944A publication Critical patent/JP2009532944A/ja
Application granted granted Critical
Publication of JP5006925B2 publication Critical patent/JP5006925B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1439Metric aspects time-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1442Charging, metering or billing arrangements for data wireline or wireless communications at network operator level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

1つまたは複数の物理コンピューティングマシンまたはシステム上でホストされる、複数の仮想マシンノード(135)といった、複数の相互通信するコンピューティングノード(130a、130b)間の通信の管理技術を説明する。いくつかの状況では、どの送信元ノードが特定の宛先ノードにデータを送信する許可を有するかを指定すること等によって、ユーザはコンピューティングノードグループおよび、オプションで、それらグループに対する通信管理において使用される関連アクセスポリシーを指定することができる。さらに、送信元ノードから宛先ノードへ開始されるデータ送信が許可されるかどうかの判定を、後に将来の上記データ送信をネゴシエーションなしで自動的に許可する際に使用するために、動的にネゴシエートし、記録することができる。

Description

本開示は一般に、動的に判定された送信許可を反映するためにリモート宛先ノードへのデータの対外送信を制御するというようなコンピューティングノード間通信の管理に関する。
かなり多数の相互接続コンピューティングシステムを収容するデータセンターが一般的なものとなった。そのデータセンターには、単一組織が運用するかまたはその単一組織に代わって運用されるプライベートデータセンター、および様々なビジネスモデルの下でコンピューティングリソースへのアクセスを顧客に提供するビジネスとして事業体により運用されるパブリックデータセンター等がある。例えば、いくつかのパブリックデータセンターの運用者は様々な顧客が所有するハードウェアに対してネットワークアクセス、電力、および安全な設置ファシリティを提供し、一方で他のパブリックデータセンターの運用者は、自身の顧客が使用する実際のハードウェアリソースも含む「完全サービス型」ファシリティを提供する。しかしながら、一般的なデータセンターの規模と範囲が増大したので、物理的なコンピューティングリソースの準備、運営、および管理作業は益々複雑になった。
商用ハードウェアに対する仮想化技術の出現により、多様なニーズを有する多数の顧客に対して大規模なコンピューティングリソースを管理する問題に部分的な解決方法が与えられ、様々なコンピューティングリソースを効率的且つ安全に複数の顧客間で共有することが可能となった。VMWare、XEN、またはUser−Mode Linuxが提供するもののような仮想化技術により、単一の物理コンピューティングマシンがホストする1つまたは複数の仮想マシンをそれぞれのユーザに提供することで、その単一の物理的なコンピューティングマシンを複数のユーザ間で共有することができる。それぞれの上記仮想マシンは相違する論理コンピューティングシステムとして動作するソフトウェアシミュレーションであり、そのソフトウェアシミュレーションによりユーザには、自身が所与のハードウェアコンピューティングリソースの唯一の運用者および管理者であるという錯覚が与えられ、一方で様々な仮想マシン間でアプリケーションの隔離およびセキュリティが提供される。さらに、いくつかの仮想化技術により、実際に複数の相違する物理コンピューティングシステムに及ぶ複数の仮想プロセッサを伴う単一の仮想マシンのような、1つまたは複数の物理リソースに及ぶ仮想リソースを提供することができる。
しかしながら、一連の多様な顧客に対して多数のアプリケーションまたはシステムを仮想的または物理的にホストするデータセンターという状況で生ずる1つの問題は、それぞれの顧客が運用するかまたはその顧客に代わって運用されるシステムに、それらシステムへの他のシステムからの不要な通信を制限しつつ(顧客が望むならば)それらシステム間の通信を可能とするようなネットワーク隔離を提供することを含む。従来のファイアウォール技術を使用して有限の利益を提供できるが、問題が残る。例えば、ファイアウォールは一般に着信ネットワークトラフィックをそのトラフィックの宛先で、またはその宛先近傍でフィルタリングするように構成されるが、これにより悪意のあるアプリケーションが所与のネットワークにトラフィックを大量送信することで、ファイアウォールが完全に上記の着信ネットワークトラフィックを完全に遮断できたとしても、リソースの機能停止を引き起こす恐れがある。さらに、ファイアウォールには一般に、何千もの仮想マシンをホストする大規模データセンターという状況で発生しうるその種の高度に動的なリソースプロビジョニング(resource provisioning)を反映するためにフィルタリング規則を動的に修正する設備(ファシリティ:facilities)が含まれない。従って、例えば、新規のアプリケーションおよびシステムがオンラインになり他のものがオフラインになるとき、従来のファイアウォールには正確に動作するのに必要な適切なフィルタリング規則を動的に判定する能力が欠けており、時間がかかり誤りの発生しやすい上記フィルタリング規則の手動構成が必要である。
従って、上記問題が与えられると、複数のコンピューティングノードに対するデータ送信の管理を介して自動的に強制される通信ポリシーをユーザが効率的に指定できる技術を提供することが有益であろう。そのコンピューティングノードには、1つまたは複数のデータセンターまたは他のコンピューティングリソースファシリティ内で動作する、複数のホストされる仮想マシン等がある。
複数の相互通信するコンピューティングノードの間の通信を管理する技術を説明する。いくつかの実施形態では、コンピューティングノードには1つまたは複数の物理コンピューティングマシンまたはシステム上でホストされる仮想マシンノードが含まれ、通信には1つまたは複数のネットワーク上の相違する物理マシン上でホストされるノード間のデータ(例えば、メッセージ、データパケットまたはフレーム等)の送信が含まれる。さらに、いくつかの実施形態では送信元ノードと宛先ノードとの間のデータ送信または他の通信の管理を、その送信元と宛先ノードとの間の通信を特定および操作可能な1つまたは複数の中間コンピューティングノードにより提供する。例えば、送信元ノードおよび宛先ノードがそれぞれ、2つの相違する物理コンピューティングマシン上でホストされる仮想マシンである実施形態では、中間コンピューティングノードは、2つの物理コンピューティングマシンのうち1つまたは両方でホストされる1つまたは複数の他の仮想マシンを含むことができる。
さらに、少なくともいくつかの実施形態ではデータ送信の管理には、送信元ノードに関連付けた中間コンピューティングノードの管理下等で、送信元ノードから要求または開始した1つまたは複数の宛先ノードへの対外データ送信を分析してそのデータ送信が許可されるかどうかを判定することが含まれ、そのデータ送信は、許可が存在すると判定される場合にのみ1つまたは複数のネットワーク上でその宛先ノードに対して継続することができる。中間コンピューティングノードによる許可の判定は例えば、定義されたデータ送信ポリシーに少なくとも部分的に基づくことができる。そのポリシーは、送信元ノードおよび宛先ノードが両方とも共通ノードグループに属するとき等に、1つまたは複数の宛先ノードグループと通信する許可を有する1つまたは複数の送信元ノードグループを指定する。さらに、送信元ノードに関連する中間コンピューティングノードは、対象の宛先ノードに関連する相違する中間コンピューティングノードと通信してデータ送信に対する許可をネゴシエートすることができ、送信元ノードから宛先ノードへの将来のデータ送信で使用するためのそのネゴシエーション結果を反映する規則または他の指示をさらに格納することができる。その規則または他の指示には、現在のデータ送信に許可が与えられていることをそのネゴシエーション結果が示す場合に、将来の上記データ送信が許可されることを示す送信管理規則等がある。
いくつかの実施形態では、アプリケーション実行サービスが、それぞれが複数の仮想マシン(それぞれ、顧客向けの1つまたは複数のアプリケーションを実行できる)をホストする(例えば、1つまたは複数のデータセンター内の)複数の物理マシンを用いてサードパーティの顧客のアプリケーションを実行し、ここに説明する技術を1つまたは複数のデータ送信管理システムにより使用することができる。そのデータ送信管理システムは、アプリケーション実行サービスの一部として実行して、それぞれの顧客のアプリケーションを行き来する通信を制御する。以下でさらに詳細に議論するように、顧客は実行用のアプリケーションを実行サービスに提供することができ、その実行サービスが提供する物理または仮想ハードウェアファシリティ上の実行時間および他のリソースを予約することができる。さらに、顧客は、新規のコンピューティングノードグループ(例えば、顧客のプログラムの複数インスタンスのうち1つをそれぞれが現在実行している複数のコンピューティングノード)を生成し、そのグループに対するアクセスポリシーを指定し、そのグループのメンバシップおよび/または指定したアクセスポリシーを(自動または手動で)更新させて変更条件を反映することができる。その反映には、実行されている新規のアプリケーションインスタンス、最早実行されていない以前に実行したアプリケーションインスタンス、および/または新規のアクセスポリシーもしくは調整したアクセスポリシーを反映する(例えば、他のコンピューティングノード、グループ、および/またはアプリケーションへのアクセスが許可または拒否されるかどうかを変更すること等により、新規のセキュリティ要件を反映する)こと等がある。
いくつかの実施形態では、アクセスポリシーは、特定の宛先ノードまたはノードグループへのデータ送信を許可された送信元ノード(「送信ノード」または「送信者」とも称する)を、ネットワークアドレス範囲または他の識別子を経由して、1つまたは複数の関連送信元ノードグループとして、上記送信元ノードを(例えば、ネットワークアドレスまたは他の識別子を経由して)個々に記述すること等により記述し、一方で他の実施形態ではアクセスポリシーは代わりに同様な方法で、1つまたは複数の特定の送信元ノードまたはノードグループからデータ送信の受信を許可された宛先ノードを記述することができる。特定の開始されたデータ送信が許可されることを判定する、指定されたアクセスポリシーおよび/または能力がない場合、いくつかの実施形態は、許可が判定されなければ全てのデータ送信を拒否すること、または許可されないと判定されなければ全てのデータ送信を許可することといった、デフォルトのアクセスポリシーおよび/または許可ポリシーを提供することができる。
1つの実施形態の例では、データ送信管理(「DTM」)システムの複数のデータ送信マネージャコンポーネントが協働して、多数の相互通信する参加コンピューティングノードのデータ送信を管理する。最初に、参加コンピューティングノードがオンラインになると、その参加ノードに関連するデータ送信マネージャコンポーネントはそのノードのネットワークアドレス(例えば、IPアドレス)または他のネットワークロケーション、そのノードが属する任意のグループ、およびそのノードへのデータ送信を許可された送信元ノードを示すものを判定する。後に、参加ノードがリモート宛先ノードとの通信開始を試みると、その関連するデータ送信マネージャコンポーネントはその開始した通信を検出し、参加送信元ノードから宛先ノードへの以前の通信に対して取得した許可に基づいてその通信に対する許可が既に存在するかどうかを判定する。既存の許可が有効でない場合、関連データ送信マネージャコンポーネントは、リモート宛先ノードに関連するリモートデータ送信マネージャコンポーネントと通信すること等により(例えば、ネゴシエーションをトリガするネゴシエーション要求を送信することにより)、そのリモート宛先ノードと通信するための許可をネゴシエートすることを試みる。参加送信元ノードから宛先ノードへのデータ送信に対するネゴシエーション要求は、その参加送信元ノードのネットワーク識別子およびグループメンバシップに関する情報を含むことができる。
リモート宛先ノードに関連するリモートデータ送信マネージャコンポーネントが送信元ノードの代わりにネゴシエーション要求を受信した後、そのコンポーネントは送信元ノードがそのリモートの宛先ノードと通信する許可を有するかどうかを、そのリモート宛先ノードの任意のアクセスおよび/または送信ポリシーに基づいて(例えば、そのリモート宛先ノードがメンバであるグループに基づいて)判定する。許可が存在すると判定すると、リモートデータ送信マネージャコンポーネントは、通信の許可が与えられたことを示す応答でネゴシエーション要求に応答する。参加送信元ノードに関連するデータ送信マネージャコンポーネントはこの応答を受信し、(その参加送信元ノードの代わりにデータを送信すること、その参加送信元ノードによるデータ送信の続行を許可すること等により)データをリモート宛先ノードへ送信することを許可し続ける。通信許可が得られなかったことを上記の応答が示す場合、参加送信元ノードに関連するデータ送信マネージャは、(傍受したデータ送信を除去または廃棄すること、参加送信元ノードおよび/または他ノードに、その宛先ノードに対してデータ送信を実施しないよう示すこと等により)宛先ノードへのデータ送信が発生することを防止し続ける。さらに、参加送信元ノードに関連するデータ送信マネージャコンポーネントは、将来の送信において追加のネゴシエーションステップが必要ないようにネゴシエーション結果をキャッシュまたは格納することができ、宛先ノードに関連するデータ送信マネージャコンポーネントは同様にネゴシエーション結果をキャッシュまたは格納することができる。このように、データ送信マネージャシステムは、それが管理する関連コンピューティングノードが様々なリモート宛先ノードにデータを送信する許可を有するかどうかを動的に判定する。
例示の目的のため、特定の種類の通信管理を特定の種類の状況で実施する、いくつかの実施形態を以下で説明する。これらの例は例示の目的で与え、簡潔さのため簡略化してあり、本発明の技術を多様な他の状況で使用することができる。そのいくつかを以下で議論する。本技術は仮想ノードでの使用、対外データ送信での使用、1つまたは複数のデータセンター内での使用等に限定されない。
図1は複数の送信マネージャ「TM」(Transmission Manager)コンポーネントがコンピューティングノード間の通信を管理する実施形態の例を示すネットワーク図であり、複数のTMコンポーネントは、データセンター100内に位置する様々なコンピューティングノードのデータ送信を管理するデータ送信管理「DTM」(Data Transmission Management)システムの一部である。本例では、データセンター100は多数のラック105を備える。ラック105はそれぞれ、多数の物理コンピューティングシステム110a−cおよびラックサポートコンピューティングシステム122を含む。コンピューティングシステム110a−cはそれぞれ、1つまたは複数の仮想マシンノード120を提供する。仮想マシンノード120をそれぞれ使用して独立したコンピューティング環境を提供し、アプリケーションをデータセンター100内でホストする。さらに、コンピューティングシステム110a−cはそれぞれTMコンポーネントノード115をホストする。TMコンポーネントノード115は、コンピューティングシステム上でホストされる他の仮想マシンノード120からの対外データ送信、および(データセンター100に対してローカルまたはリモートである)他のノードからの、コンピューティングシステム上のそれらのホストされる仮想マシンノードへの着信データ送信を管理する。この実施形態の例では、ラックサポートコンピューティングシステム122はラックにローカルなコンピューティングシステム向けのユーティリティサービス(例えば、データ記憶サービス、ネットワークプロキシ、アプリケーション監視および管理等)、およびデータセンター内に位置し得る他のコンピューティングシステムを提供するが、他の実施形態では上記のラックサポートコンピューティングシステムを使用しなくともよい。本例におけるラックのコンピューティングシステム110a−cおよびラックサポートコンピューティングシステム122は全て、(例えば、共有バックプレーン、1つまたは複数のハブおよび/または、特定のラックに対して物理的にローカルまたはリモートであるスイッチ等を経由して)共通で、高速なラックレベルネットワーク相互接続を共有する。これは図示していない。
さらに、データセンターの例100はさらに追加のコンピューティングシステム130a−bおよび135を備える。その追加のコンピューティングシステム130a−bおよび135はラック上に位置せず、それらの追加のコンピューティングシステムに関連付けられたTMコンポーネント125に対する共通ネットワーク相互接続を共有するが、他の実施形態では、上記の追加の非ラックコンピューティングシステムは存在しなくともよい。本例では、コンピューティングシステム135は多数の仮想マシンノードもホストし、一方でコンピューティングシステム130a−bは単一の物理マシンノードとして動作する。TMコンポーネント125は同様に、コンピューティングシステム135上でホストされる関連仮想マシンノード、およびコンピューティングシステムノード130a−bに対する着信および対外データ送信を管理する。データセンター100のローカルネットワークと外部ネットワーク170との間の相互接続部に、多数のサービス(ネットワークプロキシ、着信および/または対外データ送信のフィルタリングまたは他の管理等)の提供に使用できるような、オプションのコンピューティングシステム145も示してある。その多数のサービスには、データセンター100内部の一部または全てのノードから追加のデータセンター160またはデータセンター100外部の他のシステム180内に位置するノードへの対外データ送信を管理すること、および/または外部ノードから一部または全ての内部ノードへの着信データ送信を管理することが含まれる。オプションのDTMグループマネージャコンポーネント140も示してあり、これは多数のサービスをデータセンター100にローカルなTMコンポーネントに提供することができる。そのサービスには、TMコンポーネントに対するグローバルな状態情報(例えば、グループメンバシップ情報、アクセスポリシー等)を維持すること等がある。
データセンターの例100をネットワーク170(例えば、インターネット)経由で多数の他のコンピューティングシステムに接続する。そのコンピューティングシステムには、データセンター100の運用者またはサードパーティにより運用可能な追加のコンピューティングシステム180、データセンター100の運用者またはサードパーティにより運用可能な追加のデータセンター160、およびオプションのDTMシステムマネージャシステム150が含まれる。本例では、DTMシステムマネージャ150は、図示したデータセンター100および追加のデータセンター160等、多数のデータセンター内のTMコンポーネントに対するグローバルな状態情報を維持することができる。DTMシステムマネージャにより維持および提供される情報は例えば、グループメンバシップ情報、アクセスポリシー等を含むことができる。この実施形態の例ではDTMシステムマネージャの例150がデータセンター100外部にあるとして示してあるが、他の実施形態ではデータセンター100内部に位置してもよい。
図2は、TMコンポーネントの実施形態を実行すること等により、コンピューティングノード間の通信を管理するのに適したコンピューティングシステムの例を示すブロック図である。コンピューティングシステムの例200はCPU(central processing unit)235、様々なI/O(input/output)装置205、記憶装置240、およびメモリ245を含む。I/O装置にはディスプレイ210、ネットワーク接続215、コンピュータ可読媒体ドライブ220、および他のI/O装置230が含まれる。
図示した実施形態では、TMコンポーネントの例250はメモリ245内で実行されており、管理されている関連ノード260a−cと他のノード(ネットワーク265経由で接続される図示した他のコンピューティングシステム275により表したもの等)との間のデータ送信を管理する。本例では、管理されたノード260a−cは独立したコンピューティングシステム上に存在し、物理ネットワーク経由でコンピューティングシステム200およびTM250に接続されるが、他の実施形態では1つまたは複数の管理されたノード260a−cを仮想マシンノードとして代替的にコンピューティングシステム200上でホストしてもよい。図2はさらに、他所でさらに詳細に議論するように、1つまたは複数のTMコンポーネントの動作に関連する情報(アクセスポリシーおよびグループメンバシップ等)を維持および提供するもののような、コンピューティングシステム200に接続したDTMシステムマネージャシステム270を示す。
当然のことながら、コンピューティングシステム200、260a−c、270および275は例に過ぎず、本発明の範囲を限定するようには意図していない。例えば、インターネットのような1つまたは複数のネットワークを通したものまたはWeb(World Wide Web)経由でのものを含めて、図示していない他の装置にコンピューティングシステム200を接続してもよい。より一般的には、「ノード」または他のコンピューティングシステムは、説明した種類の機能性と相互作用しその機能性を実施可能なハードウェアまたはソフトウェアの任意の組み合わせを備えることができる。その「ノード」または他のコンピューティングシステムには、限定ではなく、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワーク記憶装置および他のネットワーク装置、PDA、携帯電話、ワイヤレスフォン、ページャ、電子手帳、インターネット機器、テレビベースのシステム(例えば、セットトップボックスおよび/または個人用/デジタルビデオレコーダを用いたもの)および適切な相互通信能力を含む様々な他の消費者製品が含まれる。さらに、図示したコンポーネントおよびシステムにより提供する機能性をいくつかの実施形態において、より少数のコンポーネントで組み合わせるかまたは追加のコンポーネントに分散させてもよい。同様に、いくつかの実施形態では図示したコンポーネントの一部の機能性を提供せずともよく、および/または他の機能性が利用可能であってもよい。
また当然のことながら、様々な項目は使用中にメモリ内または記憶装置上に格納されるとして示してあるが、これらの項目またはその一部を、メモリ管理およびデータ完全性の目的でメモリと他の記憶装置との間で転送することができる。あるいは、他の実施形態ではソフトウエアコンポーネントおよび/またはシステムの一部または全ては別の装置上のメモリ内で実行することができ、コンピュータ間通信経由で、図示したコンピューティングシステムと通信することができる。コンポーネント、システムおよびデータ構造の一部または全てをコンピュータ可読媒体上に(例えば、ソフトウェア命令または構造化データとして)格納することもできる。そのコンピュータ可読媒体には、ハードディスク、メモリ、ネットワーク、あるいは適切なドライブによりまたは適切な接続経由で読取可能な可搬型媒体品(portable media article)等がある。システム、コンポーネントおよびデータ構造を、無線ベースおよび有線/ケーブルベースの媒体を含む様々なコンピュータ可読送信媒体上の生成されたデータ信号として(例えば、搬送波または他のアナログもしくはデジタル伝播信号の一部として)送信することもでき、そのシステム、コンポーネントおよびデータ構造は様々な形態(例えば、単一または多重のアナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして)をとることができる。上記のコンピュータプログラム製品は他の実施形態では他の形態をとってもよい。従って、本発明を他のコンピュータシステム構成で実践することができる。
図3A−3Bは、コンピューティングノード間の通信を管理するためにグループメンバシップ情報を使用する例を示す。図3Aおよび3Bに示すデータを、図1に示すDTMシステムマネージャシステム150により、および/または1つまたは複数の様々なTMコンポーネントによって(例えば、中央システムを使用せずに分散方式で)等、様々な方法で維持および提供することができる。
図3Aは複数のノードグループに対するメンバシップ情報を含むテーブル300を示す。特に、それぞれのデータ行304b−304fは、列302a内に表示したノードと列302b内に表示したグループとの間のメンバシップの関連性を記述する。従って、例えば、行304cおよび304dはノードグループGroup2が少なくともノードAおよびBを含むことを示し、行304eおよび304fはノードDが少なくとも2つのグループのメンバであることを示す。例示の目的のため、本例におけるノードは全て「A」、「B」、「C」等の単一文字で示してあるが、他の実施形態では代わりにそれらをIP(Internet Protocol)アドレス、DNSドメインネーム等の他の方法で示すことができる。同様に、グループを本例では「Group1」等の文字列で示してあるが、様々な他種の名前を使用してもよく、少なくともいくつかの実施形態ではユーザは、そのユーザが使用するグループに対して記述的なグループ名を指定することができる。列302cは、様々な種類の追加情報を指定しグループに対して使用できることを示す。その追加情報には、有効期限日、そのグループを生成または管理するユーザに対する連絡先情報等がある。
図3Bは、図3Aに示すグループのいくつかに関連付けられたアクセス権を指定するテーブル310を示す。特に、それぞれのデータ行314b−314gは列312b内の名前付き送信者を示す。その名前付き送信者は、列312a内で名前付けしたグループのメンバである任意のノードにデータを送信するために送信元ノードとして動作する許可を有する。本例では、上記のアクセス権を特定の送信プロトコルに固有なように定めることができる。3つのプロトコルの例を示してあり、それらはHTTP 312c、FTP 312d、およびSMTP(Simple Mail Transfer Protocol)312eである。さらに、送信者を本例では3つの異なる方法で特定することができる。その方法には、IPアドレスによるもの、IPアドレス範囲によるもの、またはグループ名によるものが含まれるが、他の実施形態では他の名前付け規則(例えば、DNSドメインネーム)を使用してもよい。例えば、行314bは、範囲0.0.0.0/0(ここでは全てのホストを表すために使用)内のIPアドレスを有する送信ノードはHTTPプロトコルを用いてGroup1のメンバであるノードへの通信を開始できるが、上記の送信ノードはFTPまたはSMTPプロトコルの何れかを用いてGroup1のメンバであるノードへの通信を開始できないことを示す。行314cは、Group1のメンバである送信元ノードはHTTPプロトコルを用いてGroup2のメンバであるノードへの通信を開始できるが、FTPまたはSMTPプロトコルでは開始できないことを示す。行314dは、Group3のメンバである送信元ノードはHTTPまたはSMTPプロトコルを用いてGroup2のメンバであるノードへの通信を開始できるが、FTPプロトコルでは開始できないことを示す。行314eは、IPアドレス196.25.1.23を有する単一の送信元ノードは3つの列挙したプロトコルのうち任意のものを用いてGroup2のメンバノードとの通信を開始できることを示す。後続の行314f−314hは追加のアクセスポリシーの記述を含む。列312fは、追加の情報をアクセスポリシーに関して指定できることを示す(例えば、追加のプロトコル、操作の種類、データ形式の種類、タイムアウトのようなポリシー有効期限基準、ポリシーを生成または管理するユーザの連絡先情報等)。
図3Bで示す例では、アクセスポリシーを送信毎のプロトコルベースで指定することができる。本例では、送信元がHTTPのような特定のプロトコル経由でアクセスを付与されるとき、これは、送信者がTCP(Transmission Control Protocol)パケットを特定グループ内のノードに、HTTPに対するデフォルトポートであるポート80で送信できることを意味すると捉えることができる。他の実施形態ではアクセス権を、特定のプロトコルを示さない、特定のプロトコルで使用する特定のポートをさらに指定するといった、他の詳細レベルで指定することができる。例えば、いくつかの実施形態では、アクセス権を、特定のプロトコル内のパケットタイプ(例えば、TCP SYNパケット、ブロードキャストパケット、マルチキャストパケット、一般にTCPフラグ等)、接続制限(例えば、可能な最大同時接続数)、パケットサイズ、パケット到着または出発時刻(departure time)、パケット有効期間、パケットペイロードコンテンツ(例えば、特定の文字列を含むパケット)等のような、特定のネットワーク送信の任意の送信特性に関してより一般的に指定することができる。さらに、他の実施形態は様々な方法でアクセスポリシーを指定することができる。例えば、いくつかの実施形態では否定的なアクセスポリシーの仕様を提供することができる。その仕様には、特定の送信者を除いた全ノードが或る特定のアクセス権を有すると指定するもの等がある。または、異なる実施形態ではデフォルトの(列挙していない)アクセスポリシーに対する様々なセマンティクス(semantics)を提供することができる。例えば、いくつかの実施形態では、特定の他のポリシーが許可しなければ所与のグループのノードと通信できる送信者は存在しないというデフォルトのポリシーを提供することができ、他の実施形態では所与のユーザが運用する送信者がデフォルトで同一ユーザが運用する任意の他のノードと通信でき、または所与のグループ内のノードがデフォルトで同一グループ内の他のノードと通信できるというデフォルトのポリシーを提供することができる。最後に、様々な実施形態ではグループおよびグループメンバシップを、グループ階層を提供すること、またはグループが他のグループのメンバであることを許可すること等の様々な方法で指定し、ポリシーを、その階層内の指示ポイントより下の任意のノード、あるいは指示グループまたは指示グループの任意のサブグループのメンバである任意のノードに適用することができる。
図4A−4Fは、コンピューティングノード間の通信管理に使用する、動的に修正した送信管理規則の例を示す。実施形態の例では、その送信管理規則を所与のTMコンポーネントが使用して、TMコンポーネントが管理する1つまたは複数の関連ノードによるデータ送信を許可するか否かに関する決定を行う。それぞれのTMコンポーネントは自身の規則集合を維持する。他の実施形態では、図4A−4Fに示す規則を代替的に、図1のDTMグループマネージャコンポーネント140、図1のDTMシステムマネージャシステム150、または、1つまたは複数のTMコンポーネントへの共有アクセスを提供する1つまたは複数の他のコンポーネントにより維持することができる。
図4A−4Fに示す例では、2つのTMコンポーネントの例DTM1およびDTM2は開始したデータ送信に基づいて長時間かけて、送信管理規則を動的に生成および修正する。DTM1は2つの関連ノードAおよびBを管理し、DTM2は関連ノードDを管理する。DTMの例の両方は、管理されているノードのグループメンバシップ、およびそのグループに対する関連アクセスポリシーに関する情報も維持する。本例では、図3Aにおける行304b−eに示すように、ノードAはGroup1に属し、ノードBはGroup2に属し、ノードDはGroup3およびGroup4に属する。DTMはグループメンバシップおよびアクセスポリシーに関する情報を様々な方法で得ることができる。例えば、特定のDTMが管理すべき新規のノードがオンラインになると、DTMにこの新規ノードとそのネットワークアドレス(例えば、IPアドレス)を通知することができ、DTMは、その新規ノードに対するグループメンバシップおよびアクセスポリシー情報にアクセスことができる(例えば、問合せること、および/またはDTMグループマネージャコンポーネント140もしくはDTMシステムマネージャシステム150で通知されること、情報をネットワークアクセス可能データストアから取り出すこと等により)。さらに、グループメンバシップに関する変更(例えば、特定の既存ノードをグループに対して追加またはグループから削除)およびアクセスポリシーに関する変更(例えば、以前はそのような許可を有さなかった別のグループからのデータ送信を今回は許可すること等、特定グループに関するアクセスポリシーの修正)をDTMに様々な方法で伝達することができる。いくつかの実施形態では、例えばDTMグループマネージャコンポーネントおよび/またはDTMシステムマネージャシステムから送信した情報を介して、特定の変更により影響を受けるノードを管理するDTMのみに通知する。他の実施形態では、上記の変更を全てのDTMにブロードキャストすることができ、または代わりに全てのDTMを構成して定期的に適切なコンポーネントをポーリングし、上記の状態変更に関する更新情報を得ることができる。
図4Aは、3つのノードのうち任意のものが他のノードとのなんらかの通信を開始する前のDTM1およびDTM2に対する初期条件を示す。テーブル400はDTM1により維持する、送信管理規則集合および他の情報を表す。行401は、DTM1により現在管理しているノードを列挙し、この場合そのノードはノードAおよびBである。テーブル400はさらに、DTM1により維持する送信管理規則を示すサブテーブル402を含む。それぞれの行404a−404bはノードに関して送信ポリシーを記述する送信管理規則を保持することができる。それぞれの規則は送信元403a、宛先403b、およびアクション403cを指定する。この時点で通信を開始したノードはないので、示した規則集合は空であるが、いくつかの実施形態では優先度が低いデフォルトの規則を含めてもよい(例えば、適用される他の規則がない場合、開始したデータ送信を拒否する)。同様にテーブル405はDTM2により維持する送信管理規則を示す。行406はDTM2が単一ノード、Dを管理することを示す。さらに、サブテーブル407は空の送信管理規則集合を示す。なぜならば、ノードDはまだどの通信も開始していないからである。
図4Bは、ノードBがHTTPプロトコル経由でノードDとの通信を開始した後の規則集合の状態を示す。ノードBがノードDへのデータ送信開始を試みるとき、DTM1は最初にその規則集合を検査して、ノードBからノードDへのデータ送信を支配するなんらかの既存の規則が存在するかどうかを判定する。何も見つからない場合、DTM1はDTM2とネゴシエートして、ノードBがノードDにデータを送信する許可を有するかどうかを判定し、そのネゴシエーションの一部としてDTM1はDTM2に対し、ノードBがHTTP経由でノードDへのデータ送信を試みたこと、およびノードBがGroup2のメンバであることを知らせる。いくつかの実施形態では、上記のネゴシエーションには、(識別子およびネットワークアドレスがDTM1に未知である)ノードDのDTMが適切な方法でネゴシエーションメッセージを傍受しそれに応答することを期待して、DTM1がネゴシエーションメッセージを宛先ノードDに対して生成および送信することが含まれる。上述のように、DTM2は、図3Aの行304eおよび304fに示すようにノードDがグループGroup3およびGroup4のメンバであること、および図3Bの行314fに示すようにGroup2のメンバによるHTTPプロトコル経由での通信開始をGroup3が許可していることを知っている。望ましい通信は既定のアクセスポリシーにより許可されるので、DTM2はノードBがノードDと通信する許可を示す応答をDTM1に送信することでネゴシエーション要求に応答する。DTM2はさらに、送信元ノードBから宛先ノードDへのHTTP通信を許可する送信管理規則を行419aに格納する。DTM1が許可を示す応答をDTM2から受信した後、DTM1はさらに、送信元ノードBから宛先ノードDへのHTTP通信を許可する送信管理規則を行414aに格納する。本例では、ノードBがHTTP経由でノードDへデータを送信する許可を付与する規則を2つのDTMがネゴシエートおよび格納したので、同一プロトコルを用いたノードBからノードDへの将来のデータ送信では許可の再ネゴシエーションは必要ない。さらに、ここでは示していないが、いくつかの実施形態ではDTMコンポーネントはさらに、ノードDからノードBへの少なくともいくつかのデータ送信を、対応する送信管理規則を追加することまたは上記データ送信を許可することにより、自動的に許可する(例えば、ノードBからノードDへのデータ送信に対するノードDからの応答を許可する)。
いくつかの実施形態では、ネゴシエーション完了前にDTM1によりノードBから受信したノードD宛の任意のデータは、ノードBのノードDへのデータ送信が許可されるかどうかが判定されるまで、DTM1により待ち行列に入れられていたであろう。上記の実施形態では、ノードBとの通信許可の指示を受信した後、DTM1は次いで待ち行列に入れた任意のデータ、およびネゴシエーション後に到着した任意のデータをノードDに送信するであろう。他の実施形態では、ネゴシエーション完了前にDTM1によりノードBから受信したノードD宛の任意のデータはDTM1により廃棄されるであろう。上記の技術は、いくつかのデータ送信ロスが受け入れられるか、または意図した受信者により受信および受理されない任意のデータ送信を送信ノードが再送信する状況では適切であるかもしれない。例えば、多数の送信プロトコルは任意の紛失パケットを(例えば、TCPのタイムアウトおよび再送信メカニズムに基づいて)再送信し、上記の廃棄ベースのアプローチは(例えば、ネゴシエーションが成功した場合に)最終的にこの状況において配信されるべきであったいくつかのパケットの初期紛失という結果になりうるが、再送信によりそれらの初期パケットの再送信が保証されることになる。あるいは、いくつかの実施形態では、ネゴシエーションが完了するかまたはノードBがノードDへデータを送信するための許可が得られる前に、許可が得られるかまたは待ち行列に入れたデータ送信をDTM2がノードDに転送すること(または許可が最終的に得られない場合はそのデータ送信を廃棄すること)を判定するまで、データ送信をノードDに向かって送信し、(例えば、DTM2により傍受した後)DTM2で待ち行列に入れることができる。
図4CはノードDがSMTPプロトコル経由でノードAとの通信を開始した後の規則集合の状態を示す。ノードDがノードAへのデータ送信開始を試みるとき、DTM2は最初にその規則集合を検査して、ノードDからノードAへのデータ送信を支配するなんらかの既存規則が存在するかどうかを判定する。何も見つからない場合、DTM2はDTM1とネゴシエートして、ノードDが所与のプロトコルを用いてノードAにデータを送信する許可を有するかどうかを判定する。DTM2はDTM1に、図3Aの304eおよび304fに示すようにノードDがGroup3およびGroup4のメンバであること、およびノードDがSMTP経由でノードAと通信を試みたことを知らせる。DTM1は図3Aの行304bに示すようにノードAがGroup1のメンバであり、図3Bの行314bに示すようにGroup1がSMTPではなくHTTP経由でGroup1と通信するためのアクセスを全てのホストに付与したことを知っている。SMTPプロトコルを用いてノードAにデータを送信することを許可されたホストはないため、DTM1は、ノードDがノードAとSMTPプロトコル経由で通信するための許可の拒否を示す応答をDTM2に送信することで、ネゴシエーション要求に応答する。DTM1はさらに、送信元ノードDから宛先ノードAへのSMTP通信を拒否する送信管理規則を行424bに格納する。DTM1からの許可の拒否を示す応答をDTM2が受信した後、DTM2はさらに、送信元ノードDから宛先ノードAへの将来のSMTP通信に対する許可を拒否する送信管理規則を行429bに格納する。再度、ネゴシエーション完了前にノードDがノードAへ送信を試みた任意のデータは、少なくともいくつかの実施形態ではDTM2により待ち行列に入れられていたであろう。ネゴシエーションプロセスが完了すると、DTM2は待ち行列に入れた任意のデータ、およびノードDによりノードAへSMTPプロトコル経由で送信される全ての将来のデータを除去するであろう。
図4DはノードDがHTTPプロトコル経由でノードBとの通信開始を試みた後の規則集合の状態を示す。実際には、本図を参照して説明する状況は、上記の図4Bを参照して説明した状況の反対の場合である。図3Aおよび3Bに示すテーブルを検査すると、本通信が許可されることが分かる。なぜならば、ノードBはGroup2に属し(図3Aの行304c)、Group2はGroup3のメンバにHTTPプロトコル経由でデータを送信する許可を与えており(図3Bの行314d)、ノードDはGroup3のメンバである(図3Aの行304e)からである。従って、DTM2はノードDがHTTP経由でノードBにデータ送信するための許可をネゴシエートすることに成功し、適用規則がDTM2により行439cに追加され、DTM1により行434cに追加され、HTTPプロトコル経由でノードDからノードBに送信されるデータはDTM2により転送されるであろう。本例では、そのノードDが複数のプロトコル(例えば、HTTPおよびSMTPの両方)経由でノードBにデータを送信できることにも留意されたい。いくつかの実施形態は上記の場合に、特定の送信プロトコルに関するネゴシエーション要求に対し、(要求プロトコルのみと対照的に)送信元ノードが宛先ノードとの通信で使用できる全ての送信プロトコルを示す応答で応答することにより、最適化を実施することができる。その最適化には、本例では、ノードDがSMTP通信をノードBに送信することを許可されていることを示す追加の規則をDTM1およびDTM2に対して追加させること等がある。上記の最適化により他の許可されたプロトコルに関して後の追加のネゴシエーションを実施する必要性が排除される。
図4Eは、ノードAがFTPプロトコル経由でノードBとの通信開始を試みた後の規則集合の状態を示す。この場合、送信元および宛先ノードの両方を同一DTMにより管理する。いくつかの実施形態ではDTM1は上記データ送信を管理しなくともよいが、示した実施形態では上記のデータ送信を管理する(が、この場合DTM1はリモートDTMとネゴシエートする必要はない)。図3Aおよび3Bに示すテーブルを検査すると、この通信が許可されないことが示される。なぜならば、ノードBはGroup2に属し(図3Aの行304c)、ノードAはGroup1に属する(図3Aの行304b)が、Group2がGroup1のメンバにFTPプロトコル経由でデータ送信する許可を付与していない(図3Bの行314c)からである。DTM1は従って行444dに適用規則を追加し、FTPプロトコルを用いてノードAからノードBへ送信した任意のデータを除去する。
図4Fは、ノードBがFTPプロトコル経由でノードDとの通信開始を試みた後の規則集合の状態を示す。本図は、送信元ノードが、以前に許可された宛先ノードに異なるプロトコルを用いてデータを送信することを試みる例を示す。図3Aおよび3Bに示すテーブルを検査すると、本通信は許可されないことが示される。なぜならば、ノードBはGroup2に属し(図3Aの行304c)、ノードDはGroup3に属するが(図3Aの行304e)、Group3はGroup2のメンバにFTPプロトコル経由でデータを送信する許可を付与していない(図3Bの行314f)からである。従って、DTM1はノードBがFTP経由でノードDにデータ送信するための許可をネゴシエートすることに成功せず、適用規則がDTM1により行454eに追加され、DTM2により行459dに追加されるであろう。さらに、DTM1はFTPプロトコルを用いてノードBからノードDへ送信した任意のデータを除去するであろう。
このように、示した方法で送信マネージャコンポーネントは、開始したデータ送信の管理に基づいて送信管理規則を動的に生成することができる。ここでは示していないが、他の実施形態では送信マネージャコンポーネントに対する規則集合および/または特定のノードに対する規則集合を他の方法で修正してもよい。その方法とは、その関連グループメンバシップまたは他の関連情報が変化した後(例えば、仮想マシンノード上で第1の顧客の代わりに実行されているプログラムが終了した後)にノードに対応する全ての規則を除去すること等であり、その結果、そのノード(またはそのノードが以前使用したものと同じネットワークアドレスのような、同一の関連情報を後に割り当てた別のノード)は適切な許可を判定するために再ネゴシエートする必要があるか、または特定の変更により影響を受けた規則のみを除去する必要がある。例えばGroup3に対するアクセスポリシーが現時点で動的に変化し、その結果Group2は最早Group3にHTTP通信を送信する許可を有さない場合、(Group2の)ノードBは最早(Group3の)ノードDにHTTP送信を送信する許可を有さないことになる。従って、DTM1に対する規則454aおよびDTM2に対する規則459aは最早有効ではなく、アクセスポリシーに対する変更によりそれらの2つの規則の除去が促進されるが、ノードBおよびDを含む他の規則(例えば、それぞれ、DTM1およびDTM2に対する規則454eおよび459d)を少なくともいくつかの実施形態では維持することができる。
図5は、2つの相互通信するコンピューティングノードと、その通信を管理する関連送信マネージャコンポーネントとの間のデータ送信の例を示す。そのデータ送信は時間ベースの順序(時間は下流に進む)で示してある。本例におけるメッセージ名およびメッセージ内容はノードBおよびDを管理しつつDTM1とDTM2との間で渡すことができるメッセージを例示するが、他の実施形態では他のメッセージパッシング(message passing)または他の相互作用方式が可能である。さらに、いくつかの実施形態ではデータ送信の開始および使用している対応プロトコルを、検出される基本的なデータおよび/または制御パケット(例えば、TCPパケット、UDP(User Data gram Protocol)パケット等)を検査することで判定することができる。特に、図5は、図4Bを参照して説明した成功ネゴシエーション中にノードとDTMとの間で渡されるメッセージの例を示す。最初に、ノードB505は送信メッセージ530を送信することで、HTTPプロトコル経由でノードD520にデータ送信を試みる。DTM1 510はこのメッセージを受信し、それを、ノードBがノードDにデータ送信を試みていることを示すのものとして捉える。この時点で、DTM1は上記送信を支配する規則を有さず、従ってDTM1はDTM2 515と許可をネゴシエートすることを試みる。本例では、他所でさらに詳細に議論するように、DTM1は、DTM2により受信される「許可されるか?」メッセージ532を送信することでそれを行うが、少なくともいくつかの実施形態では、メッセージ532はリモート宛先ノードD宛で、そのリモートノードに対するデータ送信を管理するDTMにより傍受される(このように、送信DTMはリモートDTMのネットワークロケーションを知らずに動作することができる)。DTM2は、適切なデータを検査することでノードDが上記送信を許可したと判定し、従ってDTM1により受信する「許可される」メッセージ534を送信する。送信許可を受信したので、示した実施形態ではDTM1は第2の送信メッセージ536内の送信メッセージ530から待ち行列に入れたデータをノードDに送信する。そのデータを再度DTM2により受信する。DTM2はこのデータを送信メッセージ538経由でその最終の宛先であるノードD520に転送する。前述したように、他の実施形態ではDTM1はネゴシエーションの実施中に送信メッセージ530を待ち行列に入れなくともよく、従って本例では送信メッセージ536を送信しないであろう。ネゴシエーションに続いて、ノードBは送信メッセージ540を送信することでノードDにさらなるデータを送信することを試みる。DTM1は以前にこの種のデータ送信に対する許可をネゴシエートしたので、DTM1はそのデータを追加のネゴシエーションなしに送信メッセージ542を介して転送する。DTM2は送信メッセージ542を受信し、同様にそのデータを、送信メッセージ544を介してノードDに転送する。
次に、図5は図4Dを参照して説明した成功ネゴシエーション中にノードとDTMとの間で渡されるメッセージの例を示す。最初に、ノードDは送信メッセージ550を介してデータをHTTP経由でノードBに送信することを試みる。データ送信が、以前に許可されたHTTPを用いたノードBからノードDへのデータ送信に関する(例えば、受信した送信メッセージ544に対する応答であるかまたは同一セッションの一部である)場合、他所でさらに詳細に議論するように、いくつかの実施形態ではDTM1およびDTM2は上記の応答データ送信を以前のネゴシエーションプロセスの一部として自動的に許可しているであろう。上記応答を自動的に許可するこの能力により、いくつかの種類の送信プロトコル(例えば、TCP)を効率的に機能させうるといった、様々な利益を提供することができる。しかしながら本例では、DTM2はデータ送信に対する別個の許可ネゴシエーションを「許可される?」メッセージ552で開始する。DTM1は、適切なデータを検査することでノードBが上記送信を許可したと判定し、従って「許可される」メッセージ554で応答する。最後に、DTM2は、送信メッセージ550から待ち行列に入れたデータを新規の送信メッセージ556を介して転送する。DTM1は送信メッセージ556を送信メッセージ558を介してその最終の宛先に転送する。最後に、図5は、図4Fを参照して説明した、許可の拒否に終わるネゴシエーション中にノードとDTMとの間で渡されるメッセージの例を示す。最初に、ノードBは送信メッセージ560を介してFTP経由でデータをノードDに送信することを試みる。DTM1は「許可される?」メッセージ562経由でDTM2とのネゴシエーションを開始する。DTM2は、適切なデータを検査することでノードDが上記送信を許可しなかったと判定し、従って「許可されない」メッセージ564で応答する。応答において、DTM1は送信メッセージ560を介して受信したデータを除去する。
図6は、ノード通信ルーチン600の実施形態の例のフロー図を示す。本ルーチンを、図1に示す仮想マシンノード120またはコンピューティングシステムノード130aのような、通信ノードのアクションの一部として実施することができる。
本ルーチンはステップ605で開始し、別のノードから送信したデータ、またはリモートノードへのデータ送信指示を(例えば、ノードのアクションの別部分から)受信する。ステップ610で、ルーチンはデータを別ノードから受信したかどうかを判定する。そうならば、ルーチンはステップ615に進んで受信データを処理する。ステップ610でデータ送信指示を受信したと判定した場合、ルーチンはステップ625に進んで適切な宛先にデータを送信する。ステップ625または615の後、ルーチンはステップ620に進んで、継続するかどうかを判定する。そうならば、ルーチンはステップ605に戻り、そうでなければステップ699に継続して終了する。
図7A−7Bは送信マネージャルーチン700の実施形態の例のフロー図を示す。図1に示すDTM115またはDTM125のようなデータ送信マネージャコンポーネントの実行により、本ルーチンを提供することができる。
ルーチンはステップ705で開始し、対外送信、着信送信、ネゴシエーション要求、または管理メッセージを受信する。ルーチンは次いでステップ710に進んで、ステップ705で受信したメッセージまたは要求の種類を判定する。ルーチンが対外送信の指示を受信したとステップ710で判定する場合、ルーチンはステップ715に進んで以前の許可ネゴシエーションを示す適用規則を有するかどうかを判定する。適用規則は、対外送信が示す送信元ノードから宛先ノードへの送信に対して許可または拒否の何れかを行うものであることができる。上記規則が存在しないと判定する場合、ルーチンはステップ720に進んで、要求を宛先ノードに送信することで許可ネゴシエーションを開始する。実施形態の例では、要求を宛先ノードに送信する一方で、その要求を、宛先ノードを管理するリモートDTMにより傍受(従って、リモートDTMのネットワークアドレスを特に知ることなくDTMがネゴシエーションを開始することを許可)するが、他の実施形態ではネゴシエーション要求メッセージを(例えば、宛先ノードの、それらを管理するリモートDTMへのマッピングを介して)適切なDTMに直接送信するか、または別の方法で送信してもよい。次に、ルーチンはステップ725に進んで応答またはタイムアウトの何れかを受信する。何らかの理由でリモートDTMがオフラインになったかまたは到達不能である場合に、タイムアウトを受信する可能性がある。所定のタイムアウト内にリモートDTMから応答を受信しない場合、本実施形態では、応答がないことを、通信許可を拒否する応答として扱うが、他の実施形態では応答がないことを許可として扱うことができ、または応答がないことにより許可ネゴシエーションのさらなる試みを引き起こすことができる。ルーチンは次いでステップ730に進んで、送信元から宛先ノードへデータを送信する許可が付与されたかどうかを判定する。明示的な許可(例えば、許可指示を含むメッセージ)を受信した場合、ルーチンはステップ735に進んで、送信元から宛先ノードへの将来のデータ送信を許可する許可送信管理規則を追加する。ルーチンが明示的な許可拒否またはタイムアウトを受信する場合、ルーチンはステップ765に進んで、許可拒否を示す規則を追加して、送信元ノードから受信し所与の宛先ノードにバインドした任意のデータを除去する。本例では、追加した許可拒否規則には有効期限基準が含まれる。その有効期限基準には、タイムアウトまたは有効期限日、定期的にデータ送信規則の再ネゴシエーションを強制してグループメンバシップ、アクセスポリシー、および/またはノードネットワーク識別子に対する動的な変更が様々なDTMにより維持する規則集合内に正確に反映されることを保証すること等がある。
ステップ715で送信元ノードから宛先ノードへのデータ送信を支配する規則が存在すると判定する場合、ルーチンはステップ755に進んでその規則が上記送信を許可するかどうかを判定する。そうである場合、またはステップ735の後で、ルーチンはステップ740に進んでそのデータを送信元ノードから宛先ノードへ送信する。規則が送信元ノードから宛先ノードへのデータ送信許可を拒否するとステップ755で判定する場合、ルーチンはステップ760に進んで、所与の宛先ノードにバインドした送信元ノードからの任意のデータを除去する。未解決の許可ネゴシエーション中に受信したデータを待ち行列に入れず廃棄する実施形態においては、725および740のようなステップを幾分簡略化してもよいことに留意されたい。例えば、ネゴシエーション要求に対する応答の待機中にデータを待ち行列に入れない実施形態では、上記ステップ725を参照して説明したようにタイムアウトの受信を待たなくてもよい。なぜならば、未解決のネゴシエーション結果に依存して廃棄または送信の何れかを行うべき待ち行列データが蓄積されないからである。さらに、上記の場合、送信データがないため(許可ネゴシエーションを開始した任意のデータは待ち行列に入れられず、廃棄されていたであろうという理由で)、ルーチンはステップ740を省略してステップ735からステップ745に直接進むことができる。
ステップ710でルーチンがリモートDTMからネゴシエーション要求を受信したと判定する場合、ルーチンはステップ770に進んで送信元ノードアドレスおよび送信元ノードが属するグループを判定する。そのリモートDTMは、DTMが管理する宛先ノードの1つと送信元ノードが通信するための許可の取得を試みている。いくつかの実施形態では、情報の一部または全てを、リモートDTMから受信したネゴシエーション要求の一部としてDTMに提供する。あるいは、DTMはこの情報の一部または全てを、別のシステムコンポーネント(例えば、図1のDTMグループマネージャ140またはDTMシステムマネージャ150)からといった、他の方法で取得することができる。次に、ルーチンはステップ772に進んで、宛先ノードと通信する許可を送信元ノードのネットワークアドレスに付与したかどうかを判定する。そうでなければ、ルーチンはステップ774に継続して、宛先ノードと通信する許可を少なくとも1つの送信元ノードのグループに付与したかどうかを判定する。そうでなければ、ルーチンはステップ776に継続して、送信元ノードから宛先ノードへの送信許可を拒否する規則を追加する。その規則は、データ送信規則の再ネゴシエーションを定期的に強制する有効期限基準を含むことができる。次に、ルーチンはステップ778に継続して、通信許可を拒否する応答をリモートDTMに送信する。しかしながら宛先ノードと通信する許可を送信元ノードに付与したとステップ772または774で判定する場合、ルーチンはステップ782に進んで、送信元ノードから宛先ノードへの通信を許可する規則を追加する。次に、ルーチンはステップ784に進んで、送信元ノードが宛先ノードと通信する許可を示す応答をリモートDTMに送信する。
ステップ710でルーチンが着信データを受信したと判定する場合、ルーチンはステップ786に進む。ステップ786で、ルーチンは、着信データの送信元ノードから着信データの宛先データへの通信を許可する規則が規則集合内に存在するかどうかを判定する。ステップ788でそのように判定する場合、ルーチンはステップ790に継続し、データを最終宛先ノードに転送する。上記通信の許可を拒否する規則が存在しないか、または上記通信の許可を明示的に拒否する規則が存在する場合、ルーチンはステップ792に進んで着信データを除去する。さらに、いくつかの実施形態では、DTMはこの場合、上記通信が許可されなかったデータを最初に送信したリモートDTMにメッセージを送信し、それによりリモートDTMに対し、この特定の宛先ノードに関する規則の一部または全てを無効にすべきことを知らせることができる。
ステップ710でルーチンが管理メッセージを受信したと判定する場合、ルーチンはステップ794に進む。管理メッセージは、DTMが管理する1つまたは複数のノードがオフラインになったという通知、DTMが管理すべき新規ノードがオンラインになったという通知等を含むことができる。いくつかの実施形態では、新規ノードがオンラインになると、その新規ノードを管理するDTMはその新規ノードのネットワークロケーション(例えば、ネットワークアドレス)、その新規ノードが属するグループ、その新規ノードとの通信許可を付与された送信元ノードまたは他の送信者(個々のノードまたはグループ)、送信者がその新規ノードと通信するために使用できる特定のプロトコル等を判定することができる。他の実施形態では、DTMは代替的に、新規ノードが最初にアウトバウンド通信を送信するとき、またはその新規ノード宛の最初のインバウンド通信が到着するとき等の後の時点まで上記情報の取得を遅延させることができる。上記情報を、図1のDTMグループマネージャ140またはDTMシステムマネージャのような他のシステムコンポーネントと通信することで、またはネットワークアクセス可能データストアを参照することで、DTMにより取得することができる。同様に、DTMが管理するノードがオフラインになるとき、DTMは、送信元または宛先ノードの何れかとしてそのノードを参照する任意の規則をその規則集合から消去することができる。DTMはノードのネットワーク識別子、グループメンバシップ、および/またはアクセスポリシーに関する任意の情報を消去することもできる。
ステップ760、740、765、784、778、790、792または794の後、ルーチンはステップ780に継続して、ハウスキーピングタスク(例えば、TMコンポーネントの規則集合に格納した規則に関連付けられた有効期限基準をチェックすること)をオプションで実施する。いくつかの実施形態では、指定の時間間隔の後に自動的に有効期限が切れるように規則を設定することができる。他の実施形態では、DTMは定期的に規則集合内の規則を検査して、或る特定の年代に達したものを消去または削除する。他のハウスキーピングタスク(housekeeping task)は、ログの更新もしくは循環、または上記フローチャートで示していない追加のメッセージもしくは要求の処理等の操作を含むことができる。例えば、いくつかの場合では、上記DTMの実施形態の例は陳腐化した許可規則、即ち、初期許可ネゴシエーション後の何らかの時点でオフラインになった宛先ノードを参照する許可規則を有するであろう。上記の場合、DTMは、DTMの管理下で送信元ノードの1つがそのノードへのデータ送信を試みるまで、宛先ノードがオフラインになったことに気づくことができない。DTMは上記送信を許可する規則を有するので、DTMはそのデータを宛先ノードに送信するであろう。しかしながら、リモートDTMはその送信を拒否し、上記送信を許可した規則(あるいはそのノードを宛先ノードとして参照する全ての規則)を無効にするようDTMに知らせるメッセージで応答する。それに応じて、DTMは所与の宛先ノードに関する、格納した規則の一部または全てを必要に応じて消去するであろう。
ステップ745の後、ルーチンはステップ750に進んで、継続するかどうかを判定する。そうならば、ルーチンはステップ705に戻り、そうでなければステップ799に継続して終了する。
図8はDTMシステムマネージャルーチン800の実施形態の例のフロー図を示す。本ルーチンを、例えば図1に示すDTMシステムマネージャ150の実行により提供することができる。ルーチンはステップ805で開始し、ユーザアカウント操作の実施要求またはグループ情報の構成要求を受信する。次に、ルーチンはステップ810に進んで、ユーザアカウント操作の実施要求を受信したかどうかを判定する。そうならば、ルーチンはステップ840に進んで、要求されたユーザアカウント操作(例えば、ユーザアカウントの生成または削除、課金情報のようなユーザアカウント設定に対する修正、データセンターが提供する計算時間または他のリソースの予約、マシンイメージまたはアプリケーションプロファイルの準備および管理等)を必要に応じて実施する。ユーザアカウント操作をステップ810で要求したと判定されない場合、ルーチンはステップ815に継続してグループアクセスポリシーの構成要求を受信したかどうかを判定する。そうである場合、ルーチンはステップ845に継続して、要求に応じて、または必要に応じてグループアクセスポリシーを設定または構成する。これらのアクセスポリシーは例えば、図3Bのテーブルに示したものと類似してもよい。いくつかの場合では、ルーチンはさらに、いくつかのDTM(例えば、指定アクセスポリシーの影響を受けるノードを管理するもののみ)または全てのDTMに指定アクセスポリシーを通知することができる。グループアクセスポリシーの構成要求を受信したとステップ815で判定しない場合、ルーチンはステップ820に進んで、グループメンバシップの指定要求を受信したかどうかを判定する。そうであれば、ルーチンはステップ850に継続して、必要に応じてグループメンバシップ情報に対する修正を実施する。いくつかの場合、ルーチンはさらに、いくつかのDTM(例えば、グループメンバシップの仕様の影響を受けるノードを管理するもののみ)または全てのDTMにグループメンバシップの修正を通知することができる。グループメンバシップの指定要求を受信したとステップ820で判定しない場合、ルーチンはステップ825に進んで他の要求を処理する。他の要求は新規グループの生成、グループの削除、上記ステップにより処理されない既存グループまたはユーザアカウントに対する修正等の操作を含むことができる。ステップ830、840、845、または850の後、ルーチンはステップ830に進んで、追加のハウスキーピング操作(例えば、ユーザに対する課金情報の定期的生成、アクセスおよび操作のロギングまたはログの循環、システムバックアップ、あるいは他の管理または管理機能)をオプションで実施する。次に、ルーチンはステップ835に進んで、継続するかどうかを判定する。そうである場合、ルーチンはステップ805に進んで追加の着信要求を処理する。そうでなければ、ルーチンはステップ899に進んで戻る。
当業界の技術者は、上で議論したルーチンにより提供する機能性をいくつかの実施形態では代替手段により提供してもよいことも理解するであろう。その代替手段には、より多数のルーチン間で分割することまたはより少数のルーチンに統合すること等がある。同様に、いくつかの実施形態では、示したルーチンは説明したものより多数または少数の機能性を、他の示したルーチンが上記機能性をそれぞれ欠くかもしくは含むとき、または提供した機能性の量が変更されるとき等に提供してもよい。さらに、様々な操作を特定の方法で(例えば、逐次的に、または並行して)、および/または特定の順序で実施されるとして示すことができる一方で、他の実施形態ではその操作を他の順序または他の方法で実施してもよいことを、当業界の技術者は理解するであろう。当業界の技術者は、上で議論したデータ構造を異なる方法で構造化してもよいことも理解するであろう。その方法には単一のデータ構造を複数のデータ構造に分割させることによるもの、または複数のデータ構造を単一のデータ構造に統合させることによるもの等がある。同様に、いくつかの実施形態では、示したデータ構造は説明したものより多数または少数の情報を、他の示したデータ構造が上記情報をそれぞれ欠くかまたは含むとき、あるいは格納した情報の量または種類が変更されるとき等に格納してもよい。
前述したように、いくつかの実施形態ではコンピューティングノードによるデータ送信または他の通信の開始を、関連するデータ送信マネージャコンポーネントにより様々な方法で実施および特定することができる。いくつかの実施形態では、コンピューティングノードは明示的なメッセージを、リモートノードと通信する許可を要求してそのメッセージを管理するTMコンポーネントに送信することができるが、他の実施形態ではTMおよびそれが実施する許可ネゴシエーションの存在はコンピューティングノードに完全に透過的であってよい。そうならば、コンピューティングノードは単純にデータをリモートノードに送信し、TMコンポーネントはコンピューティングノードからの全ての対外送信を監視および処理する。TMコンポーネントがコンピューティングノードから開始したデータ送信を(そのコンピューティングノードから明示的な要求メッセージを受信すること、またはそのコンピューティングノードがまだ許可をネゴシエートしていないアウトバウンド送信を、TCPまたはUDPパケットの送信元および宛先ネットワークアドレスをそれらのパケットがネットワークインタフェースを渡って流れるときに検査すること等により検出すること、等により)特定するとき、TMコンポーネントは許可が存在する場合または許可の拒否がまだ存在しない場合に許可ネゴシエーションを開始する。TMコンポーネントが許可をネゴシエートする間、TMコンポーネントは、リモート宛先ノードにバインドしたコンピューティングノードからの発信データを待ち行列に入れ、許可ネゴシエーション結果に従って(例えば、データ送信が宛先ノードに進むことを許可または防止することで)そのデータを処理し、宛先ノードへの転送前にデータをオプションで操作することができる(例えば、データ送信の許可および/または信頼性の検証において宛先コンピューティングノードおよび/または宛先送信コンポーネントにより使用される取得した許可の指示を含めること、データ形式および/または送信プロトコルを変更して宛先コンピューティングノードの優先度を反映すること等または他の理由でデータ送信方法を修正すること、データを追加および/または除去する等で、送信したデータを修正すること等)。
さらに、様々な実施形態では顧客ユーザおよび他のユーザがDTMシステムの実施形態と相互作用するためのメカニズムを提供することができる。例えば、いくつかの実施形態では、インタラクティブコンソール(例えば、インタラクティブユーザインタフェース、Webブラウザベースのインタフェース等を提供するクライアントアプリケーションプログラム)を提供することができる。ユーザはそのインタラクティブコンソールから、グループの生成または削除、および通信アクセスポリシーまたはグループメンバシップの仕様、およびホストされるアプリケーションの操作および管理に関するより一般的な管理機能(例えば、ユーザアカウントの生成または修正、新規アプリケーションの準備、ホストされるアプリケーションの開始、終了、または監視、アプリケーションのグループへの割り当て、時間または他のシステムリソースの予約等)を管理することができる。さらに、いくつかの実施形態では、他のコンピューティングシステムおよびプログラムがプログラム的に上記機能性を起動できるAPI(application programming interface)を提供することができる。上記APIを、(例えば、C,C++、またはJava(登録商標)で書いたプログラムにより起動される)ライブラリまたはクラスインタフェースおよび/またはWebサービス経由のもののようなネットワークサービスプロトコルにより提供することができる。
さらに、様々な実装アーキテクチャがDTMシステムの実施形態に対して可能である。いくつかの実施形態では、それぞれが独立した自律プログラムとして動作することで、または他のTMコンポーネントと協調することで、複数のTMコンポーネントは分散方式で動作してそれぞれは1つまたは複数の関連ノードのデータ送信を管理することができる。その複数のTMコンポーネントは、ノードを管理している同一コンピューティングシステム上でホストされる仮想マシンであることができ、または自分が管理するノードからリモートであるコンピューティングシステム上で動作することができる。許可ネゴシエーションを、その中でTMコンポーネントが互いに直接相互作用するとして説明したが、他の実施形態では上記TMコンポーネントは他の方法で許可をネゴシエートすることができる。その方法には、システム全体に対する通信ポリシーを管理する中央コンポーネントと通信することによるもの、または構成ファイルを参照することもしくはローカルまたはネットワーク上で利用可能な他の静的情報ストアを参照することによるもの等がある。さらに、TMコンポーネントにより実施する許可ネゴシエーションは様々な形態を有することができる。例えば、いくつかの実施形態では、リモートTMコンポーネントの実際のネットワークアドレスまたは他の識別子は、ネゴシエーションを開始するTMコンポーネントに既知であってよく、そうならば、そのTMコンポーネントはそのリモートTMコンポーネントと直接相互作用することができ、一方で他の実施形態ではTMコンポーネントは、送信した情報が適切なリモートTMコンポーネントにより傍受されることを期待して、情報を宛先コンピューティングノードのネットワークアドレスに送信することができる。他の実施形態では、単一の中央TMコンポーネントまたは他のコンポーネントは多数のコンピューティングノード(例えば、データセンター全体)に対するデータ送信を、(そのノードの構成のため、またはネットワーク構造もしくは上記アクセスを提供する他のメカニズムのため)その単一コンポーネントがそれらノードにより開始されたデータ送信へのアクセスを有する場合に、管理することができる。さらに他の実施形態では、管理しているコンピューティングノードの各々に取り込むこと等で(例えば、全てのノードによるネットワーク通信に用いるシステムライブラリに組み込むことで)TMコンポーネントの機能性を分散させることができ、または相違するTMコンポーネントがそれぞれのコンポーネントに代わって動作することができる。
さらに、DTMシステムの機能性を様々なシステムコンポーネント間で分散させる実施形態では、様々なネゴシエーション方式およびプロトコルが可能である。TMコンポーネント間またはTMコンポーネントと他のシステムコンポーネントとの間で渡されるデータ送信ポリシーおよび許可に関するネゴシエーション要求および他のメッセージを様々な方法で実装することができる。その方法には、関連情報を含む低レベルUDPパケットの送信によるもの、またはHTTPのようなより高レベルのプロトコル上に実装したプロトコル(例えば、XML−RPC、SOAP等)によるもの等がある。
前述したように、ここに説明する技術を多数のコンピューティングノードの代わりに使用してそれらのコンピューティングノードに様々な利益を提供することができる。さらに、少なくともいくつかの実施形態では、上記のコンピューティングノードは、それぞれが着信通信に対して独自のファイアウォール、アンチウイルス保護および他のマルウェアに対する保護等を構成および提供すること等により、代わりにさらに追加の技術を使用して他の能力を提供することができる。
いくつかの定義した境界内部のコンピューティングノードグループ(例えば、データセンター内部のノード)が、それらのコンピューティングノードにより開始したデータ送信へアクセスできる等のため、ここに説明する技術を使用するとき、いくつかの実施形態ではここに説明する技術をその定義した境界の端に拡張することができる。従って定義した境界内部のコンピューティングノード間のデータ送信管理に加えて、内部と外部のコンピューティングノード間の境界を通る通信にアクセス可能な1つまたは複数の送信マネージャコンポーネントは、それらの通信に対してここに説明する技術の少なくとも一部を同様に提供することができる。例えば内部コンピューティングノード宛のデータ通信を外部コンピューティングノードから境界で受信するとき、端に関連付けられた送信管理コンポーネントは同様にその通信を管理されたコンピューティングノードが開始した対外データ送信として扱うことができる。それは、その通信を待ち行列に入れて(例えば、宛先コンピューティングノードに関連付けられた送信管理コンポーネントとネゴシエートすること、または全ての内部コンピューティングノードの代わりに動作するコンポーネントとネゴシエートすることにより)許可がネゴシエートおよび取得される場合にのみ内部ネットワークへその通信を渡すことを許可すること等により行うことができる。
当業界の技術者は、いくつかの実施形態ではここに説明する技術を複数の相互通信ノードを収容するデータセンターという状況で使用するが、他の実装シナリオも可能であることも理解するであろう。例えば、ここに説明する技術を、ビジネスまたは他の施設(例えば、大学)が運営する組織規模のイントラネットという状況で、その従業員および/またはメンバの利益のために使用してもよい。あるいは、ここに説明する技術をネットワークサービスプロバイダにより使用してネットワークセキュリティ、可用性、および分離を改善することができる。さらに、実施形態の例を様々な目的でデータセンターまたは他の状況で使用することができる。例えば、ホストされるアプリケーションへのアクセスを顧客に販売するデータセンターのオペレータまたはユーザはいくつかの実施形態ではここに説明する技術を使用して、その顧客のアプリケーションとデータとの間のネットワーク分離を提供することができる。ソフトウェア開発チームはいくつかの実施形態では本技術を使用して、自分が使用する様々な環境(例えば、開発、構築、テスト、配置、生産等)の間でネットワーク分離を提供することができる。組織はいくつかの実施形態ではここに説明する技術を使用して、或る個人グループまたは部門(例えば、人事)が利用するコンピューティングリソースを、別の個人グループまたは部門(例えば、経理)が利用するコンピューティングリソースから分離することができる。または、マルチコンポーネントアプリケーション(例えば、多層ビジネスアプリケーション)を配置しているデータセンターのオペレータまたはユーザはいくつかの実施形態ではここに説明する技術を使用して、様々なコンポーネントタイプ(例えば、Webフロントエンド、データベースサーバ、ビジネスルールエンジン等)に対する機能分解および/または分離を提供する。より一般的には、ここに説明する技術を使用して仮想マシンを分割し、従来では相違するコンピューティングシステムを物理的に分割する必要があったであろうほとんどいかなる状況をも反映することができる。
本明細書では例示の目的で特定の実施形態を説明したが、前述したことから当然のことながら、本発明の精神および範囲から逸脱せずに様々な修正を加えうる。従って、本発明は添付請求項とその中で列挙した要素によって以外は限定されない。さらに、本発明の或る特定の態様を或る特定の請求項の形で提示するが、本発明者は任意の可能な請求項の形で本発明の様々な態様を意図している。例えば、コンピュータ可読媒体で具現化されているとして本発明のいくつかの態様のみを現時点では列挙しているが、他の態様も同様にそのように具現化することができる。
複数の送信マネージャコンポーネントがコンピューティングノード間の通信を管理する実施形態の例を示すネットワーク図である。 コンピューティングノード間の通信を管理するシステムの実施形態を実行するのに適したコンピューティングシステムの例を示すブロック図である。 コンピューティングノード間の通信を管理するためのグループメンバシップ情報を用いる例を示す図である。 コンピューティングノード間の通信を管理するためのグループメンバシップ情報を用いる例を示す図である。 コンピューティングノード間の通信管理に使用する、動的に修正した送信管理規則の例を示す図である。 コンピューティングノード間の通信管理に使用する、動的に修正した送信管理規則の例を示す図である。 コンピューティングノード間の通信管理に使用する、動的に修正した送信管理規則の例を示す図である。 コンピューティングノード間の通信管理に使用する、動的に修正した送信管理規則の例を示す図である。 コンピューティングノード間の通信管理に使用する、動的に修正した送信管理規則の例を示す図である。 コンピューティングノード間の通信管理に使用する、動的に修正した送信管理規則の例を示す図である。 2つの相互通信するコンピューティングノードと、その通信を管理する関連送信マネージャコンポーネントとの間のデータ送信の例を示す図である。 ノード通信ルーチンの実施形態の例のフロー図である。 送信マネージャルーチンの実施形態の例のフロー図である。 送信マネージャルーチンの実施形態の例のフロー図である。 DTMシステムマネージャルーチンの実施形態の例のフロー図である。

Claims (25)

  1. コンピューティングシステムにおけるデータ送信マネージャに関する方法であって、
    送信元ノードから宛先ノードへのデータ送信に関する要求を受信するステップと、
    送信管理規則を適用することによって前記データ送信が許可されるかどうかを判定するステップであって、前記判定ステップは、前記送信管理規則の適用により前記データ送信が許可されない場合に、
    前記宛先ノードに関連付けられた第2のデータ送信マネージャと許可に関するネゴシエーションを開始するステップと、
    前記第2の送信マネージャ装置から、前記データ送信が許可されるかどうかを示すメッセージを受信するステップと
    を含むステップと、
    前記データ送信が許可される場合、前記宛先ノードに対するデータを前記第2のデータ送信マネージャに送信するステップと、
    前記データ送信が許可されない場合、前記データ送信を終了するステップと
    を備えることを特徴とする方法。
  2. 前記第2の送信マネージャからの前記受信メッセージ内で前記データ送信が許可されると示される場合、前記送信管理規則を更新して前記送信元ノードから前記宛先ノードへのデータ送信を許可するステップをさらに備えることを特徴とする請求項1に記載の方法。
  3. 前記データ送信が許可されるかどうかを判定するステップは、
    前記送信元ノードがメンバである1つまたは複数のノードグループから成る第1の集合を判定するステップと、
    前記宛先ノードがメンバである1つまたは複数のノードグループから成る第2の集合を判定するステップと、
    前記第1および第2の集合の前記ノードグループに適用した送信規則に少なくとも部分的に基づいて、前記送信元ノードが前記宛先ノードと通信することが許可されるかどうかを判定するステップと
    をさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記送信元ノードと前記宛先ノードとの間のネゴシエーションに関する要求を受信するステップと、
    前記送信元ノードがノードグループの一部であるかどうかを判定するステップと、
    前記送信元ノードがノードグループの一部であると判定される場合、
    前記ノードグループが前記データ送信に対する許可を有するかどうかを判定するステップと、
    前記ノードグループが許可を有すると判定される場合、
    前記送信規則を更新するステップと、
    前記送信元ノードから前記宛先ノードへのデータ送信が許可されることを示すネゴシエーション応答を前記第2のデータ送信マネージャに送信するステップと
    をさらに備えることを特徴とする請求項1に記載の方法。
  5. 前記ネゴシエーション応答は、前記送信元ノードのネットワークアドレスを示すものおよび前記送信元ノードに対する前記ノードグループを示すものを含むことを特徴とする請求項4に記載の方法。
  6. 前記ネゴシエーション応答は、前記宛先ノードに対するデータ送信で使用するための送信プロトコルを示すものを含むことを特徴とする請求項4に記載の方法。
  7. 前記宛先ノードからおよび前記送信元ノードへの第2のデータ送信に関する要求を受信するステップと、
    送信管理規則を適用することで前記第2のデータ送信が許可されるかどうかを判定するステップと、
    前記第2のデータ送信が許可される場合、データを前記送信元ノードに転送するステップと、
    前記第2のデータ送信が許可されない場合、前記第2のデータ送信を終了するステップ

    をさらに備えることを特徴とする請求項1に記載の方法。
  8. 前記データ送信マネージャおよび前記第2のデータ送信マネージャは、ソフトウェアシミュレーションにより実装した仮想マシンであることを特徴とする請求項1に記載の方法。
  9. それぞれの仮想マシンは相違する論理コンピューティングシステムを表すことを特徴とする請求項8に記載の方法。
  10. 前記データ送信マネージャはデータ送信マネージャグループマネージャからデータ送信管理規則を受信すること、および前記データ送信マネージャグループマネージャはグループメンバシップおよびグループデータ送信管理規則を維持することを特徴とする請求項1に記載の方法。
  11. 前記データ送信が許可されるかどうかを判定するステップは、前記送信元ノードを含むグループを特定するステップをさらに含み、適用される前記送信管理規則は当該グループに対する送信管理規則であることを特徴とする請求項1に記載の方法。
  12. 請求項1から11に記載のいずれかの方法を実施するコンピュータプログラム。
  13. コンピューティングシステムにおけるデータ送信管理に関する装置であって、
    送信元ノードから宛先ノードへのデータ送信に関する要求を受信する手段であって、前記要求をデータ送信マネージャに送信する手段と、
    送信管理規則を適用することによって前記データ送信が許可されるかどうかを判定する手段であって、前記判定することは、前記送信管理規則の適用により前記データ送信が許可されない場合に、
    前記宛先ノードに関連付けられた第2のデータ送信マネージャと許可に関するネゴシエーションを開始することと、
    前記第2の送信マネージャ装置から、前記データ送信が許可されるかどうかを示すメッセージを受信することと
    を含む手段と、
    前記データ送信が許可される場合、前記宛先ノードに対するデータを前記第2のデータ送信マネージャに送信する手段と、
    前記データ送信が許可されない場合、前記データ送信を終了する手段と
    を備えることを特徴とする装置。
  14. 前記第2の送信マネージャからの前記受信メッセージ内で前記データ送信が許可されると示される場合、前記送信管理規則を更新して前記送信元ノードから前記宛先ノードへのデータ送信を許可する手段をさらに備えることを特徴とする請求項13に記載の装置。
  15. 前記データ送信が許可されるかどうかを判定する手段は、
    前記送信元ノードがメンバである1つまたは複数のノードグループから成る第1の集合を判定する手段と、
    前記宛先ノードがメンバである1つまたは複数のノードグループから成る第2の集合を判定する手段と、
    前記ノードグループに適用した送信規則に少なくとも部分的に基づいて、前記送信元ノードが前記宛先ノードと通信することが許可されるかどうかを判定する手段と
    をさらに含むことを特徴とする請求項13に記載の装置。
  16. 前記送信元ノードと前記宛先ノードとの間のネゴシエーションに関する要求を受信する手段と、
    前記送信元ノードがノードグループの一部であるかどうかを判定する手段と、
    前記送信元ノードがノードグループの一部であると判定される場合、前記送信元ノードが許可を有するかどうかを、
    前記ノードグループが前記データ送信に対する許可を有するかどうかを判定することと、
    前記ノードグループが許可を有すると判定される場合、
    前記送信規則を更新することと、
    前記送信元ノードから前記宛先ノードへのデータ送信が許可されることを示すネゴシエーション応答を前記第2のデータ送信マネージャに送信することと
    により判定する手段と
    をさらに備えることを特徴とする請求項13に記載の装置。
  17. 前記ネゴシエーション応答は、前記送信元ノードのネットワークアドレスを示すものおよび前記送信元ノードに対する前記ノードグループを示すものを含むことを特徴とする請求項16に記載の装置。
  18. 前記ネゴシエーション応答は、前記宛先ノードに対するデータ送信で使用するための送信プロトコルを示すものを含むことを特徴とする請求項16に記載の装置。
  19. 前記データ送信マネージャおよび前記第2のデータ送信マネージャはソフトウェアシミュレーションにより実装した仮想マシンであることを特徴とする請求項16に記載の装置。
  20. それぞれの仮想マシンは相違する論理コンピューティングシステムを表すことを特徴とする請求項19に記載の装置。
  21. 前記データ送信マネージャはデータ送信マネージャグループマネージャからデータ送信管理規則を受信すること、および前記データ送信マネージャグループマネージャはグループメンバシップおよびグループデータ送信管理規則を維持することを特徴とする請求項16に記載の装置。
  22. 前記データ送信が許可されるかどうかを判定する手段は、前記送信元ノードを含むグループを特定し、前記グループに対して送信管理規則を適用する手段を含むことを特徴とする請求項16に記載の装置。
  23. 前記宛先ノードからおよび前記送信元ノードへの第2のデータ送信に関する要求を受信する手段と、
    送信管理規則を適用することで前記第2のデータ送信が許可されるかどうかを判定する手段と、
    前記第2のデータ送信が許可される場合、データを前記送信元ノードに転送する手段と、
    前記第2のデータ送信が許可されない場合、前記第2のデータ送信を終了する手段と
    をさらに備えることを特徴とする請求項13に記載の装置。
  24. 前記装置は前記データ送信マネージャを実装する手段を備えることを特徴とする請求項13から23のいずれかに記載の装置。
  25. 前記装置は前記第2のデータ送信マネージャを実装する手段を備えることを特徴とする請求項24に記載の装置。
JP2009502957A 2006-03-31 2007-03-29 コンピューティングノード間通信の管理 Active JP5006925B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/394,595 US7801128B2 (en) 2006-03-31 2006-03-31 Managing communications between computing nodes
US11/394,595 2006-03-31
PCT/US2007/007599 WO2007126835A2 (en) 2006-03-31 2007-03-29 Managing communications between computing nodes

Publications (2)

Publication Number Publication Date
JP2009532944A true JP2009532944A (ja) 2009-09-10
JP5006925B2 JP5006925B2 (ja) 2012-08-22

Family

ID=38576953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009502957A Active JP5006925B2 (ja) 2006-03-31 2007-03-29 コンピューティングノード間通信の管理

Country Status (6)

Country Link
US (14) US7801128B2 (ja)
EP (2) EP3731465B1 (ja)
JP (1) JP5006925B2 (ja)
CN (1) CN101461190B (ja)
CA (3) CA2875381C (ja)
WO (1) WO2007126835A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011527781A (ja) * 2008-07-01 2011-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク資源がサービス・ランドスケープ・インスタンス内でプロビジョンされるときに、ネットワーク・セキュリティ・ポリシ・ルールを更新するためのコンピュータ実装方法、システム及びコンピュータ・プログラム
JP2013012865A (ja) * 2011-06-29 2013-01-17 Fujitsu Ltd 情報処理装置、情報処理プログラムおよび管理方法
WO2013115565A3 (ko) * 2012-01-30 2013-10-10 엘지전자 주식회사 가상 머신 관리 방법 및 이를 위한 장치
US10177971B2 (en) 2012-08-30 2019-01-08 Fujitsu Limited Operation management device and method
US10218613B2 (en) 2008-03-31 2019-02-26 Amazon Technologies, Inc. Authorizing communications between computing nodes

Families Citing this family (243)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1826979A1 (en) * 2006-02-27 2007-08-29 BRITISH TELECOMMUNICATIONS public limited company A system and method for establishing a secure group of entities in a computer network
US8856862B2 (en) * 2006-03-02 2014-10-07 British Telecommunications Public Limited Company Message processing methods and systems
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US7996834B2 (en) * 2006-04-14 2011-08-09 Microsoft Corporation Virtual machine self-service restrictions
US8619771B2 (en) 2009-09-30 2013-12-31 Vmware, Inc. Private allocated networks over shared communications infrastructure
US8892706B1 (en) 2010-06-21 2014-11-18 Vmware, Inc. Private ethernet overlay networks over a shared ethernet in a virtual environment
US8924524B2 (en) 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
KR101266021B1 (ko) * 2006-10-13 2013-05-21 삼성전자주식회사 데이터 통신 시스템에서 이동통신 단말기를 제어하는 장치및 방법
US8978125B2 (en) * 2006-10-19 2015-03-10 Oracle International Corporation Identity controlled data center
EP1976220A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Computer network
EP1975830A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Distributed computer system
WO2009007985A2 (en) * 2007-07-06 2009-01-15 Elitecore Technologies Limited Identity and policy-based network security and management system and method
US9083609B2 (en) 2007-09-26 2015-07-14 Nicira, Inc. Network operating system for managing and securing networks
US8954592B1 (en) * 2007-11-05 2015-02-10 Amazon Technologies, Inc. Determining computing-related resources to use based on client-specified constraints
US10733014B2 (en) * 2008-01-03 2020-08-04 Florida Institute For Human And Machine Cognition, Inc. Process integrated mechanism apparatus and program
NO2265709T3 (ja) 2008-03-27 2018-04-07
CN103401952B (zh) * 2008-03-31 2018-04-20 亚马逊技术有限公司 配置计算机节点之间的通信
US8549347B1 (en) 2010-12-20 2013-10-01 Amazon Technologies, Inc. Techniques for network replication
US7865586B2 (en) * 2008-03-31 2011-01-04 Amazon Technologies, Inc. Configuring communications between computing nodes
US8046480B2 (en) 2008-03-31 2011-10-25 Amazon Technologies, Inc. Embedding overlay virtual network addresses in underlying substrate network addresses
US20110035494A1 (en) * 2008-04-15 2011-02-10 Blade Network Technologies Network virtualization for a virtualized server data center environment
US8339959B1 (en) 2008-05-20 2012-12-25 Juniper Networks, Inc. Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US7987289B2 (en) * 2008-06-24 2011-07-26 Microsoft Corporation Participating in cloud as totally stubby edge
CN101631110B (zh) * 2008-07-15 2013-01-02 国际商业机器公司 基于相对位置动态确定连接建立机制的装置和方法
US8019732B2 (en) * 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US8955107B2 (en) * 2008-09-12 2015-02-10 Juniper Networks, Inc. Hierarchical application of security services within a computer network
US8040808B1 (en) 2008-10-20 2011-10-18 Juniper Networks, Inc. Service aware path selection with a network acceleration device
US20100106578A1 (en) * 2008-10-28 2010-04-29 Michael Gregory Allio Shareholder reward system
US8918761B1 (en) 2008-12-05 2014-12-23 Amazon Technologies, Inc. Elastic application framework for deploying software
US9524167B1 (en) 2008-12-10 2016-12-20 Amazon Technologies, Inc. Providing location-specific network access to remote services
US8230050B1 (en) * 2008-12-10 2012-07-24 Amazon Technologies, Inc. Providing access to configurable private computer networks
US8201237B1 (en) 2008-12-10 2012-06-12 Amazon Technologies, Inc. Establishing secure remote access to private computer networks
US9137209B1 (en) 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
CN101753610B (zh) * 2008-12-19 2012-11-21 华为技术有限公司 分布式网络构造方法、装置和系统以及任务处理方法
US20100174811A1 (en) * 2009-01-05 2010-07-08 Microsoft Corporation Network isolation and identity management of cloned virtual machines
US8595378B1 (en) 2009-03-30 2013-11-26 Amazon Technologies, Inc. Managing communications having multiple alternative destinations
US9106540B2 (en) 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks
CN104702537B (zh) 2009-04-01 2018-07-10 Nicira股份有限公司 用于实现和管理虚拟交换机的方法和装置
SI2427544T1 (sl) 2009-05-07 2019-11-29 Genomatica Inc Mikroorganizmi in metode za biosintezo adipata, heksametilendiamina in 6-aminokaprojske kisline
US8335857B1 (en) * 2009-05-21 2012-12-18 Sprint Communications Company L.P. System and methods of data transmission to devices
US8644188B1 (en) 2009-06-25 2014-02-04 Amazon Technologies, Inc. Providing virtual networking functionality for managed computer networks
CN101630270B (zh) * 2009-07-22 2013-06-26 成都市华为赛门铁克科技有限公司 数据处理系统和方法
CN101650666B (zh) * 2009-08-31 2016-01-13 曙光信息产业(北京)有限公司 一种计算机管理系统及方法
US8650326B2 (en) * 2009-11-11 2014-02-11 Microsoft Corporation Smart client routing
US9036504B1 (en) 2009-12-07 2015-05-19 Amazon Technologies, Inc. Using virtual networking devices and routing information to associate network addresses with computing nodes
US9203747B1 (en) 2009-12-07 2015-12-01 Amazon Technologies, Inc. Providing virtual networking device functionality for managed computer networks
US8966027B1 (en) 2010-05-24 2015-02-24 Amazon Technologies, Inc. Managing replication of computing nodes for provided computer networks
WO2011159842A2 (en) 2010-06-15 2011-12-22 Nimbula, Inc. Virtual computing infrastructure
US10715457B2 (en) 2010-06-15 2020-07-14 Oracle International Corporation Coordination of processes in cloud computing environments
US8964528B2 (en) 2010-07-06 2015-02-24 Nicira, Inc. Method and apparatus for robust packet distribution among hierarchical managed switching elements
US9680750B2 (en) 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US8880468B2 (en) 2010-07-06 2014-11-04 Nicira, Inc. Secondary storage architecture for a network control system that utilizes a primary network information base
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
DE102010039519A1 (de) * 2010-08-19 2012-02-23 Siemens Aktiengesellschaft System mit einem Produktivsystem und einem Prototypsystem, sowie ein Verfahren hierzu
US8560646B1 (en) 2010-09-28 2013-10-15 Amazon Technologies, Inc. Managing communications using alternative packet addressing
US9384029B1 (en) * 2010-09-30 2016-07-05 Amazon Technologies, Inc. Managing virtual computing nodes
US8843600B1 (en) 2010-09-30 2014-09-23 Amazon Technologies, Inc. Providing private access to network-accessible services
US9112769B1 (en) * 2010-12-27 2015-08-18 Amazon Technologies, Inc. Programatically provisioning virtual networks
US8499348B1 (en) 2010-12-28 2013-07-30 Amazon Technologies, Inc. Detection of and responses to network attacks
US9619662B1 (en) * 2011-01-13 2017-04-11 Google Inc. Virtual network pairs
US9191327B2 (en) 2011-02-10 2015-11-17 Varmour Networks, Inc. Distributed service processing of network gateways using virtual machines
US9043452B2 (en) 2011-05-04 2015-05-26 Nicira, Inc. Network control apparatus and method for port isolation
US9052941B1 (en) 2011-05-27 2015-06-09 Amazon Technologies, Inc. Automated testing of online functionality providers
US8832304B2 (en) 2011-07-07 2014-09-09 Ipc Systems, Inc. Protocol agnostic notification system
JP5870192B2 (ja) 2011-08-17 2016-02-24 ニシラ, インコーポレイテッド 論理l3ルーティング
US8830835B2 (en) 2011-08-17 2014-09-09 Nicira, Inc. Generating flows for managed interconnection switches
US9178833B2 (en) 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
JP5714187B2 (ja) 2011-11-15 2015-05-07 ニシラ, インコーポレイテッド ミドルボックスを備えるネットワークのアーキテクチャ
US9251535B1 (en) 2012-01-05 2016-02-02 Juniper Networks, Inc. Offload of data transfer statistics from a mobile access gateway
US20130198258A1 (en) * 2012-01-28 2013-08-01 International Business Machines Corporation Database improvement system
CN104303175B (zh) 2012-02-10 2018-06-12 甲骨文国际公司 云计算服务框架
US9628438B2 (en) * 2012-04-06 2017-04-18 Exablox Consistent ring namespaces facilitating data storage and organization in network infrastructures
CN104170334B (zh) 2012-04-18 2017-11-07 Nicira股份有限公司 一种用于管理网络的控制器的配置托管元件的方法及设备
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US10084818B1 (en) * 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US8954495B2 (en) * 2013-01-04 2015-02-10 Netfilx, Inc. Proxy application with dynamic filter updating
US11669441B1 (en) 2013-03-14 2023-06-06 Amazon Technologies, Inc. Secure virtual machine reboot via memory allocation recycling
US9323552B1 (en) 2013-03-14 2016-04-26 Amazon Technologies, Inc. Secure virtual machine memory allocation management via dedicated memory pools
US9507540B1 (en) 2013-03-14 2016-11-29 Amazon Technologies, Inc. Secure virtual machine memory allocation management via memory usage trust groups
US9813447B2 (en) * 2013-03-15 2017-11-07 Extreme Networks, Inc. Device and related method for establishing network policy based on applications
US9230213B2 (en) 2013-03-15 2016-01-05 Extreme Networks, Inc. Device and related method for scoring applications running on a network
US9130826B2 (en) 2013-03-15 2015-09-08 Enterasys Networks, Inc. System and related method for network monitoring and control based on applications
US9256636B2 (en) 2013-03-15 2016-02-09 Extreme Networks, Inc. Device and related method for application identification
US9172627B2 (en) 2013-03-15 2015-10-27 Extreme Networks, Inc. Device and related method for dynamic traffic mirroring
US9584393B2 (en) 2013-03-15 2017-02-28 Extreme Networks, Inc. Device and related method for dynamic traffic mirroring policy
US10075470B2 (en) 2013-04-19 2018-09-11 Nicira, Inc. Framework for coordination between endpoint security and network security services
US9552382B2 (en) 2013-04-23 2017-01-24 Exablox Corporation Reference counter integrity checking
US9088541B2 (en) * 2013-05-31 2015-07-21 Catbird Networks, Inc. Systems and methods for dynamic network security control and configuration
JP2016526717A (ja) 2013-06-12 2016-09-05 エグザブロックス・コーポレーション ハイブリッドガベージコレクション
US11196636B2 (en) 2013-06-14 2021-12-07 Catbird Networks, Inc. Systems and methods for network data flow aggregation
US9912549B2 (en) 2013-06-14 2018-03-06 Catbird Networks, Inc. Systems and methods for network analysis and reporting
JP2016526720A (ja) 2013-06-19 2016-09-05 エグザブロックス・コーポレーション クラスタベースの記憶システムにおけるデータスクラビング
US9619545B2 (en) 2013-06-28 2017-04-11 Oracle International Corporation Naïve, client-side sharding with online addition of shards
US9934242B2 (en) 2013-07-10 2018-04-03 Exablox Corporation Replication of data between mirrored data sites
US10009371B2 (en) 2013-08-09 2018-06-26 Nicira Inc. Method and system for managing network storm
US9648143B2 (en) 2013-10-03 2017-05-09 Duke Energy Corporation Methods of processing data corresponding to a device that corresponds to a gas, water, or electric grid, and related devices and computer program products
US10248556B2 (en) 2013-10-16 2019-04-02 Exablox Corporation Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session
EP4071605A1 (en) 2013-10-23 2022-10-12 Huawei Cloud Computing Technologies Co., Ltd. Method, system and apparatus for creating virtual machine
US9985829B2 (en) 2013-12-12 2018-05-29 Exablox Corporation Management and provisioning of cloud connected devices
US10277717B2 (en) 2013-12-15 2019-04-30 Nicira, Inc. Network introspection in an operating system
US9413778B1 (en) * 2013-12-18 2016-08-09 Amazon Technologies, Inc. Security policy creation in a computing environment
US10045221B2 (en) * 2013-12-18 2018-08-07 Qualcomm, Incorporated TCP enhancement with limited licensed channel usage for wireless networks
US9774582B2 (en) 2014-02-03 2017-09-26 Exablox Corporation Private cloud connected device cluster architecture
US9830324B2 (en) 2014-02-04 2017-11-28 Exablox Corporation Content based organization of file systems
US9369478B2 (en) 2014-02-06 2016-06-14 Nicira, Inc. OWL-based intelligent security audit
US10091238B2 (en) 2014-02-11 2018-10-02 Varmour Networks, Inc. Deception using distributed threat detection
US10264025B2 (en) 2016-06-24 2019-04-16 Varmour Networks, Inc. Security policy generation for virtualization, bare-metal server, and cloud computing environments
US9973472B2 (en) 2015-04-02 2018-05-15 Varmour Networks, Inc. Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
US11132173B1 (en) * 2014-02-20 2021-09-28 Amazon Technologies, Inc. Network scheduling of stimulus-based actions
US9774611B1 (en) 2014-03-11 2017-09-26 Amazon Technologies, Inc. Dynamically deploying a network traffic filter
US9847970B1 (en) 2014-04-30 2017-12-19 Amazon Technologies, Inc. Dynamic traffic regulation
US9880918B2 (en) * 2014-06-16 2018-01-30 Amazon Technologies, Inc. Mobile and remote runtime integration
US10044581B1 (en) 2015-09-29 2018-08-07 Amazon Technologies, Inc. Network traffic tracking using encapsulation protocol
EP3238407A4 (en) 2014-09-05 2018-08-15 Catbird Networks, Inc. Systems and methods for creating and modifying access control lists
US9787499B2 (en) 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US9600312B2 (en) * 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9917839B2 (en) * 2014-10-17 2018-03-13 Aruba Networks, Inc. Communication model based on user role
US20170244781A1 (en) * 2014-10-31 2017-08-24 Hewlett Packard Enterprise Development Lp Analysis for multi-node computing systems
US10212161B1 (en) 2014-11-19 2019-02-19 Amazon Technologies, Inc. Private network layering in provider network environments
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US10698767B1 (en) 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9992202B2 (en) * 2015-02-28 2018-06-05 Aruba Networks, Inc Access control through dynamic grouping
US10193929B2 (en) 2015-03-13 2019-01-29 Varmour Networks, Inc. Methods and systems for improving analytics in distributed networks
US10484297B1 (en) 2015-03-16 2019-11-19 Amazon Technologies, Inc. Automated migration of compute instances to isolated virtual networks
US9380027B1 (en) 2015-03-30 2016-06-28 Varmour Networks, Inc. Conditional declarative policies
US10009381B2 (en) 2015-03-30 2018-06-26 Varmour Networks, Inc. System and method for threat-driven security policy controls
US9923760B2 (en) 2015-04-06 2018-03-20 Nicira, Inc. Reduction of churn in a network control system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US20160338120A1 (en) * 2015-05-14 2016-11-17 Smart Technologies, Ulc System And Method Of Communicating Between Interactive Systems
US10749808B1 (en) 2015-06-10 2020-08-18 Amazon Technologies, Inc. Network flow management for isolated virtual networks
US10243848B2 (en) 2015-06-27 2019-03-26 Nicira, Inc. Provisioning logical entities in a multi-datacenter environment
US10474654B2 (en) 2015-08-26 2019-11-12 Storagecraft Technology Corporation Structural data transfer over a network
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US10191758B2 (en) 2015-12-09 2019-01-29 Varmour Networks, Inc. Directing data traffic between intra-server virtual machines
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US20170180325A1 (en) * 2015-12-22 2017-06-22 Intel Corporation Technologies for enforcing network access control of virtual machines
US9762599B2 (en) 2016-01-29 2017-09-12 Varmour Networks, Inc. Multi-node affinity-based examination for computer network security remediation
US9680852B1 (en) 2016-01-29 2017-06-13 Varmour Networks, Inc. Recursive multi-layer examination for computer network security remediation
US9521115B1 (en) 2016-03-24 2016-12-13 Varmour Networks, Inc. Security policy generation using container metadata
US10630762B1 (en) * 2016-03-28 2020-04-21 Amazon Technologies, Inc. Multicast network emulation
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
US9846553B2 (en) 2016-05-04 2017-12-19 Exablox Corporation Organization and management of key-value stores
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10755334B2 (en) 2016-06-30 2020-08-25 Varmour Networks, Inc. Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors
US10193749B2 (en) 2016-08-27 2019-01-29 Nicira, Inc. Managed forwarding element executing in public cloud data compute node without overlay network
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10514932B2 (en) 2016-09-26 2019-12-24 Amazon Technologies, Inc. Resource configuration based on dynamic group membership
US10657225B2 (en) 2016-12-29 2020-05-19 Red Hat, Inc. Providing blockchain-based subscription-as-a-service management
US10552601B2 (en) * 2017-01-18 2020-02-04 Red Hat, Inc. Deferred subscription activation using blockchain
US10593009B1 (en) 2017-02-22 2020-03-17 Amazon Technologies, Inc. Session coordination for auto-scaled virtualized graphics processing
US10205736B2 (en) 2017-02-27 2019-02-12 Catbird Networks, Inc. Behavioral baselining of network systems
US10637800B2 (en) 2017-06-30 2020-04-28 Nicira, Inc Replacement of logical network addresses with physical network addresses
US10681000B2 (en) 2017-06-30 2020-06-09 Nicira, Inc. Assignment of unique physical network addresses for logical network addresses
US10567482B2 (en) * 2017-08-24 2020-02-18 Nicira, Inc. Accessing endpoints in logical networks and public cloud service providers native networks using a single network interface and a single routing table
CN111052686B (zh) 2017-08-27 2022-03-29 Nicira股份有限公司 在公共云中执行在线服务的方法和机器可读介质
US10430227B2 (en) * 2018-01-09 2019-10-01 Microsoft Technology Licensing, Llc Fast instantiation of virtual machines in distributed computing systems
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US11343229B2 (en) 2018-06-28 2022-05-24 Vmware, Inc. Managed forwarding element detecting invalid packet addresses
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11258877B2 (en) 2018-07-26 2022-02-22 Netapp, Inc. Methods for managing workloads in a storage system and devices thereof
US11374794B2 (en) 2018-08-24 2022-06-28 Vmware, Inc. Transitive routing in public cloud
US10897417B2 (en) 2018-09-19 2021-01-19 Amazon Technologies, Inc. Automated route propagation among networks attached to scalable virtual traffic hubs
US10834044B2 (en) 2018-09-19 2020-11-10 Amazon Technologies, Inc. Domain name system operations implemented using scalable virtual traffic hub
US10680945B1 (en) 2018-09-27 2020-06-09 Amazon Technologies, Inc. Extending overlay networks to edge routers of a substrate network
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11494214B2 (en) * 2019-03-28 2022-11-08 Amazon Technologies, Inc. Verified isolated run-time environments for enhanced security computations within compute instances
US11669656B2 (en) 2019-04-23 2023-06-06 OnScale, Inc. Systems and methods for running a simulation
US11310284B2 (en) 2019-05-31 2022-04-19 Varmour Networks, Inc. Validation of cloud security policies
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11575563B2 (en) 2019-05-31 2023-02-07 Varmour Networks, Inc. Cloud security management
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11290493B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Template-driven intent-based security
US11290494B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Reliability prediction for cloud security policies
US11418515B2 (en) * 2019-06-03 2022-08-16 Hewlett Packard Enterprise Development Lp Multi-vendor support for network access control policies
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US12019633B2 (en) * 2019-07-19 2024-06-25 International Business Machines Corporation Providing multi-tier query execution options in a serverless query environment
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11360825B2 (en) * 2019-12-17 2022-06-14 Citrix Systems, Inc. Systems and methods for service resource allocation and deployment
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11381456B2 (en) 2020-04-06 2022-07-05 Vmware, Inc. Replication of logical network data between global managers
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11316773B2 (en) 2020-04-06 2022-04-26 Vmware, Inc. Configuring edge device with multiple routing tables
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
CN111800506B (zh) * 2020-07-06 2023-09-19 深圳市网心科技有限公司 一种边缘计算节点部署方法及相关装置
US11343227B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Application deployment in multi-site virtualization infrastructure
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11818152B2 (en) 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system
US11777978B2 (en) 2021-01-29 2023-10-03 Varmour Networks, Inc. Methods and systems for accurately assessing application access risk
US20220358489A1 (en) * 2021-05-10 2022-11-10 Core Scientific Operating Company Cost management in distributed computing teams
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11734316B2 (en) 2021-07-08 2023-08-22 Varmour Networks, Inc. Relationship-based search in a computing environment
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution
US20230370453A1 (en) * 2022-05-13 2023-11-16 Cisco Technology, Inc. Authentication and enforcement of differentiated policies for a bridge mode virtual machine behind a wireless host in a mac based authentication network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168510A (ja) * 1997-09-12 1999-06-22 Lucent Technol Inc パケット検証方法
JP2003229913A (ja) * 2002-02-04 2003-08-15 Hitachi Ltd ネットワーク接続システム、ネットワーク接続方法、および、それらに用いられるネットワーク接続装置

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2524301B1 (fr) 1982-04-06 1985-10-18 Jouvin Jean Luc Porte-empreintes pour protheses dentaires
US5956509A (en) 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US6185409B1 (en) * 1995-11-30 2001-02-06 Amsc Subsidiary Corporation Network engineering/systems engineering system for mobile satellite communication system
US6199116B1 (en) 1996-05-24 2001-03-06 Microsoft Corporation Method and system for managing data while sharing application programs
US6408336B1 (en) 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US6064978A (en) 1997-06-24 2000-05-16 Experts Exchange, Inc. Question and answer system using computer networks
FI104667B (fi) * 1997-07-14 2000-04-14 Nokia Networks Oy Liittymäpalvelun toteuttaminen
US5974454A (en) 1997-11-14 1999-10-26 Microsoft Corporation Method and system for installing and updating program module components
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6310893B1 (en) * 1998-06-17 2001-10-30 Genuity Inc. Method and system for connectionless communication in a cell relay satellite network
US6411967B1 (en) 1999-06-18 2002-06-25 Reliable Network Solutions Distributed processing system with replicated management information base
US6529953B1 (en) 1999-12-17 2003-03-04 Reliable Network Solutions Scalable computer network resource monitoring and location system
JP2001273432A (ja) 2000-01-20 2001-10-05 Ok Web Inc コンピュータネットワーク利用による掲示板システム
CA2333495A1 (en) * 2000-01-31 2001-07-31 Telecommunications Research Laboratory Internet protocol-based computer network service
US6724770B1 (en) 2000-02-17 2004-04-20 Kenneth P. Birman Multicast protocol with reduced buffering requirements
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6457047B1 (en) 2000-05-08 2002-09-24 Verity, Inc. Application caching system and method
US7143142B1 (en) 2000-05-15 2006-11-28 Ricoh Co., Ltd. Method and apparatus for appliance host supported network-based application delivery
JP2002049786A (ja) 2000-05-26 2002-02-15 Lealcom Kk 情報交換仲介方法
US20030154284A1 (en) 2000-05-31 2003-08-14 James Bernardin Distributed data propagator
US6782398B1 (en) 2000-06-14 2004-08-24 Microsoft Corporation Method for executing commands on multiple computers of a network
US8380630B2 (en) * 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
US20030050932A1 (en) 2000-09-01 2003-03-13 Pace Charles P. System and method for transactional deployment of J2EE web components, enterprise java bean components, and application data over multi-tiered computer networks
US20020082858A1 (en) 2000-09-12 2002-06-27 Infolibria, Inc. Managing distribution and local execution of computing resources
US7139821B1 (en) 2000-10-20 2006-11-21 Sun Microsystems, Inc. Method and apparatus for creating and deploying applications from a server application
JP2002230344A (ja) 2000-11-30 2002-08-16 Matsushita Electric Works Ltd 相談仲介システム及びそのシステムにおけるプログラム
JP2002236839A (ja) 2001-02-13 2002-08-23 Pioneer Electronic Corp 情報提供装置および情報提供装置におけるポイント付与方法
US7076633B2 (en) 2001-03-28 2006-07-11 Swsoft Holdings, Ltd. Hosting service providing platform system and method
JP2002297924A (ja) 2001-03-30 2002-10-11 Kansai Electric Power Co Inc:The 質問受付方法及び質問システム
WO2002099695A1 (fr) 2001-05-31 2002-12-12 Sony Corporation Appareil de traitement d'informations, procede de traitement d'informations et programme
US6986018B2 (en) 2001-06-26 2006-01-10 Microsoft Corporation Method and apparatus for selecting cache and proxy policy
US7174379B2 (en) 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
US7316000B2 (en) * 2001-08-27 2008-01-01 International Business Machines Corporation Interactive agent for a topological multi-tier business application composer
US20030041311A1 (en) * 2001-08-27 2003-02-27 International Business Machines Corporation Topological multi-tier business application composer
US6810291B2 (en) 2001-09-14 2004-10-26 Ibex Process Technology, Inc. Scalable, hierarchical control for complex processes
JP2003132020A (ja) 2001-10-26 2003-05-09 Cyber Sign Japan Inc アクセス制御装置及び認証装置及びそれらに関連する装置
US6907501B2 (en) 2002-01-25 2005-06-14 Ntt Docomo Inc. System for management of cacheable streaming content in a packet based communication network with mobile hosts
US20040044731A1 (en) 2002-03-22 2004-03-04 Kailai Chen System and method for optimizing internet applications
US7415723B2 (en) 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7206836B2 (en) 2002-09-23 2007-04-17 Sun Microsystems, Inc. System and method for reforming a distributed data system cluster after temporary node failures or restarts
US8041761B1 (en) * 2002-12-23 2011-10-18 Netapp, Inc. Virtual filer and IP space based IT configuration transitioning framework
JP4241410B2 (ja) 2004-01-30 2009-03-18 キヤノン株式会社 レイアウト調整方法および装置およびレイアウト調整プログラム
JP4188281B2 (ja) 2004-06-03 2008-11-26 株式会社日立製作所 プログラム実行予約方法及び装置並びにその処理プログラム、及びプログラム実行システム
US7703073B2 (en) * 2004-06-08 2010-04-20 Covia Labs, Inc. Device interoperability format rule set and method for assembling interoperability application package
US7478361B2 (en) 2004-06-17 2009-01-13 International Business Machines Corporation Method and system for managing application deployment
US9436820B1 (en) * 2004-08-02 2016-09-06 Cisco Technology, Inc. Controlling access to resources in a network
US7281045B2 (en) 2004-08-26 2007-10-09 International Business Machines Corporation Provisioning manager for optimizing selection of available resources
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US20060090136A1 (en) * 2004-10-01 2006-04-27 Microsoft Corporation Methods and apparatus for implementing a virtualized computer system
US20060101116A1 (en) * 2004-10-28 2006-05-11 Danny Rittman Multifunctional telephone, walkie talkie, instant messenger, video-phone computer, based on WiFi (Wireless Fidelity) and WiMax technology, for establishing global wireless communication, network and video conferencing via the internet
US7640296B2 (en) 2004-12-21 2009-12-29 Sap Ag Mapping of a content request for a cache server
US7886294B2 (en) * 2004-12-28 2011-02-08 Sap Ag Virtual machine monitoring
US20060184936A1 (en) 2005-02-11 2006-08-17 Timothy Abels System and method using virtual machines for decoupling software from management and control systems
US7975059B2 (en) * 2005-11-15 2011-07-05 Microsoft Corporation Generic application level protocol analyzer
US7840964B2 (en) * 2005-12-30 2010-11-23 Intel Corporation Mechanism to transition control between components in a virtual machine environment
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US7826369B2 (en) * 2009-02-20 2010-11-02 Cisco Technology, Inc. Subsets of the forward information base (FIB) distributed among line cards in a switching device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168510A (ja) * 1997-09-12 1999-06-22 Lucent Technol Inc パケット検証方法
JP2003229913A (ja) * 2002-02-04 2003-08-15 Hitachi Ltd ネットワーク接続システム、ネットワーク接続方法、および、それらに用いられるネットワーク接続装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218613B2 (en) 2008-03-31 2019-02-26 Amazon Technologies, Inc. Authorizing communications between computing nodes
US10601708B2 (en) 2008-03-31 2020-03-24 Amazon Technologies, Inc. Authorizing communications between computing nodes
US11240092B2 (en) 2008-03-31 2022-02-01 Amazon Technologies, Inc. Authorizing communications between computing nodes
JP2011527781A (ja) * 2008-07-01 2011-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク資源がサービス・ランドスケープ・インスタンス内でプロビジョンされるときに、ネットワーク・セキュリティ・ポリシ・ルールを更新するためのコンピュータ実装方法、システム及びコンピュータ・プログラム
JP2013012865A (ja) * 2011-06-29 2013-01-17 Fujitsu Ltd 情報処理装置、情報処理プログラムおよび管理方法
WO2013115565A3 (ko) * 2012-01-30 2013-10-10 엘지전자 주식회사 가상 머신 관리 방법 및 이를 위한 장치
US9891937B2 (en) 2012-01-30 2018-02-13 Lg Electronics Inc. Method for managing virtual machine and device therefor
US10177971B2 (en) 2012-08-30 2019-01-08 Fujitsu Limited Operation management device and method

Also Published As

Publication number Publication date
CA2920179A1 (en) 2007-11-08
US20210051181A1 (en) 2021-02-18
US20230084547A1 (en) 2023-03-16
US20100318645A1 (en) 2010-12-16
US20160359919A1 (en) 2016-12-08
US20170212780A1 (en) 2017-07-27
US20210014279A1 (en) 2021-01-14
US7801128B2 (en) 2010-09-21
US20200021617A1 (en) 2020-01-16
CA2646157C (en) 2017-07-25
US11451589B2 (en) 2022-09-20
US20160142254A1 (en) 2016-05-19
CA2875381A1 (en) 2007-11-08
US10348770B2 (en) 2019-07-09
CA2875381C (en) 2017-06-20
JP5006925B2 (ja) 2012-08-22
US20200007587A1 (en) 2020-01-02
US10764331B2 (en) 2020-09-01
US11539753B2 (en) 2022-12-27
US11997143B2 (en) 2024-05-28
US9426181B2 (en) 2016-08-23
CA2920179C (en) 2019-06-04
US20130298191A1 (en) 2013-11-07
US20070239987A1 (en) 2007-10-11
EP3731465A1 (en) 2020-10-28
EP2008407A2 (en) 2008-12-31
WO2007126835A3 (en) 2008-07-31
US20130283176A1 (en) 2013-10-24
US9621593B2 (en) 2017-04-11
US9794294B2 (en) 2017-10-17
US20180048675A1 (en) 2018-02-15
US8509231B2 (en) 2013-08-13
CA2646157A1 (en) 2007-11-08
CN101461190B (zh) 2013-06-12
US12003548B2 (en) 2024-06-04
EP2008407B1 (en) 2020-07-15
CN101461190A (zh) 2009-06-17
US10367850B2 (en) 2019-07-30
US20230208884A1 (en) 2023-06-29
EP3731465B1 (en) 2023-10-18
WO2007126835A2 (en) 2007-11-08
EP2008407A4 (en) 2015-03-25
US9253211B2 (en) 2016-02-02
US10791149B2 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
US12003548B2 (en) Transmissions management rules for virtual machine communications
US8234361B2 (en) Computerized system and method for handling network traffic
US11689631B2 (en) Transparent network service migration across service devices
US10785056B1 (en) Sharing a subnet of a logically isolated network between client accounts of a provider network

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110922

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111012

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120308

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20120309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120309

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120411

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

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

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5006925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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