JP2953591B2 - サーバ・コンピュータのプロセッサ全体にわたる負荷平衡化 - Google Patents

サーバ・コンピュータのプロセッサ全体にわたる負荷平衡化

Info

Publication number
JP2953591B2
JP2953591B2 JP9528248A JP52824897A JP2953591B2 JP 2953591 B2 JP2953591 B2 JP 2953591B2 JP 9528248 A JP9528248 A JP 9528248A JP 52824897 A JP52824897 A JP 52824897A JP 2953591 B2 JP2953591 B2 JP 2953591B2
Authority
JP
Japan
Prior art keywords
processor
information
block
server
file
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
JP9528248A
Other languages
English (en)
Other versions
JPH11503551A (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 JPH11503551A publication Critical patent/JPH11503551A/ja
Application granted granted Critical
Publication of JP2953591B2 publication Critical patent/JP2953591B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、ネットワークに接続された1つ又は複数の
クライアント・コンピュータにサービスを提供するため
の、そのネットワークに接続可能なサーバ・コンピュー
タに関するものである。更に詳しくいえば、本発明は、
サービスを提供するように構成された複数のプロセッサ
を有するタイプのサーバ・コンピュータに関するもので
あり、クライアント・コンピュータからのリクエストに
起因するそれらプロセッサにおける負荷の平衡化(平均
化)という問題に関連する。
背景技術 一般的に、ネットワーク用の、特に、インターネット
用の高性能サーバ・コンピュータに対する需要が増大し
ている。インターネットは、ブリッジ又はゲートウェイ
のようなデバイスの使用を通してインターリンクされた
数多くの小規模のネットワークより成る巨大なネットワ
ークである。原理的には、インターネットに接続された
如何なるコンピュータも、そのインターネットに接続さ
れた他の如何なるコンピュータとも情報を交換すること
ができる。しかし、コンピュータはセンシティブな情報
を含むことが多いので、多くのコンピュータ及びネット
ワークは、コンピュータ相互間の情報の交換を或る程度
制限するセキュリティ方式を有する。
インターネットは情報を配布するするための非常に強
力な構造を象徴するものなので、1つのコンピュータか
ら他のコンピュータに情報を送るためにインターネット
を利用した数多くのサービスが展開している。これらの
サービスの例は、FTP、News、Gopher、ワールド・ワイ
ド・ウェイ(即ち、WWW;以後、それをこのように呼ぶこ
とにする)である。
インターネットによってサポートされるWWWは、音
声、ビデオ、及びテキストのようなテクノロジを結合
し、インターネットに接続された誰にでもオン・デマン
ド態様でそれらを表示することができる。本質的には、
WWWは、適正なソフトウエア及びハードウエア構成を有
するコンピュータによってインターネットに接続された
誰もが、インターネット上の何処かで利用可能にされた
如何なるハイパーメディア・ドキュメントも検索するこ
とを可能にする。ハイパーメディア・ドキュメントは、
1ブロックの情報を表すファイルとして受信され、そし
て、そのファイル内では、例えは、テキスト、音声、イ
メージ、又は映画を含み得る他のドキュメント(又は、
情報ブロック)に対するハイパーリンクである。
ハイパメディア・ドキュメントを受け取るコンピュー
タはユーザに表示するためのドキュメントを作成する
時、それは、その表示を完成するのに必要な他のファイ
ルを受け取るためにこれらのハイパーリンクのうちの或
るものを使用してもよい。例えば、ハイパーリンクは、
ドキュメントの一部として表示されるべきイメージ・フ
ァイルをアクセスするために使用可能である。一旦、ド
キュメントがクライアント・コンピュータによって作成
されそしてユーザに表示されると、ユーザは、ハイパー
リンクによって参照されたドキュメントをリクエストす
るために、例えば、マウス又は他の入力デバイスを使用
してスクリーン上のワード又はイメージを選択すること
によりハイパーリンクを選択する機会を持つことができ
る。
益々多くの人々がWWWのようなインターネット・サー
ビスを使用し始めたので、サーバ・コンピュータに関す
る需要が増加している。これらの需要に対処するため
に、並列コンピュータがサーバとして使用され始めた。
これらのコンピュータは、サービスを提供するように構
成された複数のプロセッサを有する。複数のプロセッサ
の使用によって、非常に大量のサーバ・リクエストを処
理することが可能になる。そのような並列コンピュータ
の例は、IBM RISC System/6000 SPマシンである(IB
M及びRISC System/6000はインターナショナル・ビジネ
ス・マーシンズ・コーポレーションの商標である)。
しかし、そのような並列サーバを使用する場合に生じ
る問題は、ドキュメント(WWWにおけるウェブ・ページ
のような)を処理するために及ぶサービス・ベースのア
プリケーションを走らせるために並列システムにおいて
共同する複数のプロセッサ全体にわたって着信のクライ
アント・トラフィックを平衡化するという問題である。
既存の負荷平衡化機構の場合、1つの特定のプロセッサ
が、或る期間の間、大量のトラフィックの焦点になると
いう時間が存在することがある。これに対する技術用語
は、そのプロセッサが「トースト」されるということで
ある。この状態では、プロセッサはクライアントのリク
エストに圧倒されて、1つのリクエストをサービスする
ために数分を要する仮想停止にさせられる。
従って、本発明の目的はプロセッサ全体にわたって不
均衡な負荷を緩和し、それによって、このトースティン
グ効果を回避する助けをする機構を提供することにあ
る。
発明の開示 従って、本発明は、ネットワークに接続可能なサーバ
・コンピュータであって、ネットワークに接続された1
つ又は複数のクライアント・コンピュータにサービスを
提供するように構成された複数のプロセッサを有するサ
ーバ・コンピュータを提供する。そのサービスはクライ
アント・コンピュータへの情報ブロックの提供を含み、
プロセッサは、情報ブロックに関するデータが記憶され
るデータ記憶装置へのアクセスを行う。サーバ・コンピ
ュータは、前記複数のプロセッサの各々に設けられたブ
ロック検索手段を含む。そのブロック検索手段は、プロ
セッサからの特定の情報ブロックを求めるクライアント
・コンピュータからのリクエストに応答して、そのリク
エストされた情報ブロックを表すファイルを作成するた
めに、データ記憶装置からデータを検索すべく使用され
る。そのファイルは、クライアントよってリクエスト可
能な後続の情報ブロックに対するリファレンスを含む。
サーバ・コンピュータは、更に、そのサーバのすべての
プロセッサに対して維持された負荷分散レコードに含む
ためのそれらプロセッサに対するアクティビティ・デー
タを周期的に決定するための負荷決定手段と、前記ブロ
ック検索手段によって作成されたファイルにおける後続
の情報ブロックに対する各リファレンスのために、どの
プロセッサがその後続の情報ブロックを求めるクライア
ント・コンピュータからのリクエストをサービスすべき
かを前記負荷分散レコードに基づいて決定するように、
及び前記ブロック検索手段によって作成されたファイル
にそのプロセッサに対するアドレスを含むように構成さ
れる判断手段と、そのファイルをクライアント・コンピ
ュータに送るための送達手段とを含む。
本発明の方法を使用することによって、そのファイル
の内容は何れかの後続の情報ブロックを検索すべきプロ
セッサのアドレスを含むように、クライアントに送られ
る前に動的に変更される。どのプロセッサが後続の情報
ブロックを求めるリクエストをサービスすべきかに関す
る決定は、サーバのプロセッサに対する負荷分散レコー
ドに基づいて行われる。この方法では、プロセッサ全体
にわたって負荷のより効果的な平衡化が得られ、従っ
て、特定のプロセッサの「トースティング」のような問
題を緩和することができる。
好適な実施例では、負荷決定手段が、各プロセッサに
対するアクティビティ・データを決定するために前記複
数のプロセッサの各々に設けられる。更に、判断手段
が、望ましくは、前記複数のプロセッサの各々に設けら
れる。しかし、好適な実施例に対する1つの代替えとし
て、1つ又は複数の負荷決定手段、判断手段、及び送達
手段が複数のプロセッサのうちの特定な1つに、又はそ
れらのエレメントの機能の遂行に専用の完全に独立した
プロセッサに設けられてもよい。従って、1つのプロセ
ッサが判断手段の機能を遂行することに専用であっても
よく、ブロック検索手段によって作成された各ファイル
が判断手段による処理のためにそのプロセッサに送られ
てもよい。
好適な実施例では、ファイルにより表された情報ブロ
ックを構成する時にクライアント・コンピュータが複数
の後続の情報ブロックを必要とする場合、負荷分散レコ
ードによって表されたプロセッサにおける負荷が大きけ
れば大きいほど、プロセッサがリクエストをサービスす
る後続の情報ブロックが少なくなるように、判断手段
は、任意の特定のプロセッサがリクエストをサービスす
る後続の情報ブロックの数を決定するように構成され
る。一般に、その1つ又は複数の後続の情報ブロック
は、その情報ブロックを作成する時にクライアント・コ
ンピュータによって必要とされるイメージ・ファイルで
あろう。
好適な実施例では、ネットワークはインターネットで
あり、サービスはワールド・ワイド・ウェブ・サービス
であり、情報ブロックはウェブ・ページである。しか
し、クライアントが必要とするかもしれない後続の情報
ブロックに対するリファレンスを含み、しかも、サーバ
によってサービスされる必要のある情報ブロックがクラ
イアントに供給されるという任意のネットワーク及びサ
ービスに本発明が適用し得ることは明らかであろう。
サービスがワールド・ワイド・ウェブである場合、判
断手段によってファイルに含まれた後続の情報ブロック
に対するアドレスは、望ましくは、その情報ブロックに
対する識別子と、判断手段が決定したプロセッサであっ
てその情報ブロックに対するリクエストをサービスする
であろうプロセッサに対する独特の識別子との両方を含
むアドレス・ストリングの形式を取る。
第2の局面から見ると、本発明は、ネットワークに接
続可能なサーバ・コンピュータであって、ネットワーク
に接続された1つ又は複数のクライアント・コンピュー
タにサービスを提供するように構成された複数のプロセ
ッサを有するサーバ・コンピュータを動作させる方法を
提供する。そのサービスは、クライアント・コンピュー
タへの情報ブロックの提供を含み、それらプロセッサ
は、その情報ブロックに関するデータが記憶されるデー
タ記憶装置へのアクセスを行う。その方法は、 (a).プロセッサからの特定の情報ブロックに求める
クライアント・コンピュータからのリクエストに応答し
て、そのリクエストされた情報ブロックを表すファイル
を作成するために、データ記憶装置からデータを検索す
べくそのプロセッサを使用するステップ(なお、そのフ
ァイルは、クライアントによってリクエスト可能な後続
の情報ブロックに対するリファレンスを含む)と、 (b).サーバのすべてのプロセッサに対して維持され
た負荷分散レコードに含ませるためにプロセッサに関す
るアクティビティ・データを周期的に決定するために負
荷決定手段を使用するステップと、 (c).ステップ(a)において作成されたファイルに
おける後続の情報ブロックに対する各リファレンスのた
めに、どのプロセッサがその後続の情報ブロックを求め
るクライアント・コンピュータからのリクエストをサー
ビスすべきかを負荷分散レコードに基づいて決定し、ス
テップ(a)において作成されたファイルにそのプロセ
ッサに対するアドレスを含むステップと、 (d).そのファイルをクライアント・コンピュータに
送るステップと、 を含む。
本発明を、単に例として添付図面に示されたその好適
な実施例に関連して更に説明することにする。
図面の簡単な説明 第1図は、本発明の好適な実施例に従ってサーバを示
す概略的ブロックである。
第2図は、クライアントからのリクエストの受領時に
サーバのプロセッサによって、好適な実施例において実
行されるプロセッサを表す流れ図である。
第3図は、情報ブロックに対するフォロー・オン・リ
クエストをどのプロセッサがサービスするかを決定する
ために負荷分散レコードを使用する方法を示す。
発明を実施するための最良の形態 本発明の好適な実施例では、インターネットを介して
提供されるWWWサービスを考察し、並列ウェブ・サーバ
において共同する多数のプロセッサ全体にわたって二次
的な負荷平衡化を提供するための機構を説明することに
する。
先ず、WWWの構造をレビューすると、これは、WWWにお
ける特定のページ又はファイルを指定するものと見なす
ことができるユニバーサル・リソース・ロケータ(UR
L)に基づいている。URLは、サーバ・マシン及びそのマ
シンにおける特定のファイル又はページの両方を示す。
例えば、リンクは“http://www.ibm.com/example.html"
でよい。その“http:"は、我々がワールド・ワイド・ウ
ェブを使用しようとしていることを表す。“www.ibm.co
m"は、我々がリクエストしているページを有するインタ
ーネット上のウェブ・サーバのインターネット名であ
り、“example.html"は、我々が受信したいページの名
前である。
クライアント・コンピュータは、一般にブラウザと呼
ばれるソフトウエアを使用して簡単なGUIをユーザに提
供し、ユーザがWWWを介して種々のURLにナビゲートする
ことを可能にする。時には、ユーザは特定のURLを名前
によって指定するであろうが、更に頻繁に、ユーザはペ
ージ内のリファレンス(いわゆる、「ハイパーリン
ク」)によって1つのURLから他のURLにジャンプするで
あろう。従って、ページ上の特定のワード又は記号が他
のURLと関連づけられるので、例えば、関連ロケーショ
ンにおいてマウスをクリックすることによるそのワード
又は記号の選択は、クライアント・コンピュータにその
選択されたURLからそのページを検索させ、そしてそれ
を表示させる。この新しいページは、第1のページとは
完全に異なるサーバ上に位置指定可能である。他のURL
にマップするワード又は記号は、時には、「ホット・ボ
タン」(又は、その類似物)と呼ばれることがある。単
一のページ内に数多くのホット・ボタン又はハイパーリ
ンクが存在してもよい。
単一のサーバに数多くのページ又はURLが常駐しても
よい。クライアント・コンピュータにおけるユーザが特
定のサーバ・コンピュータにおけるURLを選択する場
合、サーバ・コンピュータはそのページに特有のアクシ
ョンを遂行する。場合によっては、これは、サーバ・コ
ンピュータによるアプリケーションの立上げを導くこと
があるが、大多数の場合、サーバ・コンピュータは記憶
されたページのデータベースからそのリクエストされた
ページを検索し、そして、これは、ユーザに対する表示
のために、インターネットを通してクライアント・コン
ピュータに返送される。
ページは、HTMLとして知られた標準フォーマットに従
ってフォーマットされる。代表的なウェブ・ページはそ
のページを見ている人が或るトピックに関する更なる情
報を欲する場合にその人がクリック・オンすることがで
きる或るテキスト内容、或る組み込まれたイメージ(グ
ラフィックス)、及び他のページに対する数多くのリン
クを含んでいる。それらのイメージ自体は、クライアン
トがサーバ・コンピュータからページをダウンロードし
ている時、ウェブ・ブラウザがそのクライアントのため
にサーバ・コンピュータから自動的にリクエストするウ
ェブ「ページ」である。これらのイメージは一般に、サ
ーバにおける別個のグラフィックス・ファイルとして、
例えば、標準の“.gif"又は“.jpeg"フォーマットで記
憶される。HTMLテキストは、これらのグラフィックス・
ファイルに対するリファレンスを含む。それらリファレ
ンスは、指定されたファイルをサーバから検索するよう
にクライアントに指示し、それによって、クライアント
がHTMLテキスト及び関連のイメージの両方を表示するこ
とを可能にする。そのページからのフォロー・オン・リ
ンクは、ベース・ページが到来したサーバと同じサーバ
における他のページに対するものか、或いはインターネ
ット上の他の任意のウェブ・サーバに対るものであって
もよい。本発明の好適な実施例を説明するためには、グ
ラフィック・ファイルと、ベース・ページと同じサーバ
上にあるフォロー・オン・リンクとがこれに関連するも
のである。以下では、これらの項目の両方とも、参照さ
れたウェブ・ページと呼ぶことにする。
クライアント・コンピュータにおいて使用するための
商業的に入手可能な種々のウェブ・ブラウザ、例えば、
IBM社からの「Explorer」及びNCSAからの「Mosaic」が
ある。そのようなブラウザはすべてHTML及び他のWWW標
準フォーマットを理解し、これらのフォーマットでファ
イルを正しく表示又は出力することができる。同様に、
種々のURLの間をナビゲートするための機構も、そのよ
うなプログラムによって理解され、実装される。ワール
ド・ワイド・ウェブに関する更なる情報は、Andrew For
d著の“Spinning the Web"(International Thomson Pu
blishing,London 1995)及びJohn December及びNeil Ra
ndall著の“The World Wide Web Unleashed"(SAMS Pub
lishing,Indianapolis 1994)において見ることができ
る。
本発明の好適な実施例では、サーバにおける複数のプ
ロセッサに同じインターネット名を共用させるために、
並列サーバと関連して負荷平衡化技法が使用される。例
えば、第1図を参照すると、並列ウェブ・サーバ10、即
ち、www.ibm.comは、www1.ibm.com、www2.ibm.com、及
びwww3.ibm.comと呼ばれるプロセッサ20、30、40によっ
てサービスされる。負荷平衡化ソフトウエアは、www.ib
m.comへのリクエストが、その並列ウェブ・サーバの一
部を形成するプロセッサの1つに送られるように取り決
める。、1つの適した負荷平衡化技法が公開欧州特許出
願EP−A−0,649,038号において検討されている。その
欧州特許出願は、並列サーバにおける負荷が、そのサー
バを形成する種々のプロセッサ(又は、コンピュータ)
全体にわたって平衡化されることを可能にするための動
的負荷平衡化技法を開示している。クライアント・コン
ピュータ50におけるプログラムが並列サーバ10のプロセ
ッサに接続することを望んでいる時、それは、ネーム・
サーバと呼ばれることが多いデータ処理システム60とコ
ミュニケートして所望のサーバに対するネットワーク・
アドレスを得る。前記EP−A−0,648,038号において開
示された技法によれば、判断ロジック70が設けられる。
その判断ロジックは、並列サーバ10におけるプロセッサ
又はコンピュータを周期的に調べ、或る構成可能な基準
に基づいてそれらのプロセッサの1つを選択する。そし
て構成可能な基準は、その基準が適用される時の最も軽
く装荷されたプロセッサが判断ロジック70によって選択
されるように選定可能である。そこで、このプロセッサ
に対するアドレスは、ネーム・サーバ60にとって利用可
能な記憶装置80における総称サーバ名と関連付けられ、
従って、クライアント・プログラムがその総称サーバ名
を使用してマシン・アドレスをリクエストする時、それ
は、判断ロジック70によって最も最近選定された並列サ
ーバ10におけるプロセッサのアドレスを与えられる。従
って、www.ibm.comが総称名である場合、www.ibm.comと
いうインターネット・アドレスに対するクライアント50
からネーム・サーバ60へのリクエストの結果、クライア
ントは3つのプロセッサ20、30、40の1つのインターネ
ット・アドレスを与えられるであろう。この技法の更な
る詳細に関しては、前述のEP−A−0,648,038号を参考
にして欲しい。
伝統的には、ベース・ページと同じサーバ(「ウェブ
・サイト」と呼ばれることが多い)を参照したフォロー
・オン・リンクはベース・ページのインターネット名と
同じインターネット名を参照するであろう。例えば、ペ
ージhttp://www.ibm.com/first_page.htmlの場合、フォ
ロー・オン・リンクは、http://www.ibm.com/second_pa
ge.htmlに対するものとなり得る。クライアント・コン
ピュータは、総称名www.ibm.comというインターネット
・アドレスに関してネーム・サーバ60を既に照会してい
るので、一般には、それは同じインターネット・アドレ
スを再び使用するであろう。従って、フォロー・オン・
リクエストは、オリジナル・リクエストをサービスした
プロセッサと同じプロセッサに与えられるであろう。ネ
ーム・サーバ60は、総称名www.ibm.comを識別するため
に再びコンサルティングされないので、ネーム・サーバ
において使用される如何なる負荷平衡化技法も利用され
ないであろう。その結果、オリジナル・リクエストをサ
ービスした実際のプロセッサにはフォロー・オン・リン
クに対するリクエストが殺到することがあり、これは、
前述の「トースティング」効果を生じさせることになろ
う。
クライアント・コンピュータがフォロー・オン・リク
エストに関してネーム・サーバ60にいつもコンサルティ
ングするようにクライアント・コンピュータを構成する
ことは可能である。しかし、ネーム・サーバの効率を高
めようとする場合、ネーム・サーバは最近のネーム・リ
クエストの詳細をキャッシュしようとする。一般には、
クライアントはネーム・サーバ60と直接にコミュニケー
トしないであろう。その代わり、クライアントは、一般
に、リクエストが最終的にネーム・サーバ60に送られる
まで、一連の他のネーム・サーバとコミュニケートする
それらのローカル・ネーム・サーバとコミュニケートす
るであろう。このネーム・サーバ60は、並列ウェブ・サ
ーバ10に対して「権威」を持ったネーム・サーバであ
る。そこで、ネーム・サーバ60によって識別されたイン
ターネット・アドレスは、これらのネーム・サーバすべ
てを通して返送されるであろう。これらのネーム・サー
バの各々は、www.ibm.comが識別されて得られた特定の
インターネット・アドレスをキャッシュすることを選ぶ
ことができる。従って、クライアントがwww.ibm.comと
コミュニケートする必要がある時、それがネーム・サー
バと接触するようにそのクライアントが構成される場
合、それは依然としてネーム・サーバ60によって前に識
別されたアドレスを受けようとするであろう。それは、
例えば、ローカル・ネーム・サーバがその名前に対する
インターネット・アドレスを既に知っており、従って、
それ以上リクエストを送る必要がないことをそのローカ
ル・ネーム・サーバが決定し得るためである。従って、
ネーム・サーバ60における負荷平衡化技法は、サーバの
アドレスを求めるクライアントによる第1リクエストに
とっては有用であるけれど、同じ総称サーバ名に対する
何れの後続のフォロー・オン・リンクにとっても有用で
はないことがわかる。
この問題を克服するために、好適な実施例の並列ウェ
ブ・サーバは、そのサーバにおけるウェブ・ページがサ
ービスされる時にそのウェブ・ページの内容を修正する
能力を備えており、フォロー・オン・リンクが参照する
プロセッサの名前を修正するためにその機能を利用す
る。第1図の例を考察すると、www1.ibm.com、www2.ib
m.com及びwww3.ibm.comはすべてwww.ibm.com並列ウェブ
・サーバにおけるサーバであるので、別の方法でwww.ib
m.comを参照するフォロー・オン・リンクは特定のプロ
セッサ、例えば、www1.ibm.comを参照するように変更可
能である。これは、フォロー・オン・ページを求めるリ
クエストを並列ウェブ・サーバにおける特定のプロセッ
サに向けされ、それらが現在表示されているウェブ・ペ
ージに組み込まれるべきグラフィカル・イメージであろ
うと、或いは表示されたウェブ・ページからユーザがア
クセスすることができる種々のウェブ・ページに対する
フォロー・オン・リンクであろうと、すべての参照され
たウェブ・ページに関して適用可能である。
並列サーバ全体に対する総称名(www.ibm.com)の代
わりに明示的プロセッサ名(例えば、www1.ibm.com)を
指定するために好適な実施例の技法を使用することによ
って、近い将来そのサーバの種々のプロセッサに適合し
得る制御をその負荷の上に及ぼすことが可能である。こ
の制御は「トースティング」の可能性を減少させ得るも
のである。
次に、第1図を参照して、好適な実施例のシステムを
更に詳細に説明することにする。第1図には、好適な実
施例を実現するために必要なプロセッサ30の機能的素子
が示される。望ましくは、WWWサービスを提供すべきサ
ーバ10の他のプロセッサ20、40もすべて同じ素子を含む
が、これらは、簡単にするためにその図から省略されて
いる。その好適な実施例の代替えとして、ブロック検索
手段以外の1つ又は複数の機能素子が、それら複数のプ
ロセッサのうちの特定の1つにおいて、又はそれら素子
の機能を遂行することに専用である完全に独立したプロ
セッサにおいて設けられるようにすることも可能であ
る。従って、1つのプロセッサは判断手段の機能を遂行
することに専用のものであってもよく、ブロック検索手
段によって検索されたすべてのウェブ・ページがその判
断手段による処理のためにそのプロセッサに送られるよ
うにしてもよい。
クライアント・コンピュータ50が、ネーム・サーバ60
にコンサルティングした後、プロセッサ30のインターネ
ット・アドレスを与えられる場合、それは、プロセッサ
30をウェブ・ページに対するそれのリクエストと直接に
接触させるであろう。クライアント50によってリクエス
トされたウェブ・ページを表すファイルを作成するため
に、ブロック検索手段80が記憶装置120におけるデータ
をアクセスするであろう。そのファイルにおける参照さ
れた如何なるウェブ・ページに対しても、判断手段90
は、そのウェブ・ページに対するその後のリクエストを
処理するためにどの特定のプロセッサが選択されるべき
かを決定するために使用されるであろう。そして、その
プロセッサに対する識別子(例えば、www.ibm.com)が
そのファイルにおける適正なポイントに含まれるであろ
う。
更に詳細に後述するように、どのプロセッサがフォロ
ー・オン・リクエストを処理するかを決定する時、判断
手段90は、サーバのすべてのプロセッサにおける負荷に
関する情報を提供する負荷分散レコードを参照する。負
荷決定手段100はプロセッサ30のアクティビティを周期
的に評価するように構成され、負荷分散レコード内に含
ませるためにその情報を提供する。
何れかの参照されたウェブ・ページをどのプロセッサ
が処理するのかを判断手段が決定し、その情報がブロッ
ク検索手段によって作成されたファイルに含まれてしま
うと、そのファイルは送達手段110に送られ、それをク
ライアント・コンピュータ50のブラウザ130へ送らせ
る。そこで、ブラウザ130は、そのファイルからウェブ
・ページを作成してクライアント・コンピュータ50のユ
ーザに表示するであろうし、参照されたウェブ・ページ
に対するリクエストを、そのファイルにおいて識別され
たプロセッサに直接に送るであろう。
負荷分散レコードを得る方法を次に説明する。並列ウ
ェブ・サーバのプロセッサが如何にビジーであるかに関
する統計がその並列ウェブ・サーバによって収集され
る。「負荷分散レコード」を生じさせるためにこれらを
照合することが可能である。これが数多くの方法で行わ
れ得ることは明らかであろう。例えば、各プロセッサ
は、そのプロセッサが如何にビジーであるかを周期的に
決定し、負荷分散レコード内に含ませるためにその情報
を或る中央ロケーションに送るルーチンを含んでもよ
い。負荷分散レコードは、各プロセッサによるアクセス
のためにデータ記憶装置120上に保持されてもよく、或
いは、その代わりに、サーバのアーキテクチャがそのよ
うな共用メモリ構成をサポートする場合、すべてのプロ
セッサによってアクセス可能な共用メモリの一部分にお
いてそのサーバ上に保持されてもよい。別の方法とし
て、各プロセッサはそれが如何にビジーであるかを周期
的に評価し、そしてその情報を並列ウェブ・サーバにお
ける他のすべてのプロセッサにブロードキャストするよ
うに、一連のメッセージが通信ネットワークを介して各
プロセッサに送られてもよい。そこで、各プロセッサ
は、負荷分散レコードをそれ自身のローカル・メモリに
維持し、それが新しい負荷データを他のプロセッサから
受け取る時にいつもそれを更新することができる。
そこで、各プロセッサ20、30、40の判断手段90は、こ
の負荷分散レコードを使用して、フォロー・オン・リン
クのインターネット名及びそれが後でサービスするウェ
ブ・プージにおける参照されたイメージを動的に修正す
る。そのプロファイルは、ウェブ・サーバ管理プログラ
ムによって作成可能な頻度で周期手に更新される。この
内容を修正を行うことの効果は、ビジーになり始めたプ
ロセッサが比例的に少ないフォロー・オン・リクエスト
をそれに向けられ、従って、プロセッサが「トースト」
される時の深刻なパフォーマンス衝撃を回避する。その
プロセッサが回復する時、それは更に多くのリクエスト
をそれに向けられるであろう。従って、モニタリング及
び負荷同調サイクルが継続するであろう。
次に、クライアントからのリクエストの受領時に、好
適な実施例に従ってプロセッサにより実行されるプロセ
スを第2図を参照して説明することにする。ステップ20
0において、プロセッサはクライアントからのリクエス
トを待つ。ステップ210において、クライアント・コン
ピュータのブラウザからのリクエスト205が受け取られ
る。次に、ステップ220において、プロセッサは、どの
ウェブ・ページがリクエストされたかを決定し、そこ
で、ブロック検索手段80はデータベース120からそのペ
ージを取り出し、ファイルを作成する(ステップ23
0)。次に、ステップ240において、そのファイルにおけ
る他のウェブ・ページに対するすべてのリファレンスが
識別され、判断手段90は最新の負荷分散レコード270を
使用して、それらのウェブ・ページの各々に関して、ど
のプロセッサがそのウェブ・ページに対するリクエスト
をサービスすべきかを決定する。従って、フォロー・オ
ン・ウェブ・ページは‘second_page.html'と呼ばれ
る。プロセッサ20がリクエストをサービスすべきである
ことを判断手段が決定する場合、ファイルにおけるリフ
ァレンスは‘http://www.ibm.com/second_page.html'を
読むように変更されるであろう。
一旦これらのフォロー・オン・ハイパーリンクが判断
手段によって完成されてしまうと、ステップ250におい
て、ファイルがクライアント・ブラウザに送られる。次
に、好適な実施例では、プロセッサはそれが如何にビジ
ーであるかを再評価するように調整され、ステップ260
において、その評価に基づいて負荷分散レコードを更新
する。一旦これが行われてしまうと、プロセッサはステ
ップ200に戻り、クライアントからの次のリクエストを
待つ。
前述のように、ファイルにおいて参照されたフォロー
・オン・ウェブ・ページは2つのタイプに分類可能であ
る。或るものは、ユーザに表示するために現在のウェブ
・ページを作成する時、ブラウザが検索する必要のある
ウェブ・ページを参照することがある。例えば、基本的
ファイルは、ウェブ・ページに対するテキストをすべて
含むが、表示されるべき如何なるイメージに対するデー
タも一般には含まれないであろう。イメージを含むウェ
ブ・ページに対するリファレンスはブラウザに戻された
ファイルに与えられるであろう。ユーザに対する完全な
ウェブ・ページを複製するためには、ブラウザがこれら
のウェブ・ページを検索する必要があろう。
ファイルにおいて参照される第2のタイプのウェブ・
ページは、表示のために初期のウェブ・ページを生じさ
せるためにはブラウザが必要としないフォロー・オン・
リンクであろう。その代わり、これらは、一旦ウェブ・
ページが表示されてしまうと、ユーザが選択することが
できるページであろう。一般に、ユーザはスクリーン上
の強調表示された特定のワード又はイメージを選択する
ことができるであろう。これらのワード及びイメージは
他のウェブ・ページと関連付けられる。そのような選択
の際、ブラウザは、そのウェブ・ページに対するリクエ
ストをサービスすべきプロセッサのアドレスをファイル
から検索するであろうし、そのプロセッサと直接に接触
するであろう。
上記の第1のタイプのフォロー・オン・ウェブ・ペー
ジに特に関連して、第3図は、この第1のタイプのウェ
ブ・ベージに対するリクエストをサーバの利用可能なプ
ロセッサの間で分離するために、負荷分散レコードを判
断手段90が使用する方法を示す。この第1のタイプのウ
ェブ・ページは、ユーザに表示するための完全なウェブ
・ページを作成し得るようにブラウザによって直ちに必
要とされるものなので、オリジナル・ウェブ・ページが
ブラウザへ送達された全く直後にこれらのリクエストが
サーバに戻るものと予想することができる。
第3図には、各プロセッサにおける負荷が、最大負荷
のパーセンテージとして、各プロセッサに関して座標表
示される。一般的には、最大負荷は、プロセッサが受容
可能な応答時間を提供することができないポイントとし
て決定される。これは、一般に、サーバ管理プログラム
によって決定される。明らかに、負荷を評価することが
できる別の方法が存在する。第3図から、プロセッサ2
が最も重く装荷され、続いてプロセッサ3が重く装荷さ
れ、一方、プロセッサ1が最も軽く装荷されることがわ
かる。例えば、第1タイプの9個のフォロー・オン・ウ
ェブ・ページが存在する場合、判断手段はそのパーセン
テージ負荷の図を使用して、それらの9個のウェブ・ペ
ージのうちの幾つが各プロセッサによってサービスされ
なければならないかを決定することができる。
第3図に示されるように、各プロセッサに対する未使
用の負荷は、合計9個のブロックが生じるように等しい
サイズのブロックに分けられている。複数のプロセッサ
に跨って負荷を平衡化する1つの適当な方法は、特定の
プロセッサの未使用の負荷と関連したブロックの数に等
しい複数のウェブ・ページに対するフォロー・オン・リ
クエストをサービスする責任をその特定のプロセッサに
割り当てることである。従って、第3図に示された例で
は、プロセッサ1のアドレスが5個のウェブ・ページに
対して参照され、プロセッサ2のアドレスが1つのウェ
ブ・ページに対して参照され、そしてプロセッサ3のア
ドレスは3個のウェブ・ページに対して参照されるであ
ろう。
上記説明から、本発明の好適な実施例によれば、ウェ
ブ・ページがサービスされる時、何らかのフォロー・オ
ン・リンクが検索されなければならないサーバ・プロセ
ッサのインターネット名を変えるように、それらのウェ
ブ・ページの内容が動的に変更されることは明らかであ
ろう。そのプロセッサは、同じウェブ内容をアクセスで
きる一組のプロセッサから選定され、その選定はそれら
サーバの相対的な装荷に基づいて行われる。この方法で
は、効果的な負荷平衡が得られ、プロセッサ「トーステ
ィング」の問題は、それらが深刻なものになる前に回避
される。
フロントページの続き (56)参考文献 特開 平9−81446(JP,A) 特開 平7−93238(JP,A) 特開 平7−311703(JP,A) 特開 平6−259308(JP,A) インターフェース 1995年9月号(C Q出版社),p.130〜146 (58)調査した分野(Int.Cl.6,DB名) G06F 9/46,15/16,12/00 G06F 13/00,17/30 JOIS(JICSTファイル) CSDB(日本国特許庁)

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】ネットワークに接続可能であり、前記ネッ
    トワークに接続された1つ又は複数のクライアント・コ
    ンピュータにサービスを提供するように構成された複数
    のプロセッサ(20、30、40)を有するサーバ・コンピュ
    ータにして、前記サービスはクライアント・コンピュー
    タ(50)への情報ブロックの供給を含み、前記プロセッ
    サは前記情報ブロックのためのデータが記憶されるデー
    タ記憶装置(120)へのアクセスを有する、サーバコン
    ピュータにおいて、 前記複数のプロセッサの各々に設けられ、1つのプロセ
    ッサからの特定の情報ブロックを求めるクライアント
    ・、コンピュータ(50)からのリクエストに応答して、
    該リクエストされた情報ブロックを表すファイルを作成
    するために、前記データ記憶装置(120)からデータを
    検索すべく使用されるブロック検索手段(80)であっ
    て、前記ファイルは前記クライアント・コンピュータ
    (50)によってリクエスト可能な後続の情報ブロックに
    対するリファレンスを含む、ブロック検索手段と、 前記サーバのすべてのプロセッサに対して維持された負
    荷分散レコードに含むための前記プロセッサに対するア
    クティビテイ・データを周期的に決定するための負荷決
    定手段(100)と、 前記ブロック検索手段(80)によって作成されたファイ
    ルにおける後続の情報ブロックに対する各リファレンス
    のために、どのプロセッサが前記後続の情報ブロックを
    求める前記クライアント・コンピュータ(50)からのリ
    クエストをサービスすべきかを前記負荷分散レコードに
    基づいて決定するように、及び前記ブロック検索手段
    (80)によって作成されたファイルに該プロセッサに対
    するアドレスを含むように構成される判断手段(90)
    と、 前記ファイルを前記クライアント・コンピュータ(50)
    に送るための送達手段(110)と、 を含むサーバ・コンピュータ。
  2. 【請求項2】前記負荷決定手段(100)は各プロセッサ
    に対するアクティビティを決定するために前記複数のプ
    ロセッサの各々に設けられる、請求の範囲第1項に記載
    のサーバ・コンピュータ。
  3. 【請求項3】前記判断手段(90)は前記複数のプロセッ
    サの各々に設けられる、請求の範囲第1項又は第2項に
    記載のサーバ・コンピュータ。
  4. 【請求項4】前記ファイルによって表された情報ブロッ
    クを作成する時に前記クライアント・コンピュータ(5
    0)が複数の後続の情報ブロックを必要とする場合、前
    記判断手段(90)は、負荷分散レコードによって表され
    たプロセッサにおける負荷が大きけれは大きいほど、プ
    ロセッサがリクエストをサービスする後続の情報ブロッ
    クの数が少なくなるように、任意の特定のプロセッサが
    リクエストをサービスする後続の情報ブロックの数を決
    定するように構成される、請求の範囲第1項乃至第3項
    の1つに記載のサーバ・コンピュータ。
  5. 【請求項5】前記情報ブロックのうち1つ又は複数個の
    情報ブロックは該情報ブロックを作成する時に前記クラ
    イアント・コンピュータ(50)によって必要とされるイ
    メージ・ファイルである、範囲第1項乃至第4項の1つ
    に記載のサーバ・コンピュータ。
  6. 【請求項6】前記ネットワークはインターネットであ
    る、範囲第1項乃至第5項の1つに記載のサーバ・コン
    ピュータ。
  7. 【請求項7】前記サービスはワールド・ワイド・ウェブ
    ・サービスであり、前記情報ブロックはウェブ・ページ
    である、請求の範囲第6項に記載のサーバ・コンピュー
    タ。
  8. 【請求項8】前記判断ブロック(90)によって前記ファ
    イルに含まれた後続の情報ブロックに対するアドレスは
    該情報ブロックに対する識別子と、前記判断手段(90)
    が決定したプロセッサであって該情報ブロックに対する
    リクエストをサービスするであろうプロセッサに対する
    独特の識別子との両方を含むアドレス・ストリングの形
    式をとる、請求の範囲第7項に記載のサーバ・コンピュ
    ータ。
  9. 【請求項9】ネットワークに接続可能であり、前記ネッ
    トワークに接続された1つ又は複数のクライアント・コ
    ンピュータにサービスを提供するように構成された複数
    のプロセッサ(20、30、40)を有するサーバ・コンピュ
    ータを動作させる方法にして、前記サービスはクライア
    ント.コンピュータ(50)への情報ブロックの供給を含
    み、前記プロセッサは前記情報ブロックのためのデータ
    が記憶されるデータ記憶装置(120)へのアクセスを有
    する、サーバ・コンピュータを動作させる方法におい
    て、 (a)1つのプロセッサからの特定の情報ブロックを求
    めるクライアント・コンピュータ(50)からのリクエス
    トに応答して、該リクエストされた情報ブロックを表す
    ファイルを作成するために、前記データ記憶装置(12
    0)からデータを検索すべく該プロセッサを使用するス
    テップであって、前記ファイルは前記クライアント・コ
    ンピュータ(50)によってリクエスト可能な後続の情報
    ブロックに対するリファレンスを含む、ステップと、 (b)前記サーバのすべてのプロセッサに対して維持さ
    れた負荷分散レコードに含ませるために前記プロセッサ
    に関するアクティビティ・データを周期的に決定するた
    めに負荷決定手段(100)を使用するステップと、 (c)前記ステップ(a)において作成されたファイル
    における後続の情報ブロックに対する各リファレンスの
    ために、どのプロセッサが該後続の情報ブロックを求め
    る前記クライアント・コンピュータ(50)からのリクエ
    ストをサービスすべきかを前記負荷分散レコードに基づ
    いて決定し、前記ステップ(a)において作成されたフ
    ァイルに該プロセッサに対するアドレスを含むステップ
    と、 (d)前記ファイルを前記クライアント・コンピュータ
    (50)に送るステップと、 を含む方法。
  10. 【請求項10】前記複数のプロセッサの各々は前記ステ
    ップ(b)を遂行するように構成された負荷決定手段
    (100)を含む、請求の範囲第9項に記載の方法。
  11. 【請求項11】前記プロセッサの各々は前記ステップ
    (c)を遂行するように構成された判断手段(90)を含
    む、請求の範囲第9項又は第10項に記載の方法。
  12. 【請求項12】前記ファイルによって表された情報ブロ
    ックを作成する時に前記クライアント・コンピュータ
    (50)によって複数の後続の情報ブロックが必要とされ
    る場合、前記ステップ(c)は、負荷分散レコードによ
    って表されたプロセッサにおける負荷が大きければ大き
    いほど、プロセッサがリクエストをサービスする後続の
    情報ブロックの数が少なくなるように、任意の特定のプ
    ロセッサがリクエストをサービスする後続の情報ブロッ
    クの数を決定するステップを含む、請求の範囲第9項乃
    至第11項の1つに記載の方法。
  13. 【請求項13】前記ステップ(c)において前記ファイ
    ルに含まれた後続の情報ブロックに対するアドレスは該
    情報ブロックに対する識別子と、該情報ブロックを求め
    るリクエストをサービスするプロセッサとしてステップ
    (c)において決定されたプロセッサに対する独自の識
    別子との両方を含むアドレス・ストリングの形式をと
    る、請求の範囲第9項乃至第12項の1つに記載の方法。
