(57)【特許請求の範囲】
【請求項１】
通信ネットワーク内のユーザデータグラムプロトコル（ＵＤＰ）中継の方法であって、
通信デバイスからのブロードキャストメッセージのヘッダに含まれるＵＤＰポート番号を識別するステップと、
マッピングテーブルおよびＵＤＰポート番号に基づいて宛先サーバのインターネットプロトコル（ＩＰ）アドレスを確認するステップであって、マッピングテーブルが対応する宛先サーバのＩＰアドレスへマッピングする複数のＵＤＰポート番号のリストを含む、確認するステップと、
修正されたメッセージを得るために少なくともＩＰアドレスに基づいてメッセージを修正するステップと、
修正されたメッセージを宛先サーバにユニキャストするステップとを含んでおり、
修正するステップが、
メッセージの宛先ＩＰアドレスフィールドに宛先サーバのＩＰアドレスを含めるために、メッセージのヘッダを処理するステップと、
メッセージの宛先メディアアクセスコントロール（ＭＡＣ）アドレスをネクストホップルータのＭＡＣアドレスによって置き換えるステップと、
メッセージの送信元ＭＡＣアドレスをＵＤＰ中継器のルータＭＡＣアドレスによって置き換えるステップであって、ＵＤＰ中継器が、前記メッセージが発信されるホームネットワーク内にある、置き換えるステップと
を含む、方法。
【請求項２】
修正するステップが、メッセージのＴＴＬ値を決定するステップと、１より大きいＴＴＬ値メッセージについて、メッセージのＴＴＬ値を１だけ減少させるステップとをさらに含む、請求項１に記載の方法。
【請求項３】
決定するステップが、１より小さいメッセージのＴＴＬ値について、メッセージを破棄するステップをさらに含む、請求項２に記載の方法。
【請求項４】
メッセージが発信元ＩＰアドレスをさらに含み、発信元ＩＰアドレスが通信デバイスのＩＰアドレスを含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
プロセッサ（１１０）と、
プロセッサ（１１０）に結合された処理モジュール（１２２）であって、
通信デバイス（１０６）からのブロードキャストメッセージのヘッダに含まれるＵＤＰポート番号を識別するステップと、
マッピングテーブルおよびＵＤＰポート番号に基づいて宛先サーバのインターネットプロトコル（ＩＰ）アドレスを確認するステップであって、マッピングテーブルが対応する宛先サーバのＩＰアドレスへマッピングする複数のＵＤＰポート番号のリストを含み、および、
修正されたメッセージを得るために少なくともＩＰアドレスに基づいてメッセージを修正するステップを行うように構成された処理モジュール（１２２）を備え、
修正するステップが、
メッセージの宛先ＩＰアドレスフィールドに宛先サーバのＩＰアドレスを含めるために、メッセージのヘッダを処理するステップと、
メッセージの宛先メディアアクセスコントロール（ＭＡＣ）アドレスをネクストホップルータのＭＡＣアドレスによって置き換えるステップと、
メッセージの送信元ＭＡＣアドレスをＵＤＰ中継器のルータＭＡＣアドレスによって置き換えるステップであって、ＵＤＰ中継器が、前記メッセージが発信されるホームネットワーク内にある、置き換えるステップとを含み、さらに、
修正されたメッセージを宛先サーバにユニキャストするように構成される、プロセッサ（１１０）に結合されたネットワークモジュール（１２４）を備える、ＵＤＰ中継器（１０８）。
【請求項６】
処理モジュール（１２２）が、
メッセージのＴＴＬ値を決定し、１より大きいメッセージのＴＴＬ値について、メッセージのＴＴＬ値を１だけ減少させるステップ
を行うようにさらに構成される、請求項５に記載のＵＤＰ中継器（１０８）。
【請求項７】
処理モジュール（１２２）が、１より小さいメッセージのＴＴＬ値について、メッセージを破棄するようにさらに構成される、請求項６に記載のＵＤＰ中継器（１０８）。
【請求項８】
プロセッサ（１１０）に結合された対話モジュール（１２０）をさらに備え、対話モジュール（１２０）が通信デバイス（１０６）からメッセージを受信するように構成される、請求項５に記載のＵＤＰ中継器（１０８）。
【請求項９】
通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継のための方法を実行するためのコンピュータプログラムが組み込まれたコンピュータ読み取り可能な媒体であって、方法が、
通信デバイスからのブロードキャストメッセージのヘッダに含まれるＵＤＰポート番号を識別するステップと、
マッピングテーブルおよびＵＤＰポート番号に基づいて宛先サーバのインターネットプロトコル（ＩＰ）アドレスを確認するステップであって、マッピングテーブルが、対応する宛先サーバのＩＰアドレスへマッピングする複数のＵＤＰポート番号のリストを含む、確認するステップと、
修正されたメッセージを得るために少なくともＩＰアドレスに基づいてメッセージを修正するステップと、
修正されたメッセージを宛先サーバにユニキャストするステップとを含んでおり、
修正するステップが、
メッセージの宛先ＩＰアドレスフィールドに宛先サーバのＩＰアドレスを含めるために、メッセージのヘッダを処理するステップと、
メッセージの宛先メディアアクセスコントロール（ＭＡＣ）アドレスをネクストホップルータのＭＡＣアドレスによって置き換えるステップと、
メッセージの送信元ＭＡＣアドレスをＵＤＰ中継器のルータＭＡＣアドレスによって置き換えるステップであって、ＵＤＰ中継器が、前記メッセージが発信されるホームネットワーク内にある、置き換えるステップと
を含む、コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関し、具体的にはＩＰアドレスに基づくＵＤＰ中継を利用する通信システムに関するが、これに限定されない。
【背景技術】
【０００２】
インターネットプロトコル（ＩＰ）を利用する通信ネットワークでは、音声および／または映像（Ａ／Ｖ）データなどの実時間データは、通常、ユーザデータグラムプロトコル（ＵＤＰ）を使用して送信される。ＵＤＰ通信では、例えば送信デバイスなどの通信デバイスは、例えば仮想ローカルエリア接続（ＶＬＡＮ）などの同じネットワーク内または異なるネットワーク内のサーバに何らかのデータを送信しようと意図する。ある場合には、送信デバイスはサーバのＩＰアドレスを知らず、送信デバイスは、データをメッセージとして同じネットワーク内にブロードキャストする。このようにブロードキャストされるメッセージは、送信デバイスと同じネットワーク内にあるすべての通信デバイスによって受信され、同じネットワークのサーバとして働く通信デバイスには保持され、他の通信デバイスには破棄される。サーバは続いて送信デバイスに応答メッセージを送信して、通信経路を開始してもよい。
【０００３】
さらに、同じネットワーク内にサーバが存在しない場合は、同じネットワークに接続されたＵＤＰ中継器が、別のネットワークまたは別のＵＤＰ中継器にメッセージをブロードキャストしてもよく、そのネットワークまたはＵＤＰ中継器は、サーバが接続されたネットワークにメッセージがブロードキャストされるまで、次々に、他のネットワークにメッセージを送信してもよい。しかし、ＵＤＰ中継器のメッセージブロードキャスト機構は、通常、サーバへの経路の中の中間ネットワーク部分にメッセージのフラッディングおよびクラッタリングを引き起こし、ネットワークが輻輳する。さらに、メッセージのブロードキャストに複数のＵＤＰ中継器を使用すると、費用が増加する。
【発明の概要】
【課題を解決するための手段】
【０００４】
この概要は、通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継の概念を導入するためのものである。この概要は、請求項に記載された発明の不可欠な特徴を識別することを意図せず、特許請求の範囲に記載された発明の範囲を決定または限定するために称することも意図しない。
【０００５】
一実装では、通信ネットワーク内のＵＤＰ中継のための方法が記載される。この方法は、メッセージのヘッダに含まれるＵＤＰポート番号を識別するステップを含む。さらに、マッピングテーブルに基づいてＩＰアドレスが確認され、このマッピングテーブルは、対応する宛先サーバのＩＰアドレスへマッピングする複数のＵＤＰポート番号のリストを含む。さらに、メッセージは修正されて、少なくともＩＰアドレスに基づいて修正されたメッセージが得られる。続いて、修正されたメッセージは宛先ＩＰアドレスにユニキャストされる。
【０００６】
別の実装では、通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継のためのＵＤＰ中継器が記載される。このＵＤＰ中継器は、プロセッサおよび、プロセッサに結合された対話モジュールを備える。対話モジュールは、通信デバイスからメッセージを受信するように構成される。さらに、ＵＤＰ中継器はプロセッサに結合された処理モジュールを備え、処理モジュールは、メッセージのヘッダに含まれたＵＤＰポート番号を識別するように構成される。処理モジュールはマッピングテーブルに基づいてＩＰアドレスを確認し、マッピングテーブルは、対応する宛先サーバのＩＰアドレスへマッピングする複数のＵＤＰポート番号のリストを含み、メッセージを修正して、少なくとも宛先ＩＰアドレスに基づいて修正されたメッセージを得る。ＵＤＰ中継器はまた、プロセッサに結合されたネットワークモジュールも含む。ネットワークモジュールは、修正されたメッセージを宛先サーバにユニキャストするように構成される。
【０００７】
本発明の別の実装によれば、通信ネットワーク内のＵＤＰ中継の方法を実行するためのコンピュータプログラムが組み込まれた、コンピュータ読み取り可能な媒体が開示される。この方法は、メッセージのヘッダに含まれたＵＤＰポート番号を識別するステップを含む。ＵＤＰポート番号は、宛先サーバまたは、この方法の別のネットワーク内のエージェントのＩＰアドレスにマッピングされる。この方法はマッピングテーブルに基づいてＩＰアドレスを確認するステップを含み、マッピングテーブルは、複数のＵＤＰポートおよび対応するＩＰアドレスのリストを含む。さらに、メッセージは修正され、少なくとも宛先ＩＰアドレスに基づいて修正されたメッセージが得られる。続いて、修正されたメッセージは宛先ＩＰアドレスにユニキャストされる。
【０００８】
添付の図面を参照しながら、詳細な説明を記載する。図面で、参照番号の左端の桁は、その参照番号が初出する図面を識別する。類似の特徴および構成要素を参照するために、すべての図面で同じ番号が使用される。次に、本発明の実施形態によるシステムおよび／または方法のいくつかの実施形態を、単なる例として、添付の図面を参照しながら記載する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態による、通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継の例示的なネットワーク環境の実装を示す図である。
【図２】本発明の実施形態による、通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継の方法を示す図である。
【発明を実施するための形態】
【００１０】
本明細書において、「例示的」という用語は、「例、実例、図説としての役割を果たす」ことを意味する。本明細書で「例示的」として記載される、本発明のあらゆる実施形態または実装は、必ずしも他の実施形態よりも好ましい、または有益であると解釈されない。
【００１１】
当業者には、本明細書内のあらゆるブロック線図は、本発明の原理を具現化する説明的なシステムの概念図を表すということが理解されよう。同様に、あらゆるフローチャート、フロー線図、状態遷移図、擬似コードなどは様々な処理を表し、これらの処理は、コンピュータ読み取り可能な媒体内に実質的に表現されてもよく、そのようなコンピュータまたはプロセッサが明示されているかいないかに関わらず、コンピュータまたはプロセッサにより実質的に実行されてもよいということが理解されよう。
【００１２】
ＩＰアドレスに基づくＵＤＰ中継のシステムおよび方法について記載する。システムおよび方法は、様々なネットワークを通じて通信している様々なコンピューティングデバイスに実装することができる。記載される方法（複数可）およびシステムを実装することができる通信デバイスには、ラップトップ、デスクトップコンピュータ、ノートコンピュータ、移動電話、携帯情報端末、携帯電話、スマートフォン、ワークステーション、メインフレームコンピュータ、セットトップボックス、メディアプレイヤー、中央ディレクトリサーバ、データベースサーバ、ファイルサーバ、プリントサーバ、ウェブサーバ、アプリケーションサーバなどのコンピューティングデバイスが含まれるが、これらに限定されない。記載される方法（複数可）を実装することのできる通信ネットワークには、インターネットプロトコル（ＩＰ）、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ネットワーク、非同期転送モード（ＡＴＭ）ネットワーク、エボリューションデータオプティマイズドまたはエボリューションデータオンリー（ＥＶＤＯ）を実装した符号分割多重接続（ＣＤＭＡ）、グローバルシステムフォーモバイルコミュニケーション（ＧＳＭ（登録商標））、ユニバーサル移動体通信システム（ＵＴＭＳ）、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ）バックホールネットワークなどを使用する任意のネットワークが含まれるが、これらに限定されない。本明細書の記載はパーソナルコンピュータ相互の通信に関しているが、当業者には理解されるように、この方法およびシステムはネットワーク上で通信を行う他のサーバおよびコンピューティングシステムに実装されてもよい。
【００１３】
データ通信にユーザデータグラムプロトコル（ＵＤＰ）を利用する従来の通信ネットワークでは、通信デバイスは、ユニキャスト、マルチキャストまたはブロードキャストメッセージを介して相互に対話する。ある場合では、目的の受信者と通信しようとする通信デバイス、つまり送信デバイスは、目的の受信者を識別するために、最初に通信ネットワークにディスカバリメッセージをブロードキャストする。一実装では、目的の受信者は、ＵＤＰポートによって識別される特定のＵＤＰサービスのサーバでもよい。次に、ディスカバリメッセージは、通信ネットワークに接続されているすべての通信デバイスによって受信および処理され、目的の受信者以外の通信デバイスには破棄される。一方、目的の受信者、例えばＵＤＰサーバは送信デバイスに応答メッセージを送信して、送信デバイスとの通信を開始する。このように、通信を開始するためにディスカバリメッセージをブロードキャストすることは、送信デバイスが目的の受信者のＩＰアドレスを知らない場合に役立つ。しかし、ディスカバリメッセージをブロードキャストすることは、通常、送信デバイスおよび目的の受信者が接続されているネットワークにディスカバリメッセージのフラッディングおよびクラッタリングを引き起こし、ネットワークが輻輳する。
【００１４】
さらに、複合商業施設や事務所などの、異なるフロアまたは建物が、異なる施設によって占用される通信環境で使用される他の従来技術では、別々の、例えばＶＬＡＮなどのネットワークが、通常、フロアごとまたは建物ごとに設置される。よって、あるフロア、例えば１階の通信デバイスによってブロードキャストされたデータパケットは同じフロア内のみにブロードキャストされ、それによってセキュリティが維持される。さらに、それぞれのネットワークのサーバは、通常、サーバ室のある共通のフロア、例えば１０階に設置される。続いて、あるフロアから別のフロアにデータパケットをブロードキャストして、１つまたは複数のＵＤＰ中継器を介して、その通信デバイスのフロアに対応するサーバに到達させる必要がある。例えば、１０階のＵＤＰ中継器に送信する必要のある、１階からのデータパケットは、最初に１階でブロードキャストされ、そこから、１０階のＵＤＰ中継器に到達するまで、目的のサーバと同じネットワーク内にある各フロアのＵＤＰ中継器によってブロードキャストされる。しかし、そのような従来の技法は、通常、各フロアに対応する中間ネットワークのすべてに輻輳を引き起こす。別の方法として、各フロアに個別のサーバを設置して、少なくとも１つのフロアでのネットワークの輻輳を避けることもできる。しかし、別々のサーバまたはＵＤＰ中継器を設置することは、通信ネットワークの設置のコストの増加につながることがある。
【００１５】
本発明の一実装により、ＩＰアドレスに基づくＵＤＰ中継を利用する通信ネットワークのためのシステムおよび方法について記載される。前述したように、このシステムおよび方法は、通信のために定められた様々な異なる標準に従ってネットワークと通信することのできる様々な処理および通信デバイスに実装することができる。さらに、本明細書に記載されるシステムおよび方法は、異なる手段で提供される有線ネットワークまたは無線ネットワークを通して接続されてもよい。
【００１６】
一実施形態では、通信環境内にあるすべてのネットワーク、例えばＶＬＡＮなどには、ホームネットワーク、つまりＵＤＰ中継器が接続されているネットワークから発信されるデータパケットを、宛先ネットワーク、つまりデータパケットが中継される必要のあるネットワークに所属する、ＵＤＰサーバなどの宛先サーバに中継するように構成されたＵＤＰ中継器が備わる。一実装では、ＵＤＰ中継器は、以下でメッセージと称する、ブロードキャストされるデータパケットを処理して、宛先サーバを識別し、修正されたメッセージを得るように構成される。続いて、ＵＤＰ中継器は修正されたメッセージを宛先サーバにユニキャストする。この目的のために、宛先サーバにはＩＰアドレスが割り当てられる。ＵＤＰ中継器は宛先サーバのＩＰアドレスを識別して、そのＩＰアドレスをヘッダとして修正されたメッセージをユニキャストする。宛先サーバのＩＰアドレスに基づいて修正されたメッセージのユニキャスト送信は、このようにして、中間ネットワークや宛先ネットワークでのメッセージのフラッディングを防ぎ、よってネットワークの輻輳および費用を減少させる。
【００１７】
動作において、宛先サーバにメッセージを送信しようとする通信デバイス、つまり送信デバイスは、最初に、関連するホームネットワーク内でメッセージをブロードキャストする。よって、メッセージは、ホームネットワークに接続されているすべての通信デバイスによって受信および処理され、メッセージの目的の受信者以外の通信デバイスには破棄される。宛先サーバがホームネットワークに接続されている場合は、宛先サーバがブロードキャストメッセージに応答し、それ以外の場合は、ホームネットワークに接続されているＵＤＰ中継器が、ブロードキャストメッセージをさらに先へ送信するために処理する。
【００１８】
この目的のために、ＵＤＰ中継器は最初に、宛先ネットワークの宛先サーバのＩＰアドレスを、例えば、メッセージ内に提供されるＵＤＰポート番号に基づいて識別する。一実装では、ユーザ、例えばネットワーク管理者が宛先サーバのＩＰアドレスを設定し、そのＩＰアドレスをそれぞれのＵＤＰポート番号にマッピングして、宛先サーバに関連するＩＰアドレスがＵＤＰポート番号に基づいて識別され得る。送信デバイスは、メッセージをブロードキャストしつつメッセージの中にＵＤＰポート番号を提供してもよく、ＵＤＰ中継器はメッセージを処理するとこのＵＤＰポート番号を確認できる。ＵＤＰポート番号を確認すると、ＵＤＰ中継器は、例えば、宛先サーバのＩＰアドレスにマッピングされたＵＤＰポート番号のリストをもつマッピングテーブルを使用して、宛先サーバのＩＰアドレスを識別できる。例えば、ＩＰアドレス１９２．１６８．５８．２１およびＵＤＰポート番号５００１をもつ宛先ネットワークの宛先サーバにメッセージを送信しようとする通信デバイスは、このＵＤＰポート番号をメッセージに追加して、このメッセージをホームネットワーク内にブロードキャストしてもよい。ＵＤＰ中継器はメッセージを受信すると、そのメッセージを処理して、ＵＤＰポート番号を５００１として確認できる。ＵＤＰ中継器は続いて、マッピングテーブルで宛先サーバのＩＰアドレスにマッピングされているＵＤＰポート番号に基づいて宛先サーバのＩＰアドレスを１９２．１６８．５８．２１と識別できる。
【００１９】
ＵＤＰ中継器は続いて、メッセージを修正されたメッセージに変換し、メッセージのヘッダ内の宛先ＩＰアドレスを宛先サーバのＩＰアドレスに置き換えてもよい。さらに、ＵＤＰ中継器は、メッセージの宛先および発信元のメディアアクセスコントロール（ＭＡＣ）アドレスを修正する。一実装では、ＵＤＰ中継器は、宛先ＭＡＣアドレスをネクストホップルータのＭＡＣアドレスに変更するように構成される。一実装では、ＵＤＰ中継器は、ネクストホップルータのＭＡＣアドレスを、アドレス解決プロトコル（ＡＲＰ）に対応するテーブルに基づいて確認してもよい。さらに、ＵＤＰ中継器は発信元ＭＡＣアドレスをＵＤＰ中継器のルータＭＡＣアドレスに変更する。ＵＤＰ中継器は続いて、メッセージの生存時間（ＴＴＬ）値を決定し、メッセージのＴＴＬ値が１より大きい場合は、その値を１だけ減少させる。メッセージのＴＴＬ値が１より小さい場合は、ＵＤＰ中継器はメッセージを破棄する。このようにして得られた、修正されたメッセージはネクストホップルータに送信され、ネクストホップルータは修正されたメッセージを、修正されたメッセージの中に提供されたＩＰアドレスに基づいて、宛先サーバにさらに転送する。
【００２０】
宛先サーバは、修正されたメッセージを受信すると、そのメッセージを処理して通信デバイスに応答し、修正されたメッセージに含まれる発信元ＩＰアドレスに基づいて通信を開始する。このように、本発明は、ＩＰアドレスに基づいてメッセージを中継することによって、通信ネットワーク内のメッセージの数を減少させるための方法やシステムについて記載する。その結果、中間ネットワークおよび宛先ネットワーク内の輻輳が回避される。続いて、通信ネットワーク内のメッセージの中継に複数のＵＤＰ中継が利用されず、また使用されるネットワーク資源の数が少なくなるので、運用費用もまた減少する。
【００２１】
記載される方法論は、ハードウェア、ファームウェア、ソフトウェアまたはそれらの組合せに実装することができる。ハードウェア実装では、処理ユニットは、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書に記載される機能を遂行するために設計されたその他の電子的ユニット、またはそれらの組合せに実装することができる。本明細書で、「システム」という用語は、ソフトウェア、ハードウェア、ファームウェアまたはそれらの組合せによって実装される論理を包含する。
【００２２】
ファームウェアおよび／またはソフトウェア実装では、方法論は、本明細書に記載される機能を遂行するモジュール（例えば、プロシージャ、関数など）で実装される。本明細書に記載される方法論の実装に、命令を有形的に具体化する、機械読み取り可能なあらゆる媒体を使用することができる。例えば、ソフトウェアコードおよびプログラムをメモリに記憶し、処理ユニットによって実行することができる。メモリは、処理ユニットの中に実装することができ、または処理ユニットの外部にあってもよい。本明細書では「メモリ」という用語は、長期的、短期的、揮発性、不揮発性またはその他のあらゆるタイプの記憶デバイスを指し、いかなる特定のメモリのタイプまたはメモリの数、またはメモリが格納される媒体のタイプにも限定されない。
【００２３】
別のファームウェアおよび／またはソフトウェア実装では、機能は、コンピュータ読み取り可能な媒体上に１つまたは複数の命令またはコードとして記憶されてもよい。例には、符号化されたデータ構造をもつコンピュータ読み取り可能な媒体および、符号化されたコンピュータプログラムをもつコンピュータ読み取り可能な媒体が含まれる。コンピュータ読み取り可能な媒体は、製造業者の商品の形をとってもよい。コンピュータ読み取り可能な媒体には、物理的なコンピュータ記憶媒体が含まれる。記憶媒体は、コンピュータによってアクセス可能な任意の入手可能な媒体でもよい。例として、そのようなコンピュータ読み取り可能な媒体は、所望のプログラムコードを命令またはデータ構造の形で記憶するために使用することができて、コンピュータによってアクセスすることができる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶媒体、磁気ディスク記憶媒体またはその他の磁気記憶デバイス、もしくは他の任意の媒体から構成されてもよいが、これは制限ではない。ディスク（ｄｉｓｋおよびｄｉｓｃ）は、本明細書では、コンパクトディスク（ｄｉｓｃ）（ＣＤ）、レーザーディスク（登録商標）（ｄｉｓｃ）、光ディスク（ｄｉｓｃ）、デジタル多用途ディスク（ｄｉｓｃ）（ＤＶＤ）、フロッピー（登録商標）ディスク（ｄｉｓｋ）、およびブルーレイディスク（ｄｉｓｃ）を含み、通常、ｄｉｓｋはデータを磁気的に再現するが、ｄｉｓｃはレーザを使用して光学的にデータを再現する。上記のものの組合せもまた、コンピュータ読み取り可能な媒体の範囲に含まれるものとする。
【００２４】
説明および図面は、単に本発明の原理を説明するものであることに留意されたい。よって、当業者は、本明細書に明示的に説明または図示されていないが、本発明の原理を具体化し、その趣旨および範囲内で含まれる様々な装置を考案できることが理解されるであろう。さらに、本明細書に挙げるすべての例は、原則的に、本発明の原理および発明者（複数可）が技術促進のために述べた概念への読者の理解を助けるための教育的な目的のみに向けられ、このような具体的に挙げた例および条件に限定されないと解釈されるよう明白に意図されている。なお、本発明の原理、態様および実施形態、ならびにその特定の例を挙げた本明細書のすべての文は、その均等物を包含するよう意図されている。
【００２５】
また、本明細書では、〜中、〜の間、〜の時などの語は、開始活動と同時にある活動が起こることを意味する厳密な用語ではなく、初期活動と初期活動によって開始される反応との間に、伝播遅延などの小さいが合理的な遅延がいくつかあり得ることを意味するということが、当業者には理解されよう。さらに、「接続される」および「結合される」という語は、記載の明確さのために、全体を通して使用され、直接接続または間接接続のどちらかを含むことができる。
【００２６】
通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継のシステムおよび方法が実装される様式を、図１および図２を参照しながら詳細に説明する。記載される通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継のシステムおよび方法の態様は、任意の数の異なるコンピューティングシステム、伝送環境、および／または構成に実装することができるが、実施形態は、下記の例示的システム（複数可）に照らして記載される。
【００２７】
図１は、ＩＰアドレスに基づくＵＤＰ中継のためのネットワーク環境１００を示す。ネットワーク環境１００は、本発明の一実施形態によれば、通信ネットワーク１０４に接続された１つまたは複数のネットワーク１０２−１、１０２−２、…、１０２−Ｎ（以下で、集合的にはネットワーク１０２と称し、個別にはネットワーク１０２と称する）を含む。一例によると、ネットワーク１０２および通信ネットワーク１０４は、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、仮想ＬＡＮ（ＶＬＡＮ）、広域ネットワーク（ＷＡＮ）、およびインターネットなどの異なるタイプのネットワークの１つとして実装することができる。ネットワーク１０２はＩＰに基づいてもよい。ネットワーク１０２は、専用ネットワークまたは共有ネットワークのどちらかでもよく、共有ネットワークは、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、無線アプリケーションプロトコル（ＷＡＰ）などの様々なプロトコルを使用して互いに通信する、異なるタイプのネットワークの連合を表す。さらに、ネットワーク１０２は、ルータ、ブリッジ、サーバ、コンピューティングデバイス、および記憶デバイスを含む、様々なネットワークデバイスを含んでもよい。
【００２８】
通信ネットワーク１０４は、無線ネットワークでも、有線と無線を組み合わせたネットワークでもよい。通信ネットワーク１０４は、それぞれが相互接続されて単一の大規模ネットワーク（例えば、インターネットやイントラネット）として機能する、個別ネットワークの集合であることもできる。そのような個別ネットワークの例には、第３世代パートナーシッププロジェクト（３ＧＰＰ）、ロングタームエボリューション（ＬＴＥ）などがあるが、これらに限定されない。さらに、技術によっては、通信ネットワーク１０４は、ゲートウェイやルータなどの様々なネットワークエンティティを含むが、理解を容易にするために、そのような詳細は省略されている。
【００２９】
さらに、ネットワーク１０２は、本発明の一実施形態によれば、以下で、集合的には通信デバイス１０６と称し、個別には通信デバイス１０６と称する、１つまたは複数のネットワーク１０２に接続された１つまたは複数の通信デバイス１０６−１、１０６−２、１０６−３、…、１０６−Ｎを含む。
【００３０】
通信デバイス１０６は、ユーザが相互通信のために使用するユーザ装置（ＵＥ）として定められてもよい。通信デバイス１０６の例には、移動電話、固定電話、デスクトップコンピュータ、携帯端末、ラップトップまたはその他の携帯コンピュータ、ネットワークコンピュータなどが含まれるが、これらに限定されない。通信デバイス１０６のそれぞれは、その通信デバイス１０６が結合されているネットワークによって定められる通信プロトコルで動作する。
【００３１】
さらに、ネットワーク１０２は、ネットワーク１０２のいずれかの中の通信デバイス１０６、サーバ、ポートなどのいずれかに送信されるブロードキャストデータパケットを取り扱うように構成されたＵＤＰ中継器１０８を含む。一実装では、ＵＤＰ中継器１０８は、ホームネットワーク、例えばＵＤＰ中継器１０８が接続されているネットワーク１０２−１から発信された、以下、メッセージと称するデータパケットを、メッセージが送信される宛先ネットワーク、例えばネットワーク１０２−２の宛先サーバに中継するように構成される。
【００３２】
この目的のために、ＵＤＰ中継器１０８は、１つまたは複数のプロセッサ（複数可）１１０、Ｉ／Ｏインタフェース（複数可）１１２および、プロセッサ１１０に結合されたメモリ１１４を含む。プロセッサ（複数可）１１０は、１つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、ステートマシン、論理回路、および／または、演算命令に基づいて信号を操作する任意のデバイスとして実装されてもよい。数ある能力の中でも特に、プロセッサ（複数可）１１０は、メモリ１１４に記憶されているコンピュータ読み取り可能な命令をフェッチして実行するように構成される。
【００３３】
「プロセッサ（複数可）」とラベル付けされた任意の機能ブロックを含め、図に示された様々な要素の機能は、専用のハードウェアを使用して提供されてもよいし、適切なソフトウェアと協働してソフトウェアを実行することができるハードウェアを使用して提供されてもよい。プロセッサによって提供される場合は、機能は単一の専用プロセッサによって、単一の共有プロセッサによって、または複数の個別プロセッサによって提供されてもよく、個別のプロセッサのいくつかは共有されてもよい。さらに、「プロセッサ」という用語の明示的な使用は、ソフトウェアを実行することができるハードウェアのみを排他的に指すと解釈されてはならず、デジタル信号プロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを記憶するための読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）および不揮発性記憶装置を暗示的に含んでもよいが、これらに限定されない。他の、従来型および／またはカスタムのハードウェアもまた、含まれてもよい。
【００３４】
Ｉ／Ｏインタフェース（複数可）１１２は、例えば、Ｉ／Ｏデバイスと称されるデータ入出力デバイスなどの周辺デバイス（複数可）、記憶デバイス、ネットワークデバイスなどのためのインタフェースの、様々なソフトウェアインタフェースおよびハードウェアインタフェースを含んでもよい。Ｉ／Ｏデバイス（複数可）は、ユニバーサルシリアルバス（ＵＳＢ）ポート、イーサネット（登録商標）ポート、ホストバスアダプタなど、および、それらに対応するデバイスドライバを含んでもよい。Ｉ／Ｏインタフェース（複数可）１１２は、通信ネットワーク１０４、ネットワーク１０２などの様々なネットワーク、ならびに、通信デバイス１０６などの様々な通信デバイスおよびコンピューティングデバイスとの、ＵＤＰ中継器１０８の通信を容易化する。
【００３５】
メモリ１１４は、当技術分野で知られている任意のコンピュータ読み取り可能な媒体を含んでもよく、これらには、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）およびダイナミックランダムアクセスメモリ（ＤＲＡＭ）などの揮発性メモリ、ならびに／もしくは、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブルＲＯＭ、フラッシュメモリ、ハードディスク、光ディスクおよび磁気テープなどの不揮発性メモリがある。
【００３６】
ＵＤＰ中継器１０８はまた、様々なモジュール１１６を含んでもよい。モジュール１１６は、特に、特定のタスクを遂行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。また、モジュール１１６は、信号プロセッサ（複数可）、ステートマシン（複数可）、論理回路、および／または、演算命令に基づいて信号を操作する他の任意のデバイスまたは構成要素として実装されてもよい。
【００３７】
さらに、モジュール１１６は、ハードウェア、処理ユニットによって実行される命令、またはそれらの組合せによって実装することができる。処理ユニットは、コンピュータ、プロセッサ１１０などのプロセッサ、ステートマシン、論理アレイ、または命令を処理することができる他の任意の適切なデバイスを備えることができる。処理ユニットは、汎用プロセッサに要求されたタスクを遂行させる命令を実行する汎用プロセッサであることができ、また、処理ユニットは、要求された機能を遂行するための専用であることもできる。
【００３８】
本発明の別の態様では、モジュール１１６は、プロセッサ／処理ユニットによって実行されたときに、記載される機能性のいずれかを遂行する、機械読み取り可能な命令（ソフトウェア）であってもよい。機械読み取り可能な命令は、電子メモリデバイス、ハードディスク、光ディスクまたは他の機械読み取り可能な記憶媒体、もしくは一時的でない媒体に記憶されてもよい。一実装では、また機械読み取り可能な命令は、ネットワーク接続を介して記憶媒体にダウンロードされてもよい。
【００３９】
ＵＤＰ中継器１０８は、データ１１８をさらに含んでもよく、このデータは、特に、１つまたは複数のモジュール（複数可）１１６によって処理、受信、関連付け、および生成されたデータを記憶するためのリポジトリとして働く。
【００４０】
モジュール（複数可）１１６は、対話モジュール１２０、処理モジュール１２２、ネットワークモジュール１２４、および他のモジュール（複数可）１２６をさらに含む。他のモジュール（複数可）１２６は、ＵＤＰ中継器１０８のアプリケーションおよび機能を補うプラグラムまたはコード化された命令を含んでもよい。
【００４１】
データ１１８は、例えば、対話データ１２８、処理データ１３０、ネットワークデータ１３２、および他のデータ１３４を含む。他のデータ１３４は、他のモジュール（複数可）１２６内の１つまたは複数のモジュールの実行結果として生成されるデータを含む。
【００４２】
本発明の一実施形態では、ネットワーク１０２−１は、以下でＶＬＡＮ１と称され、宛先ネットワーク、例えばネットワーク１０２−２は、以下でＶＬＡＮ２と称される。当業者には理解されるように、本明細書の記載はＶＬＡＮを参照しているが、しかし本発明は、ＵＤＰプロトコルをサポートするすべての通信ネットワークに、少しの修正はあるが適用可能なことがある。
【００４３】
インターネットプロトコル（ＩＰ）に基づく通信ネットワーク環境では、その通信ネットワーク環境を通して接続された、いくつかの個別ネットワークのいずれかの間のデータ通信は、ユーザデータグラムプロトコル（ＵＤＰ）に基づく。この目的のために、ＵＤＰ中継器１０８などのＵＤＰ中継器は、ネットワーク間のデータ通信を取り扱うために個別ネットワークのそれぞれに存在する。
【００４４】
本発明の一実装によれば、ＵＤＰ中継器１０８は、ＶＬＡＮ２などの宛先ネットワークのＵＤＰサーバ１３６などの宛先サーバに送信される、通信デバイス１０６−１によってブロードキャストされるメッセージを処理するように構成される。前記の実装では、対話モジュール１２０は、通信デバイス１０６−１によってブロードキャストされるメッセージを受信するように構成される。一実装では、メッセージはメッセージのヘッダ内にＵＤＰポート番号を含む。ＵＤＰポート番号は、マッピングテーブル内の、ある宛先サーバのＩＰアドレスにマッピングされる。一実装では、ネットワーク管理者が宛先サーバのＩＰアドレスを設定して、マッピングテーブル内のＵＤＰポート番号にマッピングしてもよい。マッピングテーブルは、対応するサーバのＩＰアドレスへのＵＤＰポートマッピングのリストを含む。例えば、ＩＰアドレス１９２．１６８．５８．２１およびＵＤＰポート番号５００１をもつ宛先サーバにメッセージを送信しようとする通信デバイス１０６−１は、このＵＤＰポート番号、つまり５００１をメッセージのヘッダに追加して、このメッセージをホームネットワーク内にブロードキャストしてもよい。
【００４５】
一実装では、処理モジュール１２２は、メッセージを処理し、メッセージのヘッダに含まれるＵＤＰポート番号にマッピングされているＩＰアドレスを確認するように構成される。この目的のために、処理モジュール１２２は、宛先サーバのＩＰアドレスにマッピングされたＵＤＰポート番号からなるマッピングテーブルを含む。マッピングテーブルに基づいて、処理モジュール１２２は、メッセージのヘッダ内で指定されたＵＤＰポート番号にマッピングされているＩＰアドレスを確認する。続いて、処理モジュール１２２は、メッセージのヘッダの宛先ＩＰアドレスフィールドに、宛先サーバのＩＰアドレスを含める。例えば、上記の例に記載されるように、処理モジュール１２２はメッセージを処理し、ＵＤＰポート番号を５００１と確認する。処理モジュール１２２は続いて、ＵＤＰポート番号に基づき、宛先サーバのＩＰアドレスをマッピングテーブルに基づいて、１９２．１６８．５８．２１と識別できる。
【００４６】
さらに、一実装では、処理モジュール１２２は、メッセージの宛先メディアアクセスコントロール（ＭＡＣ）アドレスおよび発信元ＭＡＣアドレスを修正するように構成される。一実装では、処理モジュール１２２は、メッセージの宛先ＭＡＣアドレスをネクストホップルータのＭＡＣアドレスに変更する。処理モジュール１２２は、当業者には理解されるように、ＡＲＰに基づいたアドレス解決プロトコル（ＡＲＰ）テーブルに従って、ネクストホップルータのＭＡＣアドレスを確認してもよい。一実装では、処理モジュール１２２は、マッピングテーブルおよびＡＲＰテーブルを処理データ１３０から取得してもよい。続いて、処理モジュール１２２は、メッセージの発信元ＭＡＣアドレスをＵＤＰ中継器１０８のルータＭＡＣアドレスに変更する。しかし、一実装では、処理モジュール１２２は、メッセージに含まれる、通信デバイス１０６−１に対応する発信元ＩＰアドレスを修正しないことがある。メッセージの発信元ＩＰアドレスが修正されていないので、通信デバイス１０６−１との通信を確立するために、宛先サーバは通信デバイス１０６−１と直接通信することができる。
【００４７】
続いて、処理モジュール１２２は、メッセージに含まれる生存時間（ＴＴＬ）値を決定する。一実装では、メッセージのＴＴＬ値が１より大きいと決定された場合は、処理モジュール１２２は、メッセージのＴＴＬ値を１だけ減少させ、修正されたメッセージを得るように構成される。別の実装では、メッセージのＴＴＬ値が１より小さいと決定された場合は、処理モジュール１２２は、メッセージを破棄するように構成される。
【００４８】
一実装では、ネットワークモジュール１２４は、修正されたブロードキャストメッセージを、ＩＰアドレスに基づき、ユニキャストメッセージとしてＵＤＰサーバ１３６に中継するように構成される。一実装では、ネットワークモジュール１２４は、宛先サーバが知られていない場合はネクストホップルータと対話するように構成される。続いて、ネクストホップルータは、修正されたメッセージを、マッピングテーブルに指定されたＵＤＰポートに対応するＩＰアドレスに基づいて、宛先サーバにユニキャストする。
【００４９】
通信ネットワーク内のＩＰアドレスに基づくメッセージのＵＤＰ中継は、通信ネットワーク内のメッセージの数を減少させ、それによって、メッセージのクラスタ化を回避し、通信ネットワーク内の輻輳の発生を減少させるために役立つ。さらに、通信ネットワーク内のメッセージの中継のために配備されるＵＤＰ中継器の数が少なくなるので、運用費用が減少する。
【００５０】
図２は、本発明の一実施形態による、通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継のための方法２００を示す。方法２００が記載される順序は制限と解釈されることを意図せず、任意の数の記載される方法ブロックを任意の順序で組み合わせて、方法２００または任意の代替方法を実装することができる。また、本明細書に記載される発明の趣旨および範囲から逸脱することなく、個別のブロックを方法から削除してもよい。さらに、方法は、任意の適切なハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せに実装することができる。
【００５１】
方法は、一般的なコンピュータ実行可能な命令に関連して記載されてもよい。一般に、コンピュータ実行可能な命令は、特定の機能を遂行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、関数などを含むことができる。方法はまた、通信ネットワークを通じてリンクされているリモート処理デバイスによって機能が遂行される、分散コンピューティング環境で実施されてもよい。分散コンピューティング環境では、コンピュータ実行可能な命令は、メモリ記憶デバイスを含む、ローカルとリモートの両方のコンピュータ記憶媒体に置かれてもよい。
【００５２】
当業者には、方法のステップが、プログラムされたコンピュータによって遂行できることが容易に理解されるであろう。本明細書で、いくつかの実施形態はまた、例えば、機械読み取り可能またはコンピュータ読み取り可能なデジタルデータ記憶媒体のプログラム記憶デバイスを対象として、機械実行可能またはコンピュータ実行可能な命令のプログラムをコード化するよう意図されている。ここで、前記命令は、記載される方法のいくつかまたはすべてのステップを遂行する。プログラム記憶デバイスは、例えばデジタルメモリ、磁気ディスクおよび磁気テープなどの磁気記憶媒体、ハードドライブ、または光読み取り可能なデジタルデータ記憶媒体などであってもよい。実施形態はまた、例示的方法の前記ステップを遂行するように構成された通信ネットワークと通信デバイスの両方を対象とするよう意図されている。
【００５３】
ブロック２０２で、メッセージのヘッダに含まれたＵＤＰポート番号が識別される。一実装では、処理モジュール１２２などのＵＤＰ中継器の処理モジュールが、メッセージのヘッダに含まれたＵＤＰポート番号を識別するように構成される。
【００５４】
ブロック２０４で、宛先サーバのＩＰアドレスがマッピングテーブルに基づいて確認される。一例では、処理モジュール１２２が、マッピングテーブルに基づいてＩＰアドレスを確認する。一実装では、マッピングテーブルは、対応する宛先サーバのＩＰアドレスにマッピングされた複数のＵＤＰポート番号を含む。一実装では、ユーザ、例えばネットワーク管理者がＵＤＰポート番号を設定して、ＵＤＰ中継器の中でそれらを対応する宛先サーバのＩＰアドレスにマッピングしてもよい。一実装では、ＵＤＰポート番号が、ある宛先サーバのＩＰアドレスにマッピングされる。例えば、メッセージのヘッダは、宛先サーバのＩＰアドレス１９２．１６８．１１．２１にマッピングされたＵＤＰポート番号５００１を含んでもよい。
【００５５】
ブロック２０６で、メッセージのヘッダ、宛先ＭＡＣアドレスおよび発信元ＭＡＣアドレスが修正される。一実装では、処理モジュールはメッセージのヘッダを処理するように構成される。処理モジュール１２２は、宛先サーバのＩＰアドレスを確認すると、そのＩＰアドレスをメッセージのヘッダの宛先ＩＰアドレスフィールドに含める。別の実装では、処理モジュールはメッセージの宛先ＭＡＣアドレスおよび発信元ＭＡＣアドレスを修正するように構成される。一実装では、処理モジュールはメッセージの宛先ＭＡＣアドレスをネクストホップルータのＭＡＣアドレスに変更する。前記の実装では、当業者には理解されるように、処理モジュールは、ＡＲＰに基づいたアドレス解決プロトコル（ＡＲＰ）テーブルに基づいて、ネクストホップルータのＭＡＣアドレスを確認してもよい。続いて、処理モジュールはメッセージの発信元ＭＡＣアドレスをＵＤＰ中継器のルータＭＡＣアドレスに変更する。
【００５６】
ブロック２０８で、メッセージの生存時間（ＴＴＬ）値が決定される。一実装では、処理モジュール１２２は、当業者には理解されるであろうとおり、従来の方法を使用してメッセージのＴＴＬ値を決定するように構成される。
【００５７】
ブロック２１０で、メッセージのＴＴＬ値とデフォルト値との間で比較が行われる。一実装では、メッセージのＴＴＬ値は１と比較される。メッセージのＴＴＬ値が１より小さいと決定された場合は「いいえ」の経路であり、方法はブロック２１２に進む。処理モジュール１２２は、ブロック２１２でメッセージを破棄するように構成される。
【００５８】
それ以外の場合、つまりＴＴＬ値が１より大きいと決定された場合は「はい」の経路であり、方法はブロック２１４に進む。処理モジュール１２２は、ブロック２１４でメッセージのＴＴＬ値を１だけ減少させ、修正されたメッセージを得るように構成される。
【００５９】
ブロック２１６で、修正されたメッセージがユニキャストされる。一実装では、ネットワークモジュール１２４などのネットワークモジュールは、修正されたメッセージの宛先ＩＰアドレスに含まれるＩＰアドレスに、修正されたメッセージをユニキャストするように構成される。一実装では、このＩＰアドレスは、あるＵＤＰポートの宛先ネットワークの宛先サーバに対応する。
【００６０】
通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継のための方法およびシステムの実施形態について、構造的な特徴および／または方法に特定の言葉で記載したが、本発明が、記載された特定の特徴または方法に必ずしも限定されないことは理解されるであろう。むしろ、これらの特定の特徴および方法は、通信ネットワーク内のＩＰアドレスに基づくＵＤＰ中継の例示的実施形態として開示される。
【図１】
0006053233.tif 000002
【図２】
0006053233.tif 000003