JP2009540717A - 自己管理型分散メディエーションネットワーク - Google Patents

自己管理型分散メディエーションネットワーク Download PDF

Info

Publication number
JP2009540717A
JP2009540717A JP2009514895A JP2009514895A JP2009540717A JP 2009540717 A JP2009540717 A JP 2009540717A JP 2009514895 A JP2009514895 A JP 2009514895A JP 2009514895 A JP2009514895 A JP 2009514895A JP 2009540717 A JP2009540717 A JP 2009540717A
Authority
JP
Japan
Prior art keywords
module
mediation
network
lpp
control signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009514895A
Other languages
English (en)
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.)
Cloudsoft Corp Ltd
Original Assignee
Cloudsoft Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloudsoft Corp Ltd filed Critical Cloudsoft Corp Ltd
Publication of JP2009540717A publication Critical patent/JP2009540717A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

自己管理型分散メディエーションネットワーク
複数の異なるタイプのネットワークモジュールを有する、分散メディエーションネットワーク及びこれを用いる方法を提供する。各モジュールは、各モジュールを通過するネットワークトラフィックの非相互的なパスを有し、ネットワーク全体にかかるネットワークトラフィックを分散する処理は、自律的コントロールプレインによって管理される。
【選択図】図6

Description


本発明は、メッセージ散在型のピアツーピア通信の要件を備えると共に、そのような散在しているメッセージ全体に対する情報収集をある程度まで制御することができる自己管理型分散メディエーションネットワークに関する。
発明の背景
ピアツーピア(P2P)通信システムでは、計算主体(ピア)はソフトウェア的な接続(仮想チャンネル)を相互に確立することができる。そのため、P2P通信システムでは、ピアは、互いに通信することができ、計算タスク及び計算リソースを共有することができる一方で、集中的制御を行う必要がない。P2P通信システムは、1つ以上のサーバを備える汎用ネットワーク上において動作する。そして、ピアは、ネットワーク上の少なくとも1つのサービスに対して情報を提供(「発行」)し、ネットワーク上のサービスに登録(「購読」)することで、他のピアが発行した情報を取得する。
集中的制御の機能を備えることによる利点を有するメッセージ通信システムも、広く知られている。このシステムでは、全てのメッセージは、メッセージに対する計算処理(メディエーション)が実行される中心点を経由して、発行ピアから購読ピアへ送られる。入力メッセージから生成された新しいメッセージ(ダイジェストなど)は、適切な購読ピアへ送信される。
従来技術の集中メディエーションシステムでは、全てのメッセージトラフィックは、メディエーションサービスを行うネットワーク中心点を経由して伝送される。論理的な要素を考慮すれば、このシステムは、星型構造をしたモデルとして構築され、メディエーションタスクが実行される制御中心点を備える。このモデルの概念図を図1Aに示す。図1Aにおいて、各々の情報発信体(発行ピア)及び情報受信体(購読ピア)は、中央メディエーションハブと通信回線を介して接続されている。ほとんどの場合、情報発信体及び情報受信体は異なるモードで動作する同一の実体を表し、それらは構造的には互いに区別することができない。
そのような構造に起因する問題点は、広く知られている。星型構造を有する集中メディエーションシステムでは、メディエーションが行われる制御中心点において、回線容量が不足する事態に陥りやすい。論理的な星型モデルを高密度に接続された物理ネットワーク上で実現する場合でも、基本的に全ての情報は制御中心点を経由して伝送されるため、制御中心点とネットワークを結ぶ利用可能な回線容量の状況次第では、特有のスループット障害が発生する(図1Bを参照)。ネットワーク技術の進歩により、利用可能な回線容量は次第に向上しているが、回線容量の増加は特有の経済的負担をもたらす。また、状況によっては、システム全体のスループットが実際に制限される場合がある。この制限の具体例として、ユーザ数の制限や、各ユーザが情報を送受信する際の回線速度の制限がある。
P2P構造も集中メディエーション構造も完全には要求を満たさないシステムの例が、現実には数多く存在する。多くの場合、メッセージ通信システム全体に送信されたメッセージ全体に対する処理を行うための論理プロセスが要求される。上述したどちらの構造も完全には適切でないシステムの例として、以下のものが挙げられる。第一に、潜在的な買い手と売り手が相互に通知する商取引システムで、取引において互いの要求が合致したことを保証する目的でメディエーションが必要である。第二に、情報が分散される前に、中心的権限の保有者が情報の編集管理を行う仲介型(mediated)ニュース及び出版システムである。第三に、積極的には制御されないが、セントラル・レポジトリで保管される情報フローに関する順序付きログが要求されるシステムである。第四に、直近の会話の背景(コンテキスト)を現在進行中の会話に参加しているユーザに提示することができる会話サービスである。第五に、暗号鍵の配布(いわゆる鍵配布問題)である。第六に、分散ネットワーク上のデータ(状態)及びサービスを検索するシステムである。第七に、モバイル機器ユーザの場所を特定して、他のモバイル機器ユーザと通信を行うためのシステムである。
上記の例は全て、ピアツーピア通信の要件と、通信を全体的に見渡したときの情報フローの集中メディエーションの要件との両方を有している。
参照によって本明細書に援用される、出願人の係属中米国特許出願10/903,156号は、上述した欠点の多くを克服する分散メディエーションネットワークに関する記載がある。このタイプの分散メディエーションネットワークは、論理的に分離した多数の実体間にサービスを分散することによって、一つのサーバでメディエーションサービスを提供する際に発生する問題を回避する。そのためには、メディエーションアプリケーションは、複数の分離したメディエーションアプリケーションコンポーネントに論理的に分割可能でなければならない。これにより、メディエーションサービスは、サーバのリソースプール全体に分散された1セットのメディエーションセグメントサービスに分割可能となる。各サーバはメディエーションサービスを、1つ以上のメディエーションセグメントサービスとして提供する。以下では、この手法を「分散メディエーション」と呼ぶ。
全てのメディエーションポイントで回線容量の問題を適切に回避するためには、利用可能なリソースプール全体にメディエーションサービスを均等にロードバランシング(負荷の均衡を保つ処理)できなければならない。時間の経過と共に要求量が変動するシステムにおいては、リソースプール全体で負荷の均衡が動的に保たれなければならない。そのため、アプリケーションの分割態様は動的に変更可能でなければならない。従って、メディエーションセグメントサービスを一のサーバから他のサーバへ移動できることが必要である。また、メディエーションセグメントサービスが移動する際には、外部から観測される因果関係が保存されなければならない。すなわち、各メディエーションセグメントサービスが相互に作用する順序は、メディエーションセグメントサービスの実行形式の変化に関わらず保存されなければならない。そのような相互作用の順序が乱れた場合に深刻な結果を引き起こす多数のシステム(例えば、金融システム)において、この要件は極めて重要である。
分散メディエーションネットワークにおいて、情報はコンテンツによる分類がなされ、メディエーションの要求は、そのコンテンツに基づいた分類に応じて、異なるプロセスで別々に満たされる。メディエーションの要求量が分類に応じて時間変化すると、対応するメディエーションアプリケーションコンポーネントは、システム全体に対するネットワーク負荷及び計算負荷の両方の均衡を保つように物理的に移動される。そのようなロードバランシングにより、メディエーションを行う利用可能なサーバが有する計算リソース、入出力リソース及びメモリリソースの総量に影響される閾値まで、メディエーションの要求量が満たされることになる。この閾値を超えると、利用可能なリソースが負荷を処理できないために、サービスの品質は低下することになる。この問題に対処するために、分散メディエーションネットワークは、計算リソースをシステムへ追加するための機構を提供することが好ましい。同様に、メディエーションのために分割されたアプリケーションに対して過剰な計算リソースが利用可能な場合には、分散された計算能力(計算リソース)を除去できることが好ましい。
「自律的な(autonomic)」という文言は、歴史的には、呼吸速度や心臓の鼓動の制御など身体を制御するために意識下で作用する神経システムの観点から使用されてきた。最近では、類似の自己制御が可能なコンピュータネットワークを意味する用語として用いられている。数あるシステムの中でも、自律的システムは、外部入力を必要とすることなく自己修復、自己構築、自己監視及び自己最適化をすることができる。実際のところ、自律的システムの実例において、ユーザが自律的に生じる変化を検知することは事実上不可能である。
自律的計算システムは、自律的要素から構成される。これらの自律的要素は、システムをいくつかの観点から監視する論理的構成物であり、システムの出力を分析し、特定の動作を行うことでシステムを調整する。これにより、システム全体は、「サービスレベル合意(service level agreements(SLAs))」と表現される特定の要求に適合することができる。SLAによって、業種によって必要とされる情報技術リソース及びリソースが維持する特定のアプリケーションが決定される。
自律的要素は、自己組織化しており、相互に相手を発見し、独立して動作し、必要に応じて交渉あるいは協力し、自分自身を組織化することができる。これにより、リソースのボトムアップ要求量と、リソースのトップダウンのビジネス向けアプリケーションとの両方を考慮してシステム全体を突発的かつ階層的に管理することで、特定の目標を達成する。
本発明の目的は、分散メディエーションネットワークに自律的機能を提供することにある。
本明細書において、「物理ノード」の文言は、物理的機械を意味する。「ノード」及び「論理ノード」の文言は、互いに区別なく使用され、状態特性(state properties)を有する箇所を意味する。メディエーションネットワークの論理的トポロジーの観点からは、「モジュール」は関連する論理ノードの機能を提供する。
さらに、「高水位線(high watermark)」の文言は、ネットワーク内の一の要素あるいはノードが処理することができるトラフィックの最大閾値を表す用語として用いられる。また、「低水位線(low watermark)」の文言は、そのトラフィックの最小閾値を表し、各要素は、高水位線と低水位線との間の範囲におけるトラフィックレベルを処理するように構成されている。
発明の要約
本発明の第1実施形態に係る分散メディエーションネットワークは、
メディエーションネットワークとクライアントプログラムとの間で、ネットワークトラフィックを送受信するローカルポイント・オブ・プレゼンス(LPP)モジュールと、
メディエーションタスクを担当するメディエータ(M)モジュールと、
入力メッセージのコンテンツを解析するメディエータルータ(MR)モジュールであって、各MRモジュールは、前記コンテンツに基づいて予め決定されたメディエーションタスクへ入力メッセージをルーティング(経路制御)するMRモジュールと、
メッセージを前記LPPモジュールのうちの少なくとも1つへ転送する伝送プロキシ(TP)モジュールと、
から成る複数のタイプのネットワークモジュールであって、MRモジュール、Mモジュール及びTPモジュールのそれぞれは、それらを通過するネットワークトラフィックの全てのパス(経路)が非相互的になるように適合されているネットワークモジュールと、
モジュール間でのネットワークトラフィックの分散を管理する自律的コントロールプレインと、
を備える。
好ましくは、ネットワークは一方向メディエーションサイクルに従ってネットワークトラフィックを接続する。すなわち、一方向メディエーションサイクルにおいて、LPPモジュールはMRモジュールを指定し、次にMRモジュールはMモジュールを指定し、次にMモジュールはTPモジュールを指定し、そして次にTPモジュールはLPPモジュールを指定する。
本発明の第2実施形態に係る、コンピュータネットワークにおけるネットワークトラフィックのフロー(流れ)をメディエート(仲介)する方法では、コンピュータネットワークはメディエーションネットワークを有しており、メディエーションネットワークは、
メディエーションネットワークとクライアントプログラムとの間で、ネットワークトラフィックを送受信するローカルポイント・オブ・プレゼンス(LPP)モジュールと、
メディエーションタスクを担当するメディエータ(M)モジュールと、
入力メッセージのコンテンツを解析するメディエータルータ(MR)モジュールであって、各MRモジュールは、前記コンテンツに基づいて予め決定されたメディエーションタスクへ入力メッセージをルーティングするMRモジュールと、
メッセージを前記LPPモジュールのうちの少なくとも1つへ転送する伝送プロキシ(TP)モジュールと、
から成る複数のタイプのネットワークモジュールであって、MRモジュール、Mモジュール及びTPモジュールのそれぞれは、それらを通過するネットワークトラフィックの全てのパスが非相互的になるように適合されているネットワークモジュールと、
モジュール間でのネットワークトラフィックの分散を管理する自律的コントロールプレインと、
を備える。
この方法において、入力メッセージはメディエーションサイクルに従って伝達され、前記メディエーションサイクルは、
LPPモジュールが、少なくとも1つのMRモジュールの1つへ入力メッセージをそれぞれ転送するステップと、
前記転送されたMRモジュールが、入力メッセージのコンテンツを解析し、解析されたコンテンツに基づいて予め決定されたMモジュールへ前記入力メッセージをルーティングするステップと、
前記予め決定されたMモジュールが、前記解析されたメッセージに対してメディエーションタスクを実行し、メディエートされたメッセージを前記TPモジュールの1つへそれぞれ送信するステップと、
前記メディエートされたメッセージを受信したTPモジュールが、前記メディエートされたメッセージを前記LPPモジュールの少なくとも1つへ転送するステップと、
から構成される。
本発明は、各々のノード、すなわちモジュールにかかるトラフィックの負荷を自律的に管理する分散メディエーションネットワークを提供する。自律的コントロールプレインは、ネットワークが検出した自身のネットワークの状況に応じて、モジュール(ノード)間のネットワークトラフィックの分散を調整する。
モジュールを通過するネットワークトラフィックのパスは非相互的である。すなわち、モジュール間のネットワーク上のパスは一方通行であるが、モジュールはネットワークトラフィックを複数のモジュールとの間で送受信することができる。例えば、MRモジュールは、ネットワークトラフィックを複数のLPPモジュールから受信することができ、ネットワークトラフィックを複数のMモジュールへ送信することができる。しかし、MRモジュールは、ネットワークトラフィックをLPPモジュールへ送信することや、ネットワークトラフィックをMモジュールから受信することはできない。その結果、ネットワークトラフィックがLPPモジュールからMRモジュール、Mモジュール及びTPモジュールを経てLPPモジュールへと通過する循環ネットワークができる。
ネットワークトラフィック、すなわちメッセージと同様に、自律的コントロールプレインによって発行されたコマンドを実行するために、制御メッセージ及び制御信号がネットワーク上を通過する。制御メッセージは、モジュール間を連結する非相互的なパスを、ネットワークメッセージのように必ずしも一方通行的にたどる必要はない。それにもかかわらず、いくつかの実施形態においては、ネットワークトラフィックがたどるノード間の一方通行のパスに逆行して、制御メッセージが流れることはできない。すなわち、そのような実施形態においては、ネットワークトラフィックがたどるサイクル(循環路)に逆らう方向へ制御メッセージを転送することができない。例えば、制御メッセージは、MモジュールからMRモジュールへ、あるいはLPPモジュールからTPモジュールへと通過することができない。
好ましい実施形態においては、自律的コントロールプレインは、分散ネットワーク内のノードのステータス(状態)に関する情報を、分散ネットワークに組み込みのセンサインターフェースから受信する。そして、エフェクタインターフェースを介してノードに対してアクション(動作)を命令する。
好ましい実施形態においては、自律的コントロールプレインは、多数のリソースにわたって分散されている。これにより、1つ以上のリソースが正常に機能しない場合でも、自律的コントロールプレインは動作を継続することができる。さらに、自律的機能に基づく計算負荷の分散を任意の時に最適化して実行することができる。例えば、一のリソースが自律的制御に無関係なタスクを処理するという負荷の高い要求を担当している場合に、他のリソースは自律的制御の負担を引き受けることができる。
従って、自律的コントロールプレインは、ネットワーク全体の状況を監視し、利用可能なリソースの使用を最適化するためにネットワーク構造の形状を調整することができる。特に、メディエーションタスクは提供されたメディエーションサービスのセグメント(断片)であり、利用可能なMモジュールにわたってメディエーションサービス全体を分散させる目的で、自律的コントロールプレインは効果的である。これにより、どのMモジュールにも負荷が過剰にかかることはない。また、自律的コントロールプレインは、Mモジュール及びLPPモジュールから送信されるトラフィックの送信先を変更することで、MRモジュール及びTPモジュールにそれぞれかかるトラフィックレベルを管理することもできる。
また、自律的コントロールプレインは、システムが十分な処理能力を有することを保証するために、少なくともクロスストリームモジュール(Mモジュール及びMRモジュール)の数を、そして好ましくはTPモジュール及びLPPモジュールの数を、増減することができる。好ましくは、自律的コントロールプレインは、どのモジュールも過大な負荷がかからないことを保証する方法で、トラフィックをLPPモジュール、MRモジュール及びTPモジュールに通過させる。上述した通り、トラフィックは、要求されるメディエーションセグメントサービスに応じたMモジュールを通過する。
好ましくは、自律的コントロールプレインは、各種類のネットワークモジュールに対する単一の自律的マネージャであるクラウドマネージャ(cloud managers)と、各クラウドマネージャに対する自律的マネージャとして動作する全体的な分散メディエーションネットワークマネージャと、を有する階層構造を備える。いくつかの例において、クラウドマネージャは、例えばネットワーク上の地理的領域に基づいて分割された区域を含むことができる。そのような構造が有する利点の1つは、Mモジュールの使用を最適化するクラウドマネージャは、独立して他種類のネットワークモジュールのように振舞うこともできるということにある。例えば、LPPモジュールを担当している第1のビジネスエンティティ(business entity)が、メディエーションサービスを提供するために、Mモジュールを担当している第2のビジネスエンティティを使用する場合、これら2つのビジネスエンティティは、セキュリティ上の理由で互いのリソースへのアクセスを許可することに対して難色を示す。自律的コントロールプレインの好ましい階層構造は、これら2つのタスクを確実に分離するために十分である。
分散メディエーションネットワークマネージャは、リソースをクラウドマネージャへ割り当てることを担当するが、これらのリソースが意図している目的を認識している必要はない。
本発明の分散メディエーション構造は、多数のサーバにわたってメディエーションサービスを自律的にロードバランシングすることができ、これにより、仲介型アプリケーションによって消費されるリソースを動的に調整することができる。前記ロードバランシングは、仲介型アプリケーションへ転送されたメッセージ及び仲介型アプリケーションから転送されたメッセージの因果的配信則(causal delivery)を遵守しつつ、サービス使用中に中断されることなく達成される。
先の記述から、本発明の主要な利点を以下に列挙する。
− サービスが場所に依存しない。
− ノードがシステムに関する全体的な知識を必要としないという点において、構造が拡張可能である。
− 構造が動的である。すなわち、サービスを再配置することができ、また、必要に応じて新しいノードを透過的に追加あるいは削除できる。
− 構造が自律的である。すなわち、リソースプールのサイズ、分散メディエーションネットワークトポロジー及びサービスの分散を自動的に最適化するための運用指針を有する。
図面の簡単な説明
次に、本発明に係る実施例について、添付した図面を参照しながら詳細に説明する。
図1Aは、星型の論理的構造を有する従来技術の仲介型情報フローシステムを表すノード図である。
図1Bは、図1Aにおけるシステムの物理的構造を概略的に表すノード図である。
図2Aは、集中ネットワーク論理的構造を有する従来技術の仲介型情報フローシステムを表すノード図である。
図2Bは、図2Aにおけるシステムの物理的構造を概略的に表すノード図である。
図3は、全ての有効な分散メディエーションネットワークノードの一部である基本サイクル(LPPノード−>MRノード−>Mノード−>TPノード−>LPPノード)を示す最小限の構成を表すノード図である。
図4は、本発明に係るキュービックな(cubic)分散メディエーションモデルを表すノード図である。
図5は、本発明に係る自律的コントロールプレインが担当すべき機能を例示する。
図6は、本発明の好ましい実施形態の自律的コントロールプレインの階層構造を例示する。
図7A乃至7Fは、キュービックな分散メディエーション構造において、送信Mモジュールm2から受信Mノード(モジュール)m1へメディエーションタスクを譲渡する処理の各ステップを示す。
図8は、図4におけるキュービックな分散メディエーションモデルへのMノードの追加を例示する。
図9は、図4におけるキュービックな分散メディエーションモデルとトポロジー的に等価なノード図である。このいわゆる円筒状の(cylindrical)レイアウトを用いることで、任意の分散メディエーションネットワークへの変化について簡潔に説明することができる。
図10A乃至10Eは、少なくとも2つのLPPノードが1つの共通のMRノードに接続されている開始状態から、一のLPPノードが別の新しいMRノードに関連付けられている状態に変更する処理の各ステップを示す。
図11A乃至11Dは、同様に、Mノードが新しいTPノードに関連付けられている状態に変更する処理の各ステップを示す。
図12A乃至12Dは、MRノード及びTPノードを追加する処理について例示する。
発明の詳細な説明
最初に、本発明の背景として、P2Pモデル及び集中仲介型メッセージモデルに関して説明する。以下の説明において、「ソース」という文言は、新しいメッセージを生成してネットワークサービスへ送信するクライアントを意味し、「シンク」という文言は、ネットワークサービスからのメッセージを受信するクライアントを意味する。ネットワークサービスにおける各クライアントは、ソース、シンクあるいはその両者の機能を有する。別の専門用語を用いると、情報のソースは「発行者(publishers)」と呼ばれ、情報に対するシンクは「購読者(subscribers)」と呼ばれる。
P2Pモデルにおけるコンテンツベースのルーティングを行う際には、適切なソースと適切なシンクとの間で仮想チャンネルを確立することで、ソースからシンクへのメッセージの効率的な伝送が可能になるように、ネットワークが構成される。伝送効率を向上させるためには、一般的には、完全結合グラフ(fully connected graph)から不必要なエッジ(ノード間を接続している通信線のこと)を検出して削除する。その結果生じた最適化されたグラフは、利用可能なネットワークインフラに適合している。P2P仮想チャンネルを確立するためには、一のピアによる「関心の表明」(expression of interest)と、別のピアによる「関心の承諾」(acceptance of that interest)と、が要求される。
一方、集中仲介型メッセージモデルにおいては、全てのメッセージは集中メディエーションノードを介して伝送される(図1A及び図1Bを参照)。メディエーションネットワークに関する専門用語において、「メディエーションサービス」は、全ての入力メッセージへ適用されるある種の計算処理を意味する一般的な用語である。また、「仲介型構造における特定のインスタンスに対するメディエーション要求」は、提供される全てのメディエーションサービスの照合を意味する。また、「メディエーション権限」は、メディエーションサービスを提供する人を意味する。また、「メディエーションネットワーク」は、メディエーション権限の制御下にある物理的な計算主体(機械)から成るネットワークを意味する。また、「メディエーションサーバ」は、1つ以上のメディエーションサービスを提供する物理的機械を意味する。
一般的な仲介型情報フローシステムを単純化したモデルにおいては、メディエーション権限へ送信されたメッセージは、以下の複数のタイプのうちの1つへ当てはめることができる。そのタイプとは、情報のソースとして動作するプロセスが生成した新しい情報と、メディエーション権限が有する状態に関する、迅速な応答を要求する問い合わせ(クエリー)と、メディエーション権限によって新しい関連情報が受信される度に、進行中の応答を要求する本質的かつ永続的な問い合わせ(クエリー)である関心の表明と、である。
完全仲介型モデルにおいてさえ、各仮想チャンネルにかかる回線容量の要求量を低減して、ネットワークサービスをシンクへ転送する際に、関心の表明が重要であるということは、注目に値する。
上記の定義に照らすと、「仲介型情報フローシステム」は、中央のメディエーション権限へ送信されると共に、中央のメディエーション権限から送信される情報を含むメッセージから構成されるシステムである。この権限によって実行される動作(アクション)には、時系列に沿った受信メッセージに関するログの記録と、ある時点までに受信されたメッセージ全体に対する演算処理と、メッセージの内容に基づいてある種の計算処理を実行した後に行われる他のクライアント間における入力メッセージの分散と、がある。
本発明は、コンテンツベースの非集中型P2Pモデルと、単純な集中型かつ仲介型のネットワークモデルと、の複合モデルに関する。この複合モデルでは、集中メディエーションノードが1つだけ備えられる代わりに、多数の独立した機能コンポーネントを備えるメディエーションネットワーク内に、種々のメディエーションサービスが分散して配置される。このような複合モデルにおいて、関心の表明は、ソースノードとMノードとの間で仮想チャンネルを開く目的で用いられる。また、関心の表明は、Mノードとシンクノードとの間で仮想チャンネルを開く目的でも用いられる。従って、シンクノードが受信したメッセージは、メディエーションサービスに登録された関心の表明によって所轄される。ソースノードとシンクノードとの間には2つ以上の論理的な飛び(logical hops)が存在するために、ソースノードとシンクノードとの間で発生する待ち時間は、単純なコンテンツベースのルーティングに要する時間に比べて必然的に長くなる。状況によっては、より静的な情報が利用可能になるに従って、各々の論理的な飛びにおける待ち時間を順次低減することができる。単純な仲介型モデルと比べて、この複合モデルでは、メディエーションタスクが多数のノードにわたって分散されているために、より複雑な構造を有する(図2Aを参照)。しかしながら、集中型かつ仲介型のモデルに固有の集中メディエーションノードで発生する障害は除去されるので、結果として生じる構造は拡張可能である。
図3は、「静止している(quiescent)」あるいは「定常状態(steady state)にある」、すなわち論理的トポロジーの変化がない状態にある(複合)分散メディエーションモデルが備える機能コンポーネントを表す最小限のトポロジーを示す。図3は、データがシステム内部において種々のコンポーネントノード間をどのように流れるかを示している。
無限の規模を有する分散メディエーションネットワークにおいても、必要なコンポーネントノードは全て、この最小限のトポロジーに含まれており、ソースと、シンクと、ローカルポイント・オブ・プレゼンスと、メディエータルータと、メディエータと、伝送プロキシとが備えられている。以下、これらの用語及び他の用語について定義する。
ローカルポイント・オブ・プレゼンス(LPP)は、クライアント(ソース及びシンク)と分散メディエーションネットワークの他のネットワークノードとの間の仲介者(intermediary)として作用する。ローカルポイント・オブ・プレゼンスは、ネットワーク上の特定の地理的領域に対するメディエーションサービスを代理するネットワークノードである。メディエーションサービスの各クライアントは、一のローカルポイント・オブ・プレゼンスのみと通信して、メディエーション構造内の他のノードとは通信しない。システムは任意の数のLPPを備えることができ、各LPPはそれぞれのクライアントにサービスを提供する。
メディエーションルータ(MR)は、入力メッセージのコンテンツを分析して多数のクロスストリーム上のMノードの内の1つへ入力メッセージを送信するメディエーションルータモジュールを内部に組み込んでいるネットワークノードである。各メディエーションルータは、アップストリームネットワークの先頭に位置し、多数のLPPからメッセージを受信する。また、メディエーションルータは、例えば、担当する地理的領域内のローカルなサービスを使用可能にするために、入力メッセージに関するログを記録する。
メディエータ(M)は、メディエータモジュールを内部に組み込んでいるネットワークノードであり、メディエーション要求のサービスを提供する。各メディエータは、関連するダウンストリームに対してメッセージを分散する機能を有し、該当するメッセージをLPP、そして最終的にシンクへと転送させるために用いられる。それぞれのメディエータモジュールは、1つ以上のメディエーションタスクを実行する。それぞれのタスクは、特定のタイプのメッセージセグメントへ適用される一つのメディエーションセグメントサービスを表している。メディエータモジュールは、受信する全ての入力メッセージをログに記録して、これらの入力メッセージを関連するダウンストリームの伝送ネットワークへ転送するように、構成することもできる。この場合、メディエーションタスクは、このように生成された入力メッセージを記録したログに関する問い合わせ(クエリー)のサービスを提供する。
伝送プロキシ(TP)は、伝送プロキシモジュールを内部に組み込んでいるネットワークノードである。伝送プロキシモジュールは、1つ以上のMノードから出力されたメッセージを分析し、登録された関心の表明に基づいて、どのシンクへ送信メッセージを転送するかを決定し、各メディエータに関連付けられるダウンストリームネットワーク上のメッセージを転送する。
後で詳細に説明する通り、本発明の好ましい実施形態は、ネットワークモジュール(ノード)に加えて、自律的コントロールプレインを備える。自律的コントロールプレインにより、システムの自律的な制御が可能となる。
アップストリームネットワーク(ソースからメディエータルータまで)は、メディエーションの機能を有するが、コンテンツベースではない。メディエータルータとメディエータとの間におけるルーティングは、いわゆるクロスストリームネットワークにあり、コンテンツベースである。ダウンストリームネットワークもコンテンツベースのルーティングを要求する。実際のところ、メディエータルータとLPPとの間におけるルーティングは、それ自体複合的なコンテンツベースのメッセージ転送機構と見なすことができる。この複合モデルの一部分としてメッセージ空間を分割することで、拡張可能でない集中メディエーションノードにおける障害を発生させることなく、発行・購読モデルに対してミッドストリーム(mid−stream)メディエーションサービスを導入することができる。
「静止している」あるいは「定常状態にある」システムに対しては、分散メディエーションネットワークに関する以下の記述は常に成立する。これらの記述は、分散メディエーション構造が有する「全体的な不変条件」と考えられる。
・全てのノードは、「LPP−>MR−>M−>TP−>LPP」サイクルの一部分である。
・全てのLPPは、一のMRを常に指定する。
・全てのMRは、任意の数のMを指定することができる。
・全てのMは、一のTRを常に指定する。
・全てのTPは、任意の数のLPPを指定することができる。
ここで、記号「−>」は、一方向への接続(方向付きエッジ)を表す。
上記の「全体的な不変条件」を検討することで、なぜ、図3に例示したネットワークが最小限の分散メディエーショントポロジーであるかは自明である。このネットワークは、メディエーションが分散される2つのMと、1つのLPPと、1つのMRと、1つのTPとから構成される。また、「LPP−>MR−>M−>TP−>LPP」のようにノードが一方向に沿って接続された単純なサイクルとして、全ノードが構成されている。
より現実的かつ複雑な分散メディエーションネットワークを、図4に示す。以降「キュービックな(cubic)」ネットワークとして知られるこのネットワーク構成には、4種類のノードが2つずつ含まれる。キュービックなネットワークは、一般的な分散メディエーションネットワークの特性をより詳細に例示する。
循環(cyclic)ネットワークにおいて、接続されたノード間のメッセージフローは一方通行である。キュービックなネットワークにおける全てのノードは、少なくとも1つのサイクル「LPP−>MR−>M−>TP−>LPP」を構成するコンポーネントである。キュービックなネットワークは、「ファンイン/ファンアウト(fan in/fan out)」トポロジーを示す。すなわち、「ファンイン(fan−in)」トポロジーにおいては、全てのLPPは、メッセージを唯一のMRへ送信すると共に、各MRは複数のLPP(図4においては、2つのLPPが存在する。)からメッセージが送信される。また、「ファンアウト(fan−out)」トポロジーにおいては、全てのMRは、メッセージを任意のMへ送信する。また、「ファンイン(fan−in)」トポロジーにおいては、全てのMは、受信した任意のメッセージを唯一のTPへ送信すると共に、各TPは、複数のMからメッセージが転送される。最後に、「ファンアウト(fan−out)」トポロジーにおいては、全てのTPは、メッセージを任意のLPPへ送信する。
また、最小限の循環ネットワーク及びキュービックなネットワークのような分散メディエーションネットワークは、他にも重要な特性を示す。ネットワーク内の全てのノードから他のノードへは方向付き経路が存在している。グラフ理論の用語を用いると、全てのノードから他の全てのノードへの推移閉包が常に存在すると言える。この特性が循環ネットワークに当てはまることは自明である。しかしながら、この特性は、「全体的な不変条件」が持つ特性の帰結として、より複雑な分散メディエーションネットワークにも当てはまる。方向付き経路は、方向付き循環グラフと常に見なすことができる。このように、一般化された分散メディエーションネットワーク内の任意の2つのノードA及びノードBに対して、ノードAからノードBを経由してノードAへ至るサイクルが常に存在する。ここで、キュービックな(単一のレベルの)ネットワークにおいて、そのようなサイクルの最大経路長は4ではなく8であることに留意するべきである。
さらに、各ノードは、全体への依存性も、当該ノードの直近の領域を除くネットワーク全体に関する詳細な知識も有していない。各ノードは、自身が直接指定するノードに関する情報のみを記憶する。また、ノードは、ネットワーク内の各ノードを指定するノード全体に関する情報を記憶する。この情報は、ノード自身における参照カウント値として記憶されるか、当該ノードを直接指定する全てのノードにおけるクレジットバランス(credit balance)値として記憶されることもできる。いずれの場合も、他ノードの指定を行うノードに関する情報は記憶される必要はない。実際のところ、全てのノードは、残りのシステム全体に関するあらゆる追加情報も記憶する必要がない。
本発明に係る分散メディエーションネットワークのさらに重要な特性は、動作が決定論的であり、各ノード内における動作の順序が確定していることにある。すなわち、メッセージAの後に到着するメッセージBは、メッセージAの後に転送されることが保証される。同様に、複数のメッセージは、ノード間の直接的なリンク上で互いに追い越すことはない。従って、任意の2つのノードN1及びノードN2に対して、N2がN1によって指定される場合、メッセージAがN1からN2へ送信され、続いてメッセージBがN1からN2へ送信されると、N2はメッセージBを受信する前に常にメッセージAを受信することになる。
分散メディエーションネットワークアプリケーション
アプリケーションAは、メッセージ指向パラダイム(message oriented paradigm)に基づいて構成されている。Aは、セットMから抽出される、部分的に配列された一連のメッセージm1,m2,m3,…を受信し、追加メッセージを生成することで応答する。アプリケーションAの観測可能な動作(以下、obs(A)によって表す。)は、特定の入力シーケンスから生成された全ての可能な出力シーケンスのセットとして、定義される。
そのようなアプリケーションが、分散メディエーションネットワークによって提供される利点を享受するためには、以下の原則に従わなければならない。
− アプリケーションは、1セットの、各々が独立して動作するアプリケーションコンポーネント{Ai}として並行して存在しなければならないが、結果として生じる出力メッセージの全てを任意にインターリーブ(interleaved)することで、{Ai}の観測可能な動作がAの観測可能な動作と等しくなる。
− 全ての入力メッセージのセットMは、segment関数(M−>S)に従って、1セットのメッセージセグメント{Sj}に分割されなければならない。
− mediates関数(S−>A)が、メッセージセグメントとアプリケーションコンポーネントとの間に存在する。すなわち、各メッセージセグメントは、正確に1つのアプリケーションコンポーネントへ対応する、
− 一連のメッセージm1、m2、m3、…に対する応答である、全てのアプリケーションコンポーネントの総体ΣAiの観測可能な動作(ここで、それぞれのコンポーネントAiには、mediates関数及びsegment関数に従って、入力ストリームからフィルターにかけられたメッセージのみが通過する。)は、入力ストリーム全体を受信した際のAの観測可能な動作と正確に同一である。
さらに、上記の制約条件が存在する場合には、分散メディエーションネットワークによって提供されたロードバランシング機能を登録するために、以下の2つの副次的メソッド(side−effecting methods)がアプリケーションコンポーネントAiのインスタンスに追加される必要である。
− gainSegment(segDescriptor,data)関数
− loseSegment(segDescriptor−>data)関数
任意の2つのアプリケーションコンポーネントA1、A2及び任意のセグメントsに対して、mediates(s)=A2の条件下におけるobs(A1+A2)は、mediates(s)=A1の条件下におけるobs(A1.gainSegment(s,d)+A2.loseSegment(s))と同等である。ここで、dはA2.loseSegment(s)の結果を表す。
自律的コントロールプレイン
本発明に係る分散メディエーション構造は、自律的に機能するように設計されている。すなわち、本システムは、最適化に関するユーザ入力やユーザが有する知識を必要としないで、自身を現時点での要求に従って最適化する。特に、自律的システムは、利用可能なコンポーネントにかかる負荷が効果的に分散されることを保証し、これにより、システムにおけるデータの取り扱いにおける不必要な障害を回避する措置を取る。
本発明において、自律的機能は、自律的コントロールプレインによって提供される。図5に示す通り、自律的コントロールプレインは、メディエーションサービス、分散メディエーションネットワーク及び基礎的なリソース(仮想のリソースあるいは現実のリソースのいずれか)を管理する。各ネットワークノードは、自律的コントロールプレインに対して管理された要素として自分自身を表す。管理された要素は、センサインターフェース及びエフェクタインターフェースの両方をサポートする。センサインターフェースは、指定された測定基準(metrics)を発信し、これにより、自律的マネージャは、管理された要素の属性を監視することができる。エフェクタインターフェースは、自律的マネージャから、管理された要素の動作を変更するための指定された処理方法を受信する。そのため、各センサインターフェース及び各エフェクタインターフェースは、センサインターフェースでは管理された要素から自律的マネージャへ、エフェクタインターフェースでは自律的マネージャから管理された要素へ情報が一方向に流れることを可能にする。好ましい実施形態においては、図6に示す通り、自律的コントロールプレインは、1つの階層的なセットの自律的マネージャから成る。
図6に示す例では、それぞれのタイプのネットワークノード(LPP、MR、MおよびTP)に対して一つの自律的マネージャが存在する。この階層的レベルにおけるマネージャは、クラウドマネージャと呼ばれる。それぞれのクラウドマネージャは、特定のロードバランシング機能を担当する。好ましい実施形態において、それぞれのクラウドマネージャは、それ自身がピアツーピアネットワークにわたって分散されており、それぞれのクラウドマネージャが担当するタイプのそれぞれのネットワークモジュールからセンサイベントを受信する。
次の階層レベルにおいては、全体的な分散メディエーションネットワーク(DMN)マネージャ620が、クラウドマネージャの制御を担当し、これにより、クラウドマネージャが一貫した単位(coherent unit)として動作することを保証している。そのため、クラウドマネージャは、DMNマネージャ620の管理された要素と言える。DMNマネージャ620は、各クラウドマネージャが利用可能なリソースは、関連するロードバランシングの処理(タスク)を実行するために十分であることを保証する義務がある。一方、クラウドマネージャは、クラウドマネージャが現在要求していないあらゆるリソースの制御を解放する義務がある。DMNマネージャ620は、クラウドマネージャ間のあらゆるリソースの衝突を解決する。
図6に示す例において、MRクラウド自律的マネージャ612は、MRがネットワークトラフィックによって過負荷とならないことを保証するために、アップストリームのロードバランシングを担当する。MRクラウドマネージャ612は、ネットワーク内のMRの数を増減することができ、MRを通過するスループットの平均値が指定された最適化範囲内に収まるようにする。さらに、MRクラウドマネージャ612は、MR全体にわたるLPPの分散を最適化し、これにより、個々のMRが過負荷とならないようにする。好ましい実施形態においては、一のMRから他の一のMRへ出力を移転するためのLPPの実際の命令は、LPPクラウドマネージャ610によって行なわれる。
Mクラウド自律的マネージャ614は、クロスストリームのロードバランシングを担当する。そのため、Mクラウドマネージャ614は、MRを通過するルーティングされたスループットを処理するための十分なMがあることを保証する。このために、Mクラウドマネージャ614は、それぞれのMモジュールに対する平均負荷が指定された範囲内に収まるように、Mの数を調整する。また、Mクラウドマネージャ614は、個々のMが過負荷とならないように、M間でメディエーションセグメントサービスを分散することを担当する。ある範囲の条件下でこれを実行するために、Mクラウドマネージャ614は、M間でメディエーションセグメントあるいはタスクを移転することができる。これを実現するアルゴリズムについては、以下に挙げる例に基づいて、より詳細に説明する。
TPクラウド自律的マネージャ616は、ダウンストリームのロードバランシングを担当する。そのため、TPクラウドマネージャ616は、各TPの平均スループットが指定された範囲内となることを保証し、また、個々のTPが過負荷とならないよう、Mが複数のTP間で分散されることを保証する。好ましい実施形態においては、一のTPから他のTPへのMの実際の切り替えは、Mクラウドマネージャ614へ委任される。
クラウドマネージャによって実行されるロードバランシングに関する方針は同一の基本パターンに従うが、メディエーションセグメントサービスの切り替えは次に挙げる複数の処理の組み合わせである複合的処理であることを付言しておく。その複数の処理とは、あらゆる関連する状態を移転する処理などの、セグメントのプロセスを移行する処理と、所定のメッセージの宛先(ターゲット)を決定するために各MRが使用し、以前のメディエータがその間に受信したメッセージの再ルーティングを行うための、ルーティング機能を更新する処理である。次に、この理由を説明するために、Mクラウドマネージャの動作を以下詳細に説明する。
一般に、ロードバランシングの方針は、より高いレベルのサービス(分散メディエーションネットワークマネージャ)によって解決されるあらゆるリソースの衝突とは独立して動作することが可能である必要がある。しかしながら、各クライアントから適切なメディエーションセグメントサービスへのメッセージの因果的配信則、及び各メディエーションサービスによって生成され、関心を持っているクライアントへ送信されるメッセージの因果的配信則が、両方とも常に保証されるように、開始済みの切り替え処理が構成されなければならない。
クロスストリームのロードバランシング−メディエーションセグメントサービスの譲渡
本発明の分散メディエーション構造は、LPPノード、MRノード、Mノード及びTPノードから成る任意のトポロジーに基づいている。このトポロジーのノードは、「定常状態」に関して上述した特性を有する。この前述のトポロジーは、既存の機能的コンポーネント間における動的なロードバランシングに非常に適している。
上述の通り、特定のセグメントに重い負荷が掛かっていると考えられる場合に、Mクラウドマネージャは、関連するメディエーションタスク(メディエーションセグメントサービス)の担当を、処理能力に余裕があるネットワーク内のマシンへ自律的に移動させることができる。また、現在ネットワーク内にあるあらゆるメッセージ又は将来受信する予定のあらゆるメッセージが、新しいMノードへ経路が変更されることを保証するために、メディエーションタスクを譲渡する処理は、メディエーションネットワークの動的な調整を要求する。これは、新しい論理的ネットワークトポロジー内の特別なメッセージの伝達によって、すなわち、適切なマシンを介した「コーザルリップリング(causal rippling)」によって、達成される。それによって、稼働中のシステムにおいて、メッセージ入出力の観点からシステムの観測可能な動作に影響することなく、メディエーションの変更を行うことができる。メディエーションセグメント及びメディエーションタスクは統合して単一のメディエーションアプリケーションを形成し、種々のセグメントはM全体にわたって分散されることを再度記載しておく。
メディエーションの変更は、根本的には、「全体的な不変条件」の特性が持つ利点によって可能となる。これにより、入力メッセージは、当該メッセージが生成されるLPPにかかわらず同じメディエータへルーティングされることになる。メディエーションの変更は、実システムにおいて、一の整合性のある状態から他の整合性のある状態への変更という問題が発生するが、システムの正確さあるいは性能に悪影響を及ぼす問題は発生しない。ここで、分散メディエーションネットワークの2つの主要な機能に関して説明する必要がある。その機能とは、メッセージの伝達の機能及びメッセージの問合わせの機能である。また、メッセージの問合わせは、特に起動時の問い合わせ(start−up queries)を指す。
先に述べた通り、Mクラウドマネージャは、メディエーション要求の自律的なロードバランシングを担当する。そのため、Mクラウドマネージャは、(十分なリソースが利用可能であれば、)新しいMをシステムに導入することができ、個々のMが過負荷とならないようにセグメントをM間に分散することができる。
さらに、Mクラウドマネージャは、所定のメディエーションサービスから、メディエーションセグメントを追加及び削除することができる。例えば、Mクラウドマネージャは、新しいメディエーションセグメントを担当することができる適切なMを特定することができる。
例えば、毎秒15個のリクエストを発行している10個のクライアントが、2つのLPP(以下、lpp1及びlpp2とする。)にそれぞれ属しているシステムを仮定する。さらに、それらのリクエストは、3種の別個のセグメント(以下、s1、s2及びs3とする。)に均等に関連付けられている。毎秒300個のリクエストから成るアップストリームのトラフィック合計は、lpp1とlpp2との間で均等に分担される。その結果として生成される毎秒300個のリクエストから成るクロスストリームのトラフィックは、(この単純な例においては、)2つのMR(以下、mr1及びmr2とする。)の間で均等に分担され、セグメントs1、s2及びs3の間で均等に(それぞれのセグメントに対して毎秒100個のリクエストの速度で)分担される。
先に述べた通り、メディエータは、トラフィックをセグメントの種類に応じて取り扱う。この例においては、2つのメディエータ(以下、m1及びm2とする。)は、それぞれが毎秒200個のリクエストを処理することができる。そのため、m1がセグメントs1のトラフィックをメディエートし、m2が残りのトラフィック(セグメントs2及びセグメントs3)をメディエートするシナリオが考えられる。この場合、明らかに、m1にかかる負荷は毎秒100個のリクエストになり、m2にかかる負荷は毎秒200個のリクエストになる。
ここに挙げたシンプルな例において、メディエーションサービスは、トラフィックの現在状況をダウンストリームネットワーク上へ伝送する。また、TPであるtp1はm1に関連付けられており、TPであるtp2はm2に関連付けられている。その結果、tp1には毎秒100個のアップデートが供給されることになり、tp2には毎秒200個のアップデートが供給されることになる。これらのアップデートは、次にlpp1及びlpp2へ渡され、lpp1及びlpp2のそれぞれがtp1及びtp2から合わせて毎秒300個のアップデートを受信することになる。この毎秒300個のアップデートは、システムのクライアントによって受信されるアップデートの総量を表わしている。
上記の例のシステムが動作する条件を変更した場合を考える。例えば、セグメントs2に対するクライアントの関心が上昇し、セグメントs1に対するクライアントの関心が低下すると、各セグメントに対する各クライアントからのリクエストの数の変化に、これらの関心の増減が反映される。例えば、各クライアントは、s1に関連する毎秒3個のリクエストと、s2に関連する毎秒7個のリクエストを伝送すると仮定する。システムにおけるs1及びs2に関連するリクエストの数の合計は、同じ(毎秒200個)であるが、今回の場合、s1に関連するリクエストは毎秒60個のみであり、s2に関連するリクエストは毎秒140個である。従って、m1に係る負荷は毎秒60個のリクエストのみであるが、m2にかかる負荷は毎秒240個のリクエストであり、負荷が増加している。しかしながら、先に述べた通り、m2には毎秒200個のリクエストという処理能力の制限がある。
従って、Mクラウドマネージャは、m1及びm2に対して処理可能な負荷量より大きな負荷が掛からないように、自律的に作用して状況を修正することが要求される。この例において、Mクラウドマネージャは、セグメントs3の処理の担当をm2からm1へ切り替えるように作用する。一旦この切り替えが行われると、m1及びm2上の全体的な負荷は、それぞれ毎秒160個のリクエスト及び毎秒140個のリクエストとなる。また、s2の処理の担当をm1へ移転した場合も、M上の負荷は許容範囲内に収まるが、この場合m1は最大限の処理能力で動作する必要がある。
一のMから他のMへのセグメントの移行は、因果的配信則が維持される方法で、かつ分散メディエーションネットワークに対する変更が外部から見えないような方法で、処理されなければならない。
システムが第1の整合状態PS1にある時刻から、新しい整合状態PS2にある時刻へ状態が推移する場合について考える。時間t0において、新しい状態PS2へと変化するプロセスが始まる。この後、ある未知の時間t1において、新しい整合状態PS2への変化が完了したことを、システムが認識する。実際の変更が起きた時間tbは不明であるが、時間tbは時間t0と時間t1の間にある。
時間t0と時間t1の間においては、システムは不安定な状態にあると定義され、メディエーションタスクが現在動作している箇所が、全体的には認識されていないことを意味している。しかしながら、それぞれの箇所において、情報のフローを正確に処理するために十分に局所的な知識が利用可能であるので、システムの各機能は影響を受けない。
当初、メディエータm1がセグメントs1をメディエートして、メディエータm2がセグメントs2及びs3をメディエートしている上記の例を考える。次に、ユーザの観点から見てメディエーションサービスを中断することなく、全ての3つのセグメント(s1、s2及びs3)のメディエーションのロードバランシングを実行するために、セグメントs3に対して、m2からm1へメディエーションサービスのホットな移行(hot migration)あるいはホットな譲渡(hot handover)を可能にするアルゴリズムについて、詳細に説明する。
図7A乃至図7Fは、メディエーション変更サイクルを例示している。図7Aに示す通り、メディエーション変更サイクルは、Mクラウドマネージャがメディエータm2に対するHANDOVER_SEGMENT(s3)エフェクタメソッドを呼び出すことで、セグメントs3をメディエータm1へ譲渡するように指示することから開始される。その結果、メディエータm2はHANDOVER_SENDER(s3)状態に入る。この状態において、メディエータm2は、バッファリングされた、セグメントs3に対応するあらゆるメッセージを処理する。図7Bに示す通り、一旦セグメントs3のバッファがフラッシュされると、メディエータm2は、ダウンストリームのMEDIATION_CHANGE(s3)制御メッセージを、TPを介して全てのLPPへ送信し、また、順番に並べられたスナップショットをMEDIATION_HANDOVER(s3−state)制御メッセージの形式で、メディエータm1に対して送信する。この時点から、メディエータm2は、セグメントs3をメディエートすることを中止し、以降セグメントs3に対応するあらゆるメッセージはメディエータm2によってメディエータm1へ転送される。
メディエータm1は、MEDIATION_HANDOVER(s3−state)制御メッセージを受信すると、HANDOVER_RECEIVER(s3)状態に入り、受信された状態情報を用いて、セグメントs3に対するメディエーションサービスを開始する。次に、図7Cに示すように、メディエータm1は、ダウンストリームのNEW_MEDIATOR(s3)制御メッセージを、TPを介して全てのLPPへ送信する。
NEW_MEDIATOR(s3)及びMEDIATION_CHANGE(s3)制御メッセージは、セグメントs3に関連するメディエーションタスクの出力のクライアントに対する因果的配信則を保証するために用いられる。特に、以前のメディエータ(m2)からのダウンストリームメッセージは、新しいメディエータ(m1)からのものよりも前にクライアントへ配送されなければならない。これを保証するために、NEW_MEDIATOR(s3)制御メッセージが、対応するMEDIATION_CHANGE(s3)制御メッセージの前に受信される場合には、LPPによって新しいメディエータから受信されたs3メッセージがバッファリングされる。
同様に、メディエータm1はHANDOVER_RECEIVER(s3)状態に入ると直ちに、各MRから直接的に受信したあらゆるs3メッセージを、その各MRから発信された未処理のs3メッセージがメディエータm2から再ルーティングされなくなることが確定するまで、バッファリングし始める。
これを実現するためには、メディエータm1は、コントロールプレインを介してMクラウドマネージャと相互作用する必要がある。従って、メディエータm1は、HANDOVER_RECEIVER(s3)状態に入ると、センサイベントを発信することによって、この状態変更をMクラウドマネージャへ知らせる。
図7Dに示すように、Mクラウドマネージャがこのイベントを受信すると、MRクラウドマネージャのエフェクタを呼び出し、MRに対するルーティングテーブルを更新するよう命令する。MRクラウドマネージャは、それぞれのMRにUPDATE_ROUTING_TABLE(s3,m2−>m1)制御メッセージを送信する。この場合では、MクラウドマネージャはMRクラウドマネージャと直接通信しているが、他の実施形態においてはこの通信を他の方法で行うこともできる。例えば、より厳密な階層構造を有する実施形態においては、DMNマネージャを介して通信することもできる。(例えば、Mクラウドマネージャが、DMNマネージャによって選択されるセンサイベントを送出し、次いでMRクラウドマネージャのエフェクタメソッドを呼び出すこともできる。)いくつかの実施形態においては、クラウドマネージャ間で直接通信することができない場合もありうる。一般的に、以下に説明する全ての場合において、クラウドマネージャ間の通信は互いに直接的に、あるいはDMNマネージャを介して行われることが意図される。
MRは、ルーティングテーブルを更新すると、RT_CHANGED(MR−id,s3)制御メッセージをメディエータm2へ送信し、以降の全てのs3メッセージをメディエータm1へと送信する。図7Eに示すように、このRT_CHANGED制御メッセージはメディエータm2からメディエータm1へ転送される。これは、この特定のMRから直接転送されたセグメントs3に対応するあらゆるバッファリングされたメッセージをフラッシュするための、メディエータm1に対するトリガーとなる。また、あらゆるバッファリングされたメッセージがいったんフラッシュされると、メディエータm1はRT_CHANGEDセンサイベントを発信し、コントロールプレインを介して、この特定のMRの更新が成功したことをMRクラウドマネージャに通知する。
MRクラウドマネージャが新しいメディエータm1を介して全てのMRから確認(ACK)を受信した場合には、メディエーション変更プロセスは有効に完了している。図7Fに示すように、この時点で、MRクラウドマネージャは、全てのMRを更新したことを、コントロールプレインを介してMクラウドマネージャに通知することができる。また、Mクラウドマネージャは、セグメントs3に対するメディエーション変更が、メディエータm1及びメディエータm2が共にSTABLE(s3)状態へ戻ることができる時点で完了していることを、メディエータm1及びメディエータm2に対して通知することができる。
クロスストリームの拡張及び縮小
当業者には自明のことであるが、同様の手法を、要求に応じて(オンデマンドに)Mノードをシステムに追加、あるいはシステムから削除するために利用することができる。Mノードを追加する操作を完了するためには、要求されるリソースを取得する作業と、空のMノードを生成してTPに接続する作業と、時間経過に伴ってMノードにセグメントを追加する作業とを行う。2つのMモードを「キュービックな」分散メディエーションモデルへ追加した結果を、図8に例示する。一方、Mノードを削除する操作を完了するためには、最初に全てのセグメントを他のMノードへ移行する作業と、その後にMノードをTPから切断する作業と、Mノードを停止してMノードに関連するリソースを解放する作業とを行う。
アップストリームにおけるロードバランシング−メディエーションルータの切り替え
図9に、分散メディエーションネットワークの他の例を示す。図9に示すネットワークは、図4に示す「キュービックな」ネットワークとトポロジー的に等価である。この図で示されたレイアウトを以下、「円筒状の」レイアウトと呼ぶことにする。このタイプの図においては、各LPPは、例示したネットワーク伝送路の始点と終点との両方において、計2回図示されている。円筒状のレイアウトは、分散メディエーションネットワーク内に存在するロードバランシングの機会を効果的に示す。
上述した通り、クロスストリームのロードバランシングは、各Mノードにおける負荷が許容範囲内に収まることを保証する。そのため、目標は、任意のMノードを通るトラフィックが適切な高水位線と低水位線の間に収まることと、Mノードのセットが取り扱う全体的な作業の負荷も、同様に許容可能な高水位線と低水位線の間に収まることとを保証することである。トラフィックのレベルはMノードに対するメディエーションセグメントサービスの分散によって決定されるので、一のMノードから他のMノードへ、メディエーションセグメントサービスを移行あるいは譲渡する手法が提供される。
アップストリームにおけるロードバランシングの場合は以下のようにまとめることができる。目標は、任意のMノードを通るトラフィックが適切な高水位線と低水位線の間に収まることと、Mノードのセットが取り扱う全体的な作業の負荷も、同様に許容可能な高水位線と低水位線の間に収まることとを保証することである。任意のMRノードを通るトラフィックは、そのMRノードと接続しているLPPノードによって生成されるスループットによって決定されるので、LPPノードの出力を一のMRノードから他のMRノードへ切り替える機能は、任意のMRノードにかかる負荷を管理する際に肝要である。トラフィックが軽い場合には、MRノード間でLPPノードを切り替えることで、MRノードは複数のLPPノードに対してサービスを提供することができる。これは、例えば、専用のMRノードが各LPPノードに常に割り当てられている固定的なシステムと比較して、効率面において著しく優位である。
図10Aは、2つのMRノードによってサービスが提供される4つのLPPノードと、2つのTPノードによってサービスが提供される4つのMノードとから成る、拡張された円筒状のレイアウトを示す。図10Aにおけるノード間の矢印は、ネットワークトラフィックの初期状態のフローを表わしている。これを開始時点として、mr1に過大な負荷がかかる可能性がある大量のスループットをlpp1が生成し始める場合について考える。次に、2つのMRノードを通過するアップストリームトラフィックをロードバランシングするために、lpp2がmr2へホットスイッチング(サービス稼働中での切り替え、hot switching)する作業を可能にするためのアルゴリズムについて詳細に説明する。
図10B乃至図10Eは、LPPスイッチオーバー(切り替え)サイクルを例示している。図10Bに示すように、スイッチオーバーサイクルは、LPPクラウドマネージャによって開始され、LPPクラウドマネージャは、ノードlpp2に対するSWITCH_MR(mr2)エフェクタメソッドを呼び出して、現在のMRノードmr1からノードmr2への切り替えを命令する。この時点で、LPPノードlpp2はSWITCHOVER(mr2)状態に移行する。
図10Cに示すように、lpp2はMR_CHANGE(lpp2)制御メッセージをmr1へ送信することによって応答する。mr1は、ルーティングテーブルにおける各セグメントs<i>に対応する適切なメディエータへMR_CHANGE(lpp2,s<i>)制御メッセージを送信し、同時にMR_CHANGE(lpp2,s<i>)センサイベントを発信することによって、応答する。MR_CHANGE(lpp2,s<i>)センサイベントは、MRクラウドマネージャによって検出され、Mクラウドマネージャがアクセス可能な共有データ空間に記憶されている。いくつかの他の実施形態においては、各LPPは、「アクティブな(active)」セグメントのリストを維持し、mr1によってルーティングされる、これらのセグメントに対するMR_CHANGE(lpp2,s<i>)制御メッセージを生成することもできる。しかしながら、そのような変形例では、それ以外の場合では要求されないLPPにおける状態情報を維持する必要がある。
図10Dに示すように、その後、lpp2は新しいMRノードmr2へ切り替えて、mr2に対してNEW_MR(lpp2)制御メッセージを送信する。上記の作業により、適切なMノードへ伝送される、ルーティングテーブルにおけるそれぞれのセグメントs<i>に対するNEW_MR(lpp2,s<i>)制御メッセージが生成される。
Mノードによって受信されたNEW_MR(lpp2,s<i>)及びMR_CHANGE(lpp2,s<i>)制御メッセージは、適切なセグメントサービスによって、クロスストリームメッセージの因果的処理(causal processing)を保証するために用いられる。特に、lpp2によって以前のメディエーションルータ(mr1)を介して送信されたアップストリームメッセージは、新しいメディエーションルータ(mr2)を介して送信されたメッセージの前に処理されなければならない。
これを保証するために、lpp2から発信され、新しいメディエーションルータを経由してメディエータが受信した全てのs<i>メッセージは、NEW_MR(lpp2,s<i>)制御メッセージが対応するMR_CHANGE(lpp2,s<i>)制御メッセージの前に受信される場合には、バッファリングされる。このバッファリング処理は、上述したクロスストリームにおけるロードバランシングにおいて新しいメディエータ(m2)が行ったバッファリング処理と類似している。しかし、アップストリームにおけるロードバランシングでは、LPPノードから発信されたメッセージがバッファリングされ、クロスストリームにおけるロードバランシングでは、MRノードから発信されたメッセージがバッファリングされる。
図10Eに示すように、両方の制御メッセージ(NEW_MR及びMR_CHANGE)が受信された後に、あらゆるバッファがフラッシュされると、NEW_MR(lpp2,s<i>)センサイベントが、関連するMノードによって検出されると共に、Mクラウドマネージャによって検出される。先に記憶されたMR_CHANGEセンサイベントに対応する全てのNEW_MRセンサイベントが検出されると、MクラウドマネージャはLPPクラウドマネージャに、スイッチオーバーサイクルが完了し、結果として、lpp2をSTABLE(mr2)状態へ切り替えるためのエフェクタメソッドを、LPPクラウドマネージャが呼び出すことを通知する。
最適化された安定性を確保するために、本発明に係るいくつかの実施形態で想定されることは、LPPクラウドマネージャとMクラウドマネージャとの間の通信は、全てのMノードがSTABLE状態であったときにのみMRノード間におけるLPPノードの切り替えが開始されることと、LPPノードがSWITCHOVER状態である間はMノード間におけるセグメントの譲渡が開始されないこととを保証することができることである。
ダウンストリームにおけるロードバランシング−伝送プロキシの切り替え
ダウンストリームにおけるロードバランシングは、上述したアップストリームにおけるロードバランシングの繰り返しであり、以下のように要約できる。目標は、任意のTPノードを通るトラフィックが適切な高水位線と低水位線の間に収まることと、TPノードのセットが取り扱う全体的な作業の負荷も、同様に許容可能な高水位線と低水位線の間に収まることとを保証することである。任意のTPノードを通るトラフィックは、そのTPノードと接続しているMノードによって生成されるスループットによって決定されるので、Mノードの出力を一のTPノードから他のTPノードへ切り替える能力は肝要である。トラフィックが軽い場合には、TPノード間でMノードを切り替えることで、TPノードは複数のMノードに対してサービスすることができる。これは、例えば、専用のTPノードが各Mノードに常に割り当てられている固定的なシステムと比較して、効率面において著しく優位である。
アップストリームにおけるロードバランシングに関して上述した図10Aに示す分散メディエーションネットワークを開始時点として、tp1に過大な負荷がかかる可能性がある大量のスループットをm1が生成し始める場合について考える。次に、2つのTPノードを通過するダウンストリームトラフィックをロードバランスするために、m2がtp2へホットスイッチングする作業を可能にするためのアルゴリズムについて詳細に説明する。
図11A乃至図11Dは、Mノードのスイッチオーバーサイクルを例示している。図11Aに示すように、スイッチオーバーサイクルは、Mクラウドマネージャによって開始される。Mクラウドマネージャは、ノードm2に対するSWITCH_TP(tp2)エフェクタメソッドを呼び出して、現在のTPノードtp1からノードtp2への切り替えを命令する。この時点で、Mノードm2はSWITCHOVER(tp2)状態に移行する。
図11Bに示すように、m2は、自身が担当するアクティブな各セグメントs<i>に対して、TP_CHANGE(m2,s<i>)制御メッセージをtp1へ送信することによって応答する。tp1ノードは、この制御メッセージを全てのLPPノードに一括送信すると同時に、各LPPノードに対応するTP_CHANGE(m2,lpp<j>,s<i>)センサイベントを発信する。このセンサイベントは、TPクラウドマネージャによって検出され、LPPクラウドマネージャがアクセス可能な共有データ空間に記憶されている。
図11Cに示すように、その後、m2は新しいTPノードtp2へ切り替えて、自身が担当するアクティブな各セグメントs<i>に対して、NEW_TP(m2,s<i>)制御メッセージをtp2へ送信する。tp2ノードはこのメッセージを全てのLPPノードへ一括送信する。
NEW_TP(m2,s<i>)及びTP_CHANGE(m2,s<i>)制御メッセージは、適切なセグメントサービスによって、ダウンストリームメッセージの因果的処理(causal processing)を保証するために用いられる。特に、m2によって以前の伝送プロキシ(tp1)を介して送信されたダウンストリームメッセージは、新しい伝送プロキシ(tp2)を介して送信されたメッセージの前に処理されなければならない。
これを保証するために、m2から発信され、新しい伝送プロキシを経由してLPPノードが受信した全てのs<i>メッセージは、NEW_TP(m2,s<i>)制御メッセージが対応するTP_CHANGE(m2,s<i>)制御メッセージの前に受信される場合には、バッファリングされる。このバッファリング処理は、セグメントの譲渡の際に、LPPモジュールが行ったバッファリング処理に類似している。異なる点は、今回の場合では、伝送プロキシ(TP)ノードではなくメディエーション(M)ノードから発信されたメッセージがバッファリングされる点である。
図11Dに示すように、両方の制御メッセージ(NEW_TP及びTP_CHANGE)が受信された後に、あらゆるバッファがフラッシュされると、NEW_TP(m2,lpp<j>,s<i>)センサイベントが、LPPノードによって発信されると共に、Mクラウドマネージャによって検出される。先に記憶されたTP_CHANGEセンサイベントに対応する全てのNEW_TPセンサイベントが検出されると、LPPクラウドマネージャは、Mクラウドマネージャにスイッチオーバーサイクルが完了したことを通知し、Mクラウドマネージャは、m2をSTABLE(tp2)状態へ切り替えるためにm2に対するエフェクタメソッドを呼び出す。
いくつかの実施形態においては、Mクラウドマネージャは、全てのMノードがSTABLE状態であったときにのみ、TPノード間におけるMノードの切り替えを開始する。さらに、いずれかのMノードがSWITCHOVER状態である間は、メディエーションセグメントの移転を開始しないように、Mクラウドマネージャを設計することもできる。
アップストリーム及びダウンストリームの拡張及び縮小
当業者には自明なことであるが、必要に応じて(オンデマンドに)MRノード及びTPノードをシステムに追加、あるいはシステムから削除するために、同様の手法を利用することができる。追加する場合には、要求されるリソースを取得し、MRノードあるいはTPノードを生成し、1つ以上のLPPノードあるいはMノードを、生成されたMRノードあるいはTPノードにそれぞれ切り替える単純な作業を行う。
図10及び図11で示されるネットワークトポロジーへMRノード(mr3)を追加する操作と、既存のMRノードにかかる作業負荷が閾値を越えて全体的に増加するに応じてLPPノード(lpp4)の送信先を切り替える操作とを行った最終的な結果を図12Aに例示する。この図から、既存のMRノードにかかる作業負荷が全体的に低下した結果、負荷が閾値以下になった場合にMRノードを削除するためには、削除対象のMRノードに向かっている全てのLPPノードを他のMRノードへ切り替えなければならないということになる。
次に、前記操作を行ったネットワークトポロジーへTPノード(tp3)を追加する操作と、既存のTPノードにかかる作業負荷が閾値を越えて全体的に増加するに応じてMノード(m4)の送信先をtp3に切り替える操作とを行った最終的な結果を図12B及び図12Cに例示する。この図から、既存のTPノードにかかる作業負荷が全体的に低下した結果、負荷が閾値以下になった場合にTPノードを削除するためには、削除対象のTPノードに向かっている全てのMノードを他のTPノードへ切り替えなければならないということになる。
最後に、4つのLPPノード及び4つのMノードを有する図10及び図11で示されたネットワークの最大限の構成を、図12Dに示す。この図において、各LPPノードは唯一の専用のMRノードに接続され、また各Mノードは唯一の専用のTPノードに接続される。分散メディエーションネットワークの制約条件としては、ネットワーク上においてMRノードの数はLPPノードの数を上回ることができない。同様に、TPノードの数もMノードの数を上回ることができない。
例外処理
アップストリーム、クロスストリーム及びダウンストリームにおけるロードバランシングでは対処できないネットワークの負荷に関する問題がいくつか存在する。これらの例外では、関連するクラウドマネージャがDMNマネージャに対して対策を問い合わせる。
Mクラウドマネージャによる例外処理
例外:一のセグメントs<i>を担当するMノードが過負荷となる。すなわち、負荷が個々のMノードに対する高水位線を超える。Mクラウドマネージャは、DMNマネージャに対してこの例外を生成する必要がある。
対策:Mノードの取り扱いを差別化できない限り、この例外に対する取り得る処置はない。すなわち、複数のMノードの一部がより強力なコンピュータ上で処理を行っている場合には(例えば昨年発売されたPCではなく最新のマルチコアチップセットを搭載したPC)、セグメントをより強力な処理能力を有するノードへ移動させるようにロードバランシングのアルゴリズムを改良することができる。そのようにしても、ある時点で、この限界的状況に再び陥ることになるだろう。
所見:この例外から理解できるように、Mノードの結合は脆弱であるという障害が潜在的に存在する。
TPクラウドマネージャによる例外処理
例外:一のm<j>ノードを担当するTPノードが過負荷となる。すなわち、負荷が個々のMノードに対する高水位線を超える。TPクラウドマネージャは、DMNマネージャに対してこの例外を生成する必要がある。
対策:TPノード間で処理能力が異なるなど、TPノードを差別化することができる場合に、ロードバランシングのアルゴリズムを改良することができる。その場合においても、ある時点で、この限界的状況に再び陥ることになるだろう。そうでない場合でも、DMNマネージャは、m<j>ノードがネットワークに過負荷をかけているとMクラウドマネージャに通知することができる。m<j>ノードが複数のセグメントを担当している場合であれば、理論上はこれらのセグメントを再分散することができる。
所見:この例外から理解できるように、TPノードの結合は脆弱であるという障害が潜在的に存在する。
MRクラウドマネージャによる例外処理
例外:一のlpp<k>ノードを担当するMRノードが過負荷となる。すなわち、負荷が個々のMRノードに対する高水位線を超える。MRクラウドマネージャは、DMNマネージャに対してこの例外を生成する必要がある。
対策:MRノードの取り扱いを差別化できない限り、この例外に対する取り得る処置はない。すなわち、MRノード間で処理能力が異なる場合には、ロードバランシングのアルゴリズムを改良することができる。その場合においても、ある時点で、この限界的状況に再び陥ることになるだろう。
所見:この例外から理解できるように、MRノードの結合は脆弱であるという障害が潜在的に存在する。
いくつかの実施形態において、個々のLPPノードがMRノードに過大な負荷をかけていることをDMNマネージャが観測した場合に、LPPノード間でユーザの再調整を行うように指示することもできる。これを達成する手法は、ユーザへ提供されているメディエーションサービスの性質に依存することになる。
図13に示される表1は、分散メディエーションネットワーク内のノード間でネットワークトラフィックを分散する際に、自律的コントロールプレインが取る動作の概要を示している。表1は、自律的コントロールプレインが定める測定基準又は変数を示している。例えば、「X_NODE_HIGH_WATERMARK」は、一のXノード(Xは、LPP、TP、MR及びMのいずれか)が処理可能なトラフィックの最大の閾値を表す。また、「X_NODE_POOL_HIGH_WATERMARK」は、Xノードのグループにかかるトラフィックのスループットの最大平均値を表す。