JP9528248A 1996-01-26 1996-12-04 サーバ・コンピュータのプロセッサ全体にわたる負荷平衡化 Expired - Fee Related JP2953591B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB9601559.9 1996-01-26
GB9601559A GB2309558A (en) 1996-01-26 1996-01-26 Load balancing across the processors of a server computer
PCT/GB1996/002983 WO1997029423A1 (en) 1996-01-26 1996-12-04 Load balancing across the processors of a server computer
US08/770,142 US5867706A (en) 1996-01-26 1996-12-19 Method of load balancing across the processors of a server

Publications (2)

Publication Number Publication Date
JPH11503551A JPH11503551A (ja) 1999-03-26
JP2953591B2 true JP2953591B2 (ja) 1999-09-27

Family

ID=26308531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9528248A Expired - Fee Related JP2953591B2 (ja) 1996-01-26 1996-12-04 サーバ・コンピュータのプロセッサ全体にわたる負荷平衡化

Country Status (14)

Country Link
US (1) US5867706A (ja)
EP (1) EP0880739B1 (ja)
JP (1) JP2953591B2 (ja)
CN (1) CN1091277C (ja)
BR (1) BR9612485A (ja)
CA (1) CA2231810C (ja)
CZ (1) CZ289563B6 (ja)
DE (1) DE69602461T2 (ja)
ES (1) ES2131415T3 (ja)
GB (1) GB2309558A (ja)
HU (1) HU225072B1 (ja)
PL (1) PL183401B1 (ja)
RU (1) RU2156546C2 (ja)
WO (1) WO1997029423A1 (ja)

