(57)【特許請求の範囲】
【請求項１】
通信先の装置とトンネル通信を行う通信元の情報処理装置であって、
通信対象のデータをカプセル化して前記トンネル通信を行うトンネル通信部と、
前記通信先の装置を一意に識別するために固定的に割り当てられた通信先装置識別子を受け付ける識別子受付部と、
前記トンネル通信において、前記情報処理装置が発呼側か着呼側かを判断する判断部と、
前記通信元の情報処理装置を一意に識別するために固定的に割り当てられた通信元装置識別子を記憶している識別子記憶部と、
前記判断部における判断結果、および前記通信先装置識別子と、前記通信元装置識別子との比較結果に基づいて、前記発呼側および前記着呼側のそれぞれに対してあらかじめ決められている複数のアドレスから選択することにより、前記通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えた情報処理装置。
【請求項２】
前記情報処理装置は、さらに、前記トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部を備え、
前記アドレス決定部は、前記通信先装置識別子と、前記通信元装置識別子と、前記トンネル通信識別子とに基づいて、前記通信対象のデータに対して用いるアドレスを決定する請求項１記載の情報処理装置。
【請求項３】
前記アドレス決定部は、前記通信先装置識別子と、前記通信元装置識別子とに基づいて、前記通信対象のデータに対して用いるアドレスの一部を決定し、前記トンネル通信識別子に基づいて、前記通信対象のデータに対して用いるアドレスの他の部分を決定する、請求項２記載の情報処理装置。
【請求項４】
前記トンネル通信部は２以上の通信先の装置とトンネル通信を行うものであり、
前記２以上のトンネル通信において前記通信対象のデータに対して用いられる２以上のアドレスが一致していることを検出する検出部と、
前記検出部が２以上のアドレスが一致していることを検出した場合に、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更部と、をさらに備えた、請求項１から３のいずれか記載の情報処理装置。
【請求項５】
アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信部と、
前記アドレス変更情報に基づいて、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更部と、をさらに備えた、請求項１から３のいずれか記載の情報処理装置。
【請求項６】
前記アドレス決定部が決定したアドレスを出力するアドレス出力部をさらに備えた、請求項１から３のいずれか記載の情報処理装置。
【請求項７】
前記アドレス出力部は、前記アドレス決定部が決定したアドレスを送信する、請求項６記載の情報処理装置。
【請求項８】
請求項１から３のいずれか記載の情報処理装置と、
前記通信先の装置と、
前記情報処理装置と前記通信先の装置との間で行われるトンネル通信を確立させるための処理を行うサーバと、を備えた通信システム。
【請求項９】
第1の情報処理装置と第２の情報処理装置との間で行われるトンネル通信を確立させるための処理を行うサーバであって、
前記第１の情報処理装置を一意に識別するために固定的に割り当てられた第１の装置識別子、および前記第２の情報処理装置を一意に識別するために固定的に割り当てられた第２の装置識別子を受け付ける識別子受付部と、
前記トンネル通信において、前記情報処理装置が発呼側か着呼側かを判断する判断部と、
前記判断部における判断結果、および前記識別子受付部が受け付けた前記第１の装置識別子と、前記第２の装置識別子との比較結果に基づいて、前記発呼側および前記着呼側のそれぞれに対してあらかじめ決められている複数のアドレスから選択することにより、前記第１の情報処理装置と、前記第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる前記第１の情報処理装置の第１のアドレス、および前記第２の情報処理装置の第２のアドレスを決定するアドレス決定部と、
前記アドレス決定部が決定した前記第１のアドレスおよび前記第２のアドレスを出力するアドレス出力部と、を備えたサーバ。
【請求項１０】
前記サーバは、さらに、前記第１の情報処理装置と、前記第２の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部を備え、
前記アドレス決定部は、前記識別子受付部が受け付けた前記第１の装置識別子と、前記第２の装置識別子と、前記トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、前記第１の情報処理装置と、前記第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる前記第１の情報処理装置の第１のアドレス、および前記第２の情報処理装置の第２のアドレスを決定する請求項９記載のサーバ。
【請求項１１】
前記アドレス決定部は、前記第１の装置識別子と、前記第２の装置識別子とに基づいて、前記通信対象のデータに対して用いるアドレスの一部を決定し、前記トンネル通信識別子に基づいて、前記通信対象のデータに対して用いるアドレスの他の部分を決定する、請求項１０記載のサーバ。
【請求項１２】
前記アドレス出力部は、前記第１のアドレスおよび前記第２のアドレスを、前記第１の情報処理装置および前記第２の情報処理装置に送信する、請求項９から１１のいずれか記載のサーバ。
【請求項１３】
請求項９から１１のいずれか記載のサーバと、
前記第１のアドレスを前記通信対象のデータに対して用いてトンネル通信を行う第１の情報処理装置と、
前記第２のアドレスを前記通信対象のデータに対して用いて、前記第１の情報処理装置とトンネル通信を行う第２の情報処理装置と、を備えた通信システム。
【請求項１４】
前記サーバは、さらに、２以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる２以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信部と、
前記アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成部と、
前記アドレス変更情報を送信するアドレス変更情報送信部と、を備えた請求項９記載のサーバ。
【請求項１５】
コンピュータを、第1の情報処理装置と第２の情報処理装置との間で行われるトンネル通信を確立させるための処理を行うサーバとして動作させるためのプログラムであって、
前記第１の情報処理装置を一意に識別するために固定的に割り当てられた第１の装置識別子、および前記第２の情報処理装置を一意に識別するために固定的に割り当てられた第２の装置識別子を受け付ける識別子受付ステップと、
前記トンネル通信において、前記情報処理装置が発呼側か着呼側かを判断する判断ステップと、
前記判断ステップにおける判断結果、および前記識別子受付ステップにおいて受け付けた前記第１の装置識別子と、前記第２の装置識別子とに基づいて、前記発呼側および前記着呼側のそれぞれに対してあらかじめ決められている複数のアドレスから選択することにより、前記第１の情報処理装置と前記第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム等に関し、特にトンネル通信を行う通信システム等に関する。
【背景技術】
【０００２】
従来、通信対象のデータをカプセル化して通信を行うトンネル通信が開発されている。その技術内容は、例えば、特開２００３−２４４１８８号公報（第１頁等、第３図等）に記載されている。
【０００３】
トンネル通信において、カプセル化される通信対象のデータに関しても、通信端末である各情報処理装置において、ＩＰアドレスを設定する必要がある。そのＩＰアドレスは、各情報処理端末で同じアドレスとならないように設定されなければならない。ところで、アドレスを割り当てる方法としては、ＤＨＣＰやＡｕｔｏＩＰなどが知られている。
【０００４】
しかしながら、ＤＨＣＰやＡｕｔｏＩＰ等によるアドレス割り当て方法は、発見的アルゴリズムを用いている。例えば、ＡｕｔｏＩＰでは、あらかじめアドレスレンジが設定されており、クライアント側の情報処理装置からサーバに所定のＩＰアドレスを使用可能かどうか問い合わせ、他の情報処理装置で使用されていなければそのＩＰアドレスを使用することができ、他の情報処理装置で使用されていれば、他のＩＰアドレスを使用可能かどうか問い合わせるということが繰り返される。この発見的アルゴリズムは複雑であり、クライアント側の情報処理装置で用いるＩＰアドレスを決定するのに時間がかかるという問題がある。また、あらかじめ決められたアドレスレンジのＩＰアドレスを、クライアント側の情報処理装置で重複しないように割り当てるため、クライアント側の情報処理装置がアドレスレンジで割り当て可能なＩＰアドレスの数量を超えた場合には割り当てを行うことができないという問題がある。
【発明の開示】
【０００５】
本発明は、上記問題点を解決するためになされたものであり、簡易なアルゴリズムにより、トンネル通信においてカプセル化される通信対象のデータに対して用いられるアドレスを決定可能な通信システム等を提供することを目的とする。
【０００６】
上記目的を達成するため、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部と、情報処理装置を識別する通信元装置識別子を記憶している識別子記憶部と、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
【０００７】
このような構成により、通信先装置識別子と通信元装置識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたＤＨＣＰやＡｕｔｏＩＰによってアドレスを決定する必要がなくなり、通信システムにおいて、ＤＨＣＰサーバ等を備える必要がなくなる。
【０００８】
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、トンネル通信において、情報処理装置が発呼側か着呼側かを判断する判断部と、判断部による判断結果に基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
【０００９】
このような構成により、情報処理装置が発呼側か着呼側かの判断結果に基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたＤＨＣＰやＡｕｔｏＩＰによってアドレスを決定する必要がなくなり、通信システムにおいて、ＤＨＣＰサーバ等を備える必要がなくなる。
【００１０】
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部と、情報処理装置を識別する通信元装置識別子を記憶している識別子記憶部と、トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、通信先装置識別子と、通信元装置識別子と、トンネル通信識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
【００１１】
このような構成により、通信先装置識別子と通信元装置識別子とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたＤＨＣＰやＡｕｔｏＩＰによってアドレスを決定する必要がなくなり、通信システムにおいて、ＤＨＣＰサーバ等を備える必要がなくなる。
【００１２】
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、トンネル通信において、情報処理装置が発呼側か着呼側かを判断する判断部と、トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、判断部による判断結果と、トンネル通信識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
【００１３】
このような構成により、情報処理装置が発呼側か着呼側かの判断結果とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたＤＨＣＰやＡｕｔｏＩＰによってアドレスを決定する必要がなくなり、通信システムにおいて、ＤＨＣＰサーバ等を備える必要がなくなる。
【００１４】
本発明によるサーバは、第１の情報処理装置を識別する第１の装置識別子、および第２の情報処理装置を識別する第２の装置識別子を受け付ける識別子受付部と、識別子受付部が受け付けた第１の装置識別子と、第２の装置識別子とに基づいて、第１の情報処理装置と、第２の情報処理装置との間で行われるトンネル通信におけるカプセル化された通信対象のデータに対して用いる第１の情報処理装置の第１のアドレス、および第２の情報処理装置の第２のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第１のアドレスおよび第２のアドレスを出力するアドレス出力部と、を備えたものである。
【００１５】
このような構成により、第１の装置識別子と第２の装置識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたＤＨＣＰやＡｕｔｏＩＰによってアドレスを決定する必要がなくなり、通信システムにおいて、ＤＨＣＰサーバ等を備える必要がなくなる。
【００１６】
また、本発明によるサーバは、トンネル通信を行う第１の情報処理装置と、第２の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断部と、判断部による判断結果に基づいて、第１の情報処理装置と、第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第１の情報処理装置の第１のアドレス、および第２の情報処理装置の第２のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第１のアドレスおよび第２のアドレスを出力するアドレス出力部と、を備えたものである。
【００１７】
このような構成により、第１の情報処理装置と第２の情報処理装置とが発呼側であるのか、着呼側であるのかの判断結果に基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたＤＨＣＰやＡｕｔｏＩＰによってアドレスを決定する必要がなくなり、通信システムにおいて、ＤＨＣＰサーバ等を備える必要がなくなる。
【００１８】
また、本発明によるサーバは、第１の情報処理装置を識別する第１の装置識別子、および第２の情報処理装置を識別する第２の装置識別子を受け付ける識別子受付部と、第１の情報処理装置と、第２の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、識別子受付部が受け付けた第１の装置識別子と、第２の装置識別子と、トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、第１の情報処理装置と、第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第１の情報処理装置の第１のアドレス、および第２の情報処理装置の第２のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第１のアドレスおよび第２のアドレスを出力するアドレス出力部と、を備えたものである。
【００１９】
このような構成により、第１の装置識別子と第２の装置識別子とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたＤＨＣＰやＡｕｔｏＩＰによってアドレスを決定する必要がなくなり、通信システムにおいて、ＤＨＣＰサーバ等を備える必要がなくなる。
【００２０】
また、本発明によるサーバは、トンネル通信を行う第１の情報処理装置と、第２の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断部と、第１の情報処理装置と、第２の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、判断部による判断結果と、トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、第１の情報処理装置と、第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第１の情報処理装置の第１のアドレス、および第２の情報処理装置の第２のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第１のアドレスおよび第２のアドレスを出力するアドレス出力部と、を備えたものである。
【００２１】
このような構成により、第１の情報処理装置と第２の情報処理装置とが発呼側であるのか、着呼側であるのかの判断結果とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたＤＨＣＰやＡｕｔｏＩＰによってアドレスを決定する必要がなくなり、通信システムにおいて、ＤＨＣＰサーバ等を備える必要がなくなる。
【００２２】
また、本発明によるサーバは、２以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる２以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信部と、アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成部と、アドレス変更情報を送信するアドレス変更情報送信部と、を備えたものである。
【００２３】
このような構成により、２以上のトンネル通信において、通信対象のデータに対して用いられる２以上のアドレスが一致していることが検出された場合に、アドレス変更情報を構成し、送信することによって、その２以上のアドレスの一致を解消することができうる。
【００２４】
このように、本発明による情報処理装置等によれば、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを、簡易な方法によって決定することができる。
【発明の効果】
【００２５】
以上のように、本発明による通信システム等は、情報処理装置間におけるトンネル通信で用いられるアドレスを簡易なアルゴリズムによって求めることができるものであり、トンネル通信を行う通信システム等において有用である。
【発明を実施するための最良の形態】
【００２６】
（実施の形態１）
本発明の実施の形態１による通信システムについて、図面を参照しながら説明する。
【００２７】
図１は、本実施の形態による通信システムの構成を示す図である。図１において、本実施の形態による通信システムは、有線または無線の通信回線３で互いに接続されている第１の情報処理装置１と、第２の情報処理装置２と、サーバ４とを備える。通信回線３は、例えば、インターネットなどである。本実施の形態では、第１の情報処理装置１において、トンネル通信でカプセル化される通信対象のデータに対して用いるアドレスが決定されるものとする。
【００２８】
図２は、第１の情報処理装置１の構成を示すブロック図である。図２において、第１の情報処理装置１は、トンネル通信部１１と、識別子受付部１２と、識別子記憶部１３と、アドレス決定部１４と、アドレス送信部１５とを備える。
【００２９】
トンネル通信部１１は、第１の情報処理装置１と、第２の情報処理装置２との間でトンネル通信を行う。ここで、トンネル通信とは、通信対象のデータをカプセル化して行われる通信である。トンネル通信部１１では、通信対象のデータのカプセル化や、送信されてきたカプセル化されたデータに対するカプセルの解除等が行われる。カプセル化とは、通信対象のデータをプロトコルで規定されたヘッダなどで包み込むことである。カプセル化される通信対象のデータは、暗号化されてもよく、あるいは暗号化されなくてもよい。トンネル通信の一例としては、ＵＤＰトンネル通信や、ＨＴＴＰトンネル通信、Ｌ２ＴＰトンネル通信などがある。なお、トンネル通信部１１は、通信を行うための通信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、トンネル通信部１１と通信回線３との間に図示しない通信デバイスや、その通信デバイスにデータを渡すソフトウェア等が存在してもよい）。また、トンネル通信部１１は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。また、トンネル通信部１１は、例えば、所定の記録媒体（例えば、ＤＶＤやハードディスク等）から読み出すことによって通信対象のデータを取得してもよく、あるいは所定の装置から送信、あるいは入力されたデータを受け付けることによって通信対象のデータを取得してもよい。
【００３０】
識別子受付部１２は、通信先の装置、すなわち第２の情報処理装置２を識別する通信先装置識別子を受け付ける。なお、識別子受付部１２は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力された通信先装置識別子を受け付けてもよく、有線もしくは無線の通信回線を介して送信された通信先装置識別子を受け付けてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出された通信先装置識別子を受け付けてもよい。
【００３１】
識別子記憶部１３は、通信元の装置、すなわち第１の情報処理装置１を識別する通信元装置識別子を記憶している。なお、識別子記憶部１３は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現され得る。識別子記憶部１３での記憶は、外部のストレージデバイス等から読み出した通信元装置識別子のＲＡＭ等における一時的な記憶でもよく、あるいは、ＲＯＭ等における長期的な記憶でもよい。
【００３２】
なお、本実施の形態では、第１の情報処理装置１を基準として第１の情報処理装置１を通信元とし、第２の情報処理装置２を通信先としているために、第１の情報処理装置１を識別する装置識別子を通信元装置識別子と呼び、第２の情報処理装置２を識別する装置識別子を通信先装置識別子と呼ぶこととするが、通信先、通信元というのは便宜上のものであって、例えば、第２の情報処理装置２を基準とする場合には、通信元、通信先が入れ替わってもよい。例えば、第１の情報処理装置を識別する装置識別子を通信先装置識別子と呼んでもよい。
【００３３】
また、この通信先装置識別子、および通信元装置識別子は、互いに異なるものであり、例えば、ＭＡＣアドレスや、ＥＵＩ６４ベースのアドレスなどのＧＵＩＤ（Ｇｌｏｂａｌ  Ｕｎｉｑｕｅ  ＩＤ）などを用いてもよい。
【００３４】
アドレス決定部１４は、識別子受付部１２が受け付けた通信先装置識別子と、識別子記憶部１３が記憶している通信元装置識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレス（仮想インターフェース・アドレスや、トンネルモード・アドレスと言われることもある）を決定する。このアドレスの決定においては、通信先装置識別子と通信元装置識別子とに基づいて、通信先の装置（すなわち、第２の情報処理装置２）で用いるアドレスと、通信元の装置（すなわち、第１の情報処理装置１）で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。後者の方法としては、例えば、所定のテーブルを用いて行う方法や、通信先装置識別子と通信元装置識別子とを比較し、その比較結果に基づいて行う方法などがある。アドレスを決定する方法の具体例については、後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
【００３５】
アドレス送信部１５は、アドレス決定部１４で決定されたアドレスを送信する。この送信は、第２の情報処理装置２に対して行われてもよく、サーバ４に対して行われてもよく、その他のアドレスを管理する装置に対して行われてもよい。サーバ４等に送信された場合には、そのサーバ４等から、直接的に（例えば、送信によって）、または間接的に（例えば、他のサーバを介しての送信や、記録媒体を介することによって）、第２の情報処理装置２に対してアドレスが渡されてもよい。また、送信の対象となるアドレスは、通信先の装置（すなわち、第２の情報処理装置２）のアドレスのみであってもよく、通信元の装置（すなわち、第１の情報処理装置１）のアドレスを含んでいてもよい。なお、アドレス送信部１５は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、アドレス送信部１５と通信回線３との間に図示しない通信デバイスや、その通信デバイスにデータを渡すソフトウェア等が存在してもよい）。また、アドレス送信部１５は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３６】
図３は、第２の情報処理装置２の構成を示すブロック図である。図３において、第２の情報処理装置２は、アドレス受付部２１と、トンネル通信部２２と、識別子記憶部２３とを備える。
【００３７】
アドレス受付部２１は、トンネル通信における通信対象のデータに対して用いられるアドレスを受け付ける。アドレス受付部２１は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力されたアドレスを受け付けてもよく、有線もしくは無線の通信回線を介して送信されたアドレスを受け付けてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出されたアドレスを受け付けてもよい。本実施の形態では、第１の情報処理装置１から送信されたアドレスを受け付けるものとする。
【００３８】
トンネル通信部２２は、第１の情報処理装置１との間でトンネル通信を行う。そのトンネル通信において、通信対象のデータに対して用いるアドレスとして、アドレス受付部２１が受け付けたアドレスを用いる。その他の構成は、トンネル通信部１１と同様であり、その説明を省略する。
【００３９】
識別子記憶部２３は、通信先の装置、すなわち第２の情報処理装置２を識別する通信先装置識別子を記憶している。なお、識別子記憶部２３は、通信元装置識別子に代えて通信先装置識別子を記憶している以外、第１の情報処理装置１における識別子記憶部１３と同様のものであり、その説明を省略する。
【００４０】
サーバ４は、第１の情報処理装置１と、第２の情報処理装置２との間におけるトンネル通信の確立に関する処理を行う。例えば、第１の情報処理装置１に第２の情報処理装置２のアドレスを通知する。
【００４１】
次に、本実施の形態による通信システムの動作、特に第１の情報処理装置１においてアドレスを決定する動作について説明する。図４は、第１の情報処理装置１におけるアドレスを決定する動作を示すフローチャートである。
【００４２】
（ステップＳ１０１）識別子受付部１２は、通信先装置識別子を受け付けたかどうか判断する。そして、通信先装置識別子を受け付けた場合には、その通信先装置識別子をアドレス決定部１４に渡してステップＳ１０２に進み、そうでない場合には、ステップＳ１０１の動作を繰り返す。
【００４３】
（ステップＳ１０２）アドレス決定部１４は、識別子記憶部１３が記憶している通信元装置識別子と、識別子受付部１２が受け付けた通信先装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。そして、その決定したアドレスをトンネル通信部１１と、アドレス送信部１５とに渡す。
【００４４】
（ステップＳ１０３）アドレス送信部１５は、アドレス決定部１４が決定したアドレスを、第２の情報処理装置２に送信する。そして、ステップＳ１０１に戻る。
【００４５】
なお、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部１２が通信先装置識別子を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、トンネル通信部１１が第２の情報処理装置２とトンネル通信を開始するタイミングで、それまでに受け付けられている通信先装置識別子を用いてアドレスを決定してもよい。
【００４６】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成について、図５を用いて説明する。図５は、カプセル化される前の通信対象のデータ（図５Ａ）と、カプセル化された後のデータ（図５Ｂ）との一例を示す図である。
【００４７】
図５Ａにおいて、通信対象のデータには、ＩＰヘッダ１０１と、ＴＣＰ／ＵＤＰヘッダ１０２と、ペイロード１０３とが含まれている。ＩＰヘッダ１０１で用いられるＩＰアドレスとして、アドレス決定部１４が決定したアドレスが用いられる。ＴＣＰ／ＵＤＰヘッダ１０２は、ＴＣＰのヘッダであってもよく、ＵＤＰのヘッダであってもよい。ペイロード１０３に、通信対象のデータそのもの、すなわち、第１の情報処理装置１や第２の情報処理装置２等のアプリケーションソフトが実際に利用したい情報が含まれている。
【００４８】
図５Ｂは、図５Ａで示されるオリジナルパケット（通信対象のデータ）をＵＤＰカプセル化したデータを示す図である。図５Ｂでは、オリジナルパケットに対して管理ヘッダ（ＸＸヘッダ２０３）とトレーラ（ＸＸトレーラ２０４）を付加することによって、オリジナルパケットを暗号化し、ＵＤＰヘッダ２０２、ＩＰヘッダ２０１を付加することによってカプセル化を行っている。ＩＰヘッダ２０１で用いられるＩＰアドレスは、第１の情報処理装置１、および第２の情報処理装置２のＩＰアドレスである。
【００４９】
次に、第１の情報処理装置１と、第２の情報処理装置２との間での通信を開始するまでのアドレスを取得する処理等について説明する。この具体例において、第１の情報処理装置１のＩＰアドレスは「２０２．１３２．１０．６」であり、通信元装置識別子は「１２３４５６７８」であるとする。また、第２の情報処理装置２のＩＰアドレスは「１３１．２０６．１０．２４０」であり、通信先装置識別子は「９８７６５４３２」であるとする。また、サーバ４のＩＰアドレスは、「１５５．３２．１０．１０」であるとする。
【００５０】
第１の情報処理装置１におけるトンネル通信部１１は、あらかじめサーバ４のＩＰアドレスを保持しているものとする。そして、トンネル通信部１１は、識別子記憶部１３で記憶されている通信元装置識別子「１２３４５６７８」を、そのサーバ４のＩＰアドレス「１５５．３２．１０．１０」に対して送信する。すると、その通信元装置識別子がサーバ４において受信される。また、サーバ４は、送信された通信元装置識別子のヘッダから、第１の情報処理装置１のＩＰアドレス「２０２．１３２．１０．６」を取得する。サーバ４は、その第１の情報処理装置１のＩＰアドレス「２０２．１３２．１０．６」と、通信元装置識別子「１２３４５６７８」とを対応付けて保持しておく。
【００５１】
同様にして、第２の情報処理装置２におけるトンネル通信部２２もサーバ４に対して、識別子記憶部２３で記憶されている通信先装置識別子「９８７６５４３２」を送信する。その結果、サーバ４は、第２の情報処理装置２のＩＰアドレス「１３１．２０６．１０．２４０」と、通信先装置識別子「９８７６５４３２」とを対応付けて保持しておく。
【００５２】
通信先装置識別子の記録された着脱可能な記録媒体を、ユーザが第１の情報処理装置１の図示しないスロットに装着したとする。すると、その記録媒体に記録された通信先装置識別子「９８７６５４３２」は、識別子受付部１２によって受け付けられ、アドレス決定部１４と、トンネル通信部１１とに渡される（ステップＳ１０１）。
【００５３】
トンネル通信部１１は、識別子受付部１２から受け取った通信先装置識別子「９８７６５４３２」と、その通信先装置識別子で識別される装置のＩＰアドレスを送信する旨の指示とをサーバ４に送信する。すると、サーバ４はそれらを受信し、通信先装置識別子「９８７６５４３２」に対応する、保持しているＩＰアドレス「１３１．２０６．１０．２４０」を第１の情報処理装置１に送信する。
【００５４】
第１の情報処理装置１におけるトンネル通信部１１は、第２の情報処理装置２のＩＰアドレス「１３１．２０６．１０．２４０」をサーバ４から受け付けると、そのＩＰアドレスを保持しておく。
【００５５】
アドレス決定部１４は、識別子受付部１２から通信先装置識別子を受け取ると、識別子記憶部１３で記憶されている通信元装置識別子を読み出し、通信先装置識別子と、通信元装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるＩＰアドレスを決定する。具体的には、アドレス決定部１４は、例えば、下記の３つの方法のいずれかによってアドレスを決定する（ステップＳ１０２）。
【００５６】
［関数を用いるアドレス決定方法］
アドレス決定部１４は、アドレスを決定する関数「Ｆｕｎｃ（引数１、引数２）」を有している。そして、引数１に通信元装置識別子「１２３４５６７８」を代入し、引数２に通信先装置識別子「９８７６５４３２」を代入する。その結果、２つのＩＰアドレス「１９２．１６８．０．１」、「１９２．１６８．０．２」が算出される。そして、前者のＩＰアドレス「１９２．１６８．０．１」を第１の情報処理装置１のＩＰアドレスと決定し、後者のＩＰアドレス「１９２．１６８．０．２」を第２の情報処理装置２のＩＰアドレスと決定する。そして、それらをトンネル通信部１１と、アドレス送信部１５に渡す。
【００５７】
［テーブルを用いるアドレス決定方法］
アドレス決定部１４は、図６で示されるテーブルを有している。図６のテーブルは、装置識別子の異なる桁と、ＩＰアドレスとの対応を示すテーブルである。アドレス決定部１４は、通信先装置識別子「９８７６５４３２」と、通信元装置識別子「１２３４５６７８」との最下位の桁の値（「２」と、「８」）に対応するＩＰアドレスを、第１の情報処理装置１、および第２の情報処理装置２のＩＰアドレスとして決定する。この場合には、第１の情報処理装置１のＩＰアドレスは「１９２．１６８．０．８」となり、第２の情報処理装置２のＩＰアドレスは「１９２．１６８．０．２」となる。なお、通信先装置識別子と、通信元装置識別子とで最下位の桁の値が同一の場合（例えば、両者共に「２」の場合など）には、次の桁（１つ上の位の桁）で判断し、その桁の値も同一の場合には、次の桁で判断する。このように、通信先装置識別子と、通信元装置識別子とについて、最下位の桁から順番に比較し、値の異なる桁で図６のテーブルを用いたＩＰアドレスの決定を行う。なお、その決定された第１の情報処理装置１のＩＰアドレス「１９２．１６８．０．８」と、第２の情報処理装置２のＩＰアドレス「１９２．１６８．０．２」とは、トンネル通信部１１と、アドレス送信部１５に渡される。
【００５８】
［装置識別子の大小比較によるアドレス決定方法］
アドレス決定部１４は、装置識別子の小さいほうに対応するＩＰアドレス「１９２．１６８．０．１」と、装置識別子の大きいほうに対応するＩＰアドレス「１９２．１６８．０．２」を有している。そして、通信先装置識別子「９８７６５４３２」と、通信元装置識別子「１２３４５６７８」とを比較し、その大きいほうに対してＩＰアドレス「１９２．１６８．０．２」を割り当て、小さいほうに対してＩＰアドレス「１９２．１６８．０．１」を割り当てる。その結果、第１の情報処理装置１のＩＰアドレスは「１９２．１６８．０．１」と決定され、第２の情報処理装置２のＩＰアドレスは「１９２．１６８．０．２」と決定される。アドレス決定部１４は、それらの決定したアドレスをトンネル通信部１１と、アドレス送信部１５に渡す。
【００５９】
なお、ここでは、装置識別子の大小を比較する場合について説明したが、それ以外の比較を所定のアルゴリズムによって行い、その比較結果に基づいて、あらかじめ決められている複数（通常は２個）のアドレスから選択することによってアドレスの決定を行ってもよい。例えば、最下位の桁（両者の最下位の桁の値が等しい場合には、最下位の桁に近い値の異なる桁）の値の大小の比較を行い、その比較結果に応じて、アドレスを選択してもよい。また、例えば、装置識別子がアルファベットや平仮名等である場合には、いわゆる辞書における言葉の並び順で、どちらの装置識別子が「Ａ」や「あ」に近いか（すなわち、辞書において前のほうに載っているか）に関する比較の結果に基づいて、アドレスの決定を行ってもよい。
【００６０】
また、上記具体例では、３通りのアドレス決定方法について説明したが、アドレス決定部１４は、２つの装置識別子に基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。例えば、テーブルを用いる代わりに、通信元装置識別子の最下位の桁の値と、通信先装置識別子の最下位の桁の値とを所定の関数に代入することにより、ＩＰアドレスを算出してもよい。
【００６１】
アドレス送信部１５は、アドレス決定部１４によって決定された第１の情報処理装置１のＩＰアドレス（１９２．１６８．０．１であるとする）と、第２の情報処理装置２のＩＰアドレス（１９２．１６８．０．２であるとする）とを、トンネル通信部１１で保持されている第２の情報処理装置２のＩＰアドレス「１３１．２０６．１０．２４０」に対して送信する（ステップＳ１０３）。その結果、それらのＩＰアドレスが第２の情報処理装置２におけるアドレス受付部２１で受け付けられ、トンネル通信部２２に渡される。ここで、送信されるＩＰアドレスは、第１の情報処理装置１のＩＰアドレスであるのか、第２の情報処理装置２のＩＰアドレスであるのかが、第２の情報処理装置２においてわかるような形態で送信されるものとする。例えば、送信されるＩＰアドレスの順番によって、対応する情報処理装置が規定されていてもよく、ＩＰアドレスに対応付けて情報処理装置を識別する情報やフラグ等が送信され、その情報処理装置を識別する情報等によって、対応する情報処理装置が規定されてもよい。
【００６２】
また、トンネル通信部１１は、第１の情報処理装置１のＩＰアドレス「１９２．１６８．０．１」と、第２の情報処理装置２のＩＰアドレス「１９２．１６８．０．２」とをアドレス決定部１４から受け取ると、それらのアドレスを用いてトンネル通信を行う。すなわち、図５で示されるＩＰヘッダ１０１において、通信元（すなわち、第１の情報処理装置１）のＩＰアドレスとして「１９２．１６８．０．１」を用い、通信先（すなわち、第２の情報処理装置２）のＩＰアドレスとして「１９２．１６８．０．２」を用いる。なお、その通信対象のデータをカプセル化した後のパケット（図５Ｂで示されるもの）のＩＰヘッダ２０１においては、通信先のＩＰアドレスとして「１３１．２０６．１０．２４０」を用い、通信元のＩＰアドレスとして「２０２．１３２．１０．６」を用いる。また、第２の情報処理装置２でも、ＩＰヘッダ１０１において、第１の情報処理装置１のＩＰアドレスとして「１９２．１６８．０．１」を用い、第２の情報処理装置２のＩＰアドレスとして「１９２．１６８．０．２」を用いる。また、ＩＰヘッダ２０１において、通信先（すなわち、第２の情報処理装置２）のＩＰアドレスとして「１３１．２０６．１０．２４０」を用い、通信元（すなわち、第１の情報処理装置１）のＩＰアドレスとして「２０２．１３２．１０．６」を用いる。このようにして、第１の情報処理装置１と第２の情報処理装置２との間での通信が行われる。
【００６３】
なお、この具体例では、ＵＤＰトンネル通信を行う場合について説明したが、トンネル通信はこれに限定されるものではなく、上述のように、ＨＴＴＰトンネル通信等であってもよい。また、データ構造も図５に限定されるものではない。
【００６４】
以上のように、本実施の形態による通信システムでは、通信先装置識別子と、通信元装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することで、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、サーバ等への問い合わせが必要でないため、アドレスの決定を短時間で行うことができる。また、トンネル通信でカプセル化される通信対象データに対して用いるアドレスは、通信回線３における通信で用いられるものではないため、異なるトンネル通信（通信元の情報処理装置と通信先の情報処理装置との組の異なるトンネル通信）に関しては、同一のアドレスを用いることが可能であり、ＤＨＣＰやＡｕｔｏＩＰを用いた場合のような割り当てアドレスの上限がないというメリットがある。
【００６５】
なお、本実施の形態では、第１の情報処理装置１がアドレス送信部１５を備えた構成について説明したが、第１の情報処理装置１は、アドレス送信部１５に代えて、アドレス決定部１４が決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやＦＡＸ等によって第２の情報処理装置２のユーザに通知することによって、第２の情報処理装置２において設定されてもよい。
【００６６】
（実施の形態２）
本発明の実施の形態２による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【００６７】
本実施の形態による通信システムは、図１と同様であるとする。ただし、第１の情報処理装置１が第１の情報処理装置１ａに対応し、第２の情報処理装置２が第２の情報処理装置２ａに対応するものとする。図７は、本実施の形態による第１の情報処理装置１ａの構成を示すブロック図である。本実施の形態による第１の情報処理装置１ａは、トンネル通信部１１と、識別子受付部１２と、識別子記憶部１３と、アドレス決定部１４とを備える。なお、トンネル通信部１１、識別子受付部１２、識別子記憶部１３、アドレス決定部１４は、実施の形態１と同様のものであり、その説明を省略する。
【００６８】
図８は、本実施の形態による第２の情報処理装置２ａの構成を示すブロック図である。本実施の形態による第２の情報処理装置２ａは、識別子記憶部２３と、トンネル通信部２４と、識別子受付部２５と、アドレス決定部２６とを備える。なお、識別子記憶部２３は、実施の形態１と同様のものであり、その説明を省略する。また、トンネル通信部２４、識別子受付部２５、アドレス決定部２６は、それぞれ実施の形態１におけるトンネル通信部１１、識別子受付部１２、アドレス決定部１４と同様のものであり、その説明を省略する。
【００６９】
また、本実施の形態における第１の情報処理装置１ａにおけるアドレスを決定する動作は、ステップＳ１０３におけるアドレスの送信処理を行わない以外、実施の形態１における図４で示されるものと同様であり、その説明を省略する。また、本実施の形態における第２の情報処理装置２ａにおけるアドレスを決定する動作も、ステップＳ１０１において通信先装置識別子の代わりに、通信元装置識別子を受け付けたかどうかを判断し、ステップＳ１０３におけるアドレスの送信処理を行わない以外、実施の形態１における図４で示されるものと同様であり、その説明を省略する。
【００７０】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例において、トンネル通信におけるデータ構造は、図５と同様であるとする。また、この具体例における第１の情報処理装置１ａ等のＩＰアドレスや装置識別子等は、実施の形態１と同様であるとする。
【００７１】
まず、第１の情報処理装置１ａと、第２の情報処理装置２ａとが通信を開始するまでのアドレスを取得する処理等について説明する。第１の情報処理装置１ａ、および第２の情報処理装置２ａが、それぞれの装置識別子をサーバ４に送信し、その結果、サーバ４において、第１の情報処理装置１ａのＩＰアドレス「２０２．１３２．１０．６」と、通信元装置識別子「１２３４５６７８」とが対応付けて保持され、第２の情報処理装置２ａのＩＰアドレス「１３１．２０６．１０．２４０」と、通信先装置識別子「９８７６５４３２」とが対応付けられて保持される動作は、実施の形態１の具体例と同様であり、その説明を省略する。
【００７２】
次に、通信装置識別子の記録された着脱可能な記録媒体が第１の情報処理装置１ａの図示しないスロットに装着され、第１の情報処理装置１ａにおいて、トンネル通信における通信対象のデータに対して用いられるＩＰアドレスが決定されるまでの動作も、実施の形態１の具体例と同様であり、その説明を省略する。
【００７３】
ここで、サーバ４から第１の情報処理装置１ａに第２の情報処理装置２ａのＩＰアドレスが送信されると共に、サーバ４は、第２の情報処理装置２ａに対しても、第１の情報処理装置１ａの通信元装置識別子を送信するとする。すると、その通信元装置識別子「１２３４５６７８」は、第２の情報処理装置２ａのトンネル通信部２４を介して識別子受付部２５で受け付けられる。そして、識別子受付部２５は、通信元装置識別子を受け付けたと判断し（ステップＳ１０１）、アドレスの決定処理を行う（ステップＳ１０２）。このアドレスの決定処理は、実施の形態１における具体例と同様にして行われ、第１の情報処理装置１ａのアドレス決定部１４で決定されたアドレスと、同様のアドレスが決定される。例えば、第１の情報処理装置１ａのアドレスが「１９２．１６８．０．１」と決定され、第２の情報処理装置２ａのアドレスが「１９２．１６８．０．２」と決定される。
【００７４】
ただし、関数を用いてアドレスを決定する場合には、アドレス決定部２６は、関数「Ｆｕｎｃ（引数１、引数２）」において、引数１に第２の情報処理装置２ａの装置識別子である通信先装置識別子「９８７６５４３２」を代入し、引数２に第１の情報処理装置１ａの装置識別子である通信元装置識別子「１２３４５６７８」を代入する。また、この関数は、引数１と引数２が入れ替えられると、算出結果のＩＰアドレスも逆の順番となるような関数であるとする。すると、２つのＩＰアドレス「１９２．１６８．０．２」、「１９２．１６８．０．１」が算出され、前者のＩＰアドレスを第２の情報処理装置２ａのアドレスと決定し、後者のＩＰアドレスを第１の情報処理装置１ａのアドレスと決定することで、アドレス決定部１４と同様のアドレス決定がなされることとなる。
【００７５】
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態１の具体例と同様であり、その説明を省略する。
【００７６】
以上のように、本実施の形態による通信システムでは、通信先装置識別子と、通信元装置識別子に基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなる。
【００７７】
また、通信先装置識別子と、通信元装置識別子を用いてアドレスを決定するという、決定的アルゴリズムによってアドレスの決定を行っているため、各情報処理装置でアドレスの決定を行ったとしても、そのアドレスに矛盾が生じないようにすることができる。具体的には、第１の情報処理装置１ａで決定した第１の情報処理装置１ａおよび第２の情報処理装置２ａのアドレスと、第２の情報処理装置２ａで決定した第１の情報処理装置１ａおよび第２の情報処理装置２ａのアドレスとが整合しない事態を回避することができる。
【００７８】
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第１の情報処理装置１ａにおいて第１の情報処理装置のアドレスのみを決定し、第２の情報処理装置２ａにおいて第２の情報処理装置のアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
【００７９】
（実施の形態３）
本発明の実施の形態３による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
【００８０】
図９は、本実施の形態による通信システムの構成を示す図である。図９において、本実施の形態による通信システムは、通信回線３で互いに接続されている第１の情報処理装置５と、第２の情報処理装置６と、サーバ７とを備える。
【００８１】
第１の情報処理装置５は、アドレス受付部５１と、トンネル通信部５２とを備える。
【００８２】
アドレス受付部５１は、第１の情報処理装置５と、第２の情報処理装置６との間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスを受け付ける。アドレス受付部５１は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力されたアドレスを受け付けてもよく、有線もしくは無線の通信回線を介して送信されたアドレスを受け付けてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出されたアドレスを受け付けてもよい。本実施の形態では、サーバ７から通信回線３を介して送信されたアドレスを受け付けるものとする。
【００８３】
トンネル通信部５２は、第１の情報処理装置５と、第２の情報処理装置６との間でトンネル通信を行う。トンネル通信部５２は、第１の情報処理装置５を識別する第１の装置識別子と、第２の情報処理装置６を識別する第２の装置識別子とを保持しているものとする。第２の装置識別子は、例えば、入力デバイスから入力されたものであってもよく、所定の通信回線を介して送信されたものであってもよく、所定の記録媒体から読み出したものであってもよい。なお、これ以外のトンネル通信部５２の構成は、第１の装置識別子が通信元装置識別子に対応し、第２の装置識別子が通信先装置識別子に対応する以外、実施の形態１におけるトンネル通信部１１と同様であり、その説明を省略する。
【００８４】
第２の情報処理装置６は、アドレス受付部６１と、トンネル通信部６２とを備える。このアドレス受付部６１、トンネル通信部６２は、それぞれアドレス受付部５１、トンネル通信部５２と同様のものであり、その説明を省略する。なお、トンネル通信部６２は、第１の装置識別子を保持していなくてもよい。
【００８５】
サーバ７は、実施の形態１におけるサーバ４と同様に、第１の情報処理装置５と第２の情報処理装置６との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部７１と、識別子受付部７２と、アドレス決定部７３と、アドレス送信部７４とを備える。
【００８６】
通信制御部７１は、第１の情報処理装置５と、第２の情報処理装置６との間でのトンネル通信を確立させるための処理等を行う。より具体的には、第１の情報処理装置５に対して、第２の情報処理装置６のアドレスを送信する等の処理を行う。
【００８７】
識別子受付部７２は、第１の装置識別子と、第２の装置識別子とを受け付ける。識別子受付部７２は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力された第１の装置識別子等を受け付けてもよく、有線もしくは無線の通信回線を介して送信された第１の装置識別子等を受け付けてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出された第１の装置識別子等を受け付けてもよい。本実施の形態では、通信制御部７１から渡された第１の装置識別子等を受け付けるものとする。
【００８８】
アドレス決定部７３は、識別子受付部７２が受け付けた第１の装置識別子と、第２の装置識別子とに基づいて、第１の情報処理装置５の第１のアドレスと、第２の情報処理装置６の第２のアドレスとを決定する。それらのアドレスは、トンネル通信における通信対象のデータに対して用いるものである。アドレスの決定方法については、実施の形態１におけるアドレス決定部１４と同様であり、その説明を省略する。
【００８９】
アドレス送信部７４は、アドレス決定部７３が決定した第１のアドレス、および第２のアドレスを、第１の情報処理装置５と、第２の情報処理装置６とに送信する。この送信は、第１の情報処理装置５等に直接的になされてもよく、あるいは、所定のサーバ等を介することにより、間接的になされてもよい。
【００９０】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図１０は、サーバ７におけるアドレスを決定する動作を示すフローチャートである。
【００９１】
（ステップＳ２０１）識別子受付部７２は、第１の装置識別子、および第２の装置識別子を受け付けたかどうか判断する。そして、それらの識別子を受け付けた場合には、それらの識別子をアドレス決定部７３に渡してステップＳ２０２に進み、そうでない場合には、それらを受け付けるまでステップＳ２０１の処理を繰り返す。
【００９２】
（ステップＳ２０２）アドレス決定部７３は、識別子受付部７２から受け取った第１の装置識別子と、第２の装置識別子に基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。そして、その決定したアドレスをアドレス送信部７４に渡す。
【００９３】
（ステップＳ２０３）アドレス送信部７４は、アドレス決定部７３が決定した２つのアドレスを、第１の情報処理装置５、および第２の情報処理装置６に送信する。そして、ステップＳ１０１に戻る。
【００９４】
なお、図１０のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部７２が第１の装置識別子等を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、第１の情報処理装置５と第２の情報処理装置６とがトンネル通信を開始するタイミングで、それまでに識別子受付部７２で受け付けられている第１の装置識別子等を用いてアドレスを決定してもよい。
【００９５】
また、図１０のフローチャートでは、第１の装置識別子と、第２の装置識別子とをステップＳ２０１において同時に受け付ける場合について説明しているが、それらの装置識別子は、同時に受け付けてもよく、あるいは、別々のタイミングで受け付けてもよい。ただし、両者の装置識別子が受け付けられた後に、アドレスの決定がなされるのは、図１０のフローチャートと同様である。
【００９６】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例において、トンネル通信におけるデータ構成は、図５と同様であるとする。また、第１の情報処理装置５のＩＰアドレスは「２０２．１３２．１０．６」であり、第１の装置識別子は「１２３４５６７８」であるとする。また、第２の情報処理装置６のＩＰアドレスは「１３１．２０６．１０．２４０」であり、第２の装置識別子は「９８７６５４３２」であるとする。また、サーバ７のＩＰアドレスは、「１５５．３２．１０．１０」であるとする。
【００９７】
第１の情報処理装置５におけるトンネル通信部５２は、あらかじめサーバ７のＩＰアドレスを保持しているものとする。そして、トンネル通信部５２は、保持している第１の装置識別子「１２３４５６７８」を、そのサーバ７のＩＰアドレス「１５５．３２．１０．１０」に対して送信する。すると、その第１の装置識別子がサーバ７の通信制御部７１で受信される。そして、その第１の装置識別子のヘッダから、第１の情報処理装置５のＩＰアドレス「２０２．１３２．１０．６」が取得される。通信制御部７１は、その第１の情報処理装置５のＩＰアドレスと、第１の装置識別子とを対応付けて保持しておく。
【００９８】
同様にして、第２の情報処理装置６におけるトンネル通信部６２もサーバ７に対して、第２の装置識別子「９８７６５４３２」を送信する。その結果、通信制御部７１において、図１１で示されるように、装置識別子と、ＩＰアドレスとの対応付けられた情報であるアドレス識別子対応情報が保持されることとなる。
【００９９】
次に、第１の情報処理装置５のトンネル通信部５２は、第２の情報処理装置６を識別する第２の装置識別子と、第２の情報処理装置６とトンネル通信を行いたい旨とをサーバ７に送信する。すると、それらは通信制御部７１において受信される。通信制御部７１は、第１の情報処理装置５から送信されたパケットのヘッダから第１の情報処理装置５のＩＰアドレスを取得し、図１１で示されるアドレス識別子対応情報を参照し、第１の情報処理装置５の第１の装置識別子「１２３４５６７８」を取得する。また、通信制御部７１は、アドレス識別子対応情報を参照し、第１の情報処理装置５から送信された第２の装置識別子「９８７６５４３２」に対応するＩＰアドレス「１３１．２０６．１０．２４０」を取得する。そして、通信制御部７１は、第１の装置識別子「１２３４５６７８」と、第２の装置識別子「９８７６５４３２」とを識別子受付部７２に渡すと共に、第２の情報処理装置６のＩＰアドレス「１３１．２０６．１０．２４０」を第１の情報処理装置５に送信する。
【０１００】
識別子受付部７２は、通信制御部７１から第１の装置識別子「１２３４５６７８」と、第２の装置識別子「９８７６５４３２」とを受け付けると（ステップＳ２０１）、それらをアドレス決定部７３に渡す。アドレス決定部７３は、それらの装置識別子を受け取り、その装置識別子に基づいてアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部７４に渡す（ステップＳ２０２）。このアドレス決定方法は実施の形態１における具体例と同様であり、その説明を省略する。
【０１０１】
アドレス送信部７４は、アドレス決定部７３から装置識別子「１２３４５６７８」と、それに対応したＩＰアドレス「１９２．１６８．０．１」との組と、装置識別子「９８７６５４３２」と、それに対応したＩＰアドレス「１９２．１６８．０．２」との組を受け取ると、通信制御部７１で保持されているアドレス識別子対応情報を参照し、それぞれのＩＰアドレスに対応した情報処理装置のＩＰアドレスを取得する。そして、アドレス送信部７４は、装置識別子とＩＰアドレスとの２つの組を第１の情報処理装置５のＩＰアドレス「２０２．１３２．１０．６」、および第２の情報処理装置６のＩＰアドレス「１３１．２０６．１０．２４０」に対して送信する。
【０１０２】
アドレス受付部５１は、それらの組を受け付けると、それらをトンネル通信部５２に渡す。トンネル通信部５２は、通信制御部７１から送信された第２の情報処理装置６のＩＰアドレスを受信する。また、アドレス受付部５１で受け付けられたＩＰアドレスと装置識別子との組を受け取る。そして、第１の情報処理装置５の第１の装置識別子「１２３４５６７８」に対応したＩＰアドレス「１９２．１６８．０．１」を、ＩＰヘッダ１０１における通信元（すなわち、第１の情報処理装置５）のＩＰアドレスとして用い、第２の情報処理装置６の第２の装置識別子「９８７６５４３２」に対応したＩＰアドレス「１９２．１６８．０．２」を、ＩＰヘッダ１０１における通信先（すなわち、第２の情報処理装置６）のＩＰアドレスとして用いる。そして、そのデータをカプセル化し、図５Ｂで示されるＵＤＰパケットを構成して、そのパケットを第２の情報処理装置６に対して送信することによってトンネル通信を開始する。
【０１０３】
第２の情報処理装置６におけるアドレス受付部６１も、ＩＰアドレスと装置識別子との組を受け付け、それらをトンネル通信部６２に渡す。トンネル通信部６２は、第２の情報処理装置６の第２の装置識別子に対応するＩＰアドレスを、トンネル通信における通信対象のデータについて、第２の情報処理装置６側のＩＰアドレスとして用いる。このようにして、第１の情報処理装置５と、第２の情報処理装置６との間でトンネル通信が行われる。
【０１０４】
以上のように、本実施の形態による通信システムでは、サーバ７が、通信先装置識別子と、通信元装置識別子とに基づいて、第１の情報処理装置５、および第２の情報処理装置６の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
【０１０５】
なお、本実施の形態では、アドレス送信部７４がアドレス決定部７３によって決定されたアドレスを送信する場合について説明したが、アドレス送信部７４に代えて、アドレス決定部７３によって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ７の管理者がそのアドレスを電子メールやＦＡＸ等によって第１の情報処理装置５のユーザや第２の情報処理装置６のユーザに通知することによって、第１の情報処理装置５や、第２の情報処理装置６において設定されてもよい。
【０１０６】
また、本実施の形態では、サーバ７のアドレス送信部７４が、第２の情報処理装置６にアドレス決定部７３が決定した２つのアドレスを送信する場合について説明したが、アドレス送信部７４は、第２の情報処理装置６に第２の情報処理装置６のアドレス「１９２．１６８．０．２」のみを送信してもよい。この場合には、第２の情報処理装置６は、第１の情報処理装置５から送信されたカプセル化された通信対象のデータのヘッダから第１の情報処理装置５のアドレスを取得することができる。
【０１０７】
また、本実施の形態では、サーバ７から第１の情報処理装置５のアドレスと、第２の情報処理装置６のアドレスとの両方を送信する場合について説明したが、サーバ７は、まず第１の情報処理装置５に対しては、第１の情報処理装置５のアドレス「１９２．１６８．０．１」を送信し、第２の情報処理装置６に対しては、第２の情報処理装置６のアドレス「１９２．１６８．０．２」を送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ７がその相手方のアドレスを送信するようにしてもよい。
【０１０８】
（実施の形態４）
本発明の実施の形態４による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発行側であるのか、着呼側であるのかの判断結果によって、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【０１０９】
本実施の形態による通信システムは、図１と同様であるとする。ただし、第１の情報処理装置１が第１の情報処理装置１ｂに対応し、第２の情報処理装置２が第２の情報処理装置２ｂに対応するものとする。
【０１１０】
図１２は、本実施の形態による第１の情報処理装置１ｂの構成を示すブロック図である。本実施の形態による第１の情報処理装置１ｂは、トンネル通信部１１と、アドレス決定部１４ｂと、アドレス送信部１５と、判断部１６とを備える。なお、トンネル通信部１１、アドレス送信部１５は、実施の形態１と同様のものであり、その説明を省略する。また、本実施の形態による第１の情報処理装置１ｂでは、識別子記憶部を明記していないが、第１の情報処理装置１ｂの装置識別子は、トンネル通信部１１のアクセス可能な記録媒体において記憶されているものとする。
【０１１１】
アドレス決定部１４ｂは、判断部１６による判断結果に基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。このアドレスの決定においては、判断部１６による判断結果に基づいて、通信先の装置（例えば、第２の情報処理装置２ｂ）で用いるアドレスと、通信元の装置（例えば、第１の情報処理装置１ｂ）で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
【０１１２】
判断部１６は、トンネル通信において、第１の情報処理装置１ｂが発呼側か着呼側かを判断する。この判断では、結果として第１の情報処理装置１ｂが発呼側であるのか、着呼側であるのかが判断されればよい。すなわち、通信相手の装置である第２の情報処理装置２ｂが発呼側か着呼側かを判断することによって、第１の情報処理装置１ｂが発呼側か着呼側かを判断してもよい。また、第１の情報処理装置１ｂ、および第２の情報処理装置２ｂの両方に関しての判断を行ってもよい。ここで、発呼側、着呼側というのは、トンネル通信のトンネルのプロトコル（すなわち、通信対象のデータを包み込むプロトコル）の通信における発呼側、着呼側であってもよく、トンネル通信における通信対象のデータ（すなわち、カプセル化の対象となるデータ）の通信における発呼側、着呼側であってもよい。本実施の形態では、前者の場合について説明する。また、発呼側とは、通信を開始する側のことであり、着呼側とは、発呼側の情報処理装置からの発呼に応じて通信を行う側のことである。
【０１１３】
図１３は、本実施の形態による第２の情報処理装置２ｂの構成を示すブロック図である。本実施の形態による第２の情報処理装置２ｂは、アドレス受付部２１と、トンネル通信部２２とを備える。なお、アドレス受付部２１、トンネル通信部２２は、実施の形態１と同様のものであり、その説明を省略する。なお、本実施の形態による第２の情報処理装置２ｂでは、識別子記憶部を明記していないが、第２の情報処理装置２ｂの装置識別子は、トンネル通信部２２のアクセス可能な記録媒体において記憶されているものとする。
【０１１４】
次に、本実施の形態による通信システムの動作、特に第１の情報処理装置１ｂにおいてアドレスを決定する動作について説明する。図１４は、第１の情報処理装置１ｂにおけるアドレスを決定する動作を示すフローチャートである。
【０１１５】
（ステップＳ３０１）トンネル通信部１１は、トンネル通信を開始するかどうか判断する。このトンネル通信の開始には、第１の情報処理装置１ｂが積極的にトンネル通信を開始する場合と、他の装置（ここでは、第２の情報処理装置２ｂ）からのトンネル通信の要求に応じて、トンネル通信を開始する場合とがある。いずれであっても、トンネル通信部１１は、トンネル通信を開始すると判断する。そして、トンネル通信を開始する場合には、ステップＳ３０２に進み、そうでない場合には、トンネル通信を開始するまで、ステップＳ３０１の処理を繰り返す。
【０１１６】
（ステップＳ３０２）判断部１６は、第１の情報処理装置１ｂが発呼側か着呼側かの判断を行う。
【０１１７】
（ステップＳ３０３）アドレス決定部１４ｂは、判断部１６による判断結果に基づいて、すなわち、第１の情報処理装置１ｂが発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。
【０１１８】
（ステップＳ３０４）アドレス送信部１５は、アドレス決定部１４ｂが決定したアドレスを、第２の情報処理装置２ｂに送信する。そして、ステップＳ３０１に戻る。
【０１１９】
なお、図１４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
【０１２０】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態１の図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態１の具体例と同様であるとする。また、第１の情報処理装置１ｂ、第２の情報処理装置２ｂがそれぞれ、ＩＰアドレスと、装置識別情報とをサーバ４に登録する処理は、実施の形態１と同様であり、その説明を省略する。
【０１２１】
通信先装置識別子の記録された着脱可能な記録媒体が、第１の情報処理装置１ｂに装着され、その記録媒体に記憶されている通信先装置識別子「９８７６５４３２」が図示しない受付部によって受け付けられ、トンネル通信部１１に渡されたとする。
【０１２２】
すると、トンネル通信部１１は、トンネル通信を開始すると判断し（ステップＳ３０１）、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のＩＰアドレスを送信する旨の指示とをサーバ４に送信する。すると、サーバ４はそれらを受信し、通信先装置識別子「９８７６５４３２」に対応する、保持しているＩＰアドレス「１３１．２０６．１０．２４０」を第１の情報処理装置１ｂに送信する。第１の情報処理装置１ｂのトンネル通信部１１は、第２の情報処理装置２ｂのＩＰアドレス「１３１．２０６．１０．２４０」をサーバ４から受け付けると、そのＩＰアドレスを保持しておく。
【０１２３】
判断部１６は、トンネル通信部１１がトンネル通信のトンネルのプロトコルの通信における発呼側であるため、第１の情報処理装置１ｂが発呼側であると判断する（ステップＳ３０２）。そして、その判断結果をアドレス決定部１４ｂに渡す。
【０１２４】
アドレス決定部１４ｂは、判断部１６から判断結果を受け取ると、その判断結果に基づいて、トンネル通信における通信対象のデータに対して用いるＩＰアドレスを決定する。具体的には、アドレス決定部１４ｂは、例えば、下記の３つの方法のいずれかによってアドレスを決定する（ステップＳ３０３）。
【０１２５】
［発呼側・着呼側によるアドレス決定方法］
アドレス決定部１４ｂは、図１５Ａで示されるテーブルを有している。図１５Ａのテーブルは、発呼側・着呼側を示す情報と、ＩＰアドレスとの対応を示すものである。判断部１６によって第１の情報処理装置１ｂが発呼側であると判断されたため、アドレス決定部１４ｂは、図１５Ａのテーブルを用いて、第１の情報処理装置１ｂのＩＰアドレスを「１９２．１６８．０．１」に決定する。また、第２の情報処理装置２ｂは着呼側であるため、アドレス決定部１４ｂは、第２の情報処理装置２ｂのＩＰアドレスを「１９２．１６８．０．２」に決定する。なお、図１５Ａでは、発呼側・着呼側を示す情報と、ＩＰアドレスとがテーブル形式で対応付けられている場合について示しているが、テーブル形式以外によって発呼側・着呼側を示す情報と、ＩＰアドレスとが対応付けられていてもよい。
【０１２６】
［複数のアドレスからの選択によるアドレス決定方法］
アドレス決定部１４ｂは、図１５Ｂで示されるテーブルを有している。図１５Ｂのテーブルは、発呼側・着呼側を示す情報と、ＩＰアドレスとの対応を示すものである。図１５Ｂのテーブルでは、発呼側・着呼側を示す情報に、それぞれ４個のＩＰアドレスが対応している。したがって、アドレス決定部１４ｂは、その４個のＩＰアドレスから１個のＩＰアドレスを選択するものとする。この選択は、例えば、ランダムになされてもよく、あるいは、順番になされてもよい。この具体例では、判断部１６によって第１の情報処理装置１ｂが発呼側であると判断されたため、アドレス決定部１４ｂは、図１５Ｂのテーブルを用いて、第１の情報処理装置１ｂのＩＰアドレスを「１９２．１６８．０．１」に決定する。また、第２の情報処理装置２ｂは着呼側であるため、アドレス決定部１４ｂは、第２の情報処理装置２ｂのＩＰアドレスを「１９２．１６８．０．２」に決定する。
【０１２７】
［関数を用いたアドレス決定方法］
アドレス決定部１４ｂは、アドレスを決定する関数「Ｆｕｎｃ（引数１）」を有している。そして、発呼側のアドレスを演算する場合には、引数１に「０」を代入する。その結果、ＩＰアドレス「１９２．１６８．０．１」が算出される。このＩＰアドレス「１９２．１６８．０．１」が発呼側の第１の情報処理装置１ｂのＩＰアドレスとなる。一方、着呼側のアドレスを演算する場合には、引数１に「１」を代入する。その結果、ＩＰアドレス「１９２．１６８．０．２」が算出される。このＩＰアドレス「１９２．１６８．０．２」が着呼側の第２の情報処理装置２ｂのＩＰアドレスとなる。
【０１２８】
なお、３通りのアドレス決定方法について説明したが、アドレス決定部１４ｂは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
【０１２９】
アドレス送信部１５は、実施の形態１の具体例と同様に、決定された第１の情報処理装置１ｂのＩＰアドレス「１９２．１６８．０．１」と、第２の情報処理装置２ｂのＩＰアドレス「１９２．１６８．０．２」とを第２の情報処理装置２ｂに送信する（ステップＳ３０４）。その結果、それらのＩＰアドレスが第２の情報処理装置２ｂにおけるアドレス受付部２１で受け付けられ、トンネル通信部２２に渡される。また、トンネル通信部１１は、実施の形態１の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部２２は、アドレス受付部２１で受け付けられたアドレスを用いてトンネル通信を行う。
【０１３０】
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態１と同様のメリットを得ることができる。
【０１３１】
なお、本実施の形態では、第１の情報処理装置１ｂがアドレス送信部１５を備えた構成について説明したが、第１の情報処理装置１ｂは、アドレス送信部１５に代えて、アドレス決定部１４ｂが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやＦＡＸ等によって第２の情報処理装置２ｂのユーザに通知することによって、第２の情報処理装置２ｂにおいて設定されてもよい。
【０１３２】
（実施の形態５）
本発明の実施の形態５による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果に基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【０１３３】
図１６は、本実施の形態による通信システムの構成を示す図である。図１６において、第１の情報処理装置１に代えて第１の情報処理装置１ｃを備え、第２の情報処理装置２に代えて第２の情報処理装置２ｃを備えた以外、実施の形態１における図１の通信システムと同様であり、その説明を省略する。
【０１３４】
図１６において、本実施の形態による第１の情報処理装置１ｃは、トンネル通信部１１と、アドレス決定部１４ｂと、判断部１６とを備える。なお、トンネル通信部１１、アドレス決定部１４ｂ、判断部１６は、実施の形態４と同様のものであり、その説明を省略する。
【０１３５】
図１６において、本実施の形態による第２の情報処理装置２ｃは、トンネル通信部２２と、アドレス決定部２６ｃと、判断部２７とを備える。なお、トンネル通信部２２は、実施の形態４と同様のものである。また、アドレス決定部２６ｃ、判断部２７は、それぞれ実施の形態４におけるアドレス決定部１４ｂ、判断部１６と同様のものであり、その説明を省略する。
【０１３６】
また、第１の情報処理装置１ｃにおけるアドレスを決定する動作は、ステップＳ３０４におけるアドレスの送信処理を行わない以外、実施の形態４における図１４で示されるものと同様であり、その説明を省略する。また、本実施の形態における第２の情報処理装置２ｃにおけるアドレスを決定する動作も、トンネル通信部１１、アドレス決定部１４ｂ、判断部１６が、それぞれトンネル通信部２２、アドレス決定部２６ｃ、判断部２７に対応し、ステップＳ３０４におけるアドレスの送信処理を行わない以外、実施の形態４における図１４で示されるものと同様であり、その説明を省略する。
【０１３７】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。ここで、第１の情報処理装置１ｃが発呼側であり、第２の情報処理装置２ｃが着呼側であるとする。なお、第１の情報処理装置１ｃにおいてＩＰアドレスが決定される動作は、実施の形態４の具体例と同様であり、その説明を省略する。
【０１３８】
サーバ４は、第１の情報処理装置１ｃからの要求に応じて、第２の情報処理装置２ｃのＩＰアドレスを第１の情報処理装置１ｃに送信すると共に、第１の情報処理装置１ｃが第２の情報処理装置２ｃとのトンネル通信を要求している旨を示す情報を第２の情報処理装置２ｃに送信する。
【０１３９】
第２の情報処理装置２ｃのトンネル通信部２２が、そのサーバ４から送信された情報を受信すると、トンネル通信を開始すると判断し（ステップＳ３０１）、判断部２７は、第２の情報処理装置２ｃが着呼側であると判断する（ステップＳ３０２）。その結果、アドレス決定部２６ｃは、実施の形態４における具体例と同様にしてアドレスを決定する（ステップＳ３０３）。ここで、アドレス決定部２６ｃにより、第２の情報処理装置２ｃのＩＰアドレス「１９２．１６８．０．２」が決定され、第１の情報処理装置１ｃのＩＰアドレス「１９２．１６８．０．１」が決定されたとする。
【０１４０】
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態４の具体例と同様であり、その説明を省略する。
【０１４１】
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態２と同様の効果を得ることができる。
【０１４２】
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第１の情報処理装置１ｃにおいて第１の情報処理装置１ｃのアドレスのみを決定し、第２の情報処理装置２ｃにおいて第２の情報処理装置２ｃのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
【０１４３】
（実施の形態６）
本発明の実施の形態６による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果に基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
【０１４４】
図１７は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線３で互いに接続されている第１の情報処理装置５と、第２の情報処理装置６と、サーバ７ｄとを備える。なお、第１の情報処理装置５、第２の情報処理装置６は、実施の形態３と同様のものであり、その説明を省略する。
【０１４５】
サーバ７ｄは、実施の形態１におけるサーバ４と同様に、第１の情報処理装置５と第２の情報処理装置６との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部７１と、アドレス決定部７３ｄと、アドレス送信部７４と、判断部７５とを備える。なお、通信制御部７１、アドレス送信部７４は、実施の形態３と同様のものであり、その説明を省略する。
【０１４６】
アドレス決定部７３ｄは、判断部７５による判断結果に基づいて、第１の情報処理装置５と、第２の情報処理装置６との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第１の情報処理装置５の第１のアドレス、および第２の情報処理装置６の第２のアドレスを決定する。アドレスの決定方法については、実施の形態４のアドレス決定部１４ｂによる方法と同様であり、その説明を省略する。
【０１４７】
判断部７５は、トンネル通信を行う第１の情報処理装置５と、第２の情報処理装置６とのいずれが発呼側であり、着呼側であるのかについて判断する。この判断では、結果として第１の情報処理装置５と、第２の情報処理装置６とが発呼側であるのか、着呼側であるのかが判断されればよい。すなわち、第２の情報処理装置６が発呼側か着呼側かを判断することによって、第１の情報処理装置５が発呼側か着呼側かを判断してもよい。また、第１の情報処理装置５、および第２の情報処理装置６の両方に関しての判断を行ってもよい。
【０１４８】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図１８は、サーバ７ｄにおけるアドレスを決定する動作を示すフローチャートである。
【０１４９】
（ステップＳ４０１）通信制御部７１は、第１の情報処理装置５と、第２の情報処理装置６との間でトンネル通信が開始されるかどうか判断する。そして、トンネル通信が開始される場合には、ステップＳ４０２に進み、そうでない場合には、トンネル通信が開始されるまで、ステップＳ４０１の処理を繰り返す。
【０１５０】
（ステップＳ４０２）判断部７５は、第１の情報処理装置５、第２の情報処理装置６がそれぞれ、発呼側であるのか、着呼側であるのかを判断する。
【０１５１】
（ステップＳ４０３）アドレス決定部７３ｄは、判断部７５による判断結果に基づいて、トンネル通信における通信対象のデータに対して用いる第１の情報処理装置５のアドレスと、第２の情報処理装置６のアドレスとを決定する。
【０１５２】
（ステップＳ４０４）アドレス送信部７４は、アドレス決定部７３ｄが決定した２つのアドレスを、第１の情報処理装置５、第２の情報処理装置６に送信する。そして、ステップＳ４０１に戻る。
【０１５３】
なお、図１８のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１５４】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態３の具体例と同様であるとする。また、第１の情報処理装置５、第２の情報処理装置６がそれぞれ、ＩＰアドレスと、装置識別情報とをサーバ７ｄに登録する処理は、実施の形態３と同様であり、その説明を省略する。
【０１５５】
次に、第１の情報処理装置５のトンネル通信部５２は、第２の情報処理装置６を識別する第２の装置識別子と、第２の情報処理装置６とトンネル通信を行いたい旨とをサーバ７ｄに送信する。すると、それらは通信制御部７１において受信される。通信制御部７１は、トンネル通信を開始すると判断し（ステップＳ４０１）、第１の情報処理装置５から送信されたパケットのヘッダから第１の情報処理装置５のＩＰアドレスを取得し、図１１で示されるアドレス識別子対応情報を参照して、第１の情報処理装置５の装置識別子「１２３４５６７８」を取得する。また、通信制御部７１は、図１１で示されるアドレス識別子対応情報を参照し、第１の情報処理装置５から送信された装置識別子「９８７６５４３２」に対応するＩＰアドレス「１３１．２０６．１０．２４０」を取得する。そして、通信制御部７１は、第２の情報処理装置６のＩＰアドレス「１３１．２０６．１０．２４０」を第１の情報処理装置５に送信する。
【０１５６】
判断部７５は、通信制御部７１が、第１の情報処理装置５から送信された第２の情報処理装置６とトンネル通信を行いたい旨の情報を受信したため、第１の情報処理装置５が発呼側であり、第２の情報処理装置６が着呼側であると判断する（ステップＳ４０２）。そして、判断部７５は、装置識別子「１２３４５６７８」で識別される情報処理装置が発呼側であり、装置識別子「９８７６５４３２」で識別される情報処理装置が着呼側である旨をアドレス決定部７３ｄに渡す。すると、アドレス決定部７３ｄは、その判断結果に基づいてアドレスを決定し、その決定したアドレスを装置識別子と共にアドレス送信部７４に渡す（ステップＳ４０３）。なお、このアドレス決定方法は実施の形態４における具体例と同様であり、その説明を省略する。
【０１５７】
アドレス送信部７４は、アドレス決定部７３ｄから装置識別子「１２３４５６７８」と、それに対応したＩＰアドレス「１９２．１６８．０．１」との組と、装置識別子「９８７６５４３２」と、それに対応したＩＰアドレス「１９２．１６８．０．２」との組を受け取ると、通信制御部７１で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のＩＰアドレスを取得する。そして、その取得したＩＰアドレスを用いて、装置識別子とＩＰアドレスとの２つの組を第１の情報処理装置５のＩＰアドレス「２０２．１３２．１０．６」、および第２の情報処理装置６のＩＰアドレス「１３１．２０６．１０．２４０」に対して送信する（ステップＳ４０４）。この後の処理は、実施の形態３の具体例と同様であり、その説明を省略する。
【０１５８】
以上のように、本実施の形態による通信システムでは、サーバ７ｄが、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、第１の情報処理装置５、および第２の情報処理装置６の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
【０１５９】
なお、本実施の形態では、アドレス送信部７４がアドレス決定部７３ｄによって決定されたアドレスを送信する場合について説明したが、アドレス送信部７４に代えて、アドレス決定部７３ｄによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ７ｄの管理者がそのアドレスを電子メールやＦＡＸ等によって第１の情報処理装置５のユーザや第２の情報処理装置６のユーザに通知することによって、第１の情報処理装置５や、第２の情報処理装置６において設定されてもよい。
【０１６０】
また、本実施の形態では、サーバ７ｄのアドレス送信部７４が、第２の情報処理装置６にアドレス決定部７３ｄが決定した２つのアドレスを送信する場合について説明したが、アドレス送信部７４は、第２の情報処理装置６に第２の情報処理装置６のアドレス「１９２．１６８．０．２」のみを送信してもよい。この場合には、第２の情報処理装置２ｄは、第１の情報処理装置５から送信されたカプセル化された通信対象のデータのヘッダから第１の情報処理装置５のアドレスを取得することができる。
【０１６１】
また、本実施の形態では、サーバ７ｄから第１の情報処理装置５のアドレスと、第２の情報処理装置６のアドレスとの両方を送信する場合について説明したが、サーバ７ｄは、まず第１の情報処理装置５に対しては、第１の情報処理装置５のアドレス「１９２．１６８．０．１」を送信し、第２の情報処理装置６に対しては、第２の情報処理装置６のアドレス「１９２．１６８．０．２」を送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ７ｄがその相手方のアドレスを送信するようにしてもよい。
【０１６２】
（実施の形態７）
本発明の実施の形態７による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置の装置識別子と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【０１６３】
本実施の形態による通信システムは、図１と同様であるとする。ただし、第１の情報処理装置１が第１の情報処理装置１ｅに対応し、サーバ４がサーバ４ｅに対応するものとする。また、第２の情報処理装置２は、実施の形態４の第２の情報処理装置２ｂに対応するものとする。
【０１６４】
図１９は、本実施の形態による第１の情報処理装置１ｅの構成を示すブロック図である。本実施の形態による第１の情報処理装置１ｅは、トンネル通信部１１と、識別子受付部１２と、識別子記憶部１３と、アドレス決定部１４ｅと、アドレス送信部１５と、トンネル通信識別子受付部１７とを備える。なお、トンネル通信部１１、識別子受付部１２、識別子記憶部１３、アドレス送信部１５は、実施の形態１と同様のものであり、その説明を省略する。
【０１６５】
アドレス決定部１４ｅは、識別子受付部１２が受け付けた通信先装置識別子と、識別子記憶部１３が記憶している通信元装置識別子と、トンネル通信識別子受付部１７が受け付けたトンネル通信識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。ここで、トンネル通信識別子とは、情報処理装置間で行われるトンネル通信を識別する識別子である。このアドレスの決定においては、通信先装置識別子と、通信元装置識別子と、トンネル通信識別子とに基づいて、通信先の装置（すなわち、第２の情報処理装置２ｂ）で用いるアドレスと、通信元の装置（すなわち、第１の情報処理装置１ｅ）で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。また、アドレス決定部１４ｅは、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスの一部を決定し、トンネル通信識別子に基づいて、通信対象のデータに対して用いるアドレスの他の部分を決定してもよい。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
【０１６６】
トンネル通信識別子受付部１７は、トンネル通信識別子を受け付ける。トンネル通信識別子受付部１７は、例えば、有線もしくは無線の通信回線を介して送信された（例えば、サーバ４ｅから送信された）トンネル通信識別子を受信してもよく、所定の入力デバイス（例えば、キーボードやマウス、タッチパネルなど）を介して第１の情報処理装置１ｅに入力されたトンネル通信識別子を受け付けてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出されたトンネル通信識別子を受け付けてもよく、あるいは、第１の情報処理装置１ｅで生成されたトンネル通信識別子を受け付けてもよい。本実施の形態では、サーバ４ｅから送信されたトンネル通信識別子を受け付ける場合について説明する。なお、トンネル通信識別子受付部１７は、受け付けを行うためのデバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい。また、トンネル通信識別子受付部１７は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０１６７】
図２０は、本実施の形態によるサーバ４ｅの構成を示すブロック図である。サーバ４ｅは、トンネル通信識別子生成部４１と、トンネル通信識別子送信部４２と、通信制御部７１とを備える。なお、通信制御部７１は、実施の形態３と同様のものであり、その説明を省略する。
【０１６８】
トンネル通信識別子生成部４１は、トンネル通信識別子を生成する。このトンネル通信識別子によって複数の情報処理装置間で行われているトンネル通信を識別することができればよい。したがって、トンネル通信識別子は、例えば、ＧＵＩＤであってもよく、あるいは、トンネル通信の終了後には、再度、同一のトンネル通信識別子を他のトンネル通信において用いてもよい。トンネル通信識別子生成部４１は、トンネル通信識別子を所定の関数等を用いた演算等によって生成してもよく、複数のトンネル通信識別子を有するテーブルから選択することによってトンネル通信識別子を生成してもよく、トンネル通信を識別可能なトンネル通信識別子を決定できるのであれば、その生成の方法は問わない。
【０１６９】
トンネル通信識別子送信部４２は、トンネル通信識別子生成部４１が生成したトンネル通信識別子を、そのトンネル通信識別子によって識別されるトンネル通信を行う情報処理装置に送信する。なお、トンネル通信識別子送信部４２は、例えば、トンネル通信識別子を、アドレス決定を行う装置にのみ送信してもよく、あるいは、トンネル通信を行うすべての装置に送信してもよい。本実施の形態では、トンネル通信識別子を、アドレス決定を行う装置にのみ送信する場合について説明する。また、トンネル通信識別子送信部４２は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、トンネル通信識別子送信部４２と通信回線３との間に図示しない送信デバイスが存在することとなる）。また、トンネル通信識別子送信部４２は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０１７０】
次に、本実施の形態による通信システムの動作、特に第１の情報処理装置１ｅにおいてアドレスを決定する動作について説明する。図２１は、第１の情報処理装置１ｅにおけるアドレスを決定する動作を示すフローチャートである。
【０１７１】
（ステップＳ５０１）識別子受付部１２は、通信先装置識別子を受け付けたかどうか判断する。そして、通信先装置識別子を受け付けた場合には、ステップＳ５０２に進み、そうでない場合には、ステップＳ５０３に進む。
【０１７２】
（ステップＳ５０２）アドレス決定部１４ｅは、識別子受付部１２が受け付けた通信先装置識別子を図示しない記録媒体で一時的に記憶する。そして、ステップＳ５０１に戻る。
【０１７３】
（ステップＳ５０３）トンネル通信識別子受付部１７は、トンネル通信識別子を受け付けたかどうか判断する。そして、トンネル通信識別子を受け付けた場合には、ステップＳ５０４に進み、そうでない場合には、ステップＳ５０５に進む。
【０１７４】
（ステップＳ５０４）アドレス決定部１４ｅは、トンネル通信識別子受付部１７が受け付けたトンネル通信識別子を図示しない記録媒体で一時的に記憶する。そして、ステップＳ５０１に戻る。
【０１７５】
（ステップＳ５０５）アドレス決定部１４ｅは、通信先装置識別子と、トンネル通信識別子とが受け付けられたかどうか判断する。この判断は、例えば、アドレス決定部１４ｅが有する図示しない記録媒体に、通信先装置識別子と、トンネル通信識別子とが格納されているかどうかによって判断する。そして、通信先装置識別子と、トンネル通信識別子とが受け付けられていた場合には、ステップＳ５０６に進み、そうでない場合には、ステップＳ５０１に戻る。
【０１７６】
（ステップＳ５０６）アドレス決定部１４ｅは、図示しない記録媒体で一時的に記憶している通信先装置識別子と、トンネル通信識別子と、識別子記憶部１３で記憶されている通信元装置識別子とを用いて、アドレスを決定する。このアドレス決定の方法については後述する。
【０１７７】
（ステップＳ５０７）アドレス送信部１５は、アドレス決定部１４ｅが決定したアドレスを第２の情報処理装置２ｂに送信する。そして、ステップＳ５０１に戻る。
【０１７８】
なお、図２１のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、通信先装置識別子と、トンネル通信識別子とが受け付けられたと判断されたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、トンネル通信識別子受付部１７がトンネル通信識別子を受け付けたタイミングでアドレスの決定等を行ってもよい。また、トンネル通信識別子が受け付けられた時点において通信先装置識別子が受け付けられていない場合には、通信先装置識別子の送信や入力等を要求するようにしてもよい。また、このフローチャートでは、受け付けられた通信先装置識別子や、トンネル通信識別子をアドレス決定部１４ｅの有する図示しない記録媒体において一時的に記憶する場合について説明したが、受け付けられた通信先識別子等は、他の記録媒体において一時的に記憶されてもよい。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
【０１７９】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態１の図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態１の具体例と同様であるとする。また、第１の情報処理装置１ｅ、第２の情報処理装置２ｂがそれぞれ、ＩＰアドレスと、装置識別情報とをサーバ４ｅに登録する処理は、実施の形態１と同様であり、その説明を省略する。
【０１８０】
通信先装置識別子の記録された着脱可能な記録媒体が、第１の情報処理装置１ｅに装着されると、その記録媒体に記憶されている通信先装置識別子「９８７６５４３２」が識別子受付部１２によって受け付けられ、トンネル通信部１１と、アドレス決定部１４ｅとに渡されたとする（ステップＳ５０１）。アドレス決定部１４ｅは、その通信先装置識別子を図示しないメモリで一時的に記憶する（ステップＳ５０２）。
【０１８１】
トンネル通信部１１は、識別子受付部１２から通信先装置識別子「９８７６５４３２」を受け取ると、トンネル通信を開始すると判断し、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のＩＰアドレスを送信する旨の指示とをサーバ４ｅに送信する。すると、サーバ４ｅはそれらを受信し、通信先装置識別子「９８７６５４３２」に対応する、保持しているＩＰアドレス「１３１．２０６．１０．２４０」を第１の情報処理装置１ｅに送信する。第１の情報処理装置１ｅのトンネル通信部１１は、第２の情報処理装置２ｂのＩＰアドレス「１３１．２０６．１０．２４０」をサーバ４ｅから受け付けると、そのＩＰアドレスを保持しておく。
【０１８２】
また、サーバ４ｅは、第１の情報処理装置１ｅと、第２の情報処理装置２ｂとの間でトンネル通信を開始すると判断する。そして、トンネル通信識別子生成部４１は、第１の情報処理装置１ｅと、第２の情報処理装置２ｂとの間で行うトンネル通信を識別するトンネル通信識別子「１１１２２２３３３」を生成する。トンネル通信識別子送信部４２は、そのトンネル通信識別子を、発呼側であり、アドレスの決定を行う第１の情報処理装置１ｅに送信する。第１の情報処理装置１ｅのアドレスは、第１の情報処理装置１ｅから送信された通信先装置識別子を含むパケットのヘッダから取得されたものである。送信されたトンネル通信識別子「１１１２２２３３３」は、第１の情報処理装置１ｅのトンネル通信識別子受付部１７で受け付けられる（ステップＳ５０３）。そのトンネル通信識別子は、アドレス決定部１４ｅに渡される。アドレス決定部１４ｅは、トンネル通信識別子受付部１７から受け付けたトンネル通信識別子を図示しないメモリで一時的に記憶する。（ステップＳ５０４）。
【０１８３】
その後、アドレス決定部１４ｅは、通信先装置識別子と、トンネル通信識別子が受け付けられたと判断し、（ステップＳ５０５）、アドレス決定部１４ｅの有する図示しないメモリにおいて一時的に記憶している通信先装置識別子「９８７６５４３２」と、トンネル通信識別子「１１１２２２３３３」と、識別子記憶部１３から読み出した通信元装置識別子「１２３４５６７８」とに基づいて、トンネル通信における通信対象のデータに対して用いるＩＰアドレスを決定する。具体的には、アドレス決定部１４ｅは、例えば、下記の３つの方法のいずれかによってアドレスを決定する（ステップＳ５０６）。
【０１８４】
［テーブルを用いるアドレス決定方法］
アドレス決定部１４ｅが決定するアドレスは、図２２Ａで示される構造を有する。すなわち、先頭の８ビットは「１６９」であり、次の８ビットは「２５４」である。また、次の１６ビットのうち、先頭の１２ビットはネットワークアドレスであり、トンネル通信識別子を「４０９６」で割った余りを用いる。また、最後の４ビットはホストアドレスであり、図２２Ｂのテーブルを用いて決定する。図２２Ｂのテーブルは、装置識別子の異なる桁と、ホストアドレスとの対応を示すテーブルである。アドレス決定部１４ｅは、通信先装置識別子「９８７６５４３２」と、通信元装置識別子「１２３４５６７８」との最下位の桁の値（「２」と、「８」）に対応するホストアドレスを、図２２Ｂのテーブルを用いて決定する。すなわち、第１の情報処理装置１ｅのホストアドレスは「８」となり、第２の情報処理装置２ｂのホストアドレスは「２」となる。また、トンネル通信識別子「１１１２２２３３３」を「４０９６」で割った余り「３６４５」が第１の情報処理装置１ｅ、および第２の情報処理装置２ｂに共通のネットワークアドレスとなる。したがって、アドレス決定部１４ｅは、第１の情報処理装置１ｅのＩＰアドレスを「１６９．２５４．２２７．２１６」と決定する（「３６４５」のバイナリ表示「１１１０００１１１１０１」と、「８」のバイナリ表示「１０００」とを８ビットずつに分けた「１１１０００１１」と、「１１０１１０００」との１０進数表示がそれぞれ「２２７」と、「２１６」とになる）。同様にして、アドレス決定部１４ｅは、第２の情報処理装置２ｂのＩＰアドレスを「１６９．２５４．２２７．２１０」と決定する。そして、アドレス決定部１４ｅは、それらのアドレスをトンネル通信部１１と、アドレス送信部１５に渡す。なお、このようにしてアドレスが決定された場合には、各情報処理装置において、「２５５．２５５．２５５．２４８」をサブネットマスクとして用いる。このテーブルを用いてアドレスを決定する方法のように、アドレス決定部１４ｅは、通信先装置識別子と、通信元装置識別子とに基づいてアドレスの一部を決定し、トンネル通信識別子に基づいてアドレスの他の部分を決定してもよい。
【０１８５】
［関数を用いるアドレス決定方法］
アドレス決定部１４ｅは、アドレスを決定する関数「Ｆｕｎｃ（引数１、引数２、引数３）」を有している。そして、引数１に通信元装置識別子「１２３４５６７８」を代入し、引数２に通信先装置識別子「９８７６５４３２」を代入し、引数３にトンネル通信識別子「１１１２２２３３３」を代入する。その結果、２つのアドレス「１９２．１６８．０．１」、「１９２．１６８．０．２」が算出される。そして、前者のＩＰアドレスを第１の情報処理装置１ｅのＩＰアドレスと決定し、後者のＩＰアドレスを第２の情報処理装置２ｂのアドレスと決定する。そして、アドレス決定部１４ｅは、それらのアドレスをトンネル通信部１１と、アドレス送信部１５に渡す。
【０１８６】
［装置識別子の大小比較によるアドレス決定方法］
この方法においても、アドレス決定部１４ｅが決定するアドレスは、図２２Ａで示される構造を有するものとする。また、ネットワークアドレスをトンネル通信識別子に基づいて決定する方法は、前述の「テーブルを用いるアドレス決定方法」と同様であるとする。アドレス決定部１４ｅは、装置識別子の大きいほうの情報処理装置のホストアドレスに「２」を割り当て、装置識別子の小さいほうの情報処理装置のホストアドレスに「１」を割り当てるものとする。したがって、第１の情報処理装置１ｅの装置識別子「１２３４５６７８」のほうが第２の情報処理装置２ｂの装置識別子「９８７６５４３２」よりも小さいため、第１の情報処理装置１ｅのホストアドレスは「１」となる。その結果、アドレス決定部１４ｅは、第１の情報処理装置１ｅのＩＰアドレスを「１６９．２５４．２２７．２０９」と決定する。また、アドレス決定部１４ｅは、第２の情報処理装置２ｂのＩＰアドレスを「１６９．２５４．２２７．２１０」と決定する。そして、アドレス決定部１４ｅは、それらのアドレスをトンネル通信部１１と、アドレス送信部１５に渡す。なお、この場合にも、各情報処理装置において、「２５５．２５５．２５５．２４８」をサブネットマスクとして用いるものとする。
【０１８７】
なお、３通りのアドレス決定方法について説明したが、アドレス決定部１４ｅは、通信元装置識別子と、通信先装置識別子と、トンネル通信識別子とに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
【０１８８】
アドレス送信部１５は、実施の形態１の具体例と同様に、決定された第１の情報処理装置１ｅのＩＰアドレスと、第２の情報処理装置２ｂのＩＰアドレスとを第２の情報処理装置２ｂに送信する（ステップＳ５０７）。その結果、それらのＩＰアドレスが第２の情報処理装置２ｂにおけるアドレス受付部２１で受け付けられ、トンネル通信部２２に渡される。また、トンネル通信部１１は、実施の形態１の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部２２は、アドレス受付部２１で受け付けられたアドレスを用いてトンネル通信を行う。
【０１８９】
以上のように、本実施の形態による通信システムでは、トンネル通信を行う情報処理装置の装置識別子と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態１と同様のメリットを得ることができる。
【０１９０】
なお、本実施の形態では、第１の情報処理装置１ｅがアドレス送信部１５を備えた構成について説明したが、第１の情報処理装置１ｅは、アドレス送信部１５に代えて、アドレス決定部１４ｅが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやＦＡＸ等によって第２の情報処理装置２ｂのユーザに通知することによって、第２の情報処理装置２ｂにおいて設定されてもよい。
【０１９１】
また、本実施の形態では、サーバ４ｅで生成されたトンネル通信識別子が第１の情報処理装置１ｅにのみ送信される場合について説明したが、そのトンネル通信識別子は、第１の情報処理装置１ｅと共に、第２の情報処理装置２ｂにも送信されてもよい。
【０１９２】
（実施の形態８）
本発明の実施の形態８による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【０１９３】
図２３は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、第１の情報処理装置１ｆと、第２の情報処理装置２ｆと、サーバ４ｅとを備える。サーバ４ｅは、実施の形態７と同様のものであり、その説明を省略する。ただし、本実施の形態では、第１の情報処理装置１ｆ、および第２の情報処理装置２ｆにおいてアドレスの決定を行うため、サーバ４ｅは、生成したトンネル通信識別子を第１の情報処理装置１ｆ、および第２の情報処理装置２ｆのそれぞれに送信するものとする。
【０１９４】
第１の情報処理装置１ｆは、トンネル通信部１１と、識別子受付部１２と、識別子記憶部１３と、アドレス決定部１４ｅと、トンネル通信識別子受付部１７とを備える。なお、トンネル通信部１１、識別子受付部１２、識別子記憶部１３、アドレス決定部１４ｅ、トンネル通信識別子受付部１７は、実施の形態７と同様のものであり、その説明を省略する。
【０１９５】
第２の情報処理装置２ｆは、トンネル通信部２２と、識別子記憶部２３と、識別子受付部２５と、アドレス決定部２６ｆと、トンネル通信識別子受付部２８とを備える。なお、トンネル通信部２２は、実施の形態４と同様のものであり、識別子記憶部２３、識別子受付部２５は、実施の形態２と同様のものであり、アドレス決定部２６ｆ、トンネル通信識別子受付部２８は、実施の形態７のアドレス決定部１４ｅ、トンネル通信識別子受付部１７と同様のものであり、それらの説明を省略する。
【０１９６】
また、第１の情報処理装置１ｆにおけるアドレスを決定する動作は、ステップＳ５０７におけるアドレスの送信処理を行わない以外、実施の形態７における図２１で示されるものと同様であり、その説明を省略する。また、本実施の形態における第２の情報処理装置２ｆにおけるアドレスを決定する動作も、トンネル通信部１１、識別子受付部１２、識別子記憶部１３、アドレス決定部１４ｅ、トンネル通信識別子受付部１７が、それぞれトンネル通信部２２、識別子受付部２５、識別子記憶部２３、アドレス決定部２６ｆ、トンネル通信識別子受付部２８に対応し、ステップＳ５０７におけるアドレスの送信処理を行わない以外、実施の形態７における図２１で示されるものと同様であり、その説明を省略する。
【０１９７】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。なお、第１の情報処理装置１ｆにおいてＩＰアドレスが決定される動作は、実施の形態７の具体例と同様であり、その説明を省略する。また、前述のように、サーバ４ｅからは、第１の情報処理装置１ｆと共に、第２の情報処理装置２ｆにもトンネル通信識別子が送信されるものとする。
【０１９８】
サーバ４ｅは、第１の情報処理装置１ｆからの要求に応じて、第２の情報処理装置２ｆのＩＰアドレスを第１の情報処理装置１ｆに送信すると共に、第１の情報処理装置１ｆの装置識別子と、第１の情報処理装置１ｆが第２の情報処理装置２ｆとのトンネル通信を要求している旨を示す情報とを第２の情報処理装置２ｆに送信する。また、サーバ４ｅは、トンネル通信識別子を生成し、そのトンネル通信識別子を第１の情報処理装置１ｆと、第２の情報処理装置２ｆとに送信する。
【０１９９】
第２の情報処理装置２ｆの識別子受付部２５は、サーバ４ｅから送信された第１の情報処理装置１ｆの装置識別子を、トンネル通信部２２を介して受け付ける（ステップＳ５０１）。その装置識別子は、アドレス決定部２６ｆの図示しないメモリにおいて一時的に記憶される（ステップＳ５０２）。また、第２の情報処理装置２ｆのトンネル通信識別子受付部２８は、サーバ４ｅから送信されたトンネル通信識別子を、トンネル通信部２２を介して受け付ける（ステップＳ５０３）。そのトンネル通信識別子は、アドレス決定部２６ｆの図示しないメモリにおいて一時的に記憶される（ステップＳ５０４）。その後、アドレス決定部２６ｆが装置識別子とトンネル通信識別子とが受け付けられていると判断し（ステップＳ５０５）、アドレス決定部２６ｆの図示しないメモリで記憶されている装置識別子と、トンネル通信識別子と、識別子記憶部２３から読み出した第２の情報処理装置２ｆの装置識別子とに基づいて第１の情報処理装置１ｆと、第２の情報処理装置２ｆのＩＰアドレスを決定する処理は、実施の形態７と同様であり、その説明を省略する。
【０２００】
ただし、関数を用いてアドレスを決定する場合には、実施の形態２の具体例で説明したように、引数１には第２の情報処理装置２ｆの装置識別子を代入し、引数２には第１の情報処理装置１ｆの装置識別子を代入するものとする。また、関数は、引数１と引数２が入れ替えられると、算出結果のＩＰアドレスも逆の順番となるような関数であるとする。この場合には、アドレス決定部２６ｆが関数を用いて決定したアドレスのうち、１番目のアドレスが第２の情報処理装置２ｆのＩＰアドレスとなり、２番目のアドレスが第１の情報処理装置１ｆのＩＰアドレスとなる。
【０２０１】
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態７の具体例と同様であり、その説明を省略する。
【０２０２】
以上のように、本実施の形態による通信システムでは、情報処理装置の装置識別子とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態２と同様の効果を得ることができる。
【０２０３】
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第１の情報処理装置１ｆにおいて第１の情報処理装置１ｆのアドレスのみを決定し、第２の情報処理装置２ｆにおいて第２の情報処理装置２ｆのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
【０２０４】
（実施の形態９）
本発明の実施の形態９による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
【０２０５】
図２４は、本実施の形態による通信システムの構成を示す図である。図２４において、本実施の形態による通信システムは、通信回線３で互いに接続されている第１の情報処理装置５と、第２の情報処理装置６と、サーバ７ｇとを備える。なお、第１の情報処理装置５、第２の情報処理装置６は、実施の形態３と同様のものであり、その説明を省略する。
【０２０６】
サーバ７ｇは、実施の形態１におけるサーバ４と同様に、第１の情報処理装置５と第２の情報処理装置６との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部７１と、識別子受付部７２と、アドレス決定部７３ｇと、アドレス送信部７４と、トンネル通信識別子生成部４１と、トンネル通信識別子受付部７６とを備える。なお、通信制御部７１、識別子受付部７２、アドレス送信部７４は、実施の形態３と同様のものであり、トンネル通信識別子生成部４１は、実施の形態７と同様のものであり、その説明を省略する。
【０２０７】
アドレス決定部７３ｇは、識別子受付部７２が受け付けた、第１の情報処理装置５を識別する第１の装置識別子、第２の情報処理装置６を識別する第２の装置識別子と、トンネル通信識別子受付部７６が受け付けたトンネル通信識別子とに基づいて、第１の情報処理装置５と、第２の情報処理装置６との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第１の情報処理装置５の第１のアドレス、および第２の情報処理装置６の第２のアドレスを決定する。アドレスの決定方法については、実施の形態７におけるアドレス決定部１４ｅと同様であり、その説明を省略する。
【０２０８】
トンネル通信識別子受付部７６は、トンネル通信識別子を受け付ける。トンネル通信識別子受付部７６は、例えば、有線もしくは無線の通信回線を介して送信された（例えば、他のサーバから送信された）トンネル通信識別子を受信してもよく、所定の入力デバイス（例えば、キーボードやマウス、タッチパネルなど）を介してサーバ７ｇに入力されたトンネル通信識別子を受け付けてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）から読み出されたトンネル通信識別子を受け付けてもよく、あるいは、サーバ７ｇで生成されたトンネル通信識別子を受け付けてもよい。本実施の形態では、サーバ７ｇのトンネル通信識別子生成部４１で生成されたトンネル通信識別子を受け付ける場合について説明する。なお、トンネル通信識別子受付部７６は、受け付けを行うためのデバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい。また、トンネル通信識別子受付部７６は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０２０９】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図２５は、サーバ７ｇにおけるアドレスを決定する動作を示すフローチャートである。
【０２１０】
（ステップＳ６０１）識別子受付部７２は、第１の装置識別子、および第２の装置識別子を受け付けたかどうか判断する。そして、それらの識別子を受け付けた場合には、ステップＳ６０２に進み、そうでない場合には、それらの識別子を受け付けるまでステップＳ６０１の処理を繰り返す。
【０２１１】
（ステップＳ６０２）アドレス決定部７３ｇは、識別子受付部７２が受け付けた第１の装置識別子、および第２の装置識別子を図示しない記録媒体において一時的に記憶する。
【０２１２】
（ステップＳ６０３）トンネル通信識別子生成部４１は、トンネル通信識別子を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部７６に渡す。
【０２１３】
（ステップＳ６０４）トンネル通信識別子受付部７６は、トンネル通信識別子生成部４１から渡されたトンネル通信識別子を受け付ける。
【０２１４】
（ステップＳ６０５）アドレス決定部７３ｇは、トンネル通信識別子受付部７６が受け付けたトンネル通信識別子、識別子受付部７２が受け付け、図示しない記録媒体において一時的に記憶されている第１の装置識別子、第２の装置識別子に基づいて、アドレスを決定する。このアドレスの決定方法は、実施の形態７の具体例での説明と同様であり、その説明を省略する。
【０２１５】
（ステップＳ６０６）アドレス送信部７４は、アドレス決定部７３ｇが決定した第１の情報処理装置５のアドレス、および第２の情報処理装置６のアドレスを、第１の情報処理装置５と、第２の情報処理装置６とに送信する。そして、ステップＳ６０１に戻る。
【０２１６】
なお、図２５のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部７２が第１の装置識別子等を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、第１の情報処理装置５と、第２の情報処理装置６とがトンネル通信を開始するタイミングで、それまでに識別子受付部７２で受け付けられている第１の装置識別子等を用いてアドレスを決定してもよい。
【０２１７】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態３の具体例と同様であるとする。また、第１の情報処理装置５、第２の情報処理装置６がそれぞれ、ＩＰアドレスと、装置識別情報とをサーバ７ｇに登録する処理は、実施の形態３と同様であり、その説明を省略する。
【０２１８】
第１の情報処理装置５のトンネル通信部５２は、第２の情報処理装置６を識別する第２の装置識別子と、第２の情報処理装置６とトンネル通信を行いたい旨とをサーバ７ｇに送信する。すると、それらは通信制御部７１において受信される。通信制御部７１は、第１の情報処理装置５から送信されたパケットのヘッダから第１の情報処理装置５のＩＰアドレスを取得し、図１１で示されるアドレス識別子対応情報を参照し、第１の情報処理装置５の第１の装置識別子「１２３４５６７８」を取得する。また、通信制御部７１は、アドレス識別子対応情報を参照し、第１の情報処理装置５から送信された第２の装置識別子「９８７６５４３２」に対応するＩＰアドレス「１３１．２０６．１０．２４０」を取得する。そして、通信制御部７１は、第１の装置識別子と、第２の装置識別子とを識別子受付部７２に渡すと共に、第２の情報処理装置６のＩＰアドレスを第１の情報処理装置５に送信する。
【０２１９】
識別子受付部７２は、通信制御部７１から第１の装置識別子と第２の装置識別子を受け付けると（ステップＳ６０１）、それらをアドレス決定部７３ｇに渡す。アドレス決定部７３ｇは、その第１の装置識別子等を図示しないメモリにおいて一時的に記憶する（ステップＳ６０２）。
【０２２０】
また、トンネル通信識別子生成部４１は、通信制御部７１がトンネル通信を開始する旨の情報を受信したことに対応して、新たなトンネル通信識別子「１１１２２２３３３」を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部７６に渡す（ステップＳ６０３）。すると、そのトンネル通信識別子はトンネル通信識別子受付部７６で受け付けられる（ステップＳ６０４）。
【０２２１】
その後、アドレス決定部７３ｇは、トンネル通信識別子受付部７６が受け付けたトンネル通信識別子と、図示しないメモリで記憶している第１の装置識別子、第２の装置識別子とに基づいて、第１の情報処理装置５、および第２の情報処理装置６で用いるＩＰアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部７４に渡す（ステップＳ６０５）。このアドレスの決定方法は実施の形態７の具体例と同様であり、その説明を省略する。
【０２２２】
アドレス送信部７４は、アドレス決定部７３ｇが決定した第１の情報処理装置５のＩＰアドレスと、その第１の情報処理装置５の装置識別子との組、および第２の情報処理装置６のＩＰアドレスと、その第２の情報処理装置６の装置識別子との組を受け取ると、通信制御部７１で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のＩＰアドレスを取得する。そして、アドレス送信部７４は、装置識別子とＩＰアドレスとの２つの組を第１の情報処理装置５と、第２の情報処理装置６とに送信する（ステップＳ６０６）。この後の処理は、実施の形態３の具体例と同様であり、その説明を省略する。
【０２２３】
以上のように、本実施の形態による通信システムでは、サーバ７ｇが、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、第１の情報処理装置５、および第２の情報処理装置６の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
【０２２４】
なお、本実施の形態では、アドレス送信部７４がアドレス決定部７３ｇによって決定されたアドレスを送信する場合について説明したが、アドレス送信部７４に代えて、アドレス決定部７３ｇによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ７ｇの管理者がそのアドレスを電子メールやＦＡＸ等によって第１の情報処理装置５のユーザや第２の情報処理装置６のユーザに通知することによって、第１の情報処理装置５や、第２の情報処理装置６において設定されてもよい。
【０２２５】
また、本実施の形態では、サーバ７ｇのアドレス送信部７４が、第２の情報処理装置６にアドレス決定部７３ｇが決定した２つのアドレスを送信する場合について説明したが、アドレス送信部７４は、第２の情報処理装置６に第２の情報処理装置６のアドレスのみを送信してもよい。この場合には、第２の情報処理装置６は、第１の情報処理装置５から送信されたカプセル化された通信対象のデータのヘッダから第１の情報処理装置５のアドレスを取得することができる。
【０２２６】
また、本実施の形態では、サーバ７ｇから第１の情報処理装置５のアドレスと、第２の情報処理装置６のアドレスとの両方を送信する場合について説明したが、サーバ７ｇは、まず第１の情報処理装置５に対しては、第１の情報処理装置５のアドレスを送信し、第２の情報処理装置６に対しては、第２の情報処理装置６のアドレスを送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ７ｇがその相手方のアドレスを送信するようにしてもよい。
【０２２７】
（実施の形態１０）
本発明の実施の形態１０による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【０２２８】
本実施の形態による通信システムは、図１と同様であるとする。ただし、第１の情報処理装置１が第１の情報処理装置１ｈに対応するものとする。また、第２の情報処理装置２は、実施の形態４の第２の情報処理装置２ｂに対応し、サーバ４は、実施の形態７のサーバ４ｅに対応するものとする。
【０２２９】
図２６は、本実施の形態による第１の情報処理装置１ｈの構成を示すブロック図である。本実施の形態による第１の情報処理装置１ｈは、トンネル通信部１１と、アドレス決定部１４ｈと、アドレス送信部１５と、判断部１６と、トンネル通信識別子受付部１７とを備える。なお、トンネル通信部１１、アドレス送信部１５は、実施の形態１と同様のものであり、判断部１６は、実施の形態４と同様のものであり、トンネル通信識別子受付部１７は、実施の形態７と同様のものであり、それらの説明を省略する。
【０２３０】
アドレス決定部１４ｈは、判断部１６による判断結果と、トンネル通信識別子受付部１７が受け付けたトンネル通信識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。ここで、トンネル通信識別子とは、情報処理装置間で行われるトンネル通信を識別する識別子である。このアドレスの決定においては、判断部１６による判断結果と、トンネル通信識別子とに基づいて、通信先の装置（例えば、第２の情報処理装置２ｂ）で用いるアドレスと、通信元の装置（例えば、第１の情報処理装置１ｈ）で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。また、アドレス決定部１４ｈは、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスの一部を決定し、トンネル通信識別子に基づいて、通信対象のデータに対して用いるアドレスの他の部分を決定してもよい。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
【０２３１】
次に、本実施の形態による通信システムの動作、特に第１の情報処理装置１ｈにおいてアドレスを決定する動作について説明する。図２７は、第１の情報処理装置１ｈにおけるアドレスを決定する動作を示すフローチャートである。
【０２３２】
（ステップＳ７０１）トンネル通信部１１は、トンネル通信を開始するかどうか判断する。このトンネル通信の開始には、第１の情報処理装置１ｈが積極的にトンネル通信を開始する場合と、他の装置（ここでは、第２の情報処理装置２ｂ）からのトンネル通信の要求に応じて、トンネル通信を開始する場合とがある。いずれであっても、トンネル通信部１１は、トンネル通信を開始すると判断する。そして、トンネル通信を開始する場合には、ステップＳ７０２に進み、そうでない場合には、トンネル通信を開始するまでステップＳ７０１の処理を繰り返す。
【０２３３】
（ステップＳ７０２）判断部１６は、第１の情報処理装置１ｈが発呼側か着呼側かの判断を行う。
【０２３４】
（ステップＳ７０３）トンネル通信識別子受付部１７は、トンネル通信識別子を受け付けたかどうか判断する。そして、トンネル通信識別子を受け付けた場合には、ステップＳ７０４に進み、そうでない場合には、トンネル通信識別子を受け付けるまで、ステップＳ７０３の処理を繰り返す。
【０２３５】
（ステップＳ７０４）アドレス決定部１４ｈは、判断部１６による判断結果と、トンネル通信識別子受付部１７が受け付けたトンネル通信識別子とを用いて、アドレスを決定する。このアドレス決定の方法については後述する。
【０２３６】
（ステップＳ７０５）アドレス送信部１５は、アドレス決定部１４ｈが決定したアドレスを第２の情報処理装置２ｂに送信する。そして、ステップＳ７０１に戻る。
【０２３７】
なお、図２７のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
【０２３８】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態１の図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態１の具体例と同様であるとする。また、第１の情報処理装置１ｈ、第２の情報処理装置２ｂがそれぞれ、ＩＰアドレスと、装置識別情報とをサーバ４ｅに登録する処理は、実施の形態１と同様であり、その説明を省略する。
【０２３９】
通信先装置識別子の記録された着脱可能な記録媒体が、第１の情報処理装置１ｈに装着され、その記録媒体に記憶されている通信先装置識別子「９８７６５４３２」が図示しない受付部によって受け付けられ、トンネル通信部１１に渡されたとする。
【０２４０】
すると、トンネル通信部１１は、トンネル通信を開始すると判断し（ステップＳ７０１）、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のＩＰアドレスを送信する旨の指示とをサーバ４ｅに送信する。すると、サーバ４ｅはそれらを受信し、通信先装置識別子「９８７６５４３２」に対応する、保持しているＩＰアドレス「１３１．２０６．１０．２４０」を第１の情報処理装置１ｈに送信する。第１の情報処理装置１ｈのトンネル通信部１１は、第２の情報処理装置２ｂのＩＰアドレス「１３１．２０６．１０．２４０」をサーバ４ｅから受け付けると、そのＩＰアドレスを保持しておく。
【０２４１】
判断部１６は、トンネル通信部１１がトンネル通信のトンネルのプロトコルの通信における発呼側であるため、第１の情報処理装置１ｈが発呼側であると判断する（ステップＳ７０２）。そして、その判断結果をアドレス決定部１４ｈに渡す。
【０２４２】
また、サーバ４ｅは、第１の情報処理装置１ｈと、第２の情報処理装置２ｂとの間でトンネル通信を開始すると判断する。そして、トンネル通信識別子生成部４１は、第１の情報処理装置１ｈと、第２の情報処理装置２ｂとの間で行うトンネル通信を識別するトンネル通信識別子「１１１２２２３３３」を生成する。トンネル通信識別子送信部４２は、そのトンネル通信識別子を第１の情報処理装置１ｈに送信する。第１の情報処理装置１ｈのアドレスは、第１の情報処理装置１ｈから送信された通信先装置識別子を含むパケットのヘッダから取得されたものである。送信されたトンネル通信識別子「１１１２２２３３３」は、第１の情報処理装置１ｈのトンネル通信識別子受付部１７で受け付けられる（ステップＳ７０３）。第１の情報処理装置１ｈのトンネル通信識別子受付部１７で受け付けられたトンネル通信識別子は、アドレス決定部１４ｈに渡される。
【０２４３】
アドレス決定部１４ｈは、判断部１６から判断結果を受け取り、トンネル通信識別子受付部１７からトンネル通信識別子を受け取ると、その判断結果とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるＩＰアドレスを決定する。具体的には、アドレス決定部１４ｈは、例えば、下記の２つの方法のいずれかによってアドレスを決定する（ステップＳ７０４）。
【０２４４】
［テーブルを用いるアドレス決定方法］
アドレス決定部１４ｈが決定するアドレスは、図２８Ａで示される構造を有する。すなわち、先頭の８ビットは「１６９」であり、次の８ビットは「２５４」である。また、次の１６ビットのうち、先頭の１４ビットはネットワークアドレスであり、トンネル通信識別子を「１６３８４」で割った余りを用いる。また、最後の２ビットはホストアドレスであり、図２８Ｂのテーブルを用いて決定する。図２８Ｂのテーブルは、発呼側・着呼側を示す情報と、ＩＰアドレスとの対応を示すものである。判断部１６によって第１の情報処理装置１ｈが発呼側であると判断されたため、アドレス決定部１４ｈは、図２８Ｂのテーブルを用いて、第１の情報処理装置１ｈのホストアドレスを「１」に決定する。また、第２の情報処理装置２ｂは着呼側であるため、アドレス決定部１４ｈは、第２の情報処理装置２ｂのホストアドレスを「２」に決定する。なお、図２８Ｂでは、発呼側・着呼側を示す情報と、ＩＰアドレスとがテーブル形式で対応付けられている場合について示しているが、テーブル形式以外によって発呼側・着呼側を示す情報と、ＩＰアドレスとが対応付けられていてもよい。また、トンネル通信識別子「１１１２２２３３３」を「１６３８４」で割った余り「７７４１」が第１の情報処理装置１ｈ、および第２の情報処理装置２ｂに共通のネットワークアドレスとなる。したがって、アドレス決定部１４ｈは、第１の情報処理装置１ｈのＩＰアドレスを「１６９．２５４．１２０．２４５」と決定する（「７７４１」のバイナリ表示「０１１１１０００１１１１０１」と、「１」のバイナリ表示「０１」とを８ビットずつに分けた「０１１１１０００」と、「１１１１０１０１」との１０進数表示がそれぞれ「１２０」と、「２４５」とになる）。同様にして、アドレス決定部１４ｈは、第２の情報処理装置２ｂのＩＰアドレスを「１６９．２５４．１２０．２４６」と決定する。そして、アドレス決定部１４ｈは、それらのアドレスをトンネル通信部１１と、アドレス送信部１５に渡す。なお、このようにしてアドレスが決定された場合には、各情報処理装置において、「２５５．２５５．２５５．２５２」をサブネットマスクとして用いる。このテーブルを用いてアドレスを決定する方法のように、アドレス決定部１４ｈは、通信先装置識別子と、通信元装置識別子とに基づいてアドレスの一部を決定し、トンネル通信識別子に基づいてアドレスの他の部分を決定してもよい。
【０２４５】
なお、アドレス決定部１４ｈは、ホストアドレスをあらかじめ決められている複数のアドレスから選択することによって決定してもよい。例えば、アドレス決定部１４ｈが図２８Ｃで示されるテーブルを有しており、情報処理装置が発呼側であれば、そのホストアドレスを「１」、「３」、「５」の中から選択し、情報処理装置が着呼側であれば、そのホストアドレスを「２」、「４」、「６」の中から選択するようにしてもよい。
【０２４６】
［関数を用いるアドレス決定方法］
アドレス決定部１４ｈは、アドレスを決定する関数「Ｆｕｎｃ（引数１、引数２）」を有している。そして、発呼側のアドレスを演算する場合には、引数１に「０」を代入し、着呼側のアドレスを演算する場合には、引数１に「１」を代入する。また、引数２には、トンネル通信識別子を代入する。この具体例において、アドレス決定部１４ｈが引数１に「０」を代入し、引数２に「１１１２２２３３３」を代入し、関数の値が「１９２．１６８．０．１」となったとする。このＩＰアドレスが第１の情報処理装置１ｈのアドレスとなる。一方、アドレス決定部１４ｈが引数１に「１」を代入し、引数２に「１１１２２２３３３」を代入し、関数の値が「１９２．１６８．０．２」となったとする。このＩＰアドレスが第２の情報処理装置２ｂのアドレスとなる。そして、アドレス決定部１４ｈは、それらのアドレスをトンネル通信部１１と、アドレス送信部１５に渡す。
【０２４７】
なお、２通りのアドレス決定方法について説明したが、アドレス決定部１４ｈは、判断部１６による判断結果と、トンネル通信識別子とに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
【０２４８】
アドレス送信部１５は、実施の形態１の具体例と同様に、決定された第１の情報処理装置１ｈのＩＰアドレスと、第２の情報処理装置２ｂのＩＰアドレスとを第２の情報処理装置２ｂに送信する（ステップＳ７０５）。その結果、それらのＩＰアドレスが第２の情報処理装置２ｂにおけるアドレス受付部２１で受け付けられ、トンネル通信部２２に渡される。また、トンネル通信部１１は、実施の形態１の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部２２は、アドレス受付部２１で受け付けられたアドレスを用いてトンネル通信を行う。
【０２４９】
以上のように、本実施の形態による通信システムでは、判断部１６による判断結果と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態１と同様のメリットを得ることができる。
【０２５０】
なお、本実施の形態では、第１の情報処理装置１ｈがアドレス送信部１５を備えた構成について説明したが、第１の情報処理装置１ｈは、アドレス送信部１５に代えて、アドレス決定部１４ｈが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやＦＡＸ等によって第２の情報処理装置２ｂのユーザに通知することによって、第２の情報処理装置２ｂにおいて設定されてもよい。
【０２５１】
また、本実施の形態では、サーバ４ｅで生成されたトンネル通信識別子が第１の情報処理装置１ｈにのみ送信される場合について説明したが、そのトンネル通信識別子は、第１の情報処理装置１ｈと共に、第２の情報処理装置２ｂにも送信されてもよい。
【０２５２】
（実施の形態１１）
本発明の実施の形態１１による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【０２５３】
図２９は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線３で互いに接続されている第１の情報処理装置１ｉと、第２の情報処理装置２ｉと、サーバ４ｅとを備える。サーバ４ｅは、実施の形態７と同様のものであり、その説明を省略する。ただし、本実施の形態では、第１の情報処理装置１ｉ、および第２の情報処理装置２ｉにおいてアドレスの決定を行うため、サーバ４ｅは、生成したトンネル通信識別子を第１の情報処理装置１ｉ、および第２の情報処理装置２ｉのそれぞれに送信するものとする。
【０２５４】
第１の情報処理装置１ｉは、トンネル通信部１１と、アドレス決定部１４ｈと、判断部１６と、トンネル通信識別子受付部１７とを備える。なお、トンネル通信部１１、アドレス決定部１４ｈ、判断部１６、トンネル通信識別子受付部１７は、実施の形態１０と同様のものであり、その説明を省略する。
【０２５５】
第２の情報処理装置２ｉは、トンネル通信部２２と、アドレス決定部２６ｉと、判断部２７と、トンネル通信識別子受付部２８とを備える。なお、トンネル通信部２２は、実施の形態４と同様のものであり、トンネル通信識別子受付部２８は、実施の形態８と同様のものであり、アドレス決定部２６ｉは、実施の形態１０のアドレス決定部１４ｈと同様のものであり、それらの説明を省略する。
【０２５６】
また、第１の情報処理装置１ｉにおけるアドレスを決定する動作は、ステップＳ７０５におけるアドレスの送信処理を行わない以外、実施の形態１０における図２７で示されるものと同様であり、その説明を省略する。また、本実施の形態における第２の情報処理装置２ｉにおけるアドレスを決定する動作も、トンネル通信部１１、アドレス決定部１４ｈ、判断部１６、トンネル通信識別子受付部１７が、それぞれトンネル通信部２２、アドレス決定部２６ｉ、判断部２７、トンネル通信識別子受付部２８に対応し、ステップＳ７０５におけるアドレスの送信処理を行わない以外、実施の形態１０における図２７で示されるものと同様であり、その説明を省略する。
【０２５７】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。なお、第１の情報処理装置１ｉにおいてＩＰアドレスが決定される動作は、実施の形態１０の具体例と同様であり、その説明を省略する。また、サーバ４ｅからは、第１の情報処理装置１ｉと共に、第２の情報処理装置２ｉにもトンネル通信識別子が送信されるものとする。
【０２５８】
サーバ４ｅは、第１の情報処理装置１ｉからの要求に応じて、第２の情報処理装置２ｉのＩＰアドレスを第１の情報処理装置１ｉに送信すると共に、第１の情報処理装置１ｉが第２の情報処理装置２ｉとのトンネル通信を要求している旨を示す情報とを第２の情報処理装置２ｉに送信する。また、サーバ４ｅは、トンネル通信識別子を生成し、そのトンネル通信識別子を第１の情報処理装置１ｉと、第２の情報処理装置２ｉとに送信する。
【０２５９】
第２の情報処理装置２ｉのトンネル通信部２２が、そのサーバ４ｅから送信された情報を受信すると、トンネル通信を開始すると判断し（ステップＳ７０１）、判断部２７は、第２の情報処理装置２ｉが着呼側であると判断する（ステップＳ７０２）。また、トンネル通信識別子受付部２８は、サーバ４ｅから送信されたトンネル通信識別子を、トンネル通信部２２を介して受け付ける（ステップＳ７０３）。なお、アドレス決定部２６ｉが、判断部２７による判断結果と、トンネル通信識別子とに基づいて第１の情報処理装置１ｉと、第２の情報処理装置２ｉのＩＰアドレスを決定する処理は、実施の形態１０と同様であり、その説明を省略する。また、このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態１０の具体例と同様であり、その説明を省略する。
【０２６０】
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態２と同様の効果を得ることができる。
【０２６１】
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第１の情報処理装置１ｉにおいて第１の情報処理装置１ｉのアドレスのみを決定し、第２の情報処理装置２ｉにおいて第２の情報処理装置２ｉのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
【０２６２】
（実施の形態１２）
本発明の実施の形態１２による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
【０２６３】
図３０は、本実施の形態による通信システムの構成を示す図である。図３０において、本実施の形態による通信システムは、通信回線３で互いに接続されている第１の情報処理装置５と、第２の情報処理装置６と、サーバ７ｊとを備える。なお、第１の情報処理装置５、第２の情報処理装置６は、実施の形態３と同様のものであり、その説明を省略する。
【０２６４】
サーバ７ｊは、実施の形態１におけるサーバ４と同様に、第１の情報処理装置５と第２の情報処理装置６との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部７１と、アドレス決定部７３ｊと、アドレス送信部７４と、判断部７５と、トンネル通信識別子生成部４１と、トンネル通信識別子受付部７６とを備える。なお、通信制御部７１、アドレス送信部７４は、実施の形態３と同様のものであり、判断部７５は、実施の形態６と同様のものであり、トンネル通信識別子生成部４１、トンネル通信識別子受付部７６は、実施の形態９と同様のものであり、その説明を省略する。
【０２６５】
アドレス決定部７３ｊは、判断部７５による判断結果と、トンネル通信識別子受付部７６が受け付けたトンネル通信識別子とに基づいて、第１の情報処理装置５と、第２の情報処理装置６との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第１の情報処理装置５の第１のアドレス、および第２の情報処理装置６の第２のアドレスを決定する。アドレスの決定方法については、実施の形態１０におけるアドレス決定部１４ｈと同様であり、その説明を省略する。
【０２６６】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図３１は、サーバ７ｊにおけるアドレスを決定する動作を示すフローチャートである。
【０２６７】
（ステップＳ８０１）通信制御部７１は、第１の情報処理装置５と、第２の情報処理装置６との間でトンネル通信が開始されるかどうか判断する。そして、トンネル通信が開始される場合には、ステップＳ８０２に進み、そうでない場合には、トンネル通信が開始されるまで、ステップＳ８０１の処理を繰り返す。
【０２６８】
（ステップＳ８０２）判断部７５は、第１の情報処理装置５、第２の情報処理装置６がそれぞれ、発呼側であるのか、着呼側であるのかを判断する。
【０２６９】
（ステップＳ８０３）トンネル通信識別子生成部４１は、トンネル通信識別子を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部７６に渡す。
【０２７０】
（ステップＳ８０４）トンネル通信識別子受付部７６は、トンネル通信識別子生成部４１から渡されたトンネル通信識別子を受け付ける。
【０２７１】
（ステップＳ８０５）アドレス決定部７３ｊは、トンネル通信識別子受付部７６が受け付けたトンネル通信識別子、および判断部７５による判断結果に基づいて、アドレスを決定する。このアドレスの決定方法は、実施の形態１０の具体例での説明と同様であり、その説明を省略する。
【０２７２】
（ステップＳ８０６）アドレス送信部７４は、アドレス決定部７３ｊが決定した第１の情報処理装置５のアドレス、および第２の情報処理装置６のアドレスを、第１の情報処理装置５と、第２の情報処理装置６とに送信する。そして、ステップＳ８０１に戻る。
【０２７３】
なお、図３１のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２７４】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態３の具体例と同様であるとする。また、第１の情報処理装置５、第２の情報処理装置６がそれぞれ、ＩＰアドレスと、装置識別情報とをサーバ７ｊに登録する処理は、実施の形態３と同様であり、その説明を省略する。
【０２７５】
次に、第１の情報処理装置５のトンネル通信部５２は、第２の情報処理装置６を識別する第２の装置識別子と、第２の情報処理装置６とトンネル通信を行いたい旨とをサーバ７ｊに送信する。すると、それらは通信制御部７１において受信される。通信制御部７１は、トンネル通信を開始すると判断し（ステップＳ８０１）、第１の情報処理装置５から送信されたパケットのヘッダから第１の情報処理装置５のＩＰアドレスを取得し、図１１で示されるアドレス識別子対応情報を参照し、第１の情報処理装置５の装置識別子「１２３４５６７８」を取得する。また、通信制御部７１は、図１１で示されるアドレス識別子対応情報を参照し、第１の情報処理装置５から送信された装置識別子「９８７６５４３２」に対応するＩＰアドレス「１３１．２０６．１０．２４０」を取得する。そして、通信制御部７１は、第２の情報処理装置６のＩＰアドレスを第１の情報処理装置５に送信する。
【０２７６】
判断部７５は、通信制御部７１が、第１の情報処理装置５から送信された第２の情報処理装置６とトンネル通信を行いたい旨の情報を受信したため、第１の情報処理装置５が発呼側であり、第２の情報処理装置６が着呼側であると判断する（ステップＳ８０２）。そして、判断部７５は、装置識別子「１２３４５６７８」で識別される情報処理装置が発呼側であり、装置識別子「９８７６５４３２」で識別される情報処理装置が着呼側である旨をアドレス決定部７３ｊに渡す。
【０２７７】
トンネル通信識別子生成部４１は、通信制御部７１がトンネル通信を開始する旨の情報を受信したことに対応して、新たなトンネル通信識別子「１１１２２２３３３」を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部７６に渡す（ステップＳ８０３）。すると、そのトンネル通信識別子はトンネル通信識別子受付部７６で受け付けられる（ステップＳ８０４）。
【０２７８】
その後、アドレス決定部７３ｊは、トンネル通信識別子受付部７６が受け付けたトンネル通信識別子と、判断部７５から受け取った判断結果とに基づいて、第１の情報処理装置５、および第２の情報処理装置６で用いるＩＰアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部７４に渡す（ステップＳ８０５）。このアドレスの決定方法は実施の形態１０の具体例と同様であり、その説明を省略する。
【０２７９】
アドレス送信部７４は、アドレス決定部７３ｊが決定した第１の情報処理装置５のＩＰアドレスと、その第１の情報処理装置５の装置識別子との組、および第２の情報処理装置６のＩＰアドレスと、その第２の情報処理装置６の装置識別子との組を受け取ると、通信制御部７１で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のＩＰアドレスを取得する。そして、アドレス送信部７４は、装置識別子とＩＰアドレスとの２つの組を第１の情報処理装置５と、第２の情報処理装置６とに送信する（ステップＳ８０６）。この後の処理は、実施の形態３の具体例と同様であり、その説明を省略する。
【０２８０】
以上のように、本実施の形態による通信システムでは、サーバ７ｊが、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、第１の情報処理装置５、および第２の情報処理装置６の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
【０２８１】
なお、本実施の形態では、アドレス送信部７４がアドレス決定部７３ｊによって決定されたアドレスを送信する場合について説明したが、アドレス送信部７４に代えて、アドレス決定部７３ｊによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ７ｊの管理者がそのアドレスを電子メールやＦＡＸ等によって第１の情報処理装置５のユーザや第２の情報処理装置６のユーザに通知することによって、第１の情報処理装置５や、第２の情報処理装置６において設定されてもよい。
【０２８２】
また、本実施の形態では、サーバ７ｊのアドレス送信部７４が、第２の情報処理装置６にアドレス決定部７３ｊが決定した２つのアドレスを送信する場合について説明したが、アドレス送信部７４は、第２の情報処理装置６に第２の情報処理装置６のアドレスのみを送信してもよい。この場合には、第２の情報処理装置２ｊは、第１の情報処理装置５から送信されたカプセル化された通信対象のデータのヘッダから第１の情報処理装置５のアドレスを取得することができる。
【０２８３】
また、本実施の形態では、サーバ７ｊから第１の情報処理装置５のアドレスと、第２の情報処理装置６のアドレスとの両方を送信する場合について説明したが、サーバ７ｊは、まず第１の情報処理装置５に対しては、第１の情報処理装置５のアドレスを送信し、第２の情報処理装置６に対しては、第２の情報処理装置６のアドレスを送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ７ｊがその相手方のアドレスを送信するようにしてもよい。
【０２８４】
また、実施の形態９，１２では、トンネル通信識別子受付部７６がトンネル通信識別子生成部４１によって生成されたトンネル通信識別子を受け付ける場合について説明したが、前述のように、トンネル通信識別子受付部７６は、例えば、入力デバイスによって入力されたトンネル通信識別子や、記録媒体から読み出されたトンネル通信識別子等を受け付けてもよい。
【０２８５】
（実施の形態１３）
本発明の実施の形態１３による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられる２以上のアドレスが一致したことを検出すると、そのアドレスを変更するものである。
【０２８６】
図３２は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線３で互いに接続されている第１の情報処理装置１ｋと、第２の情報処理装置２ｂと、第３の情報処理装置３ｋと、サーバ４とを備える。なお、第２の情報処理装置２ｂは、実施の形態４と同様のものであり、サーバ４は、実施の形態１と同様のものであり、それらの説明を省略する。
【０２８７】
本実施の形態による第１の情報処理装置１ｋは、２以上の情報処理装置とトンネル通信を行うものであるとする。すなわち、第１の情報処理装置１ｋは、第２の情報処理装置２ｂ、および第３の情報処理装置３ｋとトンネル通信を行うものとする。そのような場合に、例えば、第１の情報処理装置１ｋが第２の情報処理装置２ｂとのトンネル通信における通信対象のデータに対して用いるアドレスが「１９２．１６８．０．１」であり、また、第１の情報処理装置１ｋが第３の情報処理装置３ｋとのトンネル通信における通信対象のデータに対して用いるアドレスが「１９２．１６８．０．１」であるとすると、第１の情報処理装置１ｋが第２の情報処理装置２ｂ、および第３の情報処理装置３ｋとのトンネル通信において用いるアドレスが一致してしまう。トンネル通信とは、仮想的なネットワークのインターフェースを用いて通信を行うようなものであり、トンネル通信において用いるアドレスが一致してしまうと、その仮想的なネットワークのインターフェースに割り当てられたアドレスが一致することになってしまう（例えば、同一のアドレスを持つ２つのＮＩＣを用いて通信を行うような状況となる）。その結果、第１の情報処理装置１ｋは、通信を行うことができなくなる。このような状況が発生した場合に、本実施の形態による第１の情報処理装置１ｋでは、少なくとも一方のアドレスを変更する処理を行うことによって、第１の情報処理装置１ｋが２以上のトンネル通信を同時に行うことができるようにする。
【０２８８】
図３３は、本実施の形態による第１の情報処理装置１ｋの構成を示すブロック図である。本実施の形態による第１の情報処理装置１ｋは、トンネル通信部１１と、アドレス決定部１４ｂと、アドレス送信部１５と、判断部１６と、検出部１８と、アドレス変更部１９とを備える。なお、トンネル通信部１１、アドレス決定部１４ｂ、アドレス送信部１５、判断部１６は、トンネル通信部１１が２以上の通信先の装置とトンネル通信を行うものであり、アドレス送信部１５が変更後のアドレスをも送信するものである以外、実施の形態４と同様であり、その説明を省略する。
【０２８９】
検出部１８は、２以上のトンネル通信において通信対象のデータに対して用いられる２以上のアドレスが一致していることを検出する。例えば、トンネル通信部１１が第２の情報処理装置２ｂとのトンネル通信における通信対象のデータに用いる第１の情報処理装置１ｋのアドレスと、第３の情報処理装置３ｋとのトンネル通信における通信対象のデータに用いる第１の情報処理装置１ｋのアドレスとが一致していることを検出する。
【０２９０】
アドレス変更部１９は、検出部１８が２以上のアドレスが一致していることを検出した場合に、通信対象のデータに対して用いるアドレスを変更する。なお、このアドレスの変更では、例えば、トンネル通信の通信対象のデータに対して用いるアドレスのうち、第１の情報処理装置１ｋのアドレスのみを変更してもよく、あるいは、第１の情報処理装置１ｋのアドレスと、第１の情報処理装置１ｋの通信相手の情報処理装置のアドレスとを変更してもよい。また、アドレス変更部１９は、検出部１８によって一致していることが検出された２以上のアドレスの一部のアドレスを変更することによって、その２以上のアドレスが一致しないようにしてもよく（例えば、２個のアドレスが一致する場合に、一方のアドレスのみを変更してもよい）、あるいは、全部のアドレスを変更してもよい（例えば、２個のアドレスが一致する場合に、両方のアドレスを変更し、一致しないようにしてもよい）。アドレス変更の具体的な方法については後述する。
【０２９１】
図３４は、本実施の形態による第３の情報処理装置３ｋの構成を示すブロック図である。本実施の形態による第３の情報処理装置３ｋは、アドレス受付部３１と、トンネル通信部３２とを備える。アドレス受付部３１、トンネル通信部３２は、それぞれ実施の形態４による第２の情報処理装置２ｂのアドレス受付部２１、トンネル通信部２２と同様のものであり、その説明を省略する。
【０２９２】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作、アドレスを変更する動作について説明する。図３５は、第１の情報処理装置１ｋにおけるアドレスを決定する動作を示すフローチャートである。なお、図３５のフローチャートにおいて、ステップＳ３０１〜Ｓ３０４の処理は、実施の形態４における図１４のフローチャートと同様であり、その説明を省略する。
【０２９３】
（ステップＳ９０１）検出部１８は、トンネル通信部１１が行う２以上のトンネル通信において、通信対象のデータに対して用いられる２以上のアドレスが一致しているかどうか判断する。そして、一致していることを検出した場合には、ステップＳ９０２に進み、そうでない場合には、ステップＳ３０１に戻る。
【０２９４】
（ステップＳ９０２）アドレス変更部１９は、通信対象のデータに対して用いるアドレスを変更する。
【０２９５】
（ステップＳ９０３）アドレス送信部１５は、アドレス変更部１９によって変更されたアドレスを送信する。このアドレスの送信先は、アドレス変更部１９によって変更されたアドレスに関する通信を行う情報処理装置である。例えば、第２の情報処理装置２ｂとのトンネル通信における通信対象のデータに対して用いるアドレスが変更された場合には、変更後のアドレスを第２の情報処理装置２ｂに送信し、第３の情報処理装置３ｋとのトンネル通信における通信対象のデータに対して用いるアドレスが変更された場合には、変更後のアドレスを第３の情報処理装置３ｋに送信する。そして、ステップＳ３０１に戻る。
【０２９６】
なお、図３５のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図３５のフローチャートでは、アドレスの決定に関する処理（ステップＳ３０１〜Ｓ３０４）と、アドレスの変更に関する処理（ステップＳ９０１〜Ｓ９０３）とを別個に行う場合について示しているが、アドレスの決定の処理の直後に、アドレスが一致するかどうかの判断を行い、アドレスが一致しない場合には、アドレスの送信処理を行い、アドレスが一致する場合には、アドレスの変更処理を行った後に、変更後のアドレスを送信する処理を行うようにしてもよい。
【０２９７】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態３の具体例と同様であるとする。また、第１の情報処理装置１ｋ、第２の情報処理装置２ｂ、第３の情報処理装置３ｋがそれぞれ、ＩＰアドレスと、装置識別情報とをサーバ４に登録する処理は、実施の形態３と同様であり、その説明を省略する。また、第１の情報処理装置１ｋと、第２の情報処理装置２ｂとの間でのトンネル通信を開始する処理は、実施の形態４と同様であり、その説明を省略する。また、第１の情報処理装置１ｋと、第３の情報処理装置３ｋとの間でのトンネル通信を開始する処理も、実施の形態４と同様であり、その説明を省略する。ここで、第１の情報処理装置１ｋと、第３の情報処理装置３ｋとの間でのトンネル通信を開始する処理が実行され、そのトンネル通信において、通信対象のデータに用いる第１の情報処理装置１ｋのＩＰアドレス「１９２．１６８．０．１」が、第２の情報処理装置２ｂとの間でのトンネル通信において、通信対象のデータに用いる第１の情報処理装置１ｋのＩＰアドレス「１９２．１６８．０．１」と一致したとする。
【０２９８】
すると、検出部１８は、両者のアドレスが一致すると判断し（ステップＳ９０１）、アドレス変更部１９は、第１の情報処理装置１ｋと、第３の情報処理装置３ｋとの間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスを変更する。具体的には、アドレス変更部１９は、例えば、下記の３つの方法のいずれかによってアドレスを変更する（ステップＳ９０２）。ここで、第１の情報処理装置１ｋと、第３の情報処理装置３ｋとの間で行われるトンネル通信における通信対象のデータに対して用いられる第３の情報処理装置３ｋのアドレスは、「１９２．１６８．０．２」であるとする。また、そのアドレスにおいて、最後の８ビットがホストアドレスであるとする（すなわち、サブネットマスクが「２５５．２５５．２５５．０」であるとする）。
【０２９９】
［ホストアドレスを変更する方法］
アドレス変更部１９は、第１の情報処理装置１ｋのＩＰアドレス「１９２．１６８．０．１」のホストアドレスに１を足して、第１の情報処理装置１ｋのＩＰアドレスを「１９２．１６８．０．２」とする。また、アドレス変更部１９は、第３の情報処理装置３ｋのＩＰアドレス「１９２．１６８．０．２」のホストアドレスにも１を足し、第３の情報処理装置３ｋのＩＰアドレスを「１９２．１６８．０．３」とする。
【０３００】
［ネットワークアドレスを変更する方法］
アドレス変更部１９は、第１の情報処理装置１ｋのＩＰアドレス「１９２．１６８．０．１」のネットワークアドレスに１を足して、第１の情報処理装置１ｋのＩＰアドレスを「１９２．１６８．１．１」とする。また、アドレス変更部１９は、第３の情報処理装置３ｋのＩＰアドレス「１９２．１６８．０．２」のネットワークアドレスにも１を足し、第３の情報処理装置３ｋのＩＰアドレスを「１９２．１６８．１．２」とする。
【０３０１】
［ホストアドレスとネットワークアドレスを変更する方法］
アドレス変更部１９は、第１の情報処理装置１ｋのＩＰアドレス「１９２．１６８．０．１」のネットワークアドレスに１を足し、またホストアドレスにも１を足して、第１の情報処理装置１ｋのＩＰアドレスを「１９２．１６８．１．２」とする。また、アドレス変更部１９は、第３の情報処理装置３ｋのＩＰアドレス「１９２．１６８．０．２」のネットワークアドレスにも１を足し、またホストアドレスにも１を足して、第３の情報処理装置３ｋのＩＰアドレスを「１９２．１６８．１．３」とする。
【０３０２】
なお、３通りのアドレス決定方法について説明したが、アドレス変更部１９は、アドレスの一致が解消するようにアドレスを変更すればよく、これ以外のアドレス変更方法によってアドレスを変更してもよい。例えば、この具体例において、第１の情報処理装置１ｋのＩＰアドレスと、第３の情報処理装置３ｋのＩＰアドレスとが一致しないようにできるのであれば、第１の情報処理装置１ｋのＩＰアドレスのみを変更してもよい。
【０３０３】
また、変更後のアドレスが、他の情報処理装置とのトンネル通信において通信対象のデータに対して用いているアドレスと異なるようにすることができるのであれば、アドレス決定を再度行うことによって、アドレスを変更してもよい。この場合に、トンネル通信における一方の情報処理装置のアドレスのみを変更するのであれば、トンネル通信における他方の情報処理装置のアドレスと重ならないようにする必要がある。
【０３０４】
アドレス送信部１５は、実施の形態１の具体例と同様に、変更された第１の情報処理装置１ｋのＩＰアドレスと、第３の情報処理装置３ｋのＩＰアドレスとを第３の情報処理装置３ｋに送信する（ステップＳ９０３）。その結果、それらのＩＰアドレスが第３の情報処理装置３ｋにおけるアドレス受付部３１で受け付けられ、トンネル通信部３２に渡される。また、トンネル通信部１１は、変更されたアドレスを用いてトンネル通信を行い、トンネル通信部３２は、アドレス受付部３１で受け付けられた変更後のアドレスを用いてトンネル通信を行う。
【０３０５】
以上のように、本実施の形態による通信システムでは、トンネル通信における通信対象のデータに対して用いるアドレスが一致した場合であっても、アドレスを変更することができる。その結果、２以上のトンネル通信を行うことができなくなるような事態を回避することができ、２以上のトンネル通信を適切に行うことができるようにすることができる。
【０３０６】
なお、本実施の形態では、実施の形態４による通信システムにおいて、第１の情報処理装置が検出部１８と、アドレス変更部１９とを備える場合について説明したが、実施の形態４以外の通信システムにおいても、情報処理装置が検出部と、アドレス変更部とを備えてもよい。例えば、実施の形態７，１０による通信システムにおいて、第１の情報処理装置が検出部やアドレス変更部を備えることによって、第１の情報処理装置が２以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、２以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
【０３０７】
（実施の形態１４）
本発明の実施の形態１４による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、アドレスの変更を行うものである。
【０３０８】
本実施の形態による通信システムは、図３２と同様であるとする。ただし、第１の情報処理装置１ｋが第１の情報処理装置１ｍに対応し、第２の情報処理装置２ｂが第２の情報処理装置２ｍに対応するものとする。
【０３０９】
図３６は、本実施の形態による第１の情報処理装置１ｍの構成を示すブロック図である。本実施の形態による第１の情報処理装置１ｍは、トンネル通信部１１と、アドレス決定部１４ｂと、判断部１６と、検出部１８と、アドレス変更部１９と、アドレス変更情報送信部２０とを備える。なお、トンネル通信部１１、アドレス決定部１４ｂ、判断部１６は、実施の形態４と同様のものであり、検出部１８、アドレス変更部１９は、実施の形態１３と同様のものであり、それらの説明を省略する。
【０３１０】
アドレス変更情報送信部２０は、検出部１８が２以上のアドレスが一致していることを検出した場合に、アドレス変更情報を送信する。ここで、アドレス変更情報とは、トンネル通信における通信対象のデータに対して用いるアドレスの変更に関する情報である。アドレス変更情報は、例えば、アドレスの変更を指示するのみの情報であってもよく、あるいは、アドレスをどのように変更するのかに関する指示を含む情報であってもよい。アドレス変更情報は、通信対象のデータに対して用いるアドレスを変更するトンネル通信を行っている通信相手の情報処理装置に送信される。なお、アドレス変更情報送信部２０は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、アドレス変更情報送信部２０と通信回線３との間に図示しない送信デバイスが存在することとなる）。また、アドレス変更情報送信部２０は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０３１１】
図３７は、本実施の形態による第２の情報処理装置２ｍの構成を示すブロック図である。本実施の形態による第２の情報処理装置２ｍは、トンネル通信部２２と、アドレス決定部２６ｃと、判断部２７と、アドレス変更情報受信部２９と、アドレス変更部３０とを備える。なお、トンネル通信部２２、アドレス決定部２６ｃ、判断部２７は、実施の形態５と同様であり、その説明を省略する。
【０３１２】
アドレス変更情報受信部２９は、アドレス変更情報を受信する。なお、アドレス変更情報受信部２９は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、アドレス変更情報受信部２９と通信回線３との間に図示しない受信デバイスが存在することとなる）。また、アドレス変更情報受信部２９は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０３１３】
アドレス変更部３０は、アドレス変更情報受信部２９がアドレス変更情報を受信した場合に、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。このアドレス変更部３０がアドレスを変更する処理は、実施の形態１３のアドレス変更部１９による処理と同様であり、その説明を省略する。
【０３１４】
次に、本実施の形態による通信システムの動作、特にアドレスを決定し、アドレスを変更する動作について説明する。図３８は、第１の情報処理装置１ｍによるアドレスを決定し、アドレスを変更する動作を示すフローチャートである。なお、図３８において、ステップＳ１００１以外の処理は、実施の形態１３の図３５のフローチャートと同様であり、その説明を省略する。
【０３１５】
（ステップＳ１００１）アドレス変更情報送信部２０は、アドレス変更情報を送信する。このアドレス変更情報の送信先は、通信対象のデータに対して用いるアドレスを変更するトンネル通信を行っている通信相手の情報処理装置である。
【０３１６】
なお、図３８のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０３１７】
図３９は、第２の情報処理装置２ｍによるアドレスを決定し、アドレスを変更する動作を示すフローチャートである。なお、図３９において、ステップＳ１１０１、Ｓ１１０２以外の処理は、トンネル通信部１１がトンネル通信部２２となり、アドレス決定部１４ｂがアドレス決定部２６ｃとなり、判断部１６が判断部２７となる以外、実施の形態１３の図３５のフローチャートと同様であり、その説明を省略する。
【０３１８】
（ステップＳ１１０１）アドレス変更情報受信部２９は、アドレス変更情報を受信したかどうか判断する。そして、アドレス変更情報を受け付けた場合には、ステップＳ１１０２に進み、そうでない場合には、ステップＳ３０１に戻る。
【０３１９】
（ステップＳ１１０２）アドレス変更部３０は、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。その後、トンネル通信部２２は、その変更後のアドレスを用いて、トンネル通信を行うことになる。そして、ステップＳ３０１に戻る。
【０３２０】
なお、図３９のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０３２１】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態１３の具体例と同様であるとする。まず、第１の情報処理装置１ｍと、第３の情報処理装置３ｋとがトンネル通信を開始し、その後に、第１の情報処理装置１ｍと、第２の情報処理装置２ｍとがトンネル通信を開始する処理については、実施の形態５と同様であり、その説明を省略する。
【０３２２】
第１の情報処理装置１ｍと、第２の情報処理装置２ｍとがトンネル通信を開始した後に、第１の情報処理装置１ｍが第３の情報処理装置３ｋとのトンネル通信における通信対象のデータに対して用いている第１の情報処理装置１ｍのＩＰアドレスと、第２の情報処理装置２ｍとのトンネル通信における通信対象のデータに対して用いている第１の情報処理装置１ｍのＩＰアドレスとが共に「１９２．１６８．０．１」であり、一致すると検出部１８によって検出されたとする（ステップＳ９０１）。すると、アドレス変更情報送信部２０は、第２の情報処理装置２ｍにアドレス変更情報を送信する（ステップＳ１００１）。また、第１の情報処理装置１ｍのアドレス変更部１９は、実施の形態１３と同様にして、第２の情報処理装置２ｍとのトンネル通信における通信対象のデータに対して用いるＩＰアドレスを変更する（ステップＳ９０２）。
【０３２３】
第２の情報処理装置２ｍのアドレス変更情報受信部２９は、第１の情報処理装置１ｍから送信されたアドレス変更情報を、トンネル通信部２２を介して受け付ける（ステップＳ１１０１）。そして、アドレス変更部３０は、第２の情報処理装置２ｍが第１の情報処理装置１ｍとのトンネル通信における通信対象のデータに対して用いるＩＰアドレスを変更する（ステップＳ１１０２）。このアドレス変更部３０におけるアドレスの変更は、第１の情報処理装置１ｍにおけるアドレス変更部１９と同様になされるものとする。したがって、第１の情報処理装置１ｍと、第２の情報処理装置２ｍとにおいて、別々にアドレスの変更がなされたとしても、その変更後のアドレスは、第１の情報処理装置１ｍと、第２の情報処理装置２ｍとにおいて同じものであるとする。
【０３２４】
なお、アドレスをどのように変更するのかを示す情報が、アドレス変更情報に含まれるようにしてもよい。例えば、第１の情報処理装置１ｍにおいて、第１の情報処理装置１ｍと、第２の情報処理装置２ｍのホストアドレスに１を足すアドレス変更を行う場合には、そのアドレス変更を示す情報を含むアドレス変更情報をアドレス変更情報送信部２０が第２の情報処理装置２ｍに送信することによって、第２の情報処理装置２ｍでは、そのアドレス変更情報に基づいて、第１の情報処理装置１ｍと、第２の情報処理装置２ｍのホストアドレスに１を足すアドレス変更を行うことができる。その結果、第１の情報処理装置１ｍと、第２の情報処理装置２ｍとにおいて、別個にアドレスの変更を行ったとしても、その変更後のアドレスが同一のものとなる。
【０３２５】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｍにおいて、２以上のアドレスが一致することが検知された場合に、そのアドレスを変更すると共に、アドレス変更情報を通信相手の第２の情報処理装置２ｍに送信することによって、第２の情報処理装置２ｍにおいて、第１の情報処理装置１ｍにおいて行われたのと同様のアドレスの変更を行うことができる。その結果、第１の情報処理装置１ｍと、第２の情報処理装置２ｍとは、その変更後のアドレスを用いてトンネル通信を行うことができ、また、第１の情報処理装置１ｍにおいて発生したアドレスの一致をも解消することができる。
【０３２６】
なお、本実施の形態では、実施の形態５による通信システムにおいて、第１の情報処理装置が検出部１８等を備え、第２の情報処理装置がアドレス変更情報受信部２９等を備える場合について説明したが、実施の形態５以外の通信システムにおいても、第１の情報処理装置等が検出部１８等を備えてもよい。例えば、実施の形態８，１１による通信システムにおいて、第１の情報処理装置や第２の情報処理装置が検出部やアドレス変更部を備えることによって、第１の情報処理装置が２以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、２以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
【０３２７】
（実施の形態１５）
本発明の実施の形態１５による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられる２以上のアドレスが一致したことを検出すると、そのアドレスをサーバにおいて変更するものである。
【０３２８】
本実施の形態による通信システムは、図３２と同様であるとする。ただし、第１の情報処理装置１ｋが第１の情報処理装置１ｎに対応し、第２の情報処理装置２ｂが第２の情報処理装置２ｎに対応し、サーバ４がサーバ７ｎに対応するものとする。なお、第３の情報処理装置３ｋは、実施の形態１３と同様であるとする。
【０３２９】
図４０は、本実施の形態による第１の情報処理装置１ｎの構成を示すブロック図である。本実施の形態による第１の情報処理装置１ｎは、アドレス受付部５１と、トンネル通信部５２と、検出部５３と、アドレス一致情報送信部５４と、アドレス変更情報受信部５５と、アドレス変更部５６とを備える。なお、アドレス受付部５１、トンネル通信部５２は、トンネル通信部５２が２以上の通信先の装置とトンネル通信を行うものである以外、実施の形態３と同様であり、検出部５３は、実施の形態１３の検出部１８と同様のものであり、それらの説明を省略する。
【０３３０】
アドレス一致情報送信部５４は、検出部５３が２以上のアドレスが一致していることを検出した場合に、アドレス一致情報をサーバ７ｎに送信する。ここで、アドレス一致情報とは、トンネル通信における通信対象のデータに対して用いられるアドレスが一致している旨を示す情報である。このアドレス一致情報には、例えば、どのトンネル通信における通信対象のデータに対して用いるアドレスが、他のトンネル通信における通信対象のデータに対して用いるアドレスと一致したのかを示す情報などが含まれてもよい。なお、アドレス一致情報送信部５４は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、アドレス一致情報送信部５４と通信回線３との間に図示しない送信デバイスが存在することとなる）。またアドレス一致情報送信部５４は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０３３１】
アドレス変更情報受信部５５は、アドレス変更情報を受信する。ここで、アドレス変更情報とは、アドレスの変更に関する情報である。アドレス変更情報は、例えば、実施の形態１３で説明したように、アドレスの変更を指示するのみの情報であってもよく、アドレスをどのように変更するのかに関する指示（例えば、ホストアドレスに１を足すなど）を含む情報であってもよく、あるいは、変更後のアドレスを示す情報であってもよい。なお、アドレス変更情報受信部５５は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、アドレス変更情報受信部５５と通信回線３との間に図示しない受信デバイスが存在することとなる）。また、アドレス変更情報受信部５５は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０３３２】
アドレス変更部５６は、通信対象のデータに対して用いるアドレスを変更する。このアドレスの変更は、アドレス変更情報受信部が受信したアドレス変更情報に基づいて行われる。例えば、アドレス変更情報がどのようにアドレスを変更するのかを示す情報である場合には、アドレス変更部５６は、そのアドレス変更情報に応じて、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。
【０３３３】
図４１は、本実施の形態による第２の情報処理装置２ｎの構成を示すブロック図である。本実施の形態による第２の情報処理装置２ｎは、アドレス受付部６１と、トンネル通信部６２と、アドレス変更情報受信部６３と、アドレス変更部６４とを備える。なお、アドレス受付部６１、トンネル通信部６２は、実施の形態３と同様であり、その説明を省略する。また、アドレス変更情報受信部６３、アドレス変更部６４は、上述のアドレス変更情報受信部５５、アドレス変更部５６と同様のものであり、その説明を省略する。
【０３３４】
図４２は、本実施の形態によるサーバ７ｎの構成を示すブロック図である。本実施の形態によるサーバ７ｎは、通信制御部７１と、アドレス決定部７３ｄと、アドレス送信部７４と、判断部７５と、アドレス一致情報受信部７７と、アドレス変更情報構成部７８と、アドレス変更情報送信部７９とを備える。なお、通信制御部７１、アドレス決定部７３ｄ、アドレス送信部７４、判断部７５は、実施の形態６と同様であり、その説明を省略する。
【０３３５】
アドレス一致情報受信部７７は、アドレス一致情報を受信する。なお、アドレス一致情報受信部７７は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、アドレス一致情報受信部７７と通信回線３との間に図示しない受信デバイスが存在することとなる）。また、アドレス一致情報受信部７７は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０３３６】
アドレス変更情報構成部７８は、アドレス一致情報受信部７７がアドレス一致情報を受信した場合に、アドレス変更情報を構成する。アドレス変更情報構成部７８は、例えば、アドレス変更情報を新たに生成してもよく、あるいは、所定の記録媒体等において記憶されているアドレス変更情報を読み出してもよい。
【０３３７】
アドレス変更情報送信部７９は、アドレス変更情報構成部７８が構成したアドレス変更情報を送信する。なお、アドレス変更情報送信部７９は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、アドレス変更情報送信部７９と通信回線３との間に図示しない送信デバイスが存在することとなる）。また、アドレス変更情報送信部７９は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０３３８】
次に、本実施の形態による通信システムの動作、特にアドレスを決定し、アドレスを変更する動作について説明する。図４３は、サーバ７ｎにおけるアドレスを決定する動作を示すフローチャートである。なお、ステップＳ４０１〜Ｓ４０４の処理は、実施の形態６の図１８のフローチャートと同様であり、その説明を省略する。
【０３３９】
（ステップＳ１２０１）アドレス一致情報受信部７７は、アドレス一致情報を受信したかどうか判断する。そして、アドレス一致情報を受信した場合には、ステップＳ１２０２に進み、そうでない場合には、ステップＳ４０１に戻る。
【０３４０】
（ステップＳ１２０２）アドレス変更情報構成部７８は、アドレス変更情報を構成する。
【０３４１】
（ステップＳ１２０３）アドレス変更情報送信部７９は、アドレス変更情報構成部７８によって構成されたアドレス変更情報を、情報処理装置に送信する。そして、ステップＳ４０１に戻る。
【０３４２】
なお、図４３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０３４３】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図５と同様である。また、情報処理装置やサーバのＩＰアドレス、装置識別子も実施の形態１３の具体例と同様であるとする。まず、第１の情報処理装置１ｎと、第３の情報処理装置３ｋとがトンネル通信を開始し、その後に、第１の情報処理装置１ｎと、第２の情報処理装置２ｎとがトンネル通信を開始する処理については、実施の形態１４と同様であり、その説明を省略する。
【０３４４】
第１の情報処理装置１ｎと、第２の情報処理装置２ｎとがトンネル通信を開始した後に、第１の情報処理装置１ｎが第３の情報処理装置３ｋとのトンネル通信における通信対象のデータに対して用いている第１の情報処理装置１ｎのＩＰアドレスと、第２の情報処理装置２ｎとのトンネル通信における通信対象のデータに対して用いている第１の情報処理装置１ｎのＩＰアドレスとが共に「１９２．１６８．０．１」であり、一致すると検出部５３によって検出されたとする。すると、アドレス一致情報送信部５４は、第１の情報処理装置１ｎと、第２の情報処理装置２ｎとの間で行われるトンネル通信における通信対象のデータに対して用いる第１の情報処理装置１ｎのアドレス「１９２．１６８．０．１」と、第２の情報処理装置２ｎのアドレス「１９２．１６８．０．２」と、第１の情報処理装置１ｎのアドレスが他のトンネル通信で用いられるアドレスと一致した旨を示す情報と、第２の情報処理装置２ｎの装置識別情報とを含むアドレス一致情報をサーバ７ｎに送信する。
【０３４５】
すると、そのアドレス一致情報がアドレス一致情報受信部７７で受信される（ステップＳ１２０１）。そして、アドレス変更情報構成部７８は、第１の情報処理装置１ｎと、第２の情報処理装置２ｎとの間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスが、他のトンネル通信の通信対象のデータに対して用いられるアドレスと一致したと判断し、第１の情報処理装置１ｎと、第２の情報処理装置２ｎとの間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを変更するためのアドレス変更情報を構成する（ステップＳ１２０２）。このアドレス変更情報は、ホストアドレスに１を足す旨の指示を含む情報であるとする。そのアドレス変更情報は、アドレス変更情報送信部７９によって第１の情報処理装置１ｎと、第２の情報処理装置２ｎとに送信される（ステップＳ１２０３）。アドレス変更情報送信部７９は、アドレス変更情報の送信先である第１の情報処理装置１ｎのアドレスを、アドレス一致情報の送信元アドレスから知ることができ、また、第２の情報処理装置２ｎのアドレスを、アドレス一致情報に含まれた第２の情報処理装置２ｎの装置識別情報と、図１１で示されるアドレス識別子対応情報とを用いることによって知ることができる。
【０３４６】
そのアドレス変更情報は、第１の情報処理装置１ｎのアドレス変更情報受信部５５で受信され、アドレス変更部５６は、そのアドレス変更情報に応じて、第１の情報処理装置１ｎのＩＰアドレス「１９２．１６８．０．１」、および第２の情報処理装置２ｎのＩＰアドレス「１９２．１６８．０．２」に１を足すことによってアドレスの変更を行う。また、アドレス変更情報は、第２の情報処理装置２ｎのアドレス変更情報受信部６３で受信され、第２の情報処理装置２のアドレス変更部６４も、そのアドレス変更情報に応じて、第１の情報処理装置１ｎのＩＰアドレス「１９２．１６８．０．１」、および第２の情報処理装置２ｎのＩＰアドレス「１９２．１６８．０．２」に１を足すことによってアドレスの変更を行う。その後、変更後のアドレスによって、第１の情報処理装置１ｎと、第２の情報処理装置２ｎとの間でのトンネル通信が行われる。
【０３４７】
この具体例では、アドレス変更情報がアドレスをどのように変更するのかを示す情報である場合について説明したが、アドレス変更情報は、変更後のアドレスを示す情報であってもよく、その場合には、アドレス変更部５６等は、第１の情報処理装置１ｎのアドレス等を、そのアドレス変更情報の示すアドレスに変更することになる。
【０３４８】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｎにおいて、２以上のアドレスが一致することが検知された場合に、２以上のアドレスが一致したことを示すアドレス一致情報をサーバ７ｎに送信することによって、サーバ７ｎに、アドレスが一致した旨を通知することができる。その後、サーバ７ｎがアドレス一致情報の受信に応じて、アドレス変更情報を情報処理装置に送ることによって、各情報処理装置において、そのアドレス変更情報に応じたアドレスの変更を行うことができ、その結果、第１の情報処理装置１ｎと、第２の情報処理装置２ｎとは、その変更後のアドレスを用いてトンネル通信を行うことができ、また、第１の情報処理装置１ｎにおいて発生したアドレスの一致をも解消することができる。
【０３４９】
なお、本実施の形態では、実施の形態６による通信システムにおいて、第１の情報処理装置がアドレス一致情報送信部５４等をさらに備え、第２の情報処理装置がアドレス変更情報受信部６３等をさらに備え、サーバがアドレス一致情報受信部７７等をさらに備える場合について説明したが、実施の形態６以外の通信システムにおいても、サーバ等がアドレス一致情報受信部７７等を備えることによって、本実施の形態と同様に、サーバから送信されるアドレス変更情報に基づいたアドレスの変更が各情報処理装置で行われるようにしてもよい。例えば、実施の形態９，１２による通信システムにおいて、サーバがアドレス一致情報受信部や、アドレス変更情報構成部、アドレス変更情報送信部を備えることによって、第１の情報処理装置が２以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、２以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
【０３５０】
また、実施の形態１３〜１５では、具体例において２個のアドレスが一致した場合にアドレスを変更する場合について説明したが、３個以上のアドレスが一致した場合にも、上記と同様のアドレス変更の処理を行い、アドレスの一致を解消するようにしてもよい。
【０３５１】
また、上記各実施の形態の具体例において、第１の情報処理装置が第２の情報処理装置の装置識別子を記録媒体から受け取る場合について説明したが、第１の情報処理装置は、第２の情報処理装置の装置識別子を別の手段、例えば、入力デバイスによる入力や、通信回線を介した受信等によって受け取ってもよい。
【０３５２】
また、上記各実施の形態において、第１の情報処理装置と通信回線３との間や、第２の情報処理装置と通信回線３との間に、単数または複数のＮＡＴ機能を有する通信制御装置（例えば、ルータ）が存在してもよい。この場合には、その通信制御装置において、ＩＰアドレスの変換等が行われることとなる。
【０３５３】
また、上記各実施の形態では、サーバ４，７をＩＰアドレスによって特定する場合について説明したが、サーバ４，７をドメイン名（例えば、ｓｅｒｖｅｒ．ｐａｎａ．ｎｅｔなど）によって特定してもよい。この場合には、そのドメイン名がＤＮＳサーバを用いて、ＩＰアドレスに変換されることにより、サーバ４，７を特定することができる。
【０３５４】
また、上記各実施の形態における通信回線３を介して行われる通信のプロトコルは、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ４）であってもよく、あるいは、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ６）であってもよい。
【０３５５】
また、上記各実施の形態において、数字で示される装置識別子を用いる場合について主に説明したが、装置識別子はその他のものであってもよく、例えば、アルファベットや平仮名などの文字列で示されるものであってもよい。
【０３５６】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０３５７】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における情報処理装置、またはサーバを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第１の情報処理装置を識別する第１の装置識別子と、第２の情報処理装置を識別する第２の装置識別子とに基づいて、第１の情報処理装置と第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのものである。
【０３５８】
また、このプログラムでは、コンピュータに、第１の装置識別子および／または第２の装置識別子を受け付ける識別子受付ステップをさらに実行させ、アドレス決定ステップで、識別子受付ステップで受け付けた第１の装置識別子および／または第２の装置識別子を用いて、アドレスの決定を行ってもよい。
【０３５９】
また、他のプログラムは、コンピュータに、トンネル通信を行う第１の情報処理装置と、第２の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、判断ステップによる判断結果に基づいて、第１の情報処理装置と第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を実行させるためのものである。
【０３６０】
また、他のプログラムは、コンピュータに、第１の情報処理装置を識別する第１の装置識別子と、第２の情報処理装置を識別する第２の装置識別子と、第１の情報処理装置と第２の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、第１の情報処理装置と、第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのものである。
【０３６１】
また、このプログラムでは、コンピュータに、第１の装置識別子および／または第２の装置識別子を受け付ける識別子受付ステップをさらに実行させ、アドレス決定ステップでは、識別子受付ステップで受け付けた第１の装置識別子および／または第２の装置識別子を用いて、アドレスの決定を行ってもよい。
【０３６２】
また、このプログラムでは、コンピュータに、トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに実行させ、アドレス決定ステップでは、トンネル通信識別子受付ステップで受け付けたトンネル通信識別子を用いて、アドレスの決定を行ってもよい。
【０３６３】
また、他のプログラムは、コンピュータに、トンネル通信を行う第１の情報処理装置と、第２の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、判断ステップによる判断結果と、第１の情報処理装置と第２の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、第１の情報処理装置と、第２の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を実行させるためのものである。
【０３６４】
また、このプログラムでは、コンピュータに、トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに実行させ、アドレス決定ステップでは、トンネル通信識別子受付ステップで受け付けたトンネル通信識別子を用いて、アドレスの決定を行ってもよい。
【０３６５】
また、他のプログラムは、コンピュータに、２以上の通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、２以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる２以上のアドレスが一致していることを検出する検出ステップと、検出ステップで２以上のアドレスが一致していることを検出した場合に、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
【０３６６】
また、他のプログラムは、コンピュータに、通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、アドレス変更情報に基づいて、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
【０３６７】
また、他のプログラムは、コンピュータに、２以上の通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、２以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる２以上のアドレスが一致していることを検出する検出ステップと、検出ステップで２以上のアドレスが一致していることを検出した場合に、アドレスが一致している旨を示す情報であるアドレス一致情報を送信するアドレス一致情報送信ステップと、アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、アドレス変更情報に基づいて、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
【０３６８】
また、他のプログラムは、コンピュータに、２以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる２以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信ステップと、アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成ステップと、アドレス変更情報を送信するアドレス変更情報送信ステップと、を実行させるためのものである。
【０３６９】
なお、上記プログラムにおいて、情報を送信する識別子受付ステップなどでは、ハードウェアによって行われる処理、例えば、識別子受付ステップにおける入力デバイスなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０３７０】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０３７１】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【産業上の利用可能性】
【０３７２】
以上のように、本発明による通信システム等は、情報処理装置間におけるトンネル通信で用いられるアドレスを簡易なアルゴリズムによって求めることができるものであり、トンネル通信を行う通信システム等において有用である。
【図面の簡単な説明】
【０３７３】
【図１】本発明の実施の形態１による通信システムの構成を示す図
【図２】同実施の形態による第１の情報処理装置の構成を示すブロック図
【図３】同実施の形態による第２の情報処理装置の構成を示すブロック図
【図４】同実施の形態における第１の情報処理装置の動作を示すフローチャート
【図５Ａ】同実施の形態におけるデータ構造を示す図
【図５Ｂ】同実施の形態におけるデータ構造を示す図
【図６】同実施の形態における装置識別子の桁とＩＰアドレスとの対応の一例であるテーブルを示す図
【図７】本発明の実施の形態２による第１の情報処理装置の構成を示す図
【図８】同実施の形態による第２の情報処理装置の構成を示す図
【図９】本発明の実施の形態３による通信システムの構成を示す図
【図１０】同実施の形態におけるサーバの動作を示すフローチャート
【図１１】同実施の形態における装置識別子とＩＰアドレスとの対応の一例を示す図
【図１２】本発明の実施の形態４による第１の情報処理装置の構成を示すブロック図
【図１３】同実施の形態による第２の情報処理装置の構成を示すブロック図
【図１４】同実施の形態における第１の情報処理装置の動作を示すフローチャート
【図１５Ａ】同実施の形態における発呼側、着呼側とＩＰアドレスとの対応の一例であるテーブルを示す図
【図１５Ｂ】同実施の形態における発呼側、着呼側とＩＰアドレスとの対応の一例であるテーブルを示す図
【図１６】本発明の実施の形態５による通信システムの構成を示す図
【図１７】本発明の実施の形態６による通信システムの構成を示す図
【図１８】同実施の形態におけるサーバの動作を示すフローチャート
【図１９】本発明の実施の形態７による第１の情報処理装置の構成を示すブロック図
【図２０】同実施の形態によるサーバの構成を示すブロック図
【図２１】同実施の形態における第１の情報処理装置の動作を示すフローチャート
【図２２Ａ】同実施の形態におけるアドレスの構成の一例を示す図
【図２２Ｂ】同実施の形態における装置識別子の桁とＩＰアドレスとの対応の一例であるテーブルを示す図
【図２３】本発明の実施の形態８による通信システムの構成を示す図
【図２４】本発明の実施の形態９による通信システムの構成を示す図
【図２５】同実施の形態におけるサーバの動作を示すフローチャート
【図２６】本発明の実施の形態１０による第１の情報処理装置の構成を示すブロック図
【図２７】同実施の形態における第１の情報処理装置の動作を示すフローチャート
【図２８Ａ】同実施の形態におけるアドレスの構成の一例を示す図
【図２８Ｂ】同実施の形態における発呼側、着呼側とホストアドレスとの対応の一例であるテーブルを示す図
【図２８Ｃ】同実施の形態における発呼側、着呼側とホストアドレスとの対応の一例であるテーブルを示す図
【図２９】本発明の実施の形態１１による通信システムの構成を示す図
【図３０】本発明の実施の形態１２による通信システムの構成を示す図
【図３１】同実施の形態におけるサーバの動作を示すフローチャート
【図３２】本発明の実施の形態１３による通信システムの構成を示す図
【図３３】同実施の形態による第１の情報処理装置の構成を示すブロック図
【図３４】同実施の形態による第３の情報処理装置の構成を示すブロック図
【図３５】同実施の形態における第１の情報処理装置の動作を示すフローチャート
【図３６】本発明の実施の形態１４による第１の情報処理装置の構成を示すブロック図
【図３７】同実施の形態による第２の情報処理装置の構成を示すブロック図
【図３８】同実施の形態における第１の情報処理装置の動作を示すフローチャート
【図３９】同実施の形態における第２の情報処理装置の動作を示すフローチャート
【図４０】本発明の実施の形態１５による第１の情報処理装置の構成を示すブロック図
【図４１】同実施の形態による第２の情報処理装置の構成を示すブロック図
【図４２】同実施の形態によるサーバの構成を示すブロック図
【図４３】同実施の形態におけるサーバの動作を示すフローチャート
【符号の説明】
【０３７４】
１，１ａ，１ｂ，１ｃ，１ｅ，１ｆ，１ｈ，１ｉ，１ｋ，１ｍ，１ｎ，５    第１の情報処理装置
２，２ａ，２ｂ，２ｃ，２ｆ，２ｉ，２ｍ，２ｎ，６    第２の情報処理装置
３ｋ    第３の情報処理装置
３    通信回線
４，４ｅ，７，７ｄ，７ｇ，７ｊ，７ｎ    サーバ
【図１】
0004595811.tif 000002
【図２】
0004595811.tif 000003
【図３】
0004595811.tif 000004
【図４】
0004595811.tif 000005
【図５Ａ】
0004595811.tif 000006
【図５Ｂ】
0004595811.tif 000007
【図６】
0004595811.tif 000008
【図７】
0004595811.tif 000009
【図８】
0004595811.tif 000010
【図９】
0004595811.tif 000011
【図１０】
0004595811.tif 000012
【図１１】
0004595811.tif 000013
【図１２】
0004595811.tif 000014
【図１３】
0004595811.tif 000015
【図１４】
0004595811.tif 000016
【図１５Ａ】
0004595811.tif 000017
【図１５Ｂ】
0004595811.tif 000018
【図１６】
0004595811.tif 000019
【図１７】
0004595811.tif 000020
【図１８】
0004595811.tif 000021
【図１９】
0004595811.tif 000022
【図２０】
0004595811.tif 000023
【図２１】
0004595811.tif 000024
【図２２Ａ】
0004595811.tif 000025
【図２２Ｂ】
0004595811.tif 000026
【図２３】
0004595811.tif 000027
【図２４】
0004595811.tif 000028
【図２５】
0004595811.tif 000029
【図２６】
0004595811.tif 000030
【図２７】
0004595811.tif 000031
【図２８Ａ】
0004595811.tif 000032
【図２８Ｂ】
0004595811.tif 000033
【図２８Ｃ】
0004595811.tif 000034
【図２９】
0004595811.tif 000035
【図３０】
0004595811.tif 000036
【図３１】
0004595811.tif 000037
【図３２】
0004595811.tif 000038
【図３３】
0004595811.tif 000039
【図３４】
0004595811.tif 000040
【図３５】
0004595811.tif 000041
【図３６】
0004595811.tif 000042
【図３７】
0004595811.tif 000043
【図３８】
0004595811.tif 000044
【図３９】
0004595811.tif 000045
【図４０】
0004595811.tif 000046
【図４１】
0004595811.tif 000047
【図４２】
0004595811.tif 000048
【図４３】
0004595811.tif 000049