JP4801169B2 - 分散サービスサイトの登録方法および登録システム - Google Patents

分散サービスサイトの登録方法および登録システム Download PDF

Info

Publication number
JP4801169B2
JP4801169B2 JP2008543284A JP2008543284A JP4801169B2 JP 4801169 B2 JP4801169 B2 JP 4801169B2 JP 2008543284 A JP2008543284 A JP 2008543284A JP 2008543284 A JP2008543284 A JP 2008543284A JP 4801169 B2 JP4801169 B2 JP 4801169B2
Authority
JP
Japan
Prior art keywords
client
distributed service
site
link
ping
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
JP2008543284A
Other languages
English (en)
Other versions
JP2009518883A5 (ja
JP2009518883A (ja
Inventor
ジェイ.フラー ビリー
ディー.ムグリ ネイサン
ビー.トゥ ウィリアム
ビー.リーズ ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009518883A publication Critical patent/JP2009518883A/ja
Publication of JP2009518883A5 publication Critical patent/JP2009518883A5/ja
Application granted granted Critical
Publication of JP4801169B2 publication Critical patent/JP4801169B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、クライアントを分散サービスに登録する方法およびそのシステムに関する。
現代のコンピュータシステムは、ネットワーク環境を介したデータやリソースのやり取りを考慮している。例えば、現代のコンピュータネットワークは、相互に接続されたクライアントコンピュータを多数含んでいる。コンピュータネットワークは更に、リソースも含んでいる。そのようなリソースとは、それに限られたものではないが例えば、クライアントがアクセス可能なデータを記憶するためのファイルサーバ、クライアントがプリンタにアクセスできるようにするプリントサーバ、ネットワーク上の他のクライアントやリソースが利用できるようにしたデータを記憶するためのクライアントコンピュータ上の共有記憶装置がある。
ネットワークの大きさは様々である。ローカルエリアネットワーク(LAN)には比較的小規模なネットワークがある。LANの例として、ネットワークが一軒の家や業務サイトにあるホームネットワークや、小規模ビジネスネットワークがある。大規模ネットワークにはワイドエリアネットワーク(WAN)がある。WANの一般的な例として、ユビキタスインターネットがある。別の例としては、LANを相互に連結してエンタプライズネットワークにする例もある。森は、エンタプライズネットワークに似ている。森は、中央で管理されたシステムの一群である。
LANを互いに連結してエンタプライズネットワークを形成する場合、ハブの使用によりブランチオフィスを接続して、エンタプライズネットワークとなる接続性を提供する。通常は、エンタプライズネットワークは、エンタプライズネットワーク全域に置かれている多数の分散サービスを含んでいる。エンタプライズネットワーク上のクライアントは、分散サービスの一つに登録することができる。クライアントが登録している分散サービスは、ルーチン機能の提供により、登録されているクライアントからエンタプライズネットワーク内の他のクライアントにメッセージを送ることができ、他のクライアントから登録されているクライアントへメッセージを送ることもできる。分散サービスにはネットワークのセキュリティを提供する機能もある。例えば、分散サービスには、ネットワーク上の通信を認証して、ネットワーク上に送信された未認証および/または悪質な通信が伝送されることを防止することができる機能もある。
エンタプライズネットワークはサイトの集合として整備され、各サイトはネットワークアドレスの範囲である。例えば、サイトはインターネットプロトコル(IP)アドレスの集合と定義できる。IPアドレスは、しばしば地理的および/または論理的な近似に基づいて割当てられる。このようにして、類似したIPアドレス、詳細には同じサイト内でIPアドレスを持ったクライアントと分散サービスは、多くの場合、地理的および/または論理的にもお互いに近いものになる。クライアントへの通信の多くあるいは全ては、クライアントが登録している分散サービスを通過するので、クライアントと同じサイトで分散サービスにクライアントを登録するのが便利であることが多い。クライアントと分散サービスを密接に近似させることの利点の一つは、クライアントとやり取りする各々の通信は、遠隔地にある分散サービスに到達するために多数のネットワーク接続を経由して分散サービス迄の経路を決める必要がないので、ネットワークのトラフィック全体が減ることである。
残念ながら、クライアントがクライアントと同じサイトの分散サービスに登録したり、あるいは通信したりできない状況が起こりうる。その場合は、クライアントは登録できる別のサイトの別の分散サービスをランダムに選択することができる。それによって、当然のことながら地理的および/または論理的にクライアントからはるかに離れた分散サービスにクライアントを登録することになる。
本発明に係る主題は、どのような不都合でも解決でき、あるいは上記の環境内でのみ動作する実施形態に限定されるものではない。むしろその背景は、本明細書に記載したある実施形態が実行できる技術分野の例を説明するために提供されているにすぎない。
上記並びに他の利点や特徴が得られる方法を説明するために、添付の図面で説明されている実施形態を参照することにより、上記では簡単に説明した主題をより具体的に説明する。添付の図面は一般的な実施形態を表し、本発明の範囲を限定するものではないことを理解して、添付の図面を使用して追加の特徴および詳細とともに、実施形態を記述し、説明する。
実施形態の一つは、クライアントを分散サービスに登録する方法に関する。この方法は例えば、クライアントがローカルサイトにいて、多数のリモートサイトに多数の分散サービスがある場合を含むネットワークコンピューティング環境で実行することができる。この方法は、一つ以上のリモートサイトで一つ以上の分散サービスにネットワーク接続を確認することを含む。一つのメッセージは、一つ以上の分散サービスの中の一つの分散サービスから受信する。そのメッセージは、最適なリモートサイトを指定する。この方法は更に、最適なリモートサイトで分散サービスに登録することも含む。
ここで詳細を説明する別の実施形態は、リモートサイトの分散サービスからローカルサイトのクライアントに最適なリモートサイトの表示を提供する方法を含む。この方法は例えば、クライアントがローカルサイトにいて、多数のリモートサイトに多数の分散サービスがある場合を含むネットワークコンピューティング環境で実行することができる。この方法は、クライアントからネットワーク接続を確認することを含む。最適なリモートサイトは、クライアントについての情報およびクライアントを最適なリモートサイトに接続するリンクについての情報に基づいて決定される。この方法は更に、クライアントにメッセージを送信することも含む。そのメッセージは、最適なリモートサイトを指定する。
この要約は、単純な形式で概念の選択を紹介するために提供するものであり、以下の発明の詳細な説明にてさらに詳しく説明される。この要約は、本発明の主要な特徴や本質的な特徴を確認するためのものではなく、特許請求の範囲の決定の補助に使用するものである。
さらなる特徴や利点については以下に説明するが、その説明から明白なものもあり、ここでの教示を実行することにより分かるものもある。添付の特許請求の範囲の中で特に指摘している機器との組合せにより、本発明の特徴と利点を実現して入手することができる。本発明の特徴は、以下の説明と添付の特許請求の範囲により十分に明白になり、以下に説明する発明を実行することにより理解することができる。
本実施形態は、以下に詳細を述べるように、様々なコンピュータハードウェアを含む、特殊目的あるいは汎用目的のコンピュータを備える。
ここで述べる一実施形態は、エンタプライズネットワーク上の分散サービスが、分散サービスが最適なリモートサイトであるクライアントから離れたサイトにあるというクライアントへの指示を提供することができるシステムに関する。クライアントは、クライアントと同じサイトで分散サービスに登録することができなければ、最適なリモートサイトで分散サービスに登録することを試みる。最適なリモートサイトは、クライアント毎に決定される。例えば、エンタプライズネットワーク上の各クライアントは、エンタプライズネットワーク上の他のクライアントの最適なリモートサイトと同じもしくは同じではない最適なリモートサイトを有する。クライアントの特性、リモートサイトのシステムの特性、クライアントと最適なリモートサイトとを相互接続する一つ以上のリンクの特性などの様々な要素を参照することにより、あるサイトが最適なサイトであることが決定される。例えば、クライアントとリモートサイトを相互接続する各々のリンクに、エンタプライズネットワーク上の他のリンクに匹敵するインデックス番号を割当てることができる。各々のインデックス番号は、定型的な方法でインデックス番号に到着するように適用された様々な特性を参照することにより決定される。定型方法は例えば、リンクの信頼性、1分当たりの経済的コストもしくはリンク上のデータの尺度、リンクの待ち時間と性能、ユーザの嗜好、リンクのセキュリティ、ネットワーク機器、運用コスト、リンクの回線容量、リンク使用時の競合などの要因を参照することを含む。エンタプライズネットワーク内の分散サービスは、クライアントの特定のサイトへのインデックス数を計算する能力、およびリンクのインデックス数へのリンクを含むテーブルを含む。クライアントと様々なサイト間のリンクのために計算されたインデックス数を比較することにより、分散サービスは最適なリモートサイトが最適なインデックス数のサイトであるということを示しているクライアントにメッセージを返すことができるというように対比することができる。
図1を参照すると、より詳細な例が、エンタプライズネットワーク100に関して示されている。エンタプライズネットワーク100は、サイトA、サイトB、サイトC、およびサイトDを含む多数のサイトを含むことが示される。ローカルサイトA 102は、エンタプライズネットワーク100上のクライアントに提供することができる様々なサービスを含む分散サービス(Distributed Service:DS)104を含む。図1は更に、ローカルサイトA 102上のクライアント106を示す。ローカルサイトA 102は、リンク110によりリモートサイトB 108に接続される。リモートサイトB 108は、リンク114によりリモートサイトD 112に接続される。リモートサイトB 108は、リンク118によりリモートサイトC 116にも接続される。リモートサイトD 112は、分散サービス121を含むことが示されている。リモートサイトCは、分散サービス120、分散サービス122、および分散サービス124を含む多数の分散サービスを含むことが示されている。
通常動作時には、クライアント106は、クライアント106のローカルサイトA 102で分散サービス104に登録することを好む。しかし場合によっては、分散サービス104にはクライアントが登録できないこともある。クライアント106は、最初にローカルサイトA 102で分散サービスに登録しようとする。クライアント106がローカルサイトA 102でクライアントを登録するために利用できる分散サービスが無いことを認識すると、クライアント106は、二番目に近いサイトで分散サービスに登録するために二番目に近いサイトを見つけようとする。
図1に示す例では、エンタプライズネットワーク100の中でクライアント106は、ping126を分散サービス120に送信する。一実施形態では、ネットワークへの接続を確認するサイトとしての分散サービス120の選択は、エンタプライズネットワーク100内で分散サービスの履歴を参照することによりクライアントが任意に行うこともできる。クライアント106がping126を分散サービス120に送信すると、短時間待って分散サービス120が応答できるようにする。分散サービス120が応答しなければ、クライアント106は、エンタプライズネットワーク100上の他の分散サービスのネットワークの接続を確認する。但し、この例では、分散サービス120はクライアント106からping126に応答できると想定している。ping126の一部として送信されるメッセージには、分散サービス120は、クライアント106が分散サービスにコンタクトするのに最適なリモートサイトの指示をどこに返すかというメッセージを使用して、クライアント106がサポートして通信を行う能力を有するということを分散サービス120に指示することが含まれる。例えば、クライアント106は、ping126の一部となるメッセージにより、最適なリモートサイトの指示を受信する能力があることを示すフラグを含むことができる。
分散サービス120は、このフラグを参照することにより、クライアント106の最適なリモートサイトの指示を含むメッセージ128を、クライアント106に送信すべきかどうかを決定することができる。別の実施形態では、分散サービス120はping126の中で送付されたフラグは参照せず、エンタプライズネットワーク100内のクライアントと分散サービスは全て最適なリモートサイト情報を受信する機能をサポートすることを仮定する。一実施形態では、クライアント106によりフラグを、分散サービス120によりフラグへの参照を提供することは、簡単に下位互換性(backward compatibility)を提供し、最適なリモートサイト情報を要求する機能を含むシステムと、最適なリモートサイト情報を提供する機能を含むシステムとを、そのような機能を含んでいないシステムと一緒に使用することができるようにする。
分散サービス120、あるいは図1に示す他の分散サービスのような分散サービスは、クライアント106と、エンタプライズネットワーク100中のローカルサイトA 102、リモートサイトB 108、リモートサイトD 112、リモートサイトC 116等の様々なサイトとの間のリンクのためのインデックス数を決定するのに使用されうるインデックスを含むマッピングテーブルを作成および/もしくは記憶する機能を含む。例えば図1に示すように、ローカルサイトA 102とリモートサイトB 108との間のリンク110は、1000のインデックスコストを有する。この数字は、リンクの信頼性、リンクコスト、サイト間の物理的な近接等の要因に基づいたインデックスコストを決定するアルゴリズムの結果を表す。このインデックス値1000は、エンタプライズネットワーク100内の分散サービスの各々に記憶されているコストマッピングテーブルに記憶することができる。図1に示されるように、リモートサイトB 108とリモートサイトD 112との間のリンク114は、500のコストインデックスを有する。図1に示されるように、リモートサイトB 108とリモートサイトC 116との間のリンク118は、1000のコストインデックスを有する。
ここで一実施形態の機能について説明すると、クライアント106は、分散サービス120にping126を送信する。ping126は、クライアント106の位置情報を含むことができる。例えば、ping126は、クライアント106のIPアドレスを含むことができる。クライアント106のIPアドレスは、クライアントがローカルサイトA 102のメンバーであることを確認するために使用できる。クライアント106がローカルサイトA 102にあることを識別すると、分散サービス120は、クライアント106に二番目に近いサイトを計算することができる。例えば、分散サービス120は、コストインデックステーブルを参照して、クライアント106が1000のコストでリモートサイトB 108にアクセス可能であることを決定する。クライアント106は、1500のコストでリモートサイトD 112にアクセス可能である。クライアント106は、2000のコストでリモートサイトCにアクセス可能である。このようにして、分散サービス120は、リモートサイトBがクライアント106に一番近い、または最適なリモートサイトであることを示すメッセージ128をクライアント106に返す。その結果、クライアントは、リモートサイトB 108において分散サービス130に登録することができる。
一実施形態では、クライアント106が最適なリモートサイトにおいて分散サービスに登録することができなければ、この場合リモートサイトB 108のことであるが、クライアント106は、ドメインコントローラのリストに含まれる任意のドメインコントローラに、クライアント106が登録するというスキームに戻ってもよい。
別の一実施形態では、分散サービス120は、一番近いサイトを順位付けしたリストを提供することができ、クライアント106が非常に最適なリモートサイトであるリモートサイトB 108において分散サービスに接続できない場合、クライアント106は、2番目に最適なリモートサイトにおいて分散サービスに接触しようと試みることができる。例えば、分散サービス120は、リモートサイトB 108がクライアント106に(1000のインデックスで)接続するための非常に最適なリモートサイトであり、リモートサイトD 112が2番目に適したリモートサイト(1500のインデックス)であり、リモートサイトC 116がリモートサイトD 112の次に適したリモートサイトである(2000のインデックス)というメッセージ128を返すことができる。このため、クライアント106がリモートサイトB 108において分散サービス130に登録することができない場合、分散サービスは、リモートサイトD 112にて分散サービス121に登録しようと試みることができる。クライアント106がリモートサイトDにて分散サービスに登録することができない場合、クライアント106はリモートサイトC 116にて、分散サービス120、122、または124に登録しようと試みる。
上述した実施形態は一般的な用語で説明されているが、ある特定の実施形態も実装できることを認識するべきである。例えば、上述した実施形態は、ワシントン州レドモンド在の本件特許出願人から入手可能なサーバ上で利用できるアクティブディレクトリ技術を使用して、アクティブディレクトリ実施形態に実装可能である。例えば、先に説明した分散サービスは、ここではアクティブディレクトリフォレスト内のサイトにおいて、ドメインコントローラとして具体化することができる。
次に、図2を参照して、クライアントを分散サービスに登録する方法200について説明する。方法200は例えば、ローカルサイト上のクライアントと多数のリモートサイト上の多数の分散サービスを含むネットワークコンピューティング環境で実行可能である。方法200は、一つ以上のリモートサイト上で一つ以上の分散サービスのネットワークへの接続を確認して(pinging)、最適なリモートサイト上で分散サービスを見つける(動作202)動作を含む。再度図1を参照すると、リモートサイトC 116上で分散サービス120のネットワークへの接続を確認するクライアント106の例が示されている。図1に示すように、クライアント106は、ping126をサイトC上の分散サービス120に送信する。一実施形態では、一つ以上のリモートサイト上の一つ以上の分散サービスのネットワークへの接続を確認すること(動作202)は、最適なリモートサイトを指定するメッセージを受け取ることを、クライアントがサポートするということを示すフラグを送信することを含むことができる。例えば、再度図1を参照すると、ping126はクライアント106が最適なリモートサイトの情報を受け取ることができることを示すフラグを含むことができる。分散サービス120が最適なリモートサイトの情報を配信する機能をサポートする場合、分散サービス120は、ping126を分析してクライアント106が最適なリモートサイトの情報を受信することを望んでいるか否かを判定することができる。
一実施形態では、一つ以上のリモートサイトにおける一つ以上の分散サービスのネットワークへの接続を確認すること(動作202)は、クライアントと同一のサイトにおける分散サービスにコンタクトしようとする最初の試みに引き続いて行うことができる。例えば、再度図1を参照すると、クライアント106は、ローカルサイトA 102にて分散サービス104に最初に登録しようとするかもしれない。分散サービス104が利用できない場合、または、クライアント106が分散サービス104にコンタクトできない場合、クライアント106は、リモートサイトC 116の分散サービス120にping126を送信する。
再度図2を参照すると、方法200は、一つ以上の分散サービスの中の一つの分散サービスから、最適なリモートサイトを指定するメッセージを受信する動作をさらに含む(動作204)。一実施形態では、そのメッセージはUDPメッセージであることもある。再度図1を参照すると、分散サービス120は、メッセージ128を送信することによりping126に応答している。メッセージ128は、クライアント106が属するサイトA 102から最適なリモートサイトを指定する情報を含むことができる。図1に示す例では、最適なリモートサイトはリモートサイトB 108である。図1に示す例では、ローカルサイトA 102とリモートサイトB 108を接続するリンクは、他のリモートサイト112、116へのリンクよりもインデックスが低いので、リモートサイトBは最適なリモートサイトである。
前にも述べたように、インデックス数(index numbers)を使用して、ローカルサイトからリモートサイトへのリンクを比較することができる。従って、最適なリモートサイトは、他のサイトのインデックスと比較することができるインデックスにより、最適なリモートサイトであると決定されうる。インデックス数は、多くの因子(factor)を使用して計算されうる。例えばインデックスは、最適なリモートサイトへのクライアントの物理的な近接、クライアントと最適なリモートサイトを接続するリンクの経済的なコスト、リンクの信頼性、リンクの待ち時間と性能、ユーザの好み、リンクのセキュリティ、ネットワーク機器、管理コスト、リンクの回線容量、およびリンクの競合使用のうちの少なくとも一つを使用して計算できる。
上述のように、サイト間を接続するリンクのインデックスを計算するのに使用される要因の一つに、リンクの金銭的なコストがある。例えば、リンクの種類が異なれば、使用に関連する金銭的なコストも異なってくる。例えば、ダイヤルアップ接続、イーサネット(登録商標)直接接続、衛星接続、DSL接続、無線接続等は、お互いに比較すれば金銭的なコストは異なっている。インデックス数が低い程、リンクがより最適であることを示す図1の例では、金銭的にコストがかからない接続は、リンクのインデックス数が低くなっている。
先に述べたように、インデックス数を計算するのに使用されるもう一つの要因は、クライアントを最適なリモートサイトに接続するリンクの信頼性である。一部の通信方式は、他の通信方式よりも信頼性が劣る場合がある。このため、より信頼性の高い通信方式は、リンクのインデックス数が低くなる。
更に、インデックス数を決定するのに使用される別の要因としては、リンクの待ち時間と性能がある。他のリンクよりも高速でデータを転送できるリンクもある。これは、リンクを作成するのに使用される技術の種類、リンク上のトラフィック量等、様々な理由によるものである。そのため、一実施形態では、高性能で待ち時間の小さいリンクは、インデックス数が低いということもある。
リンクのインデックスを決定するのに使用される別の要因は、リンクのセキュリティに関する。例えば、ある種のリンクは暗号化のレベルが高く、更に安全なものもある。大抵は、有線リンクのほうが無線リンクよりも安全である。ある種の無線暗号化の方が、他の無線暗号化よりも安全な場合もある。そのため、一実施形態では、より安全なリンクの方が、インデックス数が低い、もしくは多少最適で安全性の低いリンクを示すインデックスを持つこともある。
リンクのインデックス値を決定するのに使用される更に別の要因は、リンクの回線容量に関する。一実施形態では、リンクの回線容量(bandwidth)は、追加のクライアントにサービスできる回線容量のことをいう。このため、典型的な一実施形態では、リンクが全般的により高い回線容量を利用できても、そのリンクがネットワーク上の他のクライアントやサービスに専念してサービスを提供しているため利用できる回線容量が少ない場合、インデックスは、実際には高くなることもある。
リンクのインデックス値を決定するのに使用される更に別の要因は、リンクの競合使用(conflicting uses)に関する。例えば、様々な種類のネットワークトラフィックにサービスするために役立つリンクもあり、そのようなリンクは、そのような種類のネットワークトラフィック用に備えておくべきである。従って、そのリンクは、他のリンク上の他の通信よりも遮断されていることが望ましくない様々な種類のネットワーク通信に使用されるので、より高いインデックス値を受信することになる。
最適なリモートサイトは、クライアントのIPアドレスを参照してローカルサイトを確認することにより、決定することができる。例えば、再度図1を参照すると、クライアント106のIPアドレスは、クライアント106がローカルサイトA 102にいるという指示を提供できる。そのため、分散サービス120は、サイトA 102とエンタプライズネットワーク100上の他のサイトを相互に連結するリンクを比較することにより、非常に最適なサイトを決定することができる。前述のように、サイトA 102からサイトB 108へのリンクのインデックス値は1000である。サイトA 102をサイトD 112に相互連結するリンクのインデックス値は1500である。サイトA 102をサイトC 116に相互連結するリンクのインデックス値は2000である。このようにして、分散サービス120は、クライアント106の最適なサイトがサイトB 108であると決定することができる。
上記例では、特に、インデックス値の低い方がより最適な性質を持つことを示した。しかし、インデックス値の高い方がより最適である、またはリンクが最適であることを指示するのに、他のインデックス標識を使用するというシナリオも考えられる。従って、ここで説明した実施形態は、インデックス値が低いものだけがより最適なリンクを指示するという実施形態だけに限られない。
図2に示す方法200は、最適なリモートサイトにおいて分散サービスに登録する動作をさらに含む(動作206)。従って、図1に示すように、クライアント106は、最適なサイトB 108にて分散サービス130に登録することができる。
方法200は、最適なリモートサイトを示すメッセージが受信されない場合、分散サービスを発見する無作為なネットワーク接続確認方法(random pinging method)に戻ることをさらに含む。例えば、再度図1を参照すると、分散サービス120が非常に最適なサイトを指定するメッセージをサポートしていなければ、非常に最適なサイトを指示するメッセージ128をクライアント106が受信することはない。そのため、クライアント106は、クライアント106が登録する分散サービスを任意に選択するスキームに戻ることができる。別の実施形態では、クライアント106は、エンタプライズネットワーク内の他の分散サービスのネットワークへの接続を確認して、最適サイトの情報の配信をサポートしている分散サービスを発見する。
図3を参照して、クライアントへ最適なリモートサイトの指示を提供する方法300について説明する。方法300は、例えばローカルサイトにあるクライアントと、多数のリモートサイトにある多数の分散サービスを含むネットワークコンピューティング環境にて実行することができる。この方法は、クライアントからネットワークへの接続の確認を受信する動作を含む(動作302)。図1を参照すると、分散サービス120は、クライアント106からping126を受信する。前述のように、ping126は、クライアント106が最適なリモートサイトを特定するメッセージの受信をサポートすることを示すフラグを含む。
方法300は更に、クライアントについての情報と、クライアントを最適なリモートサイトに接続するリンクについての情報とに基づいて、最適なリモートサイトを決定する動作を含む(動作304)。最適なリモートサイトを決定すること(動作304)は、最適なリモートサイトのインデックスと他のサイトのインデックスとを比較することを含む。インデックスは、クライアントと最適なリモートサイトとの物理的な近接、クライアントを最適リモートサイトに接続するリンクの経済的なコスト、リンクの信頼性、リンクの待ち時間と性能、ユーザの好み、リンクのセキュリティ、ネットワーク機器、管理コスト、リンクの回線容量、または、リンクの競合使用を利用して計算できる。一実施形態では、クライアントのIPアドレスを参照してローカルサイトを特定することにより、最適なリモートサイトを決定する。例えば、図1に示すように、クライアント106はサイトA 102のIPアドレス領域に対応するIPアドレスを持つことができる。
一実施形態では、方法300は、最適なリモートサイトのインデックスを計算することを含む。この実施形態では、分散サービスは、サイト間を相互に接続するリンクを比較するのに使用するインデックス数を計算するための、プログラムモジュールもしくは他の機能を含む。プログラムモジュールは、例えば、前述したような入力情報を受け取り、その入力情報に基づいてインデックス数を計算するプログラムモジュールを含む。
別の実施形態では、方法300は、最適なリモートサイトのインデックスの計算値を受信することを含む。例えば、エンタプライズネットワーク上の分散サービスは、エンタプライズネットワーク内のサイトを相互に接続するリンクのためのインデックス数を他のエージェントが提供するエンタプライズネットワーク上の、別のエージェントからインデックス数を受信する機能を含む。
図3に示す方法300は、クライアントにメッセージを送信する動作を更に含んでおり、そのメッセージは、最適なリモートサイトを指定する(動作306)。図1および前記のように、分散サービス120は、クライアント106にメッセージ128を配信し、メッセージ128は最適なリモートサイトを指定する情報を提供する。例えば、図1に示す例では、メッセージ128は、クライアント106のための最適なリモートサイトがサイトB 108であると指定できる。一実施形態では、クライアントにメッセージを送信すること(動作306)は、UDPメッセージを送信することを含むこともある。
図4を参照すると、例示的なコンピュータシステム420が示されている。コンピュータシステム420は、分散サービスのネットワークへの接続を確認して最適なリモートサイトを発見する機能と、分散サービスに登録する機能とを含む。分散サービスは、個別のシステムとして表されているが、リモートコンピュータシステム483としてまとめて図4に示される。コンピュータシステム420はプロセッサ421を含む。プロセッサ421は、コンピュータが実行可能な命令で動作するように構成されている。例えば、プロセッサは、オペレーティングシステム435、並びにアプリケーションプログラム436およびその他のプログラムモジュール437を含む様々なプログラムモジュールの一部として、ROM424内のBIOS426に記憶されている命令を実行するように構成されている。これらのプログラムモジュールは、ハードディスク439のような不揮発性永続的ストレージ、または、それらを、プロセッサによる実行のためにシステムメモリ422にロードすることができる他の媒体に記憶することができる。
コンピュータシステム420は、前述のように、データやプログラムモジュールを記憶するように構成された記憶媒体を含む。例えば、アプリケーションプログラム436は、それらをシステムメモリ422のRAM425にロードすることができるハードドライブ439に記憶することができる。同様に、プログラムデータ438は、ハードドライブ439に格納され、システムメモリ422のRAM425に格納される。
ストレージ媒体は、一つ以上のリモートサイトにおける一つ以上の分散サービスのネットワークへの接続を確認するように構成された、一つ以上のプログラムモジュール437を含むことができる。プログラムモジュールは更に、一つ以上の分散サービスの中の一つの分散サービスからメッセージを受信するように構成されることができ、そのメッセージは最適なリモートサイトを指定する。一つ以上のプログラムモジュールは更に、最適なリモートサイトにおける分散サービスに登録するように構成されることができる。
一実施形態では、分散サービスは、ネットワークインタフェース453とネットワーク接続451を経由してコンピュータシステム420に接続される、リモートコンピュータシステム483によって表される。ネットワーク接続451は、現存している、あるいは将来存在する可能性がある様々なネットワーク接続のいかなるものでもよい。現存している接続には、Bluetooth接続、有線および無線接続など、様々な接続が含まれる。しかしながら、実施形態は上述のネットワーク接続だけに限らず、他の未発見の接続とも機能する可能性がありえる。
一実施形態では、一つ以上のプログラムモジュール437は、コンピュータシステム420が最適なサイトの情報を処理できるという指示を送信するようにさらに構成されることもできる。別の実施形態では、プログラムモジュールは、最適なリモートサイトが受信されたということを示すメッセージがなければ、分散サービスを発見する無作為なネットワーク接続確認方法に戻るように構成されることもできる。
実施形態には、コンピュータで実行可能な命令もしくはコンピュータ上に記憶されるデータ構造を伝えるあるいは所有するためのコンピュータ読み取り可能媒体が含まれる。そのようなコンピュータ読み取り可能媒体は、汎用または特殊用途のコンピュータによりアクセスすることができるいかなる媒体でもよい。例として、これに限定はしないが、そのようなコンピュータ読み取り可能媒体は、RAM、ROM、EEPROM、CD−ROMあるいは他の光ディスクストレージ、磁気ディスクストレージあるいは他の磁気ストレージ装置、あるいはコンピュータ実行可能命令あるいはデータ構造の形式の望ましいプログラムのコーディング方法を実行または記憶するのに使用可能であり、汎用あるいは特殊用途のコンピュータによりアクセス可能な他の媒体である。情報がネットワークまたは他の通信接続(有線か無線、または有線および無線の組合せ)経由でコンピュータに転送または提供される場合、コンピュータは、その接続をコンピュータ読み取り可能媒体と見なす。したがって、そのような接続は、どれもコンピュータ読み取り可能媒体と呼ばれる。上記の組み合わせも、コンピュータ読み取り可能媒体の範囲に含められるべきである。
コンピュータ実行可能命令は、例えば、汎用コンピュータ、特殊用途コンピュータ、あるいは特殊用途処理装置に、ある機能または機能のグループを実施させる命令およびデータを含む。その内容は、構造的特徴および/または方法論的動作に特化した言語で記述されているが、添付の特許請求の範囲において定義されている内容は、上記の固有の特徴や動作には必ずしも限定されないことが理解されるはずである。むしろ、上記の固有な特徴や動作は、特許請求の範囲を実現する例示的な形式として開示されている。
本発明は、その趣旨と本質的な特性から逸脱することなく、他の固有の形式で実現することができる。説明されている実施形態はあらゆる面で例を示すものであり、制限するものではない。従って、本発明の範囲は、上記説明よりもむしろ添付の特許請求の範囲に示されている。特許請求の範囲と同等の意味と範囲であれば、あらゆる変更がその範囲に包含される。
エンタプライズネットワークを示す図である。 リモートサイトにおいて分散サービスに登録する方法を示す図である。 クライアントに、最適なリモートサイトを示すメッセージを通信する方法を示す図である。 一実施形態を実装することができるシステムを示す図である。

Claims (12)

  1. 複数のサイトを含むネットワークコンピューティング環境であって、各サイトは一つ以上の分散サービス含み、各分散サービスは、該分散サービスが利用可能な場合にクライアントを登録するように構成され、一部のクライアントは分散サービスにpingを送信し、pingに応答するリモートサイトに登録する機能を有し、別のクライアントは、pingに応答して2番目に適したサイトを示す指示を受信し、前記指示された2番目に適したサイトにおいて特定された分散サービスに登録する追加の機能を有するネットワークコンピューティング環境において、前記クライアントのローカルサイトにおける前記分散サービスが前記クライアントによって利用できない場合に、前記クライアントを前記2番目に適したサイトにある分散サービスに登録する方法であって、
    前記クライアントが、前記ローカルサイトにある分散サービスに登録を試みて、前記ローカルサイトにある前記分散サービスが利用できないことを確認することと、
    前記クライアントが、リモートサイトにある分散サービスをランダムに選択して、前記ランダムに選択された分散サービスにpingを送信することであって、前記pingは、2番目に適したリモートサイトにある分散サービスの指示を受信し、前記指示された2番目に適したサイトにある特定された分散サービスに登録する、前記クライアントの追加の機能を示すフラグを含み、前記フラグは、前記ランダムに選択された分散サービスに、2番目に適したサイトを示す指示を受信し、特定された分散サービスに登録する前記クライアントの追加の機能を通知し、前記ランダムに選択された分散サービスが、前記pingを受信することに応答して前記クライアントの登録を試みないようにすることと、
    前記クライアントが、前記ランダムに選択された分散サービスからメッセージを受信することであって、前記メッセージは、2番目に適したリモートサイトにある分散サービスを特定し、前記ランダムに選択された分散サービスは、前記フラグによって示された前記追加の機能の通知に応答して、前記メッセージを送信しており、
    前記2番目に適したリモートサイトは、前記クライアントと、その他のリモートサイトにあるその他の分散サービスとの間のリンクに関するインデックス数を決定するために使用されるインデックスを含むマッピングテーブルを参照し、最適なインデックス数を有するリンクに基づいて、前記マッピングテーブルから、分散サービスを提供する前記2番目に適したリモートサイト判定することによって、前記クライアントに対して決定され、
    各インデックスは、前記適したリモートサイトへの前記クライアントの物理的な近接、前記クライアントが前記適したリモートサイトに接続するリンクの経済的コスト、前記リンクの信頼性、前記リンクの待ち時間と性能、ユーザの好み、前記リンクのセキュリティ、ネットワーク機器、管理コスト、前記リンクの回線容量、または、前記リンクの競合使用の一つ以上の組合せを利用することによって計算されることと、
    前記クライアントが、前記2番目に適したサイトにある前記分散サービスにメッセージを送信して、前記2番目に適したリモートサイトにある前記分散サービスに登録することと
    を含むことを特徴とする方法。
  2. 前記2番目に適したリモートサイトが、前記クライアントのIPアドレスを参照して前記ローカルサイトを確認することにより決定されることを特徴とする請求項1に記載の方法。
  3. 前記2番目に適したリモートサイトにある前記分散サービスが、ドメインコントローラを含むことを特徴とする請求項1に記載の方法。
  4. 前記ランダムに選択された分散サービスから受信した前記メッセージが、UDPメッセージであることを特徴とする請求項1に記載の方法。
  5. 前記ランダムに選択された分散サービスに送信された前記pingに応答して、2番目に適したリモートサイトを示す前記メッセージを受信しない場合、その他のリモートサイトにあるその他の分散サービスにランダムにpingを送信することに戻ることをさらに含むことを特徴とする請求項1に記載の方法。
  6. 複数のサイトを含むネットワークコンピューティング環境であって、各サイトは一つ以上の分散サービス含み、各分散サービスは、該分散サービスが利用可能な場合にクライアントを登録するように構成され、一部のクライアントは分散サービスにpingを送信し、pingに応答するリモートサイトに登録する機能を有し、別のクライアントは、pingに応答して2番目に適したサイトを示す指示を受信し、前記指示された2番目に適したサイトにおいて特定された分散サービスに登録する追加の機能を有するネットワークコンピューティング環境において、クライアントのローカルサイトにある分散サービスが前記クライアントによって利用できない場合に、2番目に適したサイトにある分散サービスを見つける方法であって、
    前記クライアントは、2番目に適したサイトを示す指示を受信し、前記指示された2番目に適したサイトにある特定された分散サービスに登録する、前記追加の機能を含む前記別のクライアントのうちの一つであり、
    リモートサイトにある分散サービスにおいて、前記クライアントからpingを受信することであって、前記pingは、2番目に適したリモートサイトにある分散サービスの指示を受信する前記クライアントの機能を示すフラグを含み、前記pingは、前記クライアントが、利用できない前記クライアントのローカルサイトにある分散サービスに応答して、前記リモートサイトにある前記分散サービスをランダムに選択したことを示し、前記フラグは、2番目に適したサイトを示す指示を受信し、特定された分散サービスに登録する前記クライアントの追加の機能を示し、前記ランダムに選択された分散サービスが、前記pingを受信することに応答して、前記クライアントの登録を試みないようにすることと、
    前記pingを受信する前記ランダムに選択された分散サービスにおいて、前記クライアントと、その他のリモートサイトにあるその他の分散サービスとの間のリンクに対するインデックス数を決定するために利用されるインデックスを含むマッピングテーブルを参照することであって、
    各インデックスは、前記適したリモートサイトへの前記クライアントの物理的な近接、前記クライアントが前記適したリモートサイトに接続するリンクの経済的コスト、前記リンクの信頼性、前記リンクの待ち時間と性能、ユーザの好み、前記リンクのセキュリティ、ネットワーク機器、管理コスト、前記リンクの回線容量、または、前記リンクの競合使用の一つ以上の組合せを利用することによって計算されることと、
    前記pingを受信した前記ランダムに選択された分散サービスが、次いで、最適なインデックス数を有するリンクに基づいて、前記マッピングテーブルから、前記クライアントに対して分散サービスを提供する前記2番目に適したリモートサイトを決定することと、
    前記ランダムに選択された分散サービスが、前記クライアントにメッセージを送信することであって、前記メッセージは、前記クライアントに対して分散サービスを提供する前記2番目に適したリモートサイトについての位置情報及びリンク情報を特定することと
    を含むことを特徴とする方法。
  7. 前記マッピングテーブルにおいて最も低いインデックスを選択することによって、前記2番目に適したリモートサイトを決定することをさらに含むことを特徴とする請求項6に記載の方法。
  8. 前記pingは、前記クライアントのIPアドレスを含むことを特徴とする請求項6に記載の方法。
  9. 前記2番目に適したリモートサイトにおける前記分散サービスは、ドメインコントローラを含むことを特徴とする請求項6に記載の方法。
  10. 前記メッセージを前記クライアントに送信することは、UDPメッセージを送信することを含むことを特徴とする請求項6に記載の方法。
  11. 複数のサイトを含むネットワークコンピューティング環境であって、各サイトは一つ以上の分散サービス含み、各分散サービスは、該分散サービスが利用可能な場合にクライアントを登録するように構成され、一部のクライアントは分散サービスにpingを送信し、pingに応答するリモートサイトに登録する機能を有し、別のクライアントは、pingに応答して2番目に適したサイトを示す指示を受信し、前記指示された2番目に適したサイトにおいて特定された分散サービスに登録する追加の機能を有するネットワークコンピューティング環境において、前記クライアントのローカルサイトにおける前記分散サービスが前記クライアントによって利用できない場合に、前記クライアントを前記2番目に適したサイトにある分散サービスに登録する方法を実行するためのコンピュータ実行可能命令を記憶したコンピュータ記憶媒体であって、前記方法は、
    前記クライアントが、前記ローカルサイトにある分散サービスに登録を試みて、前記ローカルサイトにある前記分散サービスが利用できないことを確認することと、
    前記クライアントが、リモートサイトにある分散サービスをランダムに選択して、前記ランダムに選択された分散サービスにpingを送信することであって、前記pingは、2番目に適したリモートサイトにある分散サービスの指示を受信し、前記指示された2番目に適したサイトにある特定された分散サービスに登録する、前記クライアントの追加の機能を示すフラグを含み、前記フラグは、前記ランダムに選択された分散サービスに、2番目に適したサイトを示す指示を受信し、特定された分散サービスに登録する前記クライアントの追加の機能を通知し、前記ランダムに選択された分散サービスが、前記pingを受信することに応答して前記クライアントの登録を試みないようにすることと、
    前記クライアントが、前記ランダムに選択された分散サービスからメッセージを受信することであって、前記メッセージは、2番目に適したリモートサイトにある分散サービスを特定し、前記ランダムに選択された分散サービスは、前記フラグによって示された前記追加の機能の通知に応答して、前記メッセージを送信しており、
    前記2番目に適したリモートサイトは、前記クライアントと、その他のリモートサイトにあるその他の分散サービスとの間のリンクに関するインデックス数を決定するために使用されるインデックスを含むマッピングテーブルを参照し、最適なインデックス数を有するリンクに基づいて、前記マッピングテーブルから、分散サービスを提供する前記2番目に適したリモートサイト判定することによって、前記クライアントに対して決定され、
    各インデックスは、前記適したリモートサイトへの前記クライアントの物理的な近接、前記クライアントが前記適したリモートサイトに接続するリンクの経済的コスト、前記リンクの信頼性、前記リンクの待ち時間と性能、ユーザの好み、前記リンクのセキュリティ、ネットワーク機器、管理コスト、前記リンクの回線容量、または、前記リンクの競合使用の一つ以上の組合せを利用することによって計算されることと、
    前記クライアントが、前記2番目に適したサイトにある前記分散サービスにメッセージを送信して、前記2番目に適したリモートサイトにある前記分散サービスに登録することと
    を含むことを特徴とするコンピュータ記憶媒体。
  12. 複数のサイトを含むネットワークコンピューティング環境であって、各サイトは一つ以上の分散サービス含み、各分散サービスは、該分散サービスが利用可能な場合にクライアントを登録するように構成され、一部のクライアントは分散サービスにpingを送信し、pingに応答するリモートサイトに登録する機能を有し、別のクライアントは、pingに応答して2番目に適したサイトを示す指示を受信し、前記指示された2番目に適したサイトにおいて特定された分散サービスに登録する追加の機能を有するネットワークコンピューティング環境において、クライアントのローカルサイトにある分散サービスが前記クライアントによって利用できない場合に、2番目に適したサイトにある分散サービスを見つける方法を実行するためのコンピュータ実行可能命令を記憶したコンピュータ記憶媒体であって、
    前記クライアントは、2番目に適したサイトを示す指示を受信し、前記指示された2番目に適したサイトにある特定された分散サービスに登録する、前記追加の機能を含む前記別のクライアントのうちの一つであり、
    前記方法は、
    前記クライアントによって選択されたリモートサイトにある分散サービスにおいて、前記クライアントからpingを受信することであって、前記pingは、2番目に適したリモートサイトにある分散サービスの指示を受信する前記クライアントの機能を示すフラグを含み、前記pingは、前記クライアントが、利用できない前記クライアントのローカルサイトにある分散サービスに応答して、前記リモートサイトにある前記分散サービスをランダムに選択したことを示し、前記フラグは、2番目に適したサイトを示す指示を受信し、特定された分散サービスに登録する前記クライアントの追加の機能を示し、前記ランダムに選択された分散サービスが、前記pingを受信することに応答して、前記クライアントの登録を試みないようにすることと、
    前記pingを受信する前記ランダムに選択された分散サービスにおいて、前記クライアントと、その他のリモートサイトにあるその他の分散サービスとの間のリンクに対するインデックス数を決定するために利用されるインデックスを含むマッピングテーブルを参照することであって、
    各インデックスは、前記適したリモートサイトへの前記クライアントの物理的な近接、前記クライアントが前記適したリモートサイトに接続するリンクの経済的コスト、前記リンクの信頼性、前記リンクの待ち時間と性能、ユーザの好み、前記リンクのセキュリティ、ネットワーク機器、管理コスト、前記リンクの回線容量、または、前記リンクの競合使用の一つ以上の組合せを利用することによって計算されることと、
    前記pingを受信した前記ランダムに選択された分散サービスが、次いで、最適なインデックス数を有するリンクに基づいて、前記マッピングテーブルから、前記クライアントに対して分散サービスを提供する前記2番目に適したリモートサイトを決定することと、
    前記ランダムに選択された分散サービスが、前記クライアントにメッセージを送信することであって、前記メッセージは、前記クライアントに対して分散サービスを提供する前記2番目に適したリモートサイトについての位置情報及びリンク情報を特定することと
    を含むことを特徴とするコンピュータ記憶媒体。
JP2008543284A 2005-12-02 2006-10-10 分散サービスサイトの登録方法および登録システム Expired - Fee Related JP4801169B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/292,771 2005-12-02
US11/292,771 US7606937B2 (en) 2005-12-02 2005-12-02 Next site for distributed service connections
PCT/US2006/040046 WO2007064415A1 (en) 2005-12-02 2006-10-10 Method and system for registering a distributed service site

Publications (3)

Publication Number Publication Date
JP2009518883A JP2009518883A (ja) 2009-05-07
JP2009518883A5 JP2009518883A5 (ja) 2009-12-03
JP4801169B2 true JP4801169B2 (ja) 2011-10-26

Family

ID=38092556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008543284A Expired - Fee Related JP4801169B2 (ja) 2005-12-02 2006-10-10 分散サービスサイトの登録方法および登録システム

Country Status (10)

Country Link
US (1) US7606937B2 (ja)
EP (1) EP1955181B1 (ja)
JP (1) JP4801169B2 (ja)
KR (1) KR101278744B1 (ja)
CN (1) CN101322114B (ja)
AU (1) AU2006320927B2 (ja)
BR (1) BRPI0617883A8 (ja)
CA (1) CA2624273C (ja)
RU (1) RU2427032C2 (ja)
WO (1) WO2007064415A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805950B1 (en) * 2007-09-12 2014-08-12 Aol Inc. Client web cache
US20100088415A1 (en) * 2008-10-07 2010-04-08 Aaron Archer Method and apparatus for locating facilities
US8875127B2 (en) 2012-10-02 2014-10-28 Nextbit Systems Inc. Operating system customization
US9038060B2 (en) 2012-10-02 2015-05-19 Nextbit Systems Inc. Automatically installing operating system specific to a detected network
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US10268550B2 (en) * 2016-10-10 2019-04-23 Quest Software Inc. Virtualizing a secure active directory environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000500255A (ja) * 1995-09-12 2000-01-11 アルカテル・ユーエスエイ・インコーポレイテッド 多サイトに分散されたオブジェクト管理環境に対するシステム及び方法
EP1014249A1 (en) * 1998-12-23 2000-06-28 Computer Associates Think, Inc. Method and apparatus for automatic user authentication to a plurality of servers through single logon

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483652A (en) * 1994-01-24 1996-01-09 Digital Equipment Corporation Mechanism for locating without search discrete application resources known by common name only in a distributed network computing environment
US6012096A (en) * 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
US20010039587A1 (en) * 1998-10-23 2001-11-08 Stephen Uhler Method and apparatus for accessing devices on a network
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
ATE366437T1 (de) * 1999-08-13 2007-07-15 Sun Microsystems Inc Elegante verteilung des lastausgleichs für anwendungs-server
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US7155723B2 (en) * 2000-07-19 2006-12-26 Akamai Technologies, Inc. Load balancing service
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
US6920498B1 (en) * 2000-08-31 2005-07-19 Cisco Technology, Inc. Phased learning approach to determining closest content serving sites
JP2002132462A (ja) * 2000-10-26 2002-05-10 Fujitsu Ltd 印刷代行サービス方法及びシステム
US7340505B2 (en) * 2001-04-02 2008-03-04 Akamai Technologies, Inc. Content storage and replication in a managed internet content storage environment
US20030009401A1 (en) * 2001-04-27 2003-01-09 Enerwise Global Technologies, Inc. Computerized utility cost estimation method and system
US6950847B2 (en) * 2001-07-12 2005-09-27 Sun Microsystems, Inc. Service provider system for delivering services in a distributed computing environment
US6792421B2 (en) * 2001-08-13 2004-09-14 Genesis Group Inc. System and method for retrieving location-qualified site data
DE60109947T2 (de) 2001-12-21 2006-02-09 Castify Networks S.A., Valbonne Verfahren zur Server-Auswahl in einem Inhaltsauslieferungsnetzwerk
US7113796B2 (en) * 2002-01-18 2006-09-26 Microsoft Corporation Framework and method for QoS-aware resource discovery in mobile ad hoc networks
KR100477653B1 (ko) * 2002-06-22 2005-03-23 삼성전자주식회사 외부망에서의 dns 서버 검색 장치 및 방법
US7970876B2 (en) * 2002-07-23 2011-06-28 Avaya Communication Israel Ltd. Global server load balancer
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
EP1515233A3 (en) * 2003-08-06 2007-03-14 Matsushita Electric Industrial Co., Ltd. Method, server and client for reducing processing time in synchronous communication in a client-server distributed system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000500255A (ja) * 1995-09-12 2000-01-11 アルカテル・ユーエスエイ・インコーポレイテッド 多サイトに分散されたオブジェクト管理環境に対するシステム及び方法
EP1014249A1 (en) * 1998-12-23 2000-06-28 Computer Associates Think, Inc. Method and apparatus for automatic user authentication to a plurality of servers through single logon

Also Published As

Publication number Publication date
AU2006320927B2 (en) 2011-03-17
BRPI0617883A2 (pt) 2011-08-09
RU2008121872A (ru) 2009-12-10
CN101322114B (zh) 2010-05-26
CA2624273A1 (en) 2007-06-07
CN101322114A (zh) 2008-12-10
BRPI0617883A8 (pt) 2016-11-08
US7606937B2 (en) 2009-10-20
EP1955181A1 (en) 2008-08-13
KR20080077966A (ko) 2008-08-26
WO2007064415A1 (en) 2007-06-07
AU2006320927A1 (en) 2007-06-07
CA2624273C (en) 2014-03-11
KR101278744B1 (ko) 2013-06-25
JP2009518883A (ja) 2009-05-07
RU2427032C2 (ru) 2011-08-20
US20070130304A1 (en) 2007-06-07
EP1955181A4 (en) 2014-05-14
EP1955181B1 (en) 2018-11-21

Similar Documents

Publication Publication Date Title
JP5374583B2 (ja) 目的ネットワークに基づくネットワークタスク実行方法及びシステム
US7418486B2 (en) Automatic discovery and configuration of external network devices
US6249814B1 (en) Method and apparatus for identifying devices on a network
JP5378510B2 (ja) 管理システム
CN101232375B (zh) 单点登录系统、信息终端设备、单点登记服务器及方法
US20160080483A1 (en) Method for setting gateway device identity, and management gateway device
JP4801169B2 (ja) 分散サービスサイトの登録方法および登録システム
US6675199B1 (en) Identification of active server cluster controller
CN101540755B (zh) 一种修复数据的方法、系统和装置
CN104052736A (zh) 用于预签名dnssec启用区域至记录集中的系统和方法
US10567492B1 (en) Methods for load balancing in a federated identity environment and devices thereof
CN111327668B (zh) 网络管理方法、装置、设备和存储介质
CN102104483A (zh) 一种基于负载均衡的单点登录方法、系统和负载均衡设备
US20080028034A1 (en) Method for mapping an iscsi target name to a storage resource based on an initiator hardware class identifier
CN105636030A (zh) 分享接入点的方法及装置
JP2006508465A (ja) ファイル共有アプリケーションに対するインデックス・サーバ・サポート
US20080082664A1 (en) Resource selection
US7701876B2 (en) Message transmission method and device in mixture of private network and public network
JP4689541B2 (ja) 情報探索システム、装置、方法及びプログラム
JP3853697B2 (ja) 無線通信システム及び無線管理装置並びに収容装置選定方法及びプログラム
CN105634810B (zh) 一种访问通用即插即用设备的方法和系统、访问设备
CN102148847B (zh) 基于reload的客户端接入对等网络的方法和系统
CN116567550A (zh) 一种漫游环境下的多播查询方法
CN115103004A (zh) 一种会话建立方法、装置、设备及存储介质
CN116800810A (zh) 一种quic握手方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091013

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110304

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110603

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

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

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

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

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4801169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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