Families Citing this family (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185619B1 (en) * 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
JPH1074159A (ja) * 1996-08-30 1998-03-17 Hitachi Ltd 計算機システムの制御方法
GB2320112B (en) * 1996-12-07 2001-07-25 Ibm High-availability computer server system
US5948066A (en) * 1997-03-13 1999-09-07 Motorola, Inc. System and method for delivery of information over narrow-band communications links
CA2206737C (fr) * 1997-03-27 2000-12-05 Bull S.A. Architecture en reseau de machine informatique
US7058720B1 (en) * 1997-06-30 2006-06-06 Microsoft Corporation Geographical client distribution methods, systems and computer program products
US6128642A (en) * 1997-07-22 2000-10-03 At&T Corporation Load balancing based on queue length, in a network of processor stations
US6128279A (en) * 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6230196B1 (en) * 1997-11-12 2001-05-08 International Business Machines Corporation Generation of smart HTML anchors in dynamic web page creation
US6434687B1 (en) * 1997-12-17 2002-08-13 Src Computers, Inc. System and method for accelerating web site access and processing utilizing a computer system incorporating reconfigurable processors operating under a single operating system image
US6055538A (en) * 1997-12-22 2000-04-25 Hewlett Packard Company Methods and system for using web browser to search large collections of documents
US6178160B1 (en) * 1997-12-23 2001-01-23 Cisco Technology, Inc. Load balancing of client connections across a network using server based algorithms
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US7949779B2 (en) 1998-02-10 2011-05-24 Level 3 Communications, Llc Controlling subscriber information rates in a content delivery network
US7054935B2 (en) * 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
US6330617B1 (en) * 1998-02-27 2001-12-11 Sabre Inc System, method and computer program product for data conversion in a computer network
FI112897B (fi) 1998-03-03 2004-01-30 Nokia Corp Menetelmä tiedonsiirtoverkossa ja tiedonsiirtolaite
US6205474B1 (en) * 1998-04-14 2001-03-20 Compaq Computer Corporation Access mechanism for parallel status update for multiple servers
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system
US6115752A (en) * 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
US7035943B2 (en) 1998-05-29 2006-04-25 Yahoo! Inc. Web server content replication
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US7143193B1 (en) * 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
US7581006B1 (en) * 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US6279001B1 (en) 1998-05-29 2001-08-21 Webspective Software, Inc. Web service
US6314463B1 (en) 1998-05-29 2001-11-06 Webspective Software, Inc. Method and system for measuring queue length and delay
US6317786B1 (en) * 1998-05-29 2001-11-13 Webspective Software, Inc. Web service
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6493749B2 (en) * 1998-08-17 2002-12-10 International Business Machines Corporation System and method for an administration server
FR2785121B1 (fr) * 1998-10-21 2001-03-30 Cit Alcatel Procede pour changer periodiquement une information presentee par un terminal de communication a partir de donnees transmises par un serveur
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
JP3550503B2 (ja) * 1998-11-10 2004-08-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信を可能とするための方法及び通信システム
US6654814B1 (en) 1999-01-26 2003-11-25 International Business Machines Corporation Systems, methods and computer program products for dynamic placement of web content tailoring
GB2346302B (en) * 1999-01-29 2003-06-18 Ibm Pre-emptive network load balancing by predictive configuration
US7080158B1 (en) 1999-02-09 2006-07-18 Nortel Networks Limited Network caching using resource redirection
US6801949B1 (en) 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
EP1049307A1 (en) * 1999-04-29 2000-11-02 International Business Machines Corporation Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US7996670B1 (en) * 1999-07-08 2011-08-09 Broadcom Corporation Classification engine in a cryptography acceleration chip
US7346695B1 (en) * 2002-10-28 2008-03-18 F5 Networks, Inc. System and method for performing application level persistence
US6523023B1 (en) 1999-09-22 2003-02-18 Networks Associates Technology, Inc. Method system and computer program product for distributed internet information search and retrieval
US6684241B1 (en) 1999-09-29 2004-01-27 Nortel Networks Limited Apparatus and method of configuring a network device
US7702732B1 (en) 1999-09-29 2010-04-20 Nortel Networks Limited Methods for auto-configuring a router on an IP subnet
EP1228430A4 (en) * 1999-10-27 2004-05-06 Mci Worldcom Inc WEB MIRRORING SYSTEM AND METHOD
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US6748414B1 (en) * 1999-11-15 2004-06-08 International Business Machines Corporation Method and apparatus for the load balancing of non-identical servers in a network environment
US6748413B1 (en) * 1999-11-15 2004-06-08 International Business Machines Corporation Method and apparatus for load balancing of parallel servers in a network environment
US7363361B2 (en) * 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
US6760745B1 (en) * 2000-03-30 2004-07-06 Aspect Communications Corporation Web server replicated mini-filter
US20050021862A1 (en) * 2000-03-31 2005-01-27 Dickens Coal Llc Automatic selection of content-delivery provider using link mapping database
US8065399B2 (en) 2000-04-17 2011-11-22 Circadence Corporation Automated network infrastructure test and diagnostic system and method therefor
US8898340B2 (en) 2000-04-17 2014-11-25 Circadence Corporation Dynamic network link acceleration for network including wireless communication devices
US20110128972A1 (en) 2000-04-17 2011-06-02 Randy Thornton Peer to peer dynamic network link acceleration
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US20020002611A1 (en) 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US8195823B2 (en) 2000-04-17 2012-06-05 Circadence Corporation Dynamic network link acceleration
US8510468B2 (en) 2000-04-17 2013-08-13 Ciradence Corporation Route aware network link acceleration
US7143128B1 (en) * 2000-06-08 2006-11-28 International Business Machines Corporation Interactive data processor controlled display interface for tracking of allocated messages in a dynamic workload balancing communication system
US7281032B2 (en) * 2000-06-30 2007-10-09 Hitachi, Ltd. File sharing system with data mirroring by storage systems
US7188157B1 (en) 2000-06-30 2007-03-06 Hitachi, Ltd. Continuous update of data in a data server system
US7222150B1 (en) * 2000-08-15 2007-05-22 Ikadega, Inc. Network server card and method for handling requests received via a network interface
US20020165947A1 (en) * 2000-09-25 2002-11-07 Crossbeam Systems, Inc. Network application apparatus
US7657629B1 (en) * 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US9130954B2 (en) 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7454500B1 (en) * 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US7606898B1 (en) * 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7113900B1 (en) 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US6907395B1 (en) * 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US7103651B2 (en) * 2000-11-30 2006-09-05 Nortel Networks Limited Method and apparatus for discovering client proximity network sites
US20030227644A1 (en) * 2001-01-11 2003-12-11 Sharp Laboratories Of America, Inc. Methods and systems for driver independent customized printing
US8411298B2 (en) 2001-01-11 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for printing device load-balancing
US7480068B2 (en) * 2001-01-11 2009-01-20 Sharp Laboratories Of America, Inc. Methods and systems for page-independent spool file sheet assembly
US20020089687A1 (en) * 2001-01-11 2002-07-11 Ferlitsch Andrew Rodney Methods and systems for print-processor-based printer status detection and print task distribution
US8456665B2 (en) 2001-01-11 2013-06-04 Sharp Laboratories Of America, Inc. Methods and systems for printing error recovery
US7548331B2 (en) * 2001-01-11 2009-06-16 Sharp Laboratories Of America, Inc. Methods and systems for print system component-based remote printing
US20020124170A1 (en) * 2001-03-02 2002-09-05 Johnson William S. Secure content system and method
US20020143872A1 (en) * 2001-03-27 2002-10-03 Jeffrey Weiss Multiple service management platform utilizing common directory
US7751314B2 (en) * 2001-03-28 2010-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Load distribution between nodes in communication networks
GB0119145D0 (en) * 2001-08-06 2001-09-26 Nokia Corp Controlling processing networks
US7290059B2 (en) * 2001-08-13 2007-10-30 Intel Corporation Apparatus and method for scalable server load balancing
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
EP2403219B1 (en) 2001-09-28 2014-10-22 Level 3 CDN International, Inc. Method for name to address resolution
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20080279222A1 (en) * 2001-10-18 2008-11-13 Level 3 Communications Llc Distribution of traffic across a computer network
US7711819B2 (en) 2001-10-31 2010-05-04 Fujitsu Limited Load balancer
US7444639B2 (en) * 2001-12-20 2008-10-28 Texas Insturments Incorporated Load balanced interrupt handling in an embedded symmetric multiprocessor system
JP3969089B2 (ja) * 2001-12-25 2007-08-29 株式会社日立製作所 階層構成サーバシステム
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US20030163586A1 (en) * 2002-02-27 2003-08-28 Steve Schnetzler Server persistence using a URL identifier
US9137324B2 (en) * 2002-04-10 2015-09-15 International Business Machines Corporation Capacity on-demand in distributed computing environments
US20040059777A1 (en) * 2002-05-31 2004-03-25 Palazzo Craig M. System and method for distributed component object model load balancing
JP2004005249A (ja) * 2002-05-31 2004-01-08 Fujitsu Ltd 負荷分散型マルチプロセッサに対する信号振分装置
US20030236813A1 (en) * 2002-06-24 2003-12-25 Abjanic John B. Method and apparatus for off-load processing of a message stream
CN100424673C (zh) * 2002-07-02 2008-10-08 英业达股份有限公司 最佳化信息处理互助式计算机网络系统
US7086061B1 (en) 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
US8015259B2 (en) * 2002-09-10 2011-09-06 Alan Earl Swahn Multi-window internet search with webpage preload
US7334032B2 (en) * 2002-12-04 2008-02-19 International Business Machines Corporation System for allocating storage performance resource
US7568110B2 (en) * 2002-12-18 2009-07-28 Broadcom Corporation Cryptography accelerator interface decoupling from cryptography processing cores
US20040123120A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Cryptography accelerator input interface data handling
US20040123123A1 (en) * 2002-12-18 2004-06-24 Buer Mark L. Methods and apparatus for accessing security association information in a cryptography accelerator
US7434043B2 (en) 2002-12-18 2008-10-07 Broadcom Corporation Cryptography accelerator data routing unit
US7191341B2 (en) * 2002-12-18 2007-03-13 Broadcom Corporation Methods and apparatus for ordering data in a cryptography accelerator
US20040215703A1 (en) * 2003-02-18 2004-10-28 Xiping Song System supporting concurrent operation of multiple executable application operation sessions
US7072807B2 (en) * 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US20040210623A1 (en) * 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7689676B2 (en) * 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7543061B2 (en) * 2003-06-26 2009-06-02 Microsoft Corporation Method and system for distributing load by redirecting traffic
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
US9584360B2 (en) * 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
WO2005043279A2 (en) * 2003-10-31 2005-05-12 Disksites Research And Development Ltd. Device, system and method for storage and access of computer files
US7769802B2 (en) * 2003-12-04 2010-08-03 Microsoft Corporation Systems and methods that employ correlated synchronous-on-asynchronous processing
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US7574708B2 (en) * 2004-03-04 2009-08-11 International Business Machines Corporation Mechanism for enabling the distribution of operating system resources in a multi-node computer system
WO2005107168A1 (fr) * 2004-04-28 2005-11-10 Leonid Aleksandrovich Pogyba Procede d'organisation d'un service de radiodiffusion faisant appel a la transmission numerique de flux audio sur l'internet, et dispositifs permettant sa mise en oeuvre
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7496651B1 (en) 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US9626437B2 (en) * 2004-06-10 2017-04-18 International Business Machines Corporation Search scheduling and delivery tool for scheduling a search using a search framework profile
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
DE112005001995B4 (de) * 2004-09-13 2011-12-08 Fujitsu Siemens Computers, Inc. Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk
US7542981B2 (en) * 2004-10-29 2009-06-02 Massachusetts Institute Of Technology Methods and apparatus for parallel execution of a process
CN100461124C (zh) * 2004-11-26 2009-02-11 富士通株式会社 计算机系统和信息处理方法
US20060123423A1 (en) * 2004-12-07 2006-06-08 International Business Machines Corporation Borrowing threads as a form of load balancing in a multiprocessor data processing system
US20060136717A1 (en) 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US8295484B2 (en) 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
DE102005010690B4 (de) * 2005-03-09 2007-04-12 Knorr-Bremse Systeme für Schienenfahrzeuge GmbH Öleingespritzter Verdichter mit Temperaturschalter
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
CN100371895C (zh) * 2005-05-30 2008-02-27 英业达股份有限公司 均衡负载的文件预装系统及方法
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US20070016393A1 (en) * 2005-06-29 2007-01-18 Microsoft Corporation Model-based propagation of attributes
US8230419B2 (en) * 2005-07-26 2012-07-24 International Business Machines Corporation Method, system and program product for capturing central processing unit (CPU) utilization for a process on a virtual machine
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
CN100562850C (zh) * 2005-11-30 2009-11-25 迈普通信技术股份有限公司 多处理器负载分配调整方法
US7716100B2 (en) * 2005-12-02 2010-05-11 Kuberre Systems, Inc. Methods and systems for computing platform
CN100389392C (zh) * 2006-05-29 2008-05-21 杭州华三通信技术有限公司 一种集群系统中实现负载均衡的方法、系统和存储控制器
US20080288622A1 (en) * 2007-05-18 2008-11-20 Microsoft Corporation Managing Server Farms
US7930573B2 (en) * 2007-09-18 2011-04-19 International Business Machines Corporation Workload apportionment according to mean and variance
US20090265208A1 (en) * 2007-12-10 2009-10-22 Pratt Stephen M Method for outsourcing technology based services
US9723070B2 (en) * 2008-01-31 2017-08-01 International Business Machines Corporation System to improve cluster machine processing and associated methods
US8667175B2 (en) * 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
CN102047244B (zh) 2008-04-04 2013-02-27 第三雷沃通讯有限责任公司 在内容分发网络(cdn)中处理长尾内容
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
CN101739214B (zh) * 2008-11-13 2011-12-07 英业达股份有限公司 一种共享储存设备下自平衡数据访问压力的方法
US8229890B2 (en) * 2008-12-15 2012-07-24 International Business Machines Corporation Opening document stored at multiple database replicas
US8868782B2 (en) 2009-03-10 2014-10-21 Telefonaktiebolaget L M Ericsson (Publ) System and methods for a managed application server restart
US8166200B2 (en) * 2009-03-30 2012-04-24 Microsoft Corporation Smart routing
US9411656B2 (en) * 2009-06-22 2016-08-09 Brocade Communications Systems, Inc. Load balance connections per server in multi-core/multi-blade system
US8817614B1 (en) * 2010-09-16 2014-08-26 Vasona Networks Inc. Policy enforcer having load balancing capabilities
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
WO2012097030A1 (en) * 2011-01-12 2012-07-19 Level 3 Communications, Llc Customized domain names in a content delivery network (cdn)
US9448849B2 (en) 2011-08-31 2016-09-20 Oracle International Corporation Preventing oscillatory load behavior in a multi-node distributed system
US10228976B2 (en) * 2012-05-01 2019-03-12 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for balancing incoming connections across multiple cores
WO2014003611A1 (en) * 2012-06-27 2014-01-03 Telefonaktiebolaget L M Ericsson (Publ) Processor work distribution
US10235069B2 (en) * 2016-12-22 2019-03-19 Western Digital Technologies, Inc. Load balancing by dynamically transferring memory range assignments
US11171720B1 (en) * 2019-06-28 2021-11-09 Amazon Technologies, Inc. Content and compute delivery platform using satellites
US11201939B1 (en) * 2019-06-28 2021-12-14 Amazon Technologies, Inc. Content and compute delivery platform using satellites

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE485774A (ja) * 1947-11-29 1900-01-01
US4403286A (en) * 1981-03-06 1983-09-06 International Business Machines Corporation Balancing data-processing work loads
DE3741953A1 (de) * 1986-12-19 1988-06-30 Nippon Telegraph & Telephone Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
GB2281793A (en) * 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
インターフェース 1995年9月号(CQ出版社),p.130〜146

Also Published As

Publication number Publication date
GB2309558A (en) 1997-07-30
HUP9903820A3 (en) 2001-05-28
BR9612485A (pt) 1999-07-13
EP0880739B1 (en) 1999-05-12
CA2231810A1 (en) 1997-08-14
DE69602461T2 (de) 1999-12-16
US5867706A (en) 1999-02-02
PL183401B1 (pl) 2002-06-28
DE69602461D1 (de) 1999-06-17
RU2156546C2 (ru) 2000-09-20
WO1997029423A1 (en) 1997-08-14
PL327918A1 (en) 1999-01-04
CA2231810C (en) 2004-05-25
ES2131415T3 (es) 1999-07-16
CN1091277C (zh) 2002-09-18
HU225072B1 (en) 2006-06-28
EP0880739A1 (en) 1998-12-02
CZ232498A3 (cs) 1998-12-16
JPH11503551A (ja) 1999-03-26
CN1202971A (zh) 1998-12-23
GB9601559D0 (en) 1996-03-27
HUP9903820A2 (hu) 2000-03-28
CZ289563B6 (cs) 2002-02-13

Similar Documents

Publication Publication Date Title
JP2953591B2 (ja) サーバ・コンピュータのプロセッサ全体にわたる負荷平衡化
CA2267953C (en) Web serving system with primary and secondary servers
US6253234B1 (en) Shared web page caching at browsers for an intranet
US7426546B2 (en) Method for selecting an edge server computer
US6038603A (en) Processing customized uniform resource locators
US6366947B1 (en) System and method for accelerating network interaction
KR100300494B1 (ko) 서버에서의 데이터 프리캐싱 방법 및 장치
JP5920903B2 (ja) 遠隔ブラウジングセッション管理
US6023722A (en) High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers
KR100283453B1 (ko) 프록시 하이어라키에서의 스테이징/버퍼링에 의한동적 푸시 여과 방법
US7167142B2 (en) Multi-user display system
WO1998004985A9 (en) Web serving system with primary and secondary servers
JP2000187609A (ja) 要求されたオブジェクトを検索する方法及び記録デバイス
JPH10162030A (ja) ハイパ−リンク情報をレンダするための方法及び装置
KR100826835B1 (ko) 최적화된 웹 접근을 위한 사용자 지정 병렬 데이터 페치
CN1444747B (zh) 内容管理器
KR100308705B1 (ko) 프로세서간부하밸런싱을가능하게하는서버컴퓨터및서버컴퓨터동작방법
WO2002061586A2 (en) Smart-caching system and method
JP2002236625A (ja) サーバの情報提供方法およびサーバ
EP1300774A1 (en) Rated information service
JPH11353248A (ja) ファイル送信方法及びシステム及びファイル送信プログラムを格納した記憶媒体

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100716

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 14

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees