JP2005502239A - クライアント側の動的な負荷バランシングシステムの方法および機器 - Google Patents
クライアント側の動的な負荷バランシングシステムの方法および機器 Download PDFInfo
- Publication number
- JP2005502239A JP2005502239A JP2003525418A JP2003525418A JP2005502239A JP 2005502239 A JP2005502239 A JP 2005502239A JP 2003525418 A JP2003525418 A JP 2003525418A JP 2003525418 A JP2003525418 A JP 2003525418A JP 2005502239 A JP2005502239 A JP 2005502239A
- Authority
- JP
- Japan
- Prior art keywords
- address
- addresses
- server
- computer
- resource locator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
インターネット(150、120)などのネットワークを介してクライアントコンピュータ(100、110)に接続される複数のサーバコンピュータ間で負荷のバランスを取る方法および機器。一実施形態において、本発明は、クライアントコンピュータが選択されたユニフォームリソースロケータに関連する複数のアドレスを受信する(160)という方法を含む。この方法はまた、複数のアドレスのうちの1つを最後に使用されたアドレスとして識別するステップ、およびユニフォームリソースロケータを入力されたユニフォームリソースロケータとして受信するステップも含む。この方法はさらに、入力されたリソースロケータを選択されたユニフォームリソースロケータとして識別するステップ、および複数のアドレスから最後に使用されたアドレスと異なる選択されたアドレスを選択するステップを含む。
Description
【技術分野】
【0001】
本発明は、インターネット環境または他のネットワーク環境上のデータフローを管理する方法および機器に関する。詳細には、本発明は、データトラフィックを管理しコンピュータシステムへのハッカーの攻撃の可能性を低下させるクライアント側のアプリケーションに関する。
【背景技術】
【0002】
本出願は、本明細書に参照によって組み入れられる2001年9月5日出願の米国仮出願第60/316,981号に対する優先権を主張する。
インターネットは、サーバ、ルータ、様々な通信回線、およびその他の装置によって一緒に接続される多数のコンピュータから構成される。これらのコンピュータシステム間の通信は、異なる製造業者からのシステム、オペレーティングシステム、およびネットワークソフトウェアが理解する共通のプロトコルによって制御される。インターネットにアクセスする典型的なデータ構成には、2つの当事者、すなわちクライアントシステムおよびホストシステムが必要とされる。(クライアントコンピュータシステムを操作する)ユーザは、サイトのホストコンピュータシステムにアクセスすることにより所望のインターネットサイトと情報をやりとりする。当業者に知られているようにクライアントホスト通信システムは、どのようなタイプのネットワーク化コンピュータシステム上にも存在している。
【0003】
インターネットユーザにとっての共通の問題は、ホストサイトが提供するデータにアクセスできないという問題である。このアクセスの問題は、質の悪い伝送回線品質、不適切なコンピュータハードウェア構成、およびISP(Internet Service Providerインターネットサービスプロバイダ)との不適切な接続を含めて、多数の要因によって引き起こされ得る。既存のDNS(Domain Name Systemドメインネームシステム)の中央集中化された性質によって引き起こされる、ホストサイトへの安定したユーザアクセスを妨げる主な2つの要因は、必然的に生ずるトラフィックの輻輳と、ホストサイトに対するコンピュータハッカーまたはウィルスの攻撃である。
【0004】
アクセス問題は、DNSの中央集中化された性質、すなわち、インターネットドメインネームをインターネットに接続されたコンピュータが理解する適切なアドレスに変換するインターネットサービスによって悪化させられる。ほとんどのホストサイトは、そのドメインネーム、すなわちURL(Uniform Resource Locatorユニフォームリソースロケータ)の一部を形成する英数字指定によって指定される。インターネットサイトのアドレスには、www.microsoft.comなどの論理的なドメインネームがあるが、これらのネームは、インターネットに接続される装置の物理ロケーションを識別するためには使用されない。そうではなくて、インターネット上の装置の物理ロケーションは、小数点で分離された4つのオクテットからなるIP(Internet Protocolインターネットプロトコル)アドレスと呼ばれる数値フォーマットを用いて指定される。例えば、ウェブサイトmicrosoft.comは、IPアドレス207.46.197.100にマッピングされる。インターネットユーザは、特定のウェブサイトのIPアドレスを常日頃知らないので、DNSによりインターネットユーザは特定のIPアドレスを知らなくても所望のインターネットサイトにアクセスできるようになる。
【0005】
論理ドメインネームのIPアドレスへのマッピングまたは変換は、ドメインネームサーバを使用することによって行われる。ドメインネームサーバは、ドメインネームのテーブル、およびDNSテーブルと呼ばれるマッチングIPアドレスを保持する。インターネット上の各ドメインネームには、特定のDNSサーバ、またはそのテーブル中の情報を保持し更新する責任をもつサーバがあり、特定のDNSサーバにはインターネット上でこのテーブル確認をブロードキャストする責任がある。
【0006】
典型的なクライアントホストインターネットトランザクションは、以下のようにして行われる。図1を参照すると、ホストインターネットサイトへの典型的なユーザ、またはクライアントの接続は、ユーザがサイトのドメインネームをクライアントシステム上のインターネットブラウザにタイプすることによって開始される。クライアントが最近そのサイトにアクセスしたことがある場合には、そのIPアドレスはクライアントキャッシュのURLにマッピングされている可能性がある。そうでない場合には、クライアントシステムは、ドメインネームのIPアドレスをローカルネームサーバから要求する。このローカルネームサーバは、最近同じ要求を受信したことがある場合には、そのIPアドレスを有する可能性がある。そうでない場合には、ローカルネームサーバはそのIPアドレスをルートサーバに対して要求することになる。第1のルートサーバに、そのIPアドレスがない場合には、ネームサーバは、この要求が実行されるまで、別のルートサーバまたはローカルサーバに対してIPアドレスを要求することになる。
【0007】
人気のあるウェブサイトでは、ユーザから多数の、「ヒット」としても知られているアクセス要求を受信する。例えば、microsoft.comやyahoo.comなどのウェブサイトは、毎日数百万人の訪問者を受け入れる。これらの訪問のすべてでは、それぞれブラウザシステムにURLアドレスを入力することによってウェブサイトにアクセスが行われる。さらに、ほとんどの場合に、これらの訪問は1つのIPアドレス(例えばmicrosoft.comおよびyahoo.comに対応する数値アドレス)を介して開始される。一意的なURLアドレス(およびIPアドレス)がアクセスされた後、ユーザ要求はしばしば、それぞれベースサーバと同一のデータを保持する一群のミラーサイトサーバ(mirror site server)間に分散される。このような分散は、当技術分野で一般に知られているタイプのルータハードウェアおよびルータソフトウェアを使用することによって行われる。ユーザが、マッピングされたIPアドレスによってウェブサイトにアクセスした後に、これらの負荷バランシング技法が行われることが重要である。したがって、ユーザが(DNSに登録された)IPアドレスにアクセスした後に、ルータおよび他のサーバ装置は、ユーザ数(「負荷」)をそのサイトサーバ間に分散するように動作する。この負荷バランシングシステムは、所与の時刻に最大数のユーザがあるサイトにアクセスできるよう試みるように設計される。この負荷バランシングシステムは、ウェブサイトのエントリーレベルで実装される。
【0008】
これらのサーバに負荷バランシングの解決方法が実装されているにもかかわらず、これらの訪問がサイトのホストとなるサーバ上に分散される以前に、そのIPアドレスを介して多数のユーザをあるウェブサイトにアクセスさせる必要があるために、ボトルネックが作成される。余りにも多数のユーザが同時に1つのIPアドレスにアクセスしようと試みる場合、このウェブサイトには必ずしもあらゆるユーザがアクセス可能ではないことになる。
【0009】
さらに、あるIPアドレスを膨大なアクセス要求で圧倒することが、悪意的に行われる可能性もある。インターネットの急速な発展と共に、インターネットに接続されたコンピュータシステムへの悪質な攻撃が著しく増大している。これらの攻撃の多くはDOS(Denial of Serviceサービスの妨害)攻撃と呼ばれている。DOS攻撃では、攻撃者は、サーバ、ルータ、または個々のコンピュータを含むターゲットシステムをそのシステムが処理できるよりも大きな割合の情報要求であふれさせる。これらの要求を処理するサーバまたはルータは、速度が低下するか、あるいは完全に機能できないようになってしまう。攻撃によっては複数のホストコンピュータが損なわれるものがあり、これらの損なわれたホストを従事させて攻撃者のエージェントの役割を果たすようにさせて攻撃を実行させるものがある。このタイプの攻撃は、DDOS(Distributed Denial of Service分散サービス妨害)攻撃として知られている。DDOS攻撃では、ソースの数、および結果としての攻撃中に生成されるインターネットトラフィック量のために対抗することがより難しくなる。
【0010】
典型的なDDOS攻撃ツールには、Trin00、TFN(Tribe Flood Networkトライブフラッドネットワーク)、TFN2K、およびコードレッド(Code Red)が含まれる。これらの攻撃ツールでは、TCP SYN(Transmission Control Protocol Synchronize伝送制御プロトコルシンクロナイズ)、ICMP(Internet Control Message Protocolインターネット制御メッセージプロトコル)フラッド、UDP(User Datagram Protocolユーザデータグラムプロトコル)診断ポート攻撃、およびスマーフ(Smurf)など、1つまたは複数の異なるDOS攻撃が利用される。例えば、Trin00ツールを使用して、攻撃者は、盗まれたアクセスアカウントをしばしば使用することによっていくつかのシステム上にマスタプログラムをロードする。次いで、このマスタプログラムは、IPアドレスの広大な範囲のポートスキャンを行って、攻撃を実行するのに使用するぜい弱なシステムを見つけ出す。スキャン中に特定されたぜい弱なシステムでは、Trin00デーモン(daemon)がそれぞれにロードされるときに損なわれる。攻撃者のコマンドで、この損なわれたシステムはTrin00デーモンを実行し、このデーモンによって、無作為に対象となるターゲットをUDPパケットであふれさせ、ターゲットシステム上のポートを変更する。UDPパケットを使用して宛先システムによる応答を必要としない情報を配布する。UDPパケットのフラッドに応答して、攻撃下のシステムは標準プロトコルに従って各UDPパケットを処理しようと試み、それによってシステム資源が次第に減少し、システム速度が低下し、システムが崩壊しまたはクラッシュする可能性がある。
【0011】
これらの攻撃の突然変異はまた、「スプーフ」機能、すなわち各データパケット中の実際のソースアドレスを含むのでなく別のソースIPアドレスにとって代わる機能も含まれる。ソースIPアドレスは、攻撃の起源を追跡する助けとなるので、ソースアドレスのスプーフィングは、ソースを終了させることによってDOS攻撃を停止させることをさらにずっと難しくする。
【0012】
負荷バランシングおよびサービス拒否攻撃を含む問題に対する従来技術の解決方法では、特定のウェブサイトサーバ内で行われる活動に焦点を当てている。ここに示すように、ウェブサイトの負荷をバランスさせようと試みる最も一般的な方法は、ルータおよび他のトロポロジの解法を使用するものであり、すべてはクライアントサーバトランザクションのサーバ側で行われる。これらの方式では、トラフィックが(IPアドレスを介して)ウェブサイトに入力された後、サーバは、このトラフィックを(この場合もまったく同じ主要IPアドレスをもつ)他の複数のサーバに配布する。
【0013】
DNSはまた、「ラウンドロビン」配布システムの使用によってアクセス問題の管理も行う。ラウンドロビンのDNSの実装においては、あるサイトは、1つのドメインネームに関連する多数の異なるIPアドレスを登録する。ラウンドロビンDNSを利用したサイトにアクセスを要求するあるユーザは、第1のIPアドレスへ向けて導かれる。(共通のドメインネームを介して)同じサイトにアクセスを要求する次のユーザは、第2のIPアドレスへ向けて導かれる。このサイクルは、DNSが1つのドメインネームに関連づけるIPアドレス数に達するまで続行される。すべてのIPアドレスが利用された後、後続のユーザは最初のIPアドレスへと戻される。ラウンドロビンDNSは、ユーザが1つのIPアドレスを介してサイトに入った後、サイトがトラフィックを配布する場合に従来の負荷バランシングが行われるという点で従来の負荷バランシングシステムとは区別される。
【0014】
ラウンドロビンDNSの実装についてもまた、中央集中化されたDNS上に存在し、したがってユーザのアクセス問題を解決するのには不適当である。ネームサーバ上でのキャッシングおよびクライアントブラウザ中に構築される様々な機能では、トラフィックをIPアドレスに直接繰り返し送信することができ、したがってこのラウンドロビン機能をバイパスすることができる。かなりのインターネットトラフィックを伴うサイトについて、しばしば照会を行い、したがって、ローカルネームサーバまたはルートネームサーバ上に共通にキャッシングを行う。したがって、URLを使用した公共ウェブサイトの照会では、ほとんどの場合に、様々なネームサーバのキャッシュに配置されているIPアドレスが受信される。URLおよびDNS上の関連するIPアドレスのキャッシングは、サイトアクセス照会を配布する価値ある機能を果たすが、ラウンドロビンDNS機能の実装を効果的にバイパスすることになる。この場合にも、照会が適切なIPアドレスに送信された後、サイトのオーナーは、様々なホストサーバ間で経路指定のハードウェアおよびソフトウェアを使用してこれらの要求を配布することによって負荷バランシングを得ることができる。しかし、このシステムでは、1つのIPアドレスを介して多数の照会がサイトにアクセスを試みるとき、依然としてトラフィック輻輳の影響を受けやすい。
【0015】
DDOS状況では、サーバやルータなどの装置は、共に攻撃から守る手段となり、またそれらが攻撃プログラムにとっての無作為のホストとして乗っ取られたとき攻撃を伝搬させる手段ともなる。したがって、既存の保護対策では、知られている攻撃ツールによって使用される手法に応答して攻撃を伝搬させるシステムの使用を防ぐようにも設計される。
【0016】
例えば、多数のDOS攻撃ツールでは、スプーフIPアドレスを使用して過剰なインターネットトラフィックが生成される。不当なまたはスプーフのIPアドレスを伴うパケットの伝搬を最小にするために、送信パケットにフィルタをかけて正当なソースIPアドレスを伴うパケットだけが出発できるようにルータを構成することができる。同様に、不当な、またはスプーフのIPアドレスを伴うパケットを受信するのを防ぐために、着信パケット上のIPアドレスの妥当性を検証するようにルータを構成することができる。このメカニズムでは、システム上のすべてのサービス拒否攻撃を防ぐことにはならないが、このメカニズムにより、知られている攻撃ツールを使用したDDOS中のブロードキャストサイトとしてシステムが使用されないようになる。
【0017】
さらに、インターネットに直接に接続されたシステムでは、一貫したネットワークの監視を行って、ぜい弱なシステムを識別するために使用されるポートスキャンニングを防止することができる。監視することではDOS攻撃を防止することができないが、監視により、ぜい弱なポートの識別が可能であり、攻撃者となる可能性のある正体がもたらされることもある。ホストシステムのインターネットトラフィックを連続的に監視することにより、トラフィック統計をベースラインの判断基準と比べることによって潜在的な問題を識別することができる。同様にして、監視を介して、ハードウェアおよびソフトウェアのファイアウォールまたはルータを使用して、ICMPエコーコマンドによるフラッディング(flooding)やピン割当て(pinging)などよく知られたIPアドレスのフラッディング攻撃を阻止することができる。ファイアウォールまたはルータを用いて、システムに入力されまたはシステムから出発するパケットをフィルタし、適切な判断基準を満たせないものへのトランジット(transit)を拒否することができる。これらの機構は、知られている攻撃ツールに対しては有効であるが、将来開発される攻撃ツールに対しては有効ではないこともある。
【0018】
良好なセキュリティの実施および全体的なネットワークハウスキーピングを行うことによって、ある種のタイプのDOS攻撃を防止し低減することができる。知られているルータおよびサーバのぜい弱性については、しばしばセキュリティパッチを当てることによって解決されることもある。しかし、パッチは知られているぜい弱性に対してのみ有効であるのでその有効性は限定されている。必須でないインターネットへの接続を取り除いて攻撃の可能性を低下させることができる。例えば、ある種の攻撃では、UDPおよびTCPの診断ポートを要求であふれさせる。これらのポートに対するフラッドから保護する一方法には、UDPおよびTCPの診断ポートを無効にするものがある。この場合にも、この保護対策では、アクセスポイント数を減少させることによって攻撃の可能性が最小限に抑えられるというにすぎない。
【0019】
既存の解決方法にもかかわらず、DNSを利用するとサーバおよびルータはぜい弱なままである。クライアントはURLを利用してウェブサイトにアクセスし、URLはDNS上で公共利用可能な限られた数のIPアドレスに結合されているので、ウェブサイトはDOS攻撃に対してぜい弱なままとなる。ウェブサイトは攻撃下の特定のIPアドレスをそのIPアドレスのプールから取り除くことができるが、これによって攻撃が軽減されることにはならない。攻撃要求は、DNSによって配布されるURLに関連する次のIPアドレスを簡単に受信することになる。その結果、損なわれたコンピュータは、依然としてウェブサイトサーバを要求であふれさせ、ウェブサイトへのアクセスの速度を低下させ、あるいは中断させることができる。ウェブサイトでは、IPアドレスを取り除き置き換えることができるが、この攻撃では、DNSによって提供された後続の各アドレスへと簡単に移行がなされるはずである。
【0020】
前述の従来技術による解決方法はそれぞれ、サーバ側の解決方法であり、これは、IPアドレスに影響を及ぼす資源量によって引き起こされる問題の一面に対してしか対処していない。これらの各解決方法では有効性が限定されている。さらに、ファイアウォール、監視、ルータ構成など現在の対策では、保護されていないシステムが損なわれる可能性があるのでインターネットサイト間での協調努力が必要になる。インターネットに接続された必ずしもすべてのシステムが保護対策を取ってDDOSにとってのホストサイトとしての使用を防止するわけではないので、保護対策は、どのシステムにとっても完全には有効にならないはずである。
【発明の開示】
【発明が解決しようとする課題】
【0021】
本発明は、ネットワークを介してクライアントコンピュータに接続される複数のサーバコンピュータ間で負荷のバランスを取る方法および機器を提供する。
【課題を解決するための手段】
【0022】
本発明は、クライアントコンピュータ内で複数のアドレスを選択されたユニフォームリソースロケータ(URL)に関連づけるステップと、アドレスの1つを最後に使用されたアドレスとして識別するステップとを含む。本発明はまた、URLを入力されたURLとして受信するステップと、入力されたURLを選択されたURLとして識別するステップとを含む。本方法はさらに、最後に使用されたアドレスと異なる選択されたURLに対応するアドレスを選択するステップを含む。次いで、クライアントコンピュータは、選択されたアドレスで識別されるサーバコンピュータに要求を送信することによってサーバコンピュータのウェブサイトまたはファイルにアクセスする。
【0023】
本発明は、DNSルックアップテーブルに頼ることなく、ターゲットウェブサイトにアクセスするために使用されるIPアドレスを動的に調整するクライアント側アプリケーションを利用する。本発明の一実施形態は、ユーザがインターネットブラウザからターゲットサイトのドメインネームを要求するとき、クライアントに本発明を使用する任意のターゲットサイトにアクセスするために使用されるIPアドレスリストを定期的に提供し、ユーザを選択されたIPアドレスへと導く。クライアントによって連絡が取られた後に、このシステムを使用するターゲットサイトでは、攻撃を回避することが必要と思われたときにまたはその他どのような理由でもIPアドレスリストをリフレッシュすることができる。
【0024】
用語「クライアント側」アプリケーションは、従来のパーソナルコンピュータネットワークサーバ構成だけには限定されない。したがって、本発明には、当業者に知られているものを含めて他の計算機装置にネットワーク化環境を介してアクセスするどのような計算機装置をも含めることができる。第1の計算機装置を「クライアント」と考え、第2の計算機装置を「サーバ」と考えることができる。
【0025】
本発明の一実施形態は、インターネットウェブサイトのサーバ群の間で着信要求の負荷のバランスを取り、それによってDOS攻撃の影響を最小限にするようにウェブサイトアクセスを可能にするクライアント側の機器である。本実施形態ではまた、どのような公式のドメインネームサーバにも頼らずに、クライアントが適切なIPアドレスを決定しインターネットトラフィックをそのIPアドレスに経路指定することができるようにするコンピュータ通信用のシステムについても記載している。
【0026】
本発明は、1つのIPアドレスによって識別されるウェブサイトに所与の時刻にあまりにも多すぎるユーザがアクセスを試みることに関連する負荷バランシング問題に対する効率的な解決方法を提供する。メモリキャッシュ(または他の記憶/設備システム)を含むドメインネームアドレス指定方式を利用することにより、本発明ではウェブブラウザに1組の適切なIPアドレスを供給する。本発明では、クライアントコンピュータに対する、IPアドレスの定期的な更新および/または置換えが可能となる。クライアントがサーバとの連絡を確立した後は、クライアント側からも、サーバ側からもこの更新と置換えを開始することができる。
【0027】
本発明の一実施形態はまた、DNSを使用して特定のインターネットサイトと情報をやりとりする必要性によって引き起こされる他のDOSおよびDDOSの解決方法の不備も解決する。従来技術とは違って、本発明の一実施形態では、DNSを参照せずにクライアント側の動的な宛先IPアドレス割当てが利用される。本発明のユーザにとってサイトへのアクセスはDNSを参照することなく利用可能となり、したがって、攻撃者がIPアドレスをDNSルックアップテーブルから決定し次いで攻撃をリスト化されたIPアドレスに向けることが防止される。さらに、動的なIPアドレスシステムを使用することにより、クライアントは、ハッカーおよびウィルスがどれか1つのIPアドレスの制御をアサートしこのIPアドレスを介してシステムを損なわせることがないようにする。
【0028】
さらに、本発明の一実施形態は、クライアント側アプリケーションの知られているユーザから攻撃のソースをトレースすることができることを保証する。攻撃が本発明を使用して試みられる場合には、アプリケーションは、攻撃を追跡することが可能である。ターゲットサーバへのすべてのサイトユーザの参加が、クライアント側アプリケーションによって制御されることになるので、ターゲットサイトでは、攻撃のソースを決定することができるようになり、その攻撃をそのソースのところで消滅させる機能をもつ。DDOSに対する従来技術の解決方法では、ソースアドレスがしばしばスプーフを受けるので、攻撃の実際のソースを決定することができなくなる。さらに、本発明がターゲットインターネットサイトに対するアクセスを制御するので、スプーフを受けたアドレスを使用して本発明を利用するサイトを攻撃することはできない。クライアント側のアプリケーションをもたないユーザは、DNSを利用してサイトにアクセスしようと試みることができるが、DNSによって供給されるIPアドレスを利用するトラフィックはどれも、以上で指摘したように輻輳、DOS、その他の攻撃に対してぜい弱なままである。
【発明を実施するための最良の形態】
【0029】
本発明は、インターネットなどのコンピュータネットワ−ク中の動的なクライアント側の負荷バランシングの方法および機器を対象としている。本発明の一実施形態は、複数の接続120を介してネットワーク150に接続されるクライアントコンピュータ100およびクライアントコンピュータ110を備える、図1に示すコンピュータシステム中に実装することができる。さらに、ネットワーク150には、ウェブサイトのホストとしての役割を果たし、データファイルおよびプログラムファイルをネットワーク化されたクライアントコンピュータ100および110に供給することができる、サーバコンピュータA130、サーバコンピュータA131、サーバコンピュータA132など、複数のサーバコンピュータが接続されている。本発明の一実施形態では、DNSファイルサーバ160が、ネットワーク150に接続されている。図に示す実施形態中では、アドレスファイルサーバ140が、サーバコンピュータA130、A131、およびA132に接続されている。
【0030】
クライアントコンピュータ100および110は、データを処理し、ネットワーク150上にリモートに配置されたコンピュータと通信を行うことが可能な計算機装置である。例えば、図3に、バス310を介して記憶装置320に接続されるプロセッサ300と、ディスプレイなどの出力装置330と、ネットワークインターフェース装置340などの通信装置と、入力装置350とを備えるクライアントコンピュータ100を示す。クライアントコンピュータ100の動作中に、プロセッサ300は、情報のやりとりを行い記憶装置320中に記憶されるデータおよびプログラミングコードをバス310を介して読み取って必要な処理ステップを実行する。記憶装置320は、データおよびプログラムコードを記憶する揮発性または不揮発性の記憶装置でもよい。本発明の一実施形態では、記憶装置320は、クライアントコンピュータ100の動作中にインターネットファイルアクセス装置390の少なくとも一部分を記憶する。インターネットファイルアクセス装置390により、クライアントコンピュータ100のユーザは、リモートサーバコンピュータに記憶されるインターネットファイルにアクセスすることができる。これらのファイルは、例えばサーバコンピュータA130、A131、およびA132に記憶されるデータファイルおよびプログラムファイルとすることが可能である。本発明のインターネットファイルアクセス装置390では、共に特定のファイルの記憶位置の情報を識別し提供する一意的なファイル識別子またはアドレスに基づいてインターネットファイルが位置決めされ検索される。
【0031】
本発明の一実施形態では、アドレスは、ユーザがDNSを使用することなくサーバコンピュータA130、A131、またはA132からウェブページを検索するためにまたはファイルをダウンロードするためにクライアントコンピュータ100に入力するURLアドレスから導き出され得る。例えば、仮想のURLを、「computer.com/directory/document」とすることができる。最初の単一順スラッシュの左側のURL部分、すなわち「computer.com」は、サーバコンピュータを識別し、URLのサーバ識別部分と呼ぶことができる。URLのこの部分は、識別されたサーバコンピュータのIPアドレスに分解することができ、このアドレスの第1の部分を形成する。URL中の第1の単一順スラッシュの右側のURL部分、すなわち「directory/document」は、識別されたサーバコンピュータ上に記憶され、あるいはホストとなる特定のファイルを識別し、このアドレスの第2の部分を形成する。URLのこの部分はファイル識別部分と呼ぶことができる。したがって、このアドレスは、2つの部分、すなわちファイルが配置されるコンピュータサーバを識別する部分と、その識別されたコンピュータサーバ上で特定のファイルおよびその記憶位置を識別する任意選択による部分とを含むことができる。URLがファイル識別部分を含まない場合には、このURLでは、デフォルトウェブページまたはホームページと呼ぶことのできるファイルにアクセスすることができる。かかるURLに対する関連するアドレスには、サーバ識別部分だけしか含まれないことになる。
【0032】
本発明の一実施形態では、インターネットファイルアクセス装置390は、マイクロソフトインターネットエクスプローラ(Microsoft Internet Explorer)やネットスケープナビゲータ(Netscape Navigator)などのウェブブラウザプログラムである。しかし、他の実施形態では、インターネットファイルアクセス装置390はまた、マイクロソフトアウトルックエクスプレス(Microsoft Outlook Express)などの電子メールプログラム、またはファイルのURLに基づいてリモートコンピュータからファイルを検索するファイル転送プログラムでもよい。
【0033】
記憶装置320にはインターネットファイルアクセス装置390に加えて、他のプログラムおよびデータファイルを記憶することもできる。これらのプログラムおよびデータファイルには、例えば、オペレーティングシステムプログラム370、アドレスファイルデータベース360、および負荷バランシングプログラム380が含まれる可能性がある。負荷バランシングプログラム380は、インターネットファイルアクセス装置390に入力されるURLを読み取り、アドレスをインターネットファイルアクセス装置390に戻し、インターネットファイルアクセス装置390がウェブページおよびファイルを検索できるようにする。URLのサーバ識別部分を認識することにより、負荷バランシングプログラム380では、要求されたファイルのコピーを有するサーバコンピュータA130、A131、またはA132のIPアドレスを見出すことができる。次いで、負荷バランシングプログラム380が同一のサーバ識別部分をもつURLを受け取るたびごとに、負荷バランシングプログラム380では、異なるサーバのIPアドレスが選択され戻される。したがって、ユーザが、ファイルまたはウェブページを特定のウェブサイトから検索しようと試みるとき、ウェブサイトのホストとなるいくつかのサーバコンピュータ間で処理する負荷を共用することができる。さらに、異なるクライアントには、あるウェブサイトに対する共通のコンテンツのホストとなるサーバコンピュータに対する有効なIPアドレスの全体リストの異なるサブセットを表す異なるIPリストを割り当てることができる。この負荷バランシングシステムは、クライアントコンピュータ中で動作し、クライアント側システムと呼ぶこともできる。
【0034】
本発明の一実施形態では、負荷バランシングプログラム380は、アドレスファイルデータベース360を使用し保持してインターネットファイルアクセス装置390に入力されるURLを認識し対応するサーバコンピュータのIPアドレスを見出す。IPアドレスファイルデータベース360の実施形態の一例を図4に4つのカラムを含むデータベースとして示す。カラムAは、URLのサーバ識別部分のリスト、urlA、urlB、およびurlCである。カラムB中のこれらの各URLに対応して少なくとも2つのIPアドレスが存在する。urlAに対応するサーバコンピュータのIPアドレスには、例えばサーバコンピュータA130を識別するipaddressA1、サーバコンピュータA131を識別するipaddressA2、サーバコンピュータA132を識別するipaddressA3、およびネットワーク150に接続され得るさらに他のサーバコンピュータA133を識別するipaddressA4があり得る。同様にipaddressB1、ipaddressB2、ipaddressB3、ipaddressB4、およびipaddressB5は、urlBに対応するアドレスであり、ネットワーク150に接続され得るサーバコンピュータを識別する。アドレスipaddressC1、ipaddressC2、およびipaddressC3は同様にurlCに関連し、さらに他のサーバコンピュータを識別する。カラムCは、最後に使用された各URLに対応するIPアドレスを識別するポインタを含む。したがって、このポインタは前に選択されたアドレスを特定し、対応するURLが再び入力されるときに負荷バランシングプログラム380が異なるアドレスを選択できるようにする。カラムDは、各IPアドレスによって識別されるサーバコンピュータを示す。負荷バランシングプログラム380は、インターネットファイルアクセス装置390とは別のプログラムにすることもでき、また任意選択で、ウェブサイトアクセス装置390に組み入れ、その統合部分を形成することもできる。同様に、アドレスファイルデータベース360は、インターネットファイルアクセス装置390とは別にすることも、またそれと統合することもできる。
【0035】
オペレーティングシステムプログラム370は、クライアントコンピュータ100システムにプロセッサ300がクライアントコンピュータ100の基本的な動作を制御し管理することができるようにする機能を提供する。適切なオペレーティングシステムとしては、例えばUNIX(登録商標)、MS−DOS、およびマイクロソフトウィンドウズ(登録商標)が含まれる。
【0036】
クライアントコンピュータ100のその他の機能としては、ネットワークインターフェース340、入力装置350、および出力装置330を含めることができる。ネットワークインターフェース340では、ネットワーク伝送用に設けられたバス310上に送信される信号を受信し、これらの信号をネットワーク150上に送信するのに適したフォーマットに変換するが、またクライアントコンピュータ100を対象とするネットワーク150から受信した信号についても逆に同様なことが行われる。したがって、ネットワークインターフェース340によって、クライアントコンピュータ100では、リモート装置およびリモートコンピュータとネットワーク150を介して通信を行うことが可能になる。本発明の一実施形態では、入力装置350には、キーボード、タッチセンシティブスクリーン、マウスなどのポインティング装置、音声認識装置、バーコードリーダなど、当業者に知られているいくつかの装置のうちの任意のものが含まれる。クライアントコンピュータ100のユーザは、命令およびデータを入力装置350を介して入力し、これらの命令およびデータは、オペレーティングシステムプログラム370を用いてプロセッサ300が読み取って他のプログラムおよび装置が適宜使用することになる。出力装置330は、処理データおよび他の情報をクライアントコンピュータ100のユーザに提示するものであり、当業者に知られているディスプレイモニタやオーディオスピーカなどの装置である。
【0037】
以上で指摘したように、接続120は、クライアントコンピュータ100をネットワーク150に接続している。接続120は、クライアントコンピュータ100への、またそれからのデータ通信を容易にするために使用されるどのようなタイプの方式でもよい。例えば、接続120は、コンピュータ100をネットワーク150に接続する、ダイアルアップ接続、ケーブルモデム接続、専用回線接続、光接続、赤外線接続などのインターネット接続とすることが可能である。本発明の一実施形態では、アドレスファイルサーバ140は、IPアドレスをサーバコンピュータA130、A131、またはA132に伝え、これらサーバコンピュータは、クライアントコンピュータ100および110とネットワーク150を介して通信を行う。別の実施形態では、アドレスファイルサーバ140をサーバコンピュータA130、A131、およびA132中に埋め込むことができる。別の実施形態では、ファイルサーバ140はネットワーク150上で直接に情報をやりとりする。
【0038】
知られているネームサーバでは、照会で要求されるIPアドレスをクライアントコンピュータに伝送することによってURLがIPアドレスに分解される。対照的に、アドレスファイルサーバ140では、URLおよび対応するIPアドレスのリストが、(ホストサイトコンピュータサーバを介して)クライアントコンピュータ100および110に伝送されて、クライアントコンピュータのアドレスファイルデータベース360が更新される。クライアントコンピュータ100がサーバまたはアドレスファイルサーバ140と連絡を取った後に、例えば、URLに割り当てられるIPアドレスが変更されている場合には、クライアントコンピュータ100からの要求に応答して、またはアドレスファイルサーバ140が決める時間に応答してリストを伝送することができる。アドレスファイルサーバ140は、サーバコンピュータA130、A131、およびA132のURLおよびIPアドレスのリスト化を要求するクライアントコンピュータ100を記録に残すこともできる。このようにして、サーバコンピュータA130、A131、およびA132のIPアドレスの配布をある種の所望のユーザグループ間で監視し制御することができる。これによって、ハッカーに対する保護が追加される。また、URLおよびIPアドレスのリストは、符号化または暗号化したフォーマットで伝送することができ、その結果、指定受信者だけが伝送されたIPアドレスを暗号解読し利用できるようになる。本発明の一実施形態では、ウェブサイトのオペレータがアドレスファイルサーバ140を操作する。アドレスファイルサーバ140を物理的にサーバコンピュータA130、A131、およびA132と同じ場所に配置することもできる。この実施形態では、オペレータは、クライアントコンピュータ100および110がサーバコンピュータA130、A131、またはA132と連絡を取り始めた後に、直接またはサーバコンピュータを介してどのようにいつIPアドレスをクライアントコンピュータ100および110に対して解放するかを制御することができる。代替実施形態では、アドレスファイルサーバ140をサードパーティの負荷バランシングサービスプロバイダが操作し、維持することができる。
【0039】
クライアントコンピュータ100または110が、サーバコンピュータA130、A131、またはA132と正常に連絡を取った後、本発明の一実施形態におけるクライアントコンピュータ100または110の指示によって、あるいは別の実施形態におけるサーバコンピュータA130、A131、またはA132の指示によってIPアドレスファイルデータベース360に記憶されるIPアドレスリストをリフレッシュし更新することができる。
【0040】
図5は、本発明の負荷バランシング方法の一実施形態の動作を示す流れ図である。ステップ510では、ユーザは、URL、例えば図4に示すurlAをクライアントコンピュータ100中の入力装置350を介してインターネットファイルアクセス装置390またはブラウザに入力する。ステップ520では、インターネットファイルアクセス装置390は、入力されたurlAを負荷バランシングプログラム380へと転送し、ここでURLを読み取る。ステップ530で、負荷バランシングプログラム380は、IPアドレスファイルデータベース360に照会を行いurlAのサーバ識別部分に対応するIPアドレスがリスト化されているかどうかを判定する。対応するIPアドレスが見出された場合、ステップ540で負荷バランシングプログラム380はIPアドレスファイルデータベース360に照会して、どのIPアドレスが最後に使用されたかを決定する。図4に示すように、最後に使用されたIPアドレスはipaddressA2である。ステップ550で、負荷バランシングプログラム380は、選択されたアルゴリズムに基づいて最後に使用されたipaddressA2と異なるIPアドレスを選択する。例えば、負荷バランシングプログラム380は、アドレスファイルデータベース360中のipaddressA2の直後にリストされるIPアドレスを選択することができる。あるいは、負荷バランシングプログラム380は、ipaddressA2を除外した残りのIPアドレスから無作為に選択することができる。ステップ560で、負荷バランシングプログラム380は、URLのファイル識別部分にIPアドレスを付けてアドレスを形成し、適切なサーバコンピュータへと送信するためにこの新しく形成されたアドレスをブラウザに戻す。例えば、次に選択されたIPアドレスがipaddressA3である場合には、ブラウザはサーバコンピュータA132用のIPアドレスを受け取ることになり、このサーバに向けて要求を送信する。
【0041】
しかし、ステップ530で、負荷バランシングプログラム380が、入力されたURLのサーバ識別部分に対応するIPアドレスのリストがIPアドレスファイルデータベース360中に存在しないと判定する場合には、負荷バランシングプログラム380は、次にステップ570を実施する。このステップでは、IPアドレスファイルデータベース360の更新を要求するメッセージがアドレスファイルサーバ140へと伝送される。負荷バランシングプログラム380が、かかる更新が受け取られていないと判定する場合にはステップ590が実施され、IPアドレスの従来技術による要求がDNSに対して行われる。別の実施形態では、ステップ530における応答が「ノー(no)」である場合には、システムはステップ590へと直ちに進み、IPアドレスに対する従来技術による要求がDNSに対して行われる。
【0042】
図2に示すように、インターネットネットワ−クは、ネットワーク260それ自体、クライアント200などのユーザコンピュータ、サーバコンピュータ230、231、232、およびドメインネームサーバ250を含む。クライアントコンピュータ200のユーザは、選択されたウェブサイトまたはファイルのURLを入力することにより、サーバコンピュータ230、231、および232に配置されるファイルにアクセスする。クライアントコンピュータ200は、入力されたURLに対応するIPアドレスを要求する要求を指定されたネームサーバ250へと転送する。指定されたネームサーバ250は、そのデータベースの検査を実施してデータベースに要求されたIPアドレスが含まれているかどうかを判定する。含まれていない場合には、指定されたネームサーバ250は、ドメインネームサーバ、または要求を満たすことができそうな別のネームサーバのIPアドレスを戻す。したがって、例えば、ユーザは、ウェブサイトのURL「microsoft.com」をパーソナルコンピュータ上のウェブサイトブラウザにタイプ入力することができる。このウェブサイトにアクセスを行う要求は、コネクタ220を介してこのウェブサイトをホストするサーバコンピュータ、例えばサーバコンピュータ232に伝送され、このウェブサイトはネットワーク260上でアクセスされる。この通信の進行中に、指定されたネームサーバ250は、アクセスされて、入力された論理URLに対応するIPアドレスをブラウザに戻す。指定されたネームサーバ250は、この論理URL(microsoft.com)をIPアドレス(207.46.197.100)にマッピングする。図2に示すシステム中では、指定されたネームサーバ250は、1つのURLを1つのIPアドレスにマッチングさせるだけである。すなわち、ドメインネームサーバ250に提示されるURLのどの1回の照会に対しても、サーバコンピュータ232中に置かれるウェブサイトに対応するただ1つのIPアドレスしか配布されない。
【0043】
従来技術のシステムでは、ドメインネームサーバ(DNS)が、直接的にまたは間接的に利用されて所与の任意の資源URLに対するIPアドレスを戻す。IPアドレスと資源URLの間の相関は、固定されたものであり、すなわち、DNSを利用するに際して、論理URLは、現在のマッピングされたIPアドレスを戻す。
【0044】
本発明の一実施形態では、少なくとも2つのIPアドレスが、クライアントコンピュータ100または110を利用する対応する論理URLに対して割り当てられる。DNSは含まれず、クライアントコンピュータ100には、URLを受信し、URLを最後に使用されたIPアドレス以外のIPアドレスに関連づけるために必要なプログラムとデータが含まれる。変換プロセスは、通常の任意のデータ操作手段を用いて行うことができ、その結果、例えばクライアントコンピュータでは、記憶装置と関連する適切な任意のプログラムを利用することができる。
【0045】
さらに、異なるサーバコンピュータA130、A131、およびA132が共通の資源URLに関するアクセス要求を受信するので、クライアントコンピュータ100は、複数のIPアドレスを用いてURLを循環させ、ユーザのコンピュータから直接に負荷バランシングを実現し、DOS攻撃に対して保護を行うことができる。この実施形態では、1つの公共アクセス可能なDNS160中のURL/IPアドレスの関係を頼りにして、サーバコンピュータA130、A131、またはA132、あるいはDNSによって指定される他の何らかのサーバコンピュータサイトエントリポイントを(「ヒット」数によって)圧倒するDOS攻撃の有効性を低下させることができる。
【0046】
本発明の他の実施形態では、使用可能なIPアドレスを、サーバコンピュータ、例えばサーバコンピュータA130、または本発明を利用する他の任意のウェブサイトによって決定される方法でリフレッシュすることができる。例えば、URLがクライアントコンピュータ100上の10個のIPアドレスのプールに関連づけられ、10個のうちの9個のIPアドレスがコンピュータハッカーによって破壊され、ipaddressA1が依然として動作している1つであると想定する場合には、クライアントコンピュータ100および110が残っている良好なIPアドレスを介して連絡を開始した後に、サーバコンピュータA130は、IPアドレスの置換リストをクライアントコンピュータ100および110に送信することができる。ゴースト(ghost)IPアドレスを使用するクライアントコンピュータを有するハッカーは、新しいサーバコンピュータのIPアドレスを受信するはずはなく、サーバコンピュータA130および新しい有効なIPアドレスに位置づけられるサーバコンピュータ上でホストとなるウェブサイトを攻撃し続けることはできないはずである。公共利用可能なDNSを絶えず参照しアクセスすることなく、これらの新しいIPアドレスを特定のサイトに関連づける機能によって、即時破壊の可能性が最小化される。
【0047】
当業者なら、以上で説明した機器および方法において、本発明の趣旨および範囲を逸脱することなく多くの変更を行うことが可能であることが当業者には理解されよう。本発明は、添付の特許請求の範囲の記載によってのみ限定されるものとする。
【図面の簡単な説明】
【0048】
【図1】本発明の一実施形態におけるネットワークを示す図である。
【図2】ネットワークを示す図である。
【図3】本発明の一実施形態におけるクライアントコンピュータを示す機能ブロック図である。
【図4】本発明の一実施形態におけるクライアント側アドレスファイルデータベースを示す図である。
【図5】本発明の一実施形態における、入力されたURLに対応するアドレスを選択する方法を示す図である。
【0001】
本発明は、インターネット環境または他のネットワーク環境上のデータフローを管理する方法および機器に関する。詳細には、本発明は、データトラフィックを管理しコンピュータシステムへのハッカーの攻撃の可能性を低下させるクライアント側のアプリケーションに関する。
【背景技術】
【0002】
本出願は、本明細書に参照によって組み入れられる2001年9月5日出願の米国仮出願第60/316,981号に対する優先権を主張する。
インターネットは、サーバ、ルータ、様々な通信回線、およびその他の装置によって一緒に接続される多数のコンピュータから構成される。これらのコンピュータシステム間の通信は、異なる製造業者からのシステム、オペレーティングシステム、およびネットワークソフトウェアが理解する共通のプロトコルによって制御される。インターネットにアクセスする典型的なデータ構成には、2つの当事者、すなわちクライアントシステムおよびホストシステムが必要とされる。(クライアントコンピュータシステムを操作する)ユーザは、サイトのホストコンピュータシステムにアクセスすることにより所望のインターネットサイトと情報をやりとりする。当業者に知られているようにクライアントホスト通信システムは、どのようなタイプのネットワーク化コンピュータシステム上にも存在している。
【0003】
インターネットユーザにとっての共通の問題は、ホストサイトが提供するデータにアクセスできないという問題である。このアクセスの問題は、質の悪い伝送回線品質、不適切なコンピュータハードウェア構成、およびISP(Internet Service Providerインターネットサービスプロバイダ)との不適切な接続を含めて、多数の要因によって引き起こされ得る。既存のDNS(Domain Name Systemドメインネームシステム)の中央集中化された性質によって引き起こされる、ホストサイトへの安定したユーザアクセスを妨げる主な2つの要因は、必然的に生ずるトラフィックの輻輳と、ホストサイトに対するコンピュータハッカーまたはウィルスの攻撃である。
【0004】
アクセス問題は、DNSの中央集中化された性質、すなわち、インターネットドメインネームをインターネットに接続されたコンピュータが理解する適切なアドレスに変換するインターネットサービスによって悪化させられる。ほとんどのホストサイトは、そのドメインネーム、すなわちURL(Uniform Resource Locatorユニフォームリソースロケータ)の一部を形成する英数字指定によって指定される。インターネットサイトのアドレスには、www.microsoft.comなどの論理的なドメインネームがあるが、これらのネームは、インターネットに接続される装置の物理ロケーションを識別するためには使用されない。そうではなくて、インターネット上の装置の物理ロケーションは、小数点で分離された4つのオクテットからなるIP(Internet Protocolインターネットプロトコル)アドレスと呼ばれる数値フォーマットを用いて指定される。例えば、ウェブサイトmicrosoft.comは、IPアドレス207.46.197.100にマッピングされる。インターネットユーザは、特定のウェブサイトのIPアドレスを常日頃知らないので、DNSによりインターネットユーザは特定のIPアドレスを知らなくても所望のインターネットサイトにアクセスできるようになる。
【0005】
論理ドメインネームのIPアドレスへのマッピングまたは変換は、ドメインネームサーバを使用することによって行われる。ドメインネームサーバは、ドメインネームのテーブル、およびDNSテーブルと呼ばれるマッチングIPアドレスを保持する。インターネット上の各ドメインネームには、特定のDNSサーバ、またはそのテーブル中の情報を保持し更新する責任をもつサーバがあり、特定のDNSサーバにはインターネット上でこのテーブル確認をブロードキャストする責任がある。
【0006】
典型的なクライアントホストインターネットトランザクションは、以下のようにして行われる。図1を参照すると、ホストインターネットサイトへの典型的なユーザ、またはクライアントの接続は、ユーザがサイトのドメインネームをクライアントシステム上のインターネットブラウザにタイプすることによって開始される。クライアントが最近そのサイトにアクセスしたことがある場合には、そのIPアドレスはクライアントキャッシュのURLにマッピングされている可能性がある。そうでない場合には、クライアントシステムは、ドメインネームのIPアドレスをローカルネームサーバから要求する。このローカルネームサーバは、最近同じ要求を受信したことがある場合には、そのIPアドレスを有する可能性がある。そうでない場合には、ローカルネームサーバはそのIPアドレスをルートサーバに対して要求することになる。第1のルートサーバに、そのIPアドレスがない場合には、ネームサーバは、この要求が実行されるまで、別のルートサーバまたはローカルサーバに対してIPアドレスを要求することになる。
【0007】
人気のあるウェブサイトでは、ユーザから多数の、「ヒット」としても知られているアクセス要求を受信する。例えば、microsoft.comやyahoo.comなどのウェブサイトは、毎日数百万人の訪問者を受け入れる。これらの訪問のすべてでは、それぞれブラウザシステムにURLアドレスを入力することによってウェブサイトにアクセスが行われる。さらに、ほとんどの場合に、これらの訪問は1つのIPアドレス(例えばmicrosoft.comおよびyahoo.comに対応する数値アドレス)を介して開始される。一意的なURLアドレス(およびIPアドレス)がアクセスされた後、ユーザ要求はしばしば、それぞれベースサーバと同一のデータを保持する一群のミラーサイトサーバ(mirror site server)間に分散される。このような分散は、当技術分野で一般に知られているタイプのルータハードウェアおよびルータソフトウェアを使用することによって行われる。ユーザが、マッピングされたIPアドレスによってウェブサイトにアクセスした後に、これらの負荷バランシング技法が行われることが重要である。したがって、ユーザが(DNSに登録された)IPアドレスにアクセスした後に、ルータおよび他のサーバ装置は、ユーザ数(「負荷」)をそのサイトサーバ間に分散するように動作する。この負荷バランシングシステムは、所与の時刻に最大数のユーザがあるサイトにアクセスできるよう試みるように設計される。この負荷バランシングシステムは、ウェブサイトのエントリーレベルで実装される。
【0008】
これらのサーバに負荷バランシングの解決方法が実装されているにもかかわらず、これらの訪問がサイトのホストとなるサーバ上に分散される以前に、そのIPアドレスを介して多数のユーザをあるウェブサイトにアクセスさせる必要があるために、ボトルネックが作成される。余りにも多数のユーザが同時に1つのIPアドレスにアクセスしようと試みる場合、このウェブサイトには必ずしもあらゆるユーザがアクセス可能ではないことになる。
【0009】
さらに、あるIPアドレスを膨大なアクセス要求で圧倒することが、悪意的に行われる可能性もある。インターネットの急速な発展と共に、インターネットに接続されたコンピュータシステムへの悪質な攻撃が著しく増大している。これらの攻撃の多くはDOS(Denial of Serviceサービスの妨害)攻撃と呼ばれている。DOS攻撃では、攻撃者は、サーバ、ルータ、または個々のコンピュータを含むターゲットシステムをそのシステムが処理できるよりも大きな割合の情報要求であふれさせる。これらの要求を処理するサーバまたはルータは、速度が低下するか、あるいは完全に機能できないようになってしまう。攻撃によっては複数のホストコンピュータが損なわれるものがあり、これらの損なわれたホストを従事させて攻撃者のエージェントの役割を果たすようにさせて攻撃を実行させるものがある。このタイプの攻撃は、DDOS(Distributed Denial of Service分散サービス妨害)攻撃として知られている。DDOS攻撃では、ソースの数、および結果としての攻撃中に生成されるインターネットトラフィック量のために対抗することがより難しくなる。
【0010】
典型的なDDOS攻撃ツールには、Trin00、TFN(Tribe Flood Networkトライブフラッドネットワーク)、TFN2K、およびコードレッド(Code Red)が含まれる。これらの攻撃ツールでは、TCP SYN(Transmission Control Protocol Synchronize伝送制御プロトコルシンクロナイズ)、ICMP(Internet Control Message Protocolインターネット制御メッセージプロトコル)フラッド、UDP(User Datagram Protocolユーザデータグラムプロトコル)診断ポート攻撃、およびスマーフ(Smurf)など、1つまたは複数の異なるDOS攻撃が利用される。例えば、Trin00ツールを使用して、攻撃者は、盗まれたアクセスアカウントをしばしば使用することによっていくつかのシステム上にマスタプログラムをロードする。次いで、このマスタプログラムは、IPアドレスの広大な範囲のポートスキャンを行って、攻撃を実行するのに使用するぜい弱なシステムを見つけ出す。スキャン中に特定されたぜい弱なシステムでは、Trin00デーモン(daemon)がそれぞれにロードされるときに損なわれる。攻撃者のコマンドで、この損なわれたシステムはTrin00デーモンを実行し、このデーモンによって、無作為に対象となるターゲットをUDPパケットであふれさせ、ターゲットシステム上のポートを変更する。UDPパケットを使用して宛先システムによる応答を必要としない情報を配布する。UDPパケットのフラッドに応答して、攻撃下のシステムは標準プロトコルに従って各UDPパケットを処理しようと試み、それによってシステム資源が次第に減少し、システム速度が低下し、システムが崩壊しまたはクラッシュする可能性がある。
【0011】
これらの攻撃の突然変異はまた、「スプーフ」機能、すなわち各データパケット中の実際のソースアドレスを含むのでなく別のソースIPアドレスにとって代わる機能も含まれる。ソースIPアドレスは、攻撃の起源を追跡する助けとなるので、ソースアドレスのスプーフィングは、ソースを終了させることによってDOS攻撃を停止させることをさらにずっと難しくする。
【0012】
負荷バランシングおよびサービス拒否攻撃を含む問題に対する従来技術の解決方法では、特定のウェブサイトサーバ内で行われる活動に焦点を当てている。ここに示すように、ウェブサイトの負荷をバランスさせようと試みる最も一般的な方法は、ルータおよび他のトロポロジの解法を使用するものであり、すべてはクライアントサーバトランザクションのサーバ側で行われる。これらの方式では、トラフィックが(IPアドレスを介して)ウェブサイトに入力された後、サーバは、このトラフィックを(この場合もまったく同じ主要IPアドレスをもつ)他の複数のサーバに配布する。
【0013】
DNSはまた、「ラウンドロビン」配布システムの使用によってアクセス問題の管理も行う。ラウンドロビンのDNSの実装においては、あるサイトは、1つのドメインネームに関連する多数の異なるIPアドレスを登録する。ラウンドロビンDNSを利用したサイトにアクセスを要求するあるユーザは、第1のIPアドレスへ向けて導かれる。(共通のドメインネームを介して)同じサイトにアクセスを要求する次のユーザは、第2のIPアドレスへ向けて導かれる。このサイクルは、DNSが1つのドメインネームに関連づけるIPアドレス数に達するまで続行される。すべてのIPアドレスが利用された後、後続のユーザは最初のIPアドレスへと戻される。ラウンドロビンDNSは、ユーザが1つのIPアドレスを介してサイトに入った後、サイトがトラフィックを配布する場合に従来の負荷バランシングが行われるという点で従来の負荷バランシングシステムとは区別される。
【0014】
ラウンドロビンDNSの実装についてもまた、中央集中化されたDNS上に存在し、したがってユーザのアクセス問題を解決するのには不適当である。ネームサーバ上でのキャッシングおよびクライアントブラウザ中に構築される様々な機能では、トラフィックをIPアドレスに直接繰り返し送信することができ、したがってこのラウンドロビン機能をバイパスすることができる。かなりのインターネットトラフィックを伴うサイトについて、しばしば照会を行い、したがって、ローカルネームサーバまたはルートネームサーバ上に共通にキャッシングを行う。したがって、URLを使用した公共ウェブサイトの照会では、ほとんどの場合に、様々なネームサーバのキャッシュに配置されているIPアドレスが受信される。URLおよびDNS上の関連するIPアドレスのキャッシングは、サイトアクセス照会を配布する価値ある機能を果たすが、ラウンドロビンDNS機能の実装を効果的にバイパスすることになる。この場合にも、照会が適切なIPアドレスに送信された後、サイトのオーナーは、様々なホストサーバ間で経路指定のハードウェアおよびソフトウェアを使用してこれらの要求を配布することによって負荷バランシングを得ることができる。しかし、このシステムでは、1つのIPアドレスを介して多数の照会がサイトにアクセスを試みるとき、依然としてトラフィック輻輳の影響を受けやすい。
【0015】
DDOS状況では、サーバやルータなどの装置は、共に攻撃から守る手段となり、またそれらが攻撃プログラムにとっての無作為のホストとして乗っ取られたとき攻撃を伝搬させる手段ともなる。したがって、既存の保護対策では、知られている攻撃ツールによって使用される手法に応答して攻撃を伝搬させるシステムの使用を防ぐようにも設計される。
【0016】
例えば、多数のDOS攻撃ツールでは、スプーフIPアドレスを使用して過剰なインターネットトラフィックが生成される。不当なまたはスプーフのIPアドレスを伴うパケットの伝搬を最小にするために、送信パケットにフィルタをかけて正当なソースIPアドレスを伴うパケットだけが出発できるようにルータを構成することができる。同様に、不当な、またはスプーフのIPアドレスを伴うパケットを受信するのを防ぐために、着信パケット上のIPアドレスの妥当性を検証するようにルータを構成することができる。このメカニズムでは、システム上のすべてのサービス拒否攻撃を防ぐことにはならないが、このメカニズムにより、知られている攻撃ツールを使用したDDOS中のブロードキャストサイトとしてシステムが使用されないようになる。
【0017】
さらに、インターネットに直接に接続されたシステムでは、一貫したネットワークの監視を行って、ぜい弱なシステムを識別するために使用されるポートスキャンニングを防止することができる。監視することではDOS攻撃を防止することができないが、監視により、ぜい弱なポートの識別が可能であり、攻撃者となる可能性のある正体がもたらされることもある。ホストシステムのインターネットトラフィックを連続的に監視することにより、トラフィック統計をベースラインの判断基準と比べることによって潜在的な問題を識別することができる。同様にして、監視を介して、ハードウェアおよびソフトウェアのファイアウォールまたはルータを使用して、ICMPエコーコマンドによるフラッディング(flooding)やピン割当て(pinging)などよく知られたIPアドレスのフラッディング攻撃を阻止することができる。ファイアウォールまたはルータを用いて、システムに入力されまたはシステムから出発するパケットをフィルタし、適切な判断基準を満たせないものへのトランジット(transit)を拒否することができる。これらの機構は、知られている攻撃ツールに対しては有効であるが、将来開発される攻撃ツールに対しては有効ではないこともある。
【0018】
良好なセキュリティの実施および全体的なネットワークハウスキーピングを行うことによって、ある種のタイプのDOS攻撃を防止し低減することができる。知られているルータおよびサーバのぜい弱性については、しばしばセキュリティパッチを当てることによって解決されることもある。しかし、パッチは知られているぜい弱性に対してのみ有効であるのでその有効性は限定されている。必須でないインターネットへの接続を取り除いて攻撃の可能性を低下させることができる。例えば、ある種の攻撃では、UDPおよびTCPの診断ポートを要求であふれさせる。これらのポートに対するフラッドから保護する一方法には、UDPおよびTCPの診断ポートを無効にするものがある。この場合にも、この保護対策では、アクセスポイント数を減少させることによって攻撃の可能性が最小限に抑えられるというにすぎない。
【0019】
既存の解決方法にもかかわらず、DNSを利用するとサーバおよびルータはぜい弱なままである。クライアントはURLを利用してウェブサイトにアクセスし、URLはDNS上で公共利用可能な限られた数のIPアドレスに結合されているので、ウェブサイトはDOS攻撃に対してぜい弱なままとなる。ウェブサイトは攻撃下の特定のIPアドレスをそのIPアドレスのプールから取り除くことができるが、これによって攻撃が軽減されることにはならない。攻撃要求は、DNSによって配布されるURLに関連する次のIPアドレスを簡単に受信することになる。その結果、損なわれたコンピュータは、依然としてウェブサイトサーバを要求であふれさせ、ウェブサイトへのアクセスの速度を低下させ、あるいは中断させることができる。ウェブサイトでは、IPアドレスを取り除き置き換えることができるが、この攻撃では、DNSによって提供された後続の各アドレスへと簡単に移行がなされるはずである。
【0020】
前述の従来技術による解決方法はそれぞれ、サーバ側の解決方法であり、これは、IPアドレスに影響を及ぼす資源量によって引き起こされる問題の一面に対してしか対処していない。これらの各解決方法では有効性が限定されている。さらに、ファイアウォール、監視、ルータ構成など現在の対策では、保護されていないシステムが損なわれる可能性があるのでインターネットサイト間での協調努力が必要になる。インターネットに接続された必ずしもすべてのシステムが保護対策を取ってDDOSにとってのホストサイトとしての使用を防止するわけではないので、保護対策は、どのシステムにとっても完全には有効にならないはずである。
【発明の開示】
【発明が解決しようとする課題】
【0021】
本発明は、ネットワークを介してクライアントコンピュータに接続される複数のサーバコンピュータ間で負荷のバランスを取る方法および機器を提供する。
【課題を解決するための手段】
【0022】
本発明は、クライアントコンピュータ内で複数のアドレスを選択されたユニフォームリソースロケータ(URL)に関連づけるステップと、アドレスの1つを最後に使用されたアドレスとして識別するステップとを含む。本発明はまた、URLを入力されたURLとして受信するステップと、入力されたURLを選択されたURLとして識別するステップとを含む。本方法はさらに、最後に使用されたアドレスと異なる選択されたURLに対応するアドレスを選択するステップを含む。次いで、クライアントコンピュータは、選択されたアドレスで識別されるサーバコンピュータに要求を送信することによってサーバコンピュータのウェブサイトまたはファイルにアクセスする。
【0023】
本発明は、DNSルックアップテーブルに頼ることなく、ターゲットウェブサイトにアクセスするために使用されるIPアドレスを動的に調整するクライアント側アプリケーションを利用する。本発明の一実施形態は、ユーザがインターネットブラウザからターゲットサイトのドメインネームを要求するとき、クライアントに本発明を使用する任意のターゲットサイトにアクセスするために使用されるIPアドレスリストを定期的に提供し、ユーザを選択されたIPアドレスへと導く。クライアントによって連絡が取られた後に、このシステムを使用するターゲットサイトでは、攻撃を回避することが必要と思われたときにまたはその他どのような理由でもIPアドレスリストをリフレッシュすることができる。
【0024】
用語「クライアント側」アプリケーションは、従来のパーソナルコンピュータネットワークサーバ構成だけには限定されない。したがって、本発明には、当業者に知られているものを含めて他の計算機装置にネットワーク化環境を介してアクセスするどのような計算機装置をも含めることができる。第1の計算機装置を「クライアント」と考え、第2の計算機装置を「サーバ」と考えることができる。
【0025】
本発明の一実施形態は、インターネットウェブサイトのサーバ群の間で着信要求の負荷のバランスを取り、それによってDOS攻撃の影響を最小限にするようにウェブサイトアクセスを可能にするクライアント側の機器である。本実施形態ではまた、どのような公式のドメインネームサーバにも頼らずに、クライアントが適切なIPアドレスを決定しインターネットトラフィックをそのIPアドレスに経路指定することができるようにするコンピュータ通信用のシステムについても記載している。
【0026】
本発明は、1つのIPアドレスによって識別されるウェブサイトに所与の時刻にあまりにも多すぎるユーザがアクセスを試みることに関連する負荷バランシング問題に対する効率的な解決方法を提供する。メモリキャッシュ(または他の記憶/設備システム)を含むドメインネームアドレス指定方式を利用することにより、本発明ではウェブブラウザに1組の適切なIPアドレスを供給する。本発明では、クライアントコンピュータに対する、IPアドレスの定期的な更新および/または置換えが可能となる。クライアントがサーバとの連絡を確立した後は、クライアント側からも、サーバ側からもこの更新と置換えを開始することができる。
【0027】
本発明の一実施形態はまた、DNSを使用して特定のインターネットサイトと情報をやりとりする必要性によって引き起こされる他のDOSおよびDDOSの解決方法の不備も解決する。従来技術とは違って、本発明の一実施形態では、DNSを参照せずにクライアント側の動的な宛先IPアドレス割当てが利用される。本発明のユーザにとってサイトへのアクセスはDNSを参照することなく利用可能となり、したがって、攻撃者がIPアドレスをDNSルックアップテーブルから決定し次いで攻撃をリスト化されたIPアドレスに向けることが防止される。さらに、動的なIPアドレスシステムを使用することにより、クライアントは、ハッカーおよびウィルスがどれか1つのIPアドレスの制御をアサートしこのIPアドレスを介してシステムを損なわせることがないようにする。
【0028】
さらに、本発明の一実施形態は、クライアント側アプリケーションの知られているユーザから攻撃のソースをトレースすることができることを保証する。攻撃が本発明を使用して試みられる場合には、アプリケーションは、攻撃を追跡することが可能である。ターゲットサーバへのすべてのサイトユーザの参加が、クライアント側アプリケーションによって制御されることになるので、ターゲットサイトでは、攻撃のソースを決定することができるようになり、その攻撃をそのソースのところで消滅させる機能をもつ。DDOSに対する従来技術の解決方法では、ソースアドレスがしばしばスプーフを受けるので、攻撃の実際のソースを決定することができなくなる。さらに、本発明がターゲットインターネットサイトに対するアクセスを制御するので、スプーフを受けたアドレスを使用して本発明を利用するサイトを攻撃することはできない。クライアント側のアプリケーションをもたないユーザは、DNSを利用してサイトにアクセスしようと試みることができるが、DNSによって供給されるIPアドレスを利用するトラフィックはどれも、以上で指摘したように輻輳、DOS、その他の攻撃に対してぜい弱なままである。
【発明を実施するための最良の形態】
【0029】
本発明は、インターネットなどのコンピュータネットワ−ク中の動的なクライアント側の負荷バランシングの方法および機器を対象としている。本発明の一実施形態は、複数の接続120を介してネットワーク150に接続されるクライアントコンピュータ100およびクライアントコンピュータ110を備える、図1に示すコンピュータシステム中に実装することができる。さらに、ネットワーク150には、ウェブサイトのホストとしての役割を果たし、データファイルおよびプログラムファイルをネットワーク化されたクライアントコンピュータ100および110に供給することができる、サーバコンピュータA130、サーバコンピュータA131、サーバコンピュータA132など、複数のサーバコンピュータが接続されている。本発明の一実施形態では、DNSファイルサーバ160が、ネットワーク150に接続されている。図に示す実施形態中では、アドレスファイルサーバ140が、サーバコンピュータA130、A131、およびA132に接続されている。
【0030】
クライアントコンピュータ100および110は、データを処理し、ネットワーク150上にリモートに配置されたコンピュータと通信を行うことが可能な計算機装置である。例えば、図3に、バス310を介して記憶装置320に接続されるプロセッサ300と、ディスプレイなどの出力装置330と、ネットワークインターフェース装置340などの通信装置と、入力装置350とを備えるクライアントコンピュータ100を示す。クライアントコンピュータ100の動作中に、プロセッサ300は、情報のやりとりを行い記憶装置320中に記憶されるデータおよびプログラミングコードをバス310を介して読み取って必要な処理ステップを実行する。記憶装置320は、データおよびプログラムコードを記憶する揮発性または不揮発性の記憶装置でもよい。本発明の一実施形態では、記憶装置320は、クライアントコンピュータ100の動作中にインターネットファイルアクセス装置390の少なくとも一部分を記憶する。インターネットファイルアクセス装置390により、クライアントコンピュータ100のユーザは、リモートサーバコンピュータに記憶されるインターネットファイルにアクセスすることができる。これらのファイルは、例えばサーバコンピュータA130、A131、およびA132に記憶されるデータファイルおよびプログラムファイルとすることが可能である。本発明のインターネットファイルアクセス装置390では、共に特定のファイルの記憶位置の情報を識別し提供する一意的なファイル識別子またはアドレスに基づいてインターネットファイルが位置決めされ検索される。
【0031】
本発明の一実施形態では、アドレスは、ユーザがDNSを使用することなくサーバコンピュータA130、A131、またはA132からウェブページを検索するためにまたはファイルをダウンロードするためにクライアントコンピュータ100に入力するURLアドレスから導き出され得る。例えば、仮想のURLを、「computer.com/directory/document」とすることができる。最初の単一順スラッシュの左側のURL部分、すなわち「computer.com」は、サーバコンピュータを識別し、URLのサーバ識別部分と呼ぶことができる。URLのこの部分は、識別されたサーバコンピュータのIPアドレスに分解することができ、このアドレスの第1の部分を形成する。URL中の第1の単一順スラッシュの右側のURL部分、すなわち「directory/document」は、識別されたサーバコンピュータ上に記憶され、あるいはホストとなる特定のファイルを識別し、このアドレスの第2の部分を形成する。URLのこの部分はファイル識別部分と呼ぶことができる。したがって、このアドレスは、2つの部分、すなわちファイルが配置されるコンピュータサーバを識別する部分と、その識別されたコンピュータサーバ上で特定のファイルおよびその記憶位置を識別する任意選択による部分とを含むことができる。URLがファイル識別部分を含まない場合には、このURLでは、デフォルトウェブページまたはホームページと呼ぶことのできるファイルにアクセスすることができる。かかるURLに対する関連するアドレスには、サーバ識別部分だけしか含まれないことになる。
【0032】
本発明の一実施形態では、インターネットファイルアクセス装置390は、マイクロソフトインターネットエクスプローラ(Microsoft Internet Explorer)やネットスケープナビゲータ(Netscape Navigator)などのウェブブラウザプログラムである。しかし、他の実施形態では、インターネットファイルアクセス装置390はまた、マイクロソフトアウトルックエクスプレス(Microsoft Outlook Express)などの電子メールプログラム、またはファイルのURLに基づいてリモートコンピュータからファイルを検索するファイル転送プログラムでもよい。
【0033】
記憶装置320にはインターネットファイルアクセス装置390に加えて、他のプログラムおよびデータファイルを記憶することもできる。これらのプログラムおよびデータファイルには、例えば、オペレーティングシステムプログラム370、アドレスファイルデータベース360、および負荷バランシングプログラム380が含まれる可能性がある。負荷バランシングプログラム380は、インターネットファイルアクセス装置390に入力されるURLを読み取り、アドレスをインターネットファイルアクセス装置390に戻し、インターネットファイルアクセス装置390がウェブページおよびファイルを検索できるようにする。URLのサーバ識別部分を認識することにより、負荷バランシングプログラム380では、要求されたファイルのコピーを有するサーバコンピュータA130、A131、またはA132のIPアドレスを見出すことができる。次いで、負荷バランシングプログラム380が同一のサーバ識別部分をもつURLを受け取るたびごとに、負荷バランシングプログラム380では、異なるサーバのIPアドレスが選択され戻される。したがって、ユーザが、ファイルまたはウェブページを特定のウェブサイトから検索しようと試みるとき、ウェブサイトのホストとなるいくつかのサーバコンピュータ間で処理する負荷を共用することができる。さらに、異なるクライアントには、あるウェブサイトに対する共通のコンテンツのホストとなるサーバコンピュータに対する有効なIPアドレスの全体リストの異なるサブセットを表す異なるIPリストを割り当てることができる。この負荷バランシングシステムは、クライアントコンピュータ中で動作し、クライアント側システムと呼ぶこともできる。
【0034】
本発明の一実施形態では、負荷バランシングプログラム380は、アドレスファイルデータベース360を使用し保持してインターネットファイルアクセス装置390に入力されるURLを認識し対応するサーバコンピュータのIPアドレスを見出す。IPアドレスファイルデータベース360の実施形態の一例を図4に4つのカラムを含むデータベースとして示す。カラムAは、URLのサーバ識別部分のリスト、urlA、urlB、およびurlCである。カラムB中のこれらの各URLに対応して少なくとも2つのIPアドレスが存在する。urlAに対応するサーバコンピュータのIPアドレスには、例えばサーバコンピュータA130を識別するipaddressA1、サーバコンピュータA131を識別するipaddressA2、サーバコンピュータA132を識別するipaddressA3、およびネットワーク150に接続され得るさらに他のサーバコンピュータA133を識別するipaddressA4があり得る。同様にipaddressB1、ipaddressB2、ipaddressB3、ipaddressB4、およびipaddressB5は、urlBに対応するアドレスであり、ネットワーク150に接続され得るサーバコンピュータを識別する。アドレスipaddressC1、ipaddressC2、およびipaddressC3は同様にurlCに関連し、さらに他のサーバコンピュータを識別する。カラムCは、最後に使用された各URLに対応するIPアドレスを識別するポインタを含む。したがって、このポインタは前に選択されたアドレスを特定し、対応するURLが再び入力されるときに負荷バランシングプログラム380が異なるアドレスを選択できるようにする。カラムDは、各IPアドレスによって識別されるサーバコンピュータを示す。負荷バランシングプログラム380は、インターネットファイルアクセス装置390とは別のプログラムにすることもでき、また任意選択で、ウェブサイトアクセス装置390に組み入れ、その統合部分を形成することもできる。同様に、アドレスファイルデータベース360は、インターネットファイルアクセス装置390とは別にすることも、またそれと統合することもできる。
【0035】
オペレーティングシステムプログラム370は、クライアントコンピュータ100システムにプロセッサ300がクライアントコンピュータ100の基本的な動作を制御し管理することができるようにする機能を提供する。適切なオペレーティングシステムとしては、例えばUNIX(登録商標)、MS−DOS、およびマイクロソフトウィンドウズ(登録商標)が含まれる。
【0036】
クライアントコンピュータ100のその他の機能としては、ネットワークインターフェース340、入力装置350、および出力装置330を含めることができる。ネットワークインターフェース340では、ネットワーク伝送用に設けられたバス310上に送信される信号を受信し、これらの信号をネットワーク150上に送信するのに適したフォーマットに変換するが、またクライアントコンピュータ100を対象とするネットワーク150から受信した信号についても逆に同様なことが行われる。したがって、ネットワークインターフェース340によって、クライアントコンピュータ100では、リモート装置およびリモートコンピュータとネットワーク150を介して通信を行うことが可能になる。本発明の一実施形態では、入力装置350には、キーボード、タッチセンシティブスクリーン、マウスなどのポインティング装置、音声認識装置、バーコードリーダなど、当業者に知られているいくつかの装置のうちの任意のものが含まれる。クライアントコンピュータ100のユーザは、命令およびデータを入力装置350を介して入力し、これらの命令およびデータは、オペレーティングシステムプログラム370を用いてプロセッサ300が読み取って他のプログラムおよび装置が適宜使用することになる。出力装置330は、処理データおよび他の情報をクライアントコンピュータ100のユーザに提示するものであり、当業者に知られているディスプレイモニタやオーディオスピーカなどの装置である。
【0037】
以上で指摘したように、接続120は、クライアントコンピュータ100をネットワーク150に接続している。接続120は、クライアントコンピュータ100への、またそれからのデータ通信を容易にするために使用されるどのようなタイプの方式でもよい。例えば、接続120は、コンピュータ100をネットワーク150に接続する、ダイアルアップ接続、ケーブルモデム接続、専用回線接続、光接続、赤外線接続などのインターネット接続とすることが可能である。本発明の一実施形態では、アドレスファイルサーバ140は、IPアドレスをサーバコンピュータA130、A131、またはA132に伝え、これらサーバコンピュータは、クライアントコンピュータ100および110とネットワーク150を介して通信を行う。別の実施形態では、アドレスファイルサーバ140をサーバコンピュータA130、A131、およびA132中に埋め込むことができる。別の実施形態では、ファイルサーバ140はネットワーク150上で直接に情報をやりとりする。
【0038】
知られているネームサーバでは、照会で要求されるIPアドレスをクライアントコンピュータに伝送することによってURLがIPアドレスに分解される。対照的に、アドレスファイルサーバ140では、URLおよび対応するIPアドレスのリストが、(ホストサイトコンピュータサーバを介して)クライアントコンピュータ100および110に伝送されて、クライアントコンピュータのアドレスファイルデータベース360が更新される。クライアントコンピュータ100がサーバまたはアドレスファイルサーバ140と連絡を取った後に、例えば、URLに割り当てられるIPアドレスが変更されている場合には、クライアントコンピュータ100からの要求に応答して、またはアドレスファイルサーバ140が決める時間に応答してリストを伝送することができる。アドレスファイルサーバ140は、サーバコンピュータA130、A131、およびA132のURLおよびIPアドレスのリスト化を要求するクライアントコンピュータ100を記録に残すこともできる。このようにして、サーバコンピュータA130、A131、およびA132のIPアドレスの配布をある種の所望のユーザグループ間で監視し制御することができる。これによって、ハッカーに対する保護が追加される。また、URLおよびIPアドレスのリストは、符号化または暗号化したフォーマットで伝送することができ、その結果、指定受信者だけが伝送されたIPアドレスを暗号解読し利用できるようになる。本発明の一実施形態では、ウェブサイトのオペレータがアドレスファイルサーバ140を操作する。アドレスファイルサーバ140を物理的にサーバコンピュータA130、A131、およびA132と同じ場所に配置することもできる。この実施形態では、オペレータは、クライアントコンピュータ100および110がサーバコンピュータA130、A131、またはA132と連絡を取り始めた後に、直接またはサーバコンピュータを介してどのようにいつIPアドレスをクライアントコンピュータ100および110に対して解放するかを制御することができる。代替実施形態では、アドレスファイルサーバ140をサードパーティの負荷バランシングサービスプロバイダが操作し、維持することができる。
【0039】
クライアントコンピュータ100または110が、サーバコンピュータA130、A131、またはA132と正常に連絡を取った後、本発明の一実施形態におけるクライアントコンピュータ100または110の指示によって、あるいは別の実施形態におけるサーバコンピュータA130、A131、またはA132の指示によってIPアドレスファイルデータベース360に記憶されるIPアドレスリストをリフレッシュし更新することができる。
【0040】
図5は、本発明の負荷バランシング方法の一実施形態の動作を示す流れ図である。ステップ510では、ユーザは、URL、例えば図4に示すurlAをクライアントコンピュータ100中の入力装置350を介してインターネットファイルアクセス装置390またはブラウザに入力する。ステップ520では、インターネットファイルアクセス装置390は、入力されたurlAを負荷バランシングプログラム380へと転送し、ここでURLを読み取る。ステップ530で、負荷バランシングプログラム380は、IPアドレスファイルデータベース360に照会を行いurlAのサーバ識別部分に対応するIPアドレスがリスト化されているかどうかを判定する。対応するIPアドレスが見出された場合、ステップ540で負荷バランシングプログラム380はIPアドレスファイルデータベース360に照会して、どのIPアドレスが最後に使用されたかを決定する。図4に示すように、最後に使用されたIPアドレスはipaddressA2である。ステップ550で、負荷バランシングプログラム380は、選択されたアルゴリズムに基づいて最後に使用されたipaddressA2と異なるIPアドレスを選択する。例えば、負荷バランシングプログラム380は、アドレスファイルデータベース360中のipaddressA2の直後にリストされるIPアドレスを選択することができる。あるいは、負荷バランシングプログラム380は、ipaddressA2を除外した残りのIPアドレスから無作為に選択することができる。ステップ560で、負荷バランシングプログラム380は、URLのファイル識別部分にIPアドレスを付けてアドレスを形成し、適切なサーバコンピュータへと送信するためにこの新しく形成されたアドレスをブラウザに戻す。例えば、次に選択されたIPアドレスがipaddressA3である場合には、ブラウザはサーバコンピュータA132用のIPアドレスを受け取ることになり、このサーバに向けて要求を送信する。
【0041】
しかし、ステップ530で、負荷バランシングプログラム380が、入力されたURLのサーバ識別部分に対応するIPアドレスのリストがIPアドレスファイルデータベース360中に存在しないと判定する場合には、負荷バランシングプログラム380は、次にステップ570を実施する。このステップでは、IPアドレスファイルデータベース360の更新を要求するメッセージがアドレスファイルサーバ140へと伝送される。負荷バランシングプログラム380が、かかる更新が受け取られていないと判定する場合にはステップ590が実施され、IPアドレスの従来技術による要求がDNSに対して行われる。別の実施形態では、ステップ530における応答が「ノー(no)」である場合には、システムはステップ590へと直ちに進み、IPアドレスに対する従来技術による要求がDNSに対して行われる。
【0042】
図2に示すように、インターネットネットワ−クは、ネットワーク260それ自体、クライアント200などのユーザコンピュータ、サーバコンピュータ230、231、232、およびドメインネームサーバ250を含む。クライアントコンピュータ200のユーザは、選択されたウェブサイトまたはファイルのURLを入力することにより、サーバコンピュータ230、231、および232に配置されるファイルにアクセスする。クライアントコンピュータ200は、入力されたURLに対応するIPアドレスを要求する要求を指定されたネームサーバ250へと転送する。指定されたネームサーバ250は、そのデータベースの検査を実施してデータベースに要求されたIPアドレスが含まれているかどうかを判定する。含まれていない場合には、指定されたネームサーバ250は、ドメインネームサーバ、または要求を満たすことができそうな別のネームサーバのIPアドレスを戻す。したがって、例えば、ユーザは、ウェブサイトのURL「microsoft.com」をパーソナルコンピュータ上のウェブサイトブラウザにタイプ入力することができる。このウェブサイトにアクセスを行う要求は、コネクタ220を介してこのウェブサイトをホストするサーバコンピュータ、例えばサーバコンピュータ232に伝送され、このウェブサイトはネットワーク260上でアクセスされる。この通信の進行中に、指定されたネームサーバ250は、アクセスされて、入力された論理URLに対応するIPアドレスをブラウザに戻す。指定されたネームサーバ250は、この論理URL(microsoft.com)をIPアドレス(207.46.197.100)にマッピングする。図2に示すシステム中では、指定されたネームサーバ250は、1つのURLを1つのIPアドレスにマッチングさせるだけである。すなわち、ドメインネームサーバ250に提示されるURLのどの1回の照会に対しても、サーバコンピュータ232中に置かれるウェブサイトに対応するただ1つのIPアドレスしか配布されない。
【0043】
従来技術のシステムでは、ドメインネームサーバ(DNS)が、直接的にまたは間接的に利用されて所与の任意の資源URLに対するIPアドレスを戻す。IPアドレスと資源URLの間の相関は、固定されたものであり、すなわち、DNSを利用するに際して、論理URLは、現在のマッピングされたIPアドレスを戻す。
【0044】
本発明の一実施形態では、少なくとも2つのIPアドレスが、クライアントコンピュータ100または110を利用する対応する論理URLに対して割り当てられる。DNSは含まれず、クライアントコンピュータ100には、URLを受信し、URLを最後に使用されたIPアドレス以外のIPアドレスに関連づけるために必要なプログラムとデータが含まれる。変換プロセスは、通常の任意のデータ操作手段を用いて行うことができ、その結果、例えばクライアントコンピュータでは、記憶装置と関連する適切な任意のプログラムを利用することができる。
【0045】
さらに、異なるサーバコンピュータA130、A131、およびA132が共通の資源URLに関するアクセス要求を受信するので、クライアントコンピュータ100は、複数のIPアドレスを用いてURLを循環させ、ユーザのコンピュータから直接に負荷バランシングを実現し、DOS攻撃に対して保護を行うことができる。この実施形態では、1つの公共アクセス可能なDNS160中のURL/IPアドレスの関係を頼りにして、サーバコンピュータA130、A131、またはA132、あるいはDNSによって指定される他の何らかのサーバコンピュータサイトエントリポイントを(「ヒット」数によって)圧倒するDOS攻撃の有効性を低下させることができる。
【0046】
本発明の他の実施形態では、使用可能なIPアドレスを、サーバコンピュータ、例えばサーバコンピュータA130、または本発明を利用する他の任意のウェブサイトによって決定される方法でリフレッシュすることができる。例えば、URLがクライアントコンピュータ100上の10個のIPアドレスのプールに関連づけられ、10個のうちの9個のIPアドレスがコンピュータハッカーによって破壊され、ipaddressA1が依然として動作している1つであると想定する場合には、クライアントコンピュータ100および110が残っている良好なIPアドレスを介して連絡を開始した後に、サーバコンピュータA130は、IPアドレスの置換リストをクライアントコンピュータ100および110に送信することができる。ゴースト(ghost)IPアドレスを使用するクライアントコンピュータを有するハッカーは、新しいサーバコンピュータのIPアドレスを受信するはずはなく、サーバコンピュータA130および新しい有効なIPアドレスに位置づけられるサーバコンピュータ上でホストとなるウェブサイトを攻撃し続けることはできないはずである。公共利用可能なDNSを絶えず参照しアクセスすることなく、これらの新しいIPアドレスを特定のサイトに関連づける機能によって、即時破壊の可能性が最小化される。
【0047】
当業者なら、以上で説明した機器および方法において、本発明の趣旨および範囲を逸脱することなく多くの変更を行うことが可能であることが当業者には理解されよう。本発明は、添付の特許請求の範囲の記載によってのみ限定されるものとする。
【図面の簡単な説明】
【0048】
【図1】本発明の一実施形態におけるネットワークを示す図である。
【図2】ネットワークを示す図である。
【図3】本発明の一実施形態におけるクライアントコンピュータを示す機能ブロック図である。
【図4】本発明の一実施形態におけるクライアント側アドレスファイルデータベースを示す図である。
【図5】本発明の一実施形態における、入力されたURLに対応するアドレスを選択する方法を示す図である。
Claims (14)
- 複数のサーバコンピュータ間で負荷のバランスを取る方法であって、
クライアントコンピュータにおいて複数のアドレスを、選択されたユニフォームリソースロケータに関連づけるステップと、
前記複数のアドレスのうちの1つを最後に使用されたアドレスとして識別するステップと、
ユニフォームリソースロケータを、入力されたユニフォームリソースロケータとして受信するステップと、
前記入力されたユニフォームリソースロケータを、選択されたユニフォームリソースロケータとして識別するステップと、
前記複数のアドレスから前記最後に使用されたアドレスと異なる選択されたアドレスを選択するステップと
を含む方法。 - 前記選択されたアドレスで識別されるサーバコンピュータに対して、前記サーバコンピュータ中に配置されたファイルを検索するように求める要求を送信するステップをさらに含む、請求項1に記載の方法。
- 前記複数のアドレスが、複数のインターネットプロトコルアドレスを含む、請求項1に記載の方法。
- 前記複数のアドレスをリモートコンピュータから受信するステップをさらに含む、請求項1に記載の方法。
- 前記複数のアドレスが、暗号化される、請求項4に記載の方法。
- 前記選択されたユニフォームリソースロケータに関連する複数のアドレスを伝送するように求める要求を前記複数のサーバコンピュータのうちの1つに対して送信するステップをさらに含む、請求項4に記載の方法。
- 前記複数のアドレスを暗号解読するステップをさらに含む、請求項4に記載の方法。
- 複数のサーバコンピュータにネットワ−クを介して接続されるクライアントコンピュータであって、
記憶装置と、
前記記憶装置に記憶されるプログラムと、
前記プログラムを実行するようになっているプロセッサとを備え、
前記プログラムが、
複数のアドレスを選択されたユニフォームリソースロケータに関連づけるステップと、
前記複数のアドレスのうちの1つを最後に使用されたアドレスとして識別するステップと、
ユニフォームリソースロケータを入力されたユニフォームリソースロケータとして受信するステップと、
前記入力されたユニフォームリソースロケータを前記選択されたユニフォームリソースロケータとして認識するステップと、
前記選択されたユニフォームリソースロケータに対応する前記複数のアドレスのうちの前記最後に使用されたアドレスと異なる1つを選択するステップと
を含む、クライアントコンピュータ。 - 前記プロセッサが、前記選択されたアドレスで識別される前記複数のサーバコンピュータのうちの1つに配置されるファイルを要求するようになっている、請求項8に記載のクライアントコンピュータ。
- 前記複数のアドレスが、複数のインターネットプロトコルアドレスを含む、請求項8に記載のクライアントコンピュータ。
- 前記プロセッサが、前記複数の関連するアドレスをリモートコンピュータから受信する、請求項8に記載のクライアントコンピュータ。
- 前記複数のアドレスが、暗号化される、請求項11に記載のクライアントコンピュータ。
- 前記プロセッサが、前記複数のアドレスを暗号解読する、請求項11に記載のクライアントコンピュータ。
- 前記プロセッサが、1つのユニフォームリソースロケータに関連する前記複数のアドレスを伝送するように求める要求を前記複数のサーバコンピュータのうちの1つに送信する、請求項8に記載のクライアントコンピュータ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31698101P | 2001-09-05 | 2001-09-05 | |
PCT/US2002/027963 WO2003021395A2 (en) | 2001-09-05 | 2002-09-04 | Method and apparatus for dynamic client-side load balancing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005502239A true JP2005502239A (ja) | 2005-01-20 |
Family
ID=23231582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003525418A Pending JP2005502239A (ja) | 2001-09-05 | 2002-09-04 | クライアント側の動的な負荷バランシングシステムの方法および機器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030126252A1 (ja) |
JP (1) | JP2005502239A (ja) |
AU (1) | AU2002324861A1 (ja) |
IL (1) | IL160746A0 (ja) |
WO (1) | WO2003021395A2 (ja) |
ZA (1) | ZA200402459B (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574499B1 (en) * | 2000-07-19 | 2009-08-11 | Akamai Technologies, Inc. | Global traffic management system using IP anycast routing and dynamic load-balancing |
US7552237B2 (en) * | 2002-10-17 | 2009-06-23 | International Business Machines Corporation | Network address cache apparatus and method |
KR20040065643A (ko) * | 2003-01-15 | 2004-07-23 | 삼성전자주식회사 | IPv6 프로토콜을 위한 IP 주소 및 도메인명자동등록 방법 |
JP3798754B2 (ja) * | 2003-03-13 | 2006-07-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ルータを介して接続されたサブネットワーク間のブロードキャスト |
US7185163B1 (en) * | 2003-09-03 | 2007-02-27 | Veritas Operating Corporation | Balancing most frequently used file system clusters across a plurality of disks |
US7711852B1 (en) * | 2003-11-04 | 2010-05-04 | Cisco Technology, Inc. | Arrangement in a router for inserting address prefixes based on command line address identifiers |
US7606916B1 (en) * | 2003-11-10 | 2009-10-20 | Cisco Technology, Inc. | Method and apparatus for load balancing within a computer system |
US9237102B2 (en) * | 2004-09-08 | 2016-01-12 | Cradlepoint, Inc. | Selecting a data path |
US7764784B2 (en) * | 2004-09-08 | 2010-07-27 | Cradlepoint, Inc. | Handset cradle |
US9232461B2 (en) * | 2004-09-08 | 2016-01-05 | Cradlepoint, Inc. | Hotspot communication limiter |
US9294353B2 (en) * | 2004-09-08 | 2016-03-22 | Cradlepoint, Inc. | Configuring a wireless router |
US8477639B2 (en) | 2004-09-08 | 2013-07-02 | Cradlepoint, Inc. | Communicating network status |
US8732808B2 (en) * | 2004-09-08 | 2014-05-20 | Cradlepoint, Inc. | Data plan activation and modification |
US7962569B2 (en) * | 2004-09-08 | 2011-06-14 | Cradlepoint, Inc. | Embedded DNS |
US9584406B2 (en) * | 2004-09-08 | 2017-02-28 | Cradlepoint, Inc. | Data path switching |
US8249052B2 (en) * | 2004-09-08 | 2012-08-21 | Cradlepoint, Inc. | Automated access of an enhanced command set |
US20090172658A1 (en) * | 2004-09-08 | 2009-07-02 | Steven Wood | Application installation |
US20070254727A1 (en) * | 2004-09-08 | 2007-11-01 | Pat Sewall | Hotspot Power Regulation |
US20060117020A1 (en) * | 2004-12-01 | 2006-06-01 | John Toebes | Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device |
US9021081B2 (en) * | 2007-02-12 | 2015-04-28 | Cradlepoint, Inc. | System and method for collecting individualized network usage data in a personal hotspot wireless network |
US8644272B2 (en) * | 2007-02-12 | 2014-02-04 | Cradlepoint, Inc. | Initiating router functions |
JP5178539B2 (ja) * | 2008-04-04 | 2013-04-10 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、セッション管理システム並びにプログラム |
US8560646B1 (en) * | 2010-09-28 | 2013-10-15 | Amazon Technologies, Inc. | Managing communications using alternative packet addressing |
US9253144B2 (en) | 2011-12-22 | 2016-02-02 | International Business Machines Corporation | Client-driven load balancing of dynamic IP address allocation |
US9733991B2 (en) | 2012-09-14 | 2017-08-15 | International Business Machines Corporation | Deferred re-MRU operations to reduce lock contention |
US9547604B2 (en) | 2012-09-14 | 2017-01-17 | International Business Machines Corporation | Deferred RE-MRU operations to reduce lock contention |
US10212076B1 (en) * | 2012-12-27 | 2019-02-19 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping a node-scope specific identifier |
US9294503B2 (en) * | 2013-08-26 | 2016-03-22 | A10 Networks, Inc. | Health monitor based distributed denial of service attack mitigation |
CN105635067B (zh) * | 2014-11-04 | 2019-11-15 | 华为技术有限公司 | 报文发送方法及装置 |
US9652406B2 (en) | 2015-04-30 | 2017-05-16 | International Business Machines Corporation | MRU batching to reduce lock contention |
US9699244B2 (en) * | 2015-11-11 | 2017-07-04 | Weka.IO Ltd. | Load balanced network file accesses |
US11178217B2 (en) * | 2017-01-09 | 2021-11-16 | International Business Machines Corporation | DNS-based in-packet service version tagging |
EP3662695A4 (en) * | 2017-08-03 | 2020-06-10 | Drivenets Ltd. | NETWORK SENSITIVE ELEMENT AND METHOD OF USING SAME |
US10742696B2 (en) | 2018-02-28 | 2020-08-11 | Sling Media Pvt. Ltd. | Relaying media content via a relay server system without decryption |
US10785192B2 (en) * | 2018-02-28 | 2020-09-22 | Sling Media Pvt. Ltd. | Methods and systems for secure DNS routing |
US10462177B1 (en) * | 2019-02-06 | 2019-10-29 | Xm Cyber Ltd. | Taking privilege escalation into account in penetration testing campaigns |
US11153265B1 (en) * | 2020-12-09 | 2021-10-19 | Cloudflare, Inc. | Decoupling of IP address bindings and use in a distributed cloud computing network |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US13810A (en) * | 1855-11-13 | Reuben w | ||
US5764906A (en) * | 1995-11-07 | 1998-06-09 | Netword Llc | Universal electronic resource denotation, request and delivery system |
US5745570A (en) * | 1996-04-15 | 1998-04-28 | International Business Machines Corporation | Object-oriented programming environment that provides object encapsulation via encryption |
US5742686A (en) * | 1996-06-14 | 1998-04-21 | Finley; Phillip Scott | Device and method for dynamic encryption |
US6182139B1 (en) * | 1996-08-05 | 2001-01-30 | Resonate Inc. | Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm |
US6272523B1 (en) * | 1996-12-20 | 2001-08-07 | International Business Machines Corporation | Distributed networking using logical processes |
US6173311B1 (en) * | 1997-02-13 | 2001-01-09 | Pointcast, Inc. | Apparatus, method and article of manufacture for servicing client requests on a network |
US6266335B1 (en) * | 1997-12-19 | 2001-07-24 | Cyberiq Systems | Cross-platform server clustering using a network flow switch |
US6138159A (en) * | 1998-06-11 | 2000-10-24 | Phaal; Peter | Load direction mechanism |
US6078960A (en) * | 1998-07-03 | 2000-06-20 | Acceleration Software International Corporation | Client-side load-balancing in client server network |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6195707B1 (en) * | 1998-10-28 | 2001-02-27 | International Business Machines Corporation | Apparatus for implementing universal resource locator (URL) aliases in a web browser and method therefor |
US6839700B2 (en) * | 2001-05-23 | 2005-01-04 | International Business Machines Corporation | Load balancing content requests using dynamic document generation cost information |
-
2002
- 2002-09-04 WO PCT/US2002/027963 patent/WO2003021395A2/en active Application Filing
- 2002-09-04 US US10/233,734 patent/US20030126252A1/en not_active Abandoned
- 2002-09-04 JP JP2003525418A patent/JP2005502239A/ja active Pending
- 2002-09-04 AU AU2002324861A patent/AU2002324861A1/en not_active Abandoned
- 2002-09-04 IL IL16074602A patent/IL160746A0/xx unknown
-
2004
- 2004-03-29 ZA ZA2004/02459A patent/ZA200402459B/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20030126252A1 (en) | 2003-07-03 |
ZA200402459B (en) | 2005-08-31 |
AU2002324861A1 (en) | 2003-03-18 |
WO2003021395A2 (en) | 2003-03-13 |
IL160746A0 (en) | 2004-08-31 |
WO2003021395A3 (en) | 2003-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005502239A (ja) | クライアント側の動的な負荷バランシングシステムの方法および機器 | |
US6961783B1 (en) | DNS server access control system and method | |
US7039721B1 (en) | System and method for protecting internet protocol addresses | |
US7058718B2 (en) | Blended SYN cookies | |
US7260639B2 (en) | Method and system for protecting web sites from public internet threats | |
US8250631B2 (en) | Protecting against denial of service attacks using trust, quality of service, personalization, and hide port messages | |
US7620733B1 (en) | DNS anti-spoofing using UDP | |
US7707287B2 (en) | Virtual host acceleration system | |
De Vivo et al. | Internet security attacks at the basic levels | |
US20170374088A1 (en) | Individually assigned server alias address for contacting a server | |
CN109983752A (zh) | 带有编码dns级信息的网络地址 | |
US20080082662A1 (en) | Method and apparatus for controlling access to network resources based on reputation | |
US20070180090A1 (en) | Dns traffic switch | |
KR20050120875A (ko) | 서버 보안 솔루션과 네트워크 보안 솔루션을 이용한시스템 보안 방법 및 이를 구현하는 보안시스템 | |
EP1533970B1 (en) | Method and system for secure content delivery | |
Shue et al. | On building inexpensive network capabilities | |
US20040059944A1 (en) | System and method for repelling attack data streams on network nodes in a communications network | |
Pansa et al. | Architecture and protocols for secure LAN by using a software-level certificate and cancellation of ARP protocol | |
Al-Dalky et al. | Practical challenge-response for DNS | |
CN110581843B (zh) | 一种拟态Web网关多应用流量定向分配方法 | |
KR100470918B1 (ko) | 네트워크 상의 방화벽 검열 우회 방지 시스템 및 그 방법 | |
Schneider | Fresh phish | |
Sharma et al. | A new approach to prevent ARP spoofing | |
Sun et al. | Characterizing DNS Malicious Traffic in Big Data | |
KR20240122237A (ko) | 주소변이 및 포트변이 추적을 위한 클라이언트 전용 게이트웨이 장치 및 이를 포함한 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050901 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070607 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070703 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080724 |