(57)【特許請求の範囲】
【請求項１】
ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定するための方法であって、
（ａ）ホスト名に宛てられた、ユーザのネットワークからのデータを、前記第１のネットワークサービス上にルーティングする命令を前記ユーザから受信する段階と、
（ｂ）前記ホスト名によって特定されたサーバを指す第１のＩＰアドレスをホスト名に従って決定する段階と、
（ｃ）前記第１のネットワークサービスの第２のＩＰアドレスを決定する段階と、
（ｄ）前記第１のＩＰアドレスに宛てられたデータを前記第２のＩＰアドレスにルーティングするよう前記ユーザのネットワーク上のルータに具体的に命令するメッセージを前記ユーザのネットワークに送信する段階であって、それにより、前記メッセージは、前記第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスの代わりに、前記第１のＩＰアドレスに宛てられたデータを前記第１のネットワークサービス上にルーティングするための前記ユーザのネットワーク上の前記ルータの設定をもたらす、段階と、
を備え、
前記決定する段階（ｂ）は、
ローカルキャッシュ上で前記ホスト名を検索する段階と、
期限切れではないマッチが前記ローカルキャッシュ上で見つけられなかった場合に、前記第１のＩＰアドレスを決定すべく、ドメイン名サービス上で前記ホスト名を検索する段階と
を含む、方法。
【請求項２】
前記ホスト名が前記ドメイン名サービスから検索された後、ある時間が経過したと決定する段階と、
前記時間が経過したと決定された場合、前記ローカルキャッシュにおいて前記ホスト名のエントリを期限切れにする段階と、
をさらに備える請求項１に記載の方法。
【請求項３】
前記第１のネットワークサービス及び前記第２のネットワークサービスは、インターネットへの接続性を提供し、前記送信する段階（ｄ）は、ボーダーゲートウェイプロトコルサービスメッセージを前記ユーザのネットワークに送信する段階を有し、
随意に、前記第２のネットワークサービスは、サービスプロバイダのネットワークを介して前記サービスプロバイダによって提供される、請求項１または２に記載の方法。
【請求項４】
（ａ）で受信されたデータをルーティングする前記命令は、前記第２のネットワークサービス上のトラフィックが利用レベルに達した場合、前記ホスト名を有するトラフィックを前記第１のネットワークサービスに切り替えるよう命令するビジネスルールを備え、前記方法は、さらに、
前記第２のネットワークサービス上のトラフィックが前記利用レベルに達したと決定する段階を備え、
段階（ｂ）−（ｄ）は、前記トラフィックが、前記利用レベルに達したと決定された場合に起こる、請求項１から３の何れか一項に記載の方法。
【請求項５】
前記第２のネットワークサービスは、前記第１のネットワークサービスの前記サービスプロバイダとは異なる他のサービスプロバイダによって提供される、請求項３又は４に記載の方法。
【請求項６】
（ｅ）前記第１のネットワークサービス上で、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する第１のパケットを受信する段階と、
（ｆ）前記第１のパケットの前記宛先ＩＰアドレスが前記第１のＩＰアドレスであると決定する段階と、
前記第１のパケットが前記第１のＩＰアドレスを有すると決定された場合、
（ｇ）変換済みＩＰアドレスで置き換えるべく前記第１のパケットの前記送信元ＩＰアドレスを変更する段階であって、それにより、前記変換済みＩＰアドレスに宛てられたリターントラフィックは、前記第１のネットワークサービスにルーティングされる、段階と、
（ｈ）前記変更された送信元ＩＰアドレスを有する前記第１のパケットを転送する段階と、
（ｉ）前記ネットワークのサービスプロバイダから第２のパケットを受信する段階であって、前記第２のパケットは、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する、段階と、
（ｊ）前記第２のパケットの宛先ＩＰアドレスが前記変換済みＩＰアドレスを有すると決定する段階と、
前記第２のパケットが前記変換済みＩＰアドレスを有すると決定された場合、
（ｋ）前記第１のパケットの前記送信元ＩＰアドレスで前記変換済みＩＰアドレスを置き換えるべく、前記第２のパケットの前記宛先ＩＰアドレスを変更する段階と、
（ｌ）前記変更された宛先ＩＰアドレスを有する前記第２のパケットを転送する段階であって、前記変更する段階（ｇ）及び前記変更する段階（ｋ）は、前記第１のネットワークサービスを通って転送されたリターントラフィックが前記第１のネットワークサービスにルーティングバックされるようにする、段階と、
をさらに備える請求項１から５の何れか一項に記載の方法。
【請求項７】
ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定するためのシステムであって、
ホスト名に宛てられた、前記ユーザのネットワークからのデータを前記第１のネットワークサービスにルーティングする命令をユーザから受信するポータルモジュールと、
前記ホスト名によって特定されたサーバを指す第１のＩＰアドレスを前記ホスト名に従って決定し、前記第１のネットワークサービスの第２のＩＰアドレスを決定するＤＮＳ検索モジュールと、
前記第１のＩＰアドレスに宛てられたデータを前記第２のＩＰアドレスにルーティングするようルーティングテーブルに具体的に命令するメッセージを前記ユーザのネットワークに送信するルータであって、それにより、前記メッセージは、前記第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスの代わりに、前記第１のＩＰアドレスに宛てられたデータを前記第１のネットワークサービス上にルーティングするための前記ユーザのネットワーク上の前記ルータの設定をもたらす、ルータと、
を備えるシステム。
【請求項８】
前記ＤＮＳ検索モジュールは、ドメイン名サービス上で前記ホスト名を検索して前記第１のＩＰアドレスを決定する、請求項７に記載のシステム。
【請求項９】
ＤＮＳ検索モジュールはローカルキャッシュ上で前記ホスト名を検索し、期限切れではないマッチが前記ローカルキャッシュ上で見つけられなかった場合、前記ドメイン名サービス上での前記ホスト名の前記検索が発生する、請求項８に記載のシステム。
【請求項１０】
前記ホスト名が前記ドメイン名サービスから検索された後、ある時間が経過したと決定し、前記時間が経過したと決定された場合、前記ローカルキャッシュ内の前記ホスト名のエントリを期限切れにするリフレッシュモジュールをさらに備える、請求項９に記載のシステム。
【請求項１１】
前記第１のネットワークサービス及び前記第２のネットワークサービスは、インターネットへの接続性を提供し、前記ルータは、ボーダーゲートウェイプロトコルサービスメッセージとして前記メッセージを前記ユーザのネットワークに送信し、
随意に、前記第２のネットワークサービスは、サービスプロバイダのネットワークを介して前記サービスプロバイダによって提供される、請求項７から１０の何れか一項に記載のシステム。
【請求項１２】
データをルーティングする前記命令は、前記第２のネットワークサービス上のトラフィックが利用レベルに達した場合、前記ホスト名を有するトラフィックを前記第１のネットワークサービスに切り替えるよう命令するビジネスルールを含み、前記システムは、さらに、
前記第２のネットワークサービス上のトラフィックが前記利用レベルに達したと決定するポリシーモジュールを備え、
前記ルータは、前記トラフィックが、前記利用レベルに達したと決定された場合、前記メッセージを送信する、請求項７から１１の何れか一項に記載のシステム。
【請求項１３】
前記第２のネットワークサービスは、前記第１のネットワークサービスの前記サービスプロバイダとは異なる他のサービスプロバイダによって提供される、請求項１１又は１２に記載のシステム。
【請求項１４】
前記ルータは、前記第１のネットワークサービス上で、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する第１のパケットを受信し、前記第１のパケットの前記宛先ＩＰアドレスは前記第１のＩＰアドレスであると決定し、前記ルータはさらに、
前記第１のパケットが前記第１のＩＰアドレスを有すると前記ルータが決定する場合：（ｉ）変換済みＩＰアドレスに宛てられたリターントラフィックが前記第１のネットワークサービスにルーティングされるように、前記変換済みＩＰアドレスで置き換えるべく前記第１のパケットの前記送信元ＩＰアドレスを変更し、（ｉｉ）前記変更された送信元ＩＰアドレスを有する前記第１のパケットを転送するアドレス変換モジュールを備え、
前記ルータは、前記ネットワークのサービスプロバイダから、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する第２のパケットを受信し、前記第２のパケットが前記変換済みＩＰアドレスを有すると決定し、
前記アドレス変換モジュールは、前記第２のパケットが前記変換済みＩＰアドレスを有すると前記ルータが決定する場合：（ｉ）前記送信元ＩＰアドレスで前記変換済みＩＰアドレスを置き換えるべく前記第２のパケットの前記宛先ＩＰアドレスを変更し、（ｉｉ）前記変更された宛先ＩＰアドレスを有する前記第２のパケットを転送し、それにより、前記第１のパケットの送信元アドレス及び前記第２のパケットの宛先アドレスの前記変更は、前記第１のネットワークサービスを通って転送されたリターントラフィックが前記第１のネットワークサービスにルーティングバックされるようにする、請求項７から１３の何れか一項に記載のシステム。
【請求項１５】
ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定するための方法を少なくとも１つの機械に実行させるプログラムであって、当該方法は、
（ａ）ホスト名に宛てられた、前記ユーザのネットワークからのデータを前記第１のネットワークサービス上にルーティングする命令を前記ユーザから受信する段階と、
（ｂ）前記ホスト名によって特定されたサーバを指す第１のＩＰアドレスを前記ホスト名に従って決定する段階と、
（ｃ）前記第１のネットワークサービスの第２のＩＰアドレスを決定する段階と、
（ｄ）前記第１のＩＰアドレスに宛てられたデータを前記第２のＩＰアドレスにルーティングするよう前記ユーザのネットワーク上のルータに具体的に命令するメッセージを前記ユーザのネットワークに送信する段階であって、それにより、前記メッセージは、前記第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスの代わりに、前記第１のＩＰアドレスに宛てられたデータを前記第１のネットワークサービス上にルーティングための前記ユーザのネットワーク上の前記ルータの設定をもたらす、段階とを備え、
前記決定する段階（ｂ）は、
ローカルキャッシュ上で前記ホスト名を検索する段階と、
期限切れではないマッチが前記ローカルキャッシュ上で見つけられなかった場合に、前記第１のＩＰアドレスを決定すべく、ドメイン名サービス上で前記ホスト名を検索する段階と
を含む、
プログラム。
【請求項１６】
前記方法は、さらに、
（ｅ）第１のネットワークサービス上で、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する第１のパケットを受信する段階と、
（ｆ）前記第１のパケットの前記宛先ＩＰアドレスが前記第１のＩＰアドレスであると決定する段階と、
前記第１のパケットが前記第１のＩＰアドレスを有すると決定された場合：
（ｇ）変換済みＩＰアドレスで置き換えるべく、前記第１のパケットの前記送信元ＩＰアドレスを変更する段階であって、それにより、前記変換済みＩＰアドレスに宛てられたリターントラフィックは、前記第１のネットワークサービスにルーティングされる、段階と、
（ｈ）前記変更された送信元ＩＰアドレスを有する前記第１のパケットを転送する段階と、
（ｉ）前記ネットワークのサービスプロバイダから第２のパケットを受信する段階であって、前記第２のパケットは、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する、段階と、
（ｊ）前記第２のパケットが前記変換済みＩＰアドレスを有すると決定する段階と、
前記第２のパケットが前記変換済みＩＰアドレスを有すると決定された場合：
（ｋ）前記第１のパケットの前記送信元ＩＰアドレスで前記変換済みＩＰアドレスを置き換えるべく、前記第２のパケットの前記宛先ＩＰアドレスを変更する段階と、
（ｌ）前記変更された宛先ＩＰアドレスを有する前記第２のパケットを転送する段階であって、前記変更する段階（ｇ）及び前記変更する段階（ｋ）は、前記第１のネットワークサービスを通って転送されたリターントラフィックが前記第１のネットワークサービスにルーティングバックされるようにする、段階をさらに備える、
請求項１５に記載のプログラム。
【請求項１７】
ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定するための方法であって、
（ａ）名前によって特定されるホストに宛てられた、前記ユーザのネットワークからのデータを第１のネットワークサービスを通じてルーティングする命令をユーザから受信する段階と、
（ｂ）前記名前によって特定されたサーバを指す第１のＩＰアドレスを名前に従って決定する段階と、
（ｃ）前記第１のネットワークサービスの第２のＩＰアドレスを決定する段階と、
（ｄ）前記第１のＩＰアドレスに宛てられたデータを前記第２のＩＰアドレスにルーティングするよう前記ユーザのネットワーク上のルータに具体的に命令するメッセージを前記ユーザのネットワークに送信する段階であって、それにより、前記メッセージは、前記第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスよりも、前記第１のネットワークサービス上にデータをルーティングするための前記ユーザのネットワーク上の前記ルータの設定をもたらす、段階とを備え、
前記決定する段階（ｂ）は、
ローカルキャッシュ上で前記名前を検索する段階を含み、期限切れではないマッチが前記ローカルキャッシュ上で見つけられなかった場合に、ドメイン名サービス上で前記名前を検索する段階が発生する、
方法。
【請求項１８】
前記サービスプロバイダのネットワークは、サービスプロバイダにより提供され、
（ａ）において受信したデータをルーティングする前記命令は、第２のネットワークサービス上のトラフィックが利用レベルに達した場合、ホスト名に宛てられるデータを前記第１のネットワークサービスに切り替えるよう命令するビジネスルールを有し、前記第２のネットワークサービスは、サービスプロバイダのネットワークを介して前記サービスプロバイダにより提供され、前記第１のネットワークサービス及び前記第２のネットワークサービスは、インターネットへの接続性を提供し、
前記方法は、
前記第２のネットワークサービス上のトラフィックが前記利用レベルに達したことを決定する段階と、
前記トラフィックが前記利用レベルに達したことが決定された場合に、前記段階（ｂ）から前記段階（ｄ）を実行する段階と
をさらに備え、
前記決定する段階（ｂ）は、
前記第１のＩＰアドレスを決定すべく、ドメイン名サービス上で前記名前を検索する段階をさらに含む、請求項１７に記載の方法。
【請求項１９】
（ｅ）前記第１のネットワークサービス上で第１のパケットを受信する段階であって、前記第１のパケットは、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する、段階と、
（ｆ）前記第１のパケットの前記宛先ＩＰアドレスが前記第１のＩＰアドレスであると決定する段階と、
前記第１のパケットが前記第１のＩＰアドレスを有すると決定された場合、
（ｇ）変換済みＩＰアドレスで置き換えるべく前記第１のパケットの前記送信元ＩＰアドレスを変更する段階であって、それにより、前記変換済みＩＰアドレスに宛てられたリターントラフィックは、前記第１のネットワークサービスにルーティングされる、段階と、
（ｈ）前記変更された送信元ＩＰアドレスを有する前記第１のパケットを転送する段階と、
（ｉ）前記ネットワークのサービスプロバイダから第２のパケットを受信する段階であって、前記第２のパケットは、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する、段階と、
（ｊ）前記第２のパケットの宛先ＩＰアドレスが前記変換済みＩＰアドレスを有すると決定する段階と、
前記第２のパケットが前記変換済みＩＰアドレスを有すると決定された場合、
（ｋ）前記第１のパケットの前記送信元ＩＰアドレスで前記変換済みＩＰアドレスを置き換えるべく前記第２のパケットの前記宛先ＩＰアドレスを変更する段階と、
（ｌ）前記変更された宛先ＩＰアドレスを有する前記第２のパケットを転送する段階であって、前記変更する段階（ｇ）及び前記変更する段階（ｋ）は、前記第１のネットワークサービスを通じて転送されたリターントラフィックが前記第１のネットワークサービスにルーティングバックされるようにする、段階と
をさらに備える、請求項１７又は１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本分野は、概して、ネットワークルーティングに関する。
【背景技術】
【０００２】
［関連技術］
ネットワークサービスは、例えば、インターネットなどの、顧客ネットワークから別のコンピュータネットワークへの接続性を提供し得る。ネットワークサービスは、帯域幅、待ち時間、及びジッタなどの一定のサービス特性を保証する特定のサービスレベル合意（ｓｅｒｖｉｃｅ  ｌｅｖｅｌ  ａｇｒｅｅｍｅｎｔ）を有し得る。顧客ネットワークの中には、それらをインターネットに接続する２つ以上のネットワークサービスを有するものもある。複数のネットワークサービスを有すると、冗長性をもたらす。
【０００３】
どのネットワークサービスを使用するかの選択を助けるべく、ネットワークサービスは、例えば、ボーダーゲートプロトコル（ＢＧＰ）のようなプロトコルを使用してルーティング情報を通知する。ルーティング情報に基づいて、顧客ネットワーク上の複数のルータは、別のネットワークサービスよりも、一のネットワークサービスにデータをルーティングすべきことを知り得る。しかしながら、ルーティング情報を通知する従来の多くのやり方においては、コンフィギュアビリティが欠如している。
【０００４】
コンフィギュアビリティを提供する１つのやり方は、ポリシーベースルーティング（ＰＢＲ）を使用することである。ポリシーベースルーティング（ＰＢＲ）は、ネットワークアドミニストレータによって設定された複数のポリシーに基づいてルーティング決定をするために使用される技術である。例えば、ルータがパケットを受信する場合、当該ルータは、通常、パケット内の宛先アドレスに基づいてそれをどこに転送するかを決定する。当該宛先アドレスは、次に、ルーティングテーブルでエントリを検索するために使用される。しかしながら、いくつか場合においては、他の基準に基づいてパケットを転送する必要がある場合もある。例えば、ＰＢＲは、宛先アドレスではなく送信元アドレスに基づいて、ネットワークアドミニストレータがパケットを転送するやり方を提供する。
【０００５】
インターネットに接続するためにどのネットワークサービスを使用するかを設定可能であることが、そのトラフィックのサービスレベルを保証する助けとなり得る。例えば、音声ＩＰ（ＶｏＩＰ）トラフィックは、他のＩＰトラフィックより短い待ち時間を必要とすることがある。したがって、ネットワークアドミニストレータは、ＶｏＩＰトラフィックを一のネットワークサービスに沿って方向付ける一方で、他のＩＰトラフィックを別のネットワークサービスに沿って方向付けることを望むことがある。
【発明の概要】
【０００６】
一実施形態において、方法は、ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定する。当該方法において、ホスト名に宛てられたデータを第１のネットワークサービス上にルーティングする命令が受信される。当該ホスト名に従って、当該ホスト名によって特定されたサーバを指す第１のＩＰアドレスが決定される。特定のネットワークサービスの第２のＩＰアドレスとして第２のＩＰアドレスもまた決定される。最後に、メッセージがユーザのネットワークに送信される。当該メッセージは、第１のＩＰアドレスに宛てられたデータを第２のＩＰアドレスにルーティングするようユーザのネットワークに具体的に命令する。当該メッセージは、第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスよりも、第１のネットワークサービス上にデータをルーティングするためのユーザのネットワーク上のルータの設定をもたらす。
【０００７】
システムの実施形態及びコンピュータプログラム製品の実施形態もまた開示される。 
【０００８】
本発明のさらなる実施形態、特徴、及び利点、並びに様々な実施形態の構造及び動作が、添付図面を参照して以下で詳細に説明される。
【図面の簡単な説明】
【０００９】
本明細書に組み込まれ、本明細書の一部を形成する添付図面は、本開示を例示し、説明と合わせることで、さらに、本開示の原理を説明し、当業者が本開示を作り使用することを可能にするのに役立つ。
【００１０】
【図１】一実施形態に係る、ホスト名に基づいて複数のネットワークサービスを選択するためのシステムの図である。
【００１１】
【図２】図１のシステムの動作例を示す図である。
【００１２】
【図３】図１のシステムをより詳細に示す図である。
【００１３】
【図４】一実施形態に係る、ホスト名に基づいて複数のネットワークサービスを選択するための方法のフローチャートである。
【００１４】
概して、ある要素が最初に現われる図面は、対応する参照番号の左端の１又は複数の桁の数字で示される。図面において、同様の参照番号は、同一の、又は機能的に同様の要素を示してよい。
【発明を実施するための形態】
【００１５】
上述したように、どのトラフィックがどのネットワークサービスを利用するかを設定可能なことが利益をもたらす。しかしながら、そのコンフィギュアビリティは複雑で困難な場合がある。顧客が特定のＤＮＳホスト名を特定のネットワークサービスに割り当てる能力を提供することで、複数の実施形態が設定を簡略化する。一旦、顧客がＤＮＳホスト名をネットワークサービスに割り当てると、複数の実施形態は、顧客のネットワーク上のルータに複数の設定メッセージを送信し、割り当てられたホスト名に宛てられたトラフィックを、割り当てられたネットワークサービスに方向付けるようルータの複数のルーティングテーブルを更新する。
【００１６】
図１は、一実施形態に係る、ホスト名に基づいて複数のネットワークサービスを選択するためのシステムの図１００である。当該システムは、顧客ネットワーク１０２及びサービスプロバイダネットワーク１０４を含む。
【００１７】
顧客ネットワーク１０２は、例えば、建物などの特定のエリアに制限されたローカルエリアネットワークであってよい。別の例において、顧客ネットワーク１０２は、同じ組織内で異なる複数のコンピュータを接続する企業のイントラネットであってよい。様々なコンピュータは、プライベートネットワーク又はインターネットなどのネットワークを介した複数のリソースへのアクセスを必要とする複数のウェブブラウザ又は他の複数のアプリケーションを有してよい。顧客ネットワーク１０２はＴＣＰ／ＩＰルーティングプロトコルを使用してよく、顧客ネットワーク１０２上の複数のコンピュータは、パブリックに又はプライベートにアドレス可能な複数のＩＰアドレスを使用してよい。
【００１８】
サービスプロバイダネットワーク１０４は、異なるネットワークサービスであるネットワークサービス１３０及びネットワークサービス１３２で顧客ネットワーク１０２に接続する。上述したように、各ネットワークサービスは、サービスレベル合意によって定義されてよい特定のサービスレベルの接続性を提供してよい。サービスレベルは、利用可能な帯域幅の量、最小待ち時間、最大ジッタ量、又は他の複数のパラメータを指定してよい。
【００１９】
ネットワークサービス１３０及び１３２の各々は、サービスプロバイダネットワーク１０４上のルータ１１０を顧客ネットワーク１０２上のポートに接続する。具体的に、ネットワークサービス１３０はルータ１１０をポート１４０に接続し、ネットワークサービス１３２はルータ１１０をポート１４２に接続する。ポート１４０及び１４２の各々は、例えば、顧客ネットワーク１０２のルータ上にあってよい。
【００２０】
ルータ１１０を通して、ネットワークサービス１３０及び１３２はバックボーン１０６への接続を提供する。バックボーン１０６は、例えば、パブリックインターネットを含んでよい。バックボーン１０６は、複数のルータ及び複数の相互接続リンクを含んでよい。ルータ１１０は、データをバックボーン１０６上の他の複数のルータに送信する。それらのルータは、データをその宛先までルーティングする。
【００２１】
どのようにデータをルーティングするかを決定すべく、バックボーン１０６上の様々なルータはそれらの接続性を通知するメッセージを交換し得る。それらのメッセージは、例えば、ＢＧＰメッセージであってよい。その例において、メッセージを交換するそれらのルータは、ＢＧＰピアであってよい。これらのメッセージを使用して、様々なルータは、ネットワークを通してどのようにデータをルーティングするかを定義する複数のルーティングテーブルを発展させる。
【００２２】
バックボーン１０６上の様々なルータがメッセージを交換するのみならず、ルータ１１０は、顧客ネットワーク１０２上の少なくとも１つのルータと複数のメッセージを交換する。図１において、これらのメッセージは、ネットワークサービス１３０及び１３２上のそれぞれメッセージ１５０及び１５２として示されている。一例において、メッセージ１５０及び１５２は、複数のＩＰサブネット及び関連付けられたネクストホップＩＰアドレスのリストを含んでよい。メッセージ１５０及び１５２に従って、顧客ネットワーク１０２上のルータは、それらのメッセージを組み込むよう、これら自身のルーティングテーブルを設定してよい。顧客ルータは、例えば、宛先アドレスにマッチする最も詳細なＩＰサブネットにデータをルーティングし、連想されるネクストホップアドレスにデータを送信してよい。この情報に基づいて、顧客ルータはどのネットワークサービス上にデータをルーティングするかを決定する。
【００２３】
一実施形態において、ルータ１１０は、ホスト名を特定のサービスにマッピングするユーザ設定に従って、メッセージ１５０及び１５２を送信する。具体的に、ユーザは、様々なホスト名をネットワークサービス１３０又は１３２のいずれかにマッピングするようテーブル１１２を設定可能である。ルータ１１０は、メッセージ１５０及び１５２を生成及び送信し、ホスト名に宛てられたデータをネットワークサービス１３０又は１３２のいずれかにルーティングするよう顧客ルータを更新する。具体的に、ホスト名のＩＰアドレスに宛てられたデータをルーティングするよう顧客ルータを更新すべく、メッセージ１５０及び１５２が生成される。ＩＰアドレスを決定すべく、サービスプロバイダネットワーク１０４上のルータ１１０又は別のコンポーネントは、ホスト名のＤＮＳ検索を実行して、（１又は複数の）サービスを用意する（１又は複数の）ホストの複数のリソースの（１又は複数の）ＩＰアドレスを決定する。次に、メッセージ１５０及び１５２は、ユーザによって指定された特定のネットワークサービスを通じてトラフィックを方向付けるべく生成される。
【００２４】
一旦更新されると、顧客ネットワーク１０２は、ユーザ設定に従って、別のネットワークサービスに対して、一のネットワークサービスを通じてデータをルーティングする。ホストの宛先ＩＰアドレスを有する各パケットは、特定のネットワークサービスを通じてルーティングされる。
【００２５】
図１は、パケット１５４の例を示す。一例において、顧客ネットワーク１０２上のルータは、特定のホスト名に宛てられたトラフィックをネットワークサービス１３０上にルーティングすべく更新される。顧客ネットワーク１０２上のルータは、そのルーティングテーブル内の複数のサブネットに対してパケット１５４の宛先アドレスを評価する。様々なルーティングテーブルエントリの間で、最も詳細なマッチが特定されて、ネクストホップが決定される。設定メッセージは、ユーザのネットワークサービス１３０のネクストホップアドレスのエントリに対して宛先ＩＰアドレスをマッチさせるよう、ルーティングテーブルの複数のエントリを既に更新済みである。このために、図１において示されるように、ネクストホップＩＰアドレスはネットワークサービス１３０に沿ってパケット１５４を方向付ける。
【００２６】
図２は、図１のシステムの動作例をより詳細に示す図２００である。上記のように、図２００は、顧客ネットワーク１０２、サービスプロバイダネットワーク１０４、ルータ１１０、及びテーブル１１２を含むシステムを示している。加えて、図２００は、ＤＮＳキャッシュ２１４に連結されているルーティングテーブル２３０をルータ１１０が含むことと、バックボーン１０６が宛先１２０に連結されていることとを示している。
【００２７】
図２００の例において、ルータ１１０は、各ネットワークサービスについて１つの、２つのＩＰアドレスを有する。ネットワークサービス１３０に対して、ルータ１１０はＩＰアドレス１．１．１．１を有し、ネットワークサービス１３２に対して、ルータ１１０は、ＩＰアドレス３．３．３．３を有する。サービスプロバイダネットワーク１０４のサービスプロバイダによって、ネットワークサービス１３０の複数のＩＰアドレスが割り当てられてよい。複数の異なるサービスプロバイダは、複数の異なる自律システムであってよく、それらが複数の顧客に割り当て可能な様々なＩＰアドレスを有してよい。
【００２８】
当該例において、ユーザは、ホスト名ｂｏｘ．ｎｅｔに宛てられた全てのデータを、ネットワークサービス１３０を通じてルーティングすることを望む。従って、図２００に示されるように、ユーザは、ネットワークサービス１３０に「ｂｏｘ．ｎｅｔ」をマッピングするようテーブル１１２を設定する。テーブル１１２を設定すべく、顧客は、例えば、サービスプロバイダによって提供されたウェブポータルを使用してよい。
【００２９】
テーブル１１２内に新たなエントリが設定されると、ホスト名のＩＰアドレスが検索され、ＤＮＳキャッシュ２１４に格納される。例えば、当業者が通常使用するユーティリティ又は複数の方法によって、複数のレコードルックアップ（ｒｅｃｏｒｄ  ｌｏｏｋｕｐ）を使用して、パブリックドメイン名サービスを使用して、ＤＮＳ検索が実行されてよい。図２００の例では、ｂｏｘ．ｎｅｔはＩＰアドレス２．２．２．２を有し、ＤＮＳキャッシュ２１４はそのアドレスを反映するよう更新される。
【００３０】
次に、サービス及びＩＰアドレスに基づいて、ルータ１１０内のルーティングテーブル２３０が更新される。ルーティングテーブル２３０は、特定の複数の宛先サブネットマスクを複数のネクストホップＩＰアドレスにマッピングする。新たなホスト名が設定され、ホスト名のＩＰアドレスが検索された後、設定を反映すべく、新たなエントリがルーティングテーブル２３０に追加されてよい。具体的に、１．１．１．１であるネットワークサービス１３０のＩＰアドレスに、（２．２．２．２／３２と指定された）正確なＩＰアドレス及びサブネットマスクをマッピングする特定のエントリが追加されてよい。
【００３１】
ルータ１１０内のルーティングテーブルが更新されると、ルータ１１０は、その複数のＢＧＰピアなどのその隣接ルータに複数のメッセージを送信して、これらのルーティングテーブルをそれに応じて更新する。この場合、ルータ１１０は、メッセージ１５０及び１５２を顧客ネットワーク１０２に送信する。
【００３２】
メッセージ１５０及び１５２に応答して、顧客ネットワーク１０２上のルータは、例えば、２つのエントリを有してよい。それらは、１つは、サブネット２．２．２．２／３２のためのものであり、もう１つは、（サブネットマスク０／０で指定された）他の全てのトラフィックのためのものである。顧客ネットワーク１０２のルータは、宛先アドレスに最も詳細にマッチするエントリを使用する。
【００３３】
設定が完了すると、顧客ネットワーク１０２上のコンピュータはｂｏｘ．ｎｅｔへの接触を試みてよい。それが起こった場合、ｂｏｘ．ｎｅｔのＤＮＳ検索が発生し、ｂｏｘ．ｎｅｔのＩＰアドレスは２．２．２．２と決定される。コンピュータは、ｂｏｘ．ｎｅｔに宛てられた複数のパケットをそのＩＰアドレスに送信する。次に、顧客ネットワーク１０２上のルータが、その宛先アドレスを有する複数のパケットに対する最も詳細なマッチは２．２．２．２／３２であると決定する。そのエントリはネクストホップＩＰアドレス１．１．１．１にマッチし、それはネットワークサービス１３０に対応するＩＰアドレスである。このように、複数の実施形態は、特定のホスト名−この場合ではｂｏｘ．ｎｅｔ−に宛てられたデータを、特定のネットワークサービスにルーティングする。
【００３４】
このようにホスト名をネットワークサービスにマッピングすることで、ユーザはそのネットワークにわたってトラフィックをより良く管理できる。例えば、ユーザは、−ｓａｌｅｓｆｏｒｃｅ．ｃｏｍなどの−特定の宛先に一定のトラフィックをルーティングして、一定レベルのサービスを実現することを望んでよい。或いは、ユーザは、様々なネットワークサービスにわたってトラフィックの平衡を保つよう望んでよい。ホスト名を使用した複数のネットワークサービスの設定は、ＩＰアドレス又は他の手段とは対照的に、設定を比較的容易にする。
【００３５】
図３は、図１のシステムおよびその動作例をより詳細に示す図３００である。図１００及び図２００において示された複数のコンポーネントに加えて、図３００は、サービステーブル１１２及びＤＮＳキャッシュ２１４がサーバ３１０上に配置されていることを示している。サーバ３１０は、ルータ１１０及びパブリックドメイン名サービス３０８に連結されており、ポータルモジュール３１２、ＤＮＳ検索モジュール３１４、ポリシーモジュール３１６、及びリフレッシュモジュール３１８を含む。ルータ１１０はまた、アドレス変換モジュール３３０を含む。これらのコンポーネントの各々が順に説明される。
【００３６】
ポータルモジュール３１２は、ホスト名に宛てられたネットワークからデータを第１のネットワークサービス上にルーティングする命令をユーザから受信する。ポータルモジュール３１２は、例えば、顧客によってアクセス可能なウェブポータルであってよい。顧客は、そのサイトにログインしてよく、サービステーブル１１２内に複数のサービスマッピングをリストするインタフェースを提示されてよい。ユーザは、所望のホスト名、又はその一部を打ち込んでよい。ホスト名は、例えば、ドメイン名であってよい。例えば、ユーザはｂｏｘ．ｎｅｔ又はｗｗｗ．ｂｏｘ．ｎｅｔと打ち込んでよい。さらに、ユーザは、ホスト名を指定するのにワイルドカードを使用可能であってよい。例えば、ユーザは、＊．ｂｏｘ．ｎｅｔをサービスにマッチさせることが可能であってよい。その場合、対応する複数のＩＰアドレスを得るのに２回以上のＤＮＳ検索が必要なこともある。
【００３７】
パブリック名システムを通して解決可能なホスト名に加えて、他の複数の名前が使用されてよい。他の複数の名前は、ネットワーク上のホスト、又は複数のホストのグループを特定してよい。
【００３８】
ホスト名を入力した後、ユーザは、そのネットワークサービスのうちの１つを、例えば、ドロップダウンメニューから選択してよい。次に、ユーザは、当該ホスト名−ネットワークサービスのマッピングをポータルモジュール３１２に提出してよい。
【００３９】
当該ホスト名−ネットワークサービスのマッピングに加えて、ユーザはまた、いつそのマッピングが有効になるかについての複数の追加の条件を提出できる。例えば、ユーザは、ネットワークサービス１３２上のトラフィックが利用レベルに達している場合、当該ホスト名を有するトラフィックをネットワークサービス１３０に切り替えるようサービスプロバイダネットワークに命令するビジネスルールを提出できる。
【００４０】
いつ当該マッピングが有効になるかについての複数の追加の条件をユーザが指定する場合、ポリシーモジュール３１６が、複数のネットワーク属性を評価して、いつそれらの条件が満たされるかを決定してよい。一実施形態において、ポリシーモジュール３１６は、その条件において特定されたネットワークサービス上のトラフィックがいつ利用レベルに達したかを決定してよい。ポリシーモジュール３１６は、例えば、サービスプロバイダネットワーク１０４上のルータ１１０若しくは他の複数のデバイス、又は顧客ネットワーク１０２からデータを集めることによって、その決定を行なってよい。
【００４１】
ユーザが、ポータルモジュール３１２上の当該ホスト名−サービスのマッピングを提出する場合、提出されたホスト名に従って、ＤＮＳ検索モジュール３１４が、そのホスト名によって特定されたサーバを指すＩＰアドレスを決定する。ＤＮＳ検索モジュール３１４はまずローカルキャッシュ上で当該ホスト名を検索し、ローカルキャッシュで期限切れではないマッチが見つけられなかった場合、当該ホスト名をパブリックドメイン名サービス３０８上で検索する。
【００４２】
パブリックドメイン名サービス３０８は、ドメイン名システムであってよい。ドメイン名システム（ＤＮＳ）は、インターネット又はプライベートネットワークに接続された複数のコンピュータ、複数のサービス、又は任意のリソースのための階層的分散型命名システムである。それは、容易に記憶されるドメイン名を、複数のコンピュータサービス及びデバイスを世界各地に配置するために必要な数値のＩＰアドレスに変換する。パブリック名サービス３０８は、複数のネームサーバを含んでよい。各ドメインは、そのドメインについての情報を発行する少なくとも１つのネームサーバと、それより下位のあらゆるドメインの複数のネームサーバを有してよい。階層の最上位は複数のルート名サーバによってサービス提供される。それらのサーバは、．ｎｅｔのような最上位ドメインを検索（解決）するときにクエリを行うサーバである。当業者ならば、ここで使用される複数のＤＮＳリソースレコードが、ＩＰｖ４及びＩＰｖ６の（１又は複数の）アドレス及び複数のプレフィックスリストへと最終的に解決するＡ、ＡＡＡＡ、ＡＰＬ、ＣＮＡＭＥであり得ることを認識するであろう。
【００４３】
一旦検索されると、関連付けられたドメインのＩＰアドレスはＤＮＳキャッシュ２１４に格納される。パブリック名サービス３０８内の複数のＩＰアドレスは変化し得る。したがって、リフレッシュモジュール３１８はＤＮＳキャッシュ内の複数のエントリに期限切れを起こさせてよい。一実施形態において、リフレッシュモジュール３１８は、ホスト名がドメイン名サービスから検索された後、ある時間が経過したと決定してよい。ある時間が経過したとリフレッシュモジュール３１８が決定した場合、ローカルキャッシュ内のホスト名のエントリは期限切れになる。エントリが期限切れになった場合、ＤＮＳ検索モジュール３１４は直ぐに当該名前の新たなＩＰアドレスを要求してよい。
【００４４】
ＤＮＳキャッシュ２１４及びサービステーブル１１２が設定されると、ルータ１１０は、図２に関して上述したように、メッセージを顧客のネットワークに送信する。当該メッセージは、ホスト名のＩＰアドレスに宛てられたデータをネットワークサービスのＩＰアドレスにルーティングするようルーティングテーブルに具体的に命令する。このように、システムは、顧客ネットワーク１０２から発信されたホスト名へのデータを、選択されたネットワークサービスを通じて方向付ける。
【００４５】
顧客ネットワーク１０２から発信されたデータを選択されたネットワークサービスを通じて方向付けることに加えて、システムはまた、アドレス変換モジュール３３０を使用して、選択されたネットワークサービスに沿ってリターントラフィックを方向付けてよい。
【００４６】
上述したように、ルータ１１０は顧客ネットワーク１０２からの発信パケットを受信する。当該パケットは送信元ＩＰアドレス及び宛先ＩＰアドレスを有する。ルータ１１０は、ユーザが特定のネットワークサービスに対して割り当てた、ＤＮＳキャッシュ２１４内の複数のＩＰアドレスの中にその宛先ＩＰアドレスがあるかどうかを決定する。
【００４７】
発信パケットが、割り当てられたホストのＩＰアドレスを有するとルータ１１０が決定した場合、アドレス変換モジュール３３０は、第１のパケットの送信元ＩＰアドレスを変更して、変換済みＩＰアドレスで置き換える。それにより、変換済みＩＰアドレスに宛てられたリターントラフィックは、ユーザによって選択されたネットワークサービスにルーティングされる。次に、アドレス変換モジュール３３０は、変更された送信元ＩＰアドレスを有する発信パケットをバックボーン１０６に転送する。
【００４８】
バックボーン１０６は、当該パケットを、任意の他のパケットと全く同じように、宛先アドレスに従って宛先１２０に転送する。宛先１２０は、データに返信してよい。そうする場合、宛先１２０は、アドレス変換モジュール３３０によって変換された送信元アドレスに返信する。そして、送信元アドレスは、ユーザによって選択されたネットワークサービスにルーティングする変換済みアドレスに変更されたので、対応する返信は、同様に、選択されたネットワークサービスにルーティングされることになる。
【００４９】
リターンルートにおいて、アドレス変換モジュール３３０は、返信を元の送信元に方向付けるようにそれを変換しなくてはならない。具体的に、ルータ１１０が着信パケットを受信した場合、ルータ１１０は、パケットがその宛先として変換済みＩＰアドレスを有するかどうかを決定すべく、パケットを評価する。
【００５０】
着信パケットが変換済みＩＰアドレスを有するとルータ１１０が決定した場合、ルータ１１０は、着信パケットの宛先ＩＰアドレスを変更して、変換済みＩＰアドレスを元の発信パケットの送信元ＩＰアドレスで置き換える。次に、ルータ１１０は、変更された宛先アドレスを有する着信パケットを転送する。
【００５１】
このように、アドレス変換モジュール３３０は、リターントラフィックを選択されたネットワークサービスを通じて方向付ける。複数の実施形態において、アドレス変換モジュール３３０は、２つのパブリックにアクセス可能なアドレスの間で、又は、プライベートなＩＰアドレス（例えば、１９２．１６８．０．０−１９２．１６８．２５５．２５５）と、パブリックにアクセス可能なアドレスとの間で変換してよい。他の実施形態では、アドレス変換モジュール３３０は複数のＴＣＰポートを変換してよい。複数の送信元ＴＣＰポートの変更は、例えば、２つ以上の送信元ＩＰが１つの変換済みＩＰアドレスに変更されることを可能にしてよい。この実施形態において、アドレス変換モジュール３３０は、トラフィックを正確な送信元ＩＰアドレスに方向付けるべく、リターントラフィック上で異なる複数の宛先ポートを使用し得る。
【００５２】
アドレス変換モジュール３３０はルータ１１０上に示されているが、当業者ならば、それが、顧客ネットワーク１０２上のルータ、ホスト、又は他のデバイスなどの他の場所に配置されてよいことを認識するだろう。
【００５３】
図１−図３の図は、同じサービスプロバイダネットワーク１０４に接続するネットワークサービス１３０及び１３２の両方を示しているが、当業者ならば、それらが異なるサービスプロバイダからのものであり得ることを認識するであろう。その実施形態において、ルータ１１０は上述したように動作し、それ自身のネットワークサービスを、最も詳細なルートを提供するものと特定するであろう。
【００５４】
図４は、一実施形態に係る、ホスト名に基づいて複数のネットワークサービスを選択するための方法４００のフローチャートである。
【００５５】
段階４０２において、ホスト名に宛てられた、顧客ネットワークからのデータをネットワークサービス上にルーティングする命令が、ユーザから受信される。上述したように、当該命令は、ホスト名−サービスのマッピングだけを含んでよい、又は、当該命令がいつ有効になるかを特定するビジネスルールもまた含んでよい。
【００５６】
段階４０２において記載されたホスト名に従って、段階４０４においてホスト名によって特定されたサーバを指すＩＰアドレスが決定される。上述したように、段階４０４は、キャッシュ検索を含んでよい、又は、キャッシュミスがあった場合は、ドメイン名サービスから名前を要求してよい。
【００５７】
段階４０６において、ネットワークサービスのＩＰアドレスが決定される。
【００５８】
最後に段階４０８において、段階４０４において決定されたＩＰアドレスに宛てられたデータをルーティングするようユーザのネットワーク上のルーティングテーブルに具体的に命令するメッセージが、段階４０６において決定されたＩＰアドレスに送信される。当該メッセージは、ネットワークサービス上にデータをルーティングするためのユーザのネットワーク上のルータの設定をもたらす。
【００５９】
本明細書で使用されるとき、「ユーザ」という用語は、ネットワーク接続性サービスを利用する企業の従業者などのネットワーク接続性サービスの顧客、及び、サービスプロバイダ自体のネットワークアドミニストレータの両方を包含してよい。複数のユーザが異なる複数の企業又は複数の組織に存在してもよい。
【００６０】
本明細書において開示された複数のテーブルは、永続的メモリを含む任意の格納型の構造メモリであってよい。複数の例において、各データベースは、リレーショナルデータベース又はファイルシステムとして実装されてよい。
【００６１】
図１の複数のデバイス及び複数のモジュールの各々は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せにおいて実装されてよい。
【００６２】
図１の複数のデバイス及び複数のモジュールの各々は、同じ又は異なる複数のコンピューティングデバイス上に実装されてよい。そのような複数のコンピューティングデバイスは、パーソナルコンピュータ、携帯電話などのモバイルデバイス、ワークステーション、組み込みシステム、ゲームコンソール、テレビ、セットトップボックス、又は任意の他のコンピューティングデバイスを含み得るが、それらに限定されない。さらに、コンピューティングデバイスは、複数の命令を実行及び格納するための、非一時的メモリを含む、プロセッサ及びメモリを有するデバイスを含み得るが、それに限定されない。メモリは、データ及びプログラム命令を明白に具体化してよい。ソフトウェアは、１又は複数のアプリケーション及び１つのオペレーティングシステムを含んでよい。ハードウェアは、プロセッサ、メモリ、及びグラフィカルユーザインタフェースディスプレイを含み得るが、それらに限定されない。コンピューティングデバイスはまた、複数のプロセッサと、複数の共有又は別個のメモリコンポーネントとを有してよい。例えば、コンピューティングデバイスは、クラスタ化された又は分散型のコンピューティング環境又はサーバファームの一部又は全体であってよい。
【００６３】
「（ａ）」、「（ｂ）」、「（ｉ）」、「（ｉｉ）」等といった識別子が、異なる要素又は段階のために使用されることがある。これらの識別子は、明確さのために使用されるのであって、必ずしも、要素又は段階の順序を指定しているわけではない。
【００６４】
本発明は、特定の複数の機能及びそれらの関係の実装を説明する複数の機能的構成単位を用いて上述されてきた。これらの機能的構成単位の境界は、説明を簡便にすべく本明細書において任意に画定された。特定の複数の機能及びそれらの関係が適切に実行される限り、代替の境界が画定され得る。
【００６５】
具体的な実施形態についての前述の説明は、本発明の全般的性質を十分に明らかにしているので、他者は、本発明の全般的概念から逸脱することなく、過度の実験を行うことなく、当該技術分野の技術内の知識を適用して、そのような具体的な実施形態を様々な用途に向けて容易に変更及び／又は改作できる。したがって、そのような改作及び変更は、本明細書において提示された教示及び指導に基づいて、開示された実施形態の均等物の趣旨及び範囲内であることが意図されている。本明細書における語句又は用語は、説明のためのものであって、限定するためのものではなく、それにより、本明細書の用語又は語句は、教示及び指導に照らして当業者によって解釈されるべきものであることが理解されよう。
【００６６】
本発明の広さ及び範囲は、上述の例示的実施形態の何れによっても限定されるべきではなく、以下の特許請求の範囲及びその均等物のみに従って定義されるべきである。
［項目１］
ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定するための方法であって、
（ａ）ホスト名に宛てられた、ユーザのネットワークからのデータを、特定のネットワークサービス上にルーティングする命令を上記ユーザから受信する段階と、
（ｂ）上記ホスト名によって特定されたサーバを指す第１のＩＰアドレスをホスト名に従って決定する段階と、
（ｃ）上記特定のネットワークサービスの第２のＩＰアドレスを決定する段階と、
（ｄ）上記第１のＩＰアドレスに宛てられたデータを上記第２のＩＰアドレスにルーティングするよう上記ユーザのネットワーク上のルータに具体的に命令するメッセージを上記ユーザのネットワークに送信する段階であって、それにより、上記メッセージは、上記第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスよりも、上記第１のネットワークサービス上にデータをルーティングするための上記ユーザのネットワーク上のルータの設定をもたらす、段階と、
を備える方法。
［項目２］
上記決定する段階（ｂ）は、上記第１のＩＰアドレスを決定すべく、ドメイン名サービス上で上記ホスト名を検索する段階を有する、項目１に記載の方法。
［項目３］
上記決定する段階（ｂ）は、さらに、ローカルキャッシュ上で上記ホスト名を検索する段階を有し、ドメイン名サービス上で上記ホスト名を検索する上記段階は、期限切れではないマッチが上記ローカルキャッシュ上で見つけられなかった場合に発生する、項目２に記載の方法。
［項目４］
（ｅ）上記ホスト名が上記ドメイン名サービスから検索された後、ある時間が経過したと決定する段階と、
（ｆ）上記時間が経過したと決定された場合、上記ローカルキャッシュにおいて上記ホスト名のエントリを期限切れにする段階と、
をさらに備える項目３に記載の方法。
［項目５］
上記第１のネットワークサービス及び上記第２のネットワークサービスは、インターネットへの接続性を提供し、上記送信する段階（ｄ）は、ボーダーゲートウェイプロトコルサービスメッセージを上記ユーザのネットワークに送信する段階を有する、項目１から４の何れか一項に記載の方法。
［項目６］
上記第２のネットワークサービスは、サービスプロバイダのネットワークを介して上記サービスプロバイダによって提供される、項目５に記載の方法。
［項目７］
（ａ）で受信されたデータをルーティングする上記命令は、上記第２のネットワークサービス上のトラフィックが利用レベルに達した場合、上記ホスト名を有するトラフィックを上記第１のネットワークサービスに切り替えるよう命令するビジネスルールを備え、上記方法は、さらに、
（ｅ）上記第２のネットワークサービス上のトラフィックが上記利用レベルに達したと決定する段階を備え、
段階（ｂ）−（ｄ）は、上記トラフィックが、（ｅ）において上記利用レベルに達したと決定された場合に起こる、項目６に記載の方法。
［項目８］
上記第２のネットワークサービスは、上記第１のネットワークサービスの上記サービスプロバイダとは異なる他のサービスプロバイダによって提供される、項目５から７の何れか一項に記載の方法。
［項目９］
（ｅ）上記第１のネットワークサービス上で、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する第１のパケットを受信する段階と、
（ｆ）上記第１のパケットの上記宛先ＩＰアドレスが上記第１のＩＰアドレスであると決定する段階と、
上記第１のパケットが上記第１のＩＰアドレスを有すると決定された場合、
（ｇ）変換済みＩＰアドレスで置き換えるべく上記第１のパケットの上記送信元ＩＰアドレスを変更する段階であって、それにより、上記変換済みＩＰアドレスに宛てられたリターントラフィックは、上記第１のネットワークサービスにルーティングされる、段階と、
（ｈ）上記変更された送信元ＩＰアドレスを有する上記第１のパケットを転送する段階と、
（ｉ）上記ネットワークのサービスプロバイダから第２のパケットを受信する段階であって、上記第２のパケットは、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する、段階と、
（ｊ）上記第２のパケットが上記変換済みＩＰアドレスを有すると決定する段階と、
上記第２のパケットが上記変換済みＩＰアドレスを有すると決定された場合、
（ｋ）上記第１のＩＰアドレスで上記変換済みＩＰアドレスを置き換えるべく、上記第２のパケットの上記宛先ＩＰアドレスを変更する段階と、
（ｌ）上記変更された宛先アドレスを有する上記第２のパケットを転送する段階であって、上記変更する段階（ｇ）及び上記変更する段階（ｋ）は、上記第１のネットワークサービスを通って転送されるべきリターントラフィックが上記第１のネットワークサービスにルーティングされるようにする、段階と、
をさらに備える項目１から８の何れか一項に記載の方法。
［項目１０］
ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定するためのシステムであって、
ホスト名に宛てられた、上記ユーザのネットワークからのデータを上記第１のネットワークサービスにルーティングする命令をユーザから受信するポータルモジュールと、
上記ホスト名によって特定されたサーバを指す第１のＩＰアドレスを上記ホスト名に従って決定し、上記第１のネットワークサービスの第２のＩＰアドレスを決定するＤＮＳ検索モジュールと、
上記第１のＩＰアドレスに宛てられたデータを上記第２のＩＰアドレスにルーティングするようルーティングテーブルに具体的に命令するメッセージを上記ユーザのネットワークに送信するルータであって、それにより、上記メッセージは、上記第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスよりも、上記第１のネットワークサービス上にデータをルーティングするための上記ユーザのネットワーク上のルータの設定をもたらす、ルータと、
を備えるシステム。
［項目１１］
上記ＤＮＳ検索モジュールは、ドメイン名サービス上で上記ホスト名を検索して上記第１のＩＰアドレスを決定する、項目１０に記載のシステム。
［項目１２］
ＤＮＳ検索モジュールはローカルキャッシュ上で上記ホスト名を検索し、期限切れではないマッチが上記ローカルキャッシュ上で見つけられなかった場合、上記ドメイン名サービス上での上記ホスト名の上記検索が発生する、項目１１に記載のシステム。
［項目１３］
上記ホスト名が上記ドメイン名サービスから検索された後、ある時間が経過したと決定し、上記時間が経過したと決定された場合、上記ローカルキャッシュ内の上記ホスト名のエントリを期限切れにするリフレッシュモジュール
をさらに備える項目１２に記載のシステム。
［項目１４］
上記第１のネットワークサービス及び上記第２のネットワークサービスは、インターネットへの接続性を提供し、上記ルータは、ボーダーゲートウェイプロトコルサービスメッセージとして上記メッセージを上記ユーザのネットワークに送信する、項目１０から１３の何れか一項に記載のシステム。
［項目１５］
上記第２のネットワークサービスは、サービスプロバイダのネットワークを介して上記サービスプロバイダによって提供される、項目１４に記載のシステム。
［項目１６］
データをルーティングする上記命令は、上記第２のネットワークサービス上のトラフィックが利用レベルに達した場合、上記ホスト名を有するトラフィックを上記第１のネットワークサービスに切り替えるよう命令するビジネスルールを含み、上記システムは、さらに、
上記第２のネットワークサービス上のトラフィックが上記利用レベルに達したと決定するポリシーモジュールを備え、
上記ルータは、上記トラフィックが、（ｅ）において上記利用レベルに達したと決定された場合、上記メッセージを送信する、項目１５に記載のシステム。
［項目１７］
上記第２のネットワークサービスは、上記第１のネットワークサービスの上記サービスプロバイダとは異なる他のサービスプロバイダによって提供される、項目１４から１６の何れか一項に記載のシステム。
［項目１８］
上記ルータは、上記第１のネットワークサービス上で、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する第１のパケットを受信し、上記第１のパケットの上記宛先ＩＰアドレスは上記第１のＩＰアドレスであると決定し、上記ルータはさらに、
上記第１のパケットが上記第１のＩＰアドレスを有すると上記ルータが決定する場合：（ｉ）変換済みＩＰアドレスに宛てられたリターントラフィックが上記第１のネットワークサービスにルーティングされるように、上記変換済みＩＰアドレスで置き換えるべく上記第１のパケットの上記送信元ＩＰアドレスを変更し、（ｉｉ）上記変更された送信元ＩＰアドレスを有する上記第１のパケットを転送するアドレス変換モジュールを備え、
上記ルータは、上記ネットワークのサービスプロバイダから、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する第２のパケットを受信し、上記第２のパケットが上記変換済みＩＰアドレスを有すると決定し、
上記アドレス変換モジュールは、上記第２のパケットが上記変換済みＩＰアドレスを有すると上記ルータが決定する場合：（ｉ）上記第１のＩＰアドレスで上記変換済みＩＰアドレスを置き換えるべく上記第２のパケットの上記宛先ＩＰアドレスを変更し、（ｉｉ）上記変更された宛先アドレスを有する上記第２のパケットを転送し、それにより、上記第１のパケットの送信元アドレス及び上記第２のパケットの宛先アドレスの上記変更は、上記第１のネットワークサービスを通って転送されるべきリターントラフィックが上記第１のネットワークサービスにルーティングされるようにする、項目１０から１７の何れか一項に記載のシステム。
［項目１９］
ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定するための方法を少なくとも１つの機械に実行させるプログラムであって、当該方法は、
（ａ）ホスト名に宛てられた、上記ユーザのネットワークからのデータを特定のネットワークサービス上にルーティングする命令を上記ユーザから受信する段階と、
（ｂ）上記ホスト名によって特定されたサーバを指す第１のＩＰアドレスを上記ホスト名に従って決定する段階と、
（ｃ）上記特定のネットワークサービスの第２のＩＰアドレスを決定する段階と、
（ｄ）上記第１のＩＰアドレスに宛てられたデータを上記第２のＩＰアドレスにルーティングするよう上記ユーザのネットワーク上のルータに具体的に命令するメッセージを上記ユーザのネットワークに送信する段階であって、それにより、上記メッセージは、上記第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスよりも、上記第１のネットワークサービス上にデータをルーティングための上記ユーザのネットワーク上のルータの設定をもたらす、段階とを備える、
プログラム。
［項目２０］
上記方法は、さらに、
（ｅ）第１のネットワークサービス上で、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する第１のパケットを受信する段階と、
（ｆ）上記第１のパケットの上記宛先ＩＰアドレスが上記第１のＩＰアドレスであると決定する段階と、
上記第１のパケットが上記第１のＩＰアドレスを有すると決定された場合：
（ｇ）変換済みＩＰアドレスで置き換えるべく、上記第１のパケットの上記送信元ＩＰアドレスを変更する段階であって、それにより、上記変換済みＩＰアドレスに宛てられたリターントラフィックは、上記第１のネットワークサービスにルーティングされる、段階と、
（ｈ）上記変更された送信元ＩＰアドレスを有する上記第１のパケットを転送する段階と、
（ｉ）上記ネットワークのサービスプロバイダから第２のパケットを受信する段階であって、上記第２のパケットは、送信元ＩＰアドレス及び宛先ＩＰアドレスを有する、段階と、
（ｊ）上記第２のパケットが上記変換済みＩＰアドレスを有すると決定する段階と、
上記第２のパケットが上記変換済みＩＰアドレスを有すると決定された場合：
（ｋ）上記第１のＩＰアドレスで上記変換済みＩＰアドレスを置き換えるべく、上記第２のパケットの上記宛先ＩＰアドレスを変更する段階と、
（ｌ）上記変更された宛先アドレスを有する上記第２のパケットを転送する段階であって、上記変更する段階（ｇ）及び上記変更する段階（ｋ）は、上記第１のネットワークサービスを通って転送されるべきリターントラフィックが上記第１のネットワークサービスにルーティングされるようにする、段階をさらに備える、
項目１９に記載のプログラム。
［項目２１］
ユーザのネットワークをサービスプロバイダのネットワークと接続する第１のネットワークサービス上にデータをルーティングするようネットワークを設定するための、コンピュータによって実施される方法であって、
（ａ）名前によって特定されるホストに宛てられた、上記ユーザのネットワークからのデータを特定のネットワークサービスを通じてルーティングする命令をユーザから受信する段階と、
（ｂ）上記名前によって特定されたサーバを指す第１のＩＰアドレスを名前に従って決定する段階と、
（ｃ）上記特定のネットワークサービスの第２のＩＰアドレスを決定する段階と、
（ｄ）上記第１のＩＰアドレスに宛てられたデータを上記第２のＩＰアドレスにルーティングするよう上記ユーザのネットワーク上のルータに具体的に命令するメッセージを上記ユーザのネットワークに送信する段階であって、それにより、上記メッセージは、上記第１のＩＰアドレスを包含するより一般的なルーティングエントリを有する第２のネットワークサービスよりも、上記第１のネットワークサービス上にデータをルーティングするための上記ユーザのネットワーク上のルータの設定をもたらす、段階とを備える
コンピュータによって実施される方法。
【図１】
0006545695.tif 000002
【図２】
0006545695.tif 000003
【図３】
0006545695.tif 000004
【図４】
0006545695.tif 000005