(57)【要約】  コンテンツプロバイダ（１０６）は、第１データセンタ（１０４−１）に対してコンテンツを提供し、次いで、この第１データセンタがコンテンツをクライアント（１０２）に対して提供する。クライアント（１０２）は、コンテンツプロバイダ（１０６）と第１データセンタ（１０４−１）間における障害が発生した可能性があると判定する。障害が発生した可能性があると判定した際に、クライアント（１０２）は、第２データセンタ（１０４−２）に対して接続し、第２データセンタ（１０４−２）を通じてコンテンツプロバイダ（１０６）からコンテンツを受信可能である。従って、クライアント（１０２）において、障害が検出されると共に、自動障害回復を提供可能である。
2008510436.tif 000002
【特許請求の範囲】
【請求項１】
障害回復を提供する能力を有するクライアントであって、
前記クライアントにおいて第１データセンタからアプリケーションを受信する能力を有するロジックと、
前記第１データセンタからコンテンツを受信する能力を有するロジックと、
コンテンツを前記第１データセンタに提供する能力を有しているコンテンツプロバイダと、前記第１データセンタとの間において、障害が発生したことを前記クライアントにおいて判定する能力を有するロジックと、
を有しており、
前記アプリケーションは、前記障害が発生したという判定に応答し、前記クライアントにおいて、第２データセンタに自動的に接続して前記第２データセンタからコンテンツを受信する能力を有する、クライアント。
【請求項２】
状態メッセージをセットアップする能力を有するロジックを更に有しており、前記状態メッセージが、前記第１データセンタを通じて、前記コンテンツプロバイダから前記クライアントにおいて受信され、前記状態メッセージは、前記障害を判定するべく使用される請求項１記載のクライアント。
【請求項３】
前記障害は、前記状態メッセージが所定の期間にわたって受信されない際に検出される請求項２記載のクライアント。
【請求項４】
第１識別子を使用して情報に対する要求を送信する能力を有するロジックであって、前記要求が、前記第１データセンタによってサービスされる、ロジックと、
複数のＩＰアドレスを受信する能力を有するロジックであって、前記ＩＰアドレスが、グローバル及び特定ＩＰアドレスを含んでおり、前記グローバルＩＰアドレスは、前記第１識別子に対応し、前記特定ＩＰアドレスは、第２識別子に対応しており、前記アプリケーションは、前記障害が判定された際に、前記第２データセンタの特定ＩＰアドレスを使用して前記第２データセンタに対して自動的に接続する能力を有する、ロジックと、
を更に有する請求項１記載のクライアント。
【請求項５】
前記アプリケーションは、無署名のアプリケーションである請求項４記載のクライアント。
【請求項６】
障害回復のシステムであって、
コンテンツプロバイダと第１データセンタ間において発生した障害を判定する能力を有し、且つ、第２データセンタに対して自動的に接続する能力を有するアプリケーションを有する前記第１データセンタを有しており、
前記第１データセンタが、
クライアントから接続要求を受信する段階と、
前記要求に応答し、前記アプリケーションを前記クライアントに対して送信する段階と、
前記コンテンツプロバイダからコンテンツを受信する段階と、
前記受信したコンテンツを前記クライアントに対して送信する段階と、
を実行する能力を有する、システム。
【請求項７】
前記アプリケーションは、前記コンテンツプロバイダ及び第１データセンタ間において発生した前記障害を前記クライアントにおいて判定する能力を有し、且つ、前記発生した障害に応答し、前記クライアントにおいて、前記第２データセンタに対して自動的に接続し、前記第２データセンタからコンテンツを受信する能力を有する請求項６記載のシステム。
【請求項８】
前記アプリケーションは、状態メッセージをセットアップする能力を有しており、前記状態メッセージは、前記データセンタを通じて、前記コンテンツプロバイダから前記クライアントにおいて受信され、前記状態メッセージは、前記障害を判定するべく使用される請求項６記載のシステム。
【請求項９】
前記障害は、前記状態メッセージが所定の期間にわたって受信されない際に検出される請求項８記載のシステム。
【請求項１０】
前記第１データセンタは、複数のＩＰアドレスを前記クライアントに対して送信する能力を有しており、前記ＩＰアドレスは、グローバル及び特定ＩＰアドレスを含んでおり、前記グローパルＩＰアドレスは、第１識別子に対応し、前記特定ＩＰアドレスは、第２識別子に対応しており、前記アプリケーションは、前記障害が判定された際に、前記第２データセンタの特定ＩＰアドレスを使用して前記第２データセンタに対して自動的に接続する能力を有する請求項６記載のシステム。
【請求項１１】
前記第１識別子は、第１ＵＲＬを有し、前記第２識別子は、第２ＵＲＬを有する請求項１０記載のシステム。
【請求項１２】
前記アプリケーションは、無署名のアプリケーションである請求項６記載のシステム。
【請求項１３】
障害回復の方法であって、
第１データセンタにおいてクライアントから接続要求を受信する段階と、
前記要求に応答し、前記クライアントに対してアプリケーションを送信する段階と、
前記第１データセンタにおいてコンテンツプロバイダからコンテンツを受信する段階と、
前記コンテンツプロバイダからの前記コンテンツを前記クライアントに対して送信する段階と、
を有し、
前記アプリケーションは、前記コンテンツプロバイダ及び第１データセンタ間において発生した障害を前記クライアントにおいて判定し、且つ、前記発生した障害の判定に応答し、前記クライアントにおいて、第２データセンタに対して自動的に接続し、前記第２データセンタからコンテンツを受信する能力を有する、方法。
【請求項１４】
前記アプリケーションは、状態メッセージをセットアップする能力を有しており、前記状態メッセージは、前記データセンタを通じて、前記コンテンツプロバイダから前記クライアントにおいて受信され、前記状態メッセージは、前記障害を判定するべく使用される請求項１３記載の方法。
【請求項１５】
前記障害は、前記状態メッセージが所定の期間にわたって受信されない際に検出される請求項１４記載の方法。
【請求項１６】
複数のＩＰアドレスを前記クライアントに対して送信する段階であって、前記ＩＰアドレスは、グローバル及び特定ＩＰアドレスを含んでおり、前記グローバルＩＰアドレスは、第１識別子に対応し、前記特定ＩＰアドレスは、第２識別子に対応しており、前記アプリケーションは、前記障害が判定された際に前記第２データセンタの特定ＩＰアドレスを使用して前記第２データセンタに対して自動的に接続する能力を有する、段階を更に有する請求項１３記載の方法。
【請求項１７】
前記アプリケーションは、無署名のアプリケーションである請求項１６記載の方法。
【請求項１８】
前記第１識別子は、第１ＵＲＬを有し、前記第２識別子は、第２ＵＲＬを有する請求項１６記載の方法。
【請求項１９】
障害回復を提供するシステムであって、
第１識別子に対する要求を処理する能力を有し、且つ、固有の第２識別子に対する要求を処理する能力を有する第１データセンタと、
前記第１識別子に対する要求を処理する能力を有し、且つ、固有の第３識別子に対する要求を処理する能力を有する第２データセンタと、
を有しており、
前記第１データセンタ又は第２データセンタは、前記第１識別子を使用した情報に対するクライアントからの要求を処理し、前記第１データセンタ又は第２データセンタは、アプリケーションを前記クライアントに対して送信し、
前記アプリケーションは、コンテンツプロバイダと前記要求を処理した前記第１又は第２データセンタ間において障害が発生したことを判定し、前記障害が判定された際に、前記第２識別子又は第３識別子を使用することにより、前記クライアントにおいて、前記要求を処理しなかった前記第１又は第２データセンタに対して自動的に接続する能力を有する、システム。
【請求項２０】
前記第１データセンタは、前記第１識別子と関連付けられた１つ又は複数のグローバルＩＰアドレスの第１の組と前記第２識別子と関連付けられた１つ又は複数の特定ＩＰアドレスの第１の組に関連付けれられており、前記第２データセンタは、前記第１識別子と関連付けられた１つ又は複数のグローバルＩＰアドレスの第２の組と前記第３識別子と関連付けられた１つ又は複数の特定ＩＰアドレスの第２の組に関連付けられている請求項１９記載のシステム。
【請求項２１】
前記第１データセンタが前記要求を処理する場合には、前記アプリケーションと共に前記特定ＩＰアドレスの第２の組を前記クライアントに対して送信し、前記第２データセンタが前記要求を処理する場合には、前記アプリケーションと共に前記特定ＩＰアドレスの第１の組を前記クライアントに対して送信する請求項１９記載のシステム。
【請求項２２】
第１データセンタからの障害回復を提供する能力を有するシステムであって、
前記第１データセンタからクライアントに対してダウンロードされている、該クライアントのアプリケーションから、接続要求を受信する段階と、
前記アプリケーションが第２データセンタに対して接続することを許容する段階と、
前記コンテンツプロバイダからコンテンツを受信する段階と、
前記コンテンツプロバイダから受信した前記コンテンツを前記クライアントに対して送信する段階と、
を実行する能力を有する前記第２データセンタを有するシステム。
【請求項２３】
前記第１データセンタは、第１識別子と関連付けられた１つ又は複数のグローバルＩＰアドレスの第１の組と第２識別子と関連付けられた１つ又は複数の特定ＩＰアドレスの第１の組に関連付けられており、前記第２データセンタは、前記第１識別子と関連付けられた１つ又は複数のグローバルＩＰアドレスの第２の組と第３識別子と関連付けられた１つ又は複数の特定ＩＰアドレスの第２の組に関連付けられている請求項２２記載のシステム。
【請求項２４】
前記クライアントには、前記第１データセンタ用のアプリケーションと共に、前記１つ又は複数のグローバルＩＰアドレスの第１の組と前記特定ＩＰアドレスの第２の組が送信される請求項２３記載のシステム。
【請求項２５】
前記接続要求は、前記第２データセンタと関連付けられている前記特定ＩＰアドレスの第２の組の中の１つを含む請求項２４記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願に対する相互参照）
本出願は、「ＴＥＣＨＮＩＱＵＥＳ  ＦＯＲ  ＤＥＬＩＶＥＲＩＮＧ  ＰＥＲＳＯＮＡＬＩＺＥＤ  ＣＯＮＴＥNＴ  ＷＩＴＨ  Ａ  ＲＥＡＬ−ＴＩＭＥ  ＲＯＵＴＩＮＧ  ＮＥＴＷＯＲＫ，  ＭＯＤＵＬＡＲ  ＥＶＥＮＴ−ＤＲＩＶＥＮ  ＡＲＣＨＩＴＥＣＴＵＲＥ，  ＭＯＤＵＬＡＲ  ＥＶＥＮＴ−ＤＲＩＶＥＮ  ＰＲＯＣＥＳＳＩＮＧ  ＡＮＤ  ＶＩＥＷＥＲ  ＦＡＩＬＯＶＥＲ」という名称の２００４年８月１７日付けの同時係属中の米国仮特許出願第６０／６０２，５３９号に対する優先権を主張するものであり、この内容は、本引用により、そのすべてが本明細書に包含されているかのように、あらゆる目的に本明細書に包含される。
【０００２】
本開示の実施例は、一般に、通信と、上流の障害を検出して障害回復を提供する技法と、に関するものである。
【背景技術】
【０００３】
企業は、コンテンツプロバイダからのコンテンツをクライアントに対してルーティングするべく、データセンタを具備可能である。複数のデータセンタを使用することにより、コンテンツプロバイダから受信したコンテンツをクライアントに対して別個にルーティング可能である。
【０００４】
スポーツの成績、株式市況、ニュースのテレビ放送などを、データセンタを通じて、コンテンツプロバイダからクライアントに対してルーティング可能である。クライアントが、なんらかのコンテンツを自身に対してルーティングすることを所望する際には、これらの企業のデータセンタの中の１つに接続すればよい。
【０００５】
コンテンツを供給する際には、クライアントとデータセンタ間又はコンテンツプロバイダとデータセンタ間において障害が発生する可能性がある。クライアントは、データセンタに接続されているため、クライアントとデータセンタ間において障害が発生しているかどうかを検出することは可能であるが、コンテンツプロバイダとデータセンタ間における接続に障害が発生しているかどうかをクライアントが検出できない場合がある。この理由は、コンテンツプロバイダとデータセンタ間における接続が、クライアントから独立しているためである。
【発明の開示】
【０００６】
本明細書の残りの部分と添付の図面を参照することにより、本明細書に開示されている主題の特性及び利点について更に理解することができよう。
【発明を実施するための最良の形態】
【０００７】
図１は、一実施例による上流の障害検出及び障害回復を提供するシステム１００を示している。図示のように、システム１００は、クライアント１０２、１つ又は複数のデータセンタ１０４、及びコンテンツプロバイダ１０６を包含可能である。尚、システム１００には、複数のクライアント１０２、２つを上回る数のデータセンタ１０４、及び複数のコンテンツプロバイダ１０６など、任意の数の前述のシステムを包含可能であることを理解されたい。
【０００８】
クライアント１０２は、データセンタ１０４からコンテンツを受信する能力を有する任意のエンティティであってよい。クライアント１０２は、演算装置、モバイル装置、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｔａｎｔ）、携帯電話機、Ｂｌａｃｋｂｅｒｒｙ装置、Ｇｏｏｄｌｉｎｋ装置、モバイル電子メール装置、パーソナルコンピュータ、ラップトップコンピュータ、テレビ、ポケットＰＣ上などにおいて稼動するインターフェイスを包含可能である。一実施例においては、このインターフェイスは、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（商標）、Ｎｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（商標）、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ（商標）などのウェブブラウザであってよい。ウェブブラウザは、ウェブページをダウンロードする能力を有することができる。これらのウェブブラウザは、コンテンツプロバイダ１０６から受信可能な情報又はコンテンツを表示する。例えば、ＣＮＮなどのコンテンツプロバイダがウェブページを提供可能である。ウェブページは、ｗｗｗ．ＣＮＮ．ｃｏｍなどのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）又はその他の識別子を使用してダウンロード可能である。尚、ウェブページについて説明しているが、スプレッドシート、ワープロプログラム、電子メールプログラムなどのその他のソフトウェアアプリケーションをクライアント１０２において使用することにより、コンテンツを受信することも可能であることを理解されたい。
【０００９】
データセンタ１０４は、コンテンツをクライアント１０２に提供可能である。コンテンツは、オーディオ、ビデオ、メタデータ、ウェブページ、スポーツの成績などであってよい。一実施例においては、データセンタ１０４は、ルーティングネットワークを包含可能であり、このルーティングネットワークは、コンテンツプロバイダ１０６からコンテンツを受信すると共に、そのコンテンツをクライアント１０２に対して転送する能力を有することができる。ルーティングネットワークの例は、「Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｍｅｓｓａｇｉｎｇ  Ｕｓｉｎｇ  ａ  Ｄｙｎａｍｉｃ  Ｒｏｕｔｉｎｇ  Ｎｅｔｗｏｒｋ」という名称の２００１年１２月１４日に出願された米国特許出願第１０／０１７，１８２号、「Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｍｅｓｓａｇｉｎｇ  Ｕｓｉｎｇ  ａ  Ｎｏｄｅ  Ｓｐｅｃｉａｌｉｚａｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｉｎ  ｔｈｅ  Ｄｙｎａｍｉｃ  Ｒｏｕｔｉｎｇ  Ｎｅｔｗｏｒｋ」という名称の２００２年３月２１日付けで出願された米国特許出願第１０／１０５、１０８号、及び「Ｓｔｏｒｉｎｇ  Ｓｔａｔｅ  Ｉｎ  ａ  Ｄｙｎａｍｉｃ  Ｃｏｎｔｅｎｔ  Ｒｏｕｔｉｎｇ  Ｎｅｔｗｏｒｋ」という名称の２００２年８月５日付けで出願された米国特許出願第１０／２１３，２６９号に記述されており、これらのすべての内容は、本引用により、あらゆる目的にそのすべてが本明細書に包含される。
【００１０】
コンテンツプロバイダ１０６は、コンテンツを供給する任意のシステムであってよい。例えば、コンテンツプロバイダ１０６は、ニュースプロバイダ、スポーツプロバイダ、ケーブル番組プロバイダ、電話会社、映画をオンデマンドで提供するシステム、音楽プロバイダなどと関連したシステムであってよい。一実施例においては、コンテンツプロバイダ１０６は、ライブコンテンツを提供している。ライブコンテンツは、時間に伴って動的に変化可能なコンテンツであってよい。例えば、スポーツの成績は、ゲームの進行状況に伴って更新可能である。又、ニュースは、オンライン配信されるのに伴って提供可能であり、或いは、株式市況をリアルタイムで提供することも可能である。
【００１１】
以下、一実施例による障害検出及び障害回復法に加えて、システム１００を通じたデータフローについて説明する。クライアント１０２は、コンテンツプロバイダ１０６のコンテンツ用の接続要求を実行可能である。例えば、クライアント１０２は、ＵＲＬを使用することにより、コンテンツプロバイダ１０６のウェブページを要求可能である。データセンタ１０４は、この要求を受信し、クライアント１０２によるコンテンツの受信を実現可能である。
【００１２】
データセンタ１０４−１（又は、その他の実施例においては、データセンタ１０４−２）は、コンテンツプロバイダ１０６からのコンテンツをクライアント１０２に対して提供するべく、クライアント１０２との接続をセットアップ可能である。一実施例においては、クライアント１０２において、ウェブページをダウンロード可能であり、コンテンツを表示可能である。ウェブページは、ライブコンテンツを包含可能である。一実施例においては、ライブコンテンツは、動的に更新可能である。この場合には、コンテンツプロバイダ１０６からデータセンタ１０４−１にコンテンツを送信可能である。次いで、データセンタ１０４−１が、コンテンツをクライアント１０２に対して送信し、ここで、コンテンツをウェブページ上において動的に更新可能である。
【００１３】
一実施例においては、クライアント１０２は、コンテンツプロバイダ１０６とデータセンタ１０４−１間における接続に発生した障害を判定可能である。障害は、いくつかの理由に基づいて判定可能である。例えば、クライアント１０２においては、データをコンテンツプロバイダ１０６から所定の間隔で受信する必要がある。クライアント１０２においてデータが受信されない場合には、障害であると判定可能である。データの受信不能状態は、ネットワーク障害や伝送におけるデータの消失など、いくつかの理由によって発生する。
【００１４】
状態メッセージをセットアップし、この状態メッセージをクライアント１０２によって所定の間隔で監視可能である。状態メッセージは、コンテンツプロバイダ１０６から既知の間隔で送信される任意のメッセージであってよい。例えば、状態メッセージは、ウェブページ上に表示される任意のライブオブジェクトであってよい。この状態メッセージが、所定の間隔において受信されない場合に、クライアント１０２は、コンテンツプロバイダ１０６とデータセンタ１０４−１間において上流の障害が発生した可能性があると判定可能である。一実施例においては、状態メッセージが受信されない際に障害であると判定可能である。障害は発生していないが、メッセージが消失しているという状況も発生可能であろう。従って、クライアント１０２は、障害が発生したと判定し、消失したメッセージについて補償する前に、所定の期間にわたって待機可能である。この期間は、数秒又は数分などであってよい。尚、状態メッセージの使用について説明しているが、障害を判定するその他の方法も想起可能であることを理解されたい。
【００１５】
障害であると判定された際に、クライアント１０２は、データセンタ１０４−２などの別のデータセンタに対する接続を自動的に試行可能である。データセンタ１０４−２も、コンテンツプロバイダ１０６からデータ供給を受信可能であるが、これは、別のネットワーク又はルートを通じて受信可能である。例えば、データセンタ１０４−２は、ニューヨークのデータセンタであってよく、データセンタ１０４−１は、サンフランシスコのデータセンタであってよい。
【００１６】
クライアント１０２は、新しいデータ供給を受信するベく、新しい接続要求をデータセンタ１０４−２に対して送信可能である。従来であれば、クライアント１０２は、ユーザーの介入を必要とする新しい要求を起動しなければならなかったであろう。例えば、ユーザーは、コンテンツプロバイダ１０６のＵＲＬをキー入力することにより、そのＵＲＬに対する要求を送信するか、或いは、インターフェイス上のリフレッシュボタンを選択するなどのその他のアクションを実行しなければならないであろう。後述するように、この接続をセットアップするのに使用可能なアプリケーションをサーバーからダウンロード可能である。インターフェイスのセキュリティに関する制約により、１つのサーバーからアプリケーションをダウンロードし、別のサーバー（データセンタ）に対して接続できない場合がある。例えば、アプリケーションが、無署名であり、インターフェイス内において稼動することになる場合には、そのインターフェイスがオープンできるのは、そのアプリケーションがダウンロードされたものと同一のＩＰアドレスを有するサーバーに対する接続のみとなろう。この結果、新しいデータセンタに接続するには、新しい要求を実行しなければならないであろう。しかしながら、一実施例においては、アプリケーションは、ユーザーの介入を伴うことなしに、シームレスにデータセンタ１０４−２に対して自動的に接続可能である。
【００１７】
いくつかの実施例においては、クライアント１０２は、コンテンツプロバイダ１０６とデータセンタ１０４間において障害が発生したと判定された際に、新しいデータセンタ１０４に接続可能である。ライブ情報が受信されている際に望ましくないデータ供給の中断を回避可能である。又、受信している情報が機密情報である場合には、クライアント１０２は、その情報のいずれの部分をも消失したくないであろう。このため、一実施例においては、シームレスの障害回復を提供する段階に加えて、コンテンツプロバイダ１０６とデータセンタ１０４間における上流の障害が発生したと判定する段階を実行可能である。
【００１８】
図２は、図１のシステム１００の一実施例を示している。クライアント１０２は、ＵＲＬなどの識別子に対する第１接続要求を送信可能である。このＵＲＬ要求は、コンテンツプロバイダ１０６からのコンテンツに対するものであってよい。この要求の送信に応答し、コンテンツプロバイダ１０６のコンテンツをルーティングする能力を有するデータセンタ１０４の中の１つのものから、文書、ウェブページ、ソフトウェアアプリケーションなどの情報を受信可能である。一実施例においては、この要求を最初に処理することになるデータセンタを判定するべく、アルゴリズムを使用可能である。例えば、クライアント１０２がサンフランシスコに最も近い場合には、この要求に対してサービスするべく、ＳＦデータセンタ１０４−１を選択可能である。以下の説明においては、要求を処理するべく、ＳＦデータセンタ１０４−１を選択可能であると仮定しよう。
【００１９】
要求に応答し、クライアント１０２において情報をダウンロード可能である。この情報には、アプリケーションをダウンロードする能力を有するアプリケーションダウンロード情報（例えば、アプレットタグ）が含まれている。このアプリケーションは、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔアプレット、ＶＢｓｃｒｉｐｔ、又はその他のスクリプト言語アプリケーション、或いは、ソフトウェアコード片であってよい。一実施例においては、この情報は、アプリケーションの名称、ＵＲＬなどの識別子、及びアプリケーションをダウンロードするのに必要な任意のパラメータを包含可能である。
【００２０】
次いで、クライアント１０２は、ＵＲＬなどのアプリケーションダウンロード情報を使用することにより、アプリケーションをダウンロードするべく試みる。アプリケーションのダウンロードを試みる際には、クライアント１０２は、そのＵＲＬと関連付けられているサーバーのＩＰアドレスを解明しなければならない。例えば、ＵＲＬが、ｈｔｔｐｓ：／／ａｐｐｓｅｒｖｅｒ．ｂａｎｇｎｅｔｗｏｒｋｓ．ｎｅｔ／ｆｉｌｅｎａｍｅというものである場合には、このサーバーを「ａｐｐｓｅｒｖｅｒ」と呼称可能である。従って、クライアント１０２は、ａｐｐｓｅｒｖｅｒのＩＰアドレスを解明しなければならない。
【００２１】
単一のＵＲＬは、１０個などの所定の数のＩＰアドレスに変換可能である。尚、ＩＰアドレスについて説明しているが、ＩＰアドレス以外のアドレスを使用することも可能であることを理解されたい。通常のケースにおいては、ターゲットＵＲＬを管理している企業が、ＤＳＮ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｅｒ）を提供しており、このＤＳＮが、特定のＵＲＬについて返送するべく複数のＩＰアドレスを提供する。この複数のＩＰアドレスは、そのＵＲＬと関連付けられている文書をサービス可能なサーバーに対応している。クライアント１０２は、返された第１のＩＰアドレスに接続するべく試み、次いで、この第１のものが失敗した場合に、第２のＩＰアドレスを試みることになる（以下、同様）。返送可能なＩＰアドレスの順序は、クライアント１０２に対して送信する際に変更可能である。１つの技法は、連続した要求に基づいて、ラウンドロビン方式によってアドレスを回転させるというものであろう。別の技法は、スマートなＩＰアドレスの順序付けを使用してＩＰアドレスを順序付けすることにより、クライアント１０２に最も近いサーバーをまず見出すことができるようするというものであろう。更なる技法は、プラグイン機能を提供するというものであってよい（そのＵＲＬを管理しているコンテンツプロバイダ１０６が、ＵＲＬを要求者に対して送信するモジュールを提供する）。
【００２２】
一実施例においては、ＩＰアドレスを１つ又は複数の（例えば、グローバル及び／又は特定の）グループとして返送可能である。グローバルＩＰアドレスは、そのアプリケーションによって元々要求されたＵＲＬ（ｈｔｔｐｓ／／：ａｐｐｓｅｒｖｅｒ．ｂａｎｇｎｅｔｗｏｒｋｓ．ｎｅｔ）に対応可能であり、これは、ＳＦデータセンタ１０４−１又はＮＹデータセンタ１０４−２内に位置しているサーバーに対応可能である。特定ＩＰアドレスは、ＳＦ又はＮＹデータセンタのＵＲＬ、例えば、ｈｔｔｐｓ：／／ｓｆａｐｐｓｅｒｖｅｒ．ｂａｎｇｎｅｔｗｏｒｋｓ．ｎｅｔ又はｈｔｔｐｓ：／／ｎｙａｐｐｓｅｒｖｅｒ．ｂａｎｇｎｅｔｗｏｒｋｓ．ｎｅｔに対応可能である。従って、特定ＩＰアドレスは、グローバルＩＰアドレスに対応するＵＲＬとは異なるＵＲＬに対応可能である。
【００２３】
ＩＰアドレスは、グローバルＩＰアドレス及び／又は特定ＩＰアドレスを含むリストとして返送可能である。一実施例においては、ＩＰアドレスが、グローバルＩＰアドレスの場合には、ＩＰ1-nと表記可能であり、特定ＩＰアドレスの場合には、ＩＰa-zと表記可能である。従って、ｈｔｔｐｓ：／／ａｐｐｓｅｒｖｅｒ．ｂａｎｇｎｅｔｗｏｒｋｓ．ｎｅｔというＵＲＬのＩＰアドレス変換に応答して送信されるＩＰアドレスリストは、ＩＰ1、ＩＰ2、ＩＰ3、．．．ＩＰ6｜ＩＰa、ＩＰb、．．．というものであってよい。
【００２４】
一実施例においては、固定した順序でＩＰアドレスリストを返送可能である。但し、ＩＰアドレスの順序は、いずれのグループにおいても変更可能である。一実施例においては、グローバルＩＰアドレスを最初に配置可能である。この理由は、サーバーに接続するべく最初の接続を実行する際には、アプリケーションは、リスト内の最初のＩＰアドレスを試みるためである。これらのＩＰアドレスのいくつかが機能しない場合には、順番に連続してＩＰアドレスを試行可能である。特定ＩＰアドレスを末尾に提供することにより、これらが試行される前に、グローバルＩＰアドレスの中の１つに対して接続が実行されることになろう。
【００２５】
図２に示されているように、特定ＩＰアドレスは、異なるサーバーに対応可能であり、これらのサーバーは、グローバルなａｐｐｓｅｒｖｅｒ２０２又は特定のａｐｐｓｅｒｖｅｒ２０４であってよい。グローバルなａｐｐｓｅｒｖｅｒには、ａｐｐｓｅｒｖｅｒ２０２−１及びａｐｐｓｅｒｖｅｒ２０２−２といラベルを付与可能であり、特定のａｐｐｓｅｒｖｅｒには、ｓｆａｐｐｓｅｒｖｅｒ２０４−１及びｎｙａｐｐｓｅｒｖｅｒ２０４−２というラベルを付加可能である。ａｐｐｓｅｒｖｅｒ２０２−１及び２０２−２は、グローバルなＵＲＬに対応しており、ＳＦデータセンタ１０４−１及びＮＹデータセンタ１０４−２の両方に存在している。又、ｓｆａｐｐｓｅｒｖｅｒ２０４−１は、ＳＦデータセンタ１０４−１に固有のものであってよく、ＳＦデータセンタＵＲＬに対応可能である。ｎｙａｐｐｓｅｒｖｅｒ２０４−２は、ＮＹデータセンタ１０４−２と関連付けられており、ＮＹデータセンタのＵＲＬに対応可能である。
【００２６】
様々なＩＰアドレスを前述のグローバルなａｐｐｓｅｒｖｅｒ２０２及び特定のａｐｐｓｅｒｖｅｒ２０４と関連付け可能である。これらのＩＰアドレスは、それぞれのデータセンタ１０４と関連付けられている異なるサーバーに対応可能である。要求されるＩＰアドレスに応じて、別のサーバーを選択することにより、コンテンツをクライアント１０２に対してサービス可能である。図示のように、ＳＦデータセンタ１０４−１に存在しているａｐｐｓｅｒｖｅｒは、ＩＰ1、ＩＰ3、ＩＰ5などのＩＰアドレスを包含可能であり、ＮＹデータセンタ１０４−２に存在しているａｐｐｓｅｒｖｅｒは、ＩＰ2、ＩＰ4、ＩＰ6などのＩＰアドレスを包含可能である。従って、様々なグローバルＩＰアドレスをＳＦデータセンタ１０４−１及びＮＹデータセンタ１０４−２内の様々なサーバーと関連付け可能である。ｓｆａｐｐｓｅｒｖｅｒ２０４−１及びｎｙａｐｐｓｅｒｖｅｒ２０４−２も、ＳＦデータセンタ１０４−１の場合には、ＩＰSFA、ＩＰSFBなど、そして、ＮＹデータセンタ１０４−２の場合には、ＩＰNYA、ＩＰNYBなどのラベルが付与された様々なＩＰアドレスと関連付け可能である。
【００２７】
グローバルＩＰアドレスの中の１つを使用すると共に、受信した文書内のアプリケーションダウンロード情報を使用することにより、ｈｔｔｐｓ：／／ａｐｐｓｅｒｖｅｒ．ｂａｎｇｎｅｔｗｏｒｋｓ．ｎｅｔというグローバルなＵＲＬからアプリケーションをダウンロード可能である。クライアント１０２は、リスト内において最初に返送されているＩＰアドレスを使用することにより、アプリケーションを要求する段階を開始可能である。従って、グローバルＩＰアドレスがリストの最初に位置しているため、アプリケーションは、グローバルＩＰアドレスの中の１つからダウンロードされることが予想され、グローバルＩＰアドレスの中の１つに対応しているサーバーが要求を受信することになる。これは、ＳＦデータセンタ１０４−１又はＮＹデータセンタ１０４−２内のａｐｐｓｅｒｖｅｒであってよい。
【００２８】
一実施例においては、安全な接続を提供するべく、サーバーがロジックを含んでおり、このロジックは、グローバルＩＰアドレスの中の１つを使用したＵＲＬ要求に応答し、自身を「ａｐｐｓｅｒｖｅｒ」として識別する証明書を使用している。この結果、安全な接続が実現される。次いで、アプリケーションをサーバーからクライアント１０２にダウンロード可能である。以下の説明においては、要求内に使用されているグローバルＩＰアドレスが、ａｐｐｓｅｒｖｅｒ２０２−１の中のサーバーに対応していると仮定しよう。
【００２９】
一実施例においては、ダウンロード可能なアプリケーションは、無署名のアプリケーションである。無署名のアプリケーションは、ユーザーから見えなく、通常、無署名のアプリケーションを実行するには、クライアント１０２の許可を求める必要がない。例えば、署名を有するアプリケーションを使用する場合には、ブラウザにより、「このアプリケーションを信頼しますか？」とユーザーに確認するダイアログボックスがポップアップされることになる。この結果、ユーザーは、クリックによって承諾する（又は、承諾しない）必要がある。この結果、ユーザーが混乱する可能性があり、従って、無署名のアプリケーションを使用可能であるが、署名を有するアプリケーションを使用することも可能であることを理解されたい。
【００３０】
次いで、アプリケーションは、ＳＦデータセンタ１０４−１を通じてコンテンツプロバイダ１０６からコンテンツを受信するべく、選択されたサーバー２０２−１に対する接続を生成可能である。この接続を提供するべく、アプリケーションは、ＩＰアドレスをデータセンタのＵＲＬに変換するために逆ルックアップを実行可能である。これは、接続の要求はＩＰアドレスと関連付け可能なＵＲＬを使用して実行する必要があると標準的なプロトコルに規定されているために実行されるものである。
【００３１】
一実施例においては、クライアント１０２は、コンテンツをクライアント１０２に対してサービスするのに使用可能なオブジェクトＩＤを登録している。この結果、ＳＦデータセンタ１０４−１を通じて、コンテンツをコンテンツプロバイダ１０６からクライアント１０２に対してサービス可能である。一実施例においては、コンテンツプロバイダ１０６は、これらのＩＤ用のコンテンツを提供可能である。従って、ＳＦデータセンタ１０４−１は、クライアント１０２が登録したＩＤを判定可能であり、且つ、これらのＩＤ用のコンテンツをクライアント１０２に提供可能である。
【００３２】
ＩＤを登録する際に、クライアント１０２は、状態メッセージをセットアップ可能である。状態メッセージは、継続的な間隔でコンテンツプロバイダ１０６からクライアント１０２に送信可能な任意のメッセージであってよい。一実施例においては、状態メッセージとして使用するＩＤを登録の際に規定可能である。クライアント１０２は、コンテンツがコンテンツプロバイダ１０６から所定の間隔でサービスされることになるＩＤを選択する。例えば、あるＩＤ用のコンテンツが６０秒の間隔でサービスされることになる場合には、クライアント１０２は、このＩＤを状態メッセージとして選択可能である。即ち、あるＩＤ用の株式市況が６０秒ごとに更新されることになる場合には、この株式市況用のＩＤを状態メッセージとして使用可能である。十分に短い間隔で更新されるＩＤが存在しない場合には、状態メッセージ用にＩＤを生成可能である。そして、このＩＤを任意の種類のデータ（例えば、ダミーデータ）により、選択された間隔で更新することになる。
【００３３】
コンテンツプロバイダ１０６は、状態メッセージを提供する能力を有することができる。一実施例においては、コンテンツプロバイダ１０６は、状態メッセージの送信を別の供給源や第三者などの任意のエンティティに委任可能である。又、状態メッセージの監視は、クライアント１０２においてセットアップされるものとして説明されているが、この監視機能を、第三者やＳＦデータセンタ１０４−１などのその他の場所に配置することも可能であることを理解されたい。
【００３４】
次いで、クライアント１０２は、状態メッセージを監視し、そのＩＤの所定の間隔でコンテンツを受信できるかどうかを確認する。コンテンツが受信されない場合には、クライアント１０２は、コンテンツプロバイダ１０６とＳＦデータセンタ１０４−１の間に障害が発生したものと判定可能である。一実施例においては、クライアント１０２は、所定の条件又は規則に基づいて、障害が発生したことを判定可能である。例えば、データが、２つ又は３つの間隔などの所定数の間隔にわたって受信されない場合に、障害であると判定可能である。
【００３５】
クライアント１０２におけるアプリケーションは、障害であると判定された際に、コンテンツプロバイダ１０６からコンテンツを受信するべく、別のデータセンタ１０４に接続する能力を有することができる。この結果、クライアント１０２のダウンタイムが除去される。この切り換えは、クライアント１０２のユーザーにとってシームレスにすることができる。
【００３６】
無署名のアプリケーション（例えば、Ｊａｖａ（登録商標）アプレット）は、そのアプリケーションがダウンロードされたサーバーと同一のＩＰアドレスを具備したサーバーに対する接続のみをオープンできるように、インターフェイスにダウンロードし、このインターフェイス内において実行可能である。この制約は、アプリケーションが、インターネットなどのネットワーク上においてすべてのデータを送信してしまうことを防止するのに適当であろう。又、安全な接続を使用することにより、物事を複雑にすることができる。本アプリケーションは、その他の者によるコンテンツ更新の妨害を防止するべく、安全な接続を使用可能である。安全な接続は、証明書の交換を使用することにより、セットアップ可能である。それぞれの証明書は、その証明書を送信したサーバーのＵＲＬを明示的に識別するテキストフィールドを含んでいる。証明書のＵＲＬが、その証明書が取得されたサーバーに関連付けられている実際のＵＲＬとマッチングしない場合には、結果的にエラーとなる。これは、ハイレベルにおいて発生するものであり、クライアント１０２上において稼動しているアプリケーションによってこれを変更することはできない。従って、別のＵＲＬからの証明書がアプリケーションに対して送信された場合には、結果的にエラーとなる。
【００３７】
前述のように、ＤＮＳ変換がクライアント１０２によって最初に実行された際に、グローバルＩＰアドレス及び特定ＩＰアドレスを返送可能である。アプリケーションは、障害であると判定された場合に、特定ＩＰアドレスの中の１つに対して接続する能力を有することができる。上述のケースにおいては、ＤＮＳ変換において、ＩＰNYA、ＩＰNYB、．．．、ＩＰNYZというＩＰアドレスが特定ＩＰアドレスとして返されている。
【００３８】
アプリケーションは、特定ＩＰアドレスの中の第１のものに対して接続するべく試行可能である。このプロセスにおいては、ＩＰアドレスをそのＩＰアドレスに対応した名称に変換可能である。例えば、ＩＰNYAというＩＰアドレスは、ｈｔｔｐ：／／ｎｙａｐｐｓｅｒｖｅｒ．ｂａｎｇｎｅｔｗｏｒｋｓ．ｎｅｔという特定のＵＲＬに変換される。この特定ＩＰアドレスは、そのアプリケーションがダウンロードされたグローバルＩＰアドレスとは異なるものであってよい。次いで、アプリケーションは、この特定ＵＲＬに対して接続するべく試みることができる。接続要求が実行された際に、ＤＮＳ変換を実行することにより、ｈｔｔｐ：／／ｎｙａｐｐｓｅｒｖｅｒ．ｂａｎｇｎｅｔｗｏｒｋｓ．ｃｏｍというＵＲＬと関連付けられているＩＰアドレスを判定可能である。このケースにおいては、オリジナルのＤＮＳ変換に、ＮＹデータセンタのＵＲＬの特定ＩＰアドレスが含まれているため、アプリケーションは、この特定ＵＲＬのこれらのＩＰアドレスに接続可能である。但し、クライアント１０２がグローバルＵＲＬに接続した際のオリジナルのＤＮＳ変換に特定ＩＰアドレスが含まれていない場合には、接続は不可能となろう。
【００３９】
ＩＰNYAなどの特定ＩＰアドレスに対応したサーバーは、そのサーバーに対する接続に使用される特定ＵＲＬに対応した証明書を返送可能である。アプリケーションは、この特定ＵＲＬを使用してサーバーに接続しているため、安全な接続を実現可能であり、安全な接続を確立することができる。
【００４０】
次いで、アプリケーションは、オブジェクトＩＤを登録し、別のハートビート（心臓の鼓動、ハートビートメッセージは状態メッセージ）をセットアップし、且つ、コンテンツプロバイダ１０６からのコンテンツ供給をセットアップするべく元々実行されている任意のその他の段階を実行可能である。この結果、クライアント１０２は、以前に登録されているＩＤ用の同一のコンテンツを依然として受信可能である。但し、コンテンツは、ＳＦデータセンタ１０４−１の代わりに、ＮＹデータセンタ１０４−２を通じてコンテンツプロバイダ１０６から提供可能である。
【００４１】
従って、クライアント１０２は、判定された障害に鑑み、別のデータセンタ１０４に対して自動的に接続可能となっている。データセンタ及び障害回復は、異なるＵＲＬアドレスを具備しているが、切り換えは、ユーザーから見えないシームレスな方式で実行可能である。従って、上流の障害の後にコンテンツプロバイダ１０６に対して再接続するべく、ユーザーが積極的なアクションをとる必要はないであろう。例えば、第２データセンタに対して自動的に接続するべく、ユーザーがインターフェイス上の「リフレッシュ」ボタンを選択したり又はその他の積極的なアクションを実行する必要もなく、更には、新しいサーバーに接続するべく、新しいデータセンタからアプリケーションをダウンロードする必要もないであろう。
【００４２】
図３は、一実施例による障害が発生したことを判定する方法の概略フローチャート３００を示している。段階３０２において、状態メッセージをセットアップ可能である。例えば、この状態メッセージは、ＩＤと関連付け可能である。状態メッセージは、コンテンツプロバイダ１０６からコンテンツをサービスすることができる任意のＩＤであってよい。
【００４３】
段階３０４において、そのＩＤのコンテンツを更新する間隔を決定可能である。この間隔は、コンテンツプロバイダ１０６又はクライアント１０２によってセットアップ可能である。
【００４４】
段階３０６において、指定されている間隔で状態メッセージが受信されているかどうかを判定可能である。状態メッセージが受信されている場合には、本プロセスは、反復し、状態メッセージが受信されているかどうかを所定の間隔で継続的にチェックする。
【００４５】
段階３０８において、状態メッセージの規則をチェックし、障害を宣言すべきかどうかを判定可能である。例えば、規則は、障害を判定するには、所定の条件を満足する必要があることを通知するものであってよい。１つの規則は、所定回数にわたって状態メッセージが受信されない場合に障害を判定可能である、というものであってよい。障害であると判定する前に、ネットワーク統計情報などのその他の要因を検索及び評価することも可能である。又、１回の状態メッセージの受信の失敗が、障害発生の判定に十分なものであってもよい。
【００４６】
段階３１０において、規則が満足されている場合には、障害であると判定可能であり、第２データセンタに対する接続を起動可能である。
【００４７】
図４は、一実施例による異なるデータセンタ１０４に対して安全に接続する方法の概略フローチャート４００を示している。段階４０２において、ＵＲＬ又はその他の識別子のＩＰアドレス変換を実行可能である。
【００４８】
段階４０４において、そのＵＲＬと関連付けられているサーバーからグローバルおよび特定ＩＰアドレスを受信可能である。
【００４９】
段階４０６において、安全な接続を実現するための証明書をサーバーから受信可能である。この証明書は、接続を要求するのに使用されたＵＲＬと関連付けられているものであってよい。例えば、証明書内のテキストフィールドが、このＵＲＬを包含している。
【００５０】
段階４０８において、グローバルＩＰアドレスの中の１つを使用することにより、データセンタ１０４−１を通じて接続を生成可能である。
【００５１】
段階４１０において、データセンタ１０４−１からのデータ供給における障害を判定可能である。この障害は、コンテンツプロバイダ１０６とデータセンタ１０４−１間における上流の障害であってよい。
【００５２】
段階４１２において、特定ＩＰアドレスの中の１つを使用することにより、第２データセンタ１０４−２に対して接続を生成可能である。この接続は、段階４０２における接続の生成に使用されたものとは別のＵＲＬに対して実行可能である。一実施例においては、特定ＩＰアドレスの逆ルックアップを使用し、この別のＵＲＬを判定可能である。
【００５３】
段階４１４において、第２サーバーから証明書を受信することにより、第２ＵＲＬと関連付けられている接続を実現可能である。この証明書は、第２データセンタ１０４−２に対する接続を要求するべく使用された第２ＵＲＬに変換可能であるため、安全な接続を実現可能である。
【００５４】
多数の利点を提供可能である。例えば、ライブデータの損失を極小化できるように、上流の障害検出を障害回復と共に提供可能である。障害回復をクライアントにおいて自動的に実行可能である。ユーザーは、障害回復において、なにも実行する必要がない。アプリケーションが、別のアドレスの別のデータセンタに対して接続を自動的に切り換え可能である。従って、ユーザーが障害回復動作に関与する必要がない。
【００５５】
一実施例においては、「及び／又は」という文言は、「及び／又は」によって接続されている要素の任意の組み合わせを使用可能である、ということを意味可能である。例えば、「及び／又は」を使用しているフレーズ内の２つの単語又は表現は、一方又は他方、或いは、これらの両方を意味可能である。一実施例においては、「実質的に」という文言は、大体（但し、完全にではなく）規定されているもの（又は、規定されているもののすべて）であることを意味可能である。一実施例においては、「能力を有している」という文言は、「構成されている」、「適合されている」、「可能である」などを意味可能である。例えば、「アクションを実行する能力を有している」という文言は、要素が、「そのアクションを実行可能であってよい」、「そのアクションを実行するべく構成可能である」、及び／又は、「そのアクションを実行するべく適合可能である」を意味可能である。
【００５６】
開示されている主題は、ソフトウェア又はハードウェア、或いは、これらの組み合わせとして制御ロジックの形態において実装可能である。この制御ロジックは、情報処理装置を制御して一実施例に開示されている段階の組を実行するべく適合された複数の命令として情報ストレージ媒体内に保存可能である。本明細書に提供されている開示及び教示内容に基づいて、当業者であれば、開示の主題を実装するためのその他の方法及び／又は方式を理解するであろう。
【００５７】
以上の説明は、例示を目的としており、限定を意図したものではない。本開示内容を参照することにより、当業者には、本開示内容の多数の変形が明らかとなろう。従って、本開示内容の範囲は、以上の説明を参照して決定されるべきものではなく、その完全な範囲又は等価物と共に添付の請求項を参照して判定することを要するものである。
【図面の簡単な説明】
【００５８】
【図１】一実施例による障害検出及び障害回復を提供するシステムを示している。
【図２】図１のシステムの一実施例を示している。
【図３】一実施例による障害が発生したことを判定する方法の概略フローチャートを示している。
【図４】一実施例による異なるデータセンタに対して安全に接続する方法の概略フローチャートを示している。
【図１】
2008510436.tif 000003
【図２】
2008510436.tif 000004
【図３】
2008510436.tif 000005
【図４】
2008510436.tif 000006
【国際調査報告】
2008510436.tif 000007
2008510436.tif 000008
2008510436.tif 000009