(57)【特許請求の範囲】
【請求項１】
プライベートネットワークをパブリックネットワークに接続するように構成されたネットワーク装置であって、
サーバエージェントを有し、
前記サーバエージェントが、
前記プライベートネットワークに位置するサーバについてのプライベートＩＰアドレスと、前記プライベートネットワークの外に位置するクライアントに既知な、対応する識別子とのマッピングにアクセスし、
前記プライベートネットワークの外に位置するクライアントによって前記パブリックネットワーク上に送信された要求メッセージであって、前記サーバエージェントを前記パブリックネットワークに対して特定する第１の部分と、前記プライベートネットワークに位置するサーバを特定する第２の部分とを有するホスト識別子を含み、前記ホスト識別子の前記第２の部分が前記パブリックネットワークにとって未知である要求メッセージを受信し、
前記ホスト識別子の前記第２の部分にマッピングされたプライベートＩＰアドレスを用いて、前記要求メッセージを前記ホスト識別子の前記第２の部分によって特定されるサーバに送信する、
ように動作可能であり、
前記プライベートネットワークがセルラネットワークであり、前記プライベートネットワークに位置する前記サーバについての前記プライベートＩＰアドレスが、対応する電話番号にマッピングされていることを特徴とするネットワーク装置。
【請求項２】
前記クライアントがＲＴＳＰクライアントであり、前記ホスト識別子の前記第２の部分によって特定されるサーバがＲＴＳＰサーバであり、前記要求メッセージがＲＴＳＰ要求メッセージであることを特徴とする請求項１記載のネットワーク装置。
【請求項３】
前記ホスト識別子がＲＴＳＰ要求メッセージのＵＲＬフィールドに含まれることを特徴とする請求項２記載のネットワーク装置。
【請求項４】
前記クライアントがＨＴＴＰクライアントであり、前記ホスト識別子の前記第２の部分によって特定されるサーバがＨＴＴＰサーバであり、前記要求メッセージがＨＴＴＰ要求メッセージであることを特徴とする請求項１記載のネットワーク装置。
【請求項５】
前記サーバエージェントが、
前記ＨＴＴＰクライアントとの間で確立されている第１のＴＣＰコネクション上で前記ＨＴＴＰ要求メッセージを受信し、
前記ホスト識別子の前記第２の部分にマッピングされているプライベートＩＰアドレスに基づいて、第２のＴＣＰコネクションを前記ＨＴＴＰサーバとの間で確立する、
ように動作可能であることを特徴とする請求項４記載のネットワーク装置。
【請求項６】
前記サーバエージェントが、
前記第１のＴＣＰコネクションを通じて前記ＨＴＴＰクライアントから受信した前記ＨＴＴＰ要求メッセージを、前記第２のＴＣＰコネクションを通じて前記ＨＴＴＰサーバに送信し、
前記第２のＴＣＰコネクションを通じて前記ＨＴＴＰサーバから受信したＨＴＴＰ応答メッセージを前記第１のＴＣＰコネクションを通じて前記ＨＴＴＰクライアントに送信する、
ように動作可能であることを特徴とする請求項５記載のネットワーク装置。
【請求項７】
前記ホスト識別子がＨＴＴＰ要求メッセージのホストヘッダ部分に含まれることを特徴とする請求項４記載のネットワーク装置。
【請求項８】
前記プライベートＩＰアドレスと前記対応する識別子とのマッピングが、前記サーバエージェントによってアクセス可能なデータベース内に維持されることを特徴とする請求項１記載のネットワーク装置。
【請求項９】
前記プライベートＩＰアドレスと前記対応する識別子とのマッピングが、前記サーバエージェントのキャッシュメモリに格納されることを特徴とする請求項１記載のネットワーク装置。
【請求項１０】
前記サーバエージェントが、ネットワークアドレス変換に対応したルータと同じ位置に存在することを特徴とする請求項１記載のネットワーク装置。
【請求項１１】
プライベートネットワークをパブリックネットワークに接続するサーバエージェントによってネットワークアドレス変換をトラバースする方法であって、
前記プライベートネットワークに位置するサーバについてのプライベートＩＰアドレスと、前記プライベートネットワークの外に位置するクライアントに既知な対応する識別子とをマッピングする工程と、
前記プライベートネットワークの外に位置するクライアントによって前記パブリックネットワーク上に送信された要求メッセージであって、前記サーバエージェントを前記パブリックネットワークに対して特定する第１の部分と、前記プライベートネットワークに位置するサーバを特定する第２の部分とを有するホスト識別子を含み、前記ホスト識別子の前記第２の部分が前記パブリックネットワークにとって未知である要求メッセージを受信する工程と、
前記ホスト識別子の前記第２の部分にマッピングされたプライベートＩＰアドレスを用いて、前記要求メッセージを前記ホスト識別子の前記第２の部分によって特定されるサーバに送信する工程と、
を有し、
前記プライベートネットワークがセルラネットワークであり、前記プライベートネットワークに位置する前記サーバについての前記プライベートＩＰアドレスが、対応する電話番号にマッピングされていることを特徴とする方法。
【請求項１２】
前記クライアントがＲＴＳＰクライアントであり、前記ホスト識別子の前記第２の部分によって特定されるサーバがＲＴＳＰサーバであり、前記要求メッセージがＲＴＳＰ要求メッセージであることを特徴とする請求項１１記載の方法。
【請求項１３】
前記ホスト識別子がＲＴＳＰ要求メッセージのＵＲＬフィールドに含まれることを特徴とする請求項１２記載の方法。
【請求項１４】
前記クライアントがＨＴＴＰクライアントであり、前記ホスト識別子の前記第２の部分によって特定されるサーバがＨＴＴＰサーバであり、前記要求メッセージがＨＴＴＰ要求メッセージであることを特徴とする請求項１１記載の方法。
【請求項１５】
前記ＨＴＴＰ要求メッセージを、前記ＨＴＴＰクライアントと確立済みの第１のＴＣＰコネクション上で受信する工程と、
前記ホスト識別子の前記第２の部分にマッピングされた前記プライベートＩＰアドレスに基づいて、前記ＨＴＴＰサーバとの第２のＴＣＰコネクションを確立する工程と、
有することを特徴とする請求項１４記載の方法。
【請求項１６】
前記第１のＴＣＰコネクションを通じて前記ＨＴＴＰクライアントから受信した前記ＨＴＴＰ要求メッセージを前記第２のＴＣＰコネクションを通じて前記ＨＴＴＰサーバに送信する工程と、
前記第２のＴＣＰコネクションを通じて前記ＨＴＴＰサーバから受信したＨＴＴＰ応答メッセージを前記第１のＴＣＰコネクションを通じて前記ＨＴＴＰクライアントに送信する工程と、
を有することを特徴とする請求項１５記載の方法。
【請求項１７】
前記ホスト識別子がＨＴＴＰ要求メッセージのホストヘッダ部分に含まれることを特徴とする請求項１４記載の方法。
【請求項１８】
前記プライベートＩＰアドレスと前記対応する識別子とを、前記サーバエージェントによってアクセス可能なデータベース内にマッピングする工程を有することを特徴とする請求項１１記載の方法。
【請求項１９】
前記プライベートＩＰアドレスと前記対応する識別子とを、前記サーバエージェントのキャッシュメモリ内にマッピングする工程を有することを特徴とする請求項１１記載の方法。
【請求項２０】
前記サーバエージェントを、前記プライベートネットワークと前記パブリックネットワークとの接点に位置する、ネットワークアドレス変換に対応したルータと同じ位置に設ける工程を有することを特徴とする請求項１１記載の方法。
【請求項２１】
実行可能な命令を格納した１つ以上のコンピュータ読み取り可能な記録媒体であって、前記命令が実行されると、サーバエージェントを有し、プライベートネットワークをパブリックネットワークに接続するネットワーク装置を、
前記プライベートネットワークに位置するサーバについてのプライベートＩＰアドレスと、前記プライベートネットワークの外に位置するクライアントに既知な、対応する識別子とのマッピングにアクセスし、
前記プライベートネットワークの外に位置するクライアントによって前記パブリックネットワーク上に送信された要求メッセージであって、前記サーバエージェントを前記パブリックネットワークに対して特定する第１の部分と、前記プライベートネットワークに位置するサーバを特定する第２の部分とを有するホスト識別子を含み、前記ホスト識別子の前記第２の部分が前記パブリックネットワークにとって未知である要求メッセージを受信し、
前記ホスト識別子の前記第２の部分にマッピングされたプライベートＩＰアドレスを用いて、前記要求メッセージを前記ホスト識別子の前記第２の部分によって特定されるサーバに送信する、
ように動作させ、
前記プライベートネットワークがセルラネットワークであり、前記プライベートネットワークに位置する前記サーバについての前記プライベートＩＰアドレスが、対応する電話番号にマッピングされていることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してＮＡＴ（ネットワークアドレス変換）トラバーサルに関し、特にはプライベートネットワークに位置するサーバ宛の要求メッセージに対するＮＡＴトラバーサルに関する。
【背景技術】
【０００２】
ＮＡＴは、特定のアドレス空間を別のアドレス空間にマッピングできるようにネットワークアドレス情報の変更を行う。ＮＡＴは、通常プライベートネットワークアドレスからなるアドレス空間の全体を隠すためのネットワークマスカレードとともに用いられることが多い。特定のアドレス変換規則群を用いて複数のプライベートアドレスを１つのアドレスにマッピングすることにより、例えば１つのパブリックＩＰアドレスの背後にプライベートアドレス空間が隠された状態を維持する。プライベートネットワークに位置するクライアントが生成した出方向の要求は、プライベートネットワークを出る際にルータによって、パケットがそのルータから発信されたように見えるように書き換えられる。
【０００３】
例えば、プライベートネットワークに位置するクライアント装置が、Get requestのような新たなＨＴＴＰ(Hyper-text transfer protocol)要求を生成するかもしれない。このＨＴＴＰ要求はホストサーバの宛先アドレス、クライアントのプライベートＩＰアドレス、所望の動作、等を含んでいる。プライベートネットワークとパブリックネットワークを接続するＮＡＴ対応ルータは、クライアントのプライベートＩＰアドレスをルータのパブリックＩＰアドレスに変換し、変更したパケットをパブリックネットワークに送信する。このパケットデータは、ＨＴＴＰ要求に含まれている宛先アドレスを用いて最終的にはホストサーバに配信される。ＨＴＴＰ要求は、ホストサーバとＮＡＴ対応ルータとの間に確立されたＴＣＰコネクション上でホストサーバに配信される。これに応答してホストサーバは、ルータのパブリックＩＰアドレスを用い、ルータを宛先装置として示すＨＴＴＰ応答を生成する。ＨＴＴＰ応答は、既に確立された同じＴＣＰコネクションを用いてパブリックネットワーク上で送信される。ルータはＨＴＴＰ応答を受信し、変換規則を用いて宛先アドレスをクライアントのプライベートＩＰアドレスにマッピングし、パケットデータをクライアントに送信する。
【０００４】
このようにして、ＮＡＴは出方向の要求の送信元アドレスをＮＡＴ装置の送信元アドレスに変更し、アドレス変換を元に戻して応答をクライアント装置に中継することにより、プライベートネットワーククライアント装置が外部ネットワーク上のサーバホストと通信することを可能にする。しかし、従前のＮＡＴ対応機器は、入来した要求がどの内部サーバ宛かを自動的に判別できないので、ＮＡＴはプライベートネットワークをホストサーバに適していない状態のままにしていた。既知の確立済みのコネクションの履歴がないと、従前のＮＡＴ対応機器はプライベートネットワーク内のサーバを区別できないので、入来する要求を適切なサーバに容易に転送できない。一部のＮＡＴトラバース技術では、プライベートネットワークに位置する複数のホストサーバと、外部クライアント機器とを、パブリックドメインに位置するランデブーサーバに登録する必要がある。従前のランデブーサーバには、端末(end device)同士が最終的に直接通信できるよう、端末が互いを見つけることを許可するものもある。他のランデブーサーバはゲートウェイとして振る舞い、端末間で双方向にメッセージを転送する。いずれの場合も、パブリックドメインに位置するランデブーサーバへの登録が必要である。他のＮＡＴトラバーサル技術は、端末が例えば試行錯誤やより決定論的な技術を通じて、互いを「学習」することを必要とする。しかし、これら技術は成功を保証せず、また信頼性に欠ける場合がある。
【発明の概要】
【０００５】
本明細書で開示する方法、装置、及びコンピュータ読み取り可能な媒体によれば、プライベートネットワークに位置するサーバについてのプライベートＩＰアドレスを、プライベートネットワークの外に位置するクライアントに既知な、対応する識別子にマッピングすることにより、ＮＡＴトラバーサルが実現できる。識別子は電話番号、エイリアス、ユーザ名、ニックネームなど、クライアントがプライベートサーバを特定するためのものであってよい。識別子はパブリックネットワークにとって未知であるため、クライアントが生成した要求をプライベートネットワークにルーティングするために使用することはできない。その代わり、要求は、プライベートネットワークとパブリックネットワークとの接点に存在するサーバエージェントについてのパブリックＩＰアドレスを用いてプライベートネットワークにルーティングされる。各要求は、パブリックネットワークに対してサーバエージェントを特定するパブリック部と、プライベートネットワークに位置するサーバを特定するプライベート部とを有するホスト識別子を含んでいる。ホスト識別子のプライベート部はパブリックネットワークにとって未知であるため、要求メッセージを従来技術によってルーティングすることはできない。代わりに、サーバエージェントが、ホスト識別子のプライベート部とマッピング情報に含まれている識別子とを比較する。サーバエージェントは、要求をプライベートネットワークに位置する適切なサーバに送信するため、合致したエントリに関連付けられているプライベートＩＰアドレスを用いる。そして、サーバは、プライベートサーバと外部クライアントの間のゲートウェイとして機能するサーバエージェントを通じて、発信元クライアントに応答することができる。
【０００６】
一実施形態によれば、ネットワーク装置はプライベートネットワークをパブリックネットワークへ接続するように構成される。ネットワーク装置は、プライベートネットワークに位置するサーバについてのプライベートＩＰアドレスと、プライベートネットワークの外に位置するクライアントに既知な、対応する識別子とのマッピングにアクセスするように動作可能なサーバエージェントを有する。サーバエージェントはまた、プライベートネットワークの外に位置するクライアントによってパブリックネットワーク上で送信された要求メッセージを受信するようにも動作可能である。要求メッセージは、パブリックネットワークへのサーバエージェントを特定する第１の部分と、プライベートネットワークに位置するサーバを特定する第２の部分とを有するホスト識別子を含んでいる。ホスト識別子の第２の部分はパブリックネットワークにとって未知である。サーバエージェントはさらに、ホスト識別子の第２の部分に対応するプライベートＩＰアドレスを用いて、要求メッセージをホスト識別子の第２の部分によって特定されるサーバに送信するようにも動作可能である。
【０００７】
本発明が上述した特徴や利点に限定されないことはいうまでもない。本技術分野に属する当業者は、添付図面の参照および以下の説明の読解により、さらなる特徴及び利点を理解するであろう。
【図面の簡単な説明】
【０００８】
【図１】プライベートネットワークをパブリックネットワークに接続するサーバエージェントの実施形態を示すブロック図である。
【図２】プライベートネットワークをパブリックネットワークに接続するサーバエージェントの別の実施形態を示すブロック図である。
【図３】図１及び図２に示したサーバエージェントによって処理されるＨＴＴＰ要求の実施形態を示す図である。
【図４】図１及び図２に示したサーバエージェントによるネットワークアドレス変換トラバース方法の実施形態を示す図である。
【図５】図１及び図２に示したサーバエージェントによって処理されるＲＴＳＰ要求の実施形態を示す図である。
【発明を実施するための形態】
【０００９】
図１は、プライベートネットワーク１０２を例えばインターネットのようなパブリックネットワーク１０４に接続するサーバエージェント１００の実施形態を示す。サーバエージェント１００は、プライベートネットワーク１０２に位置するホストサーバ１０６が、プライベートネットワーク１０２の外に位置するクライアント１０８によって生成された要求に応答することを可能にする。このような要求はクライアント−サーバ通信又はピアツーピア通信に由来するものであってよい。サーバエージェント１００は、プライベートホストサーバ１０６と外部クライアント１０８との通信を可能にする。サーバエージェント１００は、ウェブサーバ、ＮＡＴ対応ルータなど、任意のタイプのネットワーク装置に内蔵もしくは関連付けされることができる。一実施形態において、サーバエージェント１００はＮＡＴ対応ルータ１１０と同じ場所に設けられる。サーバエージェント１００は、ハードウェア、ソフトウェア、ファームウェア及びそれらの任意の組み合わせによって実施可能である。どの場合も、外部クライアント１０８によってパブリックネットワーク１０４上で送信された入来要求は、処理のためにサーバエージェント１００に宛てられる。
【００１０】
プライベートネットワーク１０２に位置するサーバ１０６のプライベートＩＰアドレス又は「ホスト名」は、パブリックＩＰネットワーク１０４上のＤＮＳ（ドメインネームシステム）内の、サーバエージェント１００のパブリックＩＰアドレスにマッピング（対応づけ）されている。より詳細には、外部クライアント１０８が生成する要求は、サーバエージェント１００を、そのパブリックＩＰアドレスによって特定するホスト識別子を有する。パブリックＩＰネットワーク１０４上のＤＮＳサーバ１１２は、要求を、要求が有するホスト識別子のこの部分に基づいてサーバエージェント１００にルーティングすることを支援するために用いられる。クライアント要求の各々におけるホスト識別子は、プライベートネットワーク１０２内の宛先サーバ１０６を特定する第２の部分をさらに有する。しかし、ホスト識別子の第２の部分はパブリックＩＰネットワーク１０４にとって未知であるため、要求をルーティングするためにＤＮＳサーバ１１２で用いることができない。一実施形態において、プライベートネットワーク１０２はセルラネットワークであり、ホスト識別子の第２の部分は所望の携帯電話機「サーバ」１０６に関連付けられた電話番号、ＥＳＮ（電子シリアル番号）又はＭＳＩＳＤＮ（移動加入者統合サービスデジタルネットワーク番号）である。あるいは、ホスト識別子の第２の部分は、プライベートネットワーク１０２のタイプ、例えば、セルラ、エンタープライズ、等に応じて、エイリアス(alias)、ユーザ名、ニックネーム等であってもよい。
【００１１】
一実施形態において、外部クライアント１０８の１つによって生成される要求は、クライアント１０８とサーバエージェント１００との間に確立されたＴＣＰ（伝送制御プロトコル）コネクションを介してサーバエージェント１００にルーティングされるＨＴＴＰ要求である。通常、クライアント１０８がこのＴＣＰコネクションの設定を開始する。ＨＴＴＰ要求を受信すると、サーバエージェント１００は要求に含まれているホスト識別子の第２の部分を特定する。そしてサーバエージェント１００は、サーバ１０６のプライベートＩＰアドレス１１６を対応する識別子１１８にマッピングしているデータベース１１４にアクセスする。一実施形態において、プライベートネットワーク１０２はセルラネットワークであり、データベース１１４はＲＡＤＩＵＳ(remote authentication dial in user service)データベース、ＬＤＡＰ(lightweight directory access protocol)データベース又は任意の他のタイプのデータベースである。
【００１２】
サーバエージェント１００は、データベース１１４で、ホスト識別子の第２の部分と合致する識別子１１８（例えば電話番号、ＥＳＮ、ＭＳＩＳＤＮ、エイリアス、ユーザ名、ニックネームなど）を探索する。合致したエントリに関連付けられたプライベートＩＰアドレス１１６は、例えばホスト識別子をプライベートＩＰアドレスに置き換え、そのプライベートＩＰアドレスに基づいて要求をルーティングすることによって、サーバエージェント１００が入来要求を適切なホストサーバ１０６に送信するために用いられる。そしてこの要求はサーバエージェント１００から適切なホストサーバ１０６に、サーバエージェント１００とプライベートサーバ１０６との間に確立された第２の通信コネクションを通じて送信される。一実施形態において第２のコネクションはＴＣＰコネクションである。通常、この第２のＴＣＰコネクションの設定はサーバエージェント１００が開始する。従って、サーバエージェント１００は、元の入来要求に応答して２つの個別のコネクションを維持する。１つ目のコネクションはサーバエージェント１００と送信元クライアント１０８との間に形成される。２つ目のコネクションはサーバエージェント１００と対応するプライベートサーバ１０６との間に形成される。
【００１３】
サーバ１０６はサーバエージェント１００から受信した要求を処理し、応答をクライアント１０８に返信する。サーバ１０６は、携帯電話機、ハンドヘルド電子機器、コンピュータ、アプリケーションサーバ等のような任意のタイプの電子機器に存在することができる。プライベートサーバ１０６によって生成された応答は、プライベートサーバ１０６を送信元機器として特定するための、プライベートサーバ１０６のプライベートＩＰアドレスを含んでいる。サーバ１０６は応答を、サーバ１０６とサーバエージェント１００との間に確立されたコネクション上でサーバエージェント１００に送信する。サーバエージェント１００は、ホストサーバ１０６のプライベートＩＰ送信元アドレスをサーバエージェント１００のパブリックＩＰアドレスに置き換え、サーバエージェント１００とクライアント１０８との間の既存コネクション上でクライアント１０８へルーティングするために、応答をパブリックネットワーク１０４上に送信する。このように、サーバエージェント１００は一種のゲートウェイとして機能し、クライアント１０８がサーバ１０６を事実上知らなくても、プライベートネットワーク１０２に位置するサーバ１０６が、外部クライアント１０８用のアプリケーションをホスティングすることを可能にする。
【００１４】
図２はサーバエージェント１００の別の実施形態を示す図である。本実施形態によれば、サーバ１０６のプライベートＩＰアドレス１１６と対応する識別子１１８とのマッピングは、サーバエージェント１００に含まれるか関連付けられたローカルキャッシュメモリ２００に保持される。外部クライアント１０８が生成した入来要求に応答して、サーバエージェント１００は、プライベートＩＰアドレス１１６を対応する識別子１１８にマッピングしているキャッシュ２００にアクセスする。サーバエージェント１００は入来要求内のホスト識別子の第２の部分と合致する識別子１１８をキャッシュ２００で探索する。入来要求を適切なホストサーバ１０６に送信するため、合致するキャッシュエントリに関連付けられているプライベートＩＰアドレス１１６がサーバエージェント１００によって用いられる。
【００１５】
図２に示す実施形態は、少数のサーバ１０６を含むか、外部クライアント１０８がアクセス可能なサーバ１０６の数を制限するプライベートネットワーク１０２に好適である。この構成はまた、静的サーバ１０６、すなわち常にアクティブもしくは利用可能で、ＩＰアドレスが変化しないサーバを有するプライベートネットワーク１０２にも好適である。従って、マッピングすべきプライベートＩＰアドレス１１６がより少ないか、マッピングが比較的静的であってほとんど変化しないかの少なくとも一方である。そのため、プライベートＩＰアドレスと識別子とのマッピングを、サーバエージェント１００と密に接続されたローカルキャッシュメモリ２００に保持することができる。ローカルキャッシュ２００は揮発性でも不揮発性でもよく、また、１度だけプログラミングされても、ネットワーク状況の変化に応じて再プログラミングされてもよい。図１の実施形態に示したデータベース１１４は、エンタープライズネットワークのように外部クライアント１０８から利用可能な比較的多数のプライベートサーバ１０６を有するプライベートネットワーク１０２や、セルラネットワークのように利用可能性が変化するサーバ１０６を有するプライベートネットワーク１０２に好適である。いずれの実施形態においても、サーバエージェント１００は、ここで説明したプライベートＩＰアドレスと識別子とのマッピングに基づいて、入来要求を適切なホストサーバ１０６にルーティングする。
【００１６】
図３は、プライベートネットワーク１０２の外部のクライアント１０８が生成するＨＴＴＰ要求の一実施形態を示す。この実施形態によれば、ＨＴＴＰ要求はGetメッセージである。しかし、他のタイプのＨＴＴＰ要求がクライアント１０８によって生成されてもよい。ＨＴＴＰ Getメッセージは、パブリックネットワーク１０４に対してサーバエージェント１００を特定する第１の部分３００と、プライベートネットワーク１０２に位置するサーバ１０６を特定する第２の部分３０２とを有するホスト識別子を含んでいる。この例示的な実施形態において、ホスト識別子の第２の部分３０２は電話番号(9198541844)である。従って、プライベートＩＰネットワーク１０２は、携帯電話機に含まれているサーバ１０６を有するセルラネットワークである。携帯電話機内のＨＴＴＰサーバ１０６のホスト名は 「msisdn.operator.com」であってよい。ここで「msisdn」はＧＳＭ(global system for mobile communications)又はＵＭＴＳ(universal mobile telecommunications system)セルラネットワークにおける加入を一意に特定するＭＳＩＳＤＮ番号である。しかし、上述したように、他のホスト識別子を用いてもよい。ホスト識別子の第２の部分３０２はパブリックネットワーク１０４にとって未知であり、従って要求をサーバエージェント１００にルーティングするためにＤＮＳサーバ１１２で用いることはできない。
【００１７】
図４は、図３のＨＴＴＰ Getメッセージをホスト識別子の第２の部分３０２によって特定されるプライベートサーバ１０６に送信するための方法の一実施形態を示す。この方法は、プライベートネットワーク１０２に位置するサーバ１０６についてのプライベートＩＰアドレス１１６を、プライベートネットワーク１０２の外に位置するクライアント１０８に既知な対応する識別子１１８にマッピングすることから始まる（ステップ４００）。一実施形態において、図１に示したデータベース１１４がこのマッピングを実行する。別の実施形態では、図２に示したキャッシュメモリ２００がマッピング情報を保持する。いずれの実施形態でも、ＨＴＴＰ要求が外部クライアント１０８によってパブリックネットワーク１０４上に送信され、サーバエージェント１００によって受信される（ステップ４１０）。図３に示した例示的な実施形態によれば、パブリックＩＰネットワーク１０４上のＤＮＳに、「*.operator.com」からＨＴＴＰサーバエージェント１００のパブリックＩＰアドレスへのマッピングが存在する。このように、ＤＮＳサーバ１１２はホスト識別子の第１の部分３００を、ホスト識別子のパブリックＩＰアドレス部分（例えばericssonwsa.com）に基づいてＨＴＴＰ要求メッセージをパブリックネットワーク１０４上でサーバエージェント１００に送信するために用いることができる。そしてサーバエージェント１００は、ホスト識別子の第２の部分３０２（例えば9198541844）に合致する識別子１１８について、データベース１１４に問い合わせるかキャッシュメモリ２００を探索する。サーバエージェント１００は、ホスト識別子の第２の部分３０２にマッピングされたプライベートＩＰアドレス１１６を有するサーバ１０６に、ＨＴＴＰ Getメッセージを送信する（ステップ４２０）。
【００１８】
図５は、プライベートネットワーク１０２外部のクライアント１０８が生成するＲＴＳＰ(real-time streaming protocol)要求の一実施形態を示す。この実施形態によれば、ＲＴＳＰ要求はストリーミングメディアアプリケーションに関するDescribeメッセージである。しかし、他のタイプのＲＴＳＰ要求メッセージがクライアント１０８によって生成されてもよい。図３のＨＴＴＰ Getメッセージと同様、ＲＴＳＰ Describeメッセージもまた、パブリックネットワーク１０４に対してサーバエージェント１００を特定する第１の部分５００と、プライベートネットワーク１０２に位置するサーバ１０６を特定する第２の部分５０２とを有するホスト識別子を含んでいる。この例示的な実施形態において、ホスト識別子の第２の部分５０２は電話番号(9198541844)である。従って、プライベートＩＰネットワーク１０２は、携帯電話機に含まれているサーバ１０６を有するセルラネットワークであり、携帯電話機内のＲＴＳＰサーバ１０６のホスト名は「msisdn.operator.com」であってよい。しかし、上述したように、他のホスト識別子を用いることもできる。ホスト識別子の第２の部分５０２はパブリックネットワーク１０４にとって未知である。ＲＴＳＰ Describeメッセージは、既に説明したように、図４の方法に従い、データベース１１４又はキャッシュメモリ２００に保持されているマッピング情報に基づいて適切なプライベートＲＴＳＰサーバ１０６に送信される。
【００１９】
ここで説明したサーバエージェント１００の実施形態は、パブリックＩＰネットワークからプライベートＩＰネットワーク上のサーバへの透過的なアクセスを提供する。このように、プライベートＩＰネットワーク上のウェブサーバ、ウェブサービス、及び他のＨＴＴＰベースのサーバ又はＲＴＳＰサーバのような他のタイプのサーバが、インターネットから見える状態になりうる。本技術分野に属する当業者は、ここに記載した説明、ブロック図、及び動作フローの様々な部分を、コンピュータが実行可能な命令の形式で実施することができ、そのような命令はコンピュータ読み取り可能な媒体の１つ以上の形態に組み込まれてよい。ここで、コンピュータ読み取り可能な媒体は、コンピュータ装置によってアクセス及び理解可能な形態で符号化されている情報を保存又は具現化可能な任意の媒体であってよい。網羅的でないコンピュータ読み取り可能な媒体の典型的な形態は、揮発性および不揮発性メモリ、（着脱可能な媒体および着脱不能な媒体の少なくとも一方を含んだ）データストレージ機器、及び通信媒体である。データベース１１４及びローカルキャッシュメモリ２００は、これらタイプ又は他のタイプのコンピュータ読み取り可能な媒体のいずれか又は全てを含んでよい。
【００２０】
上述した派生物及び用途の範囲を考慮して、本発明が上述した説明によっても、添付図面によっても限定されないことを理解すべきである。代わりに、本発明は、以下の請求項およびその法的な等価物によってのみ限定される。
【図１】
0005536786.tif 000002
【図２】
0005536786.tif 000003
【図３】
0005536786.tif 000004
【図４】
0005536786.tif 000005
【図５】
0005536786.tif 000006