(57)【特許請求の範囲】
【請求項１】
外部のルーターのＷＡＮ（Wide Area Network）側に接続された外部の端末が前記ルーターのＬＡＮ（Local Area Network）側に接続された外部のサーバー上のアプリケーションを識別するためのＵＲＬ（Uniform Resource Locator）であり、ポート番号を明示的に含まない第１のＵＲＬに含まれるパスの情報、及び前記のルーターが前記アプリケーションを識別するための第２のＵＲＬの情報に基づき、前記端末と前記サーバー間の通信を前記ルーターに中継させるポートマッピング拡張手段
を備え、
前記ポートマッピング拡張手段は、前記サーバーからポートマッピングの対象を追加する要求を受信した際に、ポートマッピングの対象を検索する検索メッセージを送信することにより、前記検索メッセージに対する応答に含まれる前記第２のＵＲＬの情報の所在の情報を取得し、前記所在の情報に基づき前記第２のＵＲＬの情報を取得する
ことを特徴とするポートマッピング装置。
【請求項２】
前記ポートマッピング拡張手段は、前記所在の情報に基づき前記パスの情報を取得する
ことを特徴とする請求項１に記載のポートマッピング装置。
【請求項３】
前記所在の情報は、前記検索メッセージに対する応答に含まれる所定のフィールドの値である
ことを特徴とする請求項１又は２に記載のポートマッピング装置。
【請求項４】
前記第２のＵＲＬの情報は、前記所在から取得したＵＰｎＰ（Universal Plug and Play）におけるデスクリプションファイルに含まれるpresentationURLフィールドの値である
ことを特徴とする請求項３に記載のポートマッピング装置。
【請求項５】
前記パスの情報は、前記デスクリプションファイルに含まれるfriendlyNameフィールド又はmodelNameフィールドの値である
ことを特徴とする請求項４に記載のポートマッピング装置。
【請求項６】
前記ポートマッピング拡張手段は、ポートマッピングの対象を通知する通知メッセージを受信し、前記サーバーからポートマッピングの対象を追加する要求を受信した際に、前記通知メッセージに含まれる前記第２のＵＲＬの情報の所在の情報を取得し、前記所在の情報に基づき前記第２のＵＲＬの情報を取得する
ことを特徴とする請求項１に記載のポートマッピング装置。
【請求項７】
外部のサーバーが接続されるＬＡＮインターフェースと、
外部の端末が接続されるＷＡＮインターフェースと、
前記ＬＡＮインターフェース及び前記ＷＡＮインターフェース間でルーティングを行うルーティング手段と、
前記端末が前記サーバー上のアプリケーションを識別するためのＵＲＬであり、ポート番号を明示的に含まない第１のＵＲＬに含まれるパスの情報、及び前記ルーティング手段が前記アプリケーションを識別するための第２のＵＲＬの情報に基づき、前記端末と前記サーバー間の通信を前記ルーティング手段に中継させるポートマッピング拡張手段を含むポートマッピング装置と
を備え、
前記ポートマッピング拡張手段は、前記サーバーからポートマッピングの対象を追加する要求を受信した際に、ポートマッピングの対象を検索する検索メッセージを送信することにより、前記検索メッセージに対する応答に含まれる前記第２のＵＲＬの情報の所在の情報を取得し、前記所在の情報に基づき前記第２のＵＲＬの情報を取得する
ことを特徴とするルーター。
【請求項８】
外部のルーターのＷＡＮ側に接続された外部の端末が前記ルーターのＬＡＮ側に接続された外部のサーバー上のアプリケーションを識別するためのＵＲＬであり、ポート番号を明示的に含まない第１のＵＲＬに含まれるパスの情報、及び前記のルーターが前記アプリケーションを識別するための第２のＵＲＬの情報に基づき、前記端末と前記サーバー間の通信を前記ルーターに中継させる方法であって、
前記サーバーからポートマッピングの対象を追加する要求を受信した際に、ポートマッピングの対象を検索する検索メッセージを送信することにより、前記検索メッセージに対する応答に含まれる前記第２のＵＲＬの情報の所在の情報を取得し、前記所在の情報に基づき前記第２のＵＲＬの情報を取得する
ことを特徴とするポートマッピング方法。
【請求項９】
ポートマッピング装置が備えるコンピュータを、
外部のルーターのＷＡＮ側に接続された外部の端末が前記ルーターのＬＡＮ側に接続された外部のサーバー上のアプリケーションを識別するためのＵＲＬであり、ポート番号を明示的に含まない第１のＵＲＬに含まれるパスの情報、及び前記のルーターが前記アプリケーションを識別するための第２のＵＲＬの情報に基づき、前記端末と前記サーバー間の通信を前記ルーターに中継させ、
前記サーバーからポートマッピングの対象を追加する要求を受信した際に、ポートマッピングの対象を検索する検索メッセージを送信することにより、前記検索メッセージに対する応答に含まれる前記第２のＵＲＬの情報の所在の情報を取得し、前記所在の情報に基づき前記第２のＵＲＬの情報を取得するポートマッピング拡張手段と
として機能させるためのポートマッピングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポートマッピングの利便性を向上することが可能な、ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラムに関する。
【背景技術】
【０００２】
一般に、ルーター（Router）のＬＡＮ（Local Area Network）側のネットワークにウェブサーバー（Web Server）が接続される場合、ルーターのポートマッピング（Port Mapping）機能が設定される。そして、ルーターのＷＡＮ（Wide Area Network）側ＩＰ（Internet Protocol）アドレスとポート番号（Port Number）が指定され、ルーターのＷＡＮ側のネットワークに接続された端末は、ウェブサーバーと通信する。
【０００３】
ここで、設定されるポート番号は、ウェブサーバーごとに別々でなければならない。複数のウェブサーバーが接続される場合には、ウェブサーバーとポート番号の組み合わせが複数存在する。ポート番号は“０”から“６５５３５”の数値であるため、ウェブサーバーとポート番号との紐付けが必要である。
【０００４】
例えば、ルーターのＷＡＮ側ＩＰアドレスが“172.16.1.2”、ポートマッピング機能に設定されたポート番号を“8080”（ウェブサーバーＡ）、“10080”（ウェブサーバーＢ）、“8090”（ウェブサーバーＣ）とする。このとき、ＷＡＮ側の端末が、ウェブサーバーＡと通信する際のＵＲＬ（Uniforml Resaurce Locator）は“http://172.16.1.2:8080/”、ウェブサーバーＢと通信する際のＵＲＬは“http://172.16.1.2:10080/”、ウェブサーバーＣと通信する際のＵＲＬは“http://172.16.1.2:8090/”となる。つまり、ウェブサーバーＡ、ウェブサーバーＢ、ウェブサーバーＣとポート番号“8080”、“10080”、“8090”とが紐付けられる必要がある。
【０００５】
なお、周知の技術であるＵＰｎＰ（Universal Plug and Play）によるポートマッピングが使用された場合においても、同様に、ウェブサーバーとポート番号との紐付けが必要である。
【０００６】
このように、使用者（ルーターのＷＡＮ側に接続された端末）がルーターのＬＡＮ側に接続されたウェブサーバーと通信する際に、個々のウェブサーバーを識別するためには、ウェブサーバーとポート番号との紐付けを行った上で、ルーターのＷＡＮ側ＩＰアドレスとポート番号を使用しなければならない。
【０００７】
ポートマッピング技術の一例が、特許文献１に開示されている。
【０００８】
特許文献１のブロードバンドルーターは、ＬＡＮインターフェース、ＵＰｎＰ  ＩＧＤ制御部、ポートマッピング制御部、ルーター部、およびＷＡＮインターフェースを含む。
【０００９】
ＵＰｎＰ  ＩＧＤ制御部は、ＵＰｎＰ  ＩＧＤ（Internet Gateway Device）機能を有し、ＵＰｎＰ  ＣＰ（Control Point）であるＰＣ（Personal Computer）と送受信するメッセージの解析や発行を行い、ブロードバンドルーターをＵＰｎＰ対応のブロードバンドルーターとして動作させる。なお、ＩＧＤとは、ＵＰｎＰの標準仕様で定義され、ルーターやホームゲートウェイ機器の総称をいう。
【００１０】
ポートマッピング制御部は、ＵＰｎＰ  ＩＧＤ制御部のメッセージ解析結果が、ＰＣによるポートマッピングの追加の要求であった場合、ポートマッピングテーブルを生成し、該当するポートのマッピングの追加をルーター部に指示する。なお、ポートマッピングとは、一方の通信ネットワークからパケットを受信するポートと、そのパケットの送信先の他方の通信ネットワークに接続されたＰＣと、通信プロトコルとの対応づけをいう。
【００１１】
ルーター部は、ルーティング機能と、ＮＡＰＴ（Network Address Port Translation）機能とを有し、ポートマッピングテーブルを参照して、ＬＡＮ−ＷＡＮ間のパケットフォワーディングを行う。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００７−１１０２６６号公報（第７−８ページ、図２）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
ルーターのＬＡＮ側に接続されたウェブサーバーにルーターのＷＡＮ側に接続された端末から通信する場合、ルーターのポートマッピング機能が使用されることが一般的である。ルーターのＷＡＮ側のネットワークに接続された端末がウェブブラウザーを使用してルーターのＬＡＮ側のネットワーク上のウェブサーバーに通信される場合、ルーターのＷＡＮ側ＩＰアドレスと、設定されたポート番号が使用される。
【００１４】
しかし、上記の方法では、複数のウェブサーバーが接続されて、ウェブサーバーとポート番号の組み合わせが複数存在する場合に、ウェブサーバーとポート番号との紐付けが必要である、という課題がある。
【００１５】
例えば、特許文献１のブロードバンドルーターにおいて、複数のＰＣが存在する場合、ＷＡＮ側の通信ネットワークからパケットを受信するポートと、そのパケットの送信先のＬＡＮ側の通信ネットワークに接続されたＰＣと、通信プロトコルとの対応づけが必要である。
【００１６】
ウェブサーバーとポート番号との紐付けを行うためには、使用者がポート番号とウェブサーバーとの対応関係を記憶する必要があり、ポートマッピングの利便性が低いという課題がある。
（発明の目的）
本発明の目的は、ポートマッピングの利便性が向上されるポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラムを提供することである。
【課題を解決するための手段】
【００１７】
本発明のポートマッピング装置は、外部のルーターのＷＡＮ側に接続された外部の端末がルーターのＬＡＮ側に接続された外部のサーバー上のアプリケーションを識別するためのＵＲＬであり、ポート番号を明示的に含まない第１のＵＲＬに含まれるパスの情報、及びのルーターがアプリケーションを識別するための第２のＵＲＬの情報に基づき、端末とサーバー間の通信をルーターに中継させるポートマッピング拡張手段とを備えることを特徴とする。
【００１８】
本発明のルーターは、外部のサーバーが接続されるＬＡＮインターフェースと、外部の端末が接続されるＷＡＮインターフェースと、ＬＡＮインターフェース及びＷＡＮインターフェース間でルーティングを行うルーティング手段と、端末がサーバー上のアプリケーションを識別するためのＵＲＬであり、ポート番号を明示的に含まない第１のＵＲＬに含まれるパスの情報、及びルーティング手段がアプリケーションを識別するための第２のＵＲＬの情報に基づき、端末とサーバー間の通信をルーティング手段に中継させるポートマッピング拡張手段を含むポートマッピング装置とを備えることを特徴とする。
【００１９】
本発明のポートマッピング方法は、外部のルーターのＷＡＮ側に接続された外部の端末がルーターのＬＡＮ側に接続された外部のサーバー上のアプリケーションを識別するためのＵＲＬであり、ポート番号を明示的に含まない第１のＵＲＬに含まれるパスの情報、及びのルーターがアプリケーションを識別するための第２のＵＲＬの情報に基づき、端末とサーバー間の通信をルーターに中継させることを特徴とする。
【００２０】
本発明のポートマッピングプログラムは、ポートマッピング装置が備えるコンピュータを、外部のルーターのＷＡＮ側に接続された外部の端末がルーターのＬＡＮ側に接続された外部のサーバー上のアプリケーションを識別するためのＵＲＬであり、ポート番号を明示的に含まない第１のＵＲＬに含まれるパスの情報、及びのルーターがアプリケーションを識別するための第２のＵＲＬの情報に基づき、端末とサーバー間の通信をルーターに中継させるポートマッピング拡張手段として機能させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、ポートマッピングの利便性が向上されるという効果がある。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態におけるポートマッピング装置の構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態におけるポートマッピング装置の動作を示すフローチャートである。
【図３】本発明の第１の実施形態におけるポートマッピング装置の処理手順の具体例を説明するための図である。
【図４】本発明の第２の実施形態におけるルーターの構成の一例を示すブロック図である。
【図５】本発明の第２の実施形態におけるルーター、ウェブサーバーのポートマッピング情報の設定動作例を示すシーケンス図である。
【図６】本発明の第２の実施形態におけるルーター、ウェブサーバー、端末のポートマッピングの動作例を示すシーケンス図である。
【図７】本発明の第２の実施形態におけるルーター、ウェブサーバーのポートマッピング情報の削除動作例を示すシーケンス図である。
【図８】本発明の第２の実施形態におけるルーター、端末のポートマッピングの動作例を示すシーケンス図である。
【図９】本発明の第２の実施形態におけるルーターのポートマッピング手段のポートマッピング情報の設定動作を示すフローチャートである。
【図１０】本発明の第２の実施形態におけるルーターのポートマッピング手段のポートマッピングの動作を示すフローチャートである。
【図１１】本発明の第２の実施形態におけるルーターのポートマッピング手段のポートマッピング情報の削除動作を示すフローチャートである。
【図１２】本発明の第２の実施形態におけるルーターのポートマッピング情報の具体例を説明するための図である。
【図１３】本発明の第２の実施形態におけるルーターのポートマッピング情報の別の具体例を説明するための図である。
【図１４】本発明の第３の実施形態におけるルーター、ウェブサーバーのポートマッピング情報の設定動作例を示すシーケンス図である。
【図１５】本発明の第３の実施形態におけるルーター、ウェブサーバーのポートマッピング情報の別の設定動作例を示すシーケンス図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について図面を参照して詳細に説明する。尚、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
（第１の実施形態）
本実施形態における構成について説明する。
【００２４】
図１は、本実施形態のポートマッピング装置１５０の構成の一例を示すブロック図である。
【００２５】
本実施形態のポートマッピング装置１５０は、外部の一般的なルーター１００に含まれる。
【００２６】
ルーター１００は、ポートマッピング装置１５０と、ＬＡＮインターフェース１２０と、ＷＡＮインターフェース１３０と、ＬＡＮインターフェース１２０とＷＡＮインターフェース１３０との間でルーティングを行うルーティング手段１４０とを含む。
【００２７】
ＬＡＮインターフェース１２０は、外部のＬＡＮ８００に接続される。ＬＡＮ８００には、外部のウェブサーバー３００、４００が接続される。ウェブサーバー３００、４００上では、それぞれ、ウェブサイト３１０、４１０が動作する。
【００２８】
ＷＡＮインターフェース１３０は、外部のインターネット９００に接続される。インターネット９００には、外部の端末７００が接続される。端末７００上では、ウェブブラウザー７１０が動作する。
【００２９】
ポートマッピング装置１５０は、ポートマッピング拡張手段１６０を含む。
【００３０】
ポートマッピング拡張手段１６０は、ＷＡＮ側からウェブサイト３１０、４１０を指定するためのＷＡＮ側ＵＲＬのそれぞれを、ＬＡＮ側からウェブサイト３１０、４１０を指定するためのＬＡＮ側ＵＲＬに対応付けるように拡張された、ポートマッピングを行う。なお、ＷＡＮ側ＵＲＬはポート番号を含まず、ＬＡＮ側ＵＲＬはポート番号を含む。
【００３１】
また、ポートマッピング拡張手段１６０は、ポートマッピングに必要な設定情報を保持する。
【００３２】
設定情報には、ポート番号を含むＬＡＮ側ＵＲＬの情報と、ポート番号を含まないＷＡＮ側ＵＲＬの情報とが含まれる。
【００３３】
ＬＡＮ側ＵＲＬは、例えば、「PresentationURL」である。「PresentationURL」は、ＵＰｎＰにおけるデバイスの詳細情報の１つで、ルーター１００のＬＡＮ側のネットワーク８００において、デバイスにアクセスするためのＵＲＬを値に持つ情報である。
【００３４】
ＷＡＮ側ＵＲＬは、例えば、ＵＰｎＰにおけるデバイスの別の詳細情報である、「friendlyName」、「modelName」等の値がパス名として含む。「friendlyName」は、ＵＰｎＰにおいて、デバイスを区別するための名前を値に持つ情報である。modelNameは、ＵＰｎＰにおいて、デバイスのモデルに与えられた名前を値に持つ情報である。
【００３５】
ウェブサーバー３００、４００等のデバイスには、デバイス毎のＬＡＮ側ＵＲＬと対応するＷＡＮ側ＵＲＬの設定情報が与えられる。
【００３６】
ポートマッピング装置１５０は、ポートマッピング拡張手段１６０により保持されるポートマッピングの設定情報に基づき、ルーティング手段１４０に対して、ポートマッピング動作を指示する。
【００３７】
次に、本実施形態における動作について説明する。
【００３８】
図２は、本実施形態のポートマッピング装置１５０の動作を説明するためのフローチャートである。
【００３９】
ポートマッピング装置１５０は、ルーター１００がＷＡＮインターフェース１３０から受信したパケットがＨＴＴＰ（Hypertext Transfer Protocol）  ＧＥＴ要求であるか否かを確認する（ステップＳ１０１）。
【００４０】
受信したパケットがＨＴＴＰ  ＧＥＴ要求でない場合には（ステップＳ１０１：Ｎｏ）、ポートマッピング装置１５０は、ステップＳ１０１の処理を繰り返す。
【００４１】
受信したパケットがＨＴＴＰ  ＧＥＴ要求である場合には（ステップＳ１０１：Ｙｅｓ）、ポートマッピング装置１５０は、受信したＨＴＴＰ  ＧＥＴ要求中の第１パラメータ（Request-URI）が、ポートマッピング拡張手段１６０により保持されるＷＡＮ側ＵＲＬ中のパス名のいずれかと一致するか否かを確認する（ステップＳ１０２）。
【００４２】
一致しない場合には（ステップＳ１０２：Ｎｏ）、ポートマッピング装置１５０は、受信したＨＴＴＰ  ＧＥＴ要求を処理せず（ステップＳ１０７）、処理を終了する。
【００４３】
一致する場合には（ステップＳ１０２：Ｙｅｓ）、ポートマッピング装置１５０は、受信したＨＴＴＰ  ＧＥＴ要求中のRequest-URIを、ＷＡＮ側ＵＲＬ中のパス名が一致したＬＡＮ側ＵＲＬ中のパス名に置き換える。続いて、ポートマッピング装置１５０は、受信したＨＴＴＰ  ＧＥＴ要求中の第３パラメータ（Ｈｏｓｔ）の値を、通信用ＵＲＩ（Universal Resource Identifier）が一致したＬＡＮ側ＵＲＬ中のＩＰアドレスに置き換える（ステップＳ１０３）。
【００４４】
次に、ポートマッピング装置１５０は、変換されたＨＴＴＰ  ＧＥＴ要求を、ＷＡＮ側ＵＲＬに対応するＬＡＮ側ＵＲＬ中のＩＰアドレス宛に送信する（ステップＳ１０４）。
【００４５】
続いて、ポートマッピング装置１５０は、ルーター１００がＷＡＮインターフェース１３０から受信したパケットがＨＴＴＰ  ２００応答であるか否かを確認する（ステップＳ１０５）。
【００４６】
受信したパケットがＨＴＴＰ  ２００応答でない場合には（ステップＳ１０５：Ｎｏ）、ポートマッピング装置１５０は、ステップＳ１０５の処理を繰り返す。
【００４７】
受信したパケットがＨＴＴＰ  ２００応答である場合には（ステップＳ１０５：Ｙｅｓ）、ポートマッピング装置１５０は、受信したＨＴＴＰ  ２００応答を、ＨＴＴＰ  ＧＥＴ要求元である端末７００に送信して（ステップＳ１０６）、処理を終了する。
【００４８】
次に、本実施形態における処理手順の具体例について説明する。
【００４９】
図３は、本実施形態のポートマッピング装置１５０の処理手順の具体例を説明するための図である。
【００５０】
本具体例では、ＬＡＮ側ＵＲＬがpresentationURLであり、ＷＡＮ側ＵＲＬ中のパス名がfriendlyNameの値である場合について、説明する。
【００５１】
例えば、ウェブサーバー３００の、ＬＡＮ側ＵＲＬの値は「http://private-ip-address1:port1/path1」、friendlyNameは“server1”とする。
【００５２】
また、例えば、ウェブサーバー４００の、ＬＡＮ側ＵＲＬの値は「http://private-ip-address2:port2/path2」、friendlyNameは“server2”とする。
【００５３】
なお、“private-ip-address1”、“private-ip-address2”は、ルーターのＬＡＮ側のネットワークにおける、デバイスのプライベートＩＰアドレスである。また、“port1”、“port2”は、ＴＣＰ（Transport Control Protocol）またはＵＤＰ（User Datagram Protocol）のポート番号を示す“0”から“65535”の整数である。また、“server1”、“server2”は、名称を示す任意の文字列である。
【００５４】
上記の場合、ポートマッピングの設定情報は、ポートマッピング拡張手段１６０により、例えば、図３のように保持される。
【００５５】
ルーター１００のＷＡＮ側のネットワークであるインターネット９００における端末７００上のウェブブラウザー７１０が、ＨＴＴＰを利用して、ルーター１００のＬＡＮ側のネットワーク８００におけるウェブサーバー３００、４００にアクセスする動作について説明する。なお、ＨＴＴＰのバージョンが１．１である場合を例に説明する。
【００５６】
端末７００は、ＨＴＴＰ  ＧＥＴ要求をウェブサーバー３００に送信する。端末７００は、例えば、「GET server1 HTTP/1.1 Host: global-ip-address」で始まるＨＴＴＰ  ＧＥＴ要求を、ルーター１００のＷＡＮインターフェース１３０のポート番号port1宛に送信する。
【００５７】
なお、“global-ip-address”は、ルーター１００のＷＡＮ側のネットワーク９００における、デバイスのグローバルＩＰアドレスである。
【００５８】
ポートマッピング装置１５０は、受信したパケットがＨＴＴＰ  ＧＥＴ要求であるので（ステップＳ１０１：Ｙｅｓ）、受信したＨＴＴＰ  ＧＥＴ要求中の第１パラメーター“server1”が、ポートマッピング拡張手段１６０により保持されるＷＡＮ側ＵＲＬ中のパス名のいずれかと一致するか否かを確認する（ステップＳ１０２）。
【００５９】
“server1”が設定情報の１行目のＷＡＮ側ＵＲＬ中のパス名“server1”と一致するので（ステップＳ１０２：Ｙｅｓ）、ポートマッピング装置１５０は、受信したＨＴＴＰ  ＧＥＴ要求中の“server1”を、ＷＡＮ側ＵＲＬ中のパス名が一致したＬＡＮ側ＵＲＬ中のパス“path1”に置き換える。続いて、ポートマッピング装置１５０は、受信したＨＴＴＰ  ＧＥＴ要求中の第３パラメータ（Ｈｏｓｔ）の値を、ＷＡＮ側ＵＲＬ中のパス名が一致したＬＡＮ側ＵＲＬ中のＩＰアドレス“private-ip-address1”に置き換える（ステップＳ１０３）。
【００６０】
次に、ポートマッピング装置１５０は、変換されたＨＴＴＰ  ＧＥＴ要求「GET path1 HTTP/1.1 Host: private-ip-address1」を、ＷＡＮ側ＵＲＬ中のパス名が一致したＬＡＮ側ＵＲＬ中のＩＰアドレス“private-ip-address1”宛に送信する（ステップＳ１０４）。
【００６１】
続いて、ポートマッピング装置１５０は、ルーター１００のＷＡＮインターフェース１３０からＨＴＴＰ  ２００応答を受信し（ステップＳ１０５）、受信したＨＴＴＰ  ２００応答を、ＨＴＴＰ  ＧＥＴ要求元である端末７００に送信する（ステップＳ１０６）。
【００６２】
端末７００は、ＨＴＴＰ  ＧＥＴ要求をウェブサーバー４００に送信する。端末７００は、例えば、「GET server2 HTTP/1.1 Host: global-ip-address」で始まるＨＴＴＰ  ＧＥＴ要求を、ルーター１００のＷＡＮインターフェース１３０のポート番号port2宛に送信する。
【００６３】
ポートマッピング装置１５０は、受信したパケットがＨＴＴＰ  ＧＥＴ要求であるので（ステップＳ１０１：Ｙｅｓ）、受信したＨＴＴＰ  ＧＥＴ要求中の第１パラメーター“server2”が、ポートマッピング拡張手段１６０により保持されるＷＡＮ側ＵＲＬ中のパス名のいずれかと一致するか否かを確認する（ステップＳ１０２）。
【００６４】
“server2”が設定情報の２行目のＷＡＮ側ＵＲＬ中のパス名“server2”と一致するので（ステップＳ１０２：Ｙｅｓ）、ポートマッピング装置１５０は、受信したＨＴＴＰ  ＧＥＴ要求中の“server2”を、ＷＡＮ側ＵＲＬ中のパス名が一致したＬＡＮ側ＵＲＬ中のパス“path2”に置き換える。続いて、ポートマッピング装置１５０は、受信したＨＴＴＰ  ＧＥＴ要求中の第３パラメータ（Ｈｏｓｔ）の値を、ＷＡＮ側ＵＲＬ中のパス名が一致したＬＡＮ側ＵＲＬ中のＩＰアドレス“private-ip-address2”に置き換える（ステップＳ１０３）。
【００６５】
次に、ポートマッピング装置１５０は、変換されたＨＴＴＰ  ＧＥＴ要求「GET path2 HTTP/1.1 Host: private-ip-address2」を、ＷＡＮ側ＵＲＬ中のパス名が一致したＬＡＮ側ＵＲＬ中のＩＰアドレス“private-ip-address2”宛に送信する（ステップＳ１０４）。
【００６６】
続いて、ポートマッピング装置１５０は、ルーター１００のＷＡＮインターフェース１３０からＨＴＴＰ  ２００応答を受信し（ステップＳ１０５）、受信したＨＴＴＰ  ２００応答を、ＨＴＴＰ  ＧＥＴ要求元である端末７００に送信する（ステップＳ１０６）。
【００６７】
以上説明したように、本実施形態のポートマッピング装置１５０は、ＨＴＴＰ  ＧＥＴ要求「GET server1 HTTP/1.1 Host: global-ip-address」を受信すると、「GET path1 HTTP/1.1 Host: private-ip-address1」を、ＩＰアドレス“private-ip-address1”、ポート番号“port1”宛に送信する。また、ポートマッピング装置１５０は、ＨＴＴＰ  ＧＥＴ要求「GET server2 HTTP/1.1 Host: global-ip-address」を受信すると、「GET path2 HTTP/1.1 Host: private-ip-address2」を、ＩＰアドレス“private-ip-address2”、ポート番号“port2”宛に送信する。
【００６８】
つまり、ルーターのＷＡＮ側ＩＰアドレスとパス名とを含むＵＲＬにより、ポート番号が使用されることなく、ルーターのＬＡＮ側の個々のウェブサーバーが識別される。従って、本実施形態のポートマッピング装置１５０では、ポートマッピングの利便性が向上されるという効果がある。
【００６９】
なお、本実施形態では、端末７００上のウェブブラウザー７１０が、ウェブサーバー３００、４００それぞれの上のウェブサイト３１０、４１０にアクセスする場合について説明した。しかしながら、本実施形態のアプリケーションは、必ずしもウェブに限定されない。すなわち、本実施形態のアプリケーションは、サーバ上のアプリケーションが所定のポート番号でサービスを提供する任意のアプリケーションであってもよい。このとき、ルーターのＬＡＮ側、ＷＡＮ側のそれぞれにおいて、アプリケーションはＵＲＬで識別されればよい。
（第２の実施形態）
本発明のポートマッピング装置の例として、ポートマッピング装置を含む、インターネット（Internet）に接続されたＮＡＴ（Network Address Translation）およびＵＰｎＰ  ＩＧＤ（Universal Plug and Play Internet Gateway Device）機能付きルーターの例を第２の実施形態として示す。
【００７０】
本実施形態における構成について説明する。
【００７１】
図４は、本実施形態におけるルーター１０５の構成の一例を示すブロック図である。ルーター１０５は、ＬＡＮインターフェース１２０と、ＷＡＮインターフェース１３０と、ルーティング手段１４０と、ポートマッピング手段１５５と、記憶手段１９０とを含むルーターである。
【００７２】
ポートマッピング手段１５５は、ポートマッピング拡張手段１６５と、ＵＰｎＰ  ＩＧＤ手段１７０と、ＵＰｎＰ  ＣＰ（Control Point）手段１８０とを有する。
【００７３】
ＬＡＮインターフェース１２０は、ＬＡＮネットワーク８００に接続される。ＬＡＮネットワーク８００には、ウェブサーバー３０５およびウェブサーバー４０５が接続される。
【００７４】
ウェブサーバー３０５、４０５は、それぞれウェブサイト３１５、４１５を有する。
【００７５】
ＷＡＮインターフェース１３０は、コンピュータネットワーク、電話交換網、移動体通信網、企業内イントラネット（Intranet）などが相互に接続された通信網であるインターネット９００に接続される。  ポートマッピング拡張手段１６５は、ポートマッピング情報の設定に関する機能を提供する。
【００７６】
ＵＰｎＰ  ＩＧＤ手段１７０は、ＵＰｎＰ対応ルーターの機能であるＩＧＤ機能を提供する。なお、ＵＰｎＰのＩＧＤは周知の技術であるので、ここでは詳細について説明しない。
【００７７】
ＵＰｎＰ  ＣＰ手段１８０は、ＵＰｎＰ対応装置に対する制御機能であるＣＰ機能を提供する。なお、ＵＰｎＰのＣＰは周知の技術であるので、ここでは詳細について説明しない。
【００７８】
ルーター１０５が有するその他の機能については、図示を省略する。
【００７９】
ＬＡＮインターフェース１２０およびＷＡＮインターフェース１３０は、それぞれ、１つ以上のイーサネット（登録商標）インターフェースを有する。
【００８０】
なお、ＬＡＮ側ネットワーク８００は、有線接続に限定されず、無線接続であってもよい。
【００８１】
また、ＷＡＮインターフェース１３０とインターネット９００との接続方法は限定されない。インターネット９００には、ウェブブラウザー７１５を有するＰＣ（Personal Computer）等の端末７０５が接続される。
【００８２】
ＬＡＮインターフェース１２０は、ＬＡＮネットワーク８００から受信したパケットをルーティング手段１４０に送信し、ルーティング手段１４０から受信したパケットをＬＡＮネットワーク８００に送信する。
【００８３】
ＷＡＮインターフェース１３０は、インターネット９００から受信したパケットをルーティング手段１４０に送信し、ルーティング手段１４０から受信パケットをインターネット９００に送信する。
【００８４】
特定の条件（後述）において、ルーティング手段１４０は、ポートマッピング拡張手段１６５にパケットを送信する。そして、ポートマッピング拡張手段１６５は、受信したパケットに対して処理を行った後、パケットをルーティング手段１４０に送信する。
【００８５】
ＵＰｎＰ  ＩＧＤ手段１７０は、ＬＡＮ側ネットワーク８００から受信したＵＰｎＰパケットに対して処理を行う。
【００８６】
特定の条件（後述）において、ポートマッピング拡張手段１６５は、パケットを生成し、ルーティング手段１４０に送信する。
【００８７】
ＵＰｎＰ  ＣＰ手段１８０は、ＵＰｎＰパケットを生成し、ＬＡＮ側ネットワーク８００へ送信する。
【００８８】
ポートマッピング拡張手段１６５は、記憶手段１９０に対するポートマッピング設定情報の記憶及び削除、記憶手段１９０に記憶した情報の参照、並びに、受信したＵＰｎＰパケットに記述されたフィールドの確認及びファイルの取得を行う。
【００８９】
なお、端末７０５およびウェブブラウザー７１５は、周知の技術により実現されるものであり構成についての説明は行わない。また、ウェブサーバー３０５、４０５、およびそれぞれが有するウェブサイト３１５、４１５は、周知の技術により実現されるものであり構成についての説明は行わない。
【００９０】
また、ＵＰｎＰ  ＩＧＤ手段１７０のＵＰｎＰによるポートマッピングの動作（AddPortMappingを受信してのポートマッピングの登録、DeletePortMappingを受信してのポートマッピングの削除）は、周知の技術であるため詳細な説明は行わない。
【００９１】
また、ＵＰｎＰ  ＣＰ手段１８０の動作（Ｍ-SEARCHの送信）は、周知の技術であるため詳細な説明は行わない。
【００９２】
また、ルーター１０５は、特に明記しない限り、AddPortMapping要求やDeletePortMapping要求に対してＨＴＴＰ（Hypertext Transfer Protocol）  ２００レスポンスを送信し、ＵＰｎＰによるポートマッピング動作を正常に行うものとする。
【００９３】
また、これらのＵＰｎＰによるポートマッピングの設定情報は、適宜記憶手段１９０に記憶、削除されるものとし、実施例の中での説明を省略する。
【００９４】
また、ポートマッピング情報の設定は、ウェブブラウザーを使用してルーター１０５が有する管理画面に接続することで行われるものとする。
【００９５】
その他の構成要素については、第１の実施形態と同じである。
【００９６】
次に、本実施形態における動作について説明する。
【００９７】
まず、ルーター１０５の動作の概要について説明する。
【００９８】
ルーター１０５には、ＷＡＮ側から通信させたいＬＡＮ側のウェブサーバー（３０５、４０５等）の設定が行われる。
【００９９】
ルーター１０５は、ＬＡＮ側のネットワーク８００からのパケットを監視する。
【０１００】
ルーター１０５は、リクエストメソッドが“ＰＯＳＴ”であるＨＴＴＰパケット（以下、「ＨＴＴＰ  ＰＯＳＴリクエスト」という）を受信すると、データがＸＭＬ（Extensible Markup Language）フォーマットであり、Ｂｏｄｙ部にAddPortMappingが記述されたパケット（以下、「AddPortMapping要求」という。）であるか否かを確認する。
【０１０１】
AddPortMapping要求は、ルーター１０５に対してポートマッピングを要求するパケットである。AddPortMapping要求は、周知の技術であり、ウェブサーバー、は周知の技術に従いAddPortMapping要求を送信する。
【０１０２】
ルーター１０５は、パケットの送信元がウェブサーバー（３０５、４０５等）であるか否かを確認するため、リクエストメソッドがＭ-SEARCHであるＨＴＴＰパケット（以下、「Ｍ-SEARCH」という。）をＬＡＮ側ネットワークにマルチキャスト送信する。
【０１０３】
ウェブサーバー（３０５、４０５等）がＭ-SEARCHに対応している場合、ルーター１０５は、ウェブサーバー（３０５、４０５等）からステータスコードが“２００”であるＨＴＴＰパケット（以下、「ＨＴＴＰ  ２００レスポンス」という）を受信する。
【０１０４】
ルーター１０５は、受信したＨＴＴＰ  ２００レスポンスのソースＩＰアドレスがウェブサーバーのＩＰアドレスと一致するか否かを確認する。
【０１０５】
受信したＨＴＴＰ  ２００レスポンスに「LOCATION」フィールドが含まれる場合、ルーター１０５は、「LOCATION」フィールドに記述されたファイルを取得するためウェブサーバー（３０５、４０５等）にリクエストメソッドがＧＥＴであるＨＴＴＰパケット（以下、「ＨＴＴＰ  ＧＥＴリクエスト」という）を送信する。
【０１０６】
ルーター１０５は、ウェブサーバー（３０５、４０５等）からＨＴＴＰ  ２００レスポンスを受信すると、データがＸＭＬフォーマットであり、presentationURLが記述されているか否かを確認する。
【０１０７】
presentationURLが記述されている場合、ルーター１０５は、ウェブサーバー（３０５、４０５等）がウェブサイト（３１５、４１５等）を有していると判断する。
【０１０８】
presentationURLの他にfriendlyNameやmodelNameなどが記述されている場合、ルーター１０５は、friendlyNameやmodelNameなどの値を通信用ＵＲＩとして採用する。例えば、friendlyNameが通信用ＵＲＩとして採用される場合、friendlyNameが“myServer”であれば通信用ＵＲＩが“/myServer/”であるものとする。
【０１０９】
ルーター１０５は、通信用ＵＲＩおよびウェブサーバーのＩＰアドレス、ポート番号、パスを設定し、ルーター１０５の記憶手段に記憶する。
【０１１０】
次にルーター１０５は、ＷＡＮ側で受信するパケットを監視する。
【０１１１】
ＷＡＮ側の端末から受信したパケットが、ＨＴＴＰ  ＧＥＴリクエストである場合、ルーター１０５は、ＨＴＴＰ  ＧＥＴリクエストのRequest-ＵＲＩ（Uniform Resource Identifier）に記憶手段に記憶されている通信用ＵＲＩが含まれるか否かを確認する。
【０１１２】
通信用ＵＲＩが含まれる場合、ルーター１０５は、ＨＴＴＰリクエストの“Ｈｏｓｔ”の値を記憶手段に記憶されるＩＰアドレスに、ポート番号をRequest-ＵＲＩにおいて通信用ＵＲＩと一致する部分を記憶手段に記憶されるパスに置き換えた上で、ウェブサーバー（３０５、４０５等）に送信する。
【０１１３】
ルーター１０５は、ウェブサーバー（３０５、４０５等）からステータスコードが“２００”であるＨＴＴＰパケット（以下、「ＨＴＴＰ  ２００レスポンス」という）を受信すると、ＨＴＴＰ  ２００レスポンスをＷＡＮ側の端末７０５に送信する。
【０１１４】
これにより、ルーター１０５のＷＡＮ側に接続された端末７０５がルーター１０５のＬＡＮ側に接続されたウェブサーバー（３０５、４０５等）と通信する際に、ルーター１０５のＷＡＮ側ＩＰアドレスとポート番号とを含むＵＲＬではなく、ルーター１０５のＷＡＮ側ＩＰアドレスと“/myServer/”のようなパス名とを含むＵＲＬが使用される。これにより、端末７０５は、個々のウェブサーバー（３０５、４０５等）を識別できる。
【０１１５】
つまり、ウェブサーバー（３０５、４０５等）とポート番号との紐付けが不要である。なお、使用者はウェブブラウザー７１５を使用してルーター１０５が有する管理画面に接続することで、ルーター１０５のＷＡＮ側ＩＰアドレスとウェブサーバー３０５、４０５（ウェブサイト３１５、４２５）と通信するためのRequest-ＵＲＩを確認することができる。
【０１１６】
次に、ルーター１０５の動作の具体例を説明する。
【０１１７】
図５から図１１を使用して、ウェブサーバー３０５、ウェブサーバー４０５、ルーター１０５、端末７０５間の処理の動作をそれぞれ説明する。以降の文中の先頭文字「Ｓ」に続く３桁または４桁の数字は図５から図１１中の処理のステップの番号を表す。
【０１１８】
図５から図７において、ルーター１０５は、ＬＡＮインターフェース１２０において、ウェブサーバー３０５またはウェブサーバー４０５とパケットの送受信を行う。図６、図８において、ＷＡＮインターフェース１３０において、端末７０５とパケットの送受信を行う。
【０１１９】
ルーティング手段１４０は、ＬＡＮインターフェース１２０またはＷＡＮインターフェース１３０からパケットを受信した場合には、ポートマッピング手段１５５（ポートマッピング拡張手段１６５、ＵＰｎＰ  ＩＧＤ手段１７０、ＵＰｎＰ  ＣＰ手段１８０）に受信したパケットを送信する。ルーティング手段１４０は、ポートマッピング手段１５５（ポートマッピング拡張手段１６５、ＵＰｎＰ  ＩＧＤ手段１７０、ＵＰｎＰ  ＣＰ手段１８０）からパケットを受信した場合には、受信したパケットをＬＡＮインターフェース１２０またはＷＡＮインターフェース１３０に送信する。
【０１２０】
図５から図８において、ウェブサーバー３０５およびウェブサーバー４０５とルーター１０５間に存在するＬＡＮネットワーク８００、およびルーター１０５と端末７０５間に存在するインターネット９００の記載は省略する。
【０１２１】
ルーター１０５のＬＡＮ側、ＷＡＮ側のＩＰアドレスは、それぞれ“192.168.100.1”、“172.16.1.5”とする。ルーター１０５のＷＡＮ側は、ポート番号“80”でＨＴＴＰパケットを待ち受けることとする。ウェブサーバー３０５およびウェブサーバー４０５のＩＰアドレスをそれぞれ“192.168.100.10”、“192.168.100.20”、ポート番号をそれぞれ“8080”、“10080”、ウェブサイト３１５およびウェブサイト４１５上に存在するファイルのＵＲＬをそれぞれ“http://192.168.100.10:8080/example.txt”、“http://192.168.100.20:10080/user/test.txt”とする。
【０１２２】
図５は、本実施形態のルーター１０５、ウェブサーバー３０５、４０５のポートマッピング情報の設定動作例を示すシーケンス図である。
【０１２３】
図９は、本実施形態のルーター１０５のポートマッピング手段１５５のポートマッピング情報の設定動作を示すフローチャートである。
【０１２４】
図１２は、本実施形態のルーター１０５のポートマッピング情報の具体例を説明するための図である。
【０１２５】
図５、図９および図１２を用いて、記憶手段１９０へのポートマッピング情報の設定動作について説明する。
【０１２６】
ウェブサーバー３０５は、ルーター１０５に対して「AddPortMapping要求」を送信する（図５：ステップＳ２０１、Ｓ２０２）。「AddPortMapping要求」とは、ルーターに対するポートマッピングの設定要求である。AddPortMapping要求は、周知の技術である。ウェブサーバー３０５は、周知の技術に従いAddPortMapping要求を送信する。
【０１２７】
ルーター１０５のポートマッピング手段１５５は、ＵＰｎＰ  ＩＧＤ手段１７０がウェブサーバー３０５からAddPortMapping要求を受信したか否かを確認する（図９：ステップＳ６０１）。
【０１２８】
AddPortMapping要求を受信すると（図９：ステップＳ６０１：Ｙｅｓ）、ポートマッピング手段１５５は、ＵＰｎＰ  ＣＰ手段１８０により「Ｍ-SEARCH」をＬＡＮ側ネットワーク８００にマルチキャスト送信する（図９：ステップＳ６０２、図５：ステップＳ２０４、Ｓ２０５、Ｓ２０６）。なお、「Ｍ-SEARCH」は、ポートマッピングの対象装置（ウェブサーバー３０５、４０５）を検出するための手段である。
【０１２９】
ルーター１０５のポートマッピング手段１５５は、ＵＰｎＰ  ＣＰ手段１８０がＨＴＴＰ  ２００レスポンスを受信したか否かを確認する（図９：ステップＳ６０３）。
【０１３０】
ＨＴＴＰ  ２００レスポンスを受信すると（図９：ステップＳ６０３：Ｙｅｓ、図５：ステップＳ２０７、Ｓ２０８）、ポートマッピング手段１５５は、受信したＨＴＴＰ  ２００レスポンスのソースＩＰアドレスがAddPortMapping要求したウェブサーバーと一致するか否かを確認する（図９：ステップＳ６０４、図５：ステップＳ２０９）。
【０１３１】
一致する場合（図９：ステップＳ６０４：Ｙｅｓ）、ポートマッピング手段１５５は、「ＬＯＣＡＴＩＯＮ」フィールドが含まれるか否かを確認する（図９：ステップＳ６０５、図５：ステップＳ２１０）。
【０１３２】
「ＬＯＣＡＴＩＯＮ」フィールドが含まれる場合（図９：ステップＳ６０５：Ｙｅｓ）、ポートマッピング手段１５５は、「ＬＯＣＡＴＩＯＮ」フィールドに記述されているファイルの取得を行う（図９：ステップＳ６０６、図５：ステップＳ２１０、Ｓ２１１）。
【０１３３】
ファイルが取得できた場合（図９：ステップＳ６０６：Ｙｅｓ）、ポートマッピング手段１５５は、取得したファイルにpresentationURLが記述されているか否かを確認する（図９：ステップＳ６０７、図５：ステップＳ２１２、Ｓ２１３）。
【０１３４】
presentationURLが記述されている場合（図９：ステップＳ６０７：Ｙｅｓ）、ポートマッピング手段１５５は、ウェブサーバー３０５がウェブサイト３１５を有していると判断する（図９：ステップＳ６０８、Ｓ６０９、図５：ステップＳ２１４、Ｓ２１５）。ここではpresentationURLは、“http://192.168.100.10:8080/”であるものとする。このとき、パスは“/”である。
【０１３５】
ポートマッピング手段１５５は、ステップＳ６０６で取得したファイルに記述された“friendlyName”や“modelName”などの値を通信用ＵＲＩとして採用する（図９：ステップＳ６０８、図５：ステップＳ２１４）。ここでは“friendlyName”の値が“myServer”であるとし、“/myServer/”を通信用ＵＲＩとして採用する。
【０１３６】
ポートマッピング手段１５５は、通信用ＵＲＩおよびウェブサーバーのＩＰアドレス、ポート番号、パスを、記憶手段１９０に記憶する（図９：ステップＳ６０９、図５：ステップＳ２１５）。
【０１３７】
図１２は、記憶手段１９０に記憶されたポートマッピング情報である。Ｎｏ．１行はウェブサイト３１５に関する情報であり、通信用ＵＲＩ列は“/myServer/”、ＩＰアドレスは“192.168.100.10”、ポート番号は“8080”である。Ｎｏ．２行はウェブサイト３１５と同様に設定されたウェブサイト４１５に関する情報である。ここではpresentationURLが“http://192.168.100.20:10080/user/”であるとする。このときパスは“/user/”である。“friendlyName”の値が“webServer”であるものとし、“/webServer/”が通信用ＵＲＩとして採用される。通信用ＵＲＩ列は“/webServer/”、ＩＰアドレスは“192.168.100.20”、ポート番号は“10080”である。
【０１３８】
図６は、本実施形態のルーター１０５、ウェブサーバー３０５、４０５、端末７０５のポートマッピングの動作例を示すシーケンス図である。
【０１３９】
図１０は、本実施形態のルーター１０５のポートマッピング手段１５５のポートマッピングの動作を示すフローチャートである。
【０１４０】
図６および図１０を用いて、ＨＴＴＰ  ＧＥＴリクエストのRequest-ＵＲＩに記憶手段１９０に記憶された通信用ＵＲＩが含まれる場合のポートマッピングの動作について説明する。
【０１４１】
端末７０５は、ウェブサイト３１５（アドレスは“192.168.100.10”）上のファイル（“example.txt”）を取得するために、ＨＴＴＰ  ＧＥＴリクエストを送信する（図６：ステップＳ３０１、Ｓ３０２）。ここで、ＨＴＴＰ  ＧＥＴリクエストの送信先ＩＰアドレスは、ルーターのＷＡＮ側ＩＰアドレスである“172.16.1.5”、ポート番号は“80”、Request-ＵＲＩは“/myServer/”である。使用者は、ウェブブラウザーを使用してルーターが有する管理画面に接続することで、ルーターのＷＡＮ側ＩＰアドレスとウェブサイト３１５と通信するためのRequest-ＵＲＩを知るものとする。
【０１４２】
ルーター１０５のポートマッピング手段１５５は、端末７０５からＨＴＴＰ  ＧＥＴリクエストを受信したか否かを確認する（図１０：ステップＳ７０１）。
【０１４３】
ＨＴＴＰ  ＧＥＴリクエストを受信すると（図１０：ステップＳ７０１：Ｙｅｓ）、ポートマッピング手段１５５は、ＨＴＴＰ  ＧＥＴリクエストのRequest-ＵＲＩに記憶手段１９０に記憶された通信用ＵＲＩが含まれるか否かを確認する（図１０：ステップＳ７０２、図６：ステップＳ３０３）。
【０１４４】
Request-ＵＲＩに通信用ＵＲＩが含まれる場合（図１０：ステップＳ７０２：Ｙｅｓ）、ポートマッピング手段１５５は、ＨＴＴＰ  ＧＥＴリクエストの“Ｈｏｓｔ”の値を記憶手段１９０に記憶されたＩＰアドレス、ポート番号に置き換える。次に、ポートマッピング手段１５５は、Request-ＵＲＩの通信用ＵＲＩと一致する部分を記憶手段１９０に記憶されたパスに置き換える（図１０：ステップＳ７０３、図６：ステップＳ３０４）。続いて、ポートマッピング手段１５５は、ＨＴＴＰ  ＧＥＴリクエストをウェブサーバー３０５あてに送信する（図１０：ステップＳ７０４、図６：ステップＳ３０５、Ｓ３０６）。
【０１４５】
ポートマッピング手段１５５は、ウェブサーバー３０５からＨＴＴＰ  ２００レスポンスを受信したか否かを確認する（図１０：ステップＳ７０５）。
【０１４６】
ウェブサーバー３０５からＨＴＴＰ  ２００レスポンスを受信すると（図１０：ステップＳ７０５：Ｙｅｓ、図６：ステップＳ３０７）、ポートマッピング手段１５５は、ＨＴＴＰ  ２００レスポンスを端末７０５に送信する（図１０：ステップＳＳ７０６、図６：ステップＳ３０８、Ｓ３０９）。
【０１４７】
つまり、ルーター１０５のＷＡＮ側のネットワークに接続された端末７０５は、“http://172.16.1.5:80/myServer/example.txt”にアクセスすることにより、ルーター１０５のＬＡＮ側のネットワークに接続されたウェブサイト３１５上のファイル“http://192.168.100.10:8080/example.txt”を取得する。
【０１４８】
次に、端末７０５は、ウェブサイト４１５（アドレスは“192.168.100.20”）上のファイル（“test.txt”）を取得するために、ＨＴＴＰ  ＧＥＴリクエストを送信する（図６：ステップＳ３１０、Ｓ３１１）。ここで、ＨＴＴＰ  ＧＥＴリクエストの送信先ＩＰアドレスは、ルーターのＷＡＮ側ＩＰアドレスである“172.16.1.5”、ポート番号は“80”、Request-ＵＲＩは“/webServer/”である。使用者は、ウェブブラウザーを使用してルーターが有する管理画面に接続することで、ルーターのＷＡＮ側ＩＰアドレスとウェブサイト４１５と通信するためのRequest-ＵＲＩを知るものとする。
【０１４９】
ルーター１０５のポートマッピング拡張手段１６５は、端末７０５からＨＴＴＰ  ＧＥＴリクエストを受信したか否かを確認する（図１０：ステップＳ７０１）。
【０１５０】
ＨＴＴＰ  ＧＥＴリクエストを受信すると（図１０：ステップＳ７０１：Ｙｅｓ）、ポートマッピング手段１５５は、ＨＴＴＰ  ＧＥＴリクエストのRequest-ＵＲＩに記憶手段１９０に記憶された通信用ＵＲＩが含まれるか否かを確認する（図１０：ステップＳ７０２、図６：ステップＳ３１２）。
【０１５１】
Request-ＵＲＩに通信用ＵＲＩが含まれる場合（図１０：ステップＳ７０２：Ｙｅｓ）、ポートマッピング手段１５５は、ＨＴＴＰ  ＧＥＴリクエストの“Ｈｏｓｔ”の値を記憶手段１９０に記憶されたＩＰアドレス、ポート番号に置き換える。次に、ポートマッピング手段１５５は、Request-ＵＲＩの通信用ＵＲＩと一致する部分を記憶手段１９０に記憶されたパスに置き換える（図１０：ステップＳ７０３、図６：ステップＳ３１３）。続いて、ポートマッピング手段１５５は、ＨＴＴＰ  ＧＥＴリクエストをウェブサーバー４０５あてに送信する（図１０：ステップＳ７０４、図６：ステップＳ３１４、Ｓ３１５）。
【０１５２】
ポートマッピング手段１５５は、ウェブサーバー４０５からＨＴＴＰ  ２００レスポンスを受信したか否かを確認する（図１０：ステップＳ７０５）。
【０１５３】
ウェブサーバー３０５からＨＴＴＰ  ２００レスポンスを受信すると（図１０：ステップＳ７０５：Ｙｅｓ、図６：ステップＳ３１６）、ポートマッピング手段１５５は、ＨＴＴＰ  ２００レスポンスを端末７０５に送信する（図１０：ステップＳＳ７０６、図６：ステップＳ３１７、Ｓ３１８）。
【０１５４】
つまり、ルーター１０５のＷＡＮ側のネットワークに接続された端末７０５は、“http://172.16.1.5:80/webServer/test.txt”にアクセスすることにより、ルーター１０５のＬＡＮ側のネットワークに接続されたウェブサイト４１５上のファイル“http://192.168.100.20:10080/user/test.txt”を取得する。
【０１５５】
図７は、本実施形態のルーター１０５、ウェブサーバー３０５、４０５のポートマッピング情報の削除動作例を示すシーケンス図である。
【０１５６】
図１１は、本実施形態のルーター１０５のポートマッピング手段１５５のポートマッピング情報の削除動作を示すフローチャートである。
【０１５７】
図１３は、本実施形態のルーター１０５のポートマッピング情報の具体例を説明するための図である。
【０１５８】
図７、図１１、図１２および図１３を用いて、記憶手段１９０からポートマッピング情報の設定を削除する動作について説明する。
【０１５９】
ウェブサーバー３０５は、ルーター１０５に対して「DeletePortMapping要求」を送信する（図７：ステップＳ４０１、Ｓ４０２）。「DeletePortMapping要求」とは、ルーターに対するポートマッピングの削除要求である。DeletePortMapping要求は、周知の技術である。ウェブサーバー３０５は、周知の技術に従いDeletePortMapping要求を送信する。
【０１６０】
ルーター１０５のポートマッピング手段１５５は、ＵＰｎＰ  ＩＧＤ手段１７０がウェブサーバー３０５からDeletePortMapping要求を受信したか否かを確認する（図１１：ステップＳ８０１）。
【０１６１】
DeletePortMapping要求を受信すると（図１１：ステップＳ８０１：Ｙｅｓ、図７：ステップＳ４０２）、ポートマッピング手段１５５は、ＩＰアドレス、ポート番号が記憶手段１９０に記憶されているか否かを確認する（図１１：ステップＳ８０２）。
【０１６２】
記憶されている場合（図１１：ステップＳ８０２：Ｙｅｓ）、ポートマッピング手段１５５は、通信用ＵＲＩ 、ＩＰアドレス、ポート番号、パスを記憶手段１９０から削除する（図１１：ステップＳ８０３、図７：ステップＳ４０４）。
【０１６３】
以上の動作の結果、記憶手段１９０に記憶されたポートマッピング情報は、図１２に示した内容から図１３に示すようにＮｏ．１行が削除される。
【０１６４】
図８は、本実施形態のルーター１０５、端末７０５のポートマッピングの動作例を示すシーケンス図である。
【０１６５】
図８および図１０を用いて、ＨＴＴＰ  ＧＥＴリクエストのRequest-ＵＲＩが記憶手段１９０に通信用ＵＲＩとして記憶されていない場合のポートマッピングの動作について説明する。
【０１６６】
端末７０５は、ウェブサイト３１５（アドレスは“192.168.100.10”）上のファイル（“example.txt”）を取得するために、ＨＴＴＰ  ＧＥＴリクエストを送信する（図８：ステップＳ５０１、Ｓ５０２）。ここで、ＨＴＴＰ  ＧＥＴリクエストの送信先ＩＰアドレスは、ルーターのＷＡＮ側ＩＰアドレスである“172.16.1.5”、ポート番号は“80”、Request-ＵＲＩは“/myServer/”である。
【０１６７】
ルーター１０５のポートマッピング手段１５５は、端末７０５からＨＴＴＰ  ＧＥＴリクエストを受信したか否かを確認する（図１０：ステップＳ７０１）。
【０１６８】
ＨＴＴＰ  ＧＥＴリクエストを受信すると（図１０：ステップＳ７０１：Ｙｅｓ）、ポートマッピング手段１５５は、ＨＴＴＰ  ＧＥＴリクエストのRequest-ＵＲＩに記憶手段１９０に記憶された通信用ＵＲＩが含まれるか否かを確認する（図１０：ステップＳ７０２、図８：ステップＳ５０３）。
【０１６９】
Request-ＵＲＩに記憶手段１９０に記憶された通信用ＵＲＩが含まれない場合（図１０：ステップＳ７０２：Ｎｏ）、ポートマッピング手段１５５は、端末７０５からのＨＴＴＰ  ＧＥＴリクエストを破棄する（図１０：ステップＳ７０７、図８：ステップＳ５０４）。
【０１７０】
なお、前述の動作において、ウェブサーバー３０５とウェブサーバー４０５のfriendlyNameがともに“webServer”である等のように同一の場合がある。そのような場合には、後から採用される通信用ＵＲＩにサフィックスを付与することや、friendlyNameではなくmodelNameなど他のパラメーターを採用することなどにより、通信用ＵＲＩが重複しないようにする。
【０１７１】
また、記憶手段１９０に記憶している通信用ＵＲＩおよびウェブサーバーのＩＰアドレス、ポート番号、パスはルーター１０５が有する管理画面で使用者が確認できるものとする。
【０１７２】
以上説明したように、本実施形態のルーター１５５では、ルーターのＷＡＮ  ＩＰアドレスとパス名とを含むＵＲＬにより、ポート番号が使用されることなく、ルーターのＬＡＮ側の個々のウェブサーバーが識別される。従って、本実施形態のポートマッピング装置１５５では、ポートマッピングの利便性が向上されるという効果がある。
（第３の実施形態）
第２の実施形態のルーター１０５は、送信したＭ-SEARCHに対するウェブサーバー３０５からのＨＴＴＰ  ２００レスポンス中の「LOCATION」フィールドに記述されるファイルから、通信用ＵＲＩを取得する。
【０１７３】
ところで、リクエストメソッドがNOTIFYである、ウェブサーバーからの通知のためのＨＴＴＰパケット（以下、「NOTIFY」という。）が存在する。
【０１７４】
そこで、本発明のルーターの例として、Ｍ-SEARCHに対するウェブサーバーからのＨＴＴＰ  ２００レスポンス中の「LOCATION」フィールドに記述されるファイルの代わりに、ウェブサーバーからのNOTIFY中の「LOCATION」フィールドに記述されるファイルから、通信用ＵＲＩを取得するルーターの例を第３の実施形態として示す。
【０１７５】
本実施形態における構成について説明する。
【０１７６】
本実施形態のルーター１０６、ウェブサーバー３０６、４０６の構成は、それぞれ、第２の実施形態のルーター１０５、ウェブサーバー３０５、４０５の構成と同じである。
【０１７７】
ただし、本実施形態のルーター１０６、ポートマッピング手段１５６、ウェブサーバー３０６、４０６は、第２の実施形態のルーター１０５、ポートマッピング手段１５５、ウェブサーバー３０５、４０５とは動作が異なる。
【０１７８】
次に、本実施形態における動作について説明する。
【０１７９】
図１４は、本実施形態のルーター１０６、ウェブサーバー３０６、４０６のポートマッピング情報の設定動作例を示すシーケンス図である。
【０１８０】
図１５は、本実施形態のルーター１０６、ウェブサーバー３０６、４０６のポートマッピング情報の別の設定動作例を示すシーケンス図である。
【０１８１】
図１４、図１５を使用して本実施形態のルーター１０６、ウェブサーバー３０６、４０６の動作を説明する。
【０１８２】
ウェブサーバー３０６は、NOTIFYをＬＡＮ側ネットワークにマルチキャスト送信する（ステップＳ１１０１、Ｓ１１０２、Ｓ１１０３）。
【０１８３】
NOTIFYは周知の技術である。ウェブサーバー３０６は、周知の技術に従いNOTIFYを送信する。
【０１８４】
ルーター１０６は、NOTIFYを受信すると、NOTIFYに「LOCATION」フィールドが含まれるか否かを確認し、含まれる場合、NOTIFYを一時的に記憶する（ステップＳ１１０４）。
【０１８５】
ルーター１０６のポートマッピング手段１５６は、ウェブサーバー３０６がAddPortMapping要求を受信しているか否かを確認する（ステップＳ１１０５）。
【０１８６】
AddPortMapping要求を受信していない場合には、ポートマッピング手段１５６は、AddPortMapping要求の受信待ちを行う（ステップＳ１１０６）。なお、受信待ち時間は、NOTIFYの「CACHE-CONTROL」フィールドに記載されている値や、任意の時間（例えば１８０秒）を使用すればよい。
【０１８７】
AddPortMapping要求を受信している場合には、ポートマッピング手段１５６は、ステップＳ１１１１以降の処理を行う。
【０１８８】
ルーター１０６のポートマッピング手段１５６は、ＵＰｎＰ  ＩＧＤ手段１７０がAddPortMapping要求を受信すると（ステップＳ１１０７、Ｓ１１０８、Ｓ１１０９）、AddPortMapping要求を送信したウェブサーバー３０６が送信したＮＯＴＩＦＹが一時的に記憶されているか否かを確認する（ステップＳ１１１０）。
【０１８９】
ウェブサーバー３０６が送信したNOTIFYが記憶されている場合、ポートマッピング手段１５６は、「LOCATION」フィールドに記述されるファイルの取得を行う（ステップＳ１１１１、Ｓ１１１２、Ｓ１１１３）。
【０１９０】
ファイルが取得できた場合、ポートマッピング手段１５６は、取得したファイルにpresentationURLが記述されているか否かを確認する（ステップＳ１１１４）。
【０１９１】
presentationURLが記述されている場合、ポートマッピング手段１５６は、ウェブサーバー３０６がウェブサイト３１５を有すると判断し、取得したファイルに記述されているfriendlyNameやmodelNameなどを通信用ＵＲＩとして採用する（ステップＳ１１１５）。
【０１９２】
続いて、ポートマッピング手段１５６は、通信用ＵＲＩおよびウェブサーバーのＩＰアドレス、ポート番号、パスをポートマッピング手段１５６に設定し、記憶手段１９０に記憶する（ステップＳ１１１６）。
【０１９３】
なお、端末７０５がウェブサイト３１５または４１５上のファイルを取得する処理や、ルーター１０６がDeletePortMapping要求を受信した場合の処理は、第２の実施形態と同一であるため、説明を省略する。
【０１９４】
ウェブサーバー３０６は、ルーター１０６に対してAddPortMapping要求を送信する（ステップＳ１２０１、Ｓ１２０２）。
【０１９５】
ルーター１０６のポートマッピング手段１５６は、ＵＰｎＰ  ＩＧＤ手段１７０がAddPortMapping要求を受信すると（ステップＳ１２０２、Ｓ１２０３）、ウェブサーバー３０６が送信したNOTIFYが一時的に記憶されているか否かを確認する（ステップＳ１２０４）。
【０１９６】
ウェブサーバー３０６が送信したNOTIFYが記憶されていない場合には、ポートマッピング手段１５６は、NOTIFYの受信待ちを行う（ステップＳ１２０５）。なお、受信待ち時間は任意の時間（例えば１８０秒）を使用すればよい。
【０１９７】
ウェブサーバー３０６が送信したNOTIFYが記憶されている場合には、ポートマッピング手段１５６は、ステップ１２０９以降の処理を行う。
【０１９８】
ルーター１０６は、NOTIFYを受信すると（ステップＳ１２０６、Ｓ１２０７）、受信したNOTIFYがAddPortMapping要求を要求しているウェブサーバーが送信したNOTIFYであるか否かを確認する（ステップＳ１２０９）。
【０１９９】
受信したNOTIFYがAddPortMapping要求を要求しているウェブサーバーが送信したNOTIFYである場合、ポートマッピング手段１５６は、「LOCATION」フィールドに記述されるファイルの取得を行う（ステップＳ１２１０、Ｓ１２１１、Ｓ１２１２）。
【０２００】
ファイルが取得できた場合、ポートマッピング手段１５６は、取得したファイルにpresentationURLが記述されているか否かを確認する（ステップＳ１２１３）。
【０２０１】
presentationURLが記述されている場合、ポートマッピング手段１５６は、ウェブサーバー３０６がウェブサイト３１５を有すると判断し、取得したファイルに記述されているfriendlyNameやmodelNameなどを通信用ＵＲＩとして採用する（ステップＳ１２１４）。
【０２０２】
続いて、ポートマッピング手段１５６は、通信用ＵＲＩおよびウェブサーバーのＩＰアドレス、ポート番号、パスをポートマッピング手段１５６に設定し、記憶手段１９０に記憶する（ステップＳ１２１５）。
【０２０３】
なお、端末７０５がウェブサイト３１５または４１５上のファイルを取得する処理や、ルーター１０６がDeletePortMapping要求を受信した場合の処理は、第２の実施形態と同一であるため、説明を省略する。
【０２０４】
また、記憶手段１９０に記憶される情報は、ＵＰｎＰを使用して自動的に設定されるとは限らない。記憶手段１９０に記憶される情報は、使用者が手動で通信用ＵＲＩおよびウェブサーバーのＩＰアドレス、ポート番号、パス等を設定することにより、設定されてもよい。
【０２０５】
以上説明したように、本実施形態のルーター１５６は、ウェブサーバーからのNOTIFY中の「LOCATION」フィールドに記述されるファイルから、通信用ＵＲＩを取得する。従って、本実施形態のルーター１５６では、NOTIFYから通信用ＵＲＩが取得される場合にも、ルーターのＷＡＮ側ＩＰアドレスとパス名とを含むＵＲＬにより、ポート番号が使用されることなく、ルーターのＬＡＮ側の個々のウェブサーバーが識別される。従って、本実施形態のポートマッピング装置１５５では、ポートマッピングの利便性が向上されるという効果がある。
【０２０６】
尚、図９、１０、１１のルーターの各処理は、ソフトウェアによって実行されてもよい。すなわち、各処理を行うためのコンピュータプログラムが、ルーターが備えるＣＰＵによって読み込まれ、実行されてもよい。プログラムを用いて各処理を行っても、上述の実施形態の処理と同内容の処理を行うことができる。そして、上記のプログラムは、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスク等、非一時的な媒体に格納されてもよい。
【０２０７】
あるいは、各処理は、個別の回路等の構成要素によって実行されてもよい。
【０２０８】
尚、本願発明は、上述の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することができる。
【図１】
0006006257.tif 000002
【図２】
0006006257.tif 000003
【図３】
0006006257.tif 000004
【図４】
0006006257.tif 000005
【図５】
0006006257.tif 000006
【図６】
0006006257.tif 000007
【図７】
0006006257.tif 000008
【図８】
0006006257.tif 000009
【図９】
0006006257.tif 000010
【図１０】
0006006257.tif 000011
【図１１】
0006006257.tif 000012
【図１２】
0006006257.tif 000013
【図１３】
0006006257.tif 000014
【図１４】
0006006257.tif 000015
【図１５】
0006006257.tif 000016