Claims (27)

  1. 複数のタイプのネットワークモジュールであって、
    メディエーションネットワークとクライアントプログラムとの間のネットワークトラフィックを受信及び送信するローカルポイント・オブ・プレゼンス(LPP)モジュールと、
    メディエーションタスクを担当するメディエータ(M)モジュールと、
    入力メッセージのコンテンツを解析するメディエータルータ(MR)モジュールであって、前記各MRモジュールは、前記コンテンツに応じて予め決定されたメディエーションタスクへ前記入力メッセージをルーティングする前記MRモジュールと、
    少なくとも1つの前記LPPモジュールへメッセージを転送する伝送プロキシ(TP)モジュールであって、前記MRモジュール、前記Mモジュール及び前記TPモジュールの各々は、それらのモジュールを通過するネットワークトラフィックの全てのパスが非相互的であるように適合されている前記TPモジュールと、
    から成る前記ネットワークモジュール(以下、単に「モジュール」と言う。)と、
    前記モジュール間におけるネットワークトラフィックの分散を管理する自律的コントロールプレインと、
    を備えている分散メディエーションネットワーク。
  2. 前記LPPモジュールが前記MRモジュールを指定し、次に前記MRモジュールが前記Mモジュールを指定し、次に前記Mモジュールが前記TPモジュールを指定し、次に前記TPモジュールが前記LPPモジュールを指定する一方向メディエーションサイクルに従って、ネットワークトラフィックを接続する、請求項1に記載の分散メディエーションネットワーク。
  3. 前記自律的コントロールプレインは、メディエーションモジュール間におけるメディエーションタスクの分散が達成されるように適合されている、請求項1または2に記載の分散メディエーションネットワーク。
  4. 前記自律的コントロールプレインは、前記各タイプのモジュールの数が制限されるように適合されている、請求項1から3のいずれかに記載の分散メディエーションネットワーク。
  5. 前記自律的コントロールプレインは、多数のリソースにわたって提供されている、請求項1から4のいずれかに記載の分散メディエーションネットワーク。
  6. 前記モジュールは、前記モジュールの状態を前記自律的コントロールプレインに伝達するセンサインターフェースを有している、請求項1から5のいずれかに記載の分散メディエーションネットワーク。
  7. 前記モジュールは、前記自律的コントロールプレインからコマンドを受信するエフェクタインターフェースを有している、請求項1から6のいずれかに記載の分散メディエーションネットワーク。
  8. 前記自律的コントロールプレインは、所定のタイプの前記モジュール間におけるネットワークトラフィックの分散を管理するクラウドマネージャと、前記モジュールのタイプ間におけるリソースの分散を管理する分散メディエーションネットワーク(DMN)マネージャと、を備える階層構造を有している、請求項1から7のいずれかに記載の分散メディエーションネットワーク。
  9. メディエーションタスクの分散は、第1Mモジュールから第2Mモジュールへ特定のメディエーションタスクを移転する動作から成り、前記移転する動作は、
    前記自律的コントロールプレインが、前記第1Mモジュールに対するHANDOVER_SEGMENTエフェクタメソッドを呼び出す動作と、
    前記第1Mモジュールが、HANDOVER_SEGMENTエフェクタメソッドの呼び出しを受けた後に、状態をHANDOVER_SENDER状態に変更し、前記第1Mモジュールに現在記憶されている前記特定のメディエーションタスクに関連するコンテンツを処理し、次いでMEDIATION_CHANGE制御信号を全ての前記LPPモジュールに送信する動作と、
    前記第1Mモジュールが、MEDIATION_HANDOVER制御信号を前記第1Mモジュールから前記第2Mモジュールへ送信し、次いで前記第1Mモジュールが受信した前記特定のメディエーションタスクに関連するコンテンツを前記第2Mモジュールへ転送する動作と、
    前記第2Mモジュールが、MEDIATION_HANDOVER制御信号を受信した後に、状態をHANDOVER_RECEIVER状態へ変更し、前記状態変更を示すセンサ信号を前記自律的コントロールプレインに送信し、NEW_MEDIATOR制御信号を全ての前記LPPモジュールへ送信する動作であって、NEW_MEDIATOR制御信号の受信後に受信され、MEDIATION_CHANGE制御信号の受信前に受信された前記特定のメディエーションタスクに関連するコンテンツを、前記LPPモジュールがバッファリングする動作と、
    前記第2MモジュールがHANDOVER_RECEIVER状態にあることを示すセンサ信号を受信した後に、前記自律的コントロールプレインが、前記MRモジュールに対するエフェクタメソッドを呼び出し、前記特定のメディエーションタスクに関連するコンテンツを前記第1Mモジュールではなく前記第2Mモジュールへ転送するように前記MRモジュールに対して命令する動作と、
    前記各MRモジュールが、転送されるコンテンツの宛先を前記第2Mモジュールへ変更した後に、宛先の変更を示すセンサ信号を前記自律的コントロールプレインへ発信し、前期各MRモジュールに対応するRT_CHANGED制御メッセージを前記第1Mモジュールへ転送し、次いで前記第1MモジュールがRT_CHANGED制御メッセージを前記第2Mモジュールへ転送する動作であって、前記第2Mモジュールが前記各MRモジュールから直接受信した前記特定のメディエーションタスクに関連するコンテンツを、前記各MRモジュールに対応するRT_CHANGED制御メッセージを前記第2Mモジュールが受信するまで、バッファリングする動作と、
    前記第2Mモジュールが、前記各MRモジュールから発信されたそれぞれのRT_CHANGED信号を前記第2Mモジュールが受信した場合に、センサ信号を前記自律的コントロールプレインに送信する動作と、
    前記自律的コントロールプレインが、全ての前記MRモジュールからRT_CHANGED制御信号が受信されたことを示すセンサ信号を前記第2Mモジュールから受信した場合に、前記第1モジュール及び前記第2Mモジュールに対するエフェクタメソッドを呼び出して前記第1モジュール及び前記第2MモジュールをSTABLE状態に戻す動作と、
    から構成されている、請求項1から8のいずれかに記載の分散メディエーションネットワーク。
  10. ネットワークにかかる負荷の管理が、一のLPPモジュールから送信されるネットワークトラフィックの宛先を第1MRモジュールから第2MRモジュールへ変更する動作であり、前記変更する動作は、
    前記自律的コントロールプレインが、前記LPPモジュールに対するSWITCH_MRエフェクタメソッドを呼び出す動作と、
    前記LPPモジュールが、SWITCH_MRエフェクタメソッドの呼び出しを受けた後に、状態をSWITCHOVER状態に変更し、MR_CHANGE制御信号を前記第1MRモジュールへ送信し、NEW_MR制御信号を前記第2MRモジュールへ送信する動作と、
    前記第1MRモジュールが、MR_CHANGE制御信号を受信した後に、MR_CHANGE信号を各Mモジュールへ転送し、MR_CHANGE制御信号が送信された前記各Mモジュールに対する前記自律的コントロールプレインへ、MR_CHANGEセンサイベントを発信する動作と、
    前記第2MRモジュールが、NEW_MR制御信号を受信した後に、NEW_MR制御信号を各Mモジュールへ転送する動作であって、前記Mモジュールは、NEW_MR制御信号の受信後に受信され、MR_CHANGE制御信号の受信前に受信されたコンテンツをバッファリングするように適合されており、これにより、前記コンテンツが正しい順に処理されることを保証している動作と、
    前記各Mモジュールが、NEW_MR制御信号を受信した後に、センサイベントを前記自律的コントロールプレインへ送信する動作と、
    前記自律的コントロールプレインが、前記第1MRモジュールからMR_CHANGEセンサイベントを受信した全ての前記Mモジュールからのセンサイベントを受信した後に、エフェクタメソッドを呼び出して前記LPPモジュールをSTABLE状態へ戻す動作と、
    から構成されている、請求項1から9のいずれかに記載の分散メディエーションネットワーク。
  11. ネットワークにかかる負荷の管理が、一のMモジュールから送信されるネットワークトラフィックの宛先を第1TPモジュールから第2TPモジュールへ変更する動作であり、前記変更する動作は、
    前記自律的コントロールプレインが、前記Mモジュールに対するSWITCH_TPエフェクタメソッドを呼び出す動作と、
    前記Mモジュールが、SWITCH_TPエフェクタメソッドの呼び出しを受けた後に、状態をSWITCHOVER状態に変更し、TP_CHANGE制御信号を前記第1TPモジュールへ送信し、NEW_TP制御信号を前記第2TPモジュールへ送信する動作と、
    前記第1TPモジュールが、TP_CHANGE制御信号を受信した後に、TP_CHANGE信号を各LPPモジュールへ転送し、TP_CHANGE制御信号が送信された前記各LPPモジュールに対する前記自律的コントロールプレインへ、TP_CHANGEセンサイベントを発信する動作と、
    前記第2TPモジュールが、NEW_TP制御信号を受信した後に、NEW_TP制御信号を各LPPモジュールへ転送する動作であって、前記LPPモジュールは、NEW_TP制御信号の受信後に受信され、TP_CHANGE制御信号の受信前に受信されたコンテンツをバッファリングするよう適合されており、これにより、前記コンテンツが正しい順に処理されることを保証している動作と、
    前記各LPPモジュールが、NEW_TP制御信号を受信した後に、センサイベントを前記自律的コントロールプレインへ送信する動作と、
    前記自律的コントロールプレインが、前記第1TPモジュールからTP_CHANGEセンサイベントを受信した全ての前記LPPモジュールからのセンサイベントを受信した後に、エフェクタメソッドを呼び出して前記MモジュールをSTABLE状態へ戻す動作と、
    から構成されている、請求項1から10のいずれかに記載の分散メディエーションネットワーク。
  12. メディエーションネットワークへ入力されるネットワークトラフィックは、一群のメッセージタイプのうちの1つに属しており、前記一群のメッセージタイプは、
    情報源として作用するプロセスから発生する新しい情報と、
    前記メディエーションネットワークに含まれるノードであって、応答を要求するノードの状態に関する問い合わせと、
    前記メディエーションネットワークが新しい関連情報を受信する場合に、進行中の応答を要求する関心の表明と、
    から成る、請求項1から11のいずれかに記載の分散メディエーションネットワーク。
  13. 前記クラウドマネージャは互いに直接通信することができる、請求項1から12のいずれかに記載の分散メディエーションネットワーク。
  14. 前記クラウドマネージャ間の全ての通信は前記DMNマネージャを通過しなければならない、請求項1から13のいずれかに記載の分散メディエーションネットワーク。
  15. コンピュータネットワークにおけるネットワークトラフィックのフローをメディエートする方法であって、コンピュータネットワークはメディエーションネットワークを有しており、メディエーションネットワークは、
    複数のタイプのネットワークモジュールであって、
    メディエーションネットワークとクライアントプログラムとの間のネットワークトラフィックを受信及び送信するローカルポイント・オブ・プレゼンス(LPP)モジュールと、
    メディエーションタスクを担当するメディエータ(M)モジュールと、
    入力メッセージのコンテンツを解析するメディエータルータ(MR)モジュールであって、前記各MRモジュールは、前記コンテンツに応じて予め決定されたメディエーションタスクへ前記入力メッセージをルーティングする前記MRモジュールと、
    少なくとも1つの前記LPPモジュールへメッセージを転送する伝送プロキシ(TP)モジュールであって、前記MRモジュール、前記Mモジュール及び前記TPモジュールの各々は、それらのモジュールを通過するネットワークトラフィックの全てのパスが非相互的であるように適合されている前記TPモジュールと、
    から成る前記ネットワークモジュールと、
    前記モジュール間におけるネットワークトラフィックの分散を管理する自律的コントロールプレインと、
    を備えている前記メディエーションネットワークであり、
    前記方法において、前記入力メッセージはメディエーションサイクルに沿って伝達され、前記メディエーションサイクルは、
    前記LPPモジュールが、前記少なくとも1つのメディエータルータ(MR)モジュールの1つへ前記入力メッセージを送信するステップと、
    前記送信されたMRモジュールが、前記入力メッセージのコンテンツを解析し、前記解析されたコンテンツに応じて、予め決定されたメディエータモジュールへ前記メッセージをルーティングするステップと、
    前記予め決定されたメディエータモジュールが、メディエーションタスクを前記解析されたメッセージに対して適用し、メディエートされたメッセージを前記TPモジュールの1つへ送信するステップと、
    前記メディエートされたメッセージを受信した前記TPモジュールが、前記メディエートされたメッセージを前記LPPモジュールの少なくとも1つへ送信するステップと、
    から成る前記メディエーションサイクルである前記方法。
  16. 前記自律的コントロールプレインは、メディエーションモジュール間におけるメディエーションタスクの分散が達成されるように適合されている、請求項15に記載の方法。
  17. 前記自律的コントロールプレインは、前記各タイプのモジュールの数が制限されるように適合されている、請求項15または16に記載の方法。
  18. 前記自律的コントロールプレインは、多数のリソースにわたって提供されている、請求項15から17のいずれかに記載の方法。
  19. 前記モジュールは、前記モジュールの状態を前記自律的コントロールプレインに伝達するセンサインターフェースを有している、請求項15から18のいずれかに記載の方法。
  20. 前記モジュールは、前記自律的コントロールプレインからコマンドを受信するエフェクタインターフェースを有している、請求項15から19のいずれかに記載の方法。
  21. 前記自律的コントロールプレインは、所定のタイプの前記モジュール間におけるネットワークトラフィックの分散を管理するクラウドマネージャと、前記モジュールのタイプ間におけるリソースの分散を管理する分散メディエーションネットワーク(DMN)マネージャと、を備える階層構造を有している、請求項15から20のいずれかに記載の方法。
  22. メディエーションタスクの分散は、第1Mモジュールから第2Mモジュールへ特定のメディエーションタスクを移転する動作から成り、前記移転する動作は、
    前記自律的コントロールプレインが、前記第1Mモジュールに対するHANDOVER_SEGMENTエフェクタメソッドを呼び出す動作と、
    前記第1Mモジュールが、HANDOVER_SEGMENTエフェクタメソッドの呼び出しを受けた後に、状態をHANDOVER_SENDER状態に変更し、前記第1Mモジュールに現在記憶されている前記特定のメディエーションタスクに関連するコンテンツを処理し、次いでMEDIATION_CHANGE制御信号を全ての前記LPPモジュールに送信する動作と、
    前記第1Mモジュールが、MEDIATION_HANDOVER制御信号を前記第1Mモジュールから前記第2Mモジュールへ送信し、次いで前記第1Mモジュールが受信した前記特定のメディエーションタスクに関連するコンテンツを前記第2Mモジュールへ転送する動作と、
    前記第2Mモジュールが、MEDIATION_HANDOVER制御信号を受信した後に、状態をHANDOVER_RECEIVER状態へ変更し、前記状態変更を示すセンサ信号を前記自律的コントロールプレインに送信し、NEW_MEDIATOR制御信号を全ての前記LPPモジュールへ送信する動作であって、NEW_MEDIATOR制御信号の受信後に受信され、MEDIATION_CHANGE制御信号の受信前に受信された前記特定のメディエーションタスクに関連するコンテンツを、前記LPPモジュールがバッファリングする動作と、
    前記第2MモジュールがHANDOVER_RECEIVER状態にあることを示すセンサ信号を受信した後に、前記自律的コントロールプレインが、前記MRモジュールに対するエフェクタメソッドを呼び出し、前記特定のメディエーションタスクに関連するコンテンツを前記第1Mモジュールではなく前記第2Mモジュールへ転送するように前記MRモジュールに対して命令する動作と、
    前記各MRモジュールが、転送されるコンテンツの宛先を前記第2Mモジュールへ変更した後に、宛先の変更を示すセンサ信号を前記自律的コントロールプレインへ発信し、前期各MRモジュールに対応するRT_CHANGED制御メッセージを前記第1Mモジュールへ転送し、次いで前記第1MモジュールがRT_CHANGED制御メッセージを前記第2Mモジュールへ転送する動作であって、前記第2Mモジュールが前記各MRモジュールから直接受信した前記特定のメディエーションタスクに関連するコンテンツを、前記各MRモジュールに対応するRT_CHANGED制御メッセージを前記第2Mモジュールが受信するまで、バッファリングする動作と、
    前記第2Mモジュールが、前記各MRモジュールから発信されたそれぞれのRT_CHANGED信号を前記第2Mモジュールが受信した場合に、センサ信号を前記自律的コントロールプレインに送信する動作と、
    前記自律的コントロールプレインが、全ての前記MRモジュールからRT_CHANGED制御信号が受信されたことを示すセンサ信号を前記第2Mモジュールから受信した場合に、前記第1モジュール及び前記第2Mモジュールに対するエフェクタメソッドを呼び出して前記第1モジュール及び前記第2MモジュールをSTABLE状態に戻す動作と、
    から構成されている、請求項15から21のいずれかに記載の方法。
  23. ネットワークにかかる負荷の管理が、一のLPPモジュールから送信されるネットワークトラフィックの宛先を第1MRモジュールから第2MRモジュールへ変更する動作であり、前記変更する動作は、
    前記自律的コントロールプレインが、前記LPPモジュールに対するSWITCH_MRエフェクタメソッドを呼び出す動作と、
    前記LPPモジュールが、SWITCH_MRエフェクタメソッドの呼び出しを受けた後に、状態をSWITCHOVER状態に変更し、MR_CHANGE制御信号を前記第1MRモジュールへ送信し、NEW_MR制御信号を前記第2MRモジュールへ送信する動作と、
    前記第1MRモジュールが、MR_CHANGE制御信号を受信した後に、MR_CHANGE信号を各Mモジュールへ転送し、MR_CHANGE制御信号が送信された前記各Mモジュールに対する前記自律的コントロールプレインへ、MR_CHANGEセンサイベントを発信する動作と、
    前記第2MRモジュールが、NEW_MR制御信号を受信した後に、NEW_MR制御信号を各Mモジュールへ転送する動作であって、前記Mモジュールは、NEW_MR制御信号の受信後に受信され、MR_CHANGE制御信号の受信前に受信されたコンテンツをバッファリングするように適合されており、これにより、前記コンテンツが正しい順に処理されることを保証している動作と、
    前記各Mモジュールが、NEW_MR制御信号を受信した後に、センサイベントを前記自律的コントロールプレインへ送信する動作と、
    前記自律的コントロールプレインが、前記第1MRモジュールからMR_CHANGEセンサイベントを受信した全ての前記Mモジュールからのセンサイベントを受信した後に、エフェクタメソッドを呼び出して前記LPPモジュールをSTABLE状態へ戻す動作と、
    から構成されている、請求項15から22のいずれかに記載の方法。
  24. ネットワークにかかる負荷の管理が、一のMモジュールから送信されるネットワークトラフィックの宛先を第1TPモジュールから第2TPモジュールへ変更する動作であり、前記変更する動作は、
    前記自律的コントロールプレインが、前記Mモジュールに対するSWITCH_TPエフェクタメソッドを呼び出す動作と、
    前記Mモジュールが、SWITCH_TPエフェクタメソッドの呼び出しを受けた後に、状態をSWITCHOVER状態に変更し、TP_CHANGE制御信号を前記第1TPモジュールへ送信し、NEW_TP制御信号を前記第2TPモジュールへ送信する動作と、
    前記第1TPモジュールが、TP_CHANGE制御信号を受信した後に、TP_CHANGE信号を各LPPモジュールへ転送し、TP_CHANGE制御信号が送信された前記各LPPモジュールに対する前記自律的コントロールプレインへ、TP_CHANGEセンサイベントを発信する動作と、
    前記第2TPモジュールが、NEW_TP制御信号を受信した後に、NEW_TP制御信号を各LPPモジュールへ転送する動作であって、前記LPPモジュールは、NEW_TP制御信号の受信後に受信され、TP_CHANGE制御信号の受信前に受信されたコンテンツをバッファリングするよう適合されており、これにより、前記コンテンツが正しい順に処理されることを保証している動作と、
    前記各LPPモジュールが、NEW_TP制御信号を受信した後に、センサイベントを前記自律的コントロールプレインへ送信する動作と、
    前記自律的コントロールプレインが、前記第1TPモジュールからTP_CHANGEセンサイベントを受信した全ての前記LPPモジュールからのセンサイベントを受信した後に、エフェクタメソッドを呼び出して前記MモジュールをSTABLE状態へ戻す動作と、
    から構成されている、請求項15から23のいずれかに記載の方法。
  25. メディエーションネットワークへ入力されるネットワークトラフィックは、一群のメッセージタイプのうちの1つに属しており、前記一群のメッセージタイプは、
    情報源として作用するプロセスから発生する新しい情報と、
    前記メディエーションネットワークに含まれるノードであって、応答を要求するノードの状態に関する問い合わせと、
    前記メディエーションネットワークが新しい関連情報を受信する場合に、進行中の応答を要求する関心の表明と、
    から成る、請求項15から24のいずれかに記載の方法。
  26. 前記クラウドマネージャは互いに直接通信することができる、請求項15から25のいずれかに記載の方法。
  27. 前記クラウドマネージャ間の全ての通信は前記DMNマネージャを通過しなければならない、請求項15から26のいずれかに記載の方法。
JP2009514895A 2006-06-12 2007-06-12 自己管理型分散メディエーションネットワーク Pending JP2009540717A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80452406P 2006-06-12 2006-06-12
PCT/GB2007/002195 WO2007144611A1 (en) 2006-06-12 2007-06-12 Self-managed distributed mediation networks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011205220A Division JP5450547B2 (ja) 2006-06-12 2011-09-20 自己管理型分散メディエーションネットワーク

Publications (1)

Publication Number Publication Date
JP2009540717A true JP2009540717A (ja) 2009-11-19

Family

ID=38331968

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009514895A Pending JP2009540717A (ja) 2006-06-12 2007-06-12 自己管理型分散メディエーションネットワーク
JP2011205220A Expired - Fee Related JP5450547B2 (ja) 2006-06-12 2011-09-20 自己管理型分散メディエーションネットワーク

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011205220A Expired - Fee Related JP5450547B2 (ja) 2006-06-12 2011-09-20 自己管理型分散メディエーションネットワーク

Country Status (5)

Country Link
US (2) US8266321B2 (ja)
EP (1) EP2030414B1 (ja)
JP (2) JP2009540717A (ja)
GB (1) GB2439195B8 (ja)
WO (1) WO2007144611A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128738A (ja) * 2009-12-16 2011-06-30 Nec Corp データストリーム処理システム及び方法、処理ノード再配置装置及びプログラム

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9525566B2 (en) 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US8307112B2 (en) * 2003-07-31 2012-11-06 Cloudsoft Corporation Limited Mediated information flow
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
WO2005091136A1 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for a self-optimizing reservation in time of compute resources
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP3203374B1 (en) 2005-04-07 2021-11-24 III Holdings 12, LLC On-demand access to compute resources
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8935366B2 (en) * 2009-04-24 2015-01-13 Microsoft Corporation Hybrid distributed and cloud backup architecture
US8539542B1 (en) * 2009-08-25 2013-09-17 Whdc Llc System and method for managing multiple live video broadcasts via a public data network on a single viewing channel
US20110090820A1 (en) 2009-10-16 2011-04-21 Osama Hussein Self-optimizing wireless network
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
CN102055730B (zh) * 2009-11-02 2013-09-11 华为终端有限公司 云处理系统、云处理方法和云计算代理装置
US8954978B1 (en) * 2010-12-29 2015-02-10 Amazon Technologies, Inc. Reputation-based mediation of virtual control planes
US8667399B1 (en) 2010-12-29 2014-03-04 Amazon Technologies, Inc. Cost tracking for virtual control planes
US8667495B1 (en) 2010-12-29 2014-03-04 Amazon Technologies, Inc. Virtual resource provider with virtual control planes
US9928483B2 (en) 2011-04-20 2018-03-27 Level 3 Communication, Llc Automated topology change detection and policy based provisioning and remediation in information technology systems
US8509762B2 (en) 2011-05-20 2013-08-13 ReVerb Networks, Inc. Methods and apparatus for underperforming cell detection and recovery in a wireless network
EP2754271B1 (en) 2011-09-09 2019-11-13 Reverb Networks Inc. Methods and apparatus for implementing a self optimizing-organizing network manager
US9258719B2 (en) 2011-11-08 2016-02-09 Viavi Solutions Inc. Methods and apparatus for partitioning wireless network cells into time-based clusters
US9008722B2 (en) 2012-02-17 2015-04-14 ReVerb Networks, Inc. Methods and apparatus for coordination in multi-mode networks
US9712402B2 (en) * 2012-10-10 2017-07-18 Alcatel Lucent Method and apparatus for automated deployment of geographically distributed applications within a cloud
WO2014110447A1 (en) * 2013-01-12 2014-07-17 Lyatiss, Inc. User interface for visualizing resource performance and managing resources in cloud or distributed systems
US9762471B2 (en) 2013-01-26 2017-09-12 F5 Networks, Inc. Methods and systems for estimating and analyzing flow activity and path performance data in cloud or distributed systems
EP3063657B1 (en) 2013-10-30 2021-12-01 Hewlett Packard Enterprise Development LP Monitoring a cloud service modeled as a topology
WO2015065359A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Modifying realized topologies
EP3063668A4 (en) 2013-10-30 2017-05-31 Hewlett-Packard Enterprise Development LP Managing the lifecycle of a cloud service modeled as topology decorated by a number of policies
EP3063661B1 (en) 2013-10-30 2020-05-06 Hewlett-Packard Enterprise Development LP Topology remediation
EP3063658A4 (en) 2013-10-30 2017-05-24 Hewlett-Packard Enterprise Development LP Realized topology system management database
WO2015065389A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Execution of a topology
EP3063662A4 (en) 2013-10-30 2017-06-21 Hewlett-Packard Enterprise Development LP Facilitating autonomous computing within a cloud service
WO2015065374A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Management of the lifecycle of a cloud service modeled as a topology
EP3063663A4 (en) 2013-10-30 2017-04-19 Hewlett-Packard Enterprise Development LP Stitching an application model to an infrastructure template
US9800470B2 (en) * 2013-11-10 2017-10-24 F5 Networks, Inc. Methods and system for automated or user-assisted grouping and management of groups in cloud infrastructure and network
WO2015120917A1 (en) * 2014-02-17 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) Handling of wireless backhaul links
US9113353B1 (en) 2015-02-27 2015-08-18 ReVerb Networks, Inc. Methods and apparatus for improving coverage and capacity in a wireless network
GB2539639A (en) * 2015-06-02 2016-12-28 Sparkl Ltd Interaction of devices in a networked environment
US9942171B2 (en) 2015-07-02 2018-04-10 Arista Networks, Inc. Network data processor having per-input port virtual output queues
US10333879B2 (en) 2015-08-07 2019-06-25 Satori Worldwide, Llc Scalable, real-time messaging system
US9319363B1 (en) 2015-08-07 2016-04-19 Machine Zone, Inc. Scalable, real-time messaging system
US9407585B1 (en) 2015-08-07 2016-08-02 Machine Zone, Inc. Scalable, real-time messaging system
US9602455B2 (en) 2015-08-07 2017-03-21 Machine Zone, Inc. Scalable, real-time messaging system
US10367852B2 (en) 2015-09-04 2019-07-30 Swim.IT Inc. Multiplexed demand signaled distributed messaging
US9871731B2 (en) 2015-09-30 2018-01-16 Microsoft Technology Licensing, Llc Data plane manipulation in a load balancer
US9319365B1 (en) 2015-10-09 2016-04-19 Machine Zone, Inc. Systems and methods for storing and transferring message data
US9385976B1 (en) 2015-10-09 2016-07-05 Machine Zone, Inc. Systems and methods for storing message data
US9397973B1 (en) 2015-10-16 2016-07-19 Machine Zone, Inc. Systems and methods for transferring message data
US10257043B2 (en) * 2016-01-11 2019-04-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Balancing utilization of infrastructure in a networked computing environment
US10812588B2 (en) 2016-01-13 2020-10-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Storage performance based on data placement
US10778809B2 (en) 2016-02-26 2020-09-15 Arista Networks, Inc. Per-input port, per-control plane network data traffic class control plane policing
US9602450B1 (en) 2016-05-16 2017-03-21 Machine Zone, Inc. Maintaining persistence of a messaging system
US10404647B2 (en) 2016-06-07 2019-09-03 Satori Worldwide, Llc Message compression in scalable messaging system
US20170364069A1 (en) * 2016-06-16 2017-12-21 Ford Global Technologies, Llc Autonomous behavioral override utilizing an emergency corridor
US9608928B1 (en) 2016-07-06 2017-03-28 Machine Zone, Inc. Multiple-speed message channel of messaging system
US9967203B2 (en) 2016-08-08 2018-05-08 Satori Worldwide, Llc Access control for message channels in a messaging system
US10374986B2 (en) 2016-08-23 2019-08-06 Satori Worldwide, Llc Scalable, real-time messaging system
US10305981B2 (en) 2016-08-31 2019-05-28 Satori Worldwide, Llc Data replication in scalable messaging system
US9667681B1 (en) 2016-09-23 2017-05-30 Machine Zone, Inc. Systems and methods for providing messages to multiple subscribers
US11038986B1 (en) * 2016-09-29 2021-06-15 Amazon Technologies, Inc. Software-specific auto scaling
US10270726B2 (en) 2017-02-24 2019-04-23 Satori Worldwide, Llc Selective distribution of messages in a scalable, real-time messaging system
US10447623B2 (en) 2017-02-24 2019-10-15 Satori Worldwide, Llc Data storage systems and methods using a real-time messaging system
US10187278B2 (en) 2017-02-24 2019-01-22 Satori Worldwide, Llc Channel management in scalable messaging system
US11044258B2 (en) * 2018-08-24 2021-06-22 Kyocera Document Solutions Inc. Decentralized network for secure distribution of digital documents
MX2022008281A (es) * 2020-01-02 2022-09-21 Gabriel Lavi Métodos y sistemas para soportar la comunicación de una pluralidad de dispositivos de comunicación de cliente en una red de área local inalámbrica.

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999023784A2 (en) * 1997-10-31 1999-05-14 Oracle Corporation Distributed web application server
WO2003019370A2 (en) * 2001-08-23 2003-03-06 Sphera Corporation A method and system for balancing the load of a computer resource among computers
US6617877B1 (en) * 2002-03-01 2003-09-09 Xilinx, Inc. Variable data width operation in multi-gigabit transceivers on a programmable logic device
JP2003283541A (ja) * 2002-03-26 2003-10-03 Mitsubishi Electric Corp 通信処理装置
JP2004194072A (ja) * 2002-12-12 2004-07-08 Nec Corp 無線アクセスネットワークの制御方法および無線アクセスネットワーク
WO2005013554A2 (en) * 2003-07-31 2005-02-10 Enigmatec Corporation Self-managed mediated information flow
JP2005210756A (ja) * 2005-04-08 2005-08-04 Hitachi Ltd ネットワーク監視方法
JP2005311749A (ja) * 2004-04-22 2005-11-04 Mitsubishi Electric Corp 二重化ネットワーク制御システム

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5769527A (en) * 1986-07-17 1998-06-23 Vari-Lite, Inc. Computer controlled lighting system with distributed control resources
JP3784137B2 (ja) * 1997-06-04 2006-06-07 富士通株式会社 負荷分散システム
US6128279A (en) 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6760775B1 (en) 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
US6594268B1 (en) * 1999-03-11 2003-07-15 Lucent Technologies Inc. Adaptive routing system and method for QOS packet networks
IL135156A0 (en) * 1999-03-19 2001-05-20 Ibm Message broker providing a publish/subscribe service and method of processing messages in a publish/subscribe environment
US7117273B1 (en) 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US7120453B2 (en) 2000-04-18 2006-10-10 Lucent Technologies Inc. Paging of mobile hosts on an internet protocol network
US6363182B2 (en) * 2000-07-31 2002-03-26 James D. Mills Optical switch for reciprocal traffic
US7403980B2 (en) 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
US6697206B2 (en) 2000-12-19 2004-02-24 Imation Corp. Tape edge monitoring
US20020116397A1 (en) 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US7155515B1 (en) * 2001-02-06 2006-12-26 Microsoft Corporation Distributed load balancing for single entry-point systems
US6816493B2 (en) 2001-03-09 2004-11-09 Motorola, Inc. Method and apparatus employing a mediation device to facilitate communication among devices in an asynchronous communications network
US7380017B2 (en) 2001-05-03 2008-05-27 Nortel Networks Limited Route protection in a communication network
US7251222B2 (en) 2001-05-15 2007-07-31 Motorola, Inc. Procedures for merging the mediation device protocol with a network layer protocol
US6944785B2 (en) 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7111074B2 (en) 2001-07-24 2006-09-19 Pluris, Inc. Control method for data path load-balancing on a data packet network
US7512676B2 (en) 2001-09-13 2009-03-31 Network Foundation Technologies, Llc Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network
US7362709B1 (en) 2001-11-02 2008-04-22 Arizona Board Of Regents Agile digital communication network with rapid rerouting
JP3951671B2 (ja) * 2001-11-02 2007-08-01 オムロン株式会社 センサ管理装置、センサネットワークシステム、情報処理プログラム、および該プログラムを記録したコンピュータ読み取り可能な記録媒体
US7203743B2 (en) 2001-12-28 2007-04-10 Nortel Networks Limited Hierarchical tree-based protection scheme for mesh networks
JP3963728B2 (ja) 2002-01-22 2007-08-22 富士通株式会社 スパニングツリーのバイパス方法および装置
US7213246B1 (en) 2002-03-28 2007-05-01 Veritas Operating Corporation Failing over a virtual machine
JP3715596B2 (ja) * 2002-07-11 2005-11-09 富士通株式会社 広域負荷分散制御システム
US7254109B2 (en) 2002-07-12 2007-08-07 Baypackets, Inc. Fault tolerant correlation engine method and system for telecommunications networks
US7185067B1 (en) 2002-08-27 2007-02-27 Cisco Technology, Inc. Load balancing network access requests
US20040103193A1 (en) * 2002-11-08 2004-05-27 Pandya Suketu J. Response time and resource consumption management in a distributed network environment
US7395536B2 (en) 2002-11-14 2008-07-01 Sun Microsystems, Inc. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
US7137040B2 (en) 2003-02-12 2006-11-14 International Business Machines Corporation Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters
US7353276B2 (en) 2003-02-13 2008-04-01 Microsoft Corporation Bi-directional affinity
JP2004341776A (ja) * 2003-05-15 2004-12-02 K Solution:Kk 遠隔データ収録および制御装置
US20040260745A1 (en) 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US7590736B2 (en) 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7167865B1 (en) 2003-06-30 2007-01-23 Mvalent, Inc. Collaborative environment for producing software products
US8307112B2 (en) * 2003-07-31 2012-11-06 Cloudsoft Corporation Limited Mediated information flow

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999023784A2 (en) * 1997-10-31 1999-05-14 Oracle Corporation Distributed web application server
WO2003019370A2 (en) * 2001-08-23 2003-03-06 Sphera Corporation A method and system for balancing the load of a computer resource among computers
US6617877B1 (en) * 2002-03-01 2003-09-09 Xilinx, Inc. Variable data width operation in multi-gigabit transceivers on a programmable logic device
JP2003283541A (ja) * 2002-03-26 2003-10-03 Mitsubishi Electric Corp 通信処理装置
JP2004194072A (ja) * 2002-12-12 2004-07-08 Nec Corp 無線アクセスネットワークの制御方法および無線アクセスネットワーク
WO2005013554A2 (en) * 2003-07-31 2005-02-10 Enigmatec Corporation Self-managed mediated information flow
JP2005311749A (ja) * 2004-04-22 2005-11-04 Mitsubishi Electric Corp 二重化ネットワーク制御システム
JP2005210756A (ja) * 2005-04-08 2005-08-04 Hitachi Ltd ネットワーク監視方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128738A (ja) * 2009-12-16 2011-06-30 Nec Corp データストリーム処理システム及び方法、処理ノード再配置装置及びプログラム

Also Published As

Publication number Publication date
EP2030414A1 (en) 2009-03-04
GB2439195B (en) 2008-09-17
US20120209980A1 (en) 2012-08-16
GB2439195A (en) 2007-12-19
GB2439195B8 (en) 2011-01-19
US8266321B2 (en) 2012-09-11
US8812729B2 (en) 2014-08-19
GB2439195A8 (en) 2011-01-19
JP2012043448A (ja) 2012-03-01
JP5450547B2 (ja) 2014-03-26
WO2007144611A1 (en) 2007-12-21
GB0711340D0 (en) 2007-07-25
US20080016198A1 (en) 2008-01-17
EP2030414B1 (en) 2018-04-04

Similar Documents

Publication Publication Date Title
JP5450547B2 (ja) 自己管理型分散メディエーションネットワーク
US10567303B2 (en) System and method for routing service requests
Zhang et al. A Scalable Publish/Subscribe Broker Network Using Active Load Balancing
JP4588704B2 (ja) 自己管理仲介情報フロー
US10367852B2 (en) Multiplexed demand signaled distributed messaging
Marconett et al. Flowbroker: A software-defined network controller architecture for multi-domain brokering and reputation
Cugola et al. Minimizing the reconfiguration overhead in content-based publish-subscribe
US8176200B2 (en) Distributed aggregation on an overlay network
KR20100113098A (ko) 전개 계획 제공 방법 및 컴퓨터 판독가능 저장 매체
Cheung et al. Dynamic load balancing in distributed content-based publish/subscribe
US20230164071A1 (en) Multi-tier deterministic networking
Latif et al. Resource discovery and scalability-aware routing in cloud federation using distributed meta-brokering paradigm
Yang et al. A reinforcement learning based data storage and traffic management in information-centric data center networks
KR102119456B1 (ko) 분산 클라우드 환경에서의 분산 브로커 코디네이터 시스템 및 방법
Kim et al. Dynamic computation and network chaining in integrated SDN/NFV cloud infrastructure
Buzachis et al. An innovative MapReduce-based approach of Dijkstra’s algorithm for SDN routing in hybrid cloud, edge and IoT scenarios
US8307112B2 (en) Mediated information flow
Anbiah et al. An online distributed approach to network function placement in nfv-enabled networks
CN113810313B (zh) 分布式会话报文的处理方法及处理装置
WO2023238284A1 (ja) 管理システム、管理方法、及び、管理プログラム
Repantis et al. Alleviating hot-spots in peer-to-peer stream processing environments
Guo Collaborative Management of Correlated Shuffle Transfer
Spetka et al. Information management for high performance autonomous intelligent systems
Inaba et al. A Self-Organized Overlay Network Management Mechanism for Heterogeneous Environments
An et al. An Autonomous and Dynamic Coordination and Discovery Service for Wide-Area Peer-to-peer Publish/Subscribe

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110107

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110310

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110408

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110517