(57)【特許請求の範囲】
【請求項１】
通信ネットワーク上でデータパケットを送信する第１のネットワークデバイスによって実行される方法であって、
サービスを識別するための機能インジケータを生成することと、
前記サービスのインスタンスを識別するためのインスタンスインジケータを生成することと、
ネットワークＩＤ及びサブネットＩＤを表す１以上のバイトからなるネットワークプレフィックスを含む第１セグメントと、第２のネットワークデバイス上で実行される前記サービスを識別する前記機能インジケータを含む第２セグメントと、前記サービスの前記インスタンスを識別する前記インスタンスインジケータを含む第３セグメントからなる直接アドレス指定可能な送信先アドレスを、前記第１ネットワークデバイス内で生成することと、
前記第１のネットワークデバイスで前記送信先アドレスを前記データパケットのヘッダに挿入することと、
前記第１のネットワークデバイスから前記第２のネットワークデバイスの前記生成された送信先アドレスへ前記データパケットを送信することと、を備え、
前記データパケットを前記送信先アドレスへ送信することは、前記データパケットを識別された前記サービスの識別された前記インスタンスをホスティングするネットワークデバイスへ転送することを含む、方法。
【請求項２】
前記データパケットに関連付けられているサービスを決定することと、
前記サービスに基づいて前記機能インジケータを生成することと、を更に備える、請求項１に記載の方法。
【請求項３】
前記データパケットに関連付けられている送信元アドレスを決定することと、
前記送信元アドレスの少なくとも選択された部分に基づいて前記インスタンスインジケータを生成することと、を更に備える、請求項１に記載の方法。
【請求項４】
前記インスタンスインジケータを生成することは、前記データパケット内のデータの少なくとも一部についてハッシュを実行することによって前記インスタンスインジケータを生成することを備える、請求項１に記載の方法。
【請求項５】
前記インスタンスインジケータを生成する方法を動的に選択することを更に備える、請求項１に記載の方法。
【請求項６】
前記データパケットを前記送信先アドレスに送信することは、前記識別されたサービスの前記識別されたインスタンスをホストする前記第２のネットワークデバイスに前記データパケットを転送することを備える、請求項１に記載の方法。
【請求項７】
前記直接アドレス指定可能な送信先アドレスを生成することは、前記機能インジケータと前記インスタンスインジケータとをプレフィックスに連結することを備える、請求項１に記載の方法。
【請求項８】
前記送信先アドレスはメディア・アクセス・コントロール（ＭＡＣ）アドレスを備える、請求項１に記載の方法。
【請求項９】
前記送信先アドレスはインターネットプロトコル（ＩＰ）アドレスを備える、請求項１に記載の方法。
【請求項１０】
通信ネットワーク上でデータパケットを送信するためのデバイスであって、
アプリケーションモジュールと、
前記アプリケーションモジュールを実行し、
ネットワークＩＤ及びサブネットＩＤを表す１以上のバイトからなるネットワークプレフィックスを含む第１セグメントと、第２のネットワークデバイス上で実行される前記サービスを識別する前記機能インジケータを含む第２セグメントと、前記サービスの前記インスタンスを識別する前記インスタンスインジケータを含む第３セグメントからなる直接アドレス指定可能な送信先アドレスを、前記第１ネットワークデバイス内で生成することと、
前記送信先アドレスをデータパケットのヘッダに挿入することと、
前記送信先アドレスに前記データパケットを送信することと、
を行なわせるコントローラと、を備え、
前記データパケットを前記送信先アドレスへ送信することは、前記データパケットを識別された前記サービスの識別された前記インスタンスをホスティングするネットワークデバイスへ転送することを含む、デバイス。
【請求項１１】
前記コントローラは更に、前記データパケットに関連付けられているサービスを決定し、前記サービスに基づいて前記機能インジケータを生成するように構成される、請求項１０に記載のデバイス。
【請求項１２】
前記コントローラは更に、前記データパケットに関連付けられている送信元アドレスを決定し、前記送信元アドレスの少なくとも選択された部分に基づいて前記インスタンスインジケータを生成するように構成される、請求項１０に記載のデバイス。
【請求項１３】
前記コントローラは更に、前記インスタンスインジケータを生成するために前記データパケット内のデータの少なくとも一部についてハッシュを実行するように構成される、請求項１０に記載のデバイス。
【請求項１４】
前記コントローラは更に、前記インスタンスインジケータを生成する方法を動的に選択し、前記選択された方法を使用して前記インスタンスインジケータを生成するように構成される、請求項１０に記載のデバイス。
【請求項１５】
前記コントローラは更に、前記送信先アドレスに基づいて前記識別されたサービスインスタンスをホストする前記ネットワークデバイスに前記データパケットを転送するように構成される、請求項１０に記載のデバイス。
【請求項１６】
前記直接アドレス指定可能な送信先アドレスは、メディア・アクセス・コントロール（ＭＡＣ）アドレスの一部と前記機能インジケータと前記インスタンスインジケータとを備える、請求項１０に記載のデバイス。
【請求項１７】
前記送信先アドレスは、メディア・アクセス・コントロール（ＭＡＣ）アドレスを備える、請求項１０に記載のデバイス。
【請求項１８】
前記送信先アドレスは、インターネットプロトコル（ＩＰ）アドレスを備える、請求項１０に記載のデバイス。
【請求項１９】
通信ネットワーク上で第２のネットワークデバイスにデータパケットを送信する第１のネットワークデバイスによって実行される方法であって、
前記第１のネットワークデバイスで、１つのアドレス空間を複数のアドレス部分空間に分割することと、
前記第１のネットワークデバイスで、各アドレス部分空間をサービスに関連付けることと、
前記第１のネットワークデバイスで、ネットワークＩＤ及びサブネットＩＤを表す１以上のバイトからなるネットワークプレフィックスを含む第１セグメントと、第２のネットワークデバイス上で実行される前記サービスを識別する前記機能インジケータを含む第２セグメントと、前記サービスの前記インスタンスを識別する前記インスタンスインジケータを含む第３セグメントからなるそれぞれ１つの直接アドレス指定可能な送信先アドレスを各アドレス部分空間内に割り当てることと、
前記第１のネットワークデバイスのアプリケーションで、前記第２のネットワークデバイスの任意のサービスについての割り当てられた直接アドレス指定可能な送信先アドレスに伝送するためのデータパケットを生成することと、
前記データパケットを、前記第２のネットワークデバイスの前記任意のサービスについての前記割り当てられた直接アドレス指定可能な送信先アドレスに送信することと、を備え、
前記データパケットを前記送信先アドレスに送信することは、前記データパケットを識別された前記サービスの識別された前記インスタンスをホスティングするネットワークデバイスへ転送することを含む、方法。
【請求項２０】
各アドレス部分空間をそれぞれ１つのサービスに関連付けることは各アドレス部分空間をそれぞれ１つのサービスに割り当てることを備える、請求項１９に記載の方法。
【請求項２１】
各アドレス部分空間をそれぞれ１つのサービスに関連付けることはそれぞれ１つのサービスを各アドレス部分空間に割り当てることを備える、請求項１９に記載の方法。
【請求項２２】
１つのアドレス空間を複数のアドレス部分空間に分割することは、前記通信ネットワークに利用可能な１つ以上のサービスに基づいてインターネットプロトコル（ＩＰ）アドレス空間の一部を分割することを備える、請求項１９に記載の方法。
【請求項２３】
１つのアドレス空間を複数のアドレス部分空間に分割することは、前記通信ネットワークに利用可能な１つ以上のサービスに基づいてメディア・アクセス・コントロール（ＭＡＣ）アドレス空間の一部を分割することを備える、請求項１９に記載の方法。
【請求項２４】
前記サービスに基づいて前記機能インジケータを生成することを更に備える、請求項１９に記載の方法。
【請求項２５】
前記通信ネットワーク上の１つ以上のネットワークデバイスに関連付けられている送信元アドレスの少なくとも選択された部分に基づいて前記インスタンスインジケータを生成することを更に備える、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的には通信ネットワークのためのアドレス指定方式に関し、またより具体的には通信ネットワークを経由してデータパケットの経路を指定するための機能アドレス指定方式に関する。
【背景技術】
【０００２】
通信プロトコルの大部分は、通信ネットワークを経由してデータパケットの経路を指定するために位置に基づくアドレス指定方式を使用する。例えば、公衆コンピュータネットワークおよび私設コンピュータネットワークは、データのパケットの経路を指定するためにインターネットプロトコル（ＩＰ）アドレスを使用する。ＩＰアドレスは、特定のネットワークデバイスに対してデータパケットの経路を指定するためには有用であるが、ＩＰアドレスは、ネットワークにおけるネットワークデバイスの位置に基づいてこのネットワークデバイスを識別する情報しか持っていない。ＩＰアドレスは、ネットワークデバイスの機能的能力に関する情報を何も備えていない。
【０００３】
位置に基づくアドレスの使用は有用であるが、可能な限り効率的ではない。特に従来のプロトコルにおいては、アプリケーションクライアントはユニフォームリソースロケータ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒｓ：ＵＲＬ）といった論理識別子だけを処理することができ、これらの論理識別子を位置に基づく識別子に変換することをネットワークに要求する。しかしながらこれによって、ネットワークデバイスがサービスに追加されるとき、またはサービスから除去されるときに新しい情報で更新されなくてはならない変換テーブルがネットワーク全体にわたって配布されなければならない。このような変換テーブルの一例は、シグナリング（信号伝達）システム＃７（ＳＳ７）で使用されるグローバルタイトル変換（ＧＴＴ）テーブルである。ダイナミック・ネーム・サービス（ＤＮＳ）は別の例である。
【０００４】
位置に基づくアドレス指定方式が、ネットワークデバイスがネットワーク内のどこに位置するかを定義する情報を保持していることは有用である。しかしながら位置に基づくアドレス指定方式は、そのネットワークデバイスの機能的能力を示し得る情報を保持しない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、直接アドレス指定可能な送信先アドレスを使用して通信ネットワーク上でデータパケットを送信する。送信先アドレスは、ネットワークにおけるデバイスの位置とこれらのデバイスによってホストされるサービスとに関する情報を備える。
【課題を解決するための手段】
【０００６】
特に通信ネットワークは、各々が１つ以上のサービスとこれらのサービスのインスタンス（ｉｎｓｔａｎｃｅｓ）とをホストし得る１つ以上のネットワークデバイスを含む。通信ネットワークはまた、データパケットの経路を指定するためにインターネットプロトコル（ＩＰ）またはメディア・アクセス・コントロール（ＭＡＣ）アドレス指定方式といった従来のアドレス指定方式を使用する。機能情報をこれらのアドレスにマッピングするためにネットワークオペレータは、ネットワークデバイスによってホストされるサービスに基づいてアドレス空間を複数のアドレス部分空間に分割する。そしてネットワークオペレータは、これらのサービスを各アドレス部分空間内の送信先アドレスにマッピングする。結果として得られた送信先アドレスは、従来のアドレス指定方式にしたがってフォーマット化されるが、ネットワークデバイスに関する位置情報ばかりでなくネットワークの機能トポロジーに関する情報も備える。
【０００７】
一実施形態ではネットワーク上のコンピューティングデバイスは、別のネットワークデバイスによってホストされるサービスに関するデータパケットを生成するアプリケーションを含む。これらのデータパケットを生成するときにコンピューティングデバイスは、機能インジケータとインスタンスインジケータとを生成する。機能インジケータは別のネットワークデバイスによってホストされる目標サービスを識別し、インスタンスインジケータはこのサービスのインスタンスを識別する。アプリケーションは、機能識別子とインスタンス識別子とを使用して送信先アドレスを形成して、この送信先アドレスをデータパケットに挿入する。そしてアプリケーションは、ネットワーク上でデータパケットを送信先アドレスに送信する。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態にしたがって生成された直接アドレス指定可能な送信先アドレスを示す図である。
【０００９】
【図２】本発明の一実施形態にしたがって分割されたアドレス空間を示す図である。
【００１０】
【図３】本発明の別の実施形態にしたがって生成された直接アドレス指定可能な送信先アドレスを示す図である。
【００１１】
【図４】本発明の一実施形態にしたがって生成された直接アドレス指定可能な送信先アドレスを有するデータパケットの経路を通信ネットワークがどのように指定し得るかを示すブロック図である。
【００１２】
【図５】本発明の一実施形態にしたがってデータパケットのために直接アドレス指定可能な送信先アドレスを生成する方法を示す流れ図である。
【００１３】
【図６】本発明の一実施形態による使用に適したネットワークデバイスの構成要素の一部を示すブロック図である。
【発明を実施するための形態】
【００１４】
本発明は、通信ネットワーク上でデータパケットを送信する方法を提供する。通信ネットワークは、ネットワークを介してデータパケットの経路を指定するためにＩＰアドレスといった従来のアドレス指定方式を使用し得る。ＩＰアドレスは従来から、ネットワークに接続されたデバイスの位置を識別するが、このネットワークデバイスによって与えられる機能またはサービスに関する如何なる情報も与えない。本発明は、ネットワークデバイス機能を所与のアドレス空間内のＩＰアドレスにマッピングする方法を提供する。より詳細に下記に記載されるように、種々の機能またはある機能の種々のインスタンスは、あるＩＰアドレスの特定のビットまたはバイトにマッピングされ得る。したがってＩＰアドレスは、ネットワークデバイスに関する位置情報とネットワークの機能トポロジーに関する情報とを備えるように生成され得る。本発明は、ネットワーク管理者またはネットワーク設計者がアドレス空間の少なくとも一部を自由に操作できる場合に実施され得る。
【００１５】
図１は、機能トポロジー情報が本発明の一実施形態にしたがってどのように従来のＩＰｖ４アドレス１０にマッピングされ得るかを示す。ＩＰアドレス１０の第１および第２のバイトは、図１では「１９２．１６８」であるネットワークプレフィックス１２を備える。ネットワークプレフィックス１２を形成するこれらのバイトは、従来のようにネットワークＩＤとサブネットＩＤとを示す固定された値である。「固定された」は、ネットワークオペレータまたはネットワーク設計者がこれらの値を自由に操作できないことを意味する。しかしながらネットワークオペレータは、ＩＰアドレス１０の第３および第４のバイトを自由に操作できる。
【００１６】
この実施形態ではＩＰアドレス１０の第３のバイトは、ネットワークデバイスに関連付けられている機能またはサービスを識別するための機能インジケータ１４として使用される。例えばネットワークデバイスは、電子メール用のＳＭＴＰサーバ、ＨＴＴＰサーバ、ドメイン名サーバなどとして機能し得る。これらのサービスの各々は、機能インジケータ１４に関して異なる値を有する。図１の機能インジケータ１４に関する値は「５０」であるが、この値は「固定されて」いない。ＩＰｖ４アドレス指定方式を使用するとき機能インジケータ１４は、サービスに依存して０と２５５との間の如何なる値もとり得る。これによって、ネットワークの設計者またはオペレータが最大２５６個の異なる機能またはサービスを識別することができる。
【００１７】
同様に、ＩＰアドレス１０の第４のバイトは、あるサービスのある特定のインスタンスを識別するためのインスタンスインジケータ１６として使用される。特にネットワークは、ある所与の機能またはサービスの多数のインスタンスを持ち得る。多数のサービスインスタンスは、単一のネットワークデバイスによってホストされ得る、または数台のネットワークデバイスによってホストされ得る。したがってインスタンスインジケータ１６は、データパケットの経路を、あるサービスのどの特定のインスタンスに指定されるべきであるかを識別する。一例として図１は、インスタンスインジケータ１６を一般的に「ＹＹＹ」として示している。機能インジケータ１４と同様にインスタンスインジケータ１６は、ＩＰｖ４フォーマットを使用して０と２５５との間の如何なる値もとり得る。したがって、ネットワークオペレータは機能インジケータ１４によって識別された各サービスに関して最大２５６個のインスタンスを識別し得る。
【００１８】
図１の実施形態はある機能を識別するためにある１バイト全部を使用し、この機能の、あるインスタンスを識別するために別の１バイト全部を使用するが、当業者は機能とインスタンスとの間には別の割当ても可能であることを理解する。別の実施形態では、例えば第３のバイトの４個の最上位ビットは機能を示すために使用されるが、第３のバイトの最下位ビットと第４のバイト全体はこの機能のインスタンスを示すために使用される。この割当てによって、より少ないサービスしかマッピングすることができないが、所与のサービスについては２５６より多いインスタンスをマッピングすることができる。別の実施形態ではネットワークオペレータは、１つの機能と１つのインスタンスとを示すためにＩＰアドレス１０の利用可能な全てのバイトを使用してもよい。機能とインスタンスとを示すためにＩＰアドレス１０内のバイトをさらに異なるように分割することもできる。
【００１９】
実際に、ネットワーク管理者またはネットワーク設計者は、共通の機能を実行するネットワークデバイスが同じ機能インジケータ１４を有するが異なるインスタンスインジケータ１６を有するＩＰアドレスを使用するようにＩＰアドレスを割り当てる。例えば、図２は、ネットワーク設計者が自由に操作できるアドレス空間２０を示す。この実施形態では、ネットワーク設計者は、アドレス空間２０を複数のアドレス部分空間２２に分割する。そしてネットワーク設計者は、各アドレス部分空間２２をそれぞれ１つの機能に関連付ける、あるいは代替として各機能をそれぞれ１つのアドレス部分空間２２に関連付ける。そしてネットワーク設計者は、各アドレス部分空間２２内のＩＰアドレス１０を対応する機能のインスタンスに割り当てる。
【００２０】
図２に見られるように各アドレス部分空間２２は、最大２５６個の異なるＩＰアドレス１０を含み得る。各ＩＰアドレス１０は、ネットワークデバイス上でインスタンスを実行するサービスを識別する。各ＩＰアドレス１０は、ネットワークＩＤとサブネットＩＤとを示すために「１９２．６８」というネットワークプレフィックス１２を含む。前述のようにＩＰアドレス１０のこの部分は、この実施形態では固定されており、位置に基づく情報を保持している。各アドレス部分空間２２はまた、機能インジケータ１４によって識別される異なる機能に関連付けられる。ここで影付けされたアドレス部分空間２２は、「５０」という機能インジケータ１４を有するＩＰアドレス１０を有する。他のアドレス部分空間２２は、異なる機能またはサービスに関連付けられており、またしたがって異なる機能インジケータ１４を有する。最後に各アドレス部分空間２２内のＩＰアドレス１０は各機能の最大２５６個のインスタンスを持つことができ、各インスタンスは０と２５５との間で番号付けされた異なるインスタンスインジケータ１６を使用して識別される。
【００２１】
この方法でＩＰアドレス１０をネットワークデバイスに割り当てることによって、ネットワーク設計者は、論理識別子を使用する必要性をなくすことができ、さらに論理識別子を対応する従来のＩＰアドレスに変換するための変換テーブルを保持する必要性をなくすことができる場合もある。その代わりにネットワークデバイス上のアプリケーションは、実行されるべき機能に基づいて他のネットワークデバイス上で実行する他のアプリケーションとサービスとを直接アドレス指定するためにＩＰアドレス１０を使用することができる。
【００２２】
図１および図２はＩＰｖ４アドレスを使用する本発明を示しているが、当業者は他のアドレス指定方式も本発明によく適していることを理解する。更に「自由に操作可能なバイト」の数は、アドレス指定方式に依存して変わる。例えば、上記のＩＰｖ４アドレスによってネットワーク設計者は、アドレスの１〜３バイトを操作する自由度を持つことができ、またしたがって機能インジケータ１４とインスタンスインジケータ１６とを保持するためにこれらのバイトを使用することができる。しかしながら他の実施形態では、ネットワーク設計者は、機能アドレス指定方式のためにＩＰｖ６アドレスを使用し得る。ＩＰｖ６プロトコルによってネットワーク設計者は、選択された複数のバイトを自由に操作でき、また機能インジケータ１４とインスタンスインジケータ１６とを保持するためにＩＰｖ６アドレスを使用できる。
【００２３】
図３は、直接アドレス指定可能な送信先アドレスの別の実施形態を示す。特にネットワーク設計者は、機能インジケータ１４とインスタンスインジケータ１６とを含むようにメディア・アクセス・コントロール（ＭＡＣ）アドレスを操作できる。
【００２４】
当分野で知られているように、ＭＡＣアドレスはハードウエアアドレスである。これらは通常、ネットワークデバイスにおける特定のネットワークアダプタまたはネットワーク・インタフェース・カード（ＮＩＣ）に関連付けられており、ネットワーク内のアダプタの物理的位置には無関係である。通常、製造業者はこれらの特定のデバイスのためにＭＡＣアドレスを設定するが、ネットワーク設計者もまたこのアドレス空間の少なくとも一部分に対して制御権を有する。上記のＩＰアドレス１０と同様にネットワーク設計者は、この自由度を活用して彼らの特定のネットワークの必要性によく適合するようにＭＡＣアドレスの少なくとも一部を操作することができる。
【００２５】
図３は、６バイトを備える４８ビットＭＡＣアドレス３０を示す。最初の３バイトは、この場合「００：０８：７９」である「固定された」プレフィックス３２である。プレフィックス３２は、サービスインスタンスをホストするネットワークデバイスの製造業者を定義してもよいし、ネットワーク設計者によって割り当てられた所定値であってもよい。ＭＡＣアドレス３０内の第４のバイト（すなわち「５０」）はサービスを示すための機能インジケータ１４として使用される。ＭＡＣアドレス３０内の第５および第６のバイト（すなわち「２Ｆ：８１」）は、インスタンスインジケータ１６として使用される。上記のように、本発明は機能インジケータ１４とインスタンスインジケータ１６とをバイト境界に限定せず、また機能とインスタンスとを示すためのＭＡＣアドレス３０内のビットの他の割当ても可能である。例えばネットワークオペレータは、プレフィックス３２、機能インジケータ１４およびインスタンスインジケータ１６を定義するためにＭＡＣアドレス３０の利用可能なビットの全てを自由に操作できる。
【００２６】
動作時にネットワーク設計者は、図２に関して前に説明されたのと同様の方法でＭＡＣアドレス空間の利用可能な部分を分割し得る。特にネットワークオペレータは、ＭＡＣアドレス空間を複数のアドレス部分空間に分割してそれぞれ１つの機能を各アドレス部分空間に関連付け得る。そしてネットワーク設計者は、それぞれ１つのＭＡＣアドレス３０をアドレス部分空間内の機能の各インスタンスに割り当て得る。
【００２７】
本発明によれば、あるネットワークデバイスによってホストされるアプリケーションは、データパケットに関連付けられているサービスに基づいて他のネットワークデバイス上の機能にこれらのデータパケットを送信できる。例としてブラウザアプリケーションによって生成されたパケットは、ＨＴＴＰサーバによってホストされるＨＴＴＰサービスインスタンスに送信される。同様にまた、電子メールクライアントによって生成されたパケットは、ＳＭＴＰサーバによってホストされるＳＭＴＰサービスインスタンスに送信され得る。本発明によって行われるようなサービスに対して配信するためにデータパケットをアドレス指定することは、位置に基づくアドレス指定方式によってデータパケットの経路を指定する従来技術のシステムからは逸脱している。具体的には、従来の方式は、ネットワークデバイスに関する位置情報だけを与える。しかしながら本発明のアドレス指定方式は、ネットワークの機能トポロジーに関する情報も与える。
【００２８】
実際に、ネットワークデバイス上で実行するアプリケーションは、データパケットに関して直接アドレス指定可能な送信先アドレスを生成する。一実施形態ではこれは、プレフィックス１２またはプレフィックス３２といったネットワークプレフィックスを決定して、機能インジケータ１４とインスタンスインジケータ１６とをこのプレフィックスに付加することによって達成される。送信先アドレスが形成されると、アプリケーションは送信先アドレスを各データパケットに挿入して、ネットワーク上でこのデータパケットをその送信先アドレスに送信する。これによって、変換テーブルを作成して保持し、これらの変換テーブルをネットワーク全体にわたって配信する必要性がなくなる。
【００２９】
アプリケーションは、多数の方法のうちの任意の方法によって送信先アドレスの構成要素を生成し得る。例えば、ネットワークプレフィックスは、データパケットを生成するアプリケーションに事前に知られた値である。これはアプリケーションにハードコード化されているか、あるいはメモリに記憶されて、アプリケーションが利用できる。プレフィックスは、ネットワークデバイスの製造業者を識別する固定された値であるような実施形態もある。プレフィックスは、ネットワーク設計者によって割り当てられた所定値を備えるような実施形態もある。送信先アドレスを生成するアプリケーションは、この値を送信先アドレスに入れるだけでよい。
【００３０】
同様にアプリケーションは、予め定義された一定値から機能インジケータ１４を生成し得る。例えば、値「５０」がＨＴＴＰサーバ向けのデータパケットを識別することになっていれば、これらのパケットを生成するアプリケーション（例えばブラウザ）は単に、各データパケットに関してネットワークプレフィックスに「５０」を付加する。他の実施形態ではアプリケーションは、データパケットが送信されるポートまたはソケットを監視して、そのＩＤを機能インジケータ１４として使用する可能性がある。例えば、全てのＨＴＴＰパケットがソケット「８０」上で送信されるならば、アプリケーションは値「８０」を機能インジケータ１４として使用し得る。ＭＡＣアドレス３０が使用される場合にはアプリケーションは、ソケットＩＤを１６進数（すなわち「５０」）に変換して、この１６進数の同等値を機能インジケータ１４として使用する可能性がある。ある幾つかの実施形態ではアプリケーションは、各々が異なる所定値によって識別される異なる機能のテーブルを保持して、アプリケーションが生成しているデータパケットのタイプに基づいてこのテーブルから機能インジケータ１４に関する値を選択し得る。
【００３１】
アプリケーションがインスタンスインジケータ１６を作成し得る種々の異なる方法も存在する。一実施形態ではアプリケーションは、それ自身のホストＩＤを使用する。ＭＡＣアドレス指定が使用される場合、アプリケーションは先ず、ホストＩＤ値を１６進値に変換して、これらの値を送信先アドレスに付加し得る。他の実施形態ではアプリケーションはそのホストＩＤを、または文字列、メッセージコンテンツ、または送信元ＩＰアドレスまたは送信先ＩＰアドレスのようなＩＰアドレスといったデータフィールドの一部または全部をハッシュする。ある幾つかの実施形態ではアプリケーションは、いったん機能インジケータ１４が決定されると、データパケットのレイヤー２〜レイヤー４に含まれた如何なる情報もハッシュし得る。そして、使用された方法とは無関係に典型的にはある範囲内に拘束される、結果として得られたハッシュ値は、インスタンスインジケータ１６として付加される。アプリケーションが、ある範囲の値からある値をランダムに生成または選択するためのアルゴリズムを使用できる場合もある。ランダムな配信を想定すると、この方法でデータパケットに関する送信先アドレスを生成することは、ネットワーク負荷をバランスさせる助けとなり得る。
【００３２】
更にアプリケーションは、インスタンスインジケータ１６を生成する方法を動的に選択し得る。選択は例えば、現在の、または予期された負荷状態に基づく、またはネットワークオペレータによって入力されたパラメータに基づく可能性がある。ネットワークオペレータはインスタンスインジケータ１６を生成するために使用されるパラメータの１つ以上を指定できる場合や、インスタンスインジケータ１６を生成する新しい方法、または修正された方法を導入できる場合もある。この機能を達成するために任意の数の方法が存在するが、一実施形態ではパラメータおよび／または生成方法はｅＸｔｅｎｄｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（拡張マーク付け言語）（ＸＭＬ）ファイルに記述されている。ネットワークオペレータは、インスタンスインジケータを生成するアプリケーションがこのファイルにアクセスできるようにネットワーク上にこのファイルを配置する。
【００３３】
図４は、ネットワークが本発明にしたがって形成されたＭＡＣアドレスを使用してデータパケットの経路を指定し得る１つの方法を示す。図４は、複数のネットワークデバイス６０を相互接続するネットワークインフラストラクチャ５０を有するローカルエリアネットワーク（ＬＡＮ）４０を示す。ＬＡＮ４０は、例えばイーサネットネットワークであり得る。当分野において知られているように、イーサネットネットワークは広く利用可能であり、種々の異なる速度でデータを搬送する。データパケットを１００メガビット／秒で伝達するイーサネットネットワークもあるが、データを１ギガビット／秒で搬送するイーサネットネットワークもある。しかしながらネットワークの特定のタイプもネットワークの速度も本発明にとって重要でない。当業者は、本発明が如何なるタイプの通信ネットワークによってでも機能すること、およびイーサネットネットワークのようなＬＡＮ４０の特徴説明が単に説明目的のためであることと、を理解されるはずである。
【００３４】
ネットワークインフラストラクチャ５０は、ネットワークデバイス６０の各々に、また各々からデータのパケットを送信するために必要なハードウエアおよびソフトウエア構成要素を含む。この実施形態ではネットワークインフラストラクチャ５０はレイヤー２スイッチ５２を含むが、他のタイプのスイッチも本発明での使用に適している。スイッチ５２はデータリンク層のメディア・アクセス・コントロール（ＭＡＣ）サブレイヤーで動作し、特定用途向け集積回路（ＡＳＩＣ）５４と結合テーブル５６とを備える。ネットワークデバイス６０の各々は、それぞれの物理ポート７０、７２、７４、７６を介してスイッチ５２に接続する。
【００３５】
上記のように各ネットワークデバイス６０は、サービス６４の１つ以上のインスタンスをホストする。例えばサービス６４は、ＨＴＴＰサービス、ＳＭＴＰサービスなどといった機能の１つ以上のインスタンスを備え得る。各サービスの各インスタンスは、この実施形態では前に記載されたＭＡＣアドレス３０を備える直接アドレス指定可能な送信先アドレスを使用して識別される。各サービスのアドレスは、プレフィックス３２と機能インジケータ１４とインスタンスインジケータ１６とを有する。
【００３６】
更に各ネットワークデバイス６０は、アプリケーション６２を備える。アプリケーションは、例えばネットワークデバイス６０によってホストされる種々のサービス６４によってデータパケットを通信するウェブブラウザ、メールクライアントなどであり得る。本発明によれば、アプリケーション６２は、各データパケットに関して機能の送信先アドレスを生成してこのパケットをスイッチ５０に送信する。受信時にスイッチ５０はこれらのデータパケットを受信し、それらの送信先アドレスに基づいて対応する物理ポートにパケットを送信する。
【００３７】
特に、ＡＳＩＣ５４は、ＭＡＣアドレス３０を決定するためにデータパケットがアプリケーション６４から到着したときにこれらのデータパケットを検査する。例えば、ＡＳＩＣ５４は、関連付けられているＭＡＣアドレス３０を決定するために着信データパケットのヘッダを検査できる。そしてＡＳＩＣ５４は、データパケットの経路をどこに対して指定すべきかを決定するために、受信されたＭＡＣアドレス３０を結合テーブル５６に記憶されている情報と比較する。この実施形態では結合テーブル５６は、ＭＡＣアドレス３０を対応する物理ポート番号７０、７２、７４、７６にマッピングする。一致が見出されればＡＳＩＣ５４は、対応する物理ポートを決定してデータパケットをこのポートに送信する。一致が見出されなければこのデータパケットは落とされ得るか、あるいはスイッチ５２はデータパケットをデフォルトポートに送信し得る。
【００３８】
図５は、アプリケーション６２が機能アドレスを生成する方法８０を示す流れ図である。単に明白さのために、図５はＭＡＣアドレス３０を生成するような方法８０を示しているが、方法８０が他のタイプのアドレスを生成するためにも同様に使用され得ることは理解されるべきである。
【００３９】
方法８０は、アプリケーション６２がＭＡＣアドレス３０に関するネットワークプレフィックスを決定したときに始まる（ボックス８２）。そしてアプリケーション６２はデータパケットに関連付けられているサービスに基づいて機能インジケータ１４を生成し（ボックス８４）、インスタンスインジケータ１６を生成する（ボックス８６）。この実施形態ではインスタンスインジケータ１６はホスト元ＩＤに基づいて生成されるが、前述のように本発明はこの方法だけに限定されない。当業者は、インスタンスインジケータ１６を生成するための他の方法も存在することをすぐに理解される。いったんアプリケーション５６が機能インジケータ１４とインスタンスインジケータ１６とを生成すると、このアプリケーションはデータパケットに関してＭＡＣアドレス３０を形成する（ボックス８８）。そしてアプリケーション６２はこのＭＡＣアドレス３０をデータパケットに挿入して（ボックス９０）、インフラストラクチャ５０を介してデータパケットをこのアドレスに送信する（ボックス９２）。スイッチ５２はデータパケットを受信し、ヘッダを検査し、このデータパケットをＭＡＣアドレス３０によって識別された特定のサービスインスタンスに送信する。
【００４０】
前述の実施形態のようにＭＡＣアドレス３０とレイヤー２スイッチとを使用することは有利である。例えばＭＡＣアドレスは、ネットワークデバイス６０に関連付けられている如何なる位置情報からも分離される。更にレイヤー２スイッチは一般に、ネットワークデバイスがネットワークに付加されるとき、またはネットワークから除去されるときにはいつでも新しい、または変更されたＭＡＣアドレスを発見するための能力を含む。特にＡＳＩＣ５４は、ネットワークデバイス６０の割り当てられたＭＡＣアドレス３０を決定するために定期的にネットワークデバイス６０に問い合わせることができる。したがってネットワークデバイスがサービスに入れられる、またはサービスから出されるときはいつでも、ＡＳＩＣ５４は、ＭＡＣアドレス３０を、またこのアドレスにおけるサービスとサービスのインスタンスとについて、迅速に発見または「学習」でき、それに応じてこれらの変化を反映するように結合テーブル５６を更新できる。これらの更新は、自主的であってネットワーク全体にわたってこれらの変化を配信する必要はない。
【００４１】
しかしながら前述の実施形態のようにＭＡＣアドレス３０を使用することは、本発明が機能するためには必要とされない。他の実施形態は例えば、ホストデバイスにおいて完全なアドレスを生成できる。
【００４２】
図６は、例示的ネットワークデバイス６０の構成要素の一部を示す。ネットワークデバイス６０は、アプリケーション６２とサービス６４とを実行できるだけでなく、インフラストラクチャ５０を介して他のネットワークデバイスにデータを伝達することもできるサーバといったコンピューティングデバイスであり得る。これを達成するためにネットワークデバイス６０は典型的には、コントローラ１００と、メモリ１０２と、ユーザインタフェース１０４と、通信インタフェース１０６とを備える。コントローラ１００は、メモリ１０２に記憶されたプログラムとデータとにしたがってネットワークデバイス６０の機能性を制御する。これはアプリケーション６２とサービス６４の多数のインスタンスとを含むが、これらに限定されない。ユーザインタフェース（ＵＩ）１０４はとりわけ、ユーザがコマンドを入力することを、そうでなければデバイス６０と対話することを可能にするために表示装置（図示せず）とキーボード（図示せず）とを備える。通信インタフェース１０６は例えば、ネットワークデバイスをスイッチ５２上の物理ポート７０、７２、７４または７６の１つに通信可能に接続するイーサネットインタフェースであり得る。通信インタフェース１０６は、デバイス６０が他のネットワークデバイスとデータパケットを通信することを可能にする。
【００４３】
本発明が本発明の本質的特性から逸脱せずに特に本明細書において説明された方法とは別の方法で実施され得ることは当然のことである。したがって本実施形態は全ての点において例示的なものであって限定的なものでないと考えられるべきであり、また添付の特許請求の範囲の意味および均等の範囲内に入る全ての変化は本発明に含まれるものと意図されている。
【図１】
0005588345.tif 000002
【図２】
0005588345.tif 000003
【図３】
0005588345.tif 000004
【図４】
0005588345.tif 000005
【図５】
0005588345.tif 000006
【図６】
0005588345.tif 000007