(57)【要約】【課題】ＮＡＰＴを介して他の装置と容易に通信を行う。【解決手段】ローカル通信装置１１は、装置用サービス提供処理装置５１を利用して、中継装置１２のグローバルアドレスポート情報である通信元アドレスポート情報を取得し、ユーザ用サービス提供装置４１を利用して、その通信元アドレスポート情報を通信相手であるローカル通信装置３１と交換する。ローカル通信装置１１および３１は、その情報に基づいて、開通要求パケットを複数の方法で交換して、通信が開通可能なポートを検索し、開通維持パケットを用いて、通信を開通させて維持する。本発明は、インスタントメッセージサービスシステムに適用することができる。【選択図】      図１
2004304318.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークに接続されるとともに、アドレスを変換する第１のアドレス変換装置を介して第２のネットワークに接続される第１の情報処理装置と、第３のネットワークに接続されるとともに、アドレスを変換する第２のアドレス変換装置を介して前記第２のネットワークに接続される第２の情報処理装置とを備えるネットワークシステムにおいて、
前記第１の情報処理装置は、前記第２の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、前記第１の情報処理装置の前記第２のネットワーク上のアドレスを前記第２の情報処理装置に供給するための第１のパケットを生成し、生成した前記第１のパケットを、前記第２のアドレス変換装置に対して供給する処理を繰り返し実行し、
前記第２の情報処理装置は、前記第１の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、前記第２の情報処理装置の前記第２のネットワーク上のアドレスを前記第１の情報処理装置に供給するための第２のパケットを生成し、生成した前記第２のパケットを、前記第１のアドレス変換装置に対して供給する処理を繰り返し実行する
ことを特徴とするネットワークシステム。
【請求項２】
第１のネットワークに接続されるとともに、アドレスを変換する第１のアドレス変換装置を介して第２のネットワークに接続される第１の情報処理装置と、第３のネットワークに接続されるとともに、アドレスを変換する第２のアドレス変換装置を介して前記第２のネットワークに接続される第２の情報処理装置とからなるネットワークシステムの通信方法において、
前記第１の情報処理装置は、前記第２の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、前記第１の情報処理装置の前記第２のネットワーク上のアドレスを前記第２の情報処理装置に供給するための第１のパケットを生成し、生成した前記第１のパケットを、前記第２のアドレス変換装置に対して供給する処理を繰り返し実行し、
前記第２の情報処理装置は、前記第１の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、前記第２の情報処理装置の前記第２のネットワーク上のアドレスを前記第１の情報処理装置に供給するための第２のパケットを生成し、生成した前記第２のパケットを、前記第１のアドレス変換装置に対して供給する処理を繰り返し実行する
を含むことを特徴とする通信方法。
【請求項３】
第１のネットワークに接続されるとともに、アドレスを変換する第１のアドレス変換装置を介して、アドレスを変換する第２のアドレス変換装置を介して第１の他の情報処理装置が接続されている第２のネットワークに接続される情報処理装置において、
前記第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムを実行する実行手段と、
前記実行手段により実行される前記通信開始要求アルゴリズムに基づいて、前記情報処理装置の前記第２のネットワーク上のアドレスを前記第１の他の情報処理装置に供給するための第１のパケットを生成する生成手段と、
前記実行手段により実行される前記通信開始要求アルゴリズムに基づいて、前記生成手段により生成された前記第１のパケットを、前記第２のアドレス変換装置に対して供給する第１の供給手段と
を備え、
前記実行手段は、互いに異なる手順を含む複数の前記通信開始要求アルゴリズムを順次実行する
ことを特徴とする情報処理装置。
【請求項４】
前記アドレスは、ＩＰアドレスおよびポート番号を含む
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記実行手段は、前記第１のパケットを、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、前記第２のアドレス変換装置の、前記第２のネットワーク上の連続する複数のアドレスに対して供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記実行手段は、前記第１のパケットを、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、前記第２のアドレス変換装置の、前記第２のネットワーク上の１つおきに連続する複数のアドレスに対して供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記実行手段は、前記第２のアドレス変換装置の、前記第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に１つのアドレスが存在するように構成されたアドレス群を設定し、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、異なる前記アドレス群の各アドレスに対して、前記第１のパケットを供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記実行手段は、前記第２のアドレス変換装置の、前記第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群が連続して存在するように構成されたアドレス群を設定し、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、異なる前記アドレス群の各アドレスに対して、前記第１のパケットを供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項９】
前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段をさらに備え、
前記実行手段は、前記マスタスレーブ判定手段による判定結果に基づいて選択した前記通信開始要求アルゴリズムを実行する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１０】
前記実行手段は、
前記マスタスレーブ判定手段により、前記マスタであると判定された場合、実行する複数の前記通信開始要求アルゴリズムの１つとして、前記第１のパケットを、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、前記第２のアドレス変換装置の、前記第２のネットワーク上の１つおきに連続する複数のアドレスに対して供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行し、
前記マスタスレーブ判定手段により、前記スレーブであると判定された場合、実行する複数の前記通信開始要求アルゴリズムの１つとして、前記第１のパケットを、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、前記第２のアドレス変換装置の、前記第２のネットワーク上の連続する複数のアドレスに対して供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記実行手段は、
前記マスタスレーブ判定手段により、前記マスタであると判定された場合、実行する複数の前記通信開始要求アルゴリズムの１つとして、前記第２のアドレス変換装置の、前記第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に１つのアドレスが存在するように構成されたアドレス群を設定し、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、異なる前記アドレス群の各アドレスに対して、前記第１のパケットを供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行し、
前記マスタスレーブ判定手段により、前記スレーブであると判定された場合、実行する複数の前記通信開始要求アルゴリズムの１つとして、前記第２のアドレス変換装置の、前記第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群が連続して存在するように構成されたアドレス群を設定し、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、異なる前記アドレス群の各アドレスに対して、前記第１のパケットを供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１２】
前記実行手段により、１つの前記通信開始要求アルゴリズムを実行された後、前記通信が開通したか否かを判定する第１の通信開通判定手段をさらに備え、
前記実行手段は、前記第１の通信開通判定手段により前記通信が開通したと判定された場合、前記通信開始要求アルゴリズムの実行を終了し、前記第１の通信開通判定手段により前記通信が開通していないと判定された場合、次の前記通信開始要求アルゴリズムを実行する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１３】
前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段をさらに備え、
前記生成手段は、前記マスタスレーブ判定手段により、前記スレーブであると判定された場合、前記第１の他の情報処理装置より供給された第２のパケットの送信元アドレスに基づいて、送信先アドレスを変更した前記第１のパケットを生成する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１４】
前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段と、
前記マスタスレーブ判定手段により、前記マスタであると判定された場合、前記第１の他の情報処理装置より供給された前記第２のパケットに基づいて、前記第１の他の情報処理装置との通信を開通させる第３のパケットを、前記第１の他の情報処理装置に供給する第２の供給手段と、
前記マスタスレーブ判定手段により、前記マスタであると判定された場合、前記第１の他の情報処理装置より供給された第４のパケットに基づいて、前記第１の他の情報処理装置との通信が開通したか否かを判定する第１の通信開通判定手段と、
前記第１の通信開通判定手段により、前記第１の他の情報処理装置との通信が開通したと判定された場合、前記第１の他の情報処理装置に対して、開通した前記通信を維持させるための前記第５のパケットを供給する第３の供給手段と、
前記マスタスレーブ判定手段により、前記スレーブであると判定された場合、前記第１の他の情報処理装置より供給された第６のパケットに基づいて、前記第１の他の情報処理装置との通信が開通したか否かを判定する第２の通信開通判定手段と、
前記第２の通信開通判定手段により、前記第１の他の情報処理装置との通信が開通したと判定された場合、前記第１の他の情報処理装置に対して、開通した前記通信を維持させるための第７のパケットを前記第１の他の情報処理装置に供給する第４の供給手段と
をさらに備えることを特徴とする請求項３に記載の情報処理装置。
【請求項１５】
前記第２のネットワークに接続された第２の他の情報処理装置に、前記情報処理装置の前記第２のネットワーク上のアドレスに関する情報を要求する第１の要求手段と、
前記第１の要求手段による前記要求に基づいて、前記第２の他の情報処理装置より供給された、前記情報処理装置の前記第２のネットワーク上のアドレスに関する情報を取得する第１の取得手段と、
前記第１の取得手段により取得された前記情報処理装置の前記第２のネットワーク上のアドレスに関する情報を前記第２のネットワークに接続された第３の他の情報処理装置に供給し、前記情報処理装置の前記第２のネットワーク上のアドレスの登録を要求する第２の要求手段と、
前記第３の他の情報処理装置に、通信相手である前記第１の他の情報処理装置の前記第２のネットワーク上のアドレスに関する情報を要求する第３の要求手段と、
前記第３の要求手段による前記要求に基づいて、前記第３の他の情報処理装置より供給された、前記第１の他の情報処理装置の前記第２のネットワーク上のアドレスに関する情報を取得する第２の取得手段と
をさらに備え、
前記生成手段は、前記第２の取得手段により取得された、前記第１の他の情報処理装置の前記第２のネットワーク上のアドレスを送信先アドレスとして、前記第１のパケットを生成する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１６】
第１のネットワークに接続されるとともに、アドレスを変換する第１のアドレス変換装置を介して、アドレスを変換する第２のアドレス変換装置を介して第１の他の情報処理装置が接続されている第２のネットワークに接続される情報処理装置の情報処理方法において、
前記第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムを実行する実行ステップと、
前記実行ステップの処理により実行される前記通信開始要求アルゴリズムに基づいて、前記情報処理装置の前記第２のネットワーク上のアドレスを前記第１の他の情報処理装置に供給するための第１のパケットを生成する生成ステップと、
前記実行ステップの処理により実行される前記通信開始要求アルゴリズムに基づいて、前記生成ステップの処理により生成された前記第１のパケットを、前記第２のアドレス変換装置に対して供給する第１の供給ステップと
を含み、
前記実行ステップの処理は、互いに異なる手順を含む複数の前記通信開始要求アルゴリズムを順次実行する
ことを特徴とする情報処理方法。
【請求項１７】
第１のネットワークに接続されるとともに、アドレスを変換する第１のアドレス変換装置を介して、アドレスを変換する第２のアドレス変換装置を介して第１の他の情報処理装置が接続されている第２のネットワークに接続される情報処理装置を制御するコンピュータが実行可能なプログラムであって、
前記第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムを実行する実行ステップと、
前記実行ステップの処理により実行される前記通信開始要求アルゴリズムに基づいて、前記情報処理装置の前記第２のネットワーク上のアドレスを前記第１の他の情報処理装置に供給するための第１のパケットを生成する生成ステップと、
前記実行ステップの処理により実行される前記通信開始要求アルゴリズムに基づいて、前記生成ステップの処理により生成された前記第１のパケットを、前記第２のアドレス変換装置に対して供給する第１の供給ステップと
を含み、
前記実行ステップの処理は、互いに異なる手順を含む複数の前記通信開始要求アルゴリズムを順次実行する
ことを特徴とするプログラム。
【請求項１８】
ネットワークに接続され、アドレスを変換する第１のアドレス変換装置を介して前記ネットワークに接続される第１の他の情報処理装置、並びに、アドレスを変換する第２のアドレス変換装置を介して前記ネットワークに接続される第２の他の情報処理装置と通信を行う情報処理装置であって、
前記第１の他の情報処理装置より供給された、前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得手段と、
前記取得手段により取得された前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶手段と、
前記記憶手段により記憶されている前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第１の他の情報処理装置の通信相手である前記第２の他の情報処理装置に供給する供給手段と
を備えることを特徴とする情報処理装置。
【請求項１９】
ネットワークに接続され、アドレスを変換する第１のアドレス変換装置を介して前記ネットワークに接続される第１の他の情報処理装置、並びに、アドレスを変換する第２のアドレス変換装置を介して前記ネットワークに接続される第２の他の情報処理装置と通信を行う情報処理装置の情報処理方法であって、
前記第１の他の情報処理装置より供給された、前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶ステップと、
前記記憶ステップの処理により記憶されている前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第１の他の情報処理装置の通信相手である前記第２の他の情報処理装置に供給する供給ステップと
を含むことを特徴とする情報処理方法。
【請求項２０】
ネットワークに接続され、アドレスを変換する第１のアドレス変換装置を介して前記ネットワークに接続される第１の他の情報処理装置、並びに、アドレスを変換する第２のアドレス変換装置を介して前記ネットワークに接続される第２の他の情報処理装置と通信を行う情報処理装置を制御するコンピュータが実行可能なプログラムであって、
前記第１の他の情報処理装置より供給された、前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶ステップと、
前記記憶ステップの処理により記憶されている前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第１の他の情報処理装置の通信相手である前記第２の他の情報処理装置に供給する供給ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラムに関し、特に、ＮＡＰＴを介して他の装置と通信を行う場合に用いて好適なネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラムに関する。
【０００２】
【従来の技術】
現在インターネットではルーティングプロトコルとしてＩｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（以下、ＩＰと称する）が用いられている。もっとも普及しているＩＰのバージョンは、今のところ「４」となっており（以下、ＩＰｖ４と称する）、このバージョンで利用される送信元アドレスや送信先アドレスのビット数は「３２」である。インターネット等に代表されるグローバルなネットワークにおいて、そのＩＰｖ４に基づいて３２ビットのアドレス（以下、ＩＰｖ４アドレスと称する）を、各通信端末に対してユニークに割り当てておくことにより、それらの装置間で行われる通信の通信データの送信元アドレスや送信先アドレスが識別可能となるようになされている。
【０００３】
しかしながら、インターネット利用率の急増化から、ＩＰｖ４アドレスが足りなくなる恐れが生じるようになった。そこで、これを解決するために、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）では、ＩＰのバージョンとして「６」であるプロトコル（以下、ＩＰｖ６と称する）を策定し、普及を開始し始めている。しかし、実際には、インターネットで利用するルーティングプロトコルをＩＰｖ６へ全面移行するためには、多大な時間やコストが必要であり、完全にこの問題を解決することは困難である。
【０００４】
また、同様にこれらを解決するために、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）という技術が考えられている。しかしながら、中継手段としてＵＰｎＰに対応したルータ（Ｒｏｕｔｅｒ）を用いる場合、多大な時間やコストが必要と想定される。さらに、既に多数存在するＵＰｎＰに対応していないルータが、全てＵＰｎＰに対応したルータに交換される必要もあるので、この方法によって、上述した問題を完全に解決しようとすることは現実的ではない。
【０００５】
そこで、既存のＩＰｖ４を利用しつつ、そのアドレスを拡大させる手法として、特別な性質を持つアドレス空間「プライベートアドレス」を用いる方法が提案された。
【０００６】
プライベートアドレスは、ＩＰｖ４アドレスのように、グローバルなネットワークにおける各端末装置に対して、ユニークに割り振られるアドレス（以下、グローバルアドレスと称する）と違い、所定の限られた範囲（ローカルエリア）において各端末に対して割り当てられるアドレスである。従って、ローカルエリアの通信端末装置が、このプライベートアドレスを用いてインターネットにあるグローバルアドレスを持つ他の通信端末装置と通信を行う場合、そのプライベートアドレスをグローバルアドレスに変換する処理が必要となる。それを実現する方法として、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）が考えられる。
【０００７】
ただし、ＮＡＴを用いた場合、その仕組みにより、ひとつのプライベートアドレスに対し、ひとつのグローバルアドレスを対応させる必要があり、複数の通信端末装置がローカルエリアに存在する場合、その中の１台の通信端末装置しかインターネットに接続できない。
【０００８】
そこで、アドレスの下に設けられたサブ（補助）アドレスであるポートを利用する方法が考え出された。具体的に言うと、この方法を用いた場合、通信端末装置に割り当てられたプライベートアドレスと、通信に用いるポート（すなわち、ソケット）がグローバルアドレスとポートへ変換される。この方法は、ＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）またはＩＰマスカレード（ＩＰ  ｍａｓｑｕｅｒａｄｅ）と呼ばれる方法である。このＮＡＰＴを利用することにより、プライベートアドレスとポートを持つ複数の通信端末装置から、グローバルアドレスとポートを有する他の通信端末装置に対して、通信することが可能となる。
【０００９】
しかしながら、以上のように、ＮＡＰＴを利用する通信を行うプライベートネットワークの外側から、通信装置が、プライベートネットワークの中にある通信端末装置に対してアクセスする場合、通信装置は、ＮＡＰＴによる変換前の、通信端末装置のプライベートアドレスとポートを知ることができず、そのままでは上述したような通信ができない。
【００１０】
これに対して、ルータが、プライベートネットワークに接続された通信端末装置の識別子をサブアドレスとして識別するようにし、プライベートネットワークの外部の通信装置が、その通信端末装置にアクセスする場合、そのサブアドレスを用いて通信相手となる通信端末装置を特定するようにする方法がある（例えば、特許文献１参照）。
【００１１】
【特許文献１】
特開２００１−３４５８４１号公報（第９−１６ページ、図３、図６乃至８）
【００１２】
【発明が解決しようとする課題】
しかしながら、以上のような通信方法を用いた場合、上述したようなサブアドレスを利用できる機能を有するルータを用いる必要があり、通信装置は、サブアドレスに対応していない既存のルータを介して、プライベートネットワーク内の通信端末装置に対してアクセスすることができないという課題があった。
【００１３】
また、以上のような通信方法を用いた場合、通信装置は、複数のルータを介して、他の通信装置にアクセスすることができないという課題もあった。
【００１４】
本発明はこのような状況に鑑みてなされたものであり、既存の設備においても、ＮＡＰＴを介して他の装置と容易に通信を行うことができるようにしたものである。
【００１５】
【課題を解決するための手段】
本発明のネットワークシステムは、第１の情報処理装置は、第２の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、第１の情報処理装置の第２のネットワーク上のアドレスを第２の情報処理装置に供給するための第１のパケットを生成し、生成した第１のパケットを、第２のアドレス変換装置に対して供給する処理を繰り返し実行し、第２の情報処理装置は、第１の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、第２の情報処理装置の第２のネットワーク上のアドレスを第１の情報処理装置に供給するための第２のパケットを生成し、生成した第２のパケットを、第１のアドレス変換装置に対して供給する処理を繰り返し実行することを特徴とする。
【００１６】
本発明の通信方法は、第１の情報処理装置は、第２の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、第１の情報処理装置の第２のネットワーク上のアドレスを第２の情報処理装置に供給するための第１のパケットを生成し、生成した第１のパケットを、第２のアドレス変換装置に対して供給する処理を繰り返し実行し、第２の情報処理装置は、第１の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、第２の情報処理装置の第２のネットワーク上のアドレスを第１の情報処理装置に供給するための第２のパケットを生成し、生成した第２のパケットを、第１のアドレス変換装置に対して供給する処理を繰り返し実行することを特徴とする。
【００１７】
本発明の第１の情報処理装置は、第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムを実行する実行手段と、実行手段により実行される通信開始要求アルゴリズムに基づいて、情報処理装置の第２のネットワーク上のアドレスを第１の他の情報処理装置に供給するための第１のパケットを生成する生成手段と、実行手段により実行される通信開始要求アルゴリズムに基づいて、生成手段により生成された第１のパケットを、第２のアドレス変換装置に対して供給する第１の供給手段とを備え、実行手段は、互いに異なる手順を含む複数の通信開始要求アルゴリズムを順次実行することを特徴とする。
【００１８】
前記アドレスは、ＩＰアドレスおよびポート番号を含むようにすることができる。
【００１９】
前記実行手段は、第１のパケットを、情報処理装置の第１のネットワーク上の複数のアドレスから、それぞれ、第２のアドレス変換装置の、第２のネットワーク上の連続する複数のアドレスに対して供給するように、複数の第１のパケットを生成して供給する通信開始要求アルゴリズムを実行するようにすることができる。
【００２０】
前記実行手段は、第１のパケットを、情報処理装置の第１のネットワーク上の複数のアドレスから、それぞれ、第２のアドレス変換装置の、第２のネットワーク上の１つおきに連続する複数のアドレスに対して供給するように、複数の第１のパケットを生成して供給する通信開始要求アルゴリズムを実行するようにすることができる。
【００２１】
前記実行手段は、第２のアドレス変換装置の、第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に１つのアドレスが存在するように構成されたアドレス群を設定し、情報処理装置の第１のネットワーク上の複数のアドレスから、それぞれ、異なるアドレス群の各アドレスに対して、第１のパケットを供給するように、複数の第１のパケットを生成して供給する通信開始要求アルゴリズムを実行するようにすることができる。
【００２２】
前記実行手段は、第２のアドレス変換装置の、第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群が連続して存在するように構成されたアドレス群を設定し、情報処理装置の第１のネットワーク上の複数のアドレスから、それぞれ、異なるアドレス群の各アドレスに対して、第１のパケットを供給するように、複数の第１のパケットを生成して供給する通信開始要求アルゴリズムを実行するようにすることができる。
【００２３】
前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段をさらに備え、実行手段は、マスタスレーブ判定手段による判定結果に基づいて選択した通信開始要求アルゴリズムを実行するようにすることができる。
【００２４】
前記実行手段は、マスタスレーブ判定手段により、マスタであると判定された場合、実行する複数の通信開始要求アルゴリズムの１つとして、第１のパケットを、情報処理装置の第１のネットワーク上の複数のアドレスから、それぞれ、第２のアドレス変換装置の、第２のネットワーク上の１つおきに連続する複数のアドレスに対して供給するように、複数の第１のパケットを生成して供給する通信開始要求アルゴリズムを実行し、マスタスレーブ判定手段により、スレーブであると判定された場合、実行する複数の通信開始要求アルゴリズムの１つとして、第１のパケットを、情報処理装置の第１のネットワーク上の複数のアドレスから、それぞれ、第２のアドレス変換装置の、第２のネットワーク上の連続する複数のアドレスに対して供給するように、複数の第１のパケットを生成して供給する通信開始要求アルゴリズムを実行するようにすることができる。
【００２５】
前記実行手段は、マスタスレーブ判定手段により、マスタであると判定された場合、実行する複数の通信開始要求アルゴリズムの１つとして、第２のアドレス変換装置の、第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に１つのアドレスが存在するように構成されたアドレス群を設定し、情報処理装置の第１のネットワーク上の複数のアドレスから、それぞれ、異なるアドレス群の各アドレスに対して、第１のパケットを供給するように、複数の第１のパケットを生成して供給する通信開始要求アルゴリズムを実行し、マスタスレーブ判定手段により、スレーブであると判定された場合、実行する複数の通信開始要求アルゴリズムの１つとして、第２のアドレス変換装置の、第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群が連続して存在するように構成されたアドレス群を設定し、情報処理装置の第１のネットワーク上の複数のアドレスから、それぞれ、異なるアドレス群の各アドレスに対して、第１のパケットを供給するように、複数の第１のパケットを生成して供給する通信開始要求アルゴリズムを実行するようにすることができる。
【００２６】
前記実行手段により、１つの通信開始要求アルゴリズムを実行された後、通信が開通したか否かを判定する第１の通信開通判定手段をさらに備え、実行手段は、第１の通信開通判定手段により通信が開通したと判定された場合、通信開始要求アルゴリズムの実行を終了し、第１の通信開通判定手段により通信開通していないと判定された場合、次の通信開始要求アルゴリズムを実行するようにすることができる。
【００２７】
前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段をさらに備え、生成手段は、マスタスレーブ判定手段により、スレーブであると判定された場合、第１の他の情報処理装置より供給された第２のパケットの送信元アドレスに基づいて、送信先アドレスを変更した第１のパケットを生成するようにすることができる。
【００２８】
前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段と、マスタスレーブ判定手段により、マスタであると判定された場合、第１の他の情報処理装置より供給された第２のパケットに基づいて、第１の他の情報処理装置との通信を開通させる第３のパケットを、第１の他の情報処理装置に供給する第２の供給手段と、マスタスレーブ判定手段により、マスタであると判定された場合、第１の他の情報処理装置より供給された第４のパケットに基づいて、第１の他の情報処理装置との通信が開通したか否かを判定する第１の通信開通判定手段と、第１の通信開通判定手段により、第１の他の情報処理装置との通信が開通したと判定された場合、第１の他の情報処理装置に対して、開通した通信を維持させるための第５のパケットを供給する第３の供給手段と、マスタスレーブ判定手段により、スレーブであると判定された場合、第１の他の情報処理装置より供給された第６のパケットに基づいて、第１の他の情報処理装置との通信が開通したか否かを判定する第２の通信開通判定手段と、第２の通信開通判定手段により、第１の他の情報処理装置との通信が開通したと判定された場合、第１の他の情報処理装置に対して、開通した通信を維持させるための第７のパケットを第１の他の情報処理装置に供給する第４の供給手段とをさらに備えるようにすることができる。
【００２９】
前記第２のネットワークに接続された第２の他の情報処理装置に、情報処理装置の第２のネットワーク上のアドレスに関する情報を要求する第１の要求手段と、第１の要求手段による要求に基づいて、第２の他の情報処理装置より供給された、情報処理装置の第２のネットワーク上のアドレスに関する情報を取得する第１の取得手段と、第１の取得手段により取得された情報処理装置の第２のネットワーク上のアドレスに関する情報を第２のネットワークに接続された第３の他の情報処理装置に供給し、情報処理装置の第２のネットワーク上のアドレスの登録を要求する第２の要求手段と、第３の他の情報処理装置に、通信相手である第１の他の情報処理装置の第２のネットワーク上のアドレスに関する情報を要求する第３の要求手段と、第３の要求手段による要求に基づいて、第３の他の情報処理装置より供給された、第１の他の情報処理装置の第２のネットワーク上のアドレスに関する情報を取得する第２の取得手段とをさらに備え、生成手段は、第２の取得手段により取得された、第１の他の情報処理装置の第２のネットワーク上のアドレスを送信先アドレスとして、第１のパケットを生成するようにすることができる。
【００３０】
本発明の第１の情報処理方法は、第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムを実行する実行ステップと、実行ステップの処理により実行される通信開始要求アルゴリズムに基づいて、情報処理装置の第２のネットワーク上のアドレスを第１の他の情報処理装置に供給するための第１のパケットを生成する生成ステップと、実行ステップの処理により実行される通信開始要求アルゴリズムに基づいて、生成ステップの処理により生成された第１のパケットを、第２のアドレス変換装置に対して供給する第１の供給ステップとを含み、実行ステップの処理は、互いに異なる手順を含む複数の通信開始要求アルゴリズムを順次実行することを特徴とする。
【００３１】
本発明の第１のプログラムは、第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムを実行する実行ステップと、実行ステップの処理により実行される通信開始要求アルゴリズムに基づいて、情報処理装置の第２のネットワーク上のアドレスを第１の他の情報処理装置に供給するための第１のパケットを生成する生成ステップと、実行ステップの処理により実行される通信開始要求アルゴリズムに基づいて、生成ステップの処理により生成された第１のパケットを、第２のアドレス変換装置に対して供給する第１の供給ステップとを含み、実行ステップの処理は、互いに異なる手順を含む複数の通信開始要求アルゴリズムを順次実行することを特徴とする。
【００３２】
本発明の第２の情報処理装置は、第１の他の情報処理装置より供給された、第１の他の情報処理装置のネットワーク上のアドレスに関する情報を取得する取得手段と、取得手段により取得された第１の他の情報処理装置のネットワーク上のアドレスに関する情報を記憶する記憶手段と、記憶手段により記憶されている第１の他の情報処理装置のネットワーク上のアドレスに関する情報を、第１の他の情報処理装置の通信相手である第２の他の情報処理装置に供給する供給手段とを備えることを特徴とする。
【００３３】
本発明の第２の情報処理方法は、第１の他の情報処理装置より供給された、第１の他の情報処理装置のネットワーク上のアドレスに関する情報を取得する取得ステップと、取得ステップの処理により取得された第１の他の情報処理装置のネットワーク上のアドレスに関する情報を記憶する記憶ステップと、記憶ステップの処理により記憶されている第１の他の情報処理装置のネットワーク上のアドレスに関する情報を、第１の他の情報処理装置の通信相手である第２の他の情報処理装置に供給する供給ステップとを含むことを特徴とする。
【００３４】
本発明の第２のプログラムは、第１の他の情報処理装置より供給された、第１の他の情報処理装置のネットワーク上のアドレスに関する情報を取得する取得ステップと、取得ステップの処理により取得された第１の他の情報処理装置のネットワーク上のアドレスに関する情報を記憶する記憶ステップと、記憶ステップの処理により記憶されている第１の他の情報処理装置のネットワーク上のアドレスに関する情報を、第１の他の情報処理装置の通信相手である第２の他の情報処理装置に供給する供給ステップとをコンピュータに実行させることを特徴とする。
【００３５】
本発明のネットワークシステムおよび通信方法においては、第１の情報処理装置においては、第２の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムを順次実行することにより、第１の情報処理装置の第２のネットワーク上のアドレスを第２の情報処理装置に供給するための第１のパケットが生成され、生成された第１のパケットが、第２のアドレス変換装置に対して供給される処理が繰り返し実行され、第２の情報処理装置においては、第１の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズムが順次実行され、第２の情報処理装置の第２のネットワーク上のアドレスが第１の情報処理装置に供給されるための第２のパケットが生成され、生成された第２のパケットが、第１のアドレス変換装置に対して供給される処理が繰り返し実行される。
【００３６】
本発明の第１の情報処理装置および方法、並びに、プログラムにおいては、第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムが実行され、実行される通信開始要求アルゴリズムに基づいて、情報処理装置の第２のネットワーク上のアドレスを第１の他の情報処理装置に供給するための第１のパケットが生成され、実行される通信開始要求アルゴリズムに基づいて、生成された第１のパケットが、第２のアドレス変換装置に対して供給され、互いに異なる手順を含む複数の通信開始要求アルゴリズムが順次実行される。
【００３７】
本発明の第２の情報処理装置および方法、並びに、プログラムにおいては、第１の他の情報処理装置より供給された、第１の他の情報処理装置のネットワーク上のアドレスに関する情報が取得され、取得された第１の他の情報処理装置のネットワーク上のアドレスに関する情報が記憶され、記憶されている第１の他の情報処理装置のネットワーク上のアドレスに関する情報が、第１の他の情報処理装置の通信相手である第２の他の情報処理装置に供給される。
【００３８】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３９】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００４０】
請求項１に記載のネットワークシステムは、第１のネットワーク（例えば、図１のプライベートネットワーク１０）に接続されるとともに、アドレスを変換する第１のアドレス変換装置（例えば、図１の中継装置１２）を介して第２のネットワーク（例えば、図１のネットワーク２１）に接続される第１の情報処理装置（（例えば、図１のローカル通信装置１１−１乃至１１−ｎ）と、第３のネットワーク（例えば、図１のプライベートネットワーク３０）に接続されるとともに、アドレスを変換する第２のアドレス変換装置（例えば、図１の中継装置３２）を介して前記第２のネットワークに接続される第２の情報処理装置（例えば、図１のローカル通信装置３１−１乃至３１−ｎ）とを備えるネットワークシステムであって、前記第１の情報処理装置は、前記第２の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズム（例えば、図２０、図３８、図４３、または図４４の通信開始要求処理）を順次実行することにより、前記第１の情報処理装置の前記第２のネットワーク上のアドレスを前記第２の情報処理装置に供給するための第１のパケット（例えば、図３１のＵＤＰパケット３７０（開通要求パケット））を生成し、生成した前記第１のパケットを、前記第２のアドレス変換装置に対して供給する処理を繰り返し実行し（例えば、図５０の制御処理）、前記第２の情報処理装置は、前記第１の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズム（例えば、図２０、図３８、図４３、または図４４の通信開始要求処理）を順次実行することにより、前記第２の情報処理装置の前記第２のネットワーク上のアドレスを前記第１の情報処理装置に供給するための第２のパケット（例えば、図３１のＵＤＰパケット３７０（開通要求パケット））を生成し、生成した前記第２のパケットを、前記第１のアドレス変換装置に対して供給する処理を繰り返し実行する（例えば、図５０の制御処理）ことを特徴とする。
【００４１】
請求項２に記載の通信方法は、第１のネットワーク（例えば、図１のプライベートネットワーク１０）に接続されるとともに、アドレスを変換する第１のアドレス変換装置（例えば、図１の中継装置１２）を介して第２のネットワーク（例えば、図１のネットワーク２１）に接続される第１の情報処理装置（例えば、図１のローカル通信装置１１−１乃至１１−ｎ）と、第３のネットワーク（例えば、図１のプライベートネットワーク３０）に接続されるとともに、アドレスを変換する第２のアドレス変換装置（例えば、図１のローカル通信装置３１−１乃至３１−ｎ）を介して前記第２のネットワークに接続される第２の情報処理装置（例えば、図１のローカル通信装置３１）とを備えるネットワークシステムの通信方法であって、前記第１の情報処理装置は、前記第２の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズム（例えば、図２０、図３８、図４３、または図４４の通信開始要求処理）を順次実行することにより、前記第１の情報処理装置の前記第２のネットワーク上のアドレスを前記第２の情報処理装置に供給するための第１のパケット（例えば、図３１のＵＤＰパケット３７０（開通要求パケット））を生成し、生成した前記第１のパケットを、前記第２のアドレス変換装置に対して供給する処理を繰り返し実行し（例えば、図５０の制御処理）、前記第２の情報処理装置は、前記第１の情報処理装置に対して通信の開始を要求するアルゴリズムである、互いに異なる複数の通信開始要求アルゴリズム（例えば、図２０、図３８、図４３、または図４４の通信開始要求処理）を順次実行することにより、前記第２の情報処理装置の前記第２のネットワーク上のアドレスを前記第１の情報処理装置に供給するための第２のパケット（例えば、図３１のＵＤＰパケット３７０（開通要求パケット））を生成し、生成した前記第２のパケットを、前記第１のアドレス変換装置に対して供給する処理を繰り返し実行する（例えば、図５０の制御処理）ことを特徴とする。
【００４２】
請求項３に記載の情報処理装置は、第１のネットワーク（例えば、図１のプライベートネットワーク１０）に接続されるとともに、アドレスを変換する第１のアドレス変換装置（例えば、図１の中継装置１２）を介して、アドレスを変換する第２のアドレス変換装置（例えば、図１の中継装置３２）を介して第１の他の情報処理装置（例えば、図１のローカル通信装置３１−１乃至３１−ｎ）が接続されている第２のネットワーク（例えば、図１のネットワーク２１）に接続される情報処理装置（例えば、図１のローカル通信装置１１−１乃至１１−ｎ）であって、前記第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズム（例えば、図２０、図３８、図４３、または図４４の通信開始要求処理）を実行する実行手段（例えば、図３７のステップＳ３９２またはＳ３９３の処理を実行する図３のローカル間通信制御部６６）と、前記実行手段により実行される前記通信開始要求アルゴリズムに基づいて、前記情報処理装置の前記第２のネットワーク上のアドレスを前記第１の他の情報処理装置に供給するための第１のパケット（例えば、図３１のＵＤＰパケット３７０（開通要求パケット））を生成する生成手段（例えば、図２０のステップＳ２３７の処理を実行する図３のローカル間通信制御部６６）と、前記実行手段により実行される前記通信開始要求アルゴリズムに基づいて、前記生成手段により生成された前記第１のパケットを、前記第２のアドレス変換装置に対して供給する第１の供給手段（例えば、図４３のステップＳ４６７の処理を実行する図３のローカル間通信制御部６６）とを備え、前記実行手段は、互いに異なる手順を含む複数の前記通信開始要求アルゴリズムを順次実行する（例えば、図５０の制御処理）ことを特徴とする。
【００４３】
請求項４に記載の情報処理装置の前記アドレスは、ＩＰアドレスおよびポート番号を含む（例えば、図１７の予想通信元Ｇｌｏ−ＩＰ−ｐｏｒｔに示されるように構成される）ことを特徴とする。
【００４４】
請求項５に記載の情報処理装置の前記実行手段は、前記第１のパケットを、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、前記第２のアドレス変換装置の、前記第２のネットワーク上の連続する複数のアドレスに対して供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズム（例えば、図２０の通信開始要求処理）を実行することを特徴とする。
【００４５】
請求項６に記載の情報処理装置の前記実行手段は、前記第１のパケットを、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、前記第２のアドレス変換装置の、前記第２のネットワーク上の１つおきに連続する複数のアドレスに対して供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズム（例えば、図３８の第２通信開始要求処理）を実行することを特徴とする。
【００４６】
請求項７に記載の情報処理装置の前記実行手段は、前記第２のアドレス変換装置の、前記第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に１つのアドレスが存在するように構成されたアドレス群を設定し、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、異なる前記アドレス群の各アドレスに対して、前記第１のパケットを供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズム（例えば、図４３の第３通信開始要求処理）を実行することを特徴とする。
【００４７】
請求項８に記載の情報処理装置の前記実行手段は、前記第２のアドレス変換装置の、前記第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群が連続して存在するように構成されたアドレス群を設定し、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、異なる前記アドレス群の各アドレスに対して、前記第１のパケットを供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズム（例えば、図４４の第４通信開始要求処理）を実行することを特徴とする。
【００４８】
請求項９に記載の情報処理装置の前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段（例えば、図３７のステップＳ３９１の処理を実行する図３のローカル間通信制御部６６）をさらに備え、前記実行手段は、前記マスタスレーブ判定手段による判定結果に基づいて選択した前記通信開始要求アルゴリズムを実行する（例えば、図３７の制御処理）ことを特徴とする。
【００４９】
請求項１０に記載の情報処理装置の前記実行手段は、前記マスタスレーブ判定手段により、前記マスタであると判定された場合、実行する複数の前記通信開始要求アルゴリズムの１つとして、前記第１のパケットを、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、前記第２のアドレス変換装置の、前記第２のネットワーク上の１つおきに連続する複数のアドレスに対して供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行し、前記マスタスレーブ判定手段により、前記スレーブであると判定された場合、実行する複数の前記通信開始要求アルゴリズムの１つとして、前記第１のパケットを、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、前記第２のアドレス変換装置の、前記第２のネットワーク上の連続する複数のアドレスに対して供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行する（例えば、図３７の制御処理）ことを特徴とする。
【００５０】
請求項１１に記載の情報処理装置の前記実行手段は、前記マスタスレーブ判定手段により、前記マスタであると判定された場合、実行する複数の前記通信開始要求アルゴリズムの１つとして、前記第２のアドレス変換装置の、前記第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に１つのアドレスが存在するように構成されたアドレス群を設定し、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、異なる前記アドレス群の各アドレスに対して、前記第１のパケットを供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行し、前記マスタスレーブ判定手段により、前記スレーブであると判定された場合、実行する複数の前記通信開始要求アルゴリズムの１つとして、前記第２のアドレス変換装置の、前記第２のネットワーク上のアドレスにおいて、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群が連続して存在するように構成されたアドレス群を設定し、前記情報処理装置の前記第１のネットワーク上の複数のアドレスから、それぞれ、異なる前記アドレス群の各アドレスに対して、前記第１のパケットを供給するように、複数の前記第１のパケットを生成して供給する前記通信開始要求アルゴリズムを実行する（例えば、図４２の制御処理）ことを特徴とする。
【００５１】
請求項１２に記載の情報処理装置の前記実行手段により、１つの前記通信開始要求アルゴリズムを実行された後、前記通信が開通したか否かを判定する第１の通信開通判定手段（例えば、図５０のステップＳ５２２の処理を実行する図３のローカル間通信制御部６６）をさらに備え、前記実行手段は、前記第１の通信開通判定手段により前記通信が開通したと判定された場合、前記通信開始要求アルゴリズムの実行を終了し、前記第１の通信開通判定手段により前記通信が開通していないと判定された場合、次の前記通信開始要求アルゴリズムを実行することを特徴とする。
【００５２】
請求項１３に記載の情報処理装置は、前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段（例えば、図８のステップＳ８１の処理を実行する図３のローカル間通信制御部６６）をさらに備え、前記生成手段は、前記マスタスレーブ判定手段により、前記スレーブであると判定された場合、前記第１の他の情報処理装置より供給された第２のパケットの送信元アドレスに基づいて、送信先アドレスを変更した前記第１のパケットを生成する（例えば、図２５のステップＳ３０６の処理）ことを特徴とする。
【００５３】
請求項１４に記載の情報処理装置は、前記第１の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段（例えば、図８のステップＳ８１の処理を実行する図３のローカル間通信制御部６６）と、前記マスタスレーブ判定手段により、前記マスタであると判定された場合、前記第１の他の情報処理装置より供給された前記第２のパケットに基づいて、前記第１の他の情報処理装置との通信を開通させる第３のパケットを、前記第１の他の情報処理装置に供給する第２の供給手段（例えば、図２４のステップＳ２７２の処理を実行する図３のローカル間通信制御部６６）と、前記マスタスレーブ判定手段により、前記マスタであると判定された場合、前記第１の他の情報処理装置より供給された第４のパケットに基づいて、前記第１の他の情報処理装置との通信が開通したか否かを判定する第１の通信開通判定手段（例えば、図２４のステップＳ２７３およびＳ２７４の処理を実行する図３のローカル間通信制御部６６）と、前記第１の通信開通判定手段により、前記第１の他の情報処理装置との通信が開通したと判定された場合、前記第１の他の情報処理装置に対して、開通した前記通信を維持させるための前記第５のパケットを供給する第３の供給手段（例えば、図２４のステップＳ２７８の処理を実行する図３のローカル間通信制御部６６）と、前記マスタスレーブ判定手段により、前記スレーブであると判定された場合、前記第１の他の情報処理装置より供給された第６のパケットに基づいて、前記第１の他の情報処理装置との通信が開通したか否かを判定する第２の通信開通判定手段（例えば、図２６のステップＳ３１１の処理を実行する図３のローカル間通信制御部６６）と、前記第２の通信開通判定手段により、前記第１の他の情報処理装置との通信が開通したと判定された場合、前記第１の他の情報処理装置に対して、開通した前記通信を維持させるための第７のパケットを前記第１の他の情報処理装置に供給する第４の供給手段（例えば、図２６のステップＳ３１５の処理を実行する図３のローカル間通信制御部６６）とをさらに備えることを特徴とする。
【００５４】
請求項１５に記載の情報処理装置は、前記第２のネットワークに接続された第２の他の情報処理装置に、前記情報処理装置の前記第２のネットワーク上のアドレスに関する情報を要求する第１の要求手段（例えば、図１３のステップＳ１７５の処理を実行する図３の通信情報取得処理部６５）と、前記第１の要求手段による前記要求に基づいて、前記第２の他の情報処理装置より供給された、前記情報処理装置の前記第２のネットワーク上のアドレスに関する情報を取得する第１の取得手段（例えば、図１３のステップＳ１７６の処理を実行する図３の通信情報取得処理部６５）と、前記第１の取得手段により取得された前記情報処理装置の前記第２のネットワーク上のアドレスに関する情報を前記第２のネットワークに接続された第３の他の情報処理装置に供給し、前記情報処理装置の前記第２のネットワーク上のアドレスの登録を要求する第２の要求手段（例えば、図１３のステップＳ１７７の処理を実行する図３の通信情報取得処理部６５）と、前記第３の他の情報処理装置に、通信相手である前記第１の他の情報処理装置の前記第２のネットワーク上のアドレスに関する情報を要求する第３の要求手段（例えば、図１３のステップＳ１７４の処理を実行する図３の通信情報取得処理部６５）と、前記第３の要求手段による前記要求に基づいて、前記第３の他の情報処理装置より供給された、前記第１の他の情報処理装置の前記第２のネットワーク上のアドレスに関する情報を取得する第２の取得手段（例えば、図１３のステップＳ１７８の処理を実行する図３の通信情報取得処理部６５）とをさらに備え、前記生成手段は、前記第２の取得手段により取得された、前記第１の他の情報処理装置の前記第２のネットワーク上のアドレスを送信先アドレスとして、前記第１のパケットを生成することを特徴とする。
【００５５】
請求項１６に記載の情報処理方法は、第１のネットワーク（例えば、図１のプライベートネットワーク１０）に接続されるとともに、アドレスを変換する第１のアドレス変換装置（例えば、図１の中継装置１２）を介して、アドレスを変換する第２のアドレス変換装置（例えば、図１の中継装置３２）を介して第１の他の情報処理装置（例えば、図１のローカル通信装置３１−１乃至３１−ｎ）が接続されている第２のネットワーク（例えば、図１のネットワーク２１）に接続される情報処理装置（例えば、図１のローカル通信装置１１−１乃至１１−ｎ）の情報処理方法において、前記第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムを実行する実行ステップ（例えば、図５０のステップＳ５２４、Ｓ５２５、Ｓ５２８、およびＳ５２９）と、前記実行ステップの処理により実行される前記通信開始要求アルゴリズムに基づいて、前記情報処理装置の前記第２のネットワーク上のアドレスを前記第１の他の情報処理装置に供給するための第１のパケット（例えば、開通要求パケット）を生成する生成ステップ（例えば、図２０のステップＳ２３７）と、前記実行ステップの処理により実行される前記通信開始要求アルゴリズムに基づいて、前記生成ステップの処理により生成された前記第１のパケットを、前記第２のアドレス変換装置に対して供給する第１の供給ステップ（例えば、図２０のステップＳ２３７）とを含み、前記実行ステップの処理は、互いに異なる手順を含む複数の前記通信開始要求アルゴリズムを順次実行することを特徴とする。
【００５６】
請求項１７に記載のプログラムは、第１のネットワーク（例えば、図１のプライベートネットワーク１０）に接続されるとともに、アドレスを変換する第１のアドレス変換装置（例えば、図１の中継装置１２）を介して、アドレスを変換する第２のアドレス変換装置（例えば、図１の中継装置３２）を介して第１の他の情報処理装置（例えば、図１のローカル通信装置３１−１乃至３１−ｎ）が接続されている第２のネットワーク（例えば、図１のネットワーク２１）に接続される情報処理装置（例えば、図１のローカル通信装置１１−１乃至１１−ｎ）の情報処理方法において、前記第１の他の情報処理装置に対して通信の開始を要求する通信開始要求アルゴリズムを実行する実行ステップ（例えば、図５０のステップＳ５２４、Ｓ５２５、Ｓ５２８、およびＳ５２９）と、前記実行ステップの処理により実行される前記通信開始要求アルゴリズムに基づいて、前記情報処理装置の前記第２のネットワーク上のアドレスを前記第１の他の情報処理装置に供給するための第１のパケット（例えば、開通要求パケット）を生成する生成ステップ（例えば、図２０のステップＳ２３７）と、前記実行ステップの処理により実行される前記通信開始要求アルゴリズムに基づいて、前記生成ステップの処理により生成された前記第１のパケットを、前記第２のアドレス変換装置に対して供給する第１の供給ステップ（例えば、図２０のステップＳ２３７）とを含み、前記実行ステップの処理は、互いに異なる手順を含む複数の前記通信開始要求アルゴリズムを順次実行することを特徴とする。
【００５７】
請求項１８に記載の情報処理装置は、ネットワーク（例えば、図１のネットワーク２１）に接続され、アドレスを変換する第１のアドレス変換装置（例えば、図１の中継装置１１）を介して前記ネットワークに接続される第１の他の情報処理装置（例えば、図１のローカル通信装置１１−１乃至１１−ｎ）、並びに、アドレスを変換する第２のアドレス変換装置（例えば、図１の中継装置３２）を介して前記ネットワークに接続される第２の他の情報処理装置（例えば、図１のローカル通信装置３１−１乃至３１−ｎ）と通信を行う情報処理装置（例えば、図１のユーザ用サービス提供装置４１）であって、前記第１の他の情報処理装置より供給された、前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得手段（例えば、図１６のステップＳ１９１の処理を実行する図５のユーザ登録情報管理処理部１５５）と、前記取得手段により取得された前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶手段（例えば、図５のユーザ登録情報データベース１７７）と、前記記憶手段により記憶されている前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第１の他の情報処理装置の通信相手である前記第２の他の情報処理装置に供給する供給手段（例えば、図１６のステップＳ１９６の処理を実行する図５のユーザ登録情報管理処理部１５５）とを備えることを特徴とする。
【００５８】
請求項１９に記載の情報処理方法は、ネットワーク（例えば、図１のネットワーク２１）に接続され、アドレスを変換する第１のアドレス変換装置（例えば、図１の中継装置１１）を介して前記ネットワークに接続される第１の他の情報処理装置（例えば、図１のローカル通信装置１１−１乃至１１−ｎ）、並びに、アドレスを変換する第２のアドレス変換装置（例えば、図１の中継装置３２）を介して前記ネットワークに接続される第２の他の情報処理装置（例えば、図１のローカル通信装置３１−１乃至３１−ｎ）と通信を行う情報処理装置（例えば、図１のユーザ用サービス提供装置４１）の情報処理方法であって、前記第１の他の情報処理装置より供給された、前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得ステップ（例えば、図１６のステップＳ１９１）と、前記取得ステップの処理により取得された前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶ステップ（例えば、図１６のステップＳ１９４）と、前記記憶ステップの処理により記憶されている前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第１の他の情報処理装置の通信相手である前記第２の他の情報処理装置に供給する供給ステップ（例えば、図１６のステップＳ１９６）とを含むことを特徴とする。
【００５９】
請求項２０に記載のプログラムは、ネットワーク（例えば、図１のネットワーク２１）に接続され、アドレスを変換する第１のアドレス変換装置（例えば、図１の中継装置１１）を介して前記ネットワークに接続される第１の他の情報処理装置（例えば、図１のローカル通信装置１１−１乃至１１−ｎ）、並びに、アドレスを変換する第２のアドレス変換装置（例えば、図１の中継装置３２）を介して前記ネットワークに接続される第２の他の情報処理装置（例えば、図１のローカル通信装置３１−１乃至３１−ｎ）と通信を行う情報処理装置（例えば、図１のユーザ用サービス提供装置４１）の情報処理方法であって、前記第１の他の情報処理装置より供給された、前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得ステップ（例えば、図１６のステップＳ１９１）と、前記取得ステップの処理により取得された前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶ステップ（例えば、図１６のステップＳ１９４）と、前記記憶ステップの処理により記憶されている前記第１の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第１の他の情報処理装置の通信相手である前記第２の他の情報処理装置に供給する供給ステップ（例えば、図１６のステップＳ１９６）とを含む処理をコンピュータに実行させることを特徴とする。
【００６０】
以下に、本発明の実施の形態について図面を参照して説明する。
【００６１】
図１は、本発明を適用したネットワークシステムの構成例を表している。
【００６２】
図１に示されるネットワークシステムにおいて、それぞれがインスタントメッセージサービス（以下、ＩＭサービスと称する）の通信端末装置であるｎ台のローカル通信装置１１−１乃至１１−ｎは、それぞれ、ＮＡＰＴ機能を有するルータである中継装置１２に接続されており、プライベートネットワーク１０を形成している。中継装置１２は、また、インターネットに代表されるグローバルなネットワーク２１と接続されており、ネットワーク２１におけるグローバルなアドレスであるグローバルアドレスを割り当てられている。さらに、中継装置１２は、グローバルアドレスのサブアドレスとして、複数のポートを有している。
【００６３】
なお、以下において、ローカル通信装置１１−１乃至１１−ｎを分けて説明する必要の無い場合、ローカル通信装置１１と称する。
【００６４】
同様に、それぞれがインスタントメッセージサービス（以下、ＩＭサービスと称する）通信端末装置であるｎ台のローカル通信装置３１−１乃至３１−ｎは、それぞれ、ＮＡＰＴ機能を有するルータである中継装置３２に接続されており、プライベートネットワーク１０とは異なるプライベートネットワーク３０を形成している。中継装置３２は、また、ネットワーク２１と接続されており、ネットワーク２１におけるグローバルなアドレスであるグローバルアドレスを割り当てられている。さらに、中継装置３２は、グローバルアドレスのサブアドレスとして、複数のポートを有している。
【００６５】
なお、以下において、ローカル通信装置３１−１乃至３１−ｎを分けて説明する必要の無い場合、ローカル通信装置３１と称する。
【００６６】
図２に示されるように、プライベートネットワーク１０のローカル通信装置１１−１乃至１１−ｎには、それぞれ、プライベートネットワーク１０におけるプライベートアドレスが割り当てられている。また、ローカル通信装置１１は、プライベートアドレスのサブアドレスとして、複数のポートを有している。
【００６７】
ローカル通信装置１１は、例えば、ネットワーク２１を介してデータを送信する場合、割り当てられたプライベートアドレス、およびポートの情報を送信元のアドレスポート情報（Ｐｒｉ−ＩＰ−ｐｏｒｔ）として、データとともに、中継装置１２に供給する。
【００６８】
中継装置１２は、ＮＡＰＴ機能を用いて、ローカル通信装置１１より取得した、プライベートネットワーク１０におけるアドレスポート情報（Ｐｒｉ−ＩＰ−ｐｏｒｔ）（以下、プライベートアドレスポート情報と称する）を、グローバルアドレスと、グローバルなポートからなるネットワーク２１におけるアドレスポート情報（Ｇｌｏ−ＩＰ−ｐｏｒｔ）（以下、グローバルアドレスポート情報と称する）に変換し、取得したデータとともに、ネットワーク２１に供給する。
【００６９】
なお、プライベートネットワーク３０においても、ローカル通信端末装置３１や中継装置３２により、プライベートネットワーク１０の場合と同様の処理が行われるので、その説明は省略する。
【００７０】
ローカル通信装置１１およびローカル通信装置３１は、ユーザ用サービス提供装置４１および装置用サービス提供装置５１が提供するＩＭサービスを利用することにより、プライベートネットワーク１０および３０、中継装置１２および３２、並びにネットワーク２１を介して、互いに通信を行う。
【００７１】
なお、以下において、ローカル通信装置１１が中継装置１２を介してネットワーク２１側の装置と通信を行う場合に中継装置１２が行うＮＡＰＴによるアドレスポート情報の変換処理についての説明は、必要でない場合、適宜省略する。また、中継装置３２による変換処理についても同様に適宜省略する。
【００７２】
図１に戻り、ネットワーク２１には、中継装置１２および３２の他に、ローカル通信装置１１および３１が利用するＩＭサービスを提供するサーバであるユーザ用サービス提供装置４１および装置用サービス提供装置５１が接続されている。
【００７３】
ユーザ用サービス提供装置４１は、ネットワーク２１を介して、ＩＭサービスの一部であり、ＩＭサービスを利用するローカル通信装置１１または３１のユーザに対するサービスであるユーザ用サービスを提供する。ユーザ用サービス提供装置４１は、プライベートアドレス１０、中継装置１２、およびネットワーク２１を介してアクセスしてきたローカル通信装置１１、または、プライベートアドレス３０、中継装置３２、およびネットワーク２１を介してアクセスしてきたローカル通信装置３１と通信を行うことにより、ユーザ用サービスを提供する。
【００７４】
また、装置用サービス提供装置５１は、ネットワーク２１を介して、ＩＭサービスの一部であり、ＩＭサービスを利用するローカル通信装置１１または３１に対するサービスである装置用サービスを提供する。装置用サービス提供装置５１は、プライベートアドレス１０、中継装置１２、およびネットワーク２１を介してアクセスしてきたローカル通信装置１１、または、プライベートアドレス３０、中継装置３２、およびネットワーク２１を介してアクセスしてきたローカル通信装置３１と通信を行うことにより、装置用サービスを提供する。
【００７５】
図３は、図１のローカル通信装置１１の内部の構成例を示すブロック図である。
【００７６】
図３において、ローカル通信装置１１のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６３には、ＣＰＵ６１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【００７７】
認証処理部６４は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、ＩＭサービスが提供されるローカル通信装置１１のユーザの認証に関する処理を行う。通信情報取得処理部６５は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、他のローカル通信装置に接続する場合に必要な通信情報の取得に関する処理を実行する。ローカル間通信制御部６６は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、ＩＭサービスを利用した通信において、通信相手となる他のローカル通信装置との通信を制御する。
【００７８】
ユーザ認証用インタフェース提供処理部６７は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、ユーザ認証時に、ユーザからの入力を受け付けるためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供する。
【００７９】
ユーザ特定用インタフェース提供処理部６８は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、ユーザが送信相手に関する情報を入力するためのＧＵＩを提供する。
【００８０】
ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、認証処理部６４、通信情報取得処理部６５、ローカル間通信制御部６６、ユーザ認証用インタフェース提供処理部６７、およびユーザ特定用インタフェース提供処理部６８は、バス７０を介して相互に接続されている。このバス７０にはまた、入出力インタフェース８０も接続されている。
【００８１】
入出力インタフェース８０は、キーボードやマウスから構成される入力部８１が接続され、入力部８１に入力された信号をＣＰＵ６１に出力する。また、入出力インタフェース８０には、ディスプレイやスピーカなどから構成される出力部８２も接続されている。
【００８２】
さらに、入出力インタフェース８０には、ハードディスクやＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などから構成される記憶部８３、および、プライベートネットワーク１０などのネットワークを介して他の装置とデータの通信を行う通信部８４も接続されている。ドライブ８５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア９１よりデータを読み出したり、データを書き込んだりするときに用いられる。
【００８３】
なお、図１のローカル通信装置３１の内部の構成例は、ローカル通信装置１１の場合と同様であり、図３のブロック図を適用することができるので、その説明を省略する。
【００８４】
図４は、図１の中継装置１２の内部の構成例を示すブロック図である。
【００８５】
図４において、中継装置１２のＣＰＵ１０１は、ＲＯＭ１０２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ１０３には、ＣＰＵ１０１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【００８６】
アドレス変換部１０４は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、通信部１２４を介してローカル通信装置１１から供給された、プライベートネットワーク１０におけるプライベートアドレスポート情報を、ネットワーク２１におけるグローバルアドレスポート情報に変換する処理を行う。
【００８７】
ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、およびアドレス変換処理部１０４は、バス１１０を介して相互に接続されている。このバス１１０にはまた、入出力インタフェース１２０も接続されている。
【００８８】
入出力インタフェース１２０は、キーボードやマウスから構成される入力部１２１が接続され、入力部１２１に入力された信号をＣＰＵ１０１に出力する。また、入出力インタフェース１２０には、ディスプレイやスピーカなどから構成される出力部１２２も接続されている。
【００８９】
さらに、入出力インタフェース１２０には、ハードディスクやＥＥＰＲＯＭなどから構成される記憶部１２３、および、プライベートネットワーク１０やネットワーク２１を介して他の装置とデータの通信を行う通信部１２４も接続されている。ドライブ１２５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア１３１よりデータを読み出したり、データを書き込んだりするときに用いられる。
【００９０】
なお、図１の中継装置３２の内部の構成例は、中継装置１２の場合と同様であり、図４のブロック図を適用することができるので、その説明を省略する。
【００９１】
図５は、図１のユーザ用サービス提供装置４１の内部の構成例を示すブロック図である。
【００９２】
図５において、ユーザ用サービス提供装置４１のＣＰＵ１５１は、ＲＯＭ１５２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ１５３には、ＣＰＵ１５１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【００９３】
認証処理部１５４は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、ＩＭサービスを提供するユーザの認証処理を行う。ユーザ登録情報管理処理部１５５は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、ローカル通信装置より供給され、ユーザ登録情報データベース１７７に登録されているユーザ登録情報の管理に関する処理を行う。
【００９４】
ＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３、認証処理部１５４、およびユーザ登録情報管理処理部１５５は、バス１６０を介して相互に接続されている。このバス１６０にはまた、入出力インタフェース１７０も接続されている。
【００９５】
入出力インタフェース１７０は、キーボードやマウスから構成される入力部１７１が接続され、入力部１７１に入力された信号をＣＰＵ１５１に出力する。また、入出力インタフェース１７０には、ディスプレイやスピーカなどから構成される出力部１７２も接続されている。
【００９６】
さらに、入出力インタフェース１７０には、ハードディスクやＥＥＰＲＯＭなどから構成される記憶部１７３、および、ネットワーク２１等を介して他の装置とデータの通信を行う通信部１７４も接続されている。ドライブ１７５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア１８１よりデータを読み出したり、データを書き込んだりするときに用いられる。
【００９７】
また、入出力インタフェース１７０には、認証処理部１５４が実行する認証処理において用いられるユーザ認証情報を記憶するユーザ認証情報データベース１７６、並びに、ＩＭサービスに関するユーザ毎の情報であるユーザ登録情報を記憶するユーザ登録情報データベース１７７が接続されている。
【００９８】
図６は、図１の装置用サービス提供装置５１の内部の構成例を示すブロック図である。
【００９９】
図６において、装置用サービス提供装置５１のＣＰＵ２０１は、ＲＯＭ２０２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ２０３には、ＣＰＵ２０１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【０１００】
アドレスポート情報提供処理部２０４は、制御部、演算部、またはデータ保持部（いずれも図示せず）を内蔵しており、ローカル通信装置１１または３１からの要求に基づいて、それらのグローバルアドレスポート情報を調査し、提供する。
【０１０１】
ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、およびアドレスポート情報提供処理部２０４は、バス２１０を介して相互に接続されている。このバス２１０にはまた、入出力インタフェース２２０も接続されている。
【０１０２】
入出力インタフェース２２０は、キーボードやマウスから構成される入力部２２１が接続され、入力部２２１に入力された信号をＣＰＵ２０１に出力する。また、入出力インタフェース２２０には、ディスプレイやスピーカなどから構成される出力部２２２も接続されている。
【０１０３】
さらに、入出力インタフェース２２０には、ハードディスクやＥＥＰＲＯＭなどから構成される記憶部２２３、および、ネットワーク２１等を介して他の装置とデータの通信を行う通信部２２４も接続されている。ドライブ２２５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア２３１よりデータを読み出したり、データを書き込んだりするときに用いられる。
【０１０４】
次に、図７および図８のアローチャートを参照して、図１のネットワークシステムにおける各装置が実行する処理の流れの例について説明する。また、必要に応じて、図９乃至図２６を参照して詳細な説明を行う。
【０１０５】
なお、ここでは、ローカル通信装置１１が、ユーザ用サービス提供装置４１および装置用サービス提供装置５１の提供するＩＭサービスを利用して、ローカル通信装置３１と通信を行う場合、すなわち、互いに異なるプライベートネットワークに存在する通信装置間において、ＮＡＰＴ機能を有する２つのルータを介して通信を行う場合について説明する。
【０１０６】
最初に、ＩＭサービスを利用するために、ローカル通信装置１１は、ユーザに操作され、ステップＳ１において、ユーザの認証処理の要求を、中継装置１２を介してユーザ用サービス提供装置４１に供給する。ユーザ用サービス提供装置４１は、ステップＳ２１において、供給された認証要求を取得する。
【０１０７】
同様に、ＩＭサービスを利用するために、ローカル通信装置３１は、ユーザに操作され、ステップＳ６１において、ユーザの認証処理の要求を、中継装置３２を介してユーザ用サービス提供装置４１に供給する。ユーザ用サービス提供装置４１は、ステップＳ２１において、供給された認証要求を取得する。
【０１０８】
ローカル通信装置１１または３１より認証要求を取得したユーザ用サービス提供装置４１は、ステップＳ２３において、それぞれについて認証処理を行う。そして、ローカル通信装置１１または３１のユーザが認証された場合、ユーザ用サービス提供装置４１は、ステップＳ２４において、ローカル通信装置１１または３１に対して、ネットワーク２１を介して、認証成功通知を供給する。
【０１０９】
ローカル通信装置１１は、ステップＳ２において、その認証成功通知を取得し、ユーザが認証されたことを確認する。同様に、ローカル通信装置３１は、ステップＳ６２において、ユーザ用サービス提供装置４１より供給された認証成功通知を取得し、ユーザが認証されたことを確認する。
【０１１０】
なお、以上の通信において、ローカル通信装置１１および３１、並びにユーザ用サービス提供装置４１は、送受信するパケットを、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）等を用いたＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコル体系に基づいて処理する。
【０１１１】
以上の処理において、ローカル通信装置１１が実行する認証処理の例について、図９のフローチャートを参照して説明する。必要に応じて図１０を参照して説明する。
【０１１２】
ユーザに操作されて認証処理を開始したローカル通信装置１１の認証処理部６４は、ステップＳ１２１において、通信部８４を制御し、中継装置１２を介して、ユーザ用サービス提供装置４１に、ユーザ認証に関する情報を要求する。
【０１１３】
ユーザ認証に関する情報を要求されたユーザ用サービス提供装置４１は、後述するように、ユーザ認証に関する情報を、ネットワーク２１を介して、要求元であるローカル通信装置１１に供給する。
【０１１４】
認証処理部６４は、通信部８４を制御し、ユーザ認証に関する情報を受け付け、所定の時間が経過した後に、ステップＳ１２２の処理を実行してユーザ認証に関する情報を取得したか否かを判定する。ユーザ認証に関する情報を取得したと判定した場合、認証処理部６４は、取得したユーザ認証に関する情報に基づいて、ユーザ認証用インタフェース提供処理部６７を制御し、ユーザ認証用のＧＵＩを供給させ、ステップＳ１２３において、そのＧＵＩを出力部８２に供給し、図１０に示されるような認証画面をディスプレイに表示させる。
【０１１５】
図１０に示されるように、認証画面２５１には、ＩＭサービスの認証画面であることを示す「ＸＸＸサービス  ログインサイト」というメッセージの他に、サービスを利用するユーザ（ローカル通信装置１１のユーザ）のユーザＩＤを入力するユーザＩＤ入力欄２５２、ユーザＩＤに関連付けられて設定されているパスワードを入力するパスワード入力欄２５３、ユーザが操作することにより、認証要求がユーザ用サービス提供装置４１に供給されるログインボタン２５４、および、ユーザが操作することにより、認証処理が中止されるキャンセルボタン２５５が設けられている。
【０１１６】
ＩＭサービスのユーザＩＤおよびパスワードは、ＩＭサービスを利用する、ローカル通信装置１１のユーザに対して、予め割り当てられた情報である。認証処理を行う場合、ローカル通信装置１１のユーザは、そのユーザＩＤおよびパスワードをそれぞれユーザＩＤ入力欄２５２、およびパスワード入力欄２５３に入力し、ログインボタン２５４を操作する。
【０１１７】
図９に戻り、ステップＳ１２４において、認証処理部６４は、入力部８１を制御し、ユーザＩＤおよびパスワードからなるユーザ認証情報の入力を受け付けたか否かを判定し、受け付けたと判定するまで待機する。
【０１１８】
ユーザが入力部８１を操作して、ユーザ認証情報を入力したと判定した場合、認証処理部６４は、ステップＳ１２５に処理を進め、受け付けたユーザ認証情報を、認証要求として、中継装置１２を介して、ユーザ用サービス提供装置４１に供給する。この処理は、図７のステップＳ１の処理に対応する。
【０１１９】
ユーザ用サービス提供装置４１は、そのユーザ認証情報を含む認証要求を取得すると、ユーザ認証情報について認証を行い、認証結果を、ネットワーク２１を介して、ローカル通信装置１１に供給する。
【０１２０】
ローカル通信装置１１の認証処理部６４は、通信部８４を制御し、ユーザ認証に関する情報を受け付け、所定の時間が経過した後に、ステップＳ１２６において、その認証結果を取得したか否かを判定する。
【０１２１】
図７のステップＳ２の処理のように認証結果を取得したと判定した場合、認証処理部６４は、ステップＳ１２７において、取得した認証結果に基づいて、ローカル通信装置１１のユーザが認証されたか否かを判定し、認証されたと判定した場合、ステップＳ１２８において、出力部８２を制御し、認証されたことを示す認証メッセージをディスプレイに表示させ、認証処理を終了する。
【０１２２】
ステップＳ１２２において、ユーザ認証に関する情報を取得していないと判定した場合、認証処理部６４は、ステップＳ１２９に処理を進め、出力部８２を制御し、認証に失敗したことを示すエラーメッセージをディスプレイに表示させる。
【０１２３】
エラーメッセージを表示させた認証処理部６４は、ステップＳ１３０において、認証を再度行うか否かを判定し、ユーザの操作等に基づいて、認証を再度行うと判定した場合、ステップＳ１２３に処理を戻し、それ以降の処理を繰り返す。
【０１２４】
ステップＳ１３０において、認証を再度行わず、認証処理を終了すると判定した場合、認証処理部６４は、認証処理を終了する。
【０１２５】
ステップＳ１２６において、ユーザ用サービス提供装置４１より供給された認証気かを取得していないと判定した場合、認証処理部６４は、ステップＳ１２９に処理を進め、上述したように処理を行う。
【０１２６】
また、ステップＳ１２７において、ユーザが認証されていないと判定した場合、認証処理部６４は、ステップＳ１２９に処理を進め、上述したように処理を行う。
【０１２７】
なお、ＩＭサービスを利用するローカル通信装置３１は、上述した処理と同様の認証処理を行う。従って、ローカル通信装置３１による認証処理については、図９のフローチャートおよび図１０の認証画面の例を適用することができるので、その説明を省略する。
【０１２８】
次に、この認証処理に対応して実行される、ユーザ用サービス提供装置４１による認証処理の例について、図１１のフローチャートを参照して説明する。必要に応じて図１２を参照して説明する。
【０１２９】
ユーザ用サービス提供装置４１の認証処理部１５４は、ステップＳ１５１において、通信部１７４を制御し、図９のステップＳ１２１の処理によってネットワーク２１を介してローカル通信装置１１または３１より供給される、ユーザ認証に関する情報を要求されたか否かを判定し、要求されたと判定するまで待機する。
【０１３０】
ユーザ認証に関する情報が要求されたと判定した場合、認証処理部１５４は、通信部１７４を制御して、ステップＳ１５２において、要求元に対してユーザ認証に関する情報を供給する。
【０１３１】
ユーザ認証に関する情報を供給した認証処理部１５４は、通信部１７４を制御し、ユーザ認証情報を受け付け、所定の時間が経過した後に、ステップＳ１５３において、図９のステップＳ１２５の処理によってローカル通信装置１１または３１から供給されたユーザ認証情報を取得したか否かを判定する。
【０１３２】
ユーザ認証情報を取得したと判定した場合、認証処理部１５４は、ステップＳ１５４に処理を進め、ユーザ認証情報データベース１７６を参照し、認証処理を行う。この処理は、図７のステップＳ２３の処理に対応する。
【０１３３】
図１２は、ユーザ認証情報データベース１７６がユーザ認証情報を記憶する様子を示す模式図である。ユーザ認証情報データベース１７６は、予め登録されたユーザ認証情報２６１を、ユーザＩＤとユーザ用パスワードを互いに対応付けて記憶している。認証処理部１５４は、この予め登録されたユーザ認証情報２６１を参照し、取得したユーザ認証情報を比較することにより、正当なユーザであるか否かを判定する。
【０１３４】
図１１に戻り、認証処理部１５４は、ステップＳ１５５において、通信部１７４を制御し、その認証結果を、ネットワーク２１を介してローカル通信装置１１または３１に供給する。この処理は、図７のステップＳ２４の処理に対応する。認証結果を供給した認証処理部１５４は、認証処理を終了する。なお、認証処理を終了した認証処理部１５４は、ＣＰＵ１５１の制御などにより、上述した認証処理と同様の、新たな認証処理を開始する。
【０１３５】
ステップＳ１５３において、ユーザ認証情報を取得していないと判定した場合、認証処理部１５４は、認証処理を終了する。なお、認証処理を終了した認証処理部１５４は、ＣＰＵ１５１の制御などにより、上述した認証処理と同様の、新たな認証処理を開始する。
【０１３６】
図７に戻り、ステップＳ２において認証が成功したことを示す認証成功通知を取得すると、ローカル通信装置１１は、後述するようにＧＵＩ画面を表示し、ユーザに通信相手を指定させる。ユーザが通信相手を決定すると、ローカル通信装置１１は、ステップＳ３において、通信相手のグローバルアドレスポート情報等を含む通信情報の要求を、中継装置１２を介してユーザ用サービス提供装置４１に供給する。ユーザ用サービス提供装置４１は、ステップＳ２５において、供給された通信情報の要求を取得する。
【０１３７】
なお、この、ユーザ用サービス提供装置４１が取得した通信情報の要求は、中継装置１２を介して供給されており、中継装置１２においてＮＡＰＴ変換された際に、中継装置１２の（ローカル通信装置１１に対応する）グローバルアドレスポート情報が付加されている。
【０１３８】
同様に、ステップＳ６２において認証が成功したことを示す認証成功通知を取得すると、ローカル通信装置３１は、後述するようにＧＵＩ画面を表示し、ユーザに通信相手を指定させ、ユーザが通信相手を決定すると、ステップＳ６３において、通信相手のグローバルアドレスポート情報等を含む通信情報の要求を、中継装置３２を介してユーザ用サービス提供装置４１に供給する。ユーザ用サービス提供装置４１は、ステップＳ２６において、供給された通信情報の要求を取得する。
【０１３９】
なお、この、ユーザ用サービス提供装置４１が取得した通信情報の要求は、中継装置３２を介して供給されており、中継装置３２においてＮＡＰＴ変換された際に、中継装置３２の（ローカル通信装置３１に対応する）グローバルアドレスポート情報が付加されている。
【０１４０】
ローカル通信装置１１または３１より通信情報の要求を取得したユーザ用サービス提供装置４１は、ステップＳ２７において、後述するように、供給された通信情報の要求に付加された、中継装置１２または３２のグローバルアドレスポート情報を用いて、予めユーザ登録情報データベース１７６に登録されているユーザ登録情報を更新する。
【０１４１】
なお、以上の通信において、ローカル通信装置１１および３１、並びにユーザ用サービス提供装置４１は、送受信するパケットを、ＨＴＴＰやＲＴＰ等を用いたＴＣＰ／ＩＰプロトコル体系に基づいて処理する。
【０１４２】
通信情報の要求を供給したローカル通信装置１１は、ステップＳ４に処理を進め、後述するようなサービス要求パケットを、中継装置１２を介して、装置用サービス提供装置５１に供給する。装置用サービス提供装置５１は、ステップＳ４１において、そのサービス要求パケットを取得する。
【０１４３】
なお、この、装置用サービス提供装置５１が取得したサービス要求パケットは、中継装置１２を介して供給されており、中継装置１２においてＮＡＰＴ変換された際に、中継装置１２の（ローカル通信装置１１に対応する）グローバルアドレスポート情報が付加されている。
【０１４４】
同様に、通信情報の要求を供給したローカル通信装置３１は、ステップＳ６４に処理を進め、後述するようなサービス要求パケットを、中継装置３２を介して、装置用サービス提供装置５１に供給する。装置用サービス提供装置５１は、ステップＳ４２において、そのサービス要求パケットを取得する。
【０１４５】
なお、この、装置用サービス提供装置５１が取得したサービス要求パケットは、中継装置３２を介して供給されており、中継装置３２においてＮＡＰＴ変換された際に、中継装置３２の（ローカル通信装置３１に対応する）グローバルアドレスポート情報が付加されている。
【０１４６】
ローカル通信装置１１または３１よりサービス要求パケットを取得した装置用サービス提供装置５１は、ステップＳ４３において、取得したサービス要求パケットに付加された中継装置１２または３２のグローバルアドレスポート情報を用いて、サービス提供パケットを生成し、ネットワーク２１を介して、サービス要求パケットの送信元であるローカル通信装置１１または３１に供給する。
【０１４７】
ローカル通信装置１１は、ステップＳ５において、そのサービス提供パケットを取得する。同様に、ローカル通信装置３１は、ステップＳ６５において、そのサービス提供パケットを取得する。
【０１４８】
なお、以上の通信において、ローカル通信装置１１および３１、並びに装置用サービス提供装置５１は、送受信するサービス要求パケットやサービス提供パケットを、ＳＴＵＮ（Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  ＵＤＰ  ｔｈｒｏｕｇｈ  ＮＡＴｓ）、ＲＴＰ、またはＲＴＣＰ（ＲＴＰ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）等を用いたＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／ＩＰ）プロトコル体系に基づいて処理する。
【０１４９】
ローカル通信装置１１は、取得したサービス提供パケットより中継装置１２のグローバルアドレスポート情報を取得し、ステップＳ６において、それを通信元アドレスポート情報として、中継装置１２を介して、ユーザ用サービス提供装置４１に供給する。ユーザ用サービス提供装置４１は、ステップＳ２８において、その通信元アドレスポート情報を取得する。
【０１５０】
同様に、ローカル通信装置３１は、取得したサービス提供パケットより中継装置３２のグローバルアドレスポート情報を取得し、ステップＳ６６において、それらを通信元アドレスポート情報として、中継装置３２を介して、ユーザ用サービス提供装置４１に供給する。ユーザ用サービス提供装置４１は、ステップＳ２９において、その通信元アドレスポート情報を取得する。
【０１５１】
ローカル通信装置１１または３１より通信元アドレスポート情報を取得したユーザ用サービス提供装置４１は、ステップＳ３０において、後述するように、その通信元アドレスポート情報を、ユーザ登録情報データベース１７７に登録する。そして、ステップＳ３１において、ユーザ用サービス提供装置４１は、ユーザ登録情報データベース１７７に登録されている通信先の通信情報を、ネットワーク２１を介して、ローカル通信装置１１または３１に供給する。
【０１５２】
ローカル通信装置１１は、ステップＳ７において、その通信先の通信情報を取得する。同様に、ローカル通信装置３１は、ステップＳ６５において、その通信先の通信情報を取得する。
【０１５３】
なお、以上の通信において、ローカル通信装置１１および３１、並びにユーザ用サービス提供装置４１は、送受信するパケットをＴＣＰ／ＩＰプロトコル体系に基づいて処理する。
【０１５４】
以上の処理においてローカル通信装置１１が実行する通信情報取得処理の例について、図１３のフローチャートを参照して説明する。必要に応じて図１４および１５を参照して説明する。
【０１５５】
ＣＰＵ６１に制御されるなどして通信情報取得処理を開始したローカル通信装置１１の通信情報取得処理部６５は、ステップＳ１７１において、通信相手の特定に必要な情報を、中継装置１２を介してユーザ用サービス提供装置４１に要求する。
【０１５６】
通信相手の特定に必要な情報を要求されたユーザ用サービス提供装置４１は、後述するように、通信相手の特定に必要な情報を、ネットワーク２１を介して、要求元であるローカル通信装置１１に供給する。
【０１５７】
通信情報取得処理部６５は、通信部８４を制御し、通信相手の特定に必要な情報を受け付け、所定の時間が経過した後に、ステップＳ１７２の処理を実行して通信相手の特定に必要な情報を取得したか否かを判定する。通信相手の特定に必要な情報を取得したと判定した場合、通信情報取得処理部６５は、取得した通信相手の特定に必要な情報に基づいて、ユーザ特定用インタフェース提供処理部６８を制御し、ユーザ特定用のＧＵＩを供給させ、ステップＳ１７３において、そのＧＵＩを出力部８２に供給し、図１４に示されるようなユーザ特定画面をディスプレイに表示させる。
【０１５８】
図１４に示されるように、ユーザ特定画面２７１には、通信相手として選択可能な他のユーザを示すユーザ一覧表示欄２７２、ユーザが通信相手として選択したユーザＩＤを入力するユーザＩＤ入力欄２７３、および、ユーザが操作することにより、通信開始の指示が入力される通信開始ボタン２７４が設けられている。
【０１５９】
ＩＭサービスのユーザは、ユーザ一覧表示欄に表示された、現在通信相手として選択可能なユーザのユーザＩＤの中から、通信相手を選択し、そのユーザＩＤをユーザＩＤ入力欄２７３に入力し、通信開始ボタン２７４を操作する。
【０１６０】
図１３に戻り、ステップＳ１７４において、通信情報取得処理部６５は、入力部８１を制御し、ユーザＩＤおよびパスワードからなるユーザ認証情報の入力を受け付ける。
【０１６１】
ユーザがユーザ特定画面２７１のユーザＩＤ入力欄２７３に通信相手のユーザＩＤを入力し、通信開始ボタン２７４を操作すると、通信情報取得処理部６５は、ステップＳ１７４において、通信部８４を制御して、通信相手の通信情報要求を、中継装置１２を介してユーザ用サービス提供装置４１に供給する。この処理は、図７のステップＳ３の処理に対応する。
【０１６２】
通信相手の通信情報要求を供給した通信情報取得処理部６５は、中継装置１２におけるＮＡＰＴ変換後のアドレスポート情報、すなわち、中継装置１２の（ローカル通信装置１１に対応する）グローバルアドレスポート情報を把握するために、ステップＳ１７５において、通信部８４を制御して、図１５に示されるようなサービス要求パケットを、中継装置１２を介して装置用サービス提供装置５１に供給する。この処理は、図７のステップＳ４の処理に対応する。
【０１６３】
サービス要求パケット２８１は、データリンク層における通信のために、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）パケットとして構成される。図１５に示されるように、サービス要求パケット２８１は、ＭＡＣヘッダ２８２およびＭＡＣペイロード２８３からなる。
【０１６４】
ＭＡＣペイロード２８３は、ネットワーク層における通信のために、ＩＰパケットとして構成され、ＩＰヘッダ２８４およびＩＰペイロード２８５を含む。ＩＰヘッダ２８４には、このサービス要求パケット２８１が装置用サービス提供装置５１の提供するサービスに対応したパケットであることを示す識別子であるプロトコル番号２８６、サービス要求パケットの送信元のＩＰアドレス（この場合、ローカル通信装置１１のプライベートアドレス）を示すデータである送信元のＩＰアドレス２８７、並びに、サービス要求パケットの送信先のＩＰアドレス（この場合、装置用サービス提供装置５１のグローバルアドレス）を示すデータである送信先ＩＰアドレス２８８が含まれる。
【０１６５】
なお、このサービス要求パケット２８１の転送時に行われる中継装置１２のＮＡＰＴ変換により、送信元のＩＰアドレス２８７の値は、中継装置１２のグローバルアドレスに変換される。すなわち、装置用サービス提供装置５１が取得したときの送信元のＩＰアドレス２８７は、中継装置１２のグローバルアドレスを示す。
【０１６６】
ＩＰペイロード２８５は、トランスポート層における通信のために、ＵＤＰパケットとして構成され、ＵＤＰヘッダ２８９およびＵＤＰペイロード２９０を含む。ＵＤＰヘッダ２８９には、このサービス要求パケットを送信する際に用いられた送信元のポート番号（すなわち、ローカル通信装置１１のポート番号）を示すデータである送信元ポート番号２９１と、このサービス要求パケットの送信先のポート番号（すなわち、装置用サービス提供装置５１のポート番号）を示すとともに、このサービス要求パケット２８１が装置用サービス提供装置５１の提供するサービスに対応したパケットであることを示す識別子である送信先ポート番号２９２が含まれる。
【０１６７】
なお、このサービス要求パケット２８１の転送時に行われる中継装置１２のＮＡＰＴ変換により、送信元ポート番号２９１の値は、中継装置１２のポート番号に変換される。すなわち、装置用サービス提供装置５１が取得したときの送信元ポート番号２９１は、中継装置１２のグローバルなポート番号を示す。
【０１６８】
ＵＤＰペイロード２９０は、ＳＴＵＮ（Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  ＵＤＰ  ｔｈｒｏｕｇｈ  ＮＡＴｓ）プロトコルを用いた通信を行うために、ＳＴＵＮパケットとして構成され、ＳＴＵＮヘッダ２９３およびＳＴＵＮペイロード２９４を含む。ＳＴＵＮヘッダ２９３には、このパケットがＳＴＵＮプロトコルに基づいた要求を含むパケットであることを示すとともに、このサービス要求パケット２８１が装置用サービス提供装置５１の提供するサービスに対応したパケットであることを示す識別子であるＳＴＵＮメッセージタイプ（ＳＴＵＮ  ｍｅｓｓａｇｅ  ｔｙｐｅ）２９５と、トランザクションを識別するためのトランザクションＩＤ（Ｔｒａｎｓａｃｔｉｏｎ  ＩＤ）２９６が含まれる。
【０１６９】
また、ＳＴＵＮペイロード２９４には、メッセージの内容を示すとともに、このサービス要求パケット２８１が装置用サービス提供装置５１の提供するサービスに対応したパケットであることを示す識別子であるメッセージタイプ（Ｍｅｓｓａｇｅ  ｔｙｐｅ）２９７が含まれる。
【０１７０】
以上に示されるように、サービス要求パケット２８１に含まれる、ＩＰヘッダ３２４、ＵＤＰヘッダ３２９、ＳＴＵＮヘッダ３３３、およびＳＴＵＮペイロード３３４には、このサービス要求パケット２８１が装置用サービス提供装置５１が提供するサービスに対応したパケットであることを示す識別子が含まれており、これらにより、装置用サービス提供装置５１は、サービス要求パケット２８１の要求に基づいた処理を行うことができる。
【０１７１】
図１３に戻り、以上のようなサービス要求パケットを供給した通信情報取得処理部６５は、ステップＳ１７６において、通信部８５を制御して、供給したサービス要求パケットに対応するサービス提供パケットを取得したか否かを判定する。サービス提供パケットを取得したと判定した場合、通信情報取得処理部６５は、ステップＳ１７７に処理を進め、取得したサービス提供パケットに含まれる、サービス要求パケットの送信に使用された中継装置１２のアドレスポート情報を抽出し、そのアドレスポート情報を、中継装置１２を介してユーザ用サービス提供装置４１に供給し、ユーザ登録情報の通信元Ｇｌｏ−ＩＰ−ｐｏｒｔの登録を要求する。この処理は、図７のステップＳ６の処理に対応する。
【０１７２】
通信元Ｇｌｏ−ＩＰ−ｐｏｒｔの登録を要求されたユーザ用サービス提供装置４１は、その要求に基づいてユーザ登録情報を更新し、更新された最新のユーザ登録情報に基づいてローカル通信装置１１の通信相手の通信に関する情報である通信先の通信情報を、ネットワーク２１を介してローカル通信装置１１に供給する。
【０１７３】
ローカル通信装置１１の通信情報取得処理部６５は、ステップＳ１７８において、通信部８４を制御し、通信先の通信情報を取得したか否かを判定し、取得していないと判定した場合、ステップＳ１７９に処理を進め、出力部８１を制御してエラーメッセージを表示させる等のエラー処理を実行した後、通信情報取得処理を終了する。また、ステップＳ１７８において、通信先の通信情報を取得したと判定した場合、ステップＳ１７９の処理を省略し、通信情報取得処理を終了する。
【０１７４】
ステップＳ１７６において、サービス提供パケットを取得していないと判定した場合、通信情報取得処理部６５は、ステップＳ１７９に処理を進め、エラー処理を実行した後に通信情報取得処理を終了する。
【０１７５】
なお、ＩＭサービスを利用するローカル通信装置３１は、上述した処理と同様の通信情報取得処理を行う。従って、ローカル通信装置３１による通信情報取得処理については、図１３のフローチャート、図１４のユーザ特定画面、および図１５のサービス要求パケットの例を適用することができるので、その説明を省略する。
【０１７６】
次に、この通信情報取得処理に対応して実行される、ユーザ用サービス提供装置４１による情報提供処理の例について、図１６のフローチャートを参照して説明する。必要に応じて図１７を参照して説明する。
【０１７７】
最初に、ステップＳ１９１において、ユーザ用サービス提供装置４１のユーザ登録情報管理処理部１５５は、通信部１７４を制御し、ローカル通信装置１１または３１が図１３のステップＳ１７４の処理において供給した通信情報要求を取得したか否かを判定し、取得したと判定するまで待機する。
【０１７８】
通信情報要求を取得したと判定した場合、ユーザ登録情報管理処理部１５５は、ステップＳ１９２において、図１７に示されるような、ユーザ登録情報データベース１７７に記憶されているユーザ登録情報の、通信情報要求元に対応するユーザ登録情報の通信先グローバルアドレスポート情報を更新する。
【０１７９】
図１７に示されるように、ユーザ登録情報データベース１７７に登録されているユーザ登録情報３１０は、ユーザＩＤ３１１、予想通信元グローバルアドレスポート情報（予想通信元Ｇｌｏ−ＩＰ−ｐｏｒｔ）３１２、および通信先グローバルアドレスポート情報（通信先Ｇｌｏ−ＩＰ−ｐｏｒｔ）３１３を含み、互いに関連付けられて記憶されている。
【０１８０】
通信先グローバルアドレスポート情報３１３は、そのユーザ登録情報のユーザＩＤ３１１に対応するユーザが希望する通信相手側のグローバルアドレスポート情報であり、予想通信元グローバルアドレスポート情報３１２は、そのユーザ登録情報のユーザＩＤ３１１に対応するユーザ側のグローバルアドレスポート情報である。
【０１８１】
例えば、ローカル通信装置１１のユーザのユーザＩＤがＡＡＡ−ｕｓｒ、ローカル通信装置３１のユーザのユーザＩＤがＢＢＢ−ｕｓｒであり、この２人のユーザが互いに通信を行おうとしている場合、ユーザＩＤ「ＡＡＡ−ｕｓｒ」に対応する予想通信元グローバルアドレスポート３１２には、ローカル通信装置１１の通信に使用されると予想される中継装置１２のグローバルアドレスポート情報「ｐｐｐ．ｑｑｑ．ｒｒｒ．ｓｓｓ：ｔｔｔ」が登録されており、ユーザＩＤ「ＡＡＡ−ｕｓｒ」に対応する通信先グローバルアドレスポート３１３には、ローカル通信装置３１の通信に使用されると予想される中継装置３２のグローバルアドレスポート情報（すなわち、ＢＢＢ−ｕｓｒの予想通信元グローバルアドレスポート情報）が適用されるように、「ＢＢＢ−ｕｓｒの予想通信元グローバルアドレスポート情報」という指示が登録される。
【０１８２】
なお、通信相手が指定されていない場合、そのユーザのユーザ登録情報の通信先グローバルアドレスポート情報３１３には、「（ｎｏｎｅ）」が登録される。
【０１８３】
以上のように、ユーザ登録情報管理処理部１５５は、ステップＳ１９２の処理において、ユーザ登録情報３１０に含まれる、通信先グローバルアドレスポート情報３１３の情報を更新する。この処理は、図７のステップＳ２７の処理に対応する。
【０１８４】
その後、サービス供給パケットを取得したローカル通信装置１１または３１は、図１３のステップＳ１７７の処理により、通信元グローバルアドレスポート情報の登録を要求する。
【０１８５】
図１６に戻り、ステップＳ１９３において、ユーザ登録情報管理処理部１５５は、通信部１７４を制御して、通信元グローバルアドレス情報の登録要求を取得したか否かを判定する。
【０１８６】
取得したと判定した場合、ユーザ登録情報管理処理部１５５は、ステップＳ１９４において、その通信元グローバルアドレス情報の登録を要求したユーザに対応するユーザ登録情報の通信元グローバルアドレスポート情報を更新し、ステップＳ１９５において、通信先のユーザ登録情報をユーザ登録情報データベース１７７より取得し、ステップＳ１９６において、通信先の通信情報を供給する。これらの処理は、図７のステップＳ３０およびＳ３１に対応する。
【０１８７】
通信情報を供給したユーザ登録情報管理処理部１５５は、ステップＳ１９７において、情報提供処理を終了するか否かを判定し、終了しないと判定した場合、ステップＳ１９１に処理を戻し、それ以降の処理を繰り返す。また、ステップＳ１９７において、情報提供処理を終了すると判定した場合、ユーザ登録情報管理処理部１５５は、ステップＳ１９８において終了処理を実行し、情報提供処理を終了する。
【０１８８】
ステップＳ１９３において、通信元グローバルアドレスポート情報の登録要求を取得していないと判定した場合、ユーザ登録情報管理処理部１５５は、ステップＳ１９９に処理を進め、エラー処理を実行した後、ステップＳ１９７に処理を戻し、それ以降の処理を繰り返す。
【０１８９】
なお、ユーザ用サービス提供装置４１は、ローカル通信装置３１の通信情報取得処理に対しても、上述した場合と同様の情報提供処理を行い、ローカル通信装置３１の要求に応じて、グローバルアドレスポート情報を管理する。
【０１９０】
以上のように、ユーザ用サービス提供装置４１が、ローカル通信装置間の通信に必要なグローバルアドレスポート情報を管理し、ローカル通信装置１１または３１の要求に応じてそれらの情報を供給するので、ローカル通信装置１１または３１は、ＮＡＰＴ変換を行う中継装置を介して通信を行う場合であっても、容易に通信を行うことができる。
【０１９１】
次に、図１３のフローチャートを参照して説明したローカル通信装置による通信情報取得処理に対応して実行される、装置用サービス提供装置５１による情報提供処理の例について、図１８のフローチャートを参照して説明する。必要に応じて図１９を参照して説明する。
【０１９２】
装置用サービス提供装置５１のアドレスポート情報提供処理部２０４は、ステップＳ２１１において、通信部２２４を制御し、図１３のステップＳ１７５の処理により、ローカル通信装置１１または３１が供給するサービス要求パケットを取得したか否かを判定し、取得したと判定するまで待機する。
【０１９３】
サービス要求パケットを取得したと判定した場合、アドレスポート情報提供処理部２０４は、ステップＳ２１２に処理を進め、図１９に示されるような、サービス提供パケットを生成する。
【０１９４】
図１９において、サービス提供パケット３２１は、データリンク層における通信のために、ＭＡＣパケットとして構成される。サービス提供パケット３２１は、ＭＡＣヘッダ３２２およびＭＡＣペイロード３２３からなる。
【０１９５】
ＭＡＣペイロード３２３は、ネットワーク層における通信のために、ＩＰパケットとして構成され、ＩＰヘッダ３２４およびＩＰペイロード３２５を含む。ＩＰヘッダ３２４には、このサービス提供パケット３２１が装置用サービス提供装置５１の提供するサービスに対応したパケットであることを示す識別子であるプロトコル番号３２６、サービス提供パケットの送信元のＩＰアドレス（この場合、装置用サービス提供装置５１のグローバルアドレス）を示すデータである送信元のＩＰアドレス３２７、並びに、サービス提供パケットの送信先のＩＰアドレス（この場合、中継装置１２または３２のグローバルアドレス）を示すデータである送信先ＩＰアドレス３２８が含まれる。
【０１９６】
ＩＰペイロード３２５は、トランスポート層における通信のために、ＵＤＰパケットとして構成され、ＵＤＰヘッダ３２９およびＵＤＰペイロード３３０を含む。ＵＤＰヘッダ３２９には、このサービス供給パケットを送信する際に用いられた送信元のポート番号（すなわち、装置用サービス提供装置５１のポート番号）を示すとともに、このサービス提供パケット３２１が装置用サービス提供装置５１の提供するサービスに対応したパケットであることを示す識別子である送信元ポート番号３３１と、このサービス提供パケット３２１を送信する先のポート番号（すなわち、中継装置１１のポート番号）を示すデータである送信先ポート番号３３２が含まれる。
【０１９７】
ＵＤＰペイロード３３０は、ＳＴＵＮプロトコルを用いた通信を行うために、ＳＴＵＮパケットとして構成され、ＳＴＵＮヘッダ３３３およびＳＴＵＮペイロード３３４を含む。ＳＴＵＮヘッダ２９３には、このパケットがＳＴＵＮプロトコルに基づいた応答を含むパケットであることを示すとともに、このサービス提供パケット３２１が装置用サービス提供装置５１の提供するサービスに対応したパケットであることを示す識別子であるＳＴＵＮメッセージタイプ（ＳＴＵＮ  ｍｅｓｓａｇｅ  ｔｙｐｅ）３３５と、トランザクションを識別するためのトランザクションＩＤ（Ｔｒａｎｓａｃｔｉｏｎ  ＩＤ）３３６が含まれる。
【０１９８】
また、ＳＴＵＮペイロード３３４には、サービス要求パケットにおける送信元ポート番号３３７およびサービス要求パケットにおける送信元ＩＰアドレス３３８が含まれる。
【０１９９】
上述したように、装置用サービス提供装置５１が取得したときのサービス要求パケット２８１に含まれる送信元ＩＰアドレス２８７および送信元ポート番号３３７は、それぞれ、中継装置１２のグローバルアドレスおよびポート番号を示している。
【０２００】
従って、サービス要求パケットにおける送信元ポート番号３３７は、中継装置１２のグローバルなポート番号を示し、サービス要求パケットにおける送信元ＩＰアドレス３３８は、中継装置１２のグローバルアドレスを示す。
【０２０１】
装置用サービス提供装置５１は、このような中継装置１２の（ローカル通信装置１１に対応する）グローバルアドレスポート情報をサービス要求パケットより取得し、取得したグローバルアドレスポート情報が含まれるサービス提供パケットを生成する。
【０２０２】
図１８に戻り、装置用サービス提供装置５１は、ステップＳ２１３において、生成したサービス提供パケットを、ネットワーク２１を介して要求元であるローカル通信装置１１に供給する。この処理は、図７のステップＳ４３の処理に対応する。
【０２０３】
ステップＳ２１４において、装置用サービス提供装置５１は、情報提供処理を終了するか否かを判定し、終了しないと判定した場合、ステップＳ２１１に処理を戻し、それ以降の処理を繰り返す。
【０２０４】
情報提供処理を終了しないと判定した場合、装置用サービス提供装置５１は、ステップＳ２１５に処理を進め、終了処理を実行し、情報提供処理を終了する。
【０２０５】
なお、装置用サービス提供装置５１および５２は、ローカル通信装置３１の通信情報取得処理に対しても、上述した場合と同様の情報提供処理を行い、ローカル通信装置３１の要求に応じて、サービス提供パケットを供給する。
【０２０６】
以上のようにして、装置用サービス提供装置５１が、中継装置１２のグローバルアドレスおよびポート番号を示す情報が含まれるサービス提供パケットを生成し、ローカル通信装置１１に供給することにより、ローカル通信装置１１は、中継装置１２のグローバルアドレスポート情報を取得することができ、上述したように、容易に、その情報をユーザ用サービス提供装置４１に供給することができる。
【０２０７】
図７に戻り、ステップＳ７の処理を終了したローカル通信装置１１は、図８のステップＳ８１に処理を進め、ローカル通信装置３１との通信において、通信の主導権を握るマスタの役割を行うか、通信相手に通信の主導権を渡すスレーブの役割を行うかを判定するマスタ／スレーブ判定処理（Ｍａｓｔｅｒ／Ｓｌａｖｅ判定処理）を行う。同様に、ローカル通信装置３１も図８のステップＳ１０１において、マスタ／スレーブ判定処理（Ｍａｓｔｅｒ／Ｓｌａｖｅ判定処理）を行う。
【０２０８】
例えば、ローカル通信装置１１および３１のＩＰアドレス（グローバルアドレスが望ましい）の各桁の数字をそれぞれ合計し、その値が大きい方をマスタとし、小さい方をスレーブとする。これ以外の方法によりマスタおよびスレーブを決定するようにしてももちろんよい。
【０２０９】
以下においては、ローカル通信装置１１がマスタで、ローカル通信装置３１がスレーブであるものとして説明するが、どちらがマスタとなってももちろんよい。
【０２１０】
マスタであると判定したローカル通信装置１１は、ローカル通信装置３１と接続するために、通信の開始を要求する通信開始アルゴリズムを実行する。すなわち、ローカル通信装置１１は、ステップＳ８２に処理を進め、複数の開通要求パケットの供給を開始する。同様に、スレーブであると判定したローカル通信装置３１は、ステップＳ１０２に処理を進め、ローカル通信装置１１と接続するために、複数の開通要求パケットの供給を開始する。
【０２１１】
開通要求パケットの供給により、通信相手側の中継装置３２の、ローカル通信装置３１と通信可能なアドレスポート情報を特定すると、マスタであるローカル通信装置１１は、ステップＳ８３に処理を進め、特定したアドレスポート情報を用いて、開通維持パケットをローカル通信装置３１に供給する。
【０２１２】
ステップＳ１０３において、スレーブであるローカル通信装置３１は、開通維持パケットをローカル通信装置１１より取得すると、ステップＳ１０４に処理を進め、ローカル通信装置１１との通信が開通したと判定し、ステップＳ１０５において、ローカル通信装置１１に開通維持パケットを供給する。
【０２１３】
ステップＳ８４において、ローカル通信装置１１は、ローカル通信装置３１より供給された開通維持パケットを取得すると、ステップＳ８５において、ローカル通信装置３１との通信が開通したと判定する。
【０２１４】
なお、以上の通信において、ローカル通信装置１１および３１は、送受信するパケットを、ＳＴＵＮ、ＲＴＰ、またはＲＴＣＰ等を用いたＵＤＰ／ＩＰプロトコル体系に基づいて処理する。
【０２１５】
以上の処理において、ローカル通信装置１１は、通信の開始を要求する通信開始要求アルゴリズムとして、以下に説明する通信開始要求処理を実行して送信元（ローカル通信装置１１）のポート番号および送信先（中継装置３２）のポート番号を決定し、開通要求パケットを生成する。
【０２１６】
ローカル通信装置１１による通信開始要求処理の例について、図２０のフローチャートを参照して説明する。必要に応じて図２１および図２２を参照して説明する。
【０２１７】
なお、以下において、変数ｎｕｍＳｒｃＰｒｉＰｏｒｔは、ローカル通信装置において、通信相手との通信の開通を要求するパケットである開通要求パケットの送信の際に使用されるプライベートなポートの数を示し、変数ｎｕｍＤｓｔＧｌｏＰｏｒｔは、通信相手側の中継装置が有するポートの内、開通要求パケットの送信先として指定されるグローバルなポートの数を示す。
【０２１８】
また、変数ｔｉｍｅＳｅｎｄＩｎｔｅｒｖａｌは、ローカル通信装置による各パケットの送信間隔を示し、変数ｉｓＭａｓｔｅｒＦｌａｇは、そのローカル通信装置がマスタであるか否か（スレーブであるか否か）を示す。
【０２１９】
ローカル通信装置１１のローカル間通信制御部６６は、ステップＳ２３１において、変数ｉおよび変数ｊのそれぞれに、値「０」を代入する。ステップＳ２３２において、ローカル間通信制御部６６は、送信先側の中継装置３２のグローバルなポート番号を示す変数Ｇｌｏ−ｐｏｒｔの値を変数Ｂａｓｅ−Ｇｌｏ−ｐｏｒｔとして保持し、送信元であるローカル通信装置１１のプライベートなポート番号を示す変数Ｐｒｉ−ｐｏｒｔを変数Ｂａｓｅ−Ｐｒｉ−ｐｏｒｔとして保持する。
【０２２０】
なお、この変数Ｇｌｏ−ｐｏｒｔの初期値は、図１３のステップＳ１７８において取得した通信先の通信情報に含まれる通信先グローバルアドレス情報のポート番号が用いられる。なお、この変数Ｇｌｏ−ｐｏｒｔの初期値は、このポート番号を用いた所定の演算により算出される、このポート番号と異なる値であってもよい。
【０２２１】
ステップＳ２３３に処理を進めると、ローカル間通信制御部６６は、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さいか否かを判定する。まだ、ローカル通信装置１１の予定された全てのポートに対して処理が完了しておらず、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉｐｏｒｔより小さいと判定した場合、ローカル間通信制御部６６は、ステップＳ２３４に処理を進め、変数Ｂａｓｅ−Ｐｒｉ−Ｐｏｒｔの値に変数ｉの値を加算し、その値を変数Ｐｒｉ−ｐｏｒｔに代入する。
【０２２２】
ローカル間通信制御部６６は、ステップＳ２３５において、変数ｊの値が変数ｎｕｍＤｓｔＧｌｏＰｏｒｔより小さいか否かを判定し、小さいと判定した場合、ステップＳ２３６において、変数Ｂａｓｅ−Ｇｌｏ−Ｐｏｒｔの値に変数ｊの値を加算し、変数Ｇｌｏ−ｐｏｒｔに代入する。
【０２２３】
そして、ローカル間通信制御部６６は、ステップＳ２３７において、変数Ｐｒｉ−ｐｏｒｔの値を送信元のポート番号とし、変数Ｇｌｏ−ｐｏｒｔの値を送信先のポート番号とし、開通要求パケットを生成し、通信部８４を制御して、生成した開通要求パケットを、中継装置１２を介して中継装置３２に供給する。
【０２２４】
ステップＳ２３８に処理を進めたローカル間通信制御部６６は、所定の時間ｔｉｍｅＳｅｎｄＩｎｔｅｒｖａｌの間待機し、ステップＳ２３９に処理を進める。
【０２２５】
ローカル間通信制御部６６は、ステップＳ２３９において、変数ｊの値に値（ｊ＋１）を代入し、ステップＳ２４０において、ユーザの操作などに基づいて、開通要求パケットの中止要求が出ているか否かを判定し、中止要求がでていると判定した場合、通信開始要求処理を終了する。
【０２２６】
ステップＳ２３３において、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さくないと判定した場合、ローカル間通信制御部６６は、通信開始要求処理を終了する。
【０２２７】
ステップＳ２３５において、変数ｊの値が変数ｎｕｍＤｓｔＧｌｏＰｏｒｔより小さくないと判定した場合、ローカル間通信制御部６６は、ステップＳ２４１に処理を進め、変数ｊに値「０」を代入し、ステップＳ２４２において変数ｉに値（ｉ＋１）を代入した後、ステップＳ２３３に処理を戻し、それ以降の処理を繰り返す。
【０２２８】
ステップＳ２４０において、開通要求パケットの中止要求が出ていない判定した場合、ローカル間通信制御部６６は、ステップＳ２３５に処理を戻し、それ以降の処理を繰り返す。
【０２２９】
以上のように、ローカル間通信制御部６６は、通信開始要求アルゴリズムを実行し、送信元および送信先のポート番号を決定しながら、（ｎｕｍＳｒｃＰｒｉＰｏｒｔ×ｎｕｍＤｓｔＧｌｏＰｏｒｔ）個の開通要求パケットを生成し、供給する。
【０２３０】
例えば、図２１に示されるように、ローカル通信装置１１が、中継装置１２およびグローバルネットワーク３４１を介して通信先通信装置３５１にパケットを供給する場合、中継装置１２が、通信先のアドレスポート情報が変更されても同じポート３６２―１をローカル通信装置１１に割り当てる、再利用型の中継装置であるとき、通信先通信装置３５１は、そのポート３６２―１に対して応答することでローカル通信装置１１と通信を行うことができる。
【０２３１】
しかしながら、例えば、図２２に示されるように、中継装置１２が、通信先のアドレスポート情報が変化する（ポート３６３−１乃至３６３−５）度に、異なるポートに割り当てる、インクリメント型の中継装置であるとき、その中継装置１２は、送信先のポートごとに、使用するポート（３６２−１乃至３６２−５）を変更する。
【０２３２】
この場合、通信先通信装置３５１は、ローカル通信装置１１に供給可能なポートを選択する場合に必要な情報がないので、応答を供給する中継装置１２のポート番号を特定することができない。
【０２３３】
すなわち、図１のネットワークシステムにおいて説明すると、ローカル通信装置１１は、ローカル通信装置３１と通信を行うために中継装置３２のどのポートにアクセスすればよいかを特定することができない。
【０２３４】
そこで、ローカル間通信部６６は、通信開始要求アルゴリズムを実行することにより、通信可能なポートと予想される中継装置３２のグローバルなポート番号付近の複数のポートに対して、開通要求パケットを生成し、通信部８４を制御して、その生成された複数の開通要求パケットを中継装置３２に供給する。上述したように、ローカル通信装置３１も同様に処理を行う。
【０２３５】
このとき、スレーブ側であるローカル通信装置３１は、受信することができた、ローカル通信装置１１より送信された開通要求パケットの送信元アドレスポート情報を用いて、ローカル通信装置３１が送信する開通要求パケットの送信先アドレスポート情報を調整し、ローカル装置１１が受信できるようにする。
【０２３６】
このように、ローカル通信装置１１および３１は、互いに送受信する開通要求パケットを取得することにより、通信先の中継装置のアクセスすべきポート番号を、容易に特定することができる。
【０２３７】
以上のような開通要求パケットにより、アクセスすべき通信先のポート番号を特定したローカル通信装置１１または３１は、図８を参照して上述したように、開通維持パケットを送受信することにより、通信を開通させ確立する。
【０２３８】
最初に、ローカル通信装置１１がマスタである場合に、上述した通信開始要求処理と並行して実行する通信確立処理について、図２３および図２４を参照して説明する。
【０２３９】
最初に、図２３のステップＳ２６１において、ローカル通信装置１１のローカル間通信制御部６６は、通信部８４を制御して、外部よりパケットを取得したか否かを判定する。パケットを取得したと判定した場合、ローカル間通信制御部６６は、ステップＳ２６２において、取得したパケットを解析し、ステップＳ２６３において、取得したパケットの送信元アドレスポート情報と、ローカル通信装置１１から送信される開通要求パケットの送信先アドレスポート情報が一致するか否かを判定する。
【０２４０】
取得したパケットの送信元アドレスポート情報が、開通要求パケットの送信先アドレスポート情報と一致すると判定した場合、ローカル間通信制御部６６は、ステップＳ２６４に処理を進め、取得したパケットの識別情報を調べ、取得したパケットが開通要求パケットであるか否かを判定する。
【０２４１】
取得したパケットが開通要求パケットであると判定した場合、ローカル間通信制御部６６は、ステップＳ２６５において、取得したパケットの送信元アドレスポート情報を保持し、ステップＳ２６６において、上述した通信開通要求処理に対して開通要求パケットの中止を要求する。
【０２４２】
開通要求パケットの中止を要求したローカル間通信制御部６６は、図２４のステップＳ２７１に処理を進め、開通維持パケットを生成し、ステップＳ２７２において、生成した開通維持パケットを、中継装置１２を介して、通信相手であるローカル通信装置３１に供給する。
【０２４３】
図８を参照して説明したように、ローカル通信装置１１からの開通要求パケットまたは開通維持パケットを取得した場合、ローカル通信装置３１は、ローカル通信装置１１に対して、開通維持パケットを供給する。
【０２４４】
ローカル通信装置１１のローカル間通信制御部６６は、通信部８４を介してパケットを取得すると、ステップＳ２７３において、取得したパケットの送信元アドレスポート情報と、ローカル通信装置１１より送信する開通維持パケットの送信先アドレスポート情報が一致するか否かを判定する。
【０２４５】
取得したパケットの送信元アドレスポート情報が、開通維持パケットの送信先アドレスポート情報と一致すると判定した場合、ローカル間通信制御部６６は、ステップＳ２７４に処理を進め、取得したパケットに含まれる識別子を調べ、取得したパケットが開通維持パケットであるか否かを判定する。
【０２４６】
取得したパケットが開通維持パケットであると判定した場合、ローカル間通信制御部６６は、ステップＳ２７５に処理を進め、取得したパケットの送信元アドレスポート情報を保持し、ステップＳ２７６において、所定の時間待機した後、ステップＳ２７７において、開通維持パケットを生成し、ステップＳ２７８において、生成した開通維持パケットを供給する。
【０２４７】
すなわち、ローカル間通信制御部６６は、ステップＳ２７３およびＳ２７４の処理を実行することにより、ローカル通信装置３１との通信が開通したか否かを判定する。そして、ステップＳ２７３において、取得したパケットの送信元アドレスポート情報が、開通維持パケットの送信先アドレスポート情報と一致すると判定し、かつ、ステップＳ２７４において、取得したパケットが開通維持パケットであると判定した場合、ローカル間通信制御部６６は、ローカル通信装置３１との通信が開通したと判定し、ステップＳ２７５以降の処理により開通維持パケットをローカル間通信装置３１に供給する。
【０２４８】
ステップＳ２７９において、ローカル間通信制御部６６は、ステップＳ２７９において、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、ステップＳ２７６に処理を戻し、それ以降の処理を繰り返す。また、ステップＳ２７９において、通信確立終了すると判定した場合、ローカル間通信制御部６６は、ステップＳ２８０において所定の終了処理を実行し、通信確立処理を終了する。
【０２４９】
図２３のステップＳ２６１においてパケットを取得していないと判定した場合、ステップＳ２６３において取得したパケットの送信元アドレスポート情報が、開通要求パケットの送信先アドレスポート情報と一致しないと判定した場合、または、ステップＳ２６４において、取得したパケットが開通要求パケットではないと判定した場合、ローカル間通信制御部６６は、ステップＳ２６７に処理を進め、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、ステップＳ２６１に処理を戻し、それ以降の処理を繰り返す。
【０２５０】
ステップＳ２６７において、通信確立処理を終了すると判定した場合、ローカル間通信制御部６６は、図２４のステップＳ２８０に処理を進め、終了処理を実行した後、通信確立処理を終了する。
【０２５１】
図２４のステップＳ２７３において、取得したパケットの送信元アドレスポート情報が、開通維持パケットの送信先アドレスポート情報と一致しないと判定した場合、または、ステップＳ２７４において、取得したパケットが開通維持パケットではないと判定した場合、ローカル間通信制御部６６は、ステップＳ２８１に処理を進め、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、ステップＳ２７１に処理を戻し、それ以降の処理を繰り返す。
【０２５２】
ステップＳ２８１において、通信確立処理を終了すると判定した場合、ローカル間通信制御部６６は、ステップＳ２８０に処理を進め、終了処理を実行し、通信確立処理を終了する。
【０２５３】
次に、図２５および図２６のフローチャートを参照して、スレーブである場合のローカル通信端末装置１１による通信確立処理について説明する。
【０２５４】
図２５のステップＳ３０１において、ローカル通信端末装置１１のローカル間通信制御部６６は、通信部８４を制御して、外部よりパケットを取得したか否かを判定する。パケットを取得したと判定した場合、ローカル間通信制御部６６は、ステップＳ３０２において、取得したパケットを解析し、ステップＳ３０３において、取得したパケットの送信元アドレスポート情報と、ローカル通信装置１１から送信する開通要求パケットの送信先アドレスポート情報が一致しないか否かを判定する。
【０２５５】
取得したパケットの送信元アドレスポート情報が、開通要求パケットの送信先アドレスポート情報と一致しないと判定した場合、ローカル間通信制御部６６は、ステップＳ３０４に処理を進め、取得したパケットの識別情報を調べ、取得したパケットが開通要求パケットであるか否かを判定する。
【０２５６】
取得したパケットが開通要求パケットであると判定した場合、ローカル間通信制御部６６は、ステップＳ３０５において、取得したパケットの送信元アドレスポート情報を保持し、ステップＳ３０６において、送信する開通要求パケットの送信先アドレスポート情報を変更し、図２６のステップＳ３１１に処理を進め、通信部８４を制御し、開通維持パケットを取得したか否かを判定する。
【０２５７】
開通維持パケットを取得したと判定した場合、ローカル間通信制御部６６は、ステップＳ３１２において、取得した開通維持パケットの送信元アドレスポート情報を保持し、ステップＳ３１３において、通信開始要求処理に対して開通要求パケットの中止を要求し、ステップＳ３１４において、開通維持パケットを生成し、ステップＳ３１５において、生成した開通維持パケットを、中継装置１２を介して、通信相手であるローカル通信装置３１に供給し、ステップＳ３１６において、所定の時間待機した後、ステップＳ３１７において、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、ステップＳ３１４に処理を戻し、それ以降の処理を繰り返す。
【０２５８】
ステップＳ３１７において通信確立処理を終了すると判定した場合、ローカル間通信制御部６６は、ステップＳ３１８において終了処理を実行し、通信確立処理を終了する。
【０２５９】
ステップＳ３１１において、開通維持パケットを取得していないと判定した場合、ローカル間通信制御部６６は、ステップＳ３１９に処理を進め、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、図２５のステップＳ３０１に処理を戻し、それ以降の処理を繰り返す。
【０２６０】
図２６のステップＳ３１９において、通信確立処理を終了すると判定した場合、ローカル間通信制御部６６は、ステップＳ３１８に処理を進め、通信確立処理を終了する。
【０２６１】
なお、ローカル通信装置３１も、同様に、図２３乃至図２６のフローチャートを参照して説明した通信確立処理を実行するので、その説明を省略する。
【０２６２】
以上のようにして、ローカル通信装置１１は、開通要求パケットにより特定されたアドレスポート情報に開通維持パケットを供給することにより、通信を確立させる。このようにすることにより、ローカル通信装置１１または３１は、ＮＡＰＴ変換機能を有する中継装置１２および３２を介して通信を行う場合であっても、容易に、通信相手であるローカル通信装置３１または１１と通信を行うことができる。
【０２６３】
以上に説明した、サービス要求パケット、サービス提供パケット、開通要求パケット、並びに開通維持パケットは、ＳＴＵＮプロトコルを用いたＳＴＵＮメッセージを用いて、各種のメッセージがやり取りされる。このＳＴＵＮメッセージは、ＵＤＰパケットのデータ部に挿入されて授受される。図２７に示されるように、このＵＤＰパケット３７０は、ヘッダ部（Ｍｅｓｓａｇｅ  Ｈｅａｄｅｒ）３７１およびデータ部（Ｍｅｓｓａｇｅ  Ａｔｔｒｉｂｕｔｅ）３７２を含んでおり、２８バイトで構成されている。
【０２６４】
ヘッダ部３７１は、２バイトのメッセージタイプ（Ｍｅｓｓａｇｅ  Ｔｙｐｅ）３７３、２バイトのメッセージデータ長（Ｍｅｓｓａｇｅ  Ｌｅｎｇｔｈ）３７４、および１６バイトのトランザクションＩＤ（Ｔｒａｎｓａｃｔｉｏｎ  ＩＤ）３７５により構成される。また、データ部３７２は、８バイトのデータペイロード（Ｄａｔａ  Ｐａｙｌｏａｄ）３７６よりなる。
【０２６５】
このような形式のＵＤＰパケットを送受信することにより、ローカル通信装置１１および３１、並びに、装置用サービス提供装置５１は、各種のメッセージを授受する。図２８のアローチャートを参照して、上述した処理において授受されるメッセージについて、説明する。また、必要に応じて、図２９乃至３３を参照して説明する。
【０２６６】
ローカル通信装置１１は、ステップＳ３３１において、サービス要求パケットとして、図２９に示すようなＳＴＵＮメッセージのＭａｐｐｅｄ  Ａｄｄｒｅｓｓ  Ｉｎｑｕｉｒｙ  Ｍｅｓｓａｇｅを、装置用サービス提供装置５１に供給する。この処理は図７のステップＳ４に対応する。
【０２６７】
図２９に示されるように、サービス要求パケットとしてのＵＤＰパケット３７０のデータ部３７２には、メッセージのタイプ（Ｔｙｐｅ）３８１、データ長（Ｌｅｎｇｔｈ）３８２、および、メッセージ番号（Ｖａｌｕｅ）３８３が含まれる。図２９において、タイプ３８１の値は、「ＭＡＰＰＥＤ  ＡＤＤＲＥＳＳ」を示す値「０ｘ０００１」となり、データ長３８２は、メッセージが４ビットであることを示し（０ｘ０００４）、メッセージ値３８３の値は、「０ｘ００００００００」となる。
【０２６８】
図２８に戻り、装置用サービス提供装置５１は、ステップＳ３５１において、このようなＭａｐｐｅｄ  Ａｄｄｒｅｓｓ  Ｉｎｑｕｉｒｙ  Ｍｅｓｓａｇｅを取得すると、ステップＳ３５２において、サービス提供パケットとして、図３０に示されるようなＳＴＵＮメッセージのＡｎｓｗｅｒｅｄ  Ｍａｐｐｅｄ  Ａｄｄｒｅｓｓ  Ｍｅｓｓａｇｅをローカル通信装置１１に供給する。これらの処理は図７のステップＳ４１およびＳ４３に対応する。
【０２６９】
図３０に示されるように、中継装置１２のアドレスポート情報を提供するサービス提供パケットとしてのＵＤＰパケット３７０のデータ部３７２には、パディング（Ｐａｄｄｉｎｇ）３９１、ファミリー（Ｆａｍｉｌｙ）３９２、ポート（Ｐｏｒｔ）３９３、およびアドレス（Ａｄｄｒｅｓｓ）３９４が含まれる。図３０において、パディング３９１の値は「０ｘ０００１」となり、ファミリー３９２は、「ＩＰｖ４」のアドレスポート情報であることを示し（０ｘ０１）、ポート３９３およびアドレス３９４は、中継装置１２のアドレスポート情報を示す。
【０２７０】
図２８に戻り、ローカル通信装置１１は、ステップＳ３３２において、このようなＳＴＵＮメッセージが含まれるＵＤＰパケットを取得する。
【０２７１】
同様に、ローカル通信装置３１は、ステップＳ３７１において、図２９に示されるサービス要求パケットを装置用サービス提供装置５１に供給する。装置用サービス提供装置５１は、ステップＳ３５３においてそのサービス要求パケットを取得すると、ステップＳ３５４において、図３０に示されるようなサービス提供パケットをローカル通信装置３１に供給する。ローカル通信装置３１は、ステップＳ３７２においてそのサービス提供パケットを取得する。
【０２７２】
サービス提供パケットを取得したローカル通信装置１１は、ステップＳ３３３において、ローカル通信装置３１に対して、開通要求パケットとして、図３１に示すようなＳＴＵＮメッセージのＯｐｅｎｉｎｇ  Ｐｏｒｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｍｅｓｓａｇｅを供給する。この処理は図８のステップＳ８２に対応する。
【０２７３】
図３１に示されるように、開通要求パケットとしてのＵＤＰパケット３７０のデータ部３７２のタイプ３８１はＳＴＵＮメッセージのＦＬＡＧＳリクエストを示し（０ｘ０００３）、データ長３８２は４バイトを示す（０ｘ０００４）。メッセージ値３９３は、この場合、「ｂｉｔＣ＝１」とし、それ以外の値を「０」とする（０ｘ０００００００１）。
【０２７４】
ローカル通信装置３１は、ステップＳ３７３において、この開通要求パケットを取得する。同様に、ローカル通信装置３１は、ステップＳ３７４において、図３１に示されるような開通要求パケットをローカル通信装置１１に供給し、ローカル通信装置１１は、ステップＳ３３４においてこの開通要求パケットを取得する。
【０２７５】
ローカル通信装置１１は、ステップＳ３３５において、開通維持パケットとして、図２９に示すようなＳＴＵＮメッセージのＫｅｅｐ−Ａｌｉｖｅ  Ｒｅｑｕｅｓｔ  Ｍｅｓｓａｇｅを供給する。Ｋｅｅｐ−Ａｌｉｖｅ  Ｒｅｑｕｅｓｔ  Ｍｅｓｓａｇｅでは、Ｍａｐｐｅｄ  Ａｄｄｒｅｓｓ  Ｉｎｑｕｉｒｙ  Ｍｅｓｓａｇｅと同様にＳＴＵＮメッセージのＭＡＰＰＥＤ  ＡＤＤＲＥＳＳリクエストを使用する。この処理は、図８のステップＳ８３の処理に対応する。
【０２７６】
ローカル通信装置３１は、ステップＳ３７５において、その開通維持パケットを取得すると、ステップＳ３７６において、開通維持パケットとして、図３０に示されるようなＳＴＵＮメッセージのＫｅｅｐ−Ａｌｉｖｅ  Ｒｅｓｐｏｎｓｅ  Ｍｅｓｓａｇｅを供給する。Ｋｅｅｐ−Ａｌｉｖｅ  Ｒｅｓｐｏｎｓｅ  Ｍｅｓｓａｇｅでは、Ａｎｓｗｅｒｅｄ  Ｍａｐｐｅｄ  Ａｄｄｒｅｓｓ  Ｍｅｓｓａｇｅと同様にＳＴＵＮメッセージのＭＡＰＰＥＤ  ＡＤＤＲＥＳＳレスポンスを使用する。この処理は、図８のステップＳ１０５の処理に対応する。
【０２７７】
ローカル通信装置１１は、ステップＳ３３６において、その開通維持パケットを取得すると、ステップＳ３３７において、開通した通信を維持するための開通維持パケットとして、図３１に示されるようなＳＴＵＮメッセージのＨｅａｒｔｂｅａｔ  Ｍｅｓｓａｇｅを供給する。Ｈｅａｒｔｂｅａｔ  Ｍｅｓｓａｇｅでは、Ｏｐｅｎｉｎｇ  Ｐｏｒｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ｍｅｓｓａｇｅと同様にＳＴＵＮメッセージのＦＬＡＧＳリクエストを使用する。なお、この場合、メッセージ値３８３は、ｂｉｔＡとｂｉｔＣの値が「１」とし、それ以外の値を「０」とする（０ｘ０００００００５）。ローカル通信装置３１は、図２８のステップＳ３７７においてこの開通維持パケットを取得する。
【０２７８】
同様に、ローカル通信装置３１は、ステップＳ３７８において、この開通維持パケットをローカル通信装置１１に供給し、ローカル通信装置１１は、ステップＳ３３８においてこの開通維持パケットを取得する。
【０２７９】
以上に示されるＫｅｅｐ−Ａｌｉｖｅ  Ｒｅｑｕｅｓｔ  ＭｅｓｓａｇｅおよびＫｅｅｐ−Ａｌｉｖｅ  Ｒｅｓｐｏｎｓｅ  Ｍｅｓｓａｇｅにおいて、ヘッダ部３７１のトランザクションＩＤ３７５は、図３２に示されるような値とし、Ｈｅａｒｔｂｅａｔ  ＭｅｓｓａｇｅのトランザクションＩＤ３７５は、図３３に示されるような値とする。
【０２８０】
なお、サービス要求パケット、サービス提供パケット、開通要求パケット、および開通維持パケットは、上述した以外の構成のパケットであってももちろんよいし、ＳＴＵＮプロトコル以外のプロトコルを使用してもよい。
【０２８１】
以上のように、ローカル通信装置１１および３１は、ＳＴＵＮメッセージを利用し、サービス要求パケットおよびサービス提供パケットにより、予想される送信先のアドレスポート情報を取得し、そのアドレスポート情報に基づいて、複数の開通要求パケットを供給することにより、実際に通信を開通可能なポートを検索し、開通維持パケットにより、そのポートを維持させるようにする。このようにすることにより、中継装置を介して通信を行う場合においても、ローカル通信装置１１および３１は、既存の設備により構成されるネットワークシステムにおいて、容易に通信を行うことができる。
【０２８２】
以下に具体的な例を示す。図３４に示されるように、ローカル通信装置１１側（通信元側）の中継装置１２が、再利用型の中継装置１２−１であり、ローカル通信装置３１側（通信先側）の中継装置３２が、再利用型の中継装置３２−１である場合、中継装置１２−１は、ローカル通信装置１１が供給するＵＤＰパケットを、供給先のアドレスポート情報に関わらず、ポート４０２−１を用いて中継する。同様に、中継装置３２−１は、ローカル通信装置３１が供給するＵＤＰパケットを、供給先のアドレスポート情報に関わらず、ポート４０３−１を用いて中継する。
【０２８３】
従って、この場合、ローカル通信装置１１のポート４０１−１、中継装置１２−１のポート４０２−１、中継装置３２−２のポート４０３−１、およびローカル通信装置３１のポート４０４−１を介して通信が開通する。
【０２８４】
図３５に示されるように、ローカル通信装置１１側（通信元側）の中継装置１２が、再利用型の中継装置１２−１であり、ローカル通信装置３１側（通信先側）の中継装置３２が、インクリメント型の中継装置３２−２である場合、中継装置１２−１は、ローカル通信装置１１が供給するＵＤＰパケットを、供給先のアドレスポート情報に関わらず、ポート４０２−１を用いて中継する。また、中継装置３２−２は、ローカル通信装置３１が供給するＵＤＰパケットを、供給先のアドレスポート情報が変化する度に、ポート番号を１つずつ増加させながら中継する。すなわち、図３５に示されるように、ローカル通信装置１１がローカル通信装置１１の５個のポートに対して、開通要求パケットを供給する場合、中継装置３２−２は、装置用サービス提供装置５１との通信に利用したポート４０３−１の次のポートから５個のポート（ポート４０３−２乃至４０３−６）を使用して中継する。
【０２８５】
従って、この場合、ローカル通信装置１１のポート４０１−１、中継装置１２−１のポート４０２−１、中継装置３２−２のポート４０３−２、およびローカル通信装置３１のポート４０４−１を介して通信が開通する。
【０２８６】
以上のように、通信元の中継装置１２が再利用型である場合、既存の設備により構成されるネットワークシステムにおいて、通信先の中継装置３２が再利用型であっても、インクリメント型であってもローカル通信装置１１は、通信を開通することができる。
【０２８７】
通信元の中継装置１２がインクリメント型の場合、通信先の中継装置３２が再利用型であれば、通信の開通が可能であるが、通信先の中継装置３２がインクリメント型であるとき、図３６に示されるように、通信の開通が失敗することも考えられる。図３６の場合、ローカル通信装置１１が供給する開通要求パケットと、ローカル通信装置３１が供給する開通要求パケットが、互いに異なるポートを経由して供給されるため、通信が開通していない。
【０２８８】
そこで、通信のマスタ側の通信装置が実行する通信開始要求アルゴリズムと、スレーブ側の通信装置が実行する通信開始要求アルゴリズムが、互いに異なる処理を含むようにしてもよい。
【０２８９】
図３７のフローチャートを参照し、ローカル通信装置１１による制御処理を説明する。必要に応じて図３８のフローチャートを参照して説明する。
【０２９０】
ローカル通信装置１１のローカル間通信制御部６６は、ステップＳ３９１において、ローカル通信装置１１が通信のマスタであるか否かを判定し、マスタであると判定した場合、ステップＳ３９２において、通信開始要求アルゴリズムとして、第２通信開始要求処理を実行する。第２通信開始要求処理の詳細については、図３８のフローチャートを参照して後述する。ステップＳ３９２の処理を終了したローカル間通信制御部６６は、制御処理を終了する。
【０２９１】
ステップＳ３９１において、ローカル通信装置１１がスレーブであると判定した場合、ローカル間通信制御部６６は、ステップＳ３９３に処理を進め、通信開始要求アルゴリズムとして、図２０に示されるフローチャートと同様の第１通信開始要求処理を実行する。第１通信開始要求処理の詳細は、図２０に示されるフローチャートを適用することができるのでその説明を省略する。ステップＳ３９３の処理を終了したローカル間通信制御部６６は、制御処理を終了する。
【０２９２】
次に、図３８のフローチャートを参照して、ローカル通信装置による第２通信開始要求処理を説明する。
【０２９３】
ローカル通信装置１１のローカル間通信制御部６６は、ステップＳ４１１において、変数ｉおよび変数ｊのそれぞれに、値「０」を代入する。ステップＳ４１２において、ローカル間通信制御部６６は、中継装置１２のグローバルなポートを示す変数Ｇｌｏ−ｐｏｒｔの値を変数Ｂａｓｅ−Ｇｌｏ−ｐｏｒｔとして保持し、ローカル通信装置１１のポートを示す変数Ｐｒｉ−ｐｏｒｔを変数Ｂａｓｅ−Ｐｒｉ−ｐｏｒｔとして保持する。
【０２９４】
ステップＳ４１３に処理を進めると、ローカル間通信制御部６６は、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さいか否かを判定する。変数ｉの値が変数ｎｕｍＳｒｃＰｒｉｐｏｒｔより小さいと判定した場合、ローカル間通信制御部６６は、ステップＳ４１４に処理を進め、変数Ｂａｓｅ−Ｐｒｉ−Ｐｏｒｔの値に変数ｉの値を加算し、その値を変数Ｐｒｉ−ｐｏｒｔに代入する。
【０２９５】
ローカル間通信制御部６６は、ステップＳ４１５において、変数ｊの値が変数ｎｕｍＤｓｔＧｌｏＰｏｒｔの２倍の値より小さいか否かを判定し、小さいと判定した場合、ステップＳ４１６において、変数Ｂａｓｅ−Ｇｌｏ−Ｐｏｒｔの値に変数ｊの値を加算し、変数Ｇｌｏ−ｐｏｒｔに代入する。
【０２９６】
そして、ローカル間通信制御部６６は、ステップＳ４１７において、変数Ｐｒｉ−ｐｏｒｔの値を送信元のポート番号とし、変数Ｇｌｏ−ｐｏｒｔの値を送信先のポート番号とし、開通要求パケットを生成し、通信部８４を制御して、生成した開通要求パケットを、中継装置１２を介して中継装置３２に供給する。
【０２９７】
ステップＳ４１８に処理を進めたローカル間通信制御部６６は、所定の時間ｔｉｍｅＳｅｎｄＩｎｔｅｒｖａｌの間待機した後、ステップＳ４１９において、変数ｊの値に値（ｊ＋２）を代入し、ステップＳ４２０において、ユーザの操作などに基づいて、開通要求パケットの中止要求が出ているか否かを判定し、中止要求がでていると判定した場合、第２通信開始要求処理を終了し、図３７の制御処理を終了する。
【０２９８】
ステップＳ４１３において、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さくないと判定した場合、ローカル間通信制御部６６は、第２通信開始要求処理を終了し、図３７の制御処理を終了する。
【０２９９】
ステップＳ４１５において、変数ｊの値が変数ｎｕｍＤｓｔＧｌｏＰｏｒｔの２倍の値より小さくないと判定した場合、ローカル間通信制御部６６は、ステップＳ４２１に処理を進め、変数ｊに値「０」を代入し、ステップＳ４２２において変数ｉに値（ｉ＋１）を代入した後、ステップＳ４１３に処理を戻し、それ以降の処理を繰り返す。
【０３００】
ステップＳ４２０において、開通要求パケットの中止要求が出ていないと判定した場合、ローカル間通信制御部６６は、ステップＳ４１５に処理を戻し、それ以降の処理を繰り返す。
【０３０１】
以上のように、ローカル通信装置１１がマスタ側である場合、ローカル間通信制御部６６は、通信先側の中継装置３２の連続するポート群に対して、１つおきに開通要求パケットを供給し（ポート番号を２つずつずらしながら開通要求パケットを供給し）、ローカル通信装置１１がスレーブ側である場合、通信先側の中継装置３２のポートに対して、ポート番号を１つずつずらしながら開通要求パケットを供給する。
【０３０２】
例えば、ローカル通信装置１１がマスタである場合、図３９に示されるように、ローカル通信装置１１側（通信元側）の中継装置１２が、インクリメント型の中継装置１２−２であり、ローカル通信装置３１側（通信先側）の中継装置３２が、インクリメント型の中継装置３２−２であっても、ローカル通信装置１１のポート４０１−１、中継装置１２−１のポート４０２−４、中継装置３２−２のポート４０３−５、およびローカル通信装置３１のポート４０４−１を介して通信が開通する。
【０３０３】
また、図４０に示されるように、ローカル通信装置１１側（通信元側）の中継装置１２が、インクリメント型の中継装置１２−２であり、ローカル通信装置３１側（通信先側）の中継装置３２が、再利用型の中継装置３２−１であっても、ローカル通信装置１１のポート４０１−１、中継装置１２−１のポート４０２−２、中継装置３２−１のポート４０３−１、およびローカル通信装置３１のポート４０４−１を介して通信が開通する。
【０３０４】
なお、ローカル通信装置１１がスレーブである場合、ローカル通信装置３１がマスタであるので、上述した場合と同様に、ローカル通信装置１１は、通信を開通することができる。
【０３０５】
また、以上においては、マスタであるローカル通信装置が、通信先の中継装置に対して、ポート番号が１つおきとなるように開通要求パケットを供給するように説明したが、スレーブであるローカル通信装置がそのように開通要求パケットを供給するようにしてももちろんよい。その場合、マスタであるローカル通信装置は、ポート番号が連続するように開通要求パケットを供給する。
【０３０６】
なお、この場合、図４１に示されるように、通信元の中継装置１２が再利用型であり、通信先の中継装置３２がインクリメント型である場合、通信の開通が失敗することもある。図４１の場合、中継装置１２−１の、ローカル通信装置１１からのパケットを中継するポート４０２−１には、ローカル通信装置３１からの開通要求パケットが、中継装置３２−２のポート４０３−２を介して供給されるが、ローカル通信装置１１が供給する開通要求パケットは、中継装置３２−２のポート４０３−２には供給されず、通信が開通しない。
【０３０７】
そこで、ローカル通信装置が、各ポートから出力する開通要求パケットを、送信先の中継装置の異なるポートに対して供給するようにしてもよい。
【０３０８】
そのような場合のローカル通信装置１１による制御処理を、図４２のフローチャートを参照して説明する。なお、必要に応じて図４３および４４のフローチャートを参照して説明する。
【０３０９】
ローカル通信装置１１のローカル間通信制御部６６は、ステップＳ４４１において、ローカル通信装置１１が通信のマスタであるか否かを判定し、マスタであると判定した場合、ステップＳ４４２において、通信開始要求アルゴリズムとして、第３通信開始要求処理を実行する。第３通信開始要求処理の詳細については、図４３のフローチャートを参照して後述する。ステップＳ４４２の処理を終了したローカル間通信制御部６６は、制御処理を終了する。
【０３１０】
ステップＳ４４１において、ローカル通信装置１１がスレーブであると判定した場合、ローカル間通信制御部６６は、ステップＳ４４３に処理を進め、通信開始要求アルゴリズムとして、第４通信開始要求処理を実行する。第４通信開始要求処理の詳細については、図４４のフローチャートを参照して後述する。ステップＳ４４３の処理を終了したローカル間通信制御部６６は、制御処理を終了する。
【０３１１】
次に、図４３のフローチャートを参照して、ローカル通信装置による第３通信開始要求処理を説明する。なお、以下において、変数ｎｕｍＤｓｔＧｌｏＰｏｒｔ２は、１つのポートより供給される開通要求パケットの数（すなわち、１つのポートより開通要求パケットが供給される、通信先の中継装置のポートの数）であるとする。
【０３１２】
ローカル通信装置１１のローカル間通信制御部６６は、ステップＳ４６１において、変数ｉおよび変数ｊのそれぞれに、値「０」を代入する。ステップＳ４６２において、ローカル間通信制御部６６は、中継装置１２のグローバルなポートを示す変数Ｇｌｏ−ｐｏｒｔの値を変数Ｂａｓｅ−Ｇｌｏ−ｐｏｒｔとして保持し、ローカル通信装置１１のポートを示す変数Ｐｒｉ−ｐｏｒｔを変数Ｂａｓｅ−Ｐｒｉ−ｐｏｒｔとして保持する。
【０３１３】
ステップＳ４６３に処理を進めると、ローカル間通信制御部６６は、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さいか否かを判定する。変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さいと判定した場合、ローカル間通信制御部６６は、ステップＳ４６４に処理を進め、変数Ｂａｓｅ−Ｐｒｉ−Ｐｏｒｔの値に変数ｉの値を加算し、その値を変数Ｐｒｉ−ｐｏｒｔに代入する。
【０３１４】
ローカル間通信制御部６６は、ステップＳ４６５において、変数ｊの値が（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２×ｉ＋ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）の値より小さいか否かを判定し、小さいと判定した場合、ステップＳ４６６において、変数Ｂａｓｅ−Ｇｌｏ−Ｐｏｒｔの値に変数ｊの値を加算し、変数Ｇｌｏ−ｐｏｒｔに代入する。
【０３１５】
そして、ローカル間通信制御部６６は、ステップＳ４６７において、変数Ｐｒｉ−ｐｏｒｔの値を送信元のポート番号とし、変数Ｇｌｏ−ｐｏｒｔの値を送信先のポート番号とし、開通要求パケットを生成し、通信部８４を制御して、生成した開通要求パケットを、中継装置１２を介して中継装置３２に供給する。
【０３１６】
ステップＳ４６８に処理を進めたローカル間通信制御部６６は、所定の時間ｔｉｍｅＳｅｎｄＩｎｔｅｒｖａｌの間待機した後、ステップＳ４６９において、変数ｊの値に値（ｊ＋１）を代入し、ステップＳ４７０において、ユーザの操作などに基づいて、開通要求パケットの中止要求が出ているか否かを判定し、中止要求がでていると判定した場合、第３通信開始要求処理を終了し、図４２の制御処理を終了する。
【０３１７】
ステップＳ４６３において、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さくないと判定した場合、ローカル間通信制御部６６は、第３通信開始要求処理を終了し、図４２の制御処理を終了する。
【０３１８】
ステップＳ４６５において、変数ｊの値が（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２×ｉ＋ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）の値より小さくないと判定した場合、ローカル間通信制御部６６は、ステップＳ４７１に処理を進め、変数ｊに値（ｊ＋１）を代入し、ステップＳ４７２において変数ｉに値（ｉ＋１）を代入した後、ステップＳ４６３に処理を戻し、それ以降の処理を繰り返す。
【０３１９】
ステップＳ４７０において、開通要求パケットの中止要求が出ていない判定した場合、ローカル間通信制御部６６は、ステップＳ４６５に処理を戻し、それ以降の処理を繰り返す。
【０３２０】
次に、図４４のフローチャートを参照して、ローカル通信装置による第４通信開始要求処理を説明する。
【０３２１】
ローカル通信装置１１のローカル間通信制御部６６は、ステップＳ４９１において、変数ｉおよび変数ｊのそれぞれに、値「０」を代入する。ステップＳ４９２において、ローカル間通信制御部６６は、中継装置１２のグローバルなポートを示す変数Ｇｌｏ−ｐｏｒｔの値を変数Ｂａｓｅ−Ｇｌｏ−ｐｏｒｔとして保持し、ローカル通信装置１１のポートを示す変数Ｐｒｉ−ｐｏｒｔを変数Ｂａｓｅ−Ｐｒｉ−ｐｏｒｔとして保持する。
【０３２２】
ステップＳ４９３に処理を進めると、ローカル間通信制御部６６は、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さいか否かを判定する。変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さいと判定した場合、ローカル間通信制御部６６は、ステップＳ４９４に処理を進め、変数Ｂａｓｅ−Ｐｒｉ−Ｐｏｒｔの値に変数ｉの値を加算し、その値を変数Ｐｒｉ−ｐｏｒｔに代入する。
【０３２３】
ローカル間通信制御部６６は、ステップＳ４９５において、変数ｊの値が｛（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）×ｉ＋ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１｝の値より小さいか否かを判定し、小さいと判定した場合、ステップＳ４９６において、変数Ｂａｓｅ−Ｇｌｏ−Ｐｏｒｔの値に変数ｊの値を加算し、変数Ｇｌｏ−ｐｏｒｔに代入する。
【０３２４】
そして、ローカル間通信制御部６６は、ステップＳ４９７において、変数Ｐｒｉ−ｐｏｒｔの値を送信元のポート番号とし、変数Ｇｌｏ−ｐｏｒｔの値を送信先のポート番号とし、開通要求パケットを生成し、通信部８４を制御して、生成した開通要求パケットを、中継装置１２を介して中継装置３２に供給する。
【０３２５】
ステップＳ４９８に処理を進めたローカル間通信制御部６６は、所定の時間ｔｉｍｅＳｅｎｄＩｎｔｅｒｖａｌの間待機した後、ステップＳ４９９において、変数ｊの値に値（ｊ＋１）を代入し、ステップＳ５００において、ユーザの操作などに基づいて、開通要求パケットの中止要求が出ているか否かを判定し、中止要求がでていると判定した場合、第４通信開始要求処理を終了し、図４２の制御処理を終了する。
【０３２６】
ステップＳ４９３において、変数ｉの値が変数ｎｕｍＳｒｃＰｒｉＰｏｒｔより小さくないと判定した場合、ローカル間通信制御部６６は、第４通信開始要求処理を終了し、図４２の制御処理を終了する。
【０３２７】
ステップＳ４９５において、変数ｊの値が｛（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）×ｉ＋ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１｝の値より小さくないと判定した場合、ローカル間通信制御部６６は、ステップＳ５０１に処理を進め、変数ｉに値（ｉ＋１）を代入した後、ステップＳ４９３に処理を戻し、それ以降の処理を繰り返す。
【０３２８】
ステップＳ５００において、開通要求パケットの中止要求が出ていない判定した場合、ローカル間通信制御部６６は、ステップＳ４９５に処理を戻し、それ以降の処理を繰り返す。
【０３２９】
以上のように、ローカル通信装置１１がマスタ側である場合、ローカル間通信制御部６６は、通信先の中継装置３２が有するポートの連続する（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）個のポートを１グループとし、各グループの間に１つのポートが存在するような複数のグループを設定し、ローカル通信装置１１の各ポートから、中継装置３２の互いに異なるグループに対して、（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）個の開通要求パケットを供給する。また、ローカル通信装置１１がスレーブである場合、ローカル間通信制御部６６は、通信先の中継装置３２が有するポートの連続する（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）個のポートを１グループとし、各グループが連続するような複数のグループを設定し、ローカル通信装置１１の各ポートから、中継装置３２の互いに異なるグループに対して、（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）個の開通要求パケットを供給する。
【０３３０】
例えば、変数ｎｕｍＳｒｃＰｒｉＰｏｒｔの値を「３」とし、変数ｎｕｍＤｓｔＧｌｏＰｏｒｔ２の値を「４」とする。ローカル通信装置１１がマスタである場合、図４５に示されるように、中継装置１２および３２が、インクリメント型の中継装置１２−２および３２−２であるとき、ローカル通信装置１１のポート４０１−３、中継装置１２−２のポート４０２−８、中継装置３２−２のポート４０３−９、およびローカル通信装置３１のポート４０４−３を介して通信が開通する。
【０３３１】
また、例えば、何らかの理由により、通信先側の中継装置３２−２が、ポート４０３−２を飛ばして、使用するポートをインクリメントさせた場合においても、変数ｎｕｍＳｒｃＰｒｉＰｏｒｔの値が「４」であれば、図４６に示されるように、ローカル通信装置１１のポート４０１−４、中継装置１２−２のポート４０２−１１、中継装置３２−２のポート４０３−１３、およびローカル通信装置３１のポート４０４−４を介して通信が開通する。
【０３３２】
さらに、例えば、何らかの理由により、通信元側の中継装置１２−２が、ポート４０２−２を飛ばして、使用するポートをインクリメントさせた場合においても、変数ｎｕｍＳｒｃＰｒｉＰｏｒｔの値が「４」であれば、図４７に示されるように、ローカル通信装置１１のポート４０１−４、中継装置１２−２のポート４０２−１２、中継装置３２−２のポート４０３−１３、およびローカル通信装置３１のポート４０４−４を介して通信が開通する。
【０３３３】
また、図４８に示されるように、中継装置１２が、再利用型の中継装置１２−１である場合においても、ローカル通信装置１１のポート４０１−１、中継装置１２−１のポート４０２−１、中継装置３２−２のポート４０３−２、およびローカル通信装置３１のポート４０４−１を介して通信が開通する。
【０３３４】
逆に、図４９に示されるように、中継装置１２がインクリメント型の中継装置１２−２であり、中継装置３２が再利用型の中継装置３２−１である場合においても、ローカル通信装置１１のポート４０１−１、中継装置１２−２のポート４０２−２、中継装置３２−１のポート４０３−１、およびローカル通信装置３１のポート４０４−１を介して通信が開通する。
【０３３５】
以上のように、ローカル通信装置の各ポートから供給される開通要求パケットを、通信先の中継装置の異なるポートに供給するとともに、マスタである場合と、スレーブである場合とで、開通要求パケットの供給方法を異なるようにすることにより、ローカル通信装置は、既存の設備により構成されるネットワークシステムにおいて、さらに多くの場合においても、通信を容易に開通させることができる。
【０３３６】
なお、以上においては、変数ｎｕｍＳｒｃＰｒｉＰｏｒｔの値を「３」または「４」とし、変数ｎｕｍＤｓｔＧｌｏＰｏｒｔ２の値を「４」とする場合について説明したが、これらの値は、上述した以外であってももちろんよい。また、ローカル通信装置１１がマスタ側である場合、ローカル間通信制御部６６は、各ポートより（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）個の開通要求パケットを供給し、ローカル通信装置１１がスレーブである場合、ローカル間通信制御部６６は、各ポートより（ｎｕｍＤｓｔＧｌｏＰｏｒｔ２−１）個の開通要求パケットを供給するように説明したが、各ポートより供給する開通要求パケットの数はそれ以上であってもよいし、それ以下であってもよい。
【０３３７】
さらに、ローカル通信装置１１が開通要求パケットを生成して供給する通信開始要求アルゴリズムとしては、上述した以外にも、どのようなアルゴリズムであってもよい。例えば、通信開始要求アルゴリズムとして、上述した第１通信開始要求処理乃至第４通信開始要求処理を全て組み合わせて使用するようにしてもよい。
【０３３８】
図５０のフローチャートを参照して、ローカル通信装置１１による制御処理について説明する。
【０３３９】
最初に、ステップＳ５２１において、ローカル通信装置１１のローカル間通信制御部６６は、図２０のフローチャートを参照して説明したような第１通信開始要求処理を実行する。ステップＳ５２２において、ローカル間通信制御部６６は、この第１通信開始要求処理により通信が開通したか否かを判定し、開通していないと判定した場合、ステップＳ５２３に処理を進め、ローカル通信装置１１がマスタであるか否かを判定する。
【０３４０】
ローカル通信装置１１が通信のマスタであると判定した場合、ローカル間通信制御部６６は、ステップＳ５２４に処理を進め、図３８のフローチャートを参照して説明したような第２通信開始要求処理を実行する。第２通信開始要求処理を終了したローカル間通信制御部６６は、ステップＳ５２６に処理を進める。
【０３４１】
ステップＳ５２３において、ローカル通信装置１１が通信のスレーブであると判定した場合、ローカル間通信制御部６６は、ステップＳ５２５に処理を進め、ステップＳ５２１と同様の第１通信開始要求処理を実行する。第１通信開始要求処理を終了したローカル間通信制御部６６は、ステップＳ５２６に処理を進める。
【０３４２】
ステップＳ５２６において、ローカル間通信制御部６６は、第１通信開始要求処理または第２通信開始要求処理により通信が開通したか否かを判定し、開通していないと判定した場合、ステップＳ５２７に処理を進め、ローカル通信装置１１がマスタであるか否かを判定する。
【０３４３】
ローカル通信装置１１が通信のマスタであると判定した場合、ローカル間通信制御部６６は、ステップＳ５２８に処理を進め、図４３のフローチャートを参照して説明したような第３通信開始要求処理を実行する。第３通信開始要求処理を終了したローカル間通信制御部６６は、制御処理を終了する。
【０３４４】
ステップＳ５２７において、ローカル通信装置１１が通信のスレーブであると判定した場合、ローカル間通信制御部６６は、ステップＳ５２９に処理を進め、図４４のフローチャートを参照して説明したような第４通信開始要求処理を実行する。第４通信開始要求処理を終了したローカル間通信制御部６６は、制御処理を終了する。
【０３４５】
また、ステップＳ５２２またはステップＳ５２６において、通信が開通したと判定した場合、ローカル間通信制御部６６は、制御処理を終了する。
【０３４６】
以上のように、複数の通信開始要求処理を組み合わせることにより、ローカル通信装置１１は、既存の設備により構成されるネットワークシステムにおいて、さらに多くの場合について、容易に、通信先のローカル通信装置３１との通信を開通させることができる。
【０３４７】
なお、以上においては、ローカル通信装置１１の場合について説明したが、ローカル通信装置３１が、上述したような制御処理と同様の制御処理を行うようにしてもよい。さらに、ローカル通信装置１１が実行する制御処理とローカル通信装置３１が実行する制御処理において、組み合わせる複数の通信開始要求処理が互いに異なるようにしたり、組み合わせる順番が互いに異なるようにしたりしてももちろんよい。
【０３４８】
また、通信先の通信装置がＮＡＰＴ機能を有する中継装置等を介さずに直接ネットワーク２１に接続されている場合であっても、その通信先の中継装置が、上述したような通信開始要求処理を行うようにすれば、中継装置１２を介してネットワーク２１に接続されるローカル通信装置１１は、その通信装置と容易に通信を開始することができる。
【０３４９】
さらに、上述した例においては、ローカル通信装置１１は、２つの中継装置１２および３２を介してローカル通信装置３１と通信を行うように説明したが、これに限らず、３台以上の中継装置を介して通信を行う場合であっても、それぞれの中継装置に対して、上述したような処理を行うことにより、通信相手であるローカル通信装置３１側のグローバルなポート番号を予測することができるので、ローカル通信装置３１と容易に通信を行うことができる。
【０３５０】
また、上述した例においては、ＮＡＰＴ機能を有する中継装置を介した通信について説明したが、例えば、さらにＦｉｒｅｗａｌｌ機能を介して通信を行う場合においても、ローカル通信装置１１は、上述したような処理により、通信相手であるローカル通信装置３１側のグローバルなポート番号を予測することができるので、容易にローカル通信装置３１と通信を行うことができる。
【０３５１】
なお、以上において説明したローカル通信装置１１、中継装置１２、ローカル通信装置３１、中継装置３２、ユーザ用サービス提供装置４１、または装置用サービス提供装置５１は、上述した構成の一部または全部を他の装置と一体化するようにしてもよいし、複数の装置によって実現するようにしてもよい。
【０３５２】
さらに、上述した各処理は、上述したどの装置において実行されるようにしてもよいし、上述した以外の他の装置により実行されるようにしてもよい。
【０３５３】
また、以上においては、ＩＭサービスを利用して、ローカル通信装置１１とローカル通信装置３１が１対１で通信を行う場合について説明したが、これに限らず、３人以上のユーザ（３つ以上のローカル通信装置）が同時に通信を行うようにしてもよい。なお、その場合、通信のマスタはその中の１台のローカル通信装置に決定され、そのマスタであるローカル通信装置と、それ以外のスレーブであるローカル通信装置との間で、上述した場合と同様の処理が行われる。
【０３５４】
上述した一連の処理は、ハードウェアにより実行させることもできるし、上述したようにソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体等からインストールされる。
【０３５５】
記録媒体は、図３乃至図６に示されるように、各装置とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク（ＭＤ（Ｍｉｎｉ−Ｄｉｓｃ）（登録商標）を含む）、若しくは半導体メモリなどよりなるパッケージメディアを含むリムーバブルメディア９１、１３１、１８１、または２３１により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ６２、１０２、１５２、または２０２や記憶部８３、１２３、１７３、または２２３が含まれるハードディスクなどで構成される。
【０３５６】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３５７】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０３５８】
【発明の効果】
以上のように、本発明によれば、通信を行うことができる。特に、ＮＡＰＴを介して他の装置と容易に通信を行うことができる。
【図面の簡単な説明】
【図１】本発明を適用したネットワークシステムの構成例を示す図である。
【図２】図１の中継装置によるＮＡＰＴ変換の様子を示す図である。
【図３】図１のローカル通信装置の内部の構成例を示すブロック図である。
【図４】図１の中継装置の内部の構成例を示すブロック図である。
【図５】図１のユーザ用サービス提供装置の構成例を示すブロック図である。
【図６】図１の装置用サービス提供装置の構成例を示すブロック図である。
【図７】図１のネットワークシステムにおける各装置間の通信内容を説明するアローチャートである。
【図８】図１のネットワークシステムにおける各装置間の通信内容を説明する、図７に続くアローチャートである。
【図９】図１のローカル通信装置による認証処理について説明するフローチャートである。
【図１０】認証画面の構成例を示す図である。
【図１１】図１のユーザ用サービス提供装置による認証処理について説明するフローチャートである。
【図１２】図５に示されるユーザ認証情報データベースの様子を示す模式図である。
【図１３】図１のローカル通信装置による通信情報取得処理について説明するフローチャートである。
【図１４】ユーザ特定用画面の構成例を示す図である。
【図１５】サービス要求パケットの構成例を示す模式図である。
【図１６】図１のユーザ用サービス提供装置による情報提供処理について説明するフローチャートである。
【図１７】図５のユーザ登録情報データベースの様子を示す模式図である。
【図１８】図１の装置用サービス提供装置による情報提供処理について説明するフローチャートである。
【図１９】サービス提供パケットの構成例を示す模式図である。
【図２０】ローカル通信装置による通信開始要求処理について説明するフローチャートである。
【図２１】再利用型の中継装置によるＮＡＰＴ変換の様子を説明する図である。
【図２２】インクリメント型の中継装置によるＮＡＰＴ変換の様子を説明する図である。
【図２３】図１のローカル通信装置による通信確立処理の例について説明するフローチャートである。
【図２４】図１のローカル通信装置による通信確立処理の例について説明する、図２３に続くフローチャートである。
【図２５】図１のローカル通信装置による通信確立処理の、他の例について説明するフローチャートである。
【図２６】図１のローカル通信装置による通信確立処理の、他の例について説明する、図２５に続くフローチャートである。
【図２７】ＳＴＵＮメッセージを授受するためのＵＤＰパケットの構成例を示す模式図である。
【図２８】図１のネットワークシステムにおいて、各装置によるＳＴＵＮメッセージの授受の様子を説明するアローチャートである。
【図２９】ＳＴＵＮメッセージを授受するためのＵＤＰパケットの構成例を示す模式図である。
【図３０】ＳＴＵＮメッセージを授受するためのＵＤＰパケットの、他の構成例を示す模式図である。
【図３１】ＳＴＵＮメッセージを授受するためのＵＤＰパケットの、さらに他の構成例を示す模式図である。
【図３２】ＵＤＰパケットのトランザクションＩＤの構成例を示す模式図である。
【図３３】ＵＤＰパケットのトランザクションＩＤの、他の構成例を示す模式図である。
【図３４】図１のローカル通信装置による開通要求パケットの授受の様子の例を示す図である。
【図３５】図１のローカル通信装置による開通要求パケットの授受の様子の、他の例を示す図である。
【図３６】図１のローカル通信装置による開通要求パケットの授受の様子の、さらに他の例を示す図である。
【図３７】図１のローカル通信装置による制御処理について説明するフローチャートである。
【図３８】図１のローカル通信装置による第２通信開始要求処理の詳細について説明するフローチャートである。
【図３９】図１のローカル通信装置による開通要求パケットの授受の様子の例を示す図である。
【図４０】図１のローカル通信装置による開通要求パケットの授受の様子の、他の例を示す図である。
【図４１】図１のローカル通信装置による開通要求パケットの授受の様子の、さらに他の例を示す図である。
【図４２】図１のローカル通信装置による制御処理の、他の例について説明するフローチャートである。
【図４３】図１のローカル通信装置による第３通信開始要求処理の詳細について説明するフローチャートである。
【図４４】図１のローカル通信装置による第４通信開始要求処理の詳細について説明するフローチャートである。
【図４５】図１のローカル通信装置による開通要求パケットの授受の様子の例を示す図である。
【図４６】図１のローカル通信装置による開通要求パケットの授受の様子の、他の例を示す図である。
【図４７】図１のローカル通信装置による開通要求パケットの授受の様子の、さらに他の例を示す図である。
【図４８】図１のローカル通信装置による開通要求パケットの授受の様子の、さらに他の例を示す図である。
【図４９】図１のローカル通信装置による開通要求パケットの授受の様子の、さらに他の例を示す図である。
【図５０】図１のローカル通信装置による制御処理の、さらに他の例について説明するフローチャートである。
【符号の説明】
１０  プライベートネットワーク，  １１  ローカル通信装置，  １２  中継装置，  ２１  ネットワーク，  ３０  プライベートネットワーク，  ３１  ローカル通信装置，  ３２  中継装置，  ４１  ユーザ用サービス提供装置，  ５１  装置用サービス提供装置，  ６４  認証処理部，  ６５  通信情報取得処理部，  ６６  ローカル間通信制御部，  ６７  ユーザ認証用インタフェース提供処理部，  ６８  ユーザ特定用インタフェース提供処理部，  １０４  アドレス変換処理部，  １５４  認証処理部，  １５５  ユーザ登録情報管理処理部，  １７６  ユーザ認証情報データベース，  １７７  ユーザ登録情報データベース，  ２０４  アドレスポート情報提供処理部，  ２８１  サービス要求パケット，  ３１０  ユーザ登録情報，  ３２１  サービス提供パケット，  ３７０  ＵＤＰパケット
【図１】
2004304318.tif 000003
【図２】
2004304318.tif 000004
【図３】
2004304318.tif 000005
【図４】
2004304318.tif 000006
【図５】
2004304318.tif 000007
【図６】
2004304318.tif 000008
【図７】
2004304318.tif 000009
【図８】
2004304318.tif 000010
【図９】
2004304318.tif 000011
【図１０】
2004304318.tif 000012
【図１１】
2004304318.tif 000013
【図１２】
2004304318.tif 000014
【図１３】
2004304318.tif 000015
【図１４】
2004304318.tif 000016
【図１５】
2004304318.tif 000017
【図１６】
2004304318.tif 000018
【図１７】
2004304318.tif 000019
【図１８】
2004304318.tif 000020
【図１９】
2004304318.tif 000021
【図２０】
2004304318.tif 000022
【図２１】
2004304318.tif 000023
【図２２】
2004304318.tif 000024
【図２３】
2004304318.tif 000025
【図２４】
2004304318.tif 000026
【図２５】
2004304318.tif 000027
【図２６】
2004304318.tif 000028
【図２７】
2004304318.tif 000029
【図２８】
2004304318.tif 000030
【図２９】
2004304318.tif 000031
【図３０】
2004304318.tif 000032
【図３１】
2004304318.tif 000033
【図３２】
2004304318.tif 000034
【図３３】
2004304318.tif 000035
【図３４】
2004304318.tif 000036
【図３５】
2004304318.tif 000037
【図３６】
2004304318.tif 000038
【図３７】
2004304318.tif 000039
【図３８】
2004304318.tif 000040
【図３９】
2004304318.tif 000041
【図４０】
2004304318.tif 000042
【図４１】
2004304318.tif 000043
【図４２】
2004304318.tif 000044
【図４３】
2004304318.tif 000045
【図４４】
2004304318.tif 000046
【図４５】
2004304318.tif 000047
【図４６】
2004304318.tif 000048
【図４７】
2004304318.tif 000049
【図４８】
2004304318.tif 000050
【図４９】
2004304318.tif 000051
【図５０】
2004304318.tif 000052