JP4354532B2 - 分散コンピュータシステム及びユーザ要求をレプリカネットワークサーバに分配する方法 - Google Patents

分散コンピュータシステム及びユーザ要求をレプリカネットワークサーバに分配する方法 Download PDF

Info

Publication number
JP4354532B2
JP4354532B2 JP52688698A JP52688698A JP4354532B2 JP 4354532 B2 JP4354532 B2 JP 4354532B2 JP 52688698 A JP52688698 A JP 52688698A JP 52688698 A JP52688698 A JP 52688698A JP 4354532 B2 JP4354532 B2 JP 4354532B2
Authority
JP
Japan
Prior art keywords
server
client
director
request
route
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
JP52688698A
Other languages
English (en)
Other versions
JP2001509925A (ja
Inventor
ラーンス ジョーフィー,ロドニー
アラン ブリテイン,ジェイソン
エベレット ペッティンゲル,ブライアン
バーク バンデベンター,イーアン
マイケル ホーツ,スティーブン
エイ. ダイクス,バリー
ジョーゼフ,ザ セカンド オペルマン,ビクター
ジョーゼフ リッパード,ジェイムズ
ディーン ワトソン,ブレット
ハーバート マッカーシー,ニールス
Original Assignee
ジーティーイー インターネットワーキング インコーポレイテッド
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 ジーティーイー インターネットワーキング インコーポレイテッド filed Critical ジーティーイー インターネットワーキング インコーポレイテッド
Publication of JP2001509925A publication Critical patent/JP2001509925A/ja
Application granted granted Critical
Publication of JP4354532B2 publication Critical patent/JP4354532B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions

Description

[関連出願]
本出願は、下記の米国仮特許出願からの優先権を主張する。すなわち、1996年12月9日付けにて出願された「A Distributed Computing System and Method for Distributing User Requests to Replicated Network Service」と題するRodney L.Joffle等の米国仮特許出願第60/032,484号。
[発明の背景]
本発明は、一般的に分散型コンピュータシステムの分野に関し、特定すると、基礎をなすネットワーク基礎構造体の速度のような最良の規準に基づいて複数のネットワークサーバの一つに要求を割り当てるコンピュータ(計算)システムおよび方法に関する。
世界規模のウェブの爆発的成長は、僅かの紹介しか必要としない。技術的共同体のメンバーが、World Wide Web上で入手し得る常時増大しつつある数の技術的および情報的資源を見出すだけでなく、主流である大衆は、好みのレストラン、車メーカ,教会を見つけて楽しんでいる。通信媒体としてのWorld Wide Webの人気は、その情報内容の豊富さと使用の容易さにある。この媒体における情報は、広く分散された一群のインターネットワーク接続されたサーバにおいてオブジェクトとして存在し、各オブジェクトはそれ自身の均一リソースロケータ(URL)により一意的にアドレス可能である。発足以来、Word Wide Webは、日常の生活や商取引において世界規模の突出性を示した。
しかしながら、この爆発的成長は、困難性なしにあったわけではない。商業的な応用の増大の結果、常時増大しつつある数のユーザが常時増大しつつある数の問合せを発することとなる。潜在性と帯域幅の制約の問題は、遅延と、情報の損失と、顧客の混乱をもたらすことは自明である。
ネットワーク設計者は、一連の解決策を使って応ずる。多くの回答は、より大きな計算パワを供給することに基づく解決法の範疇にある。これは、異なるウェブサーバソフトウェア、ウェブサーバハードウェアまたはプラットフォーム、サーバにおけるRAMまたはCPUの増加、アプリケーションの再書込み、またはハードウェアの更新によるネットワークハードウェアの増大のような代わりの問題を包含しよう。他の種類の解決方法は、複数のサーバを使用することまたはサーバを戦略的に位置づけることを包含する。この種類の一つの方法は、サーバをインターネットサービスプロバイダに位置づけることである。最適のペアリング能力を有するサービスプロバイダを選択することによって、サーバをサービスプロバイダ領域に一緒に配置することでインターネットの残部へのより良好な接続を生ずることができる。他の手法は、分散サーバの使用である。同一内容のサーバを世界中の戦略位置に置く。例えば、一つはニューヨークに、一つはサンフランシスコに、そして一つはロンドンに置く。これはロードを複数のサーバに分散し、トラフィックを要求者により近づけて保持する。他の手法はサーバをクラスタリングすることである。クラスタリングは、ハードドライブアレイを複数のサーバ間で共有することを可能にする。他の手法は、サーバファームである。これは、同一の内容を有する複数のウェブサーバの使用、または機能性に基づくセグメント化を包含する。例えば、ウェブ機能に対して二つのサーバが、FTPに対して二つ、データベースとして二つというように使用される。サーバファームの変形は分散サーバファームである。これは、サーバファームを戦略位置に置き、本質的にサーバファームを分散型サーバの手法と組み合わせる。
複数サーバの手法および分散型サーバの手法は、他の問題を生ずることを犠牲にして一つの問題を解決する。もしも複数のサーバがあれば、最終ユーザはどのようにして一つのサイトを見つけるのであろうか。現在のところ、ネームおよびユニバーサルリソースロケータ(URL)が、ドメインネームサービス(DNS)により固有の単一のアドレスに分解される。DNSサーバは、個々のIPアドレスを相互参照するドメインネームを維持する。しかしながら、複数のウェブサーバまたはサーバファームが使用されると、DNSシステムは変更されねばならない。この問題に対する共通の手法は、DNSシステムをネーム対IPアドレスの1複数マッピングに変更することである。かくして、DNSは、任意特定のウェブオブジェクトに対してIPアドレスのリストを戻す。これらは、ラウンド−ロビン様式で種々のクライアントに送ることができる。しかしながら、この手法には数点の欠点がある。ラウンドロビン様式は、要求者またはサーバの位置にあまり関係なくIPアドレスを厳しい順序で戻す。この方式は、サーバアーキテクチャまたは負荷状態を認識しない。選択は、簡単なリストに沿って進行するだけである。一つのサーバはすべての重デューティユーザを受け付けることができる。さらに、再弱のリンクが全性能を決定するから、サーバプラットホームは比較的均等に維持されることが必要である。他の問題は、DNSが、アドレスが対応しているサーバが動作しているか否かに拘わりなくIPアドレスを単純に戻すことである。したがって、もしもラウンド−ロビンサーバの一つがたまたまメインテナンスのためにオフラインにあると、DNSは、アドレスを送出し続け、潜在的ユーザは、タイムアウトエラーを受信し続ける。かくして、DNSのラウンド−ロビン変更は、分散サーバの問題を解決しようとする広い試みを作り出す。しかしながら、その場合、そこではネットワークのトラフィックやサーバ間の平衡性が低いことや、忠実性の問題とは無関係である。
市場の数種の製品は、これらの問題を解決しようと目論んでいるが、これらの従来の努力はすべて、レプリカサーバ選択を容易化するためにユーザソフトウェア環境が変更されるべきことを必要とするという欠点を有した。ユーザソフトウェア変更を必要とするという方式は、広いソフトウェアの分布を保証するという実際的な問題に起因して望ましさが欠ける。この種の方式は、せいぜい最適化技術として有用であるに過ぎない。
一つのこの種の手法は、ユーザ要求をサーバに割り当てるために明白なユーザ選択に依存する手法である。ユーザアプリケーションは、それら自身のサーバ選択をなすに十分の情報、技巧および寛容性を有することをユーザに要求する追加のステップを含むことがある。この種の方式は、多数の理由のために必ずしも望ましくない。
選択的ホストルート指定に基づく技術は、ネットワークトポロジの異なる点に位置づけられすべて同じネットワークアドレスをもつ複数のレプリカサーバを使用する。各サーバと関連するルータは、共有されるサーバアドレスに対する到来ネットワークトラフィックを捕捉し、特定のサーバにトラフィックを送る。この技術は、クライアント要求負荷を近傍のサーバに静的にのみ送り、サーバの負荷または他のネットワーク特性を考慮しない。
ドメインネームシステムサーバのBINDの実施形態は、サーバネームを異なるネットワークアドレスに結合する技術を含み得るが、この場合、一組の複数のアドレスの一つが逐次的にあるいはランダムに割り当てられる。サービスプロバイダは、異なるアドレスを各レプリカサーバに割り当て、BINDは、ユーザ要求を代わりのサーバに送る。この技術はクライアントの要求を任意のサーバに静的にのみ分配し、サーバ負荷やその他のネットワーク特性について考慮しない。
SONARは、特にトポロジカルクローズネスに対してネットワーク特性を分散するための出現しつつあるITF(Internet Engineering Task Force)である。SONARは、問合せ要求および応答を表すデータフォーマットを含むが、ネットワーク特性を決定するための機構を特定しない。
Cisco Local Directorは、複数のローカルの正面に据えられるネットワークトラフィックとして働く製品で、サーバに流れるトラフィックの量に基づいて各サーバに新しいトランスポート接続を分配する。この製品は、その決定においてネットワーク特性を考慮せず、さらにレプリカサーバがコロケートされるべきことを要求する。Cisco Systemsは、カリフォルニヤ州、San Jose本部を置く会社である。
Cisco Distributed Directorは、ネットワークルーティングプロトコルから得られる情報に基づいて接続形態的に遠隔のサーバにユーザ要求を転送する。Distributed Directorは、到来するDNS要求かHTTP要求のいずれかを受け止め、転送のために適当な応答を供給する。この製品は、サーバ負荷を考慮せず、ルーティングプロトコルから入手できる限定された一組の情報だけを考慮する。この情報はまた、スケーリング可能なインターネットルーティングを可能にするに必要な集合技術により、正確度が制限される。
これらの製品は、一緒に捉えると、サーバ負荷およびネットワーク特性を考慮するが、統合されたサーバ選択を行わない。しかし、なお「世界規模の待ち」である、という評論家の批評がなお真実である。この理由のため、必要とされるものは、ユーザ要求および基礎にあるネットワークの能力およびトポロジに基づいてユーザに対するデータオブジェクトを検索すべき適当なサーバを自動的に選択するシステムである。
[発明の概要]
本発明は、複数のネットワークサーバ間のクライアントによりなされるデータオブジェクト要求を割り当てることを可能にする。特定のルート指定方針の目的に合致するような態様で、分散コンピュータシステムにより含まれるレプリカサーバにユーザ要求を割り当てる分散コンピュータ(計算)システムおよび方法を提供する。特定のルート指定方針は、要求が完成されるに要する時間量を最小化することを含んでよい。例えば、本発明に従うシステムは、最短の利用可能なネットワーク路に従いユーザにデータオブジェクトを分配するように構成できる。
詳述すると、本発明は、データオブジェクト要求を「最良サーバ」ルート指定方針に基づいて任意の数のクライアントから複数のコンテントサーバにルート指定するためのシステムを提供する。コンテントサーバは、ディレクタの決定に基づいて、クライアント要求に応じてデータオブジェクト1または複数のネットワークアクセス点に分配する。ディレクタは、ルート指定方針に基づいてそのデータオブジェクト要求の特定のコンテントサーバへのルート指定を決定する。
本発明の特定の側面に従うと、ルート指定方針は、下記のもののいずれか、下記のものの任意の組合せを含んでよいし、下記のもののいずれも含まなくてもよい。すなわち、(1)最小数のオープンTCP接続、(2)もっとも利用可能なフリーRAM、(3)もっとも利用可能なフリーSWAP(仮想メモリ)、(4)CPU遊び時間の最大量、または(5)クライアントマシンへの最速ICMPである。
本発明に従う手法の利点は、基礎となるハードウェアに起こるフォルトに関するトレランスの増大、従来形式のウェブサーバに優る信頼性である。
【図面の簡単な説明】
図1A代表的なクライアントサーバ関係を示す線図である。
図1B代表的クライアントサーバ関係を示す機能的機能的な斜視図である。
図1C代表的インタネットワーク環境を示す線図である。
図1DはTCP/IPプロトコルスーツの層を示す関係線図である。
図2Aは本発明の特定の具体例に従う分散コンピュータ環境を示す線図である。
図2Bは本発明の代替具体例に従う分散コンピュータ環境を示す線図である。
図3Aは本発明の代表的具体例に従うプロセスの関係を示す線図である。
図3Bは本発明の代替具体例に従うプロセスの関係を示す線図である。
図3Cは本発明の好ましい具体例に従うプロセスの関係を示す線図である。
図4Aは本発明の特定の具体例に従うプロセスステップを示す線図である。
図4Bは本発明の代替具体例に従うプロセスステップを示す線図である。
図4Cは本発明の代替具体例に従うプロセスステップを示す線図である。
図5〜5Cは本発明の特定の具体例に従うディレクタ要素内の最適化プロセスを示すフローチャートである。
[特定の具体例の説明]
以下、図面を参照して本発明を好ましい具体例について説明する。
[1.0 イントロダクション]
ーバ負荷平衡化システムの好ましい具体例は、実施に移されており、「HOPSCTCH」成るトレードマークの下で入手可能である。
ステムは、分散ネットワーク接続環境における複数のコンピュータ上における代替具体例に、あるいは同じコンピュータ上で仮想マシンまたはアドレススペースにおいてランされる複数のプロセスを含む。ネームの指数関数的な増加を制限するために、読取り可能性を高めるために下記の約束が採用されている。「xyzサーバ」は、xyzを構成する一群のプロセスを収容するコンピュータまたは仮想マシンである。「xyz要素」は、集合的にxyzとして言及される一組の機能を遂行する一群のプロセスである。「xyz」は、xyzマシン上でxyz要素により遂行される一組の機能である。
[1.1 ハードウェアの概観]
本発明のサーバ負荷平衡化のための分散コンピュータシステム(「システム」)は、Perlプログラミング言語で実施され、図1Aに図示されるようなコンピュータシステム上で動作する。本発明は、クライアント−サーバ環境で実施できるが、クライアント−サーバ環境は必須ではない。図1Aは、一つのサーバ20および多数のクライアントを含む従来形式のクライアント−サーバシステムを図示している。クライアントはその一つがクライアント25として図示されている。
「サーバ」成る用語は、本発明の概念において使用される。すなわち、サーバはクライアント(代表的には遠隔の)から問合せを受け、問合せに対する応答を形成するに必要なすべての処理をなし、これらの応答をクライアントに提供する。しかしながら、サーバ20それ自体は、データベースサーバとして働く他のノードに位置する遠隔データベースにアクセスするときには、クライアントの資格で働くことができる。
ハードウェアの形態はほぼ標準にあるから、ここでは短く記述する。周知の実施形態に従うと、サーバ20は、サブシステム32を介して多数の周囲デバイスと通信する1または複数のプロセッサ30を備える。これらの周辺デバイスは、普通メモリサブシステム35aとファイルメモリサブシステム35bより成る記憶システム35(コンピュータプログラム(例えばコードまたは命令)およびデータを保持する)、ユーザインターフェース入力および出力デバイスセット37および外部ネットワークに対するインターフェースネットワークを備える。ネットワークは、Ethernet、Torn Ring、ATM、IEEE 802.3、ITU X.25,Serial Link Internet Protokol(SLIP)または公衆電話交換網を採用し得る。このインターフェースは、「Network Interface」ブロック40として略示されている。これは、ネットワーク接続45を介してクライアントコンピュータ内の対応するインターレースデバイスに結合される。
クライアント25は、普通記憶および処理能力はより小さいが同じ一般形態を有している。かくしてクライアントコンピュータは、端末またはローエンドパーソナルコンピュータでよいが、サーバコンピュータは、一般にSUN SPARCTMサーバのようなハイエンドワークステーションまたはメインフレームである。クライアントコンピュータ内の対応する要素およびサブシステムは、対応するがダッシュ付きの参照番号で示されている。
ユーザインターフェース入力デバイスは、普通キーボードを備え、さらにポインティングデバイスとスキャナを備えてよい。ポインティングデバイスは、マウス、トラックボール、タッチバッドまたはグラフィックタブレットのような間接的なポインティングデバイス、またはディスプレイに合体されるタッチスクリーンのような直接的ポインティングデバイスとしてよい。ボイス認識システムのような他の形式のユーザインターフェース入力デバイスも可能である。
ユーザインターフェース出力デバイスは、普通プリンタとディスプレイサブシステムを備えるが、このディスプレイサブシステムは、ディスプレイコントローラと、このコントローラに接続されるディスプレイデバイスを備える。ディスプレイデバイスは、陰極線管(CRT)、液晶ディスプレイ(LCD)のようなフラットパネルデバイスまたは投影デバイスでよい。ディスプレイコントローラは、ディスプレイデバイスに制御信号を供給し、通常、ディスプレイデバイス上に現れるピクセルを記憶するためのディスプレイメモリを備える。ディスプレイサブシステムはまた、音響出力のような非可視的ディスプレイを備えてよい。
メモリサブシステムは、普通、プログラミング実行中命令およびデータを記憶するための主ランダムアクセスメモリ(RAM)と、固定命令を記憶するリードオンリーメモリ(ROM)を備えるマッキントッシュコンパティブルパーソナルコンピュータの場合、ROMはオペレーティングシステムの一部を含む。IBMコンパティブルパーソナルコンピュータの場合、これはBIOS(基本入力/出カシステム)となろう。
ファイル記憶サブシステムは、プログラムおよびデータファイルの持続的な(不揮発性)記憶を提供し、普通少なくとも一つのハードディスクドライブと少なくとも一つのフロッピディスクドライブ(関連する除去可能な媒体をもつ)を備える。CD−ROMドライブおよび光ドライブ(関連する除去可能な媒体をもつ)のような他のデバイスでもよい。代わりに、コンピュータシステムは、除去可能な媒体カートリッジを有する形式のデバイスを備えてよい。除去可能な媒体カートリッジは、例えば、ハードディスクカートリッジ(Syquestおよびその他により販売されるもの)およびディスクカートリッジ(例えばIomegaにより販売されるようなもの)を含んでよい。ドライブの1または複数を、ローカルエーリヤネットワーク上のサーバまたはインターネットワールドワイドウェブのサイトにおけるような遠隔位置に位置づけてもよい。
この明細書において、「バス」サブシステム成る用語は、種々の要素とサブシステムを意図されるとき相互に通信せしめる機構を含むものとして一般的に使用される。入力デバイスとディスプレイを除いて、他の要素は同じ物理的位置にあることを要しない。かくして、例えば、ファイル記憶システムの一部は、電話ラインを含め、種々のローカルエーリヤ媒体またはワイドエーリヤ媒体と接続されることもある。同様に、入力デバイスおよびディスプレイは、プロセッサと同じ位置にあることを要しないが、本発明は、PCSおよびワークステーションの意味で実施されるのがもっとも多いと予測される。
バスサブシステム32は、単一のバスとして略示されているが、ローカルバスまたは1または複数の拡張バス(例えばAOB,SCSI,ISA,EISA,MCA,NuBus,またはPCI)、ならびに直列および並列ポートを有する。ネットワーク接続は、普通、これらの拡張バスの一つのバス上のネットワークアダプタまたは直列ポート上のモデムを介して設定される。クライアントコンピュータは、デスクトップまたはポータブルシステムとし得る。
ユーザはインターフェースデバイス(またはスタンドアロンシステムのデバイス37)を使用してシステムと対話する。例えば、クライアント問合せは、キーボードにより入力され、クライアントプロセッサ30’に通信され、ついでバスサブシステム32’を介してネットワークインターフェース40’に送られる。問い合わせは、ついでネットワーク接続45を介してサーバ20に通信される。同様に、問合せの結果は、デバイス37’上の一つにて出力のため(例えばディスプレイまたはプリンタ)ネットワーク接続45を介してサーバからクライアントに通信されるか、または記憶サブシステム35’上に記憶されてもよい。
図1Bは、図1Aのコンピュータシステムの機能的ダイアグラムである。図1Bは、サーバ20と複数のクライアントの代表的クライアント25を描いているが、このクライアント25は、インターネット45または任意の他の通信法によりサーバ20と対話し得る。サーバの右方のブロックは、サーバプログラムおよび図1Aのブロック35aにより指示されるデータ記憶デバイスで行われる処理要素および機能を表している。TCP/IP「スタック」44は、オペレーティングシステム42と一緒に働き、サーバ20をネットワークまたはインターネット45に取り付ける直列接続を介してプロセッサと通信する。ウエブサーバソフトウェア46は、サーバ20内の他の処理と同時かつ協同的に実行され、データオブジェクト50および51を要求中のクライアントに入手せしめる。Common Gateway Interface(CGI)スクリプト55は、ユーザクライアントからの情報がウエブサーバ46により、あるいはサーバ20内の他のプロセッサにより作用されることを可能にする。クライアントに対する応答は、Hypertext Markup Language(HTML)の形式でクライアントに戻され、そしてこれはついでインターネット45を介してユーザに通信される。
図1Bのクライアント25は、図1Aブロック35’により指示されるプログラムおよびデータ記憶装置に配置される機能的プロセスをインクリメントする。TCP/IPスタック44’は、オペレーティングシステム42と関連して動作し、クライアント25をネットワークまたはインターネット25に取り付ける直列接続を介してプロセッサと通信する。ウエブブラウザ46’の機能を実施するソフトウェアは、クライアント25内の他の処理と同時かつ協同的に実行し、サーバ20のデータオブジェクト50および51への要求を発する。クライアントのユーザは、ウエブブラウザ46を介して対話し、インターネット45を介してサーバ20のこの要求を発し、ウエブブラウザ46’上においてインターネット45を介してのサーバ20からの応答を見る。
[ネットワーク概観]
図1Cは、上述のような、図1Aおよび図1Bのクライアント25のような複数のクライアントと、図1Aおよび図1Bのサーバ20のような複数のサーバインターネットワーク接続を例示するものである。図1において、ネットワーク70は、トークンリングまたはフレーム指向ネットワークの例である。ネットワーク70は、AIXオペレーティングシステムをランさせてよいIBMRS6000RISCのようなホスト71を、Windows95,IBM OS/2またはI)05オペレーティングシステムをランさせてよいパーソナルコンピュータであるホスト72、およびおS/400オペレーティングシステムをランさせてよいIBM AS/400コンピュータでよいホスト63にリンクする。ネットワーク70は、システムゲートウエイを介してネットワーク60にインターネットワーク接続されるが、システムゲートウエイは、ここではルータ75として図示されているが、ファイヤウオールまたはネットワークブリッジを有するゲートウェイとしてもよい。ネットワーク60は、SUNOSオペレーティングシステムをランさせてよいSPARCワークステーションであるホスト61を、VMSオペレーティングシステムをランさせてよいDigital Equipment VAX6000コンピュータとしてよいホスト62とインターネットワーク接続するEthernetネットワークの例である。
ルータ75は、ネットワーク70とネットワーク60のネットワークアクセス点(NAP)である。ルータ75は、トータンリングアダプタおよびEthernetアダプタである。これにより、ルータ75は、二つの不均質なネットワークとインターフェース接続できる。ルータ75はまた、ICMP ARPおよびRIPのようなインターネットワークプロトコルを意識している。このプロトコルについては後述する。
図1Dは、Transmission Control Protocol Internet Protocol(TCP/IP)プロトコルの構成要素の例示である。TCP/IPプロトコルスーツのベース層は、物理層80であり、これは、例えば図1Aのネットワーク接続45のような通信媒体を介してのデータの物理的伝送のための機械的、電気的、機能的および手続き的標準を限定するものである。物理層は、ネットワークがパッケットスイッチングであるか、フレームスイッチングであるか、あるいはネットワークがCarrier Sene Multiple Access/Colision Detection(CSMA/CD)に基づくか、フレームリレーパラディム(系列)に基づくかのような電気的、機械的または機能的標準を含み得る。
物理層80に重なっている物理層は、データリンク層82である。データリンク層は、ネットワーク資源間においてデータを転送し、物理層に起こり得るエラーを検出するための機能およびプロトコルを提供する。データリンク層におけるオペレーティングモードは、IEE 802.3 Ethernet, IEEE802.5 Token Ring, ITU X.25またはserial(SLIP)プロトコルのような標準的ネットワークトポロジを包含する。
ネットワーク層プロトコル84が、データリンク層に重なり、ネットワーク間に接続を設定するための手段を提供する。ネットワーク層プロトコルに対する標準は、通信をインターネットワーク接続し、情報を複数の不均質ネットワークを介してルート指定するための動作的制御手続きである。ネットワーク層プロトコルの例は、Internet Protocol(IP)およびInternet Control Message Protocol(ICMP)である。Address Resolution Protocol(ARP)は、インターネットアドレスと特定のホストのMedia Access Address(MAC)間を相関づけるのに使用される。Routing Information Protocol(RIP)は、ネットワーク上のホスト間においてルート指定情報を通すための動的ルート指定プロトコルである。INternet Control Message Protocol(ICMP)は、種々のネットワーク上のホスト間において制御メッセージを通すための内部的プロトコルである。ICMPは、ネットワーク環境における事象についてフィードバックを提供し、あるいはネットワーク環境にある特定のホストに対してパスが存在するかどうかを決定するのを助ける。後者は、「Ping」と称される。Internet Protocol(IP)は、インターネットにおいて情報パケットをルート指定するための基本的メカニズムを提供する。IPは、「最善努力」の供給サービスを提供するもので、ネットワーク資源を特定のトランザクションに委託しないし、再伝送を遂行することも確認を与えることもしない。
トランスポート層プロトコル86は、複数の不均質ネットワーク間においてエンド−エンドトランスポートサービスを提供する。User Datagram Protocol(UDP)は、無接続のデータグラム指向のサービスを提供するが、これは情報ストリームに対する信頼性のない供給メカニズムである。Transmission Control Protocol(TCP)は、インターネットにおいて情報を逐次のパケットを供給するため信頼性のあるセッションベースのサービスを提供する。TCPは、情報供給のための接続指向の忠実性のあるメカニズムである。
セッションまたはアプリケーション層88は、ネットワークアプリケーションおよびユーティリティのリストを提供するもので、その二三をここにリストする。例えば、File Transfer Protocol(FTP)は、ファイルを一つのマシンから他のマシンに転送するための標準TCP/一プロトコルである。FTPクライアントは、ファイルを得るためにTCP接続を介してFTPとセッションを設定する。Telnetは、遠隔端末接続のための標準的TCP/IPプロトコルである。Telnetクライアントは、端末エミュレータとして働き、トランスポートメカニズムとしてTCPを使用してTelnetサーバとの接続を設定する。Simple Network Management Protocol(SNMP)は、TCP/IPネットワークを管理するための標準である。「エージェント」と称されるSNMPタスクが、ネットワーク状態パラメータを監視し、これらの状態パラメータを「マネージャ」と称されるSNMPタスクに伝送する。マネージャは関連するネットワークの状態を追跡する。Rmote Procedure Call(RPC)は、プログラムがサーバマシン上の遠隔機能を呼び出すことを可能にするプログラミングインターフェースである。Hypertext Transfer Protocol(HTTP)は、一様な資源インジケータ(URI)システムを介してネットワークを横切ってデータオブジェクトを転送することを容易にする。
Hypernet Transfer Protocolは、Transfer Cobtrol Protocol(TCP)の頂部上に形成された単純なプロトコルである。HTTPは、ユーザが、インターネット上のサーバとして働く種々のホストからデータオブジェクトを得るための方法を提供する。データオブジェクトのユーザ要求は、HTTP GET要求によりなされる。以下に説明されるGET要求は、(1)″http://″のHTTPヘッダ、それに続く(2)データオブジェクトが存在するサーバの識別子、それに続く(3)データオブジェクトの全パス、それに続く(4)データオブジェクトのネームである。以下に示されるGET要求において、″/pub/″のパスネームおよび″MyData.html″のネームをもつデータオブジェクトに対してサーバ″www.w3.org″の要求がなされつつある。
GET http://www.w3.org/pub/MyData.html (1)
GET要求の処理は,GET要求内のサーバネームとのTCP/IP接続の設定と、特定されたデータオブジェクトのサーバからの受信を伴う。要求メッセージの受信後、サーバはHTTP RESPONSEメッセージの形式で応答する。
応答メッセージはプロトコルバージョンとそれに続く数値状態コードおよび関連する文による(テクスチャルな)理由フレーズを含む状態ラインで始まる。これらの要素は、スペース符号で分離される。状態ラインのフォーマットは、ライン(2)に記述する。
Status-Line=HTTP-Version Status-Code Reason-Phrase (2)
状態ラインはつねにプロトコルバージョンと状態コード例えば″HTTP/1.0200″で始まる。状熊コード要素は、前の要求メッセを理解し満足させようとする試みの3ディジット正数の結果コードである。理由フレーズは、状態コードの単文による記述を与えることが意図される。状態コードの第1のディジットは、応答の種類を定義する。第1のディジットに対して5つのカテゴリーがある。1XXは情報応答である現在使用されていない。2XXは成功応答であり、アクションは成功裏に受信され、理解され、容認されたとの応答である。3XXは、要求を完成するために追加のアクションが採られねばならないことを指示する再転送応答である。本発明の特定の具体例により使用されるのはこの応答であり、クライアントを選択されたサーバサイトに転送せしめる。4XXは、クライアントエラー応答である。これは、要求に悪いシンタクスがあることを意味する。最後に、5XXはサーバエラーである。これは、サーバが明らかに有効な要求を実現しなかったことを意味する。
HIIPメッセージの特定のフォーマットは、Croccker,D.著「Standard for the Format of ARPA Internet Text Messaged」, STD II, RFC 822, UDEL, 1982年1月発行に記載されている。この著書も参照されたい。
[2.0 特定の形態]
図2Aは、本発明に従う代表的な分散コンピュータシステムの線図である。
図2Aにおいて、ネットワーク200は、複数のサーバマシンを相互にかつ外部のインターネットワーク接続環境と複数のネットワークアクセス点(NAP)を介して相互接続する。この内部ネットワークのトポロジは、本発明に関して完全に任意である。Ethernet, Token Ring,Asynchronous transfer Mode(ATM)または他の従来のネットワークトポロジでよい。ネットワークアクセス点は、大きいネットワーク間の接続点であり、ルータ、ゲートウエイ、ブリッジ、その他特定のネットワークトポロジに従ってネットワークを接続する方法を含んでよい。
ネットワークアクセス点202、204、206および208は、複数の外部ネットワークパスを介してクライアントマシンと通信のため、外部ネットワークA,B,CおよびDへのネットワークの達成を可能にする。特定の具体例において、これらのネットワークアクセス点は、ルーティング構成要素の一部を収容している。好ましい具体例において、これらのNAPは他のネットワークと匹敵するルータ224,224,226および228であり、知られているOpen Shortest Path First(OSPF)ルーティングアルゴリズムである。OSPFは、パケットをもっとも近いマシンにルート指定することによって、数種のマシンが正確に同じIPアドレスを有する場合を容認できる。これに比して、代わりのルーティングメカニズム、Routing Information Protocol(RIP)はこのケースを扱えないであろう。さらに、これらのルータは、当技術に精通したもの周知のIPトンネル化技術を採用し、方針ルート指定可能である、すなわちそれらパケットのソースアドレスに一部依存してパケットをルート指定できる。各々は,IPトンネルを利用して、パケットのソースアドレスおよびサーバの利用可能性に基づいて、特定のNAPにあるルータを介してパケットをネットワークから送り出すように構成できる。
図2Aはまた、各NAPに一緒に位置づけられるフロントエンドサーバ212,214,216および218を示している。これらのフロントエントサーバは、フロントサーバ要素プロセスを収容している。好ましい具体例においては、フロントエンドサーバは、IPリレーやプロセス要素を収容している。これらのプロセスの機能については後述する。
ディレクタサーバ250は、数種のソフトウェア要素を収容しているが、これらの要素は、好ましい具体例においては、ディレクタ要素、ピングマネジャ要素およびロードマネジャ要素を含んでいるが、これらの各々については後述する。
1または複数のコンテントサーバ232,234,236および238は、コンテントすなわちウェブページまたはFTPファイルの実際の分配を遂行する。
各々は、それと関連して、出パケットがディレクタ要素により選択できるソースアドレスを有するようにデータを分配できるコンテントサーバ要素の1または複数のインスタンスを有している。
各コンテントサーバは、システムにより制御される各ルータに対するネットワークエアリアスIPアドレスを有している。例えば、4つのルータを有するシステムの場合、特定のコンテントサーバは、4つの別個のネットワークエアリアスIPアドレスを有するであろう。システム内のルート指定は、「方針ルート指定」(PolicyRouting)すなわち、パケットのソースアドレスに基づくルート指定を行うように構成される。その結果、パケットがどのネットワークエアリアスIPアドレスから来るかに依存して、パケットはディレクタにより選ばれる特定のルータを経てルート指定される。一連の選択可能な、IPトンネルは、コンテントサーバが、「最良の」ルートを使用してクライアントにデータを送出することを可能にする。IPトンネルは、各サーバが選ばれたネットワークアクセス点を通ってデータを分配送出できるように構成される。これに対比して、斯界に周知のシステムは、データがデフォルトピアリング点を介して出るようにデータを分配する。すなわち、インターネットを構成する他のネットワークに導き得るネットワーク出口点からデータを分配する。普通、デフォルトピアリング点は、ネットワークに対する唯一のピアリング点である。各IPトンネルは、全データを異なるピアルータに全データを送出するように構成される。各IPトンネルは、一つのルータでスタートし、他の(遠隔)ルータで終わる。これにより、コンテントサーバファーム(一つまたは複数のコンテントサーバが同じ物理的位置にあり、ルータの後で作用する)は、ディレクタがこれが最適のパスにあることを決定すれば、データを異なるコンテントサーバファームルータを介して分配する。
ルータは、パケットがIPトンネルと関連するソースアドレスを有するとき、パケットをそのIPトンネルに沿って送出するように静的に構成される。例えば、三つのピアリング点を有するネットワークにおいて、第1のピアリング点にあるルータ「A」と呼ぶは二つのでトンネル、「トンネル1」と「トンネル2」を有することになろう。これらのでトンネルは、他の二つのルータに導かれる。しかして、この他の二つのルータは、各々他の二つのピアリング点BおよびCの一つに存する。ピアリング点Aに存するルータは、1.1.1.1のソースアドレスを有するすべてのパケットをトンネル1に沿ってルート指定し、2.2.2.2のソースアドレスを有するすべてのパケットをトンネル2に沿ってルート指定するように構成されるであろう。トンネル1は、すべてのパケットを第2のピア点Bに送出し、トンネル2はすべてのパケットを第3のピアリング点Cに送出する。これは、ソースベースのルート指定であり、一般に「方針ルート指定」として知られている。
ピアリング点Aにあるルータと関連するコンテントサーバは、サーバソフトウェアをランするが、これがそのサーバソケットのローカル側をアドレス1.1.1.1および2.2.2.2に結合し、それがいずれかのアドレスから作用することを可能にする。ディレクタソフトウェアは、そのコンテントサーバについてのサーバアドレスを所有する。これにより、ディレクタは、コンテントサーバが1.1.1.1ドレスから作用する時点を決定でき、全パケットは、トンネル1を介してネットワークアクセス点Bに分配され、コンテントサーバが2.2.2.2アドレスから作用するとき、全パケットはトンネル2を介してネットワークアタセス点Cに分配される。ディレクタソフトウェアは、どの完全適正化ドメインネームIPアドレスに対応しているにサービスのためアクセスすべきかをクライアントに知らせることによってコンテントサーバがそのデータを分配するのに通るNAPを選択できる。何故ならば、そのアドレスが要求の回答パケットのソースアドレスであるからである。回答のパケットは、ディレクタソフトウェアにより選ばれたNAPを介して自動的にルート指定される。
この方針ルート指定形態は、設定中に各システムについて一度セットアップされる。ディレクタは、各コンテントサーバに対するIPアドレステーブルに対してアクセスでき、従って特定のコンテントサーバの各IPアドレス対応するシステムルータにアクセスできる。これにより、ディレクタは、ディレクタ選択のシステムルータを介してルート指定するコンテントサーバIPアドレスを選択できる。ディレクタはまず、どのコンテントサーバが最小の負荷を有するかを決定しなければならない。ディレクタは、負荷マネージャ(これは各ロードデーモンからデータを収集している)により与えられるデータからこれを構成することができる。一度ディレクタが最小負荷コンテントサーバマシンを選択したら、ディレクタは、ブラウズしつつあるクライアントに対して最良のICMPワンウェイトリップ時間を有するルータを介してルート指定されるネットワークエイリヤスIPのマシンセットからアドレスを選択する。ディレクタは、ピングマネージャ(これはピングデーモンからそのデータを収集している)によりそれに与えられるデータに基づいてこの決定をなす。
図2Bは、本発明に従う分散コンピュータ(計算)システムの代わりの具体例を図示する。図2B図の具体例は、主として、この具体例が別個のディレクタサーバを有さないという点で図2Aの具体例と相違する。図2の具体例においては、図2Aにおいてディレクタ上に存在するプロセス要素が、図2Bにおいてはフロントエンドサーバ212,214,216および218間に分散されている。
[3.0 特定のプロセス要素
図3Aは、本発明に従う代表的具体例のプロセス要素を図示するものである。
フロントエンド フロントエンド要素360の具体例はデータオブジェクトに対するクライアント要求受信する。この要求は、好ましい具体例においては、到来HTTP要求とし得る。フロントエンドは、次に、直ちに走査検索中のクライアントIPアドレスをディレクタ送り、そしてディレクタが「最良の」サーバを選択するのを待つことによって、もし利用可能ならばディレクタ要索362からの「アドバイス(通知)を求める。最後に、フロントエンドは、クライアントが次の要求処理のため特定のサーバにコンタクトすべきことを指令する回答を要求中のクライアントに送る。フロントエンドは、クライアント要求のプロトコルを理解しなければならず、そしてアプリケーション固有のメカニズムを使用して、クライアントを特定のサーバに振り向ける。特定の具体例において、フロントエンドは、ブラウザ(走査検索)クライアントに最善サーバのURLに対するHTTP転送応答を送る。本発明の1具体例では、1または複数のユーザレベルプロトコルを理解する複数のフロントエンド要素を含んでよい。
ディレクタ
ディレクタ要素362の具体例は、フロントエンド360からデータ問合せを受信し、クライアントソースについてのデータ、好ましくは走査検索中のクライアントIPアドレス、ならびにレプリカサーバ状態およびネットワークパス特性、好ましくはCMPエコー応答時間これは好ましくはピングマネージャ364および負荷マネージャ366のようなコネクタ要素から受信されるを使用してフロントエンドがユーザ要求を直送することを可能にする情報を返す。この決定は、すべてのデータを考慮に入れ、「最良」サーバのIPアドレスをフロントエンドに送る。ディレクタ要素は、代替サーバを評価する決定方法を含んでおり、全システムに対する調整を行う。本発明の具体例では、1または複数のディレクタ要素を備える。
コレクタ要素 コレクタ要素の具体例は、ネットワークパスまたはコンテントサーバ負荷の1または複数の特性を監視し、ディレクタ要素がサーバ選択決定において使用のためこのデータを利用することを可能にする。本発明の具体例では、1または複数のコレクタ要素、好ましくは、ピングマネージャ要素364,ピングデーモン要素(図示せず)、負荷マネージャ要素366および負荷デーモン要素(図示せず)を備える。
ピングマネージャは、コンテントサーバが最速ICMPエコーパスを有するかをディレクタに知らせる。このデータはピングマネージャ364により収集される。ピングマネージャは、そのピングタイムデータを個々のサーバマシンから受信するが、このマシンは、各々ICMPピングを使用して、それ自体と走査検索中のクライアントマシン間のICPMルートティング時間を決定する。ピングマネージャは、ついでこの情報を記憶し、それをディレクタに報告し、そしてディレクタはそれを使用して最良のルートについての決定をなす。
ピングデーモンは各コンテントサーバマシンクラスタと関連するサーバマシン上で実行する。コンテントサーバマシン(またはそのクラスタ)各ネットワークアクセス点近くに存在する。ピングデーモンは、ピング要求(およびその対応するIPアドレス、これは走査検索中のクライアントIPアドレス)を待ち、ついで走査検索中のクライアントIPアドレスをピングし、それ自身の最も近いボーダールータ中のICMPルーティング時間を記録する。ピングデーモンは、このデータをピングマネージャに送る。
負荷マネージャソフトウェアは、ピングマネージャに類似であるが、各コンテントサーバマシンの現在負荷についての負荷デーモンからの情報を報告し、記憶する。このデータをディレクタに同様に送る。
負荷デーモンは、各コンテントサーバ368と関連してランし、負荷マネージャに報告する。負荷デーモンは、現在オープンのTCP接続の数、フリーRAM、フリーSWAPおよびCPUアイドル時間についてのデータを送る。
図3Bは、本発明に従う代替具体例のソフトウェア要素を図示する。図3Bの代替具体例のソフトウェア要素線図を図3Aの具体例と比較すると、二つの具体例間の主たる差は、図3Bに図示される具体例においては、ディレクタプロセス362が種々のサーバ間において分散されていることである。かくして、図3Bにおいては、ディレクタプロセス363がディレクタプロセスの三つの別個のインスタンスとして示されている。他方、図3Aにおいては、ディレクタプロセス362は、複数のサーバ上の他のプロセスとのインターフェースを有する単一のディレクタプロセスとして示されている。
図3は、本発明に従う好ましい具体例のソフトウェア要素を図示する。図3Bの具体例のソフトウェア要素線図を図3Cの具体例のそれと比較すると、二つの具体例間の主たる相違は、図3Cに示される具体例においてはフロントエンドプロセス36がIPリレーヤ機能を含むことである。
フロントエンド/IPリレーヤ フロントエンド/IPリレーヤ要素360の具体例は、任意のIPトラフィックに対する到来するIPパケットを受信する。図3Aおよび図3Bにおける具体例におけるように、フロントエンドは、直ちにクライアントIPアドレスをディレクタに送り、ディレクタが「最良」サーバを選択するのを待つことによって、ディレクタ要素362から「アドバイス」を求める。しかしながら、図3Aおよび図3Bの具体例におけるフロントエンド要素により遂行されるように、クライアントがさらに要求処理のために特定のサーバとコンタクトするように指令するのではなく、IRリレーヤは、ディレクタによりなされる決定にしたがって選ばれた「最良サーバ」にパケットを送る。本発明の具体例では、IPリレーヤにて機能する複数のフロントエンド要素を含んでよい。
[3.2 要求を処理する段階]
図4Aは、本発明の特定の実施例において、クライアントの要求を受け取り、評価し、回答する過程で起きる一連の段階を示す。段階402において、図2の232のようなコンテントサーバに存在するロードデーモンは、ディレクタサーバ250に存在するロードマネージャ366を定期的に更新する情報を直接与える。次いで、段階404において、ロードマネージャ366はロードデーモンが有する全てのコンテントサーバから集めたロード情報を更新する。これはディレクタ362が段階410及び412のような入り要求に応答して最小負荷コンテントサーバを選択することを可能にする。
段階410において、入りクライアント要求は(例えばウェブブラウザのHTTP要求、FTPクライアントからのFTP要求)、任意の外部経路を経てシステムボーダゲートウエイ、典型的にはネットワークアクセスポイントのルータへ送られる。この時点で、クライアントの要求は本発明のサーバーロード平衡分散型計算システムへの入力となる。それはこのNAPに位置するルータに関連したルート表に従って動作するIPによりフロントエンドソフト要素360に送られる。段階412において、フロントエンドソフト要素は、クライアントアプリケーションの要求の到来に応じて、好ましいサーバに対する要求をディレクタソフト要素362に出す。ディレクタは、段階412においてクライアント要求に関する情報に対するフロントエンド要求を受け取ったら、段階413において、Pingマネージャ要素364のような収集要素に、サーバとクライアントとの間の最も迅速な経路等の情報を要求する。図4Aの実施例において、最も迅速な経路は、段階414においてシステムネットワーク中の種々のNAP内に共存しているPingデーモン要素と関連して動作するPingマネージャ収集要素364により決定される最速ICMPエコー応答(Ping)を有する経路である。これらのPingデーモン要素はそれらの特定のフロントエンドサーバとクライアントの間の最速ICMPエコー応答を、それらの特定のフロントエンドサーバの関連NAPを介して次々のPingをクライアントに伝送し、段階415に示したように応答のタイミングを取ること、により決定する。各Pingデーモンは刻々に、段階416においてその特定のNAPからPingマネージャへのルートを介して時間をクライアントへ送る。段階417においてPingマネージャはシステムのNAPに関連した経路に対する周回値をクライアントに返す。特定の実施例では、Pingマネージャは前進状態質問(pro-active status queries)(図示せず)を開始でき、或いは任意な時点でディレクタの明示の要求なしに状態情報を返すことができる。段階418においてディレクタはクライアントにより使用されるべき正しいコンテントサーバをフロントエンド要素に指示する。フロントエンド要素は段階419クライアントをアプリケーションレイヤー・プロトコル(好ましくはHTTP転送)を使用して正しいコンテントサーバに差し向ける。フロントエンド応答はNAPを介して例えばIPプロトコルを使用するインターネットによりクライアント機に送る。次いで、段階420に示したように、クライアントからの要求が彼の機械への最良経路を介して最良コンテントサーバ例えば232に送られる(これはまたクライアント自身のネットワークプロバイダに達する外部ネットワークへの最良の入口箇所でもある)。
図4Bは本発明の他の実施例において、クライアントの要求を受け取り、評価し、そして回答する過程において生じる一組の段階を示す。図4Bに示された実施例の処理段階を図4Aのそれと比較すると、特定の段階は共通であることが分かる。しかし、段階412、414、418は図4Aとは違って、ネットワーク取引ではなく、一つのサーバ機内に共存する取引であることが分かる。
図4Cは本発明の好ましい実施例において、クライアントの要求を受け取り、評価し、そして応答する過程において生じる一組の段階を示す。図4Bに示された実施例の処理段階を図4Cのそれと比較すると、特定の段階は共通であることが分かる。しかし、図4Bの段階419と420(転送応答段階及びそれに続くHTTP会話段階)が新たな段階422により置換されていることが主な違いである。段階422ではクライアントからのIPトラフィックをディレクタの決定による最良のサーバに中継する。これは図4Bにおけるフロントエンド処理によりなされる転送応答段階419に代わるものである。図4Cの段階402、404、410、412、413、414、415、416、417、及び418は図4A、4Bの実施例と同一であることがわかる。
図4Cは好ましい実施例の処理を示す。段階410では、フロントエンド中継ソフト360がネットワークに入ってくるパケットに介在する。IPヘッダに含まれているアドレス情報に基づいて、フロントエンドソフトはパケットの元の宛先サーバを決定する。次に、段階412において、フロントエンド中継ソフト360はディレクタ362を呼んで最良サーバルートの決定をする。段階413、414、416、417及び418では、ディレクタはロードマネージャ366、Pingマネージャ364、ロードデーモン及びPingデーモンソフトに基づいてIPトラフィックに対する最良のサーバを決定し、この装置のアドレスをフロントエンド中継ソフトに連絡する。この決定過程は図4A、4Bにおけるものと同一である。段階422において、フロントエンド中継ソフト360は全てのパケットをそのセンターから最良のサーバに送る。パケット中継はLPレベルで行われるので、LP層で動作している任意のサービスに対するパケットは本発明の方法によりルート決定し得る。
[4.0 決定方法]
[4.1 ディレクタ]
ディレクタはどのコンテントサーバ及びどのルータがクライアントの要求に対して最良(ベスト)であるかを決定する。図5Aは本発明の具体的な実施例においてディレクタにより行われる処理段階のフローチャート500を示す。段階501において、ネットワーク距離が各コンテントサーバと出力ルータの各組合せに対して計算される。これらの距離から次の形式を有する順序(sorted)リストが作成される。
(sitel borderl metricl、...、siteN borderN metricN) (3)
段階502で、最良サイトに対する候補サーバが上記の段階501で作成したリストから選択される。処理はリストを走査し、その中からトップランクの距離と、それからあるX%以内にある任意の候補を選択することである。各コンテントサーバはリスト中の出力ルータの全ての組合せと共にリストされていることに注意されたい。無意味なサーバールータ組合せを考慮する必要はないので、例えば、LAボーダを通るLAサーバの組合せ(最良と考える)があればNYボーダを通るLAサーバは考慮する必要がない。例えば、X=5とすると、組合せ(site,border,metric)(サイト、ボーダ、距離)の順序リストを文(4)のものとなる。
@network=(ny ny 300 sj la 305 sj sj 312 ny sj 380 dc ny 400...) (4)
最初の3つの要素は
ny ny 300
sj la 305
sj sj 312
である。これらは全て互いに5%以内になるので、システムは全3つであると考えるであろう。しかし、サンホセ(SJ)は2回リストされており、2回目にリストされたものの時間は1回目のものの時間よりも長いので、1回目のものが2回目のものよりも好ましく、従って、2回目のものは捨てられ、NY(ニューヨーク)またはSJのものが選択される。もしもNYが選択されたら、NYのボーダも選択される。もしもSJのサーバが選択されたら、LAのボーダが最良として選択される。
段階503において、最良サーバは候補の中から選択される。候補サーバに対する全ての距離(metrics)が作成され、統計アルゴリズムを適用して候補から最良のサーバを選択する。この段階の結果は選択されたサーバに対するサイト、及び当該特定サーバに対する識別子である(各サーバには複数のサイトがあり得る)。
段階504において、上記の選択されたサーバのサイトから、システムは段階502で保存したサイトに対してどのボーダが使用されるべきかを呼び出す。次に、サーバ識別子と出力ボーダから、内部方針ルート指定に対する適正なIPアドレスを有する、正しい完全に資格のあるドメイン名を決定する。
4.2 Pingマネージャ
Pingマネージャは常時Ping情報を一つ以上Pingデーモンに要求する。Pingマネージャはディレクタに全てのクライアントサイトからの周回時間を表す一連の値を送る。非応答クライアントサイトは、もしもPingデーモンが応答しない場合には任意の大きい値により表わされる。特定の実施例では、Pingマネージャはディレクタに次の文(5)、(6)で表されるような列を送る。
”client_address metric_site_1 metric_site2...metric_site_N\n” (5)
”128.9.192.44 3009999999 280 450\n” (6)
好ましい実施例では、サイト距離(site metric)は次の文のように順序づけられる。
@incoming_metric_order=(’ny’,’la’,’dc’,’sj’) (7)
図5Bは上記の(5)、(6)に示された情報シーケンスをPingマネージャから受け取るのに応じてディレクタにより実行される処理のフローチャート510を示す。段階512において、ディレクタはPingマネージャから入ってくる情報に基づいて処理を行い、以下の文(8)のプロトコルにより示される使用可能なフォーマットで情報を記憶する。
($addr,@metrics)=split(″,$incoming_pingmgr_message); (8)
$ping_cache{addr}=$incoming_ping_message;
$ping_cache_time{$addr}=&get_current_time();
#有用なフォーマットの周回Ping距離を記憶する。
Figure 0004354532
次に、段階514において、フロントエンド処理から受け取った要求に応じて、ディレクタは答えるべき要求についての情報を検索する。形式(9)は段階514を処理するための擬似コードを表す。
#答えなければならない要求についての情報を検索
(9)
#
$request_frontend=$request_frontend{$addr};#応答を得る者
$contact_site=$request_contact{$addr};#経路計算に対する必要性
段階516において、ディレクタは文(10)の擬似コードに従ってPingマネージャにより提供されるに方向距離から一方向距離を計算する。
(10);
#1方向距離の計算
Figure 0004354532
次に、段階518において、ディレクタは文(11)の擬似コードに従って全てのサイトとボーダの組合せに対する経路距離を計算する。
##すべてのサイト/ボーダに対する経路距離を計算
Figure 0004354532
次に、段階526において、ディレクタは距離を検索して、次の文(12)の擬似コードを使用して順序リストを作成する。
#距離(metirics)を検索し、そして必要とされるリストを順序構成する
Figure 0004354532
この時点で、variable@sortea_listは一対のサイトを選択し、そして候補サーバを選択するのに必要な全ての情報を含む。
[4.3 ロードマネージャ]
ロードマネージャは約2秒ごとにディレクタに文(13)に示される形式でメッセージを送る。
″serverl loadl server2 load2...serverN loadN″; (13)
図5Cは、上記(13)に示したロードマネージャから受け取った情報と文(5)、(6)に示したPingマネージャから受け取った情報を使用して、最良サーバを選択する際に、ディレクタにより実施される段階を示すフローチャート521を示す。
ディレクタは、次のサーバロードの関連した配列とサーバ識別子を有する対ロード値とを含む数個の内部データ構造を維持する。
$load_array{$serverID}=$load;
各サイトのリストは次の通りである。
$servers{’la’}=″www.la1.test.com www.la2.test.com″;
$servers{’dc’}=″www.dc1.test.com www.dc2.test.com″;
対応したソースアドレスを有する正しい名称へのサーバとボーダのマッピングは次の通りである。
$server_map{″www.la1.test.com la″}=″www.la1-la.test.com″;
$server_map{″www.la1.test.com dc″}=″www.la1-dc.test.com″;
上記の生成した可変@sorted_listは、サイトと、ボーダと、経路距離との3つ組を含む。これらのデータ構造から、ディレクタは図5Cに記載し段階を使用して最適のサーバを決定できる。決定段階は@sorted_list中の全ての項目が処理されていないことを確認し、そして″best_metric″変数を@sorted_list中の最初の番号の距離に初期化する。これらの段階は次の擬似コードで示される。
%site_border=();
@server_list=();
##トップループは候補パス(及びサイト)の次の組を選択する。
##サーバを選択したときにはループを破る。
#
while(1){
break unless@sorted_list);
$best_metric=@sorted_list[2]*$fuzz_factor=1.05;
図5Cに示したように、決定段階522、段階524、決定段階526、及び段階528は@sorted_listからサイト、ボーダ及び距離(metric)の3つ組を選択し、ボーダ情報をサイト・ボーダリストに加え、サイトをサーバリストに加えるためのループ構造を実行する。これは次の擬似コードに表現されている。
Figure 0004354532
一旦このループが@sorted_listの全てのメンバーを処理したら、決定段階522はイェスの経路をたどり、処理は決定段階530、処理段階532、534により、前記の生成したサーバリスト中の全てのサーバを処理するためのループ構造を実行し、各サーバのロードをサーバロードリスとに加え、そして$total変数中の全サーバの負荷を合計する。これも又次の擬似コードにより表現される。
Figure 0004354532
一旦このループが@server_listの全てのメンバーを処理したら、図5Cの決定段階530はイェスの経路をたどり、処理は1と全サーバロードの間のランダム数を決定するための処理段階536に進む。次に処理は決定段階538及び544と処理段階540、542及び546とより形成されるループに続く。$server_listにおけるサーバを通るこのループ諸段階は、全数が段階536で選択されたランダム数を超えるまでそれらのロードを加算し、或いは@server_listの最後の数が処理されるまで続く。いずれかの場合に、これらの2つの条件のいずれかが成就されたときに調べられたサーバが最良サーバとしてディレクタに選択されるサーバである。これはまた次の擬似コードにより表現される。
#fencepost値を処理する方法。
#1と$total(この値含む)の間の値を返すべきか。
Figure 0004354532
一旦ディレクタが最良サーバを選択したら、処理は図5Aの段階504に記述したように、次の擬似コードにより継続する。
#選択したサイトはどちらか?
$site=$get_site($the_server);
#このサイトに対する最良のボーダに関する情報を呼び出す。
$border=$site_border($site);
#必要とするソースアドレスを使用する正しいネームを取得する。
#
$response_to_request=$server_map{″$the_server$border″};
[5.0 結論]
まとめると、本発明は、データオブジェクトが、利用可能な最短ネットワークパスに従ってユーザに使えるような、インターネット作業システムを提供することが分かる。本発明による方法の更なる利点は、これらの方法が使用するハードウエアに起きる障害を許容することである。更に、本発明のシステムの信頼性は従来のウエッブサーバに比して増大する。本発明の他の実施例及びそれらの構成要素は当業者には上記の説明から容易に明らかになろう。本発明の実施例は本発明の実施に最良と思われる形態を例示する。当然本発明はすべてその範囲を逸脱しないで他の異なった実施例を可能にし、それらの詳細部分は自明な多数の面から修正が可能である。従って、図面及び本明細書が例示であり限定のためではないことを理解すべきである。従って、本発明は請求の範囲に属する限り制限を受けない。

Claims (8)

  1. 複数のクライアントからのデータオブジェクトに対する要求をルート指定するシステムにおいて、
    前記データオブジェクトに仕える複数のコンテントサーバと、
    データオブジェクトに対する前記要求をルート指定するためのディレクタとを含み、前記ディレクタは、
    前記複数のコンテントサーバから1つのコンテントサーバを選択するためのサーバ選択要素と、
    前記コンテントサーバを要求しているクライアントからの複数のルートを識別するための識別要素と、
    前記複数のルートの各々を伝送する時間を決定するための決定要素と、
    前記要求しているクライアントからの前記伝送時間が最小である前記コンテントサーバへのルートを選択し、そして前記コンテントサーバに関連した複数のIPアドレスから、前記選択したルートに沿って前記コンテントサーバからコンテントを前記要求しているクライアントに指し向ける一つのIPアドレスを識別する、ルート選択要素と、
    を含んでいるシステム。
  2. 前記ディレクタ要素は、更に、前記複数のクライアントの中の一つからのデータオブジェクトに対する要求に対して、前記ルートに沿って前記選択されたコンテントサーバへ該要求を転送するように回答を行う回答要素を含む、請求項のシステム。
  3. 前記回答要素は、HTTP転送応答を使用する転送要素を含んでいる請求項のシステム。
  4. 前記決定要素は、ICMPエコー応答を使用して前記ルートを伝送する時間を測定する測定要素を含んでいる請求項のシステム。
  5. 異なった経路に沿ってデータオブジェクトを伝送するように複数個のIPアドレスを有する複数のコンテントサーバと、クライアントからのオブジェクトに対する要求に基づきクライアントとコンテントサーバとの間をルート設定するように動作する複数のルータと、前記データオブジェクトに対する前記クライアントの要求を前記複数のコンテントサーバの一つにルート指定するように動作するディレクタとを使用して、複数のクライアントからのデータオブジェクトに対する要求をルート指定する方法において、
    前記ディレクタは、
    前記複数のクライアントのうちの特定のクライアントからのデータオブジェクトに対する要求を受信し、
    前記特定のクライアントから前記複数のコンテントサーバへの複数のルートを識別し、
    前記複数のルートの各々の伝送時間を決定し、
    前記伝送時間のうちの最小時間を有する一つのルートを選択し、
    前記特定のクライアントに、前記選択されたコンテントサーバからそのコンテントを前記ルートに沿ってクライアントに差し向ける前記選択されたコンテントサーバに関連した複数のIPアドレスの一つを通報する、段階を含む方法。
  6. 前記特定のクライアントに通報する段階は、更に、データオブジェクトに対する要求に対して、前記特定のクライアントが前記選択されたコンテントサーバに対して前記要求を転送するようにと応答する段階を含む請求項の方法。
  7. 前記伝送時間はICMPエコー応答により決定される請求項の方法。
  8. 前記転送はHTTP転送応答である請求項の方法。
JP52688698A 1996-12-09 1997-12-09 分散コンピュータシステム及びユーザ要求をレプリカネットワークサーバに分配する方法 Expired - Fee Related JP4354532B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3248496P 1996-12-09 1996-12-09
US60/032,484 1997-11-07
US08/965,848 1997-11-07
US08/965,848 US6185619B1 (en) 1996-12-09 1997-11-07 Method and apparatus for balancing the process load on network servers according to network and serve based policies
PCT/US1997/022542 WO1998026559A1 (en) 1996-12-09 1997-12-09 Distributed computing system and method for distributing user requests to replicated network servers

Publications (2)

Publication Number Publication Date
JP2001509925A JP2001509925A (ja) 2001-07-24
JP4354532B2 true JP4354532B2 (ja) 2009-10-28

Family

ID=26708484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52688698A Expired - Fee Related JP4354532B2 (ja) 1996-12-09 1997-12-09 分散コンピュータシステム及びユーザ要求をレプリカネットワークサーバに分配する方法

Country Status (12)

Country Link
US (2) US6185619B1 (ja)
EP (1) EP1016253B1 (ja)
JP (1) JP4354532B2 (ja)
AT (1) ATE297628T1 (ja)
AU (1) AU724096B2 (ja)
CA (1) CA2274496C (ja)
DE (1) DE69733498T2 (ja)
DK (1) DK1016253T3 (ja)
ES (1) ES2258800T3 (ja)
NZ (1) NZ336187A (ja)
PT (1) PT1016253E (ja)
WO (1) WO1998026559A1 (ja)

Families Citing this family (380)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473793B1 (en) * 1994-06-08 2002-10-29 Hughes Electronics Corporation Method and apparatus for selectively allocating and enforcing bandwidth usage requirements on network users
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US7424731B1 (en) * 1994-10-12 2008-09-09 Touchtunes Music Corporation Home digital audiovisual information recording and playback system
US8661477B2 (en) * 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
CA2201909C (fr) 1994-10-12 2006-05-02 Technical Maintenance Corporation Systeme de reproduction audiovisuelle numerique intelligent
US6317775B1 (en) 1995-11-03 2001-11-13 Cisco Technology, Inc. System for distributing load over multiple servers at an internet site
EP1018084B1 (en) * 1996-07-25 2011-12-07 Xcelera Inc. Web serving system with primary and secondary servers
FR2753868A1 (fr) * 1996-09-25 1998-03-27 Technical Maintenance Corp Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede
SE9702239L (sv) 1997-06-12 1998-07-06 Telia Ab Arrangemang för lastbalansering i datornät
US6112239A (en) 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6760746B1 (en) 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US6775692B1 (en) 1997-07-31 2004-08-10 Cisco Technology, Inc. Proxying and unproxying a connection using a forwarding agent
FR2769165B1 (fr) 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6735631B1 (en) * 1998-02-10 2004-05-11 Sprint Communications Company, L.P. Method and system for networking redirecting
US7054935B2 (en) * 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
US8296396B2 (en) 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
US6330617B1 (en) * 1998-02-27 2001-12-11 Sabre Inc System, method and computer program product for data conversion in a computer network
US6681327B1 (en) * 1998-04-02 2004-01-20 Intel Corporation Method and system for managing secure client-server transactions
JP3734206B2 (ja) * 1998-05-01 2006-01-11 インターナショナル・ビジネス・マシーンズ・コーポレーション エージェント対話管理方法、コンピュータ及び記憶媒体
US20030191717A1 (en) * 1998-06-05 2003-10-09 Johnson Teddy C. High performance server data delivery system and method
US6446109B2 (en) * 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US6665702B1 (en) * 1998-07-15 2003-12-16 Radware Ltd. Load balancing
FR2781582B1 (fr) * 1998-07-21 2001-01-12 Technical Maintenance Corp Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels
FR2781591B1 (fr) * 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
US6324580B1 (en) 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6092178A (en) * 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
US6181692B1 (en) * 1998-09-03 2001-01-30 Genesys Telecommunications Laboratories Inc Method and apparatus for data routing, delivery, and authentication in a packet data network
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6535509B2 (en) 1998-09-28 2003-03-18 Infolibria, Inc. Tagging for demultiplexing in a network traffic server
US6993591B1 (en) * 1998-09-30 2006-01-31 Lucent Technologies Inc. Method and apparatus for prefetching internet resources based on estimated round trip time
US7339595B2 (en) * 1998-10-19 2008-03-04 Lightsurf Technologies, Inc. Method and system for improved internet color
US20020126135A1 (en) * 1998-10-19 2002-09-12 Keith Ball Image sharing for instant messaging
US6304913B1 (en) * 1998-11-09 2001-10-16 Telefonaktiebolaget L M Ericsson (Publ) Internet system and method for selecting a closest server from a plurality of alternative servers
US6691165B1 (en) 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US7664864B2 (en) * 1998-11-13 2010-02-16 Verisign, Inc. Meta content distribution network
US6931446B1 (en) * 1998-12-14 2005-08-16 International Business Machines Corporation Methods, systems and computer program products for policy based network control of characteristics of user sessions
US6912590B1 (en) * 1998-12-18 2005-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Single IP-addressing for a telecommunications platform with a multi-processor cluster using a distributed socket based internet protocol (IP) handler
JP2000196677A (ja) * 1998-12-28 2000-07-14 Fujitsu Ltd ネットワ―クシステムに用いられる中継装置
DE19900636B8 (de) 1999-01-11 2005-04-07 Gailer, Peter Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung
US7099848B1 (en) 1999-02-16 2006-08-29 Listen.Com, Inc. Audio delivery and rendering method and apparatus
US6901604B1 (en) * 1999-02-19 2005-05-31 Chaincast, Inc. Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system
US8726330B2 (en) * 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US6760775B1 (en) * 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
US6314465B1 (en) * 1999-03-11 2001-11-06 Lucent Technologies Inc. Method and apparatus for load sharing on a wide area network
US7188138B1 (en) 1999-03-22 2007-03-06 Eric Schneider Method, product, and apparatus for resource identifier registration and aftermarket services
US6338082B1 (en) * 1999-03-22 2002-01-08 Eric Schneider Method, product, and apparatus for requesting a network resource
US9141717B2 (en) 1999-03-22 2015-09-22 Esdr Network Solutions Llc Methods, systems, products, and devices for processing DNS friendly identifiers
US8037168B2 (en) 1999-07-15 2011-10-11 Esdr Network Solutions Llc Method, product, and apparatus for enhancing resolution services, registration services, and search services
USRE43690E1 (en) 1999-03-22 2012-09-25 Esdr Network Solutions Llc Search engine request method, product, and apparatus
GB9906628D0 (en) * 1999-03-23 1999-05-19 Koninkl Philips Electronics Nv Data network load management
US7299294B1 (en) 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
AU4344900A (en) * 1999-04-12 2000-11-14 Rainfinity, Inc. Distributed server cluster for controlling network traffic
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
ATE491297T1 (de) * 1999-06-17 2010-12-15 Level 3 Communications Llc System und verfahren zur integrierter lastverteilung und betriebsmittelverwaltung in einer internet-umgebung
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US6628654B1 (en) 1999-07-01 2003-09-30 Cisco Technology, Inc. Dispatching packets from a forwarding agent using tag switching
US6549516B1 (en) 1999-07-02 2003-04-15 Cisco Technology, Inc. Sending instructions from a service manager to forwarding agents on a need to know basis
US6633560B1 (en) 1999-07-02 2003-10-14 Cisco Technology, Inc. Distribution of network services among multiple service managers without client involvement
US6687222B1 (en) 1999-07-02 2004-02-03 Cisco Technology, Inc. Backup service managers for providing reliable network services in a distributed environment
US6606315B1 (en) 1999-07-02 2003-08-12 Cisco Technology, Inc. Synchronizing service instructions among forwarding agents using a service manager
US6742045B1 (en) 1999-07-02 2004-05-25 Cisco Technology, Inc. Handling packet fragments in a distributed network service environment
US6970913B1 (en) * 1999-07-02 2005-11-29 Cisco Technology, Inc. Load balancing using distributed forwarding agents with application based feedback for different virtual machines
US6650641B1 (en) 1999-07-02 2003-11-18 Cisco Technology, Inc. Network address translation using a forwarding agent
US7051066B1 (en) 1999-07-02 2006-05-23 Cisco Technology, Inc. Integrating service managers into a routing infrastructure using forwarding agents
US6735169B1 (en) 1999-07-02 2004-05-11 Cisco Technology, Inc. Cascading multiple services on a forwarding agent
US6606316B1 (en) 1999-07-02 2003-08-12 Cisco Technology, Inc. Gathering network statistics in a distributed network service environment
US6704278B1 (en) 1999-07-02 2004-03-09 Cisco Technology, Inc. Stateful failover of service managers
US6400710B1 (en) * 1999-07-09 2002-06-04 Enron Warspeed Services, Inc. Network with hot button for providing switched broadband multipoint/multimedia intercommunication
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
WO2001013583A2 (en) 1999-08-16 2001-02-22 Iready Corporation Internet jack
USRE44207E1 (en) 1999-09-01 2013-05-07 Esdr Network Solutions Llc Network resource access method, product, and apparatus
JP3782265B2 (ja) 1999-09-07 2006-06-07 株式会社日立製作所 オンラインサービス提供の取次装置
CA2318622A1 (en) * 1999-09-13 2001-03-13 Nortel Networks Limited Call control server selection with load sharing mechanisms
US6810411B1 (en) * 1999-09-13 2004-10-26 Intel Corporation Method and system for selecting a host in a communications network
US6857106B1 (en) 1999-09-15 2005-02-15 Listen.Com, Inc. Graphical user interface with moveable, mergeable elements
US6957247B1 (en) * 1999-09-22 2005-10-18 Ates Gorkem I Internet system
US6667980B1 (en) 1999-10-21 2003-12-23 Sun Microsystems, Inc. Method and apparatus for providing scalable services using a packet distribution table
US6957254B1 (en) * 1999-10-21 2005-10-18 Sun Microsystems, Inc Method and apparatus for reaching agreement between nodes in a distributed system
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US6724733B1 (en) 1999-11-02 2004-04-20 Sun Microsystems, Inc. Method and apparatus for determining approximate network distances using reference locations
WO2001035601A1 (en) * 1999-11-10 2001-05-17 Rainfinity, Inc. Distributed traffic controlling system and method for network data
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US7565675B2 (en) 1999-12-08 2009-07-21 Listen.Com, Inc. Scheduled retrieval, storage and access of media data
US7441045B2 (en) * 1999-12-13 2008-10-21 F5 Networks, Inc. Method and system for balancing load distribution on a wide area network
US6742023B1 (en) * 2000-04-28 2004-05-25 Roxio, Inc. Use-sensitive distribution of data files between users
US6799202B1 (en) 1999-12-16 2004-09-28 Hachiro Kawaii Federated operating system for a server
SE517217C2 (sv) * 1999-12-29 2002-05-07 Ericsson Telefon Ab L M Metod och system för kommunikation mellan olika nätverk
US7068992B1 (en) 1999-12-30 2006-06-27 Motient Communications Inc. System and method of polling wireless devices having a substantially fixed and/or predesignated geographic location
US7024199B1 (en) 1999-12-30 2006-04-04 Motient Communications Inc. System and method of querying a device, checking device roaming history and/or obtaining device modem statistics when device is within a home network and/or complementary network
US7230944B1 (en) 1999-12-30 2007-06-12 Geologic Solutions, Inc. System and method of host routing when host computer is within a home network and/or a complementary network
US7136642B1 (en) 1999-12-30 2006-11-14 Massie Rodney E System and method of querying a device, checking device roaming history and/or obtaining device modem statistics when device is within a home network and/or a complementary network
US20010036182A1 (en) * 2000-01-06 2001-11-01 Frank Addante Method and apparatus for selecting and delivering internet based advertising
US6769008B1 (en) 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
US6789213B2 (en) * 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
US6735206B1 (en) 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for performing a fast service lookup in cluster networking
US6757836B1 (en) 2000-01-10 2004-06-29 Sun Microsystems, Inc. Method and apparatus for resolving partial connectivity in a clustered computing system
US6862613B1 (en) 2000-01-10 2005-03-01 Sun Microsystems, Inc. Method and apparatus for managing operations of clustered computer systems
US6748437B1 (en) 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method for creating forwarding lists for cluster networking
US6748429B1 (en) 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
US6587866B1 (en) * 2000-01-10 2003-07-01 Sun Microsystems, Inc. Method for distributing packets to server nodes using network client affinity and packet distribution table
US6735205B1 (en) 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for fast packet forwarding in cluster networking
US7886023B1 (en) * 2000-01-21 2011-02-08 Cisco Technology, Inc. Method and apparatus for a minimalist approach to implementing server selection
US7349348B1 (en) 2000-01-24 2008-03-25 Cisco Technologies, Inc. Method and apparatus for determining a network topology in the presence of network address translation
US7508753B2 (en) * 2000-01-31 2009-03-24 At&T Intellectual Property, Ii, L.P. Packet redirection and message stream management
FR2805377B1 (fr) * 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
US20010047377A1 (en) * 2000-02-04 2001-11-29 Sincaglia Nicholas William System for distributed media network and meta data server
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
US7162539B2 (en) * 2000-03-16 2007-01-09 Adara Networks, Inc. System and method for discovering information objects and information object repositories in computer networks
US7552233B2 (en) * 2000-03-16 2009-06-23 Adara Networks, Inc. System and method for information object routing in computer networks
US7565450B2 (en) * 2000-03-16 2009-07-21 Adara Networks Inc. System and method for using a mapping between client addresses and addresses of caches to support content delivery
US20020032905A1 (en) * 2000-04-07 2002-03-14 Sherr Scott Jeffrey Online digital video signal transfer apparatus and method
US20020154157A1 (en) * 2000-04-07 2002-10-24 Sherr Scott Jeffrey Website system and process for selection and delivery of electronic information on a network
US20020073033A1 (en) * 2000-04-07 2002-06-13 Sherr Scott Jeffrey Online digital video signal transfer apparatus and method
US7155415B2 (en) 2000-04-07 2006-12-26 Movielink Llc Secure digital content licensing system and method
AU2001255264B2 (en) * 2000-04-07 2006-11-09 Blockbuster Inc. System and process for delivery of content over a network
US7024466B2 (en) * 2000-04-07 2006-04-04 Movielink, Llc Network configured for delivery of content for download to a recipient
US7240100B1 (en) * 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US7120662B2 (en) * 2000-04-17 2006-10-10 Circadence Corporation Conductor gateway prioritization parameters
US6618705B1 (en) * 2000-04-19 2003-09-09 Tiejun (Ronald) Wang Method and system for conducting business in a transnational e-commerce network
US7908337B2 (en) * 2000-04-28 2011-03-15 Adara Networks, Inc. System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
US7725596B2 (en) * 2000-04-28 2010-05-25 Adara Networks, Inc. System and method for resolving network layer anycast addresses to network layer unicast addresses
US7577754B2 (en) * 2000-04-28 2009-08-18 Adara Networks, Inc. System and method for controlling access to content carried in a caching architecture
US7343422B2 (en) * 2000-04-28 2008-03-11 Adara Networks, Inc. System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
WO2001086380A2 (en) * 2000-05-05 2001-11-15 Aprisma Management Technologies, Inc. Systems and methods for isolating faults in computer networks
US7237138B2 (en) * 2000-05-05 2007-06-26 Computer Associates Think, Inc. Systems and methods for diagnosing faults in computer networks
AU2001261258A1 (en) * 2000-05-05 2001-11-20 Aprisma Management Technologies, Inc. Help desk systems and methods for use with communications networks
US7752024B2 (en) * 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of computer networks
US7500143B2 (en) * 2000-05-05 2009-03-03 Computer Associates Think, Inc. Systems and methods for managing and analyzing faults in computer networks
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
US7562153B2 (en) * 2000-05-12 2009-07-14 AT&T Intellectual Property II, L. P. Method and apparatus for content distribution network brokering and peering
US7062642B1 (en) * 2000-05-20 2006-06-13 Ciena Corporation Policy based provisioning of network device resources
US6976066B1 (en) * 2000-05-22 2005-12-13 Microsoft Corporation Network and method for implementing network platform services for a computing device
AU2000245676A1 (en) * 2000-05-22 2001-12-03 Nokia Corporation System and method for providing a connection in a communication network
US7020698B2 (en) * 2000-05-31 2006-03-28 Lucent Technologies Inc. System and method for locating a closest server in response to a client domain name request
US6904460B1 (en) 2000-06-01 2005-06-07 Aerocast.Com, Inc. Reverse content harvester
US6836806B1 (en) 2000-06-01 2004-12-28 Aerocast, Inc. System for network addressing
US7213062B1 (en) 2000-06-01 2007-05-01 General Instrument Corporation Self-publishing network directory
US6879998B1 (en) 2000-06-01 2005-04-12 Aerocast.Com, Inc. Viewer object proxy
AR028658A1 (es) * 2000-06-01 2003-05-21 Aerocast Com Inc Metodo de indicacion de buen estado holistico y aparato de distribucion de posibilidad de indicacion.
US6658000B1 (en) * 2000-06-01 2003-12-02 Aerocast.Com, Inc. Selective routing
US7039691B1 (en) * 2000-06-02 2006-05-02 Sun Microsystems, Inc. Java virtual machine configurable to perform as a web server
US20020095498A1 (en) * 2000-06-05 2002-07-18 Accordion Networks Network architecture for multi-client units
US7047196B2 (en) 2000-06-08 2006-05-16 Agiletv Corporation System and method of voice recognition near a wireline node of a network supporting cable television and/or video delivery
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
US7631080B2 (en) * 2000-06-20 2009-12-08 Nds Limited Unicast/multicast architecture
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
US7089301B1 (en) * 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
US8527639B1 (en) * 2000-08-18 2013-09-03 Cisco Technology, Inc. Content server selection for accessing content in a content distribution network
US6836462B1 (en) 2000-08-30 2004-12-28 Cisco Technology, Inc. Distributed, rule based packet redirection
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
US9130954B2 (en) 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7657629B1 (en) 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
JP2002109366A (ja) * 2000-09-29 2002-04-12 Mori Seiki Co Ltd 製品情報提供システム
US6823391B1 (en) * 2000-10-04 2004-11-23 Microsoft Corporation Routing client requests to back-end servers
US6865605B1 (en) * 2000-10-04 2005-03-08 Microsoft Corporation System and method for transparently redirecting client requests for content using a front-end indicator to preserve the validity of local caching at the client system
US20020040391A1 (en) * 2000-10-04 2002-04-04 David Chaiken Server farm formed of systems on a chip
US20020042839A1 (en) * 2000-10-10 2002-04-11 Christopher Peiffer HTTP multiplexor/demultiplexor
US20020083170A1 (en) * 2000-10-26 2002-06-27 Metilinx System-wide optimization integration model
US20020178248A1 (en) * 2000-10-26 2002-11-28 Metilinx Application program interface for optimization integration model
US7379994B2 (en) * 2000-10-26 2008-05-27 Metilinx Aggregate system resource analysis including correlation matrix and metric-based analysis
US7039717B2 (en) * 2000-11-10 2006-05-02 Nvidia Corporation Internet modem streaming socket method
US7353277B1 (en) * 2000-11-14 2008-04-01 Hewlett-Packard Development Company, L.P. Dynamic load balancing of video requests
US6980521B1 (en) 2000-11-29 2005-12-27 Cisco Technology, Inc. Method and apparatus for per session load balancing with improved load sharing in a packet switched network
US7421505B2 (en) * 2000-12-21 2008-09-02 Noatak Software Llc Method and system for executing protocol stack instructions to form a packet for causing a computing device to perform an operation
US20020116605A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for initiating execution of software in response to a state
US7546369B2 (en) * 2000-12-21 2009-06-09 Berg Mitchell T Method and system for communicating a request packet in response to a state
US20020116532A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet and identifying a data structure
US7287090B1 (en) * 2000-12-21 2007-10-23 Noatak Software, Llc Method and system for identifying a computing device in response to a request packet
US20020116397A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US7512686B2 (en) * 2000-12-21 2009-03-31 Berg Mitchell T Method and system for establishing a data structure of a connection with a client
US7418522B2 (en) * 2000-12-21 2008-08-26 Noatak Software Llc Method and system for communicating an information packet through multiple networks
US7131140B1 (en) * 2000-12-29 2006-10-31 Cisco Technology, Inc. Method for protecting a firewall load balancer from a denial of service attack
US20020087722A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A/ Fatpipe Networks Domain name resolution making IP address selections in response to connection status when multiple connections are present
US7421489B2 (en) * 2000-12-29 2008-09-02 Nortel Network Limited Network protocols for distributing functions within a network
US7587500B2 (en) * 2001-01-10 2009-09-08 Xcelera Distributed selection of a content server
US7379475B2 (en) * 2002-01-25 2008-05-27 Nvidia Corporation Communications processor
US8095370B2 (en) * 2001-02-16 2012-01-10 Agiletv Corporation Dual compression voice recordation non-repudiation system
WO2002071242A1 (en) * 2001-03-01 2002-09-12 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US20020133597A1 (en) * 2001-03-14 2002-09-19 Nikhil Jhingan Global storage system
US20020143946A1 (en) * 2001-03-28 2002-10-03 Daniel Crosson Software based internet protocol address selection method and system
US7149797B1 (en) * 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
US7340505B2 (en) * 2001-04-02 2008-03-04 Akamai Technologies, Inc. Content storage and replication in a managed internet content storage environment
US8218555B2 (en) * 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
US7203747B2 (en) * 2001-05-25 2007-04-10 Overture Services Inc. Load balancing system and method in a multiprocessor system
US7000006B1 (en) * 2001-05-31 2006-02-14 Cisco Technology, Inc. Implementing network management policies using topology reduction
US8175257B1 (en) 2001-05-31 2012-05-08 Cisco Technology, Inc. Method and apparatus for scheduling automatic call distribution system callers
GB0115996D0 (en) * 2001-06-29 2001-08-22 Nokia Corp Circuit-switched and packet-switched communications
US7290059B2 (en) * 2001-08-13 2007-10-30 Intel Corporation Apparatus and method for scalable server load balancing
US6772224B2 (en) 2001-08-22 2004-08-03 Spatial Communications Technologies, Inc. Method and system for processing load distribution for a packetized telecommunication network entity
US7464156B2 (en) * 2001-09-07 2008-12-09 Sanrad, Ltd. Load balancing method for exchanging data between multiple hosts and storage entities, in IP based storage area network
WO2003024007A1 (en) * 2001-09-10 2003-03-20 Cenus Technologies, Inc. System and method for information object routing in computer networks
US7228337B1 (en) * 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
JP4160506B2 (ja) * 2001-09-28 2008-10-01 レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. 構成可能な適応型広域トラフィック制御および管理
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7373644B2 (en) * 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
JP2003122658A (ja) * 2001-10-11 2003-04-25 Hitachi Ltd データ配送方法
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
US7000016B1 (en) 2001-10-19 2006-02-14 Data Return Llc System and method for multi-site clustering in a network
US6938031B1 (en) 2001-10-19 2005-08-30 Data Return Llc System and method for accessing information in a replicated database
US7984110B1 (en) * 2001-11-02 2011-07-19 Hewlett-Packard Company Method and system for load balancing
WO2003043276A1 (fr) * 2001-11-13 2003-05-22 Matsushita Electric Industrial Co., Ltd. Systeme de connexion d'un fournisseur, systeme d'echange de donnees par paquets, serveur de dns, procede d'echange de donnees par paquets, et programme d'ordinateur associe
US7082531B1 (en) 2001-11-30 2006-07-25 Cisco Technology, Inc. Method and apparatus for determining enforcement security devices in a network topology
US20070061472A1 (en) * 2001-12-19 2007-03-15 Chen Li Identifier management in message transmission system
US20030115153A1 (en) * 2001-12-19 2003-06-19 Chen Li Identifier management in message transmission system
US7636937B1 (en) 2002-01-11 2009-12-22 Cisco Technology, Inc. Method and apparatus for comparing access control lists for configuring a security policy on a network
US7426515B2 (en) * 2002-01-15 2008-09-16 International Business Machines Corporation Edge deployed database proxy driver
US20030149755A1 (en) * 2002-02-06 2003-08-07 Emek Sadot Client-controlled load balancer
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US20030177173A1 (en) * 2002-03-15 2003-09-18 Petros Belimpasakis System and method for the reception of content items
JP2003281008A (ja) * 2002-03-26 2003-10-03 Toshiba Corp サーバー計算機負荷分配装置、サーバー計算機負荷分配方法、サーバー計算機負荷分配プログラム及びサーバー計算機システム
US7337234B2 (en) 2002-04-05 2008-02-26 Oracle International Corporation Retry technique for multi-tier network communication systems
US20030217149A1 (en) * 2002-05-20 2003-11-20 International Business Machines Corporation Method and apparatus for tunneling TCP/IP over HTTP and HTTPS
US7516194B1 (en) 2002-05-21 2009-04-07 Microsoft Corporation Method for downloading high-volumes of content from the internet without adversely effecting the source of the content or being detected
EP1540461A4 (en) * 2002-05-31 2007-10-03 Unisys Corp PREFERENTIAL REUSE OF FREQUENTLY USED PROCESSES TO IMPROVE THE EFFICIENCY OF TRANSACTION PROCESSING
US7222178B2 (en) * 2002-05-31 2007-05-22 Unisys Corporation Transaction-processing performance by preferentially reusing frequently used processes
US20040059777A1 (en) * 2002-05-31 2004-03-25 Palazzo Craig M. System and method for distributed component object model load balancing
US20030236813A1 (en) * 2002-06-24 2003-12-25 Abjanic John B. Method and apparatus for off-load processing of a message stream
US7010596B2 (en) * 2002-06-28 2006-03-07 International Business Machines Corporation System and method for the allocation of grid computing to network workstations
US20040006622A1 (en) * 2002-07-03 2004-01-08 Burkes Don L. Optimized process for balancing load for data mirroring
US7180862B2 (en) 2002-07-18 2007-02-20 Intel Corporation Apparatus and method for virtual output queue feedback
US7620699B1 (en) * 2002-07-26 2009-11-17 Paltalk Holdings, Inc. Method and system for managing high-bandwidth data sharing
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
US7565413B1 (en) * 2002-08-05 2009-07-21 Cisco Technology, Inc. Content request redirection from a wed protocol to a file protocol
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
DE10238291A1 (de) * 2002-08-21 2004-03-04 Siemens Ag Effizientes Intra-Domain Routing in Paketnetzen
US7266607B2 (en) * 2002-08-27 2007-09-04 International Business Machines Corporation Quasi-high availability hosted applications
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8151304B2 (en) * 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8392609B2 (en) * 2002-09-17 2013-03-05 Apple Inc. Proximity detection for media proxies
US20040153440A1 (en) * 2003-01-30 2004-08-05 Assaf Halevy Unified management of queries in a multi-platform distributed environment
JP4428934B2 (ja) * 2003-03-24 2010-03-10 富士通株式会社 映像選択サーバ、映像配信システム、および映像選択方法
US7293059B2 (en) * 2003-04-04 2007-11-06 Sun Microsystems, Inc. Distributed computing system using computing engines concurrently run with host web pages and applications
US7222195B2 (en) * 2003-04-22 2007-05-22 Cisco Technology, Inc. System and method for distributing information in a network environment
US7379988B2 (en) * 2003-04-23 2008-05-27 International Business Machines Corporation Autonomic performance tuning of a distributed virtual storage server
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US7650402B1 (en) 2003-06-25 2010-01-19 Cisco Technology, Inc. System and method for tracking end users in a loadbalancing environment
US7912954B1 (en) * 2003-06-27 2011-03-22 Oesterreicher Richard T System and method for digital media server load balancing
US9525566B2 (en) * 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US8909726B1 (en) * 2003-08-27 2014-12-09 Cisco Technology, Inc. Priority based anycast routing
US9584360B2 (en) 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US20050097185A1 (en) * 2003-10-07 2005-05-05 Simon Gibson Localization link system
US7756040B1 (en) 2003-10-08 2010-07-13 Cisco Technology, Inc. System and method for relaying information in order to enable services in a network environment
US8050275B1 (en) 2003-11-18 2011-11-01 Cisco Technology, Inc. System and method for offering quality of service in a network environment
JP2005173823A (ja) * 2003-12-09 2005-06-30 Canon Inc Webアプリケーション及びそのデータ共有方法、並びにプログラム
US7899913B2 (en) * 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US8065439B1 (en) 2003-12-19 2011-11-22 Nvidia Corporation System and method for using metadata in the context of a transport offload engine
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US8549170B2 (en) * 2003-12-19 2013-10-01 Nvidia Corporation Retransmission system and method for a transport offload engine
US7596107B1 (en) 2004-01-26 2009-09-29 Cisco Technology, Inc. System and method for enabling multicast group services in a network environment
US7249306B2 (en) * 2004-02-20 2007-07-24 Nvidia Corporation System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US7206872B2 (en) * 2004-02-20 2007-04-17 Nvidia Corporation System and method for insertion of markers into a data stream
US7698413B1 (en) 2004-04-12 2010-04-13 Nvidia Corporation Method and apparatus for accessing and maintaining socket control information for high speed network connections
US8089972B2 (en) 2004-05-03 2012-01-03 Level 3 Communications, Llc Registration redirect server
US20060064478A1 (en) * 2004-05-03 2006-03-23 Level 3 Communications, Inc. Geo-locating load balancing
US7496651B1 (en) * 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7020090B2 (en) * 2004-06-21 2006-03-28 Cisco Technology, Inc. System and method for loadbalancing in a network environment using feedback information
US20060015596A1 (en) * 2004-07-14 2006-01-19 Dell Products L.P. Method to configure a cluster via automatic address generation
US20060021920A1 (en) * 2004-08-02 2006-02-02 Forbes Robert C Pond filters
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US7805517B2 (en) * 2004-09-15 2010-09-28 Cisco Technology, Inc. System and method for load balancing a communications network
US7957379B2 (en) * 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
US8768350B2 (en) 2004-12-09 2014-07-01 Level 3 Communications, Llc Systems and methods for locating endpoints in a communication network
US9843557B2 (en) 2004-12-09 2017-12-12 Level 3 Communications, Llc Systems and methods for dynamically registering endpoints in a network
US7734019B1 (en) * 2004-12-09 2010-06-08 Level 3 Communications, Llc Systems and methods for third party emergency call termination
DE102005010690B4 (de) * 2005-03-09 2007-04-12 Knorr-Bremse Systeme für Schienenfahrzeuge GmbH Öleingespritzter Verdichter mit Temperaturschalter
US7340744B2 (en) * 2005-04-08 2008-03-04 Cisco Technology, Inc. System and method for optimizing sessions and network resources in a loadbalancing environment
US7693071B2 (en) * 2005-05-27 2010-04-06 Microsoft Corporation System and method for routing messages within a messaging system
US7496037B2 (en) * 2005-06-14 2009-02-24 International Business Machines Corporation Apparatus, system, and method for facilitating delivery of asynchronous response messages
US20070008974A1 (en) * 2005-07-07 2007-01-11 International Business Machines Corporation Method, apparatus and computer program product for network services
US8009676B2 (en) * 2005-07-26 2011-08-30 Cisco Technology, Inc. Dynamically providing a quality of service for a mobile node
US7945678B1 (en) 2005-08-05 2011-05-17 F5 Networks, Inc. Link load balancer that controls a path for a client to connect to a resource
US9191396B2 (en) 2005-09-08 2015-11-17 International Business Machines Corporation Identifying source of malicious network messages
US7630486B2 (en) * 2005-09-20 2009-12-08 Cisco Technology, Inc. Method and system for handling a queued automatic call distributor call
EP1949214B1 (en) * 2005-10-28 2012-12-19 Network Appliance, Inc. System and method for optimizing multi-pathing support in a distributed storage system environment
US8307057B1 (en) 2005-12-20 2012-11-06 At&T Intellectual Property Ii, L.P. Methods for identifying and recovering non-revenue generating network circuits established outside of the united states
US7779098B1 (en) 2005-12-20 2010-08-17 At&T Intellectual Property Ii, L.P. Methods for identifying and recovering stranded and access-no-revenue network circuits
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
ITTO20060149A1 (it) * 2006-03-01 2007-09-02 Cisco Tech Inc Tecnica per l'instradamento ottimizzato di flussi di dati su una dorsale ip in una rete di computer.
US7519734B1 (en) * 2006-03-14 2009-04-14 Amazon Technologies, Inc. System and method for routing service requests
US8493858B2 (en) 2006-08-22 2013-07-23 Citrix Systems, Inc Systems and methods for providing dynamic connection spillover among virtual servers
US8312120B2 (en) * 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
JP2008077428A (ja) * 2006-09-21 2008-04-03 Fujitsu Ltd 負荷分散装置、負荷分散方法及び負荷分散プログラム
US8433730B2 (en) * 2006-10-31 2013-04-30 Ariba, Inc. Dynamic data access and storage
US20080140826A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Monitoring and controlling electronic message distribution
US8462799B2 (en) * 2006-12-13 2013-06-11 The Boeing Company Distributed application communication routing system for internet protocol networks
KR101221473B1 (ko) * 2007-01-11 2013-01-14 삼성전자주식회사 메타 데이터 정보 제공 서버, 클라이언트 장치, 메타데이터 정보 제공 방법 및 콘텐츠 제공 방법
US9794310B2 (en) * 2007-01-11 2017-10-17 Samsung Electronics Co., Ltd. Meta data information providing server, client apparatus, method of providing meta data information, and method of providing content
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US9330529B2 (en) * 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
CN101123527B (zh) * 2007-02-25 2010-10-27 华为技术有限公司 一种流媒体系统、信令转发设备以及流媒体发送方法
US8209417B2 (en) * 2007-03-08 2012-06-26 Oracle International Corporation Dynamic resource profiles for clusterware-managed resources
US9953481B2 (en) * 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
US20080307114A1 (en) * 2007-03-30 2008-12-11 Canon Kabushiki Kaisha Network assignment method and apparatus
US8159961B1 (en) 2007-03-30 2012-04-17 Amazon Technologies, Inc. Load balancing utilizing adaptive thresholding
US8285870B2 (en) * 2007-09-05 2012-10-09 Echostar Technologies L.L.C. Systems and methods for statistical resolution of domain name service (DNS) requests
US10290006B2 (en) * 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US8055795B2 (en) * 2007-10-02 2011-11-08 Echostar Technologies Llc Systems and methods for proxy resolution of domain name service (DNS) requests
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
WO2009123868A2 (en) 2008-04-04 2009-10-08 Level 3 Communications, Llc Handling long-tail content in a content delivery network (cdn)
CN102037678B (zh) * 2008-05-20 2013-09-25 汤姆森许可贸易公司 分发在多个接收机处可用的内容的映射图的系统和方法
US8849435B2 (en) 2008-07-09 2014-09-30 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
JP5337879B2 (ja) * 2008-09-29 2013-11-06 株式会社東芝 複数のネットワークアクセスポイントの事前評価
US8613072B2 (en) * 2009-02-26 2013-12-17 Microsoft Corporation Redirection of secure data connection requests
US20100228824A1 (en) * 2009-03-06 2010-09-09 Cisco Technology, Inc. Distributed server selection for online collaborative computing sessions
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
KR101748448B1 (ko) 2009-03-18 2017-06-16 터치튠즈 뮤직 코포레이션 엔터테인먼트 서버 및 관련 소셜 네트워킹 서비스
US20100313262A1 (en) 2009-06-03 2010-12-09 Aruba Networks, Inc. Provisioning remote access points
US10402834B2 (en) 2009-09-30 2019-09-03 Verizon Patent And Licensing Inc Advertisements within television advertisements
US9280907B2 (en) * 2009-10-01 2016-03-08 Kryterion, Inc. Proctored performance analysis
US9141513B2 (en) 2009-10-01 2015-09-22 Kryterion, Inc. Maintaining a secure computing device in a test taking environment
CN105354940A (zh) 2010-01-26 2016-02-24 踏途音乐公司 具有改进的用户界面的数字点播设备和相关方法
US10672286B2 (en) * 2010-03-14 2020-06-02 Kryterion, Inc. Cloud based test environment
US20120135388A1 (en) * 2010-03-14 2012-05-31 Kryterion, Inc. Online Proctoring
CN102893557B (zh) * 2010-03-22 2017-04-12 皇家Kpn公司 用于处理配置请求的系统和方法
US8219646B2 (en) * 2010-03-31 2012-07-10 Oracle International Corporation Dynamic intelligent mirror host selection
US8898513B2 (en) * 2010-05-19 2014-11-25 Cleversafe, Inc. Storing data in multiple dispersed storage networks
US8958439B2 (en) 2010-08-03 2015-02-17 F5 Networks, Inc. Mediating method and system between signaling network peers
US8713130B2 (en) 2010-08-04 2014-04-29 Kryterion, Inc. Peered proctoring
US9137163B2 (en) 2010-08-04 2015-09-15 Kryterion, Inc. Optimized data stream upload
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
JP5724494B2 (ja) * 2011-03-17 2015-05-27 富士通株式会社 監視装置、状態監視システム及び装置設定方法
KR101544483B1 (ko) * 2011-04-13 2015-08-17 주식회사 케이티 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
US8959222B2 (en) * 2011-05-19 2015-02-17 International Business Machines Corporation Load balancing system for workload groups
US8819425B2 (en) 2011-06-30 2014-08-26 True[X] Media Inc. Privacy protected interactions with third parties
CA2849069C (en) 2011-09-18 2017-08-22 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US9154549B2 (en) * 2011-10-27 2015-10-06 Cisco Technology, Inc. Dynamic server farms
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
US20130325612A1 (en) * 2012-06-04 2013-12-05 WebLinc LLC Methods and systems for interfacing e-commerce platforms with brick and mortar presences
JP5975745B2 (ja) * 2012-06-11 2016-08-23 フェリカネットワークス株式会社 情報処理装置及び情報処理方法、情報通信システム、並びにコンピューター・プログラム
US9672567B2 (en) * 2012-06-29 2017-06-06 Estimatics In The Fourth Dimensions, Llc Damage assessment and reporting system
CN103634737A (zh) * 2012-08-23 2014-03-12 环达电脑(上海)有限公司 以位置和外部情况选择相关广告之移动装置及其选择方法
CN103678311B (zh) * 2012-08-31 2018-11-13 腾讯科技(深圳)有限公司 基于中转模式的网页访问方法及系统、抓取路径服务器
US20130262238A1 (en) * 2012-09-06 2013-10-03 Mikhail Leonidovich Liubachev System and method for customer involvement
US9712402B2 (en) * 2012-10-10 2017-07-18 Alcatel Lucent Method and apparatus for automated deployment of geographically distributed applications within a cloud
US20140365299A1 (en) * 2013-06-07 2014-12-11 Open Tv, Inc. System and method for providing advertising consistency
US9921717B2 (en) 2013-11-07 2018-03-20 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US10694000B2 (en) 2013-12-02 2020-06-23 Amazon Technologies, Inc. Browser-based analysis of content request mode performance
US10237373B2 (en) * 2013-12-02 2019-03-19 Amazon Technologies, Inc. Performance-based determination of request modes
US10242322B2 (en) 2013-12-02 2019-03-26 Amazon Technologies, Inc. Browser-based selection of content request modes
US10937059B1 (en) 2013-12-13 2021-03-02 Groupon, Inc. Systems, apparatus, and methods for providing local promotions
US9391884B2 (en) 2014-01-31 2016-07-12 Google Inc. Consistent hashing using exact matching with application to hardware load balancing
KR102425594B1 (ko) 2014-03-25 2022-07-27 터치튠즈 뮤직 코포레이션 향상된 사용자 인터페이스를 가지는 디지털 주크박스 장치 및 관련 방법
US10432711B1 (en) * 2014-09-15 2019-10-01 Amazon Technologies, Inc. Adaptive endpoint selection
US9489242B2 (en) * 2014-09-30 2016-11-08 Telefonaktiebolaget L M Ericsson (Publ) Algorithm for faster convergence through affinity override
US9699088B2 (en) * 2014-11-10 2017-07-04 Hughes Network Systems, Llc Service plan based flow control
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
CN107786604B (zh) * 2016-08-30 2020-04-28 华为数字技术(苏州)有限公司 一种确定内容服务器的方法及装置
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11522897B2 (en) * 2018-07-25 2022-12-06 International Business Machines Corporation Detecting and patching network vulnerabilities
US11362889B2 (en) * 2018-10-15 2022-06-14 Cdw Llc System and method for automated information technology services management
US11516116B2 (en) * 2020-03-30 2022-11-29 EMC IP Holding Company LLC Domain name system multipathing distributed applications
US11055196B1 (en) 2020-06-12 2021-07-06 Bank Of America Corporation System and method for optimizing technology stack architecture
US11010281B1 (en) 2020-10-12 2021-05-18 Coupang Corp. Systems and methods for local randomization distribution of test datasets

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4399531A (en) * 1980-09-29 1983-08-16 Rockwell International Corporation Distributed digital data communications network
US4587651A (en) 1983-05-04 1986-05-06 Cxc Corporation Distributed variable bandwidth switch for voice, data, and image communications
JPH0831876B2 (ja) * 1985-09-20 1996-03-27 株式会社日立製作所 パケツト交換網におけるル−チング制御方式
US5001472A (en) * 1988-02-11 1991-03-19 Datapoint Corporation Uneven token distribution technique for token based local area network
US4958341A (en) 1988-03-31 1990-09-18 At&T Bell Laboratories Integrated packetized voice and data switching system
US4873517A (en) 1988-06-23 1989-10-10 International Business Machines Corporation Method for selecting least weight end node to end node route in a data communications network
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US5231631A (en) 1989-08-15 1993-07-27 At&T Bell Laboratories Arrangement for regulating traffic in a high speed data network
CA2032620C (en) * 1989-12-22 1995-08-15 Takafumi Chujo Method for searching for alternate path in communication network
US5404451A (en) 1990-02-06 1995-04-04 Nemirovsky; Paul System for identifying candidate link, determining underutilized link, evaluating addition of candidate link and removing of underutilized link to reduce network cost
JP2644624B2 (ja) 1990-11-30 1997-08-25 株式会社日立製作所 網間ルーティング制御方式
US5278829A (en) 1991-01-10 1994-01-11 Digital Equipment Corporation Reduced broadcast algorithm for address resolution protocol
US5347633A (en) 1991-04-30 1994-09-13 International Business Machines, Inc. System for selectively intercepting and rerouting data network traffic
US5442630A (en) 1991-05-24 1995-08-15 Gagliardi; Ugo O. ISDN interfacing of local area networks
GB9117172D0 (en) 1991-08-08 1991-09-25 British Telecomm Communication system
US5434863A (en) 1991-08-30 1995-07-18 Hitachi, Ltd. Internetworking apparatus for connecting plural network systems and communication network system composed of plural network systems mutually connected
IL99923A0 (en) 1991-10-31 1992-08-18 Ibm Israel Method of operating a computer in a network
WO1993013609A1 (en) 1991-12-23 1993-07-08 Network Express System for internetworking data terminal equipment through a switched digital network
US5357510A (en) 1992-02-19 1994-10-18 Fujitsu Limited Apparatus and a method for supervising and controlling ATM traffic
US5323394A (en) 1992-04-07 1994-06-21 Digital Equipment Corporation Selecting optimal routes in source routing bridging without exponential flooding of explorer packets
US5276735A (en) 1992-04-17 1994-01-04 Secure Computing Corporation Data enclave and trusted path system
JP2826416B2 (ja) 1992-06-05 1998-11-18 日本電気株式会社 ローカルエリアネットワーク間の接続ルータ
WO1993026109A1 (en) 1992-06-17 1993-12-23 The Trustees Of The University Of Pennsylvania Apparatus for providing cryptographic support in a network
US5452330A (en) 1992-07-06 1995-09-19 Digital Equipment Corporation Bus-oriented switching system for asynchronous transfer mode
US5490252A (en) 1992-09-30 1996-02-06 Bay Networks Group, Inc. System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing
US5398012A (en) 1992-11-24 1995-03-14 International Business Machines Corporation Distributed processing of route selection across networks and subnetworks
US5361259A (en) 1993-02-19 1994-11-01 American Telephone And Telegraph Company Wide area network (WAN)-arrangement
US5444782A (en) 1993-03-09 1995-08-22 Uunet Technologies, Inc. Computer network encryption/decryption device
US5548724A (en) * 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
JP2520563B2 (ja) 1993-05-19 1996-07-31 日本電気株式会社 パケット交換網
CA2124974C (en) 1993-06-28 1998-08-25 Kajamalai Gopalaswamy Ramakrishnan Method and apparatus for link metric assignment in shortest path networks
GB2281793A (en) 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
US5475685A (en) 1993-10-27 1995-12-12 International Business Machines Corporation Multi-media flow control over FDDI synchronous networks
US5721904A (en) * 1993-12-20 1998-02-24 Hitachi, Ltd. Database access system and method of controlling access management to a database access system for a plurality of heterogeneous database servers using SQL
US5485455A (en) 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5519836A (en) 1994-03-25 1996-05-21 At&T Corp. Method of on-line permanent virtual circuit routing
US5436902A (en) 1994-04-05 1995-07-25 First Pacific Networks Ethernet extender
JP2721303B2 (ja) 1994-05-12 1998-03-04 古河電気工業株式会社 接続装置の経路情報伝達方法
US5416842A (en) 1994-06-10 1995-05-16 Sun Microsystems, Inc. Method and apparatus for key-management scheme for use with internet protocols at site firewalls
US5455826A (en) 1994-06-28 1995-10-03 Oezveren; Cueneyt M. Method and apparatus for rate based flow control
US5452294A (en) 1994-07-05 1995-09-19 Motorola, Inc. Method and apparatus for adaptive route selection in communication networks
JPH0887473A (ja) 1994-09-16 1996-04-02 Toshiba Corp データ処理装置
US5548533A (en) 1994-10-07 1996-08-20 Northern Telecom Limited Overload control for a central processor in the switching network of a mobile communications system
CA2160393C (en) 1994-12-30 1999-05-04 Anwar Elwalid Method for integrated congestion control in networks
US5546452A (en) 1995-03-02 1996-08-13 Geotel Communications Corp. Communications system using a central controller to control at least one network and agent system
US5581552A (en) * 1995-05-23 1996-12-03 At&T Multimedia server
US5627971A (en) * 1995-06-01 1997-05-06 Northern Telecom Limited Machine method for determining the eligibility of links 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
US5603029A (en) * 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available
US5878212A (en) * 1995-07-31 1999-03-02 At&T Corp. System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy
US5617540A (en) * 1995-07-31 1997-04-01 At&T System for binding host name of servers and address of available server in cache within client and for clearing cache prior to client establishes connection
US5600794A (en) 1995-08-04 1997-02-04 Bay Networks, Inc. Method and apparatus for managing exchange of metrics in a computer network by exchanging only metrics used by a node in the network
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
GB2309558A (en) * 1996-01-26 1997-07-30 Ibm Load balancing across the processors of a server computer
US5805824A (en) * 1996-02-28 1998-09-08 Hyper-G Software Forchungs-Und Entwicklungsgesellschaft M.B.H. Method of propagating data through a distributed information system
US5828847A (en) * 1996-04-19 1998-10-27 Storage Technology Corporation Dynamic server switching for maximum server availability and load balancing
US5862339A (en) * 1996-07-09 1999-01-19 Webtv Networks, Inc. Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network

Also Published As

Publication number Publication date
US8683075B1 (en) 2014-03-25
AU724096B2 (en) 2000-09-14
CA2274496C (en) 2007-07-03
EP1016253A1 (en) 2000-07-05
CA2274496A1 (en) 1998-06-18
WO1998026559A1 (en) 1998-06-18
JP2001509925A (ja) 2001-07-24
DE69733498D1 (de) 2005-07-14
DK1016253T3 (da) 2005-09-19
US6185619B1 (en) 2001-02-06
PT1016253E (pt) 2005-09-30
DE69733498T2 (de) 2005-11-03
ATE297628T1 (de) 2005-06-15
ES2258800T3 (es) 2006-09-01
NZ336187A (en) 2001-02-23
AU5692498A (en) 1998-07-03
EP1016253B1 (en) 2005-06-08

Similar Documents

Publication Publication Date Title
JP4354532B2 (ja) 分散コンピュータシステム及びユーザ要求をレプリカネットワークサーバに分配する方法
US7447798B2 (en) Methods and systems for providing dynamic domain name system for inbound route control
US8510468B2 (en) Route aware network link acceleration
US9847930B2 (en) System and method for directing clients to optimal servers in computer networks
US7228359B1 (en) Methods and apparatus for providing domain name service based on a client identifier
US7747720B2 (en) Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device
US20020166080A1 (en) System and method for providing dynamically alterable computer clusters for message routing
US20020165957A1 (en) Intelligent dynamic route selection based on active probing of network operational characteristics
EP1207668A2 (en) System and method for performing client-centric load balancing of multiple globally-dispersed servers
US20110035497A1 (en) System and method for providing global server load balancing
US20090089438A1 (en) Intelligent network address lookup service
JPWO2003007160A1 (ja) 移動機通信システムおよび通信方法
JP2004530335A (ja) 多元ホストエニーキャストルーティングのための方法及びシステム
JP2001312484A (ja) 高速ウェブサーバ選択方法およびシステム
US20060187820A1 (en) Vector routing-revised
US7965630B1 (en) Load balancing port proxy for dynamically controlling routing of query requests
EP1433077B1 (en) System and method for directing clients to optimal servers in computer networks
US20030061304A1 (en) Method and apparatus for discovering client proximity using in-line translations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080507

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080507

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080507

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080616

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080605

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080714

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080709

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080811

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090218

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090423

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees