JP4502815B2 - トラフィック・パターン認識に基づくWebサイト・トラフィックのコロケーションおよびオフロードのための装置および方法 - Google Patents

トラフィック・パターン認識に基づくWebサイト・トラフィックのコロケーションおよびオフロードのための装置および方法 Download PDF

Info

Publication number
JP4502815B2
JP4502815B2 JP2004558090A JP2004558090A JP4502815B2 JP 4502815 B2 JP4502815 B2 JP 4502815B2 JP 2004558090 A JP2004558090 A JP 2004558090A JP 2004558090 A JP2004558090 A JP 2004558090A JP 4502815 B2 JP4502815 B2 JP 4502815B2
Authority
JP
Japan
Prior art keywords
websites
traffic
website
threshold
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004558090A
Other languages
English (en)
Other versions
JP2006518887A (ja
JP2006518887A5 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006518887A publication Critical patent/JP2006518887A/ja
Publication of JP2006518887A5 publication Critical patent/JP2006518887A5/ja
Application granted granted Critical
Publication of JP4502815B2 publication Critical patent/JP4502815B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • 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/101Server selection for load balancing based on network conditions
    • 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/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1021Server selection for load balancing based on client or server locations
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、トラフィック・パターン認識に基づくWebサイト・トラフィックのコロケーション(co-location)およびオフロードのための装置および方法を対象とする。より具体的には、本発明は、Webサイトのプロファイルを作成し、どのWebサイトをコロケーションしなければならないかならびに他のサーバへのWebトラフィックのオフロードをいつ実行しなければならないかを判別するための装置および方法を対象とする。
インターネットおよびそのアプリケーションの人気の増大により、サービス品質(QoS:Quality of Service)を提供するためのリソースの割振りはより困難になっている。リソース割振りの問題の複雑さは、インターネット・インフラストラクチャおよびアプリケーションの異種性ならびにユーザの振る舞いによって悪化している。
リソース割振り問題に対する手法の1つは、他のエンティティからリソースを借りることによって任意の所与のエンティティに関するピーク負荷条件を処理できるように、Webサイトなどの複数のエンティティ間でWebサーバなどのリソースを共用することである。このようなメカニズムは往々にしてコロケーションと呼ばれる。このパラダイムにおける重要な問題は、リソース共用のためのWebサイトのクラスタ化に関係がある。すなわち、どのWebサイトがリソースを共用しなければならないかを識別することは、困難かつ不正確な手動プロセスである場合が多い。
もう1つの手法は、コロケーションに対する補足的なものであり、あるエンティティ用の作業を外部リソース(exogenous resources)に動的にオフロードすることからなる。オフロードにより、現在、過負荷状態になっている特定のWebサーバ向けのWebサイト・トラフィックは、そのトラフィックの処理を扱うために他のサーバにリダイレクトされる。オフロードの重要な問題は、作業をオフロードする場所と時期を決定することである。作業をオフロードする場所と時期を決定するための既知のメカニズムは概して、作業の一部を他のサーバに送ることによりワークロードのバランスを取らなければならないかどうかを判別するために現在の状態情報を使用する、ロード・バランシングの分野に該当する。このようなワークロード・バランシング・メカニズムは、反応性(reactionary)のものであり、サーバが過負荷になる前にオフロードを開始するために既知のトラフィック・パターンを使用しない。
したがって、どのWebサイトをコロケーションしなければならないかならびにWebサイトへのトラフィックをいつ他のWebサーバにオフロードしなければならないかを判別するための改良された装置および方法を有することは有益になるであろう。
1984年にSpringer−Verlagから発行され、Ausiello、Lucertini、およびSerafiniによって編集されたAlgorithm Design for Computer System Designに掲載されたE. G. Coffman, Jr.他の「Approximation Algorithms for Bin−Packing −− An Updated Survey」 1974年にJournal of Computer and System Sciences 8の272〜314ページに掲載されたDavid S. Johnsonによる「Fast Algorithms for Bin Packing」 1994年にIMS Lecture Notes − Monograph Series、vol.23に掲載されたCarlstein他による「Change−Point Problems」
本発明は、Webサイトへのトラフィックの到着を特徴付けるテンプレートに基づいて、Webサイトへのトラフィック・パターンを識別するための装置および方法を提供する。これらのテンプレートに基づいて、リソース割振りを最適化するために、どのWebサイトをコロケーションしなければならないかに関する判別が行われる。具体的には、そのテンプレートが補足的なものである、すなわち、第1のWebサイトが時間t1で到着トラフィックのピークを有し、第2のWebサイトが時間t1で到着トラフィックのトラフを有するWebサイトがコロケーション用の候補として指定される。
加えて、本発明は、トラフィックを他のサーバにオフロードするためのしきい値を決定するために、Webサイトのトラフィック・パターンについて識別されたテンプレートを使用する。これらのしきい値は、オフロードを実行しなければならない第1のしきい値と、オフロードを開始するために必要な進み時間(lead time)を考慮する第2のしきい値と、他のサーバへのトラフィックのオフロードをすべて停止するために必要な遅れ時間(lag time)を考慮する第3のしきい値とを含む。
本発明の上記その他の特徴および利点は、以下の好ましい実施形態の詳細な説明に記載されるか、または以下の好ましい実施形態の詳細な説明を考慮して当業者にとって明らかなものになるであろう。
本発明の好ましい実施形態は分散データ処理環境で実現され、その環境ではトラフィック・データがコンパイルされ、Webサイトのプロファイル作成、クラスタ化、およびカテゴリ化に使用される。本発明は分散データ処理環境で実現されるので、本発明が機能するコンテキストを提供するために、まず、この環境の簡単な説明を提供する。
次に図面に関して説明すると、図1は、本発明を実現可能なデータ処理システムのネットワークの図表現を図示している。ネットワーク・データ処理システム100は、本発明を実現可能なコンピュータのネットワークである。ネットワーク・データ処理システム100はネットワーク102を含み、このネットワークは、ネットワーク・データ処理システム100内に一緒に接続された様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用されるメディアである。ネットワーク102は、ワイヤ、ワイヤレス通信リンク、または光ファイバ・ケーブルなどの接続部を含むことができる。
図示した例では、サーバ104は、ストレージ・ユニット106とともにネットワーク102に接続されている。加えて、クライアント108、110、および112はネットワーク102に接続されている。これらのクライアント108、110、および112は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータにすることができる。図示した例では、サーバ104は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータをクライアント108〜112に提供する。クライアント108、110、および112はサーバ104に対するクライアントである。ネットワーク・データ処理システム100は、図示していない追加のサーバ、クライアント、およびその他のデバイスを含むことができる。
図示した例では、ネットワーク・データ処理システム100は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP:Transmission Control Protocol/Internet Protocol)というプロトコル・スイートを使用して互いに通信するネットワークとゲートウェイの世界的な集合を表すネットワーク102を備えたインターネットである。インターネットの中心には、データおよびメッセージを経路指定する何千もの商用、官用、教育用、およびその他のコンピュータ・システムからなる、メジャー・ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンがある。当然のことながら、ネットワーク・データ処理システム100は、たとえば、イントラネット、ローカル・エリア・ネットワーク(LAN:local area network)、または広域ネットワーク(WAN:wide area network)など、いくつかの異なるタイプのネットワークとして実現することもできる。図1は、一例としてのものであり、本発明に関するアーキテクチャ上の制限としてのものではない。
図2を参照すると、図1のサーバ104などのサーバとして実現可能なデータ処理システムのブロック図が本発明の好ましい実施形態により図示されている。データ処理システム200は、システム・バス206に接続された複数のプロセッサ202および204を含む対称型マルチプロセッサ(SMP:symmetric multiprocessor)システムにすることができる。代わって、シングル・プロセッサ・システムを使用することもできる。また、システム・バス206には、ローカル・メモリ209へのインターフェースを提供するメモリ・コントローラ/キャッシュ208も接続されている。入出力バス・ブリッジ210は、システム・バス206に接続され、入出力バス212へのインターフェースを提供する。メモリ・コントローラ/キャッシュ208と入出力バス・ブリッジ210は、図示した通り、統合することができる。
入出力バス212に接続された周辺装置相互接続(PCI:peripheral component interconnect)バス・ブリッジ214は、PCIローカル・バス216へのインターフェースを提供する。PCIローカル・バス216には、いくつかのモデムを接続することができる。典型的なPCIバス実現例は、4つのPCI拡張スロットまたはアドイン・コネクタをサポートすることになる。図1のクライアント108〜112への通信リンクは、アドイン・ボードによりPCIローカル・バス216に接続されたモデム218およびネットワーク・アダプタ220により提供することができる。
追加のPCIバス・ブリッジ222および224は追加のPCIローカル・バス226および228用のインターフェースを提供し、それにより追加のモデムまたはネットワーク・アダプタをサポートすることができる。このように、データ処理システム200は複数のネットワーク・コンピュータへの接続を可能にする。また、入力バス212には、図示した通り、直接または間接に、メモリマップ・グラフィックス・アダプタ230およびハード・ディスク232も接続することができる。
当業者であれば、図2に図示したハードウェアが変化する可能性があることが分かるであろう。たとえば、図示したハードウェアに加えてまたはその代わりに、光ディスク・ドライブなどの他の周辺装置も使用することができる。図示した例は、本発明に関するアーキテクチャ上の制限を示すものではない。
図2に図示したデータ処理システムは、たとえば、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ社の製品であり、拡張対話式エグゼクティブ(AIX:Advanced Interactive Executive)オペレーティング・システムまたはLINUXオペレーティング・システムを実行するIBM eServer pSeriesシステムにすることができる。
次に図3に関して説明すると、本発明を実現可能なデータ処理システムを示すブロック図が図示されている。データ処理システム300はクライアント・コンピュータの一例である。データ処理システム300は、周辺装置相互接続(PCI)ローカル・バス・アーキテクチャを使用する。図示した例はPCIバスを使用しているが、アクセラレイテッド・グラフィックス・ポート(AGP:Accelerated Graphics Port)およびインダストリー・スタンダード・アーキテクチャ(ISA:Industry Standard Architecture)などの他のバス・アーキテクチャを使用することもできる。
プロセッサ302およびメイン・メモリ304は、PCIブリッジ308によりPCIローカル・バス306に接続されている。また、PCIブリッジ308は、プロセッサ302用の統合メモリ・コントローラおよびキャッシュ・メモリも含むことができる。PCIローカル・バス306への追加の接続は、直接コンポーネント相互接続によるかまたはアドイン・ボードにより行うことができる。図示した例では、ローカル・エリア・ネットワーク(LAN)アダプタ310、SCSIホスト・バス・アダプタ312、および拡張バス・インターフェース314は直接コンポーネント接続によりPCIローカル・バス306に接続されている。対照的に、オーディオ・アダプタ316、グラフィックス・アダプタ318、およびオーディオ/ビデオ・アダプタ319は、拡張スロットに挿入されたアドイン・ボードによりPCIローカル・バス306に接続されている。拡張バス・インターフェース314は、キーボードおよびマウス・アダプタ320、モデム322、および追加のメモリ324用の接続部を提供する。小型コンピュータ・システム・インターフェース(SCSI:small computer system interface)ホスト・バス・アダプタ312は、ハード・ディスク・ドライブ326、テープ・ドライブ328、およびCD−ROMドライブ330用の接続部を提供する。典型的なPCIローカル・バス実現例は、3つまたは4つのPCI拡張スロットまたはアドイン・コネクタをサポートすることになる。
オペレーティング・システムは、プロセッサ302上で実行され、図3のデータ処理システム300内の様々なコンポーネントを調整し制御するために使用される。オペレーティング・システムは、マイクロソフト社から入手可能なWindowsXPなどの市販のオペレーティング・システムにすることができる。Javaなどのオブジェクト指向プログラミング・システムは、オペレーティング・システムに併せて実行し、データ処理システム300上で実行されるJavaプログラムまたはアプリケーションからオペレーティング・システムへの呼出しを提供することができる。「Java」はサン・マイクロシステムズ社の商標である。オペレーティング・システム、オブジェクト指向オペレーティング・システム、およびアプリケーションまたはプログラムに関する命令は、ハード・ディスク・ドライブ326などのストレージ・デバイス上に位置し、プロセッサ302による実行のためにメイン・メモリ304にロードすることができる。
当業者であれば、図3に図示したハードウェアが実現例に応じて変化する可能性があることが分かるであろう。図3に図示したハードウェアに加えてまたはその代わりに、フラッシュ読取り専用メモリ(ROM)、同等の不揮発性メモリ、または光ディスク・ドライブなどのその他の内部ハードウェアまたは周辺装置を使用することができる。また、本発明のプロセスは、マルチプロセッサ・データ処理システムに適用することもできる。
他の例として、データ処理システム300は、何らかのタイプのネットワーク通信インターフェースを当てにせずにブート可能になるように構成されるスタンドアロン・システムにすることができる。さらに他の例として、データ処理システム300は、オペレーティング・システム・ファイルあるいはユーザ生成データまたはその両方を保管するための不揮発性メモリを提供するために、ROMあるいはフラッシュROMまたはその両方とともに構成される、携帯情報端末(PDA:personal digital assistant)装置にすることができる。
図3に図示した例および上述の例は、アーキテクチャ上の制限を示すものではない。たとえば、データ処理システム300は、PDAの形を取ることに加えて、ノートブック・コンピュータまたはハンドヘルド・コンピュータにすることもできる。また、データ処理システム300は、キオスクまたはWebアプライアンスにすることもできる。
前述の通り、本発明は、Webサイトをカテゴリ化するためのメカニズムを提供する。このようなカテゴリ化は、ワークロードの特徴付け、パフォーマンスのモデル化、ワークロードおよびパフォーマンスの予測、キャパシティ・プランニングなどで使用するためのサポート機能である。基本的に、これらの様々な機能のそれぞれは、リソース使用状況を最適化し、所定のレベルのサービスをクライアント・デバイスに与えるためにWebサイトが経験するトラフィックを処理するために使用可能なリソースが十分あることを確認することを対象とする。本発明によるWebサイトのカテゴリ化は、上記のその他の機能で使用するためのWebサイトの正確なモデル化を保証するための重要なサポート機能になる可能性がある。
本発明の基本部分は、ワークロードの特徴付け、パフォーマンスのモデル化、ワークロードおよびパフォーマンスの予測、およびキャパシティ・プランニングの問題の解決を支援するために活用可能なトラフィック特性のパターンをWebサイトが反復しているという発見である。これらのパターンは、ヒット数、バイト数、ページ・ビュー数、アクセス数、アクセスあたりのヒット数、アクセスあたりのページ・ビュー数、ページ・ビューあたりの秒数、アクセスあたりの秒数など、様々な異なる尺度について存在する可能性がある。その上、これらのパターンは、月次、週次、日次、毎時などを含む様々な時間目盛りについて存在する可能性がある。トラフィック特性の反復パターンを例証するために、複数の例示的な商用Webサイトに関し1週間の時間間隔の間の1時間あたりのヒット数について考慮する。
図4〜6は、例示的な商用Webサイトに関し1週間という期間の間の毎時ヒット数の例示的な図である。図4〜6に示したプロットでは、曜日ごとのクライアント・デバイスからの着信要求パターンを特徴付けるために、1時間あたりのヒット数という尺度が使用されている。
図4〜6により分かるように、他の曜日に対して土曜日と日曜日に要求レート(ヒット数とページ数の両方)の大幅な低下が発生する日次アクセス・パターンを多数のWebサイトが示している。種々の業界にわたるWebサイトのいくつかでは往々にして、図4および図5の1番目のプロット410、3番目のプロット420、9番目のプロット430、および11番目のプロット440に図示した通り、明確な週末パターンを有し、週末に要求レートの著しい低下が発生している。450などのその他のWebサイトでは、より弱いが依然として優勢な週末パターンを有し、週末における要求レートの低下はそれほど著しくない。460などのさらに他のWebサイトでは、いかなる週末パターンも示していない。
種々の時間目盛り、たとえば、日次、週次、月次に関するトラフィック・データならびに要求パターンのその他の尺度、たとえば、バイト数、ページ・ビュー数、アクセス数、アクセスあたりのヒット数などに関するトラフィック・データでは、同様のパターンが優勢である。図7〜9は、様々な尺度に関し図4〜6の例示的な商用Webサイトのいくつかの日次時系列プロットの例示的な図である。図7〜9により、これらの他の尺度でもWebサイトについて程度が変化する週末効果が存在することが分かる。また、週末パターンを有する特定のWebサイトでは、要求尺度が1週間ごとにあまり変化しない、非常に一貫性のある週単位の振る舞いも示している。
要するに、図4〜6および図7〜9に示した経験データにより、多くのWebサイトがそれぞれのトラフィック・パターンを経験することは明確なことである。上記の経験特性に加えて、Webサイトのトラフィックについて種々の時間目盛りでユーザ要求パターンの最も複雑な特性のいくつかを識別し検査するために、様々な統計尺度を使用することができる。このような特性としては、たとえば、トラフィック変動性およびピーク対平均比を含み、これらはあまり目立たず、時系列データから計算できるだけである。
要求時系列の変動性のいくつかの有用な態様は、要求ボリューム全体の変動係数(CV:coefficient of variation)、すなわち、平均に対する標準偏差の比率によって検査することができる。たとえば、図10は、例示的な商用Webサイトで発生する種々の尺度に関する日次平均の関数として示す、これらの尺度の日次変動係数の例示的な図である。図10により、ある尺度(たとえば、日次アクセス数プロット610)では、種々のサイトが示す変動性はまったく異なるが日次平均は同様であり、他の尺度(たとえば、アクセスあたりの日次ページ・ビュー数620)では、種々のサイトが示す変動性は同様であるが日次平均は異なることが分かる。
要求パターンのバースト性(burstiness)に関するおおざっぱな尺度の1つは、特定の時間間隔の間のピーク対平均要求レートの比率である。この尺度は、平均要求ボリュームに対するピーク要求ボリュームを定量化するものである。図11は、例示的な商用Webサイトで発生する種々の尺度に関する日次平均の関数として示す、これらの尺度の日次ピーク対平均比の例示的な図である。図11により、図10と同様の振る舞いが観察され、すなわち、様々な尺度の統計特性が異なると非常に異なる結果が得られる。
したがって、上記の経験および統計データ分析の結果は、Webサイトがそれぞれのトラフィック・パターンを経験することを明確に示しているが、これらの結果のほとんどは、クラスタ化、プロファイル作成、および分類のための基礎として、単独では容易に活用可能ではない。本発明は、ワークロードの特徴付け、パフォーマンスのモデル化、ワークロードおよびパフォーマンスの予測、およびキャパシティ・プランニングで使用するためのWebサイトの正確なモデルを生成するために、これらのトラフィック・パターンを活用するためのメカニズムを提供する。
本発明は、Webサイトのクラスタ化、プロファイル作成、および特徴付けという3つの基本コンポーネントに分割することができる。Webサイトを特徴付ける第1のステップは、これらのWebサイトについて入手したトラフィック・データに基づいてWebサイトのクラスタを生成することである。クラスタを識別すると、各クラスタまたはクラスのプロファイルを作成して、そのクラス用のテンプレートを入手する。その後、あるWebサイトについて新しいトラフィック・データを入手すると、そのWebサイトを既知のクラスの1つにカテゴリ化するために、クラスについて確立されたテンプレートに照らし合わせてそのトラフィック・データを比較することができる。代わって、その比較の結果として、そのWebサイトが既知のクラスのいずれとも十分異なる場合、そのWebサイトのトラフィック・データを使用して、新しいクラスを生成することができる。次に、そのWebサイトについて使用可能なリソースを最適化するために、この分類を使用して、ワークロードの特徴付け、パフォーマンスのモデル化、ワークロードおよびパフォーマンスの予測、およびキャパシティ・プランニングなどの機能を実行することができる。
前述の通り、本発明の動作における第1のステップは、複数のWebサイトからトラフィック・データを入手し、そのトラフィック・データに基づいてWebサイトをクラスタ化することである。クラスタ化は、Webサイトをクラスタ化するために使用すべきトラフィック・データの尺度を選択することと、次にWebサイトのそれぞれについて、この選択した尺度に関してトラフィック・データのテンプレートを識別することを含む。次に、所与の許容範囲内で互いに最も似ている複数テンプレートのグループを識別するクラスタ化アルゴリズムを使用して、テンプレートをクラスタ化する。これらのグループまたはクラスは、プロファイル作成および分類を実行するために使用することになるWebサイトのクラスタである。
前述の通り、クラスタ化を実行するために使用されるトラフィック・データの特定の尺度は、クラスタ化を実行する前に選択しなければならない。使用する尺度データのサブセットに応じて、異なるクラスタ化結果を入手することができる。たとえば、ロード/要求パターン、ユーザ・ナビゲーション・パターン、サイト・ハイパーテキスト構造などに応じて、Webサイトをクラスタ化することができる。これらのクラスタ化はそれぞれ異なり、互いに直交するものと見なすことができる。本発明により実行される特定のクラスタ化は、本発明の特定の実現例および本発明のユーザにとって最も重要である尺度に基づいて選択することができる。
本発明の例示的な一実施形態では、ロード・パターンに応じてクラスタ化が実行される。このため、着信要求トラフィック・パターンを特徴付けるための代表的なトラフィック・データとして、1時間あたりのヒット数を使用する。図12は、この例示的な実施形態により、Webサイトをクラスタ化する際に使用するための例示的な商用Webサイトから収集した1日の間の1時間あたりの要求数を示す例示的な図である。
クラスタ化を実行するために使用すべきトラフィック・データの尺度を選択すると、次にトラフィック・データを分析して、この選択した尺度に関してトラフィック・データのテンプレートまたは典型的な形状を識別する。このテンプレートは本質的に、選択した尺度に関する時系列データ値または選択した尺度に関するこの時系列データ値の関数である。
本発明のこの例示的な実施形態では、あるWebサーバで発生する毎時要求パターン・プロファイルの加重平均を表す加重平均要求パターンli(h)をそのWebサイト用のテンプレートとして使用する。加重平均要求パターンli(h)は以下の式を使用して求める。
Figure 0004502815
式中、xi(h,d)は、i番目のWebサーバがd日のh時に受信する経験データからの要求の数を示し、h=0,1,・・・,nであり、重みai(d)は、異なる複数の日のワークロードが同じ平均に正規化されるようにサイトiのd日に関する重みである。その上、この例示的な実施形態では、ピーク負荷レジーム(regime)はWebサーバ・パフォーマンスにより重大な影響を及ぼすので、クラスタ化の焦点になると判断される。したがって、各加重平均要求パターンはその最大値によって正規化され、そのピーク時トラフィック・パターンは以下のように定義される。
Figure 0004502815
式中、mi=maxh{li(h)}である。
ピーク時パターン間の非相似性尺度(dissimilaritymeasure)は以下のように定義される。
Figure 0004502815
式中、hdは、たとえば、時間帯の差を有する異なるWebサーバからの2つのトラフィック・パターンを比較するときに必要な毎時シフトとして使用される。この非相似性尺度は、Webサイトiの正規化加重平均要求パターンと、時間帯の差がある場合にその差を補償するためにシフトされたWebサイトjの正規化加重平均要求パターンとの最大差の最小値である。この非相似性尺度は、Webサイトのクラスにパターンをクラスタ化するために、互いに最も似ている正規化加重平均要求パターンを識別するために使用される。
この例示的な実施形態では、非相似性尺度に基づいて正規化加重平均要求パターンをクラスタ化するために、完全リンケージ(linkage)または最遠隣接(furthestneighbor)アルゴリズムが使用される。すなわち、第1のステップでは、各パターンがそれ自体のクラスタを表し、これらのパターン間の距離は上記の式3で示される非相似性尺度によって定義される。次に、最小距離を有する2つのパターンがまとめてリンクされる。この新しいクラスタと残りのクラスタ(または個別パターン)との距離は、それぞれのクラスタ内の任意の2つのパターン間の最大距離によって、すなわち、最遠隣接によって定義される。この結果、アルゴリズムは、後続ステップで、もっと多くのパターンをまとめてリンクし、所定のしきい値内でもっと大きいクラスタを集約し始める。
この例示的な実施形態では、完全リンケージ・アルゴリズムでしきい値を使用して、図12に示した要求パターンが4つの別個のクラスにクラスタ化される。図13は、図12のWebサイトがクラスタ化される4つの別個の要求パターン・クラス用のパターンを示す例示的な図である。図13により、様々なクラスについて以下の観察を行うことができる。クラス1のパターンの場合、要求トラフィック・ロードは正午までにピーク・レベルまで増加し、その後、午後に著しく低下する。これは、毎日の天気予報のチェックのように、このようなWebサイトに関するユーザの関心がより瞬間的であることを示唆している。そのWebサイトは主としてそのローカル・エリアで人気がある。
クラス2のパターンの場合、要求トラフィック・ロードは正午にピーク・レベルまで増加し、午後に高い状態を保持し続けるが、晩に非常に低くなる。これは、ユーザが主として勤務時間中にこれらのWebサイトに関する関心を示すことを示唆している。クラス3のパターンの場合、要求トラフィック・ロードは正午をいくらか過ぎてピーク・レベルまで増加し、午後の大半の間、高い状態を保持する。晩には、ユーザは、これらのWebサイトに関する関心をある程度示し続ける。
クラス4のパターンの場合、要求トラフィック・ロードは正午前から晩までの長期間にわたって高レベルを保持する。これは、ユーザのほとんどが勤務時間中かまたは自分の余暇にこれらのWebサイトにアクセスすることと、ユーザがおそらく国中さらに世界中に広がっていることを示唆している。
これらの異なるクラスのそれぞれに該当するWebサイトの特性についてこのような観察を行うことにより、後でこれらのクラスの1つに分類されるWebサイトの使用法を予測することは可能である。したがって、このような予測により、そのWebサイトが経験すると思われるトラフィックを処理するために、様々な尺度を使用することができる。
したがって、本発明の好ましい一実施形態により、Webサイトのクラスタ化は、複数のWebサイトに関するトラフィック・データを入手することと、クラスタ化の基礎として使用するためにトラフィック・データの尺度を決定することと、選択した尺度によりトラフィック・データのパターンを識別することと、トラフィック・データに関する非相似性または相似性関係を定義することと、次にこの非相似性または相似性関係に基づいてWebサイトをクラスタ化するためにクラスタ化アルゴリズムを使用することを含む。これらのクラスタを識別すると、その後のWebサイトの分類とともに使用可能なクラスタ用のテンプレートを識別するためにクラスタのプロファイル作成を実行する。
プロファイル作成は、まずトラフィック・プロファイルの基礎になるメトリックを決定することを含む。例示的な一実施形態では、識別されたクラスのWebサイトに関するプロファイルを生成するために、加重平均ロードli(h)を使用する。あるクラスに関するプロファイルを生成する際に、そのクラスのすべてのメンバに最も似ている要求パターンとして定義される、そのクラス用のテンプレートを識別する。
あるクラス用のテンプレートを見つけるための手法の1つは、そのクラスのすべてのメンバを単純に平均することである。これはそのクラス用のテンプレートを入手するために実行することができるが、その結果は概して、そのクラス用のテンプレートとしてよい選択にはならない。というのは、そのクラスの外部メンバがこのテンプレートから離れているが、他のクラスのテンプレートに近くなる可能性があるからである。もう1つの基礎となる考慮事項は、種々のクラスについて定義されたテンプレートが互いに離れていなければならないことである。したがって、あるクラス用のテンプレートは、そのクラス内のすべてのメンバに対する最大差を最小限にするように定義される。
kはクラスkに属す要求パターンのセットを示すものと想定する。形状は似ているが、クラスk内のメンバ、すなわち、Webサイトは、実際には異なる時間帯内に位置するかまたはシフトされた振る舞いの任意の他のソースを含む可能性がある。したがって、テンプレートを定義するためには、まず、シフトしたときにすべてのメンバが最も近い形状を有するように正しいシフト・バイアス{hi d,icGk}を識別することが必要である。このようなシフト・バイアスは、以下の数式を介して解決することができる。
Figure 0004502815
すなわち、シフト{hi d,icGk}時に、そのクラスの任意の2つのメンバ間の最大差は最小限にならなければならない。例示的な一実施形態では、以下に示すようなシフト・アルゴリズムを使用して、この特定のシフトを識別することができる。この特定のシフトを識別するためのその他のアルゴリズムも、本発明の精神および範囲を逸脱せずに使用することができる。
例示的な一実施形態では、シフト・アルゴリズムは、このセット{hi d,icGk}が0〜23(時間単位で可能なシフト)の間の任意の整数になる第1のステップを含む。次に、以下のように、それぞれのicGkについて、シフト値hi dを更新する。
Figure 0004502815
次に、{hi d,icGk}が局所最適値(local optimum)に収束するまで、このステップを繰り返す。
したがって、シフト時にメンバiがそのクラスの他のすべてのメンバに近くなるように、それぞれのicGkについてhi dを選択する。次に、それ以上の改善がまったく得られなくなるまで、この手順を反復的に繰り返す。
最適シフト・バイアス{hi d,icGk}を識別すると、クラスkのテンプレートを以下のように定義する。
Figure 0004502815
この場合、h=0,1,・・・,23である。すなわち、このテンプレートは、そのクラスのすべてのメンバ用のパターンに最も似ているパターンである。図14は、本発明のクラスタ化およびプロファイル作成を使用して生成された図13の4つの要求パターン・クラス用の4つのテンプレートを示す例示的な図である。この同じクラスタ化およびプロファイル作成を経験データに適用すると、曜日、週、月など、異なるトラフィック効果について異なるテンプレートを生成することができる。たとえば、図15に示した通り、図4〜6のWebサイトに関する経験データに本発明のクラスタ化およびプロファイル作成を適用することにより生成された曜日パターンが示される。
上述のクラスタ化およびプロファイルを使用して生成された各種クラス用のテンプレートは、着信要求パターンを認識するために使用することができる。まず、このテンプレートを使用して、既存のサンプルを認識し、この認識の結果がクラスタ化と一貫しているかどうかをチェックする。その後、テンプレートに基づいて、要求パターンを要求のクラスと突き合わせる。この突き合わせにより、そのクラスの一部である残りのWebサイトの特性に基づいて、Webサイト・トラフィックの特定の特性を見分けることができる。
好ましくは、分類を実行するために、上記の式1および2を使用して、新たに収集したデータについて正規化ピーク時要求パターンを計算する。その後、好ましくは式3を使用して、着信要求パターン・データと4つのテンプレートに関するデータとの距離尺度を計算する。この距離尺度に基づいて、最も近い一致テンプレートを識別し、着信要求パターンを対応するクラスに分類することができる。
所定のテンプレートは可能な要求パターンをすべてカバーするわけではない可能性があるので、新しいタイプの要求パターンまたは異常要求パターンは、所定のテンプレートのすべてから離れる可能性があり、すなわち、最小距離がしきい値量より大きくなる。このような場合、新しい要求パターンは、新しい要求パターン・クラス用の新しいテンプレートとして追加することができる。
本発明によりWebサイトをクラスタ化し、プロファイル作成し、分類することにより、同じクラスに該当するWebサイトに基づいて、Webサイト・トラフィックに関する特性を識別することができる。この分類は、トラフィック予測、キャパシティ・プランニング、ホットスポット検出、動的オフロード、Webサイト・コロケーションなどを含む、多くの異なるタイプのアプリケーションとともに使用することができる。
トラフィック予測に関して、キャパシティ・プランニングの際に重要な問題の1つはワークロードの振る舞いの予測である。この予測メカニズムは、長期傾向、周期性、依存関係、および変動性という特性を捕捉する必要がある。単一技法を使用して、これらの要因をすべて捕捉することは困難である。したがって、より正確な手法は、マクロ・レベル統計とマイクロ・レベル統計の両方に関するハイブリッド技法を使用することになるであろう。長期傾向は線形回帰方法を使用して測定することができるが、種々のスケール(たとえば、月次、週次、日次など)の周期性は本発明のクラスタ化およびプロファイル作成技法を使用して処理することができる。
本発明のクラスタ化手法は、キャパシティ・プランニング・タスクを大幅に単純化することができる。本発明では、種々のクラスタ(またはクラス)のテンプレート(またはプロファイル)を使用して、各個別プロファイルごとのキャパシティ需要、倍率の影響、およびあるWebサーバ・ファーム、クラスタなどに含まれるサーバに関するプロファイルの混合を分析することができる。新しい顧客が現れると、必要であればキャパシティ要件を調整するように、本発明の分類技法を使用して、その新しい顧客のトラフィックが属すクラスタを決定することができる。同じように、特殊イベント、Webサイト再設計などのために、あるWebサイトによりクラスタが変化させられる場合、短期キャパシティ・プランニング決定を容易に調整することもできる。
特殊イベント、たとえば、e−commerce Webサイトの休日特売の場合、あるWebサイトでは大量に負荷がかかり、したがって、必要なサービス品質を達成するために特定の追加操作を必要とする可能性がある。このような操作の例としては、オフロードと、新しいリソースの追加を含む。このような特殊イベントは「ホットスポット」を表す。ホットスポット検出では、その目標は、ホットスポットを処理するための適切なメカニズムがトリガされるように、ホットスポットを検出することである。本発明のプロファイル作成手法では、テンプレートによって記述される典型的な振る舞いから現行ワークロードが著しく逸脱していることが観察されると、これらのホットスポットを検出することができる。
前述の通り、時には、ホットスポットが発生した場合などのサーバ過負荷を緩和するために、動的オフロード操作が必要になる。この動的オフロードを達成するための方法の1つは、余分な負荷の一部のオフロード先にすることができるサーバ(Akamaiサーバなど)に対するオフロード可能オブジェクト(イメージなど)の参照を含むWebページの新しいバージョンを作成(または異なるバージョンを使用)することである。本発明のテンプレートの適切な使用により、それを上回るトラフィックをオフロードしなければならないしきい値が何であるかを決定することは容易である。その上、このオフロード方式は、オフロード方式の遅れ時間を補償するために、サーバが飽和状態になる前に開始することができる。この新しいしきい値、すなわち、遅れ時間を補償するしきい値は、遅れ時間とともにテンプレートから決定することができる。
Webサイト・コロケーションでは、その目標は、残りのエンティティからリソースを借りることにより任意の所与のWebサイトのピーク負荷条件を処理できるように、複数のWebサイト間でリソースを共用することである。このパラダイムにおける重要な問題は、リソース共用のためのWebサイトのクラスタ化に関係する。観察されたトラフィック・テンプレートに基づいて、種々のサイトに関するピーク・レジームの形状ならびに種々の時間および種々の地理的時間帯における種々のトラフィック・ピークと谷を容易に識別することができる。その場合、最も平滑で可能な全体的ピーク負荷を入手するために、最適化ツールを使用して、いくつかのWebサイトにわたってロード・バランシングを達成することができる。この最適化問題は、項目がテンプレートになる一般的なビン詰め問題(bin packing problem)と見なすことができる。また、これは、整数計画法問題として公式化する(formulate)こともできる。
要求パターンに関して本発明の上記の諸実施形態を述べてきたが、本発明はこのようなものに制限されないことに留意されたい。むしろ、Webサイトに関する任意の尺度データを使用して、本発明のクラスタ化、プロファイル作成、および分類を実行することができる。たとえば、本発明は、サーバ使用状況データ、帯域幅消費データなどに作用することができる。
図16は、本発明によるWebサイト分類デバイスの例示的なブロック図である。図16に示した諸要素は、本発明の精神および範囲を逸脱せずに、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの任意の組合せで実現することができる。好ましい一実施形態では、Webサイト分類デバイスの諸要素は、1つまたは複数のプロセッサによって実行されるソフトウェア命令として実現される。
図16に示した通り、Webサイト分類デバイスは、コントローラ1110と、入出力インターフェース1120と、Webサイト・データ・ストレージ・デバイス1130と、クラスタ化エンジン1140と、プロファイル作成エンジン1150と、分類エンジン1160とを含む。これらの要素1110〜1160は、制御/データ信号バス1170を介して互いにやりとりしている。
コントローラ1110は、Webサイト分類デバイスの全体的な動作を制御し、他の要素1120〜1160の動作を調整する。コントローラ1110は、入出力インターフェース1120を介してWebサイトからWebサイト・トラフィック・データを受信し、このWebサイト・トラフィック・データをWebサイト・データ・ストレージ・デバイス1130に保管する。次にコントローラ1110は、それに関するデータがWebサイト・データ・ストレージ・デバイス1130に保管されるWebサイトをクラスタ化するようクラスタ化エンジン1140に指示する。
クラスタ化を実行し、そのWebサイトを特定のWebサイト・クラスに割り当てると、コントローラ1110は、それぞれのクラスについてテンプレートまたはプロファイルを生成するようプロファイル作成エンジン1150に指示する。クラスタ化およびプロファイル作成は、新しいWebサイト・トラフィック・データが使用可能になったときにWebサイト分類デバイスによって維持されるクラスタと、それに対応するテンプレートまたはプロファイルが更新されるように、周期的に実行することができる。代わって、新しいWebサイトからトラフィック・データを受信するたびに、この新しいWebサイトをWebサイト分類デバイスによって維持されるクラスタおよびテンプレートに含めるように、クラスタ化およびプロファイル作成を更新することができる。
新しいWebサイトからトラフィック・データを受信すると、Webサイト分類デバイスによって維持される様々なクラス用のテンプレートとそのトラフィック・データとを比較する。この比較により、新しいWebサイトに関するトラフィック・データに基づいて新しいクラスおよびテンプレートの作成を保証するように、新しいWebサイトに関するトラフィック・データが1つのクラス用のテンプレートに適合するかまたは全クラス用のすべてのテンプレートに十分似ていないかどうかに関する判別を行うことができる。新しいWebサイトに関するトラフィック・データのこの分類により、新しいWebサイトを特定のWebサイト・クラスに割り当てるか、または新しいWebサイトを使用してそれ自体のWebサイト・クラスを生成する。上記の通り、この分類は、ワークロードの特徴付け、パフォーマンスのモデル化、ワークロードおよびパフォーマンスの予測、キャパシティ・プランニングなどのリソース管理機能を実行するために種々のプロセスによって使用することができる。
図17は、本発明の例示的な動作の概略を示す流れ図である。図17に図示した通り、本発明の動作は、複数のWebサイトからWebサイト・トラフィック・データを受信することから始まる(ブロック1210)。次に、上述のクラスタ化技法を使用して、Webサイト・トラフィック・データをクラスタ化する(ブロック1220)。各クラスタまたはクラスごとにテンプレートまたはプロファイルを生成する(ブロック1230)。
次に動作は、新しいWebサイトからのトラフィック・データを待つ(ブロック1240)。次に、新しいWebサイトに関するトラフィック・データを受信したかどうかに関する判別を行う(ブロック1250)。受信していない場合、動作はブロック1240に戻り、新しいWebサイトからのトラフィック・データを待ち続ける。新しいWebサイトに関するトラフィック・データを受信した場合、既存のWebサイト・クラスに基づいて、新しいWebサイトに関するトラフィック・データを分類する(ブロック1260)。次に動作は終了する。
図18は、Webサイトをクラスタ化するための本発明の例示的な動作の概略を示す流れ図である。図18に示した通り、本発明のクラスタ化動作は、それによりクラスタ化を実行するためのトラフィック・データ尺度を選択することによって始まる(ブロック1310)。次に、選択したトラフィック・データ尺度に関してWebサイトのトラフィック・データのテンプレートを識別する(ブロック1320)。次に、クラスタ化アルゴリズムを使用して、テンプレートをクラスタ化する(ブロック1330)。
図19は、Webサイトのプロファイルを作成するための本発明の例示的な動作の概略を示す流れ図である。図19に示した通り、動作は、トラフィック・プロファイルの基礎になるメトリックを決定することから始まる(ブロック1410)。この選択したメトリックに基づいて、そのクラス内の各Webサイトのトラフィック・データ用のテンプレートを生成する(ブロック1420)。次に、必要であれば、シフト・バイアス量だけテンプレートをシフトして、種々の時間帯などの要因を補償する(ブロック1430)。次に、そのクラス内のWebサイト用のすべてのテンプレートに最も似ているプロファイルを選択することにより、プロファイルを生成する(ブロック1440)。この動作は、各Webサイト・クラスごとに実行することができる。
図20は、Webサイトを分類するための本発明の例示的な動作の概略を示す流れ図である。図20に示した通り、Webサイトを分類するための動作は、新しいWebサイトに関するトラフィック・データの受信から始まる(ブロック1510)。新しいWebサイトに関するトラフィック・データ用のテンプレートを生成し(ブロック1520)、そのテンプレートを既存のWebサイト・クラス用のテンプレートと比較する(ブロック1530)。一致テンプレートが識別されたかどうかに関する判別を行う(ブロック1540)。識別された場合、そのWebサイトを一致テンプレートに関連するクラスに分類する(ブロック1550)。識別されない場合、新しいクラス用のテンプレートを生成するための基礎として新しいWebサイトに関するトラフィック・データを使用して、新しいクラスを生成する(ブロック1560)。次に動作は終了する。
したがって、本発明は、そのトラフィック・データに基づくWebサイトのクラスタ化、プロファイル作成、および分類のためのメカニズムを提供する。本発明では、今後、最も経験しそうなワークロードを予測しプランニングする際に使用するために、それぞれが経験するトラフィックに関してWebサイト間の相似性を識別することができる。したがって、本発明は、それらがホストとして処理するWebサイトに関してWebサーバ用のリソース管理を実行できるツールを提供する。
上述のようなWebサイトのクラスタ化、プロファイル作成、および分類をリソース割振りに適用して、Webサイト・グループに関する最適化リソース割振りを入手することができる。本発明では、前述のメカニズムにより、あるWeb・サイト・グループ内のWebサイト用のテンプレートを入手すると、これらのテンプレートを使用して、グループ内のどのWebサイトがコロケーション用の候補であるかならびに他のWebサーバにいつトラフィックをオフロードしなければならないかを決定することができる。これらのコロケーションおよびオフロードの機能をさらに組み合わせて、これらのWebサイトにアクセスするクライアント・デバイスに必要なサービス品質(QoS)を提供するためにリソース割振りをさらに最適化することができる。
コロケーションでは、その目標は、Webサイトに関連するテンプレートに基づいて、種々の時間にトラフィックのピークおよびトラフを有するWebサイトをコロケーションすることである。すなわち、この目標は、かなり一貫しているリソース使用状況を入手するかまたは少なくともすべての期間において必要なサービス品質を提供するためにテンプレート同士が互いに補完する、2つまたはそれ以上のWebサイトに関するトラフィックを処理する単一サーバ(またはサーバ・スイート)を有することである。
解決できるコロケーション問題には、いくつかの変形がある。1つの例は、Webサーバが所与のトラフィック・キャパシティを備えていなければならないことである。これは、経験する可能性のある非正規トラフィック・ボリュームを処理するためにWebサーバ・プロバイダがすべての時期に特定のキャパシティを保持したいと希望する、典型的なケースである。
このタイプのコロケーション問題は、まずコロケーションに関して考慮中の各Webサイトに関するトラフィックのテンプレートを決定することにより、本発明によって解決される。このテンプレートは、Webサイトのトラフィック・ログから決定される。このテンプレートは、前述のクラスタ化メカニズム、プロファイル作成メカニズム、あるいは分類メカニズム、またはこれらの組合せにより入手することができる。
考慮中のそれぞれのWebサイト用のテンプレートを入手すると、整数計画法(IP:integer programming)問題を公式化する。この整数計画法問題は、Webサーバに対するWebサイトの割当てである決定変数を有する。この整数計画法問題の制約は、任意の時期に任意のサーバに関するキャパシティ制限である。目的関数は、種々のサーバにおけるサーバ・キャパシティとピーク負荷との最小距離の増加関数である。
この整数計画法問題を公式化した後、最適または近似アルゴリズムを使用してそれを解決する。整数計画法問題を解決するための標準的な方法およびアルゴリズムとしては、分岐限定法、切除平面アルゴリズム、LP緩和法などを含む。
たとえば、合計J台のサーバで供応しなければならないI個のサイトが存在し、それぞれがキャパシティCjを有し、j=1〜Jであると想定する。WebサイトiのトラフィックはテンプレートTi(t)によって特徴付けることができ、i=1〜Iであると仮定する。2進決定変数はxijであり、i=1〜Iおよびj=1〜Jであり、サイトiがサーバjに割り当てられる場合にxij=1になり、そうではない場合にxij=0になる。
次に、このコロケーション問題を以下の2進整数計画法問題として公式化することができ、その場合、bはターゲット使用状況である。
Figure 0004502815
式中、xijは2進整数である。
上記の手法では、目的関数は、たとえば、負荷の経験的変動など、他のロード・バランシング基準にすることもできる。また、ピーク負荷が特定の量だけサーバ・キャパシティより低くなるように、制約に何らかの遊びを採り入れることもできる。このようにして、要求の平均応答時間の上限が定められることになる。
コロケーション問題のもう1つの例は、異なるWebサービス業者が異なるコストを有し、少なくとも1つのWebサイトがそれに割り当てられた場合にコストが発生すると仮定した場合に、Webサーバの全コストを最小限にすることである。このケースでは、コロケーション問題は以下のように解決することができる。
コロケーション問題の前の変形と同様に、プロセスの第1のステップは、コロケーションに関して考慮中の各Webサイトに関するトラフィックのテンプレートを識別することである。テンプレートを識別すると、同じく決定変数がWebサーバに対するWebサイトの割当てになる整数計画法問題を公式化する。制約は、任意の時期に任意のサーバに関するキャパシティ制限である。しかし、目的関数は、少なくとも1つのWebサイトが割り当てられるすべてのWebサーバのコストの合計である。この整数計画法問題は、最適または近似アルゴリズムを使用して解決される。
コロケーション問題のこの変形の一例として、前述のケースを考慮するが、Webサーバjを使用するとPjというコストを要し、j=1〜Jであると仮定した場合に、その目標はWebサーバの全コストを最小限にすることになる。このようなケースでは、前の例の目的関数を以下の式で置き換える。
Figure 0004502815
式中、関数1(a)は、ステートメントが真である場合に1になり、そうではない場合に0になる。したがって、この2進整数計画法問題は以下のように公式化される。
Figure 0004502815
式中、xijは2進整数である。
上記の問題のより単純なバージョンは、サーバ・キャパシティが同一であり、サーバ・コストも同一であることである。このケースでは、この問題は、ビンがサーバであり、品目がトラフィック・テンプレートである、2次元ビン詰め問題になる。したがって、問題は以下のように解決することができる。
まず、すべてのコロケーション問題と同様に、コロケーションに関して考慮中のWebサイト用のテンプレートを識別する。次に、使用するビンの数を最小限にするという目標とともに、このビン詰め問題を公式化する。その後、高速または近似アルゴリズムを使用して、2次元ビン詰め問題を解決する。このような高速および近似アルゴリズムは当技術分野で既知のものであり、このような高速および近似アルゴリズムに関する詳細は、たとえば、1984年にSpringer−Verlagから発行され、Ausiello、Lucertini、およびSerafiniによって編集されたAlgorithm Design for Computer System Designに掲載されたE. G. Coffman, Jr.他の「Approximation Algorithms for Bin−Packing −− An Updated Survey」ならびに1974年にJournal of Computer and System Sciences 8の272〜314ページに掲載されたDavid S. Johnsonによる「Fast Algorithms for Bin Packing」で見つけることができる。
したがって、図21に示した通り、コロケーション問題の各変形により、Webサーバに対するWebサイトの割当てと、その結果、Webサイトのコロケーションを決定するための動作は、考慮中のWebサイト用のテンプレートを識別することによって始まる(ブロック1610)。次に、Webサイトの割振りに関する所望の最適化を実施する目的関数により、このコロケーション問題を整数計画法問題として公式化する(ブロック1620)。決定変数がWebサーバに対するWebサイトの割当てであり、制約が任意の時期に任意のサーバに関するキャパシティ制限であるように、整数計画法問題を公式化する。整数計画法問題を公式化すると、最適または近似アルゴリズムにより整数計画法問題を解決する(ブロック1630)。上記の通り、キャパシティおよびコストなどの特定の特性がすべてのサーバについて同一と見なされるときに、この整数計画法問題をビン詰め問題にすることができる。
前述の通り、本発明は、他のWebサイトへのトラフィックのオフロードにさらに適用することができる。オフロード・メカニズムは、あるWebサイトの負荷が重くなり、したがって、必要なサービス品質を達成するために特定の追加のサービス・キャパシティを必要とするときに、着信要求の一部をバックアップまたはその他の負荷が小さいサーバにリダイレクトすることを含む。オフロード・メカニズムがオンになると、たとえば、HTTPリダイレクト応答コード301または302を使用してクライアントのブラウザに異なるWebサーバでその要求を再試行させるか、またはWebサーバの前にIBM Network DispatcherあるいはCisco Global Directorのようなロード・バランシング・デバイスを配置し、本発明の制御下で種々の時期に種々のサーバに要求を送信するためのこのようなデバイスの能力を使用することにより、要求をリダイレクトすることができる。
重要な問題は、このように負荷が大きい状況を未然に検出または予測し、その結果、正しい時間にオフロード・メカニズムをトリガする方法に関係する。本発明によりオフロードするためのしきい値が付いたWebサイト用のテンプレートを示す図22に関連して、本発明によるオフロードについて説明する。
本発明によるオフロードにより、前述のようにWebサイトのトラフィック・ログから考慮中の各Webサイトに関するトラフィックのテンプレートを決定する。図22は、あるWebサイト用のこのような1つのテンプレートを示している。好ましい一実施形態では、時間単位あたりの要求の数に関してテンプレートを決定する。
サービス品質(QoS)基準を保証するために、それを上回るトラフィックの一部分をホームWebサーバからオフロードしなければならない第1のしきい値1710をトラフィック量に関して計算する。このしきい値1710は、全トラフィックの周辺分布およびオフロード可能なトラフィックの量に基づいて決定する。より正確には、h1がしきい値1710であり、aがオフロード可能なトラフィックの比率であり、E[So]およびE[Sno]がオフロード可能要求およびオフロード不能要求あたりの予想サービス要件であり、Cが考慮中のボトルネック・リソースのキャパシティであり、bがシステムによって保証する必要のあるQoSによって決定されるターゲット・リソース使用状況である場合、以下の式により第1のしきい値1710を決定することができる。
Figure 0004502815
上述のように第1のしきい値1710を計算すると、ローからハイへの遷移レジームにおけるトラフィック量に関して第2のしきい値1720を計算する。ハイからミディアムへの遷移レジームにおけるトラフィック量に関して第3のしきい値1730を計算する。第2のしきい値1720の計算は、動的オフロード・メカニズムの反応時間およびトラフィックの統計パターンに基づいて、しきい値1710に適合するように進み時間を考慮に入れる。同様に、第3のしきい値1730の計算は、動的オフロード・メカニズムの反応時間およびトラフィックの統計パターンに基づいて、遅れ時間を考慮に入れる。したがって、第2のしきい値1720はしきい値1710から進み時間を減算することによって計算することができ、第3のしきい値1730はしきい値1710に遅れ時間を加算することによって計算することができる。
テンプレートを識別し、しきい値を計算すると、ロー・レジームからハイ・レジームへおよびハイ・レジームからミディアム・レジームへのオンライン遷移を検出する。この検出は、いくつかの統計技法を使用して実行することができる。このような技法の1つは、着信トラフィックの周辺分布を計算することからなる換点(change-point)検出である。この技法により、この周辺分布の偏差を検出する。換点検出に関する詳細は、たとえば、1994年にIMS Lecture Notes − Monograph Series、vol.23に掲載されたCarlstein他による「Change−Point Problems」で見つけることができる。遷移を検出するためのより単純な方法は、トラフィック量の移動平均を計算することである。この移動平均は、数分台または数十分台という極めて粗い時間目盛りで取ることができる。たとえば、移動平均を計算する方法の1つは、いくつかの最新観測値とともに前の推定値の加重合計(weighted sum)を計算することである。たとえば、以下のようになる。
Figure 0004502815
式中、c1・・・ckは負でない重みである。その要件は、c1+・・・+ck[1である。
上記の手法により、オフロード・メカニズムは、トラフィック量がしきい値1720を超えるとオンになり、トラフィック量がしきい値1730未満に低下するとオフになる。
図23は、本発明によりトラフィックをオフロードするための本発明の例示的な動作の概略を示す流れ図である。図23に示した通り、動作は、考慮中の各Webサイト用のテンプレートを識別することから始まる(ブロック1810)。全トラフィックの周辺分布およびオフロード可能なトラフィックの量に基づいて、トラフィック量に関して第1のしきい値を計算する(ブロック1820)。次に、第1のしきい値と、オフロード・メカニズムの進み時間および遅れ時間に基づいて、第2および第3のしきい値を計算する(ブロック1830)。
その後、ロー・レジームからハイ・レジームへおよびハイ・レジームからミディアム・レジームへの遷移が存在するかどうかを判別するためにオンライン・トラフィックをモニターする(ブロック1840)。遷移が検出されたかどうかに関する判別を行う(ブロック1850)。検出されない場合、動作は、終了条件が発生したかどうか、たとえば、オフロードが使用不可になったかどうかを判別する(1860)。そうである場合、動作は終了する。そうではない場合、動作はブロック1840に戻り、遷移についてモニターし続ける。
遷移が検出された場合、それがローからハイへの遷移であるかどうかに関する判別を行う(ブロック1870)。そうである場合、トラフィック・オフロード・メカニズムを使用可能にし、トラフィックを他のサーバにオフロードする(ブロック1880)。遷移がローからハイではない場合、遷移はハイからミディアムへの遷移であり、オフロード・メカニズムを使用不可にする(ブロック1890)。
したがって、上述の通り、そのトラフィック・ログに基づいてWebサイトをクラスタ化し、プロファイル作成し、分類し、それにより、Webサイトに関するトラフィックのテンプレートを生成するという本発明は、コロケーションおよびオフロードなどのリソース割振りメカニズムに適用することができる。前述の通り、本発明は、コロケーションとオフロードの組合せにさらに適用することができる。Webサーバが複数のWebサーバをホストとして処理しており、サーバの負荷がそのキャパシティを超えたときに、オフロード可能なトラフィックを他のWebサーバにオフロードしなければならないという状況では、往々にしてコロケーションとオフロードの組合せ問題が発生することになる。このような状況では、本発明は、コロケーションしたWebサイトについてオフロードを実行するために、以下のように実現することができる。
前のすべてのメカニズムと同様に、まず、考慮中のそれぞれのWebサイト用のテンプレートを決定しなければならない。次に、決定変数がWebサイトからWebサーバへのトラフィックの一部分の割当てである数理計画法問題を公式化する。制約は、任意の時期に任意のサーバに関するキャパシティ制限である。目的関数は、少なくとも1つのWebサイトが割り当てられるすべてのWebサーバのコストの合計である。
一例として、前のコロケーション問題で記述したのと同様の条件を想定する。決定変数xijはもはや2進整数である必要がないことに留意されたい。その代わりに、xijはサーバjに割り当てることができるWebサイトiからのトラフィックの一部分を示し、i=1〜Iであり、j=1〜Jである。したがって、0<=xij<=1であり、この数理計画法問題は以下のように公式化される。
Figure 0004502815
公式化した後、最適または近似アルゴリズムを使用して、この数理計画法問題を解決する。この数理計画法問題は、線形制約を有し、サーバ・コストがその使用状況に比例すると想定される場合に線形計画法問題になる。
各Webサイトごとに、そのトラフィックの一部分が割り当てられるWebサーバのうちの1つをそのホーム・サーバとして指定する。ホーム・サーバに割り当てられるトラフィックの一部分は、そのホーム・サーバにおけるWebサイトのしきい値1とも呼ばれる。
各Webサイトごとに、ローからハイへの遷移レジームにおけるトラフィック量に関してしきい値2を計算し、ハイからミディアムへの遷移レジームにおけるトラフィック量に関してしきい値3を計算する。これらのしきい値は、オフロード・メカニズムが必要とする進み時間および遅れ時間を考慮するものである。これらの進み時間および遅れ時間は、動的オフロード・メカニズムの反応時間と、トラフィックの統計パターンと、このサーバをホーム・サーバとして使用する他のすべてのWebサイト間でホーム・サーバのキャパシティを共用する際のそのWebサイトの割当て分との組合せである。
各Webサイトごとに、ロー・レジームからハイ・レジームへおよびハイ・レジームからロー・レジームへのオンライン遷移を検出する。前述の通り、この検出は、周辺分布に基づく換点検出または移動平均技法などのいくつかの統計技法を使用して実行することができる。
各Webサイトごとに、オフロード・メカニズムは、トラフィック量がしきい値2を超えるとオンになり、トラフィック量がしきい値3未満に低下するとオフになる。トラフィックがオフロードされる宛先およびこのような宛先に送信すべきトラフィックの一部分は、前に解決された線形計画法問題の解決策によって定義される。
図24は、コロケーションとオフロードの両方の組合せに関する本発明の例示的な動作の概略を示す流れ図である。図24に示した通り、動作は、考慮中のそれぞれのWebサイト用のテンプレートを決定することから始まる(ブロック1910)。次に、決定変数がWebサイトからWebサーバへのトラフィックの一部分の割当てである数理計画法問題を公式化する(ブロック1920)。この数理計画法問題の制約は、任意の時期に任意のサーバに関するキャパシティ制限である。目的関数は、少なくとも1つのWebサイトが割り当てられるすべてのWebサーバのコストの合計である。
公式化した後、最適または近似アルゴリズムを使用して、この数理計画法問題を解決する(ブロック1930)。次に、各Webサイトごとに、そのトラフィックの一部分が割り当てられるWebサーバのうちの1つをそのホーム・サーバとして指定し(ブロック1940)、そのWebサイトのしきい値1をそのホーム・サーバに割り当てられるトラフィックの一部分として定義する(ブロック1950)。
各Webサイトごとに、ローからハイへの遷移レジームにおけるトラフィック量に関してしきい値2を計算し、ハイからミディアムへの遷移レジームにおけるトラフィック量に関してしきい値3を計算する(ブロック1960)。これらのしきい値は、オフロード・メカニズムが必要とする進み時間および遅れ時間を考慮するものである。各Webサイトごとに、ロー・レジームからハイ・レジームへおよびハイ・レジームからロー・レジームへのオンライン遷移を検出する(1970)。オフロード・メカニズムは、トラフィック量がしきい値2を超えるとオンになり、トラフィック量がしきい値3未満に低下するとオフになる(1980)。
図25は、リソース割振り決定システムのブロック図である。図25に示した通り、リソース割振り決定システムは、コントローラ2010と、図16のWebサイト分類デバイスへのインターフェース2020と、Webサーバとオフロード・メカニズムとの間でリソース割振りメッセージを送受信するための入出力インターフェース2030と、コロケーション決定デバイス2040と、オフロード使用可能化デバイス2050とを含む。これらの要素2010〜2050は、制御/データ信号バス2060を介して互いにやりとりしている。
図25に示した諸要素は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの任意の組合せで実現することができる。好ましい一実施形態では、諸要素2010〜2050は、1つまたは複数のプロセッサによって実行されるソフトウェア命令として実現される。
コントローラ2010は、リソース割振り決定システムの全体的な動作を制御し、他の要素2020〜2050の動作を調整する。コントローラ2010は、インターフェース2030を介してコロケーション、オフロード、またはコロケーションとオフロードの組合せを決定するための要求を受信し、インターフェース2020を介してWebサイト分類デバイスから入手したWebサイト用のテンプレートを使用して、コロケーションあるいはオフロードまたはその両方を決定するよう諸要素2040〜2050に指示する。要素2040および2050は、前述のようにWebサイトのコロケーションあるいはオフロードまたはその両方を決定するための動作を実行し、結果をコントローラ2010に返す。次にコントローラ2010は、Webサイトをコロケーションするかあるいは他のWebサーバにトラフィックをオフロードするかまたはその両方を行うための動作を実行するために、Webサーバあるいはオフロード・メカニズムまたはその両方にメッセージを伝送することができる。
したがって、本発明は、Webサイトのトラフィック・ログから入手したWebサイト・トラフィック・データのクラスタ化、プロファイル作成、あるいは分類、またはこれらの組合せを使用して識別したトラフィック・パターンのテンプレートに基づいて、Webサイトのコロケーションを決定するための装置および方法を提供する。その上、本発明は、Webサイトに関するトラフィック・パターンのこのようなテンプレートに基づいて、あるWebサーバから他のWebサーバへのトラフィックのオフロードを決定するための装置および方法を提供する。本発明により、必要な保証サービス品質を入手するために、Webサイトの最適コロケーションおよびオフロードの動的決定を実行することができる。
留意すべき重要なこととして、完全に機能するデータ処理システムに関連して本発明を説明してきたが、当業者であれば、本発明のプロセスがコンピュータ可読命令メディアの形および様々な形式で配布可能であり、その配布を実行するために実際に使用される信号担持媒体の特定のタイプにかかわらず、本発明が等しく適用可能であることが分かるであろう。コンピュータ可読メディアの例としては、フレキシブル・ディスク、ハード・ディスク・ドライブ、RAM、およびCD−ROMなどの書込み可能タイプのメディアと、ディジタルおよびアナログ通信リンクなどの伝送タイプのメディアを含む。
本発明の説明は、例示および記述のために提示されたものであり、網羅的なものであるかまたは開示された形式の本発明に制限するためのものではない。多くの変更および変形は当業者には明らかなものになるであろう。この実施形態は、本発明の原理、実際的な適用を最もよく説明し、他の当業者が企図する特定の使用法に適したものとして様々な変更を含む様々な実施形態に関して本発明を理解できるようにするために、選択され記述されたものである。
本発明を実現可能な分散データ処理システムの例示的な図である。 本発明によるサーバ・コンピューティング・デバイスの例示的なブロック図である。 本発明によるクライアント・コンピューティング・デバイスの例示的なブロック図である。 例示的な商用Webサイトに関し1週間という期間の間の毎時ヒット数の例示的な図である。 例示的な商用Webサイトに関し1週間という期間の間の毎時ヒット数の例示的な図である。 例示的な商用Webサイトに関し1週間という期間の間の毎時ヒット数の例示的な図である。 図4〜6の例示的な商用Webサイトの日次時系列プロットの例示的な図である。 図4〜6の例示的な商用Webサイトの日次時系列プロットの例示的な図である。 図4〜6の例示的な商用Webサイトの日次時系列プロットの例示的な図である。 例示的な商用Webサイトで発生する種々の尺度に関する日次平均の関数として示す日次変動係数の例示的な図である。 例示的な商用Webサイトで発生する種々の尺度に関する日次平均の関数として示す日次ピーク対平均比の例示的な図である。 Webサイトをクラスタ化する際に使用するための例示的な商用Webサイトから収集した1日の間の1時間あたりの要求数を示す例示的な図である。 図12のWebサイトがクラスタ化される4つの要求パターン・クラス用のパターンを示す例示的な図である。 図13の4つの要求パターン・クラス用の4つのテンプレートを示す例示的な図である。 図4〜6のWebサイトに関する経験データに本発明のクラスタ化およびプロファイル作成を適用することにより生成された曜日パターンを示す例示的な図である。 本発明によるWebサイト分類デバイスの例示的なブロック図である。 本発明の例示的な動作の概略を示す流れ図である。 Webサイトをクラスタ化するための本発明の例示的な動作の概略を示す流れ図である。 Webサイトのプロファイルを作成するための本発明の例示的な動作の概略を示す流れ図である。 Webサイトを分類するための本発明の例示的な動作の概略を示す流れ図である。 どのWebサイトがコロケーション用の候補であるかを判別するための本発明の例示的な動作の概略を示す流れ図である。 本発明によるオフロードのためのしきい値が図示されている、Webサイト用のテンプレートを示す図である。 本発明によりトラフィックをオフロードするための本発明の例示的な動作の概略を示す流れ図である。 コロケーションとオフロードの両方の組合せに関する本発明の例示的な動作の概略を示す流れ図である。 リソース割振り決定システムのブロック図である。

Claims (13)

  1. 複数のWebサイトにリソースを割り振るためのコンピュータ・プログラムにおいて、
    前記複数のWebサイト内の各Webサイトに関するトラフィック・パターンを、前記各Webサイトのトラフィック特性を使用して識別してクラスタ分けするための第1のステップと、
    前記トラフィック・パターンに基づいて、前記複数のWebサイト内の各Webサイトが分類されるクラスタ用のテンプレートを識別するための第2のステップと、
    前記複数のWebサイト内の各Webサイト用の前記識別されたテンプレートに基づいて、前記複数のWebサイト内のWebサイトにリソースを割り振るための第3のステップであって、
    前記複数のWebサイトのうち、2つまたはそれ以上のWebサイト用の前記テンプレートに基づいて、コロケーション用の候補である前記2つまたはそれ以上のWebサイトを識別するための第2のステップと、
    コロケーション用の候補である前記2つまたはそれ以上のWebサイトの前記第2のステップでの識別に基づいて、前記2つまたはそれ以上のWebサイトにリソースを割り振るためのステップとを含む、第3のステップと、
    をコンピュータに実行させる、コンピュータ・プログラム。
  2. Webサイトにリソースを割り振るための前記第3のステップが、
    前記複数のWebサイト内の各Webサイトについて、前記Webサイト用の前記テンプレートに基づいて、事前指定のサービス品質要件を達成するためにそのホスティングWebサーバが処理できるトラフィック・ロードの最大量を表す第1のしきい値を計算するためのステップと、
    前記第1のしきい値に基づいて第2のしきい値を計算するためのステップであって、前記Webサイトに関するトラフィック量(intensity)が前記第2のしきい値に一致するかまたはそれを超えるときにトラフィックのオフロードが使用可能になるステップと、
    前記第1のしきい値に基づいて第3のしきい値を計算するためのステップであって、前記Webサイトのトラフィック量が前記第3のしきい値に一致するかまたはそれ未満に低下するときにトラフィックのオフロードが使用不可になるステップと、を含む、請求項1に記載のコンピュータ・プログラム。
  3. Webサイトにリソースを割り振るための前記第3のステップが、
    前記複数のWebサイト内の各Webサイトについて、前記Webサイト用の前記テンプレートに基づいて、
    その事前指定のサービス品質要件が満足された状態でそれ未満の値でホスティングWebサーバ上のすべてのトラフィック・ロードに供応できる第1のしきい値を計算するためのステップと、
    前記第1のしきい値に基づいて第2のしきい値を計算するためのステップ
    であって、前記Webサイトに関するトラフィック量が前記第2のしきい値に一致するかまたはそれを超えるときにトラフィックのオフロードが使用可能になるステップと、
    前記第1のしきい値に基づいて第3のしきい値を計算するためのステップであって、前記Webサイトのトラフィック量が前記第3のしきい値に一致するかまたはそれ未満に低下するときにトラフィックのオフロードが使用不可になるステップと、を含む、請求項1に記載のコンピュータ・プログラム。
  4. 前記複数のWebサイトのうちの1つのWebサイトのトラフィックが前記第2のしきい値を超えるかどうかを判定するために、あるWebサーバ上で前記トラフィックをモニターするための第4のステップと、
    前記Webサイトの前記トラフィックが前記第2のしきい値を超える場合に前記トラフィックの少なくとも一部分を他のWebサーバにオフロードするための第5のステップと、
    をさらにコンピュータに実行させる、請求項2に記載のコンピュータ・プログラム。
  5. 前記複数のWebサイトのうちの1つのWebサイトのトラフィックが前記第3のしきい値未満に低下するかどうかを判定するために、あるWebサーバ上で前記トラフィックをモニターするための第6のステップと、
    前記Webサイトの前記トラフィックが前記第3のしきい値未満に低下する場合に前記他のWebサーバへの前記トラフィックのオフロードを使用不可にするための第7のステップと、
    をさらにコンピュータに実行させる、請求項4に記載のコンピュータ・プログラム。
  6. 前記複数のWebサイトのうち、2つまたはそれ以上のWebサイト用の前記テンプレートに基づいて、コロケーション用の候補である前記2つまたはそれ以上のWebサイトを識別するための前記ステップが、
    第1の期間セットにおいてトラフィックのピークを有する第1のWebサイトを識別するためのステップと、
    前記第1の期間セットとは異なる第2の期間セットにおいてトラフィックのピークを有する第2のWebサイトを識別するためのステップと、を含む、請求項1に記載のコンピュータ・プログラム。
  7. 前記第1のWebサイトがトラフィックのピークを有するのとほぼ同じ時間に前記第2のWebサイトがトラフィックのトラフ(trough)を有する、請求項6に記載のコンピュータ・プログラム。
  8. 前記複数のWebサイトのうち、2つまたはそれ以上のWebサイト用の前記テンプレートに基づいて、コロケーション用の候補である前記2つまたはそれ以上のWebサイトを識別するための前記ステップが、
    前記同じWebサーバを共用するWebサイトからの合計必要サービス・キャパシティが前記Webサーバの使用可能キャパシティを超えないように、共通共用Webサーバ上にコロケーションできる前記2つまたはそれ以上のWebサイトを識別するためのステップを含む、請求項1に記載のコンピュータ・プログラム。
  9. 前記複数のWebサイトのうち、2つまたはそれ以上のWebサイト用の前記テンプレートに基づいて、コロケーション用の候補である前記2つまたはそれ以上のWebサイトを識別するための前記ステップが、
    前記複数のWebサイトをホストとして処理するすべてのWebサーバの全コストが最小限になるように、共通共用Webサーバ上にコロケーションできる前記2つまたはそれ以上のWebサイトを識別するためのステップを含む、
    請求項1に記載のコンピュータ・プログラム。
  10. 前記複数のWebサイトのうち、2つまたはそれ以上のWebサイト用の前記テンプレートに基づいて、コロケーション用の候補である前記2つまたはそれ以上のWebサイトを識別するための前記ステップが、
    複数のWebサーバに対する前記複数のWebサイトの割当てである決定変数と、任意の時期に任意のサーバに関するキャパシティ制限である制約と、前記複数のWebサーバのうちの種々のサーバにおけるサーバ・キャパシティとピーク負荷との最小距離の増加関数である目的関数とを有する整数計画法問題を公式化するためのステップを含む、請求項1に記載のコンピュータ・プログラム。
  11. 前記複数のWebサイトのうち、2つまたはそれ以上のWebサイト用の前記テンプレートに基づいて、コロケーション用の候補である前記2つまたはそれ以上のWebサイトを識別するための前記ステップが、
    複数のWebサーバに対する前記複数のWebサイトの割当てである決定変数と、任意の時期に任意のサーバに関するキャパシティ制限である制約と、少なくとも1つのWebサイトが割り当てられるすべてのWebサーバのコスト
    の合計である目的関数とを有する整数計画法問題を公式化するためのステップを含む、請求項1に記載のコンピュータ・プログラム。
  12. 複数のWebサイトにリソースを割り振る方法において、
    前記複数のWebサイト内の各Webサイトに関するトラフィック・パターンを前記各Webサイトのトラフィック特性を使用して識別してクラスタ分けするステップと、
    前記トラフィック・パターンに基づいて、前記複数のWebサイト内の各Webサイトが分類されるクラスタ用のテンプレートを識別するステップと、
    前記複数のWebサイト内の各Webサイト用の前記識別されたテンプレートに基づいて、前記複数のWebサイト内のWebサイトにリソースを割り振るステップと、を有し、前記リソースを割り振るステップが、
    前記複数のWebサイトのうち、2つまたはそれ以上のWebサイト用の前記テンプレートに基づいて、コロケーション用の候補である前記2つまたはそれ以上のWebサイトを識別するためのステップと、
    コロケーション用の候補である前記2つまたはそれ以上のWebサイトの前記識別に基づいて、前記2つまたはそれ以上のWebサイトにリソースを割り振るためのステップと、
    を含む、方法。
  13. 複数のWebサイトにリソースを割り振るための装置において、
    前記複数のWebサイト内の各Webサイトに関するトラフィック・パターンを前記各Webサイトのトラフィック特性を使用して識別してクラスタ分けするための手段と、
    前記トラフィック・パターンに基づいて、前記複数のWebサイト内の各Webサイトが分類されるクラスタ用のテンプレートを識別するための手段と、
    前記複数のWebサイト内の各Webサイト用の前記識別されたテンプレートに基づいて、前記複数のWebサイト内のWebサイトにリソースを割り振るための手段とを含み、
    前記リソースを割り振る手段は、前記複数のWebサイトのうち、2つまたはそれ以上のWebサイト用の前記テンプレートに基づいて、コロケーション用の候補である前記2つまたはそれ以上のWebサイトを識別し、
    コロケーション用の候補である前記2つまたはそれ以上のWebサイトの前記識別に基づいて、前記2つまたはそれ以上のWebサイトにリソースを割り振る、装置。
JP2004558090A 2002-12-10 2003-11-14 トラフィック・パターン認識に基づくWebサイト・トラフィックのコロケーションおよびオフロードのための装置および方法 Expired - Fee Related JP4502815B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/315,335 US7386611B2 (en) 2002-12-10 2002-12-10 Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
PCT/EP2003/015016 WO2004054197A1 (en) 2002-12-10 2003-11-14 Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition

Publications (3)

Publication Number Publication Date
JP2006518887A JP2006518887A (ja) 2006-08-17
JP2006518887A5 JP2006518887A5 (ja) 2006-12-28
JP4502815B2 true JP4502815B2 (ja) 2010-07-14

Family

ID=32468668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004558090A Expired - Fee Related JP4502815B2 (ja) 2002-12-10 2003-11-14 トラフィック・パターン認識に基づくWebサイト・トラフィックのコロケーションおよびオフロードのための装置および方法

Country Status (8)

Country Link
US (2) US7386611B2 (ja)
EP (1) EP1597889A1 (ja)
JP (1) JP4502815B2 (ja)
CN (1) CN1736079A (ja)
AU (1) AU2003292269A1 (ja)
CA (1) CA2508047A1 (ja)
TW (1) TWI243313B (ja)
WO (1) WO2004054197A1 (ja)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734726B2 (en) * 2001-11-27 2010-06-08 International Business Machines Corporation System and method for dynamically allocating processing on a network amongst multiple network servers
US7792951B2 (en) * 2002-12-10 2010-09-07 International Business Machines Corporation Apparatus and methods for classification of web sites
US7386611B2 (en) * 2002-12-10 2008-06-10 International Business Machines Corporation Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
JP4066932B2 (ja) * 2003-11-10 2008-03-26 株式会社日立製作所 予測に基づいた計算機リソース配分方法
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US9268607B2 (en) 2004-03-13 2016-02-23 Adaptive Computing Enterprises, Inc. System and method of providing a self-optimizing reservation in space 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
US8200805B2 (en) * 2004-06-28 2012-06-12 Neuse Douglas M System and method for performing capacity planning for enterprise applications
JP4756675B2 (ja) * 2004-07-08 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム
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
JP4843610B2 (ja) * 2004-09-20 2011-12-21 キャミアント,インク. 選択的な受動ネットワークの監視に基づく利用率の動的変更方法
CA2586763C (en) 2004-11-08 2013-12-17 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
US9015324B2 (en) 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
WO2006112981A2 (en) 2005-03-16 2006-10-26 Cluster Resources, Inc. Automatic workload transfer to an on-demand center
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US8782120B2 (en) 2005-04-07 2014-07-15 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
EP1872249B1 (en) 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US7725901B2 (en) * 2005-04-14 2010-05-25 International Business Machines Corporation Method and system for performance balancing in a distributed computer system
US7788667B2 (en) * 2005-04-22 2010-08-31 Gm Global Technology Operations, Inc. Extensible scheduling of tasks in time-triggered distributed embedded systems
US8719255B1 (en) * 2005-08-23 2014-05-06 Amazon Technologies, Inc. Method and system for determining interest levels of online content based on rates of change of content access
US8670319B2 (en) * 2005-09-19 2014-03-11 Google, Inc. Traffic prediction for web sites
US8271865B1 (en) 2005-09-19 2012-09-18 Google Inc. Detection and utilization of document reading speed
US7653659B2 (en) * 2005-12-12 2010-01-26 International Business Machines Corporation System for automatic arrangement of portlets on portal pages according to semantical and functional relationship
US8134928B1 (en) 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
US7739099B2 (en) * 2005-12-22 2010-06-15 International Business Machines Corporation Method and system for on-line performance modeling using inference for real production IT systems
US8190724B2 (en) * 2006-10-13 2012-05-29 Yahoo! Inc. Systems and methods for establishing or maintaining a personalized trusted social network
US8117486B2 (en) * 2007-04-10 2012-02-14 Xerox Corporation Method and system for detecting an anomalous networked device
US8432788B2 (en) * 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment
US8300647B2 (en) * 2007-05-18 2012-10-30 Nvidia Corporation Intelligent load balancing and failover of network traffic
US8200694B1 (en) 2007-07-23 2012-06-12 Google Inc. Identification of implicitly local queries
US9178848B1 (en) 2007-07-23 2015-11-03 Google Inc. Identifying affiliated domains
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US20090198559A1 (en) * 2008-02-06 2009-08-06 Disney Enterprises, Inc. Multi-resolutional forecasting system
US8788490B1 (en) 2008-06-27 2014-07-22 Google Inc. Link based locale identification for domains and domain content
US7970905B2 (en) * 2008-07-03 2011-06-28 International Business Machines Corporation Method, system and computer program product for server selection, application placement and consolidation planning of information technology systems
US20100138575A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
TWI601024B (zh) * 2009-07-06 2017-10-01 Alibaba Group Holding Ltd Sampling methods, systems and equipment
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
US9323994B2 (en) * 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US20130013444A1 (en) * 2009-12-23 2013-01-10 Telefonaktiebolaget L M Ericsson (Publ) Service Selection for Reduced Composition Cost
US9350627B2 (en) * 2010-04-15 2016-05-24 Bmc Software, Inc. Automated service time estimation method for IT system resources
US9363312B2 (en) 2010-07-28 2016-06-07 International Business Machines Corporation Transparent header modification for reducing serving load based on current and projected usage
US8700782B2 (en) 2010-08-18 2014-04-15 Microsoft Corporation Directing modalities over different networks in multimodal communications
JP5511609B2 (ja) 2010-09-27 2014-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・ページ作成システム、方法及びプログラム
US8578028B2 (en) 2011-01-06 2013-11-05 International Business Machines Corporation Techniques for provisioning cloud computing environment resources based on social media analysis
US20120072544A1 (en) * 2011-06-06 2012-03-22 Precision Networking, Inc. Estimating application performance in a networked environment
US8645950B2 (en) * 2011-06-28 2014-02-04 Microsoft Corporation Virtual machine image analysis
US9936329B2 (en) * 2012-03-09 2018-04-03 Nokia Technologies Oy Methods, apparatuses, and computer program products for operational routing between proximate devices
US9319274B1 (en) * 2012-03-29 2016-04-19 Emc Corporation Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
JP5949115B2 (ja) * 2012-05-07 2016-07-06 富士ゼロックス株式会社 通信管理システム及びプログラム
US10652318B2 (en) * 2012-08-13 2020-05-12 Verisign, Inc. Systems and methods for load balancing using predictive routing
US10261938B1 (en) 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US9195564B2 (en) 2012-09-04 2015-11-24 International Business Machines Corporation Advanced notification of workload
CN104239019B (zh) * 2013-06-21 2017-11-03 华为技术有限公司 搜索请求生成方法和系统
EP2830285A1 (en) * 2013-07-25 2015-01-28 Thomson Licensing Method for caching of data items in a cloud based data processing system and corresponding device
US9407676B2 (en) * 2013-11-25 2016-08-02 At&T Intellectual Property I, Lp Method and apparatus for distributing media content
US9350792B2 (en) * 2014-04-16 2016-05-24 Go Daddy Operating Company, LLC Method for location-based website hosting optimization
US9654587B2 (en) 2014-04-16 2017-05-16 Go Daddy Operating Company, LLC System for location-based website hosting optimization
JP6619938B2 (ja) * 2015-02-13 2019-12-11 株式会社日立システムズ リソース制御システムおよびリソース制御方法
JP6451497B2 (ja) * 2015-05-20 2019-01-16 富士通株式会社 情報処理装置、情報処理プログラム、及びデータセンタシステム
CN105847171A (zh) * 2016-03-28 2016-08-10 乐视控股(北京)有限公司 网络设备过载保护方法
CN109005678B (zh) 2017-04-07 2022-05-27 松下电器(美国)知识产权公司 非法通信检测方法、非法通信检测系统以及记录介质
JP6539363B2 (ja) 2017-04-07 2019-07-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知方法、不正通信検知システム及びプログラム
JP6494821B2 (ja) * 2017-04-07 2019-04-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
WO2018186054A1 (ja) * 2017-04-07 2018-10-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
WO2019176997A1 (ja) * 2018-03-14 2019-09-19 日本電気株式会社 トラヒック分析装置、方法及びプログラム
US11347541B2 (en) * 2019-01-31 2022-05-31 Walmart Apollo, Llc Methods and apparatus for virtual machine rebalancing

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US6240454B1 (en) * 1996-09-09 2001-05-29 Avaya Technology Corp. Dynamic reconfiguration of network servers
US6058423A (en) * 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network
US6112238A (en) * 1997-02-14 2000-08-29 Webtrends Corporation System and method for analyzing remote traffic data in a distributed computing environment
US6119143A (en) * 1997-05-22 2000-09-12 International Business Machines Corporation Computer system and method for load balancing with selective control
US6578077B1 (en) * 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
US6351775B1 (en) * 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
US6253230B1 (en) * 1998-09-22 2001-06-26 International Business Machines Corporation Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server
US6263361B1 (en) * 1998-11-19 2001-07-17 Ncr Corporation Method for calculating capacity measurements for an internet web site
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6308210B1 (en) * 1998-12-10 2001-10-23 International Business Machines Corporation Method and apparatus for traffic control and balancing for an internet site
US6393479B1 (en) * 1999-06-04 2002-05-21 Webside Story, Inc. Internet website traffic flow analysis
JP2001051890A (ja) * 1999-08-10 2001-02-23 Toshiba Corp 仮想分散ファイルサーバシステム
US6374297B1 (en) * 1999-08-16 2002-04-16 International Business Machines Corporation Method and apparatus for load balancing of web cluster farms
US6801945B2 (en) * 2000-02-04 2004-10-05 Yahoo ! Inc. Systems and methods for predicting traffic on internet sites
US6816905B1 (en) * 2000-11-10 2004-11-09 Galactic Computing Corporation Bvi/Bc Method and system for providing dynamic hosted service management across disparate accounts/sites
US7103651B2 (en) * 2000-11-30 2006-09-05 Nortel Networks Limited Method and apparatus for discovering client proximity network sites
US6877035B2 (en) * 2001-01-29 2005-04-05 International Business Machines Corporation System for optimal resource allocation and planning for hosting computing services
US7406532B2 (en) * 2001-02-16 2008-07-29 Infrastructure Innovations, Llc Auto control of network monitoring and simulation
US6778991B2 (en) * 2001-09-27 2004-08-17 I2 Technologies Us, Inc. Dynamic load balancing using semantic traffic monitoring
US6947985B2 (en) * 2001-12-05 2005-09-20 Websense, Inc. Filtering techniques for managing access to internet sites or other software applications
US7096200B2 (en) * 2002-04-23 2006-08-22 Microsoft Corporation System and method for evaluating and enhancing source anonymity for encrypted web traffic
US7433304B1 (en) * 2002-09-06 2008-10-07 Packeteer, Inc. Classification data structure enabling multi-dimensional network traffic classification and control schemes
US7386611B2 (en) * 2002-12-10 2008-06-10 International Business Machines Corporation Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition
US7792951B2 (en) * 2002-12-10 2010-09-07 International Business Machines Corporation Apparatus and methods for classification of web sites

Also Published As

Publication number Publication date
EP1597889A1 (en) 2005-11-23
US7386611B2 (en) 2008-06-10
AU2003292269A1 (en) 2004-06-30
TW200422860A (en) 2004-11-01
CA2508047A1 (en) 2004-06-24
US20040111508A1 (en) 2004-06-10
JP2006518887A (ja) 2006-08-17
CN1736079A (zh) 2006-02-15
TWI243313B (en) 2005-11-11
US8352607B2 (en) 2013-01-08
WO2004054197A1 (en) 2004-06-24
US20080091826A1 (en) 2008-04-17

Similar Documents

Publication Publication Date Title
JP4502815B2 (ja) トラフィック・パターン認識に基づくWebサイト・トラフィックのコロケーションおよびオフロードのための装置および方法
Yu et al. Stochastic load balancing for virtual resource management in datacenters
US10460241B2 (en) Server and cloud computing resource optimization method thereof for cloud big data computing architecture
Zhang et al. Workload-aware load balancing for clustered web servers
Balasangameshwara et al. Performance-driven load balancing with a primary-backup approach for computational grids with low communication cost and replication cost
US20080263559A1 (en) Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
Prachitmutita et al. Auto-scaling microservices on IaaS under SLA with cost-effective framework
US20010039581A1 (en) System for balance distribution of requests across multiple servers using dynamic metrics
CN103383655A (zh) 用于在qos感知云中管理合并的工作负载的性能干扰模型
Patel et al. Survey of load balancing techniques for grid
Mostafa Cooperative fog communications using a multi-level load balancing
WO2004053726A2 (en) Apparatus and methods for classification of web sites
Abdullah et al. A reliable, TOPSIS-based multi-criteria, and hierarchical load balancing method for computational grid
US20040205120A1 (en) Network service optimization
Nguyen et al. A closed-loop context aware data acquisition and resource allocation framework for dynamic data driven applications systems (DDDAS) on the cloud
US11838193B1 (en) Real-time load limit measurement for a plurality of nodes
Xue et al. Mining association rules for admission control and service differentiation in e‐commerce applications
Khansoltani et al. A request redirection algorithm in content delivery network: Using promethee approach
Shukla et al. Load balancing approaches for web servers: A survey of recent trends
Muchori et al. Machine Learning Load Balancing Techniques in Cloud Computing: A Review
Azizi et al. DCSP: A delay and cost-aware service placement and load distribution algorithm for IoT-based fog networks
Ghafarian et al. A proximity-aware load balancing in peer-to-peer-based volunteer computing systems
Sung et al. OMBM-ML: efficient memory bandwidth management for ensuring QoS and improving server utilization
WO2023039711A1 (en) Efficiency engine in a cloud computing architecture
Devi et al. CLOUD load balancing for storing the internet of things using deep load balancer with enhanced security

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061110

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20090218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091110

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100303

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100318

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100413

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

R150 Certificate of patent or registration of utility model

Ref document number: 4502815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees