JPWO2005074208A1 - 情報処理装置、サーバ、通信システム、アドレス決定方法、アドレス変更方法およびプログラム - Google Patents

情報処理装置、サーバ、通信システム、アドレス決定方法、アドレス変更方法およびプログラム Download PDF

Info

Publication number
JPWO2005074208A1
JPWO2005074208A1 JP2005517416A JP2005517416A JPWO2005074208A1 JP WO2005074208 A1 JPWO2005074208 A1 JP WO2005074208A1 JP 2005517416 A JP2005517416 A JP 2005517416A JP 2005517416 A JP2005517416 A JP 2005517416A JP WO2005074208 A1 JPWO2005074208 A1 JP WO2005074208A1
Authority
JP
Japan
Prior art keywords
address
information processing
communication
identifier
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005517416A
Other languages
English (en)
Other versions
JP4595811B2 (ja
Inventor
前川 肇
前川  肇
池田 巧
巧 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2005074208A1 publication Critical patent/JPWO2005074208A1/ja
Application granted granted Critical
Publication of JP4595811B2 publication Critical patent/JP4595811B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

通信先の装置とトンネル通信を行う通信元の第1の情報処理装置(1)であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部(11)と、通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部(12)と、第1の情報処理装置(1)を識別する通信元装置識別子を記憶している識別子記憶部(13)と、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部(14)とを備える。このような構成により、トンネル通信においてカプセル化される通信対象のデータに対して用いられるアドレスを決定可能な情報処理装置を提供する。

Description

本発明は、通信システム等に関し、特にトンネル通信を行う通信システム等に関する。
従来、通信対象のデータをカプセル化して通信を行うトンネル通信が開発されている。その技術内容は、例えば、特開2003−244188号公報(第1頁等、第3図等)に記載されている。
トンネル通信において、カプセル化される通信対象のデータに関しても、通信端末である各情報処理装置において、IPアドレスを設定する必要がある。そのIPアドレスは、各情報処理端末で同じアドレスとならないように設定されなければならない。ところで、アドレスを割り当てる方法としては、DHCPやAutoIPなどが知られている。
しかしながら、DHCPやAutoIP等によるアドレス割り当て方法は、発見的アルゴリズムを用いている。例えば、AutoIPでは、あらかじめアドレスレンジが設定されており、クライアント側の情報処理装置からサーバに所定のIPアドレスを使用可能かどうか問い合わせ、他の情報処理装置で使用されていなければそのIPアドレスを使用することができ、他の情報処理装置で使用されていれば、他のIPアドレスを使用可能かどうか問い合わせるということが繰り返される。この発見的アルゴリズムは複雑であり、クライアント側の情報処理装置で用いるIPアドレスを決定するのに時間がかかるという問題がある。また、あらかじめ決められたアドレスレンジのIPアドレスを、クライアント側の情報処理装置で重複しないように割り当てるため、クライアント側の情報処理装置がアドレスレンジで割り当て可能なIPアドレスの数量を超えた場合には割り当てを行うことができないという問題がある。
本発明は、上記問題点を解決するためになされたものであり、簡易なアルゴリズムにより、トンネル通信においてカプセル化される通信対象のデータに対して用いられるアドレスを決定可能な通信システム等を提供することを目的とする。
上記目的を達成するため、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部と、情報処理装置を識別する通信元装置識別子を記憶している識別子記憶部と、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
このような構成により、通信先装置識別子と通信元装置識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、トンネル通信において、情報処理装置が発呼側か着呼側かを判断する判断部と、判断部による判断結果に基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
このような構成により、情報処理装置が発呼側か着呼側かの判断結果に基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部と、情報処理装置を識別する通信元装置識別子を記憶している識別子記憶部と、トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、通信先装置識別子と、通信元装置識別子と、トンネル通信識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
このような構成により、通信先装置識別子と通信元装置識別子とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、トンネル通信において、情報処理装置が発呼側か着呼側かを判断する判断部と、トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、判断部による判断結果と、トンネル通信識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
このような構成により、情報処理装置が発呼側か着呼側かの判断結果とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
本発明によるサーバは、第1の情報処理装置を識別する第1の装置識別子、および第2の情報処理装置を識別する第2の装置識別子を受け付ける識別子受付部と、識別子受付部が受け付けた第1の装置識別子と、第2の装置識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信におけるカプセル化された通信対象のデータに対して用いる第1の情報処理装置の第1のアドレス、および第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第1のアドレスおよび第2のアドレスを出力するアドレス出力部と、を備えたものである。
このような構成により、第1の装置識別子と第2の装置識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
また、本発明によるサーバは、トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断部と、判断部による判断結果に基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置の第1のアドレス、および第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第1のアドレスおよび第2のアドレスを出力するアドレス出力部と、を備えたものである。
このような構成により、第1の情報処理装置と第2の情報処理装置とが発呼側であるのか、着呼側であるのかの判断結果に基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
また、本発明によるサーバは、第1の情報処理装置を識別する第1の装置識別子、および第2の情報処理装置を識別する第2の装置識別子を受け付ける識別子受付部と、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、識別子受付部が受け付けた第1の装置識別子と、第2の装置識別子と、トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置の第1のアドレス、および第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第1のアドレスおよび第2のアドレスを出力するアドレス出力部と、を備えたものである。
このような構成により、第1の装置識別子と第2の装置識別子とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
また、本発明によるサーバは、トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断部と、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、判断部による判断結果と、トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置の第1のアドレス、および第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第1のアドレスおよび第2のアドレスを出力するアドレス出力部と、を備えたものである。
このような構成により、第1の情報処理装置と第2の情報処理装置とが発呼側であるのか、着呼側であるのかの判断結果とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
また、本発明によるサーバは、2以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる2以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信部と、アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成部と、アドレス変更情報を送信するアドレス変更情報送信部と、を備えたものである。
このような構成により、2以上のトンネル通信において、通信対象のデータに対して用いられる2以上のアドレスが一致していることが検出された場合に、アドレス変更情報を構成し、送信することによって、その2以上のアドレスの一致を解消することができうる。
このように、本発明による情報処理装置等によれば、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを、簡易な方法によって決定することができる。
図1は本発明の実施の形態1による通信システムの構成を示す図である。 図2は同実施の形態による第1の情報処理装置の構成を示すブロック図である。 図3は同実施の形態による第2の情報処理装置の構成を示すブロック図である。 図4は同実施の形態における第1の情報処理装置の動作を示すフローチャートである。 図5Aは同実施の形態におけるデータ構造を示す図である。 図5Bは同実施の形態におけるデータ構造を示す図である。 図6は同実施の形態における装置識別子の桁とIPアドレスとの対応の一例であるテーブルを示す図である。 図7は本発明の実施の形態2による第1の情報処理装置の構成を示す図である。 図8は同実施の形態による第2の情報処理装置の構成を示す図である。 図9は本発明の実施の形態3による通信システムの構成を示す図である。 図10は同実施の形態におけるサーバの動作を示すフローチャートである。 図11は同実施の形態における装置識別子とIPアドレスとの対応の一例を示す図である。 図12は本発明の実施の形態4による第1の情報処理装置の構成を示すブロック図である。 図13は同実施の形態による第2の情報処理装置の構成を示すブロック図である。 図14は同実施の形態における第1の情報処理装置の動作を示すフローチャートである。 図15Aは同実施の形態における発呼側、着呼側とIPアドレスとの対応の一例であるテーブルを示す図である。 図15Bは同実施の形態における発呼側、着呼側とIPアドレスとの対応の一例であるテーブルを示す図である。 図16は本発明の実施の形態5による通信システムの構成を示す図である。 図17は本発明の実施の形態6による通信システムの構成を示す図である。 図18は同実施の形態におけるサーバの動作を示すフローチャートである。 図19は本発明の実施の形態7による第1の情報処理装置の構成を示すブロック図である。 図20は同実施の形態によるサーバの構成を示すブロック図である。 図21は同実施の形態における第1の情報処理装置の動作を示すフローチャートである。 図22Aは同実施の形態におけるアドレスの構成の一例を示す図である。 図22Bは同実施の形態における装置識別子の桁とIPアドレスとの対応の一例であるテーブルを示す図である。 図23は本発明の実施の形態8による通信システムの構成を示す図である。 図24は本発明の実施の形態9による通信システムの構成を示す図である。 図25は同実施の形態におけるサーバの動作を示すフローチャートである。 図26は本発明の実施の形態10による第1の情報処理装置の構成を示すブロック図である。 図27は同実施の形態における第1の情報処理装置の動作を示すフローチャートである。 図28Aは同実施の形態におけるアドレスの構成の一例を示す図である。 図28Bは同実施の形態における発呼側、着呼側とホストアドレスとの対応の一例であるテーブルを示す図である。 図28Cは同実施の形態における発呼側、着呼側とホストアドレスとの対応の一例であるテーブルを示す図である。 図29は本発明の実施の形態11による通信システムの構成を示す図である。 図30は本発明の実施の形態12による通信システムの構成を示す図である。 図31は同実施の形態におけるサーバの動作を示すフローチャートである。 図32は本発明の実施の形態13による通信システムの構成を示す図である。 図33は同実施の形態による第1の情報処理装置の構成を示すブロック図である。 図34は同実施の形態による第3の情報処理装置の構成を示すブロック図である。 図35は同実施の形態における第1の情報処理装置の動作を示すフローチャートである。 図36は本発明の実施の形態14による第1の情報処理装置の構成を示すブロック図である。 図37は同実施の形態による第2の情報処理装置の構成を示すブロック図である。 図38は同実施の形態における第1の情報処理装置の動作を示すフローチャートである。 図39は同実施の形態における第2の情報処理装置の動作を示すフローチャートである。 図40は本発明の実施の形態15による第1の情報処理装置の構成を示すブロック図である。 図41は同実施の形態による第2の情報処理装置の構成を示すブロック図である。 図42は同実施の形態によるサーバの構成を示すブロック図である。 図43は同実施の形態におけるサーバの動作を示すフローチャートである。
符号の説明
1,1a,1b,1c,1e,1f,1h,1i,1k,1m,1n,5 第1の情報処理装置
2,2a,2b,2c,2f,2i,2m,2n,6 第2の情報処理装置
3k 第3の情報処理装置
3 通信回線
4,4e,7,7d,7g,7j,7n サーバ
(実施の形態1)
本発明の実施の形態1による通信システムについて、図面を参照しながら説明する。
図1は、本実施の形態による通信システムの構成を示す図である。図1において、本実施の形態による通信システムは、有線または無線の通信回線3で互いに接続されている第1の情報処理装置1と、第2の情報処理装置2と、サーバ4とを備える。通信回線3は、例えば、インターネットなどである。本実施の形態では、第1の情報処理装置1において、トンネル通信でカプセル化される通信対象のデータに対して用いるアドレスが決定されるものとする。
図2は、第1の情報処理装置1の構成を示すブロック図である。図2において、第1の情報処理装置1は、トンネル通信部11と、識別子受付部12と、識別子記憶部13と、アドレス決定部14と、アドレス送信部15とを備える。
トンネル通信部11は、第1の情報処理装置1と、第2の情報処理装置2との間でトンネル通信を行う。ここで、トンネル通信とは、通信対象のデータをカプセル化して行われる通信である。トンネル通信部11では、通信対象のデータのカプセル化や、送信されてきたカプセル化されたデータに対するカプセルの解除等が行われる。カプセル化とは、通信対象のデータをプロトコルで規定されたヘッダなどで包み込むことである。カプセル化される通信対象のデータは、暗号化されてもよく、あるいは暗号化されなくてもよい。トンネル通信の一例としては、UDPトンネル通信や、HTTPトンネル通信、L2TPトンネル通信などがある。なお、トンネル通信部11は、通信を行うための通信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、トンネル通信部11と通信回線3との間に図示しない通信デバイスや、その通信デバイスにデータを渡すソフトウェア等が存在してもよい)。また、トンネル通信部11は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。また、トンネル通信部11は、例えば、所定の記録媒体(例えば、DVDやハードディスク等)から読み出すことによって通信対象のデータを取得してもよく、あるいは所定の装置から送信、あるいは入力されたデータを受け付けることによって通信対象のデータを取得してもよい。
識別子受付部12は、通信先の装置、すなわち第2の情報処理装置2を識別する通信先装置識別子を受け付ける。なお、識別子受付部12は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された通信先装置識別子を受け付けてもよく、有線もしくは無線の通信回線を介して送信された通信先装置識別子を受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された通信先装置識別子を受け付けてもよい。
識別子記憶部13は、通信元の装置、すなわち第1の情報処理装置1を識別する通信元装置識別子を記憶している。なお、識別子記憶部13は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現され得る。識別子記憶部13での記憶は、外部のストレージデバイス等から読み出した通信元装置識別子のRAM等における一時的な記憶でもよく、あるいは、ROM等における長期的な記憶でもよい。
なお、本実施の形態では、第1の情報処理装置1を基準として第1の情報処理装置1を通信元とし、第2の情報処理装置2を通信先としているために、第1の情報処理装置1を識別する装置識別子を通信元装置識別子と呼び、第2の情報処理装置2を識別する装置識別子を通信先装置識別子と呼ぶこととするが、通信先、通信元というのは便宜上のものであって、例えば、第2の情報処理装置2を基準とする場合には、通信元、通信先が入れ替わってもよい。例えば、第1の情報処理装置を識別する装置識別子を通信先装置識別子と呼んでもよい。
また、この通信先装置識別子、および通信元装置識別子は、互いに異なるものであり、例えば、MACアドレスや、EUI64ベースのアドレスなどのGUID(Global Unique ID)などを用いてもよい。
アドレス決定部14は、識別子受付部12が受け付けた通信先装置識別子と、識別子記憶部13が記憶している通信元装置識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレス(仮想インターフェース・アドレスや、トンネルモード・アドレスと言われることもある)を決定する。このアドレスの決定においては、通信先装置識別子と通信元装置識別子とに基づいて、通信先の装置(すなわち、第2の情報処理装置2)で用いるアドレスと、通信元の装置(すなわち、第1の情報処理装置1)で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。後者の方法としては、例えば、所定のテーブルを用いて行う方法や、通信先装置識別子と通信元装置識別子とを比較し、その比較結果に基づいて行う方法などがある。アドレスを決定する方法の具体例については、後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
アドレス送信部15は、アドレス決定部14で決定されたアドレスを送信する。この送信は、第2の情報処理装置2に対して行われてもよく、サーバ4に対して行われてもよく、その他のアドレスを管理する装置に対して行われてもよい。サーバ4等に送信された場合には、そのサーバ4等から、直接的に(例えば、送信によって)、または間接的に(例えば、他のサーバを介しての送信や、記録媒体を介することによって)、第2の情報処理装置2に対してアドレスが渡されてもよい。また、送信の対象となるアドレスは、通信先の装置(すなわち、第2の情報処理装置2)のアドレスのみであってもよく、通信元の装置(すなわち、第1の情報処理装置1)のアドレスを含んでいてもよい。なお、アドレス送信部15は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス送信部15と通信回線3との間に図示しない通信デバイスや、その通信デバイスにデータを渡すソフトウェア等が存在してもよい)。また、アドレス送信部15は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
図3は、第2の情報処理装置2の構成を示すブロック図である。図3において、第2の情報処理装置2は、アドレス受付部21と、トンネル通信部22と、識別子記憶部23とを備える。
アドレス受付部21は、トンネル通信における通信対象のデータに対して用いられるアドレスを受け付ける。アドレス受付部21は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力されたアドレスを受け付けてもよく、有線もしくは無線の通信回線を介して送信されたアドレスを受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたアドレスを受け付けてもよい。本実施の形態では、第1の情報処理装置1から送信されたアドレスを受け付けるものとする。
トンネル通信部22は、第1の情報処理装置1との間でトンネル通信を行う。そのトンネル通信において、通信対象のデータに対して用いるアドレスとして、アドレス受付部21が受け付けたアドレスを用いる。その他の構成は、トンネル通信部11と同様であり、その説明を省略する。
識別子記憶部23は、通信先の装置、すなわち第2の情報処理装置2を識別する通信先装置識別子を記憶している。なお、識別子記憶部23は、通信元装置識別子に代えて通信先装置識別子を記憶している以外、第1の情報処理装置1における識別子記憶部13と同様のものであり、その説明を省略する。
サーバ4は、第1の情報処理装置1と、第2の情報処理装置2との間におけるトンネル通信の確立に関する処理を行う。例えば、第1の情報処理装置1に第2の情報処理装置2のアドレスを通知する。
次に、本実施の形態による通信システムの動作、特に第1の情報処理装置1においてアドレスを決定する動作について説明する。図4は、第1の情報処理装置1におけるアドレスを決定する動作を示すフローチャートである。
(ステップS101)識別子受付部12は、通信先装置識別子を受け付けたかどうか判断する。そして、通信先装置識別子を受け付けた場合には、その通信先装置識別子をアドレス決定部14に渡してステップS102に進み、そうでない場合には、ステップS101の動作を繰り返す。
(ステップS102)アドレス決定部14は、識別子記憶部13が記憶している通信元装置識別子と、識別子受付部12が受け付けた通信先装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。そして、その決定したアドレスをトンネル通信部11と、アドレス送信部15とに渡す。
(ステップS103)アドレス送信部15は、アドレス決定部14が決定したアドレスを、第2の情報処理装置2に送信する。そして、ステップS101に戻る。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部12が通信先装置識別子を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、トンネル通信部11が第2の情報処理装置2とトンネル通信を開始するタイミングで、それまでに受け付けられている通信先装置識別子を用いてアドレスを決定してもよい。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成について、図5を用いて説明する。図5は、カプセル化される前の通信対象のデータ(図5A)と、カプセル化された後のデータ(図5B)との一例を示す図である。
図5Aにおいて、通信対象のデータには、IPヘッダ101と、TCP/UDPヘッダ102と、ペイロード103とが含まれている。IPヘッダ101で用いられるIPアドレスとして、アドレス決定部14が決定したアドレスが用いられる。TCP/UDPヘッダ102は、TCPのヘッダであってもよく、UDPのヘッダであってもよい。ペイロード103に、通信対象のデータそのもの、すなわち、第1の情報処理装置1や第2の情報処理装置2等のアプリケーションソフトが実際に利用したい情報が含まれている。
図5Bは、図5Aで示されるオリジナルパケット(通信対象のデータ)をUDPカプセル化したデータを示す図である。図5Bでは、オリジナルパケットに対して管理ヘッダ(XXヘッダ203)とトレーラ(XXトレーラ204)を付加することによって、オリジナルパケットを暗号化し、UDPヘッダ202、IPヘッダ201を付加することによってカプセル化を行っている。IPヘッダ201で用いられるIPアドレスは、第1の情報処理装置1、および第2の情報処理装置2のIPアドレスである。
次に、第1の情報処理装置1と、第2の情報処理装置2との間での通信を開始するまでのアドレスを取得する処理等について説明する。この具体例において、第1の情報処理装置1のIPアドレスは「202.132.10.6」であり、通信元装置識別子は「12345678」であるとする。また、第2の情報処理装置2のIPアドレスは「131.206.10.240」であり、通信先装置識別子は「98765432」であるとする。また、サーバ4のIPアドレスは、「155.32.10.10」であるとする。
第1の情報処理装置1におけるトンネル通信部11は、あらかじめサーバ4のIPアドレスを保持しているものとする。そして、トンネル通信部11は、識別子記憶部13で記憶されている通信元装置識別子「12345678」を、そのサーバ4のIPアドレス「155.32.10.10」に対して送信する。すると、その通信元装置識別子がサーバ4において受信される。また、サーバ4は、送信された通信元装置識別子のヘッダから、第1の情報処理装置1のIPアドレス「202.132.10.6」を取得する。サーバ4は、その第1の情報処理装置1のIPアドレス「202.132.10.6」と、通信元装置識別子「12345678」とを対応付けて保持しておく。
同様にして、第2の情報処理装置2におけるトンネル通信部22もサーバ4に対して、識別子記憶部23で記憶されている通信先装置識別子「98765432」を送信する。その結果、サーバ4は、第2の情報処理装置2のIPアドレス「131.206.10.240」と、通信先装置識別子「98765432」とを対応付けて保持しておく。
通信先装置識別子の記録された着脱可能な記録媒体を、ユーザが第1の情報処理装置1の図示しないスロットに装着したとする。すると、その記録媒体に記録された通信先装置識別子「98765432」は、識別子受付部12によって受け付けられ、アドレス決定部14と、トンネル通信部11とに渡される(ステップS101)。
トンネル通信部11は、識別子受付部12から受け取った通信先装置識別子「98765432」と、その通信先装置識別子で識別される装置のIPアドレスを送信する旨の指示とをサーバ4に送信する。すると、サーバ4はそれらを受信し、通信先装置識別子「98765432」に対応する、保持しているIPアドレス「131.206.10.240」を第1の情報処理装置1に送信する。
第1の情報処理装置1におけるトンネル通信部11は、第2の情報処理装置2のIPアドレス「131.206.10.240」をサーバ4から受け付けると、そのIPアドレスを保持しておく。
アドレス決定部14は、識別子受付部12から通信先装置識別子を受け取ると、識別子記憶部13で記憶されている通信元装置識別子を読み出し、通信先装置識別子と、通信元装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるIPアドレスを決定する。具体的には、アドレス決定部14は、例えば、下記の3つの方法のいずれかによってアドレスを決定する(ステップS102)。
[関数を用いるアドレス決定方法]
アドレス決定部14は、アドレスを決定する関数「Func(引数1、引数2)」を有している。そして、引数1に通信元装置識別子「12345678」を代入し、引数2に通信先装置識別子「98765432」を代入する。その結果、2つのIPアドレス「192.168.0.1」、「192.168.0.2」が算出される。そして、前者のIPアドレス「192.168.0.1」を第1の情報処理装置1のIPアドレスと決定し、後者のIPアドレス「192.168.0.2」を第2の情報処理装置2のIPアドレスと決定する。そして、それらをトンネル通信部11と、アドレス送信部15に渡す。
[テーブルを用いるアドレス決定方法]
アドレス決定部14は、図6で示されるテーブルを有している。図6のテーブルは、装置識別子の異なる桁と、IPアドレスとの対応を示すテーブルである。アドレス決定部14は、通信先装置識別子「98765432」と、通信元装置識別子「12345678」との最下位の桁の値(「2」と、「8」)に対応するIPアドレスを、第1の情報処理装置1、および第2の情報処理装置2のIPアドレスとして決定する。この場合には、第1の情報処理装置1のIPアドレスは「192.168.0.8」となり、第2の情報処理装置2のIPアドレスは「192.168.0.2」となる。なお、通信先装置識別子と、通信元装置識別子とで最下位の桁の値が同一の場合(例えば、両者共に「2」の場合など)には、次の桁(1つ上の位の桁)で判断し、その桁の値も同一の場合には、次の桁で判断する。このように、通信先装置識別子と、通信元装置識別子とについて、最下位の桁から順番に比較し、値の異なる桁で図6のテーブルを用いたIPアドレスの決定を行う。なお、その決定された第1の情報処理装置1のIPアドレス「192.168.0.8」と、第2の情報処理装置2のIPアドレス「192.168.0.2」とは、トンネル通信部11と、アドレス送信部15に渡される。
[装置識別子の大小比較によるアドレス決定方法]
アドレス決定部14は、装置識別子の小さいほうに対応するIPアドレス「192.168.0.1」と、装置識別子の大きいほうに対応するIPアドレス「192.168.0.2」を有している。そして、通信先装置識別子「98765432」と、通信元装置識別子「12345678」とを比較し、その大きいほうに対してIPアドレス「192.168.0.2」を割り当て、小さいほうに対してIPアドレス「192.168.0.1」を割り当てる。その結果、第1の情報処理装置1のIPアドレスは「192.168.0.1」と決定され、第2の情報処理装置2のIPアドレスは「192.168.0.2」と決定される。アドレス決定部14は、それらの決定したアドレスをトンネル通信部11と、アドレス送信部15に渡す。
なお、ここでは、装置識別子の大小を比較する場合について説明したが、それ以外の比較を所定のアルゴリズムによって行い、その比較結果に基づいて、あらかじめ決められている複数(通常は2個)のアドレスから選択することによってアドレスの決定を行ってもよい。例えば、最下位の桁(両者の最下位の桁の値が等しい場合には、最下位の桁に近い値の異なる桁)の値の大小の比較を行い、その比較結果に応じて、アドレスを選択してもよい。また、例えば、装置識別子がアルファベットや平仮名等である場合には、いわゆる辞書における言葉の並び順で、どちらの装置識別子が「A」や「あ」に近いか(すなわち、辞書において前のほうに載っているか)に関する比較の結果に基づいて、アドレスの決定を行ってもよい。
また、上記具体例では、3通りのアドレス決定方法について説明したが、アドレス決定部14は、2つの装置識別子に基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。例えば、テーブルを用いる代わりに、通信元装置識別子の最下位の桁の値と、通信先装置識別子の最下位の桁の値とを所定の関数に代入することにより、IPアドレスを算出してもよい。
アドレス送信部15は、アドレス決定部14によって決定された第1の情報処理装置1のIPアドレス(192.168.0.1であるとする)と、第2の情報処理装置2のIPアドレス(192.168.0.2であるとする)とを、トンネル通信部11で保持されている第2の情報処理装置2のIPアドレス「131.206.10.240」に対して送信する(ステップS103)。その結果、それらのIPアドレスが第2の情報処理装置2におけるアドレス受付部21で受け付けられ、トンネル通信部22に渡される。ここで、送信されるIPアドレスは、第1の情報処理装置1のIPアドレスであるのか、第2の情報処理装置2のIPアドレスであるのかが、第2の情報処理装置2においてわかるような形態で送信されるものとする。例えば、送信されるIPアドレスの順番によって、対応する情報処理装置が規定されていてもよく、IPアドレスに対応付けて情報処理装置を識別する情報やフラグ等が送信され、その情報処理装置を識別する情報等によって、対応する情報処理装置が規定されてもよい。
また、トンネル通信部11は、第1の情報処理装置1のIPアドレス「192.168.0.1」と、第2の情報処理装置2のIPアドレス「192.168.0.2」とをアドレス決定部14から受け取ると、それらのアドレスを用いてトンネル通信を行う。すなわち、図5で示されるIPヘッダ101において、通信元(すなわち、第1の情報処理装置1)のIPアドレスとして「192.168.0.1」を用い、通信先(すなわち、第2の情報処理装置2)のIPアドレスとして「192.168.0.2」を用いる。なお、その通信対象のデータをカプセル化した後のパケット(図5Bで示されるもの)のIPヘッダ201においては、通信先のIPアドレスとして「131.206.10.240」を用い、通信元のIPアドレスとして「202.132.10.6」を用いる。また、第2の情報処理装置2でも、IPヘッダ101において、第1の情報処理装置1のIPアドレスとして「192.168.0.1」を用い、第2の情報処理装置2のIPアドレスとして「192.168.0.2」を用いる。また、IPヘッダ201において、通信先(すなわち、第2の情報処理装置2)のIPアドレスとして「131.206.10.240」を用い、通信元(すなわち、第1の情報処理装置1)のIPアドレスとして「202.132.10.6」を用いる。このようにして、第1の情報処理装置1と第2の情報処理装置2との間での通信が行われる。
なお、この具体例では、UDPトンネル通信を行う場合について説明したが、トンネル通信はこれに限定されるものではなく、上述のように、HTTPトンネル通信等であってもよい。また、データ構造も図5に限定されるものではない。
以上のように、本実施の形態による通信システムでは、通信先装置識別子と、通信元装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することで、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、サーバ等への問い合わせが必要でないため、アドレスの決定を短時間で行うことができる。また、トンネル通信でカプセル化される通信対象データに対して用いるアドレスは、通信回線3における通信で用いられるものではないため、異なるトンネル通信(通信元の情報処理装置と通信先の情報処理装置との組の異なるトンネル通信)に関しては、同一のアドレスを用いることが可能であり、DHCPやAutoIPを用いた場合のような割り当てアドレスの上限がないというメリットがある。
なお、本実施の形態では、第1の情報処理装置1がアドレス送信部15を備えた構成について説明したが、第1の情報処理装置1は、アドレス送信部15に代えて、アドレス決定部14が決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやFAX等によって第2の情報処理装置2のユーザに通知することによって、第2の情報処理装置2において設定されてもよい。
(実施の形態2)
本発明の実施の形態2による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
本実施の形態による通信システムは、図1と同様であるとする。ただし、第1の情報処理装置1が第1の情報処理装置1aに対応し、第2の情報処理装置2が第2の情報処理装置2aに対応するものとする。図7は、本実施の形態による第1の情報処理装置1aの構成を示すブロック図である。本実施の形態による第1の情報処理装置1aは、トンネル通信部11と、識別子受付部12と、識別子記憶部13と、アドレス決定部14とを備える。なお、トンネル通信部11、識別子受付部12、識別子記憶部13、アドレス決定部14は、実施の形態1と同様のものであり、その説明を省略する。
図8は、本実施の形態による第2の情報処理装置2aの構成を示すブロック図である。本実施の形態による第2の情報処理装置2aは、識別子記憶部23と、トンネル通信部24と、識別子受付部25と、アドレス決定部26とを備える。なお、識別子記憶部23は、実施の形態1と同様のものであり、その説明を省略する。また、トンネル通信部24、識別子受付部25、アドレス決定部26は、それぞれ実施の形態1におけるトンネル通信部11、識別子受付部12、アドレス決定部14と同様のものであり、その説明を省略する。
また、本実施の形態における第1の情報処理装置1aにおけるアドレスを決定する動作は、ステップS103におけるアドレスの送信処理を行わない以外、実施の形態1における図4で示されるものと同様であり、その説明を省略する。また、本実施の形態における第2の情報処理装置2aにおけるアドレスを決定する動作も、ステップS101において通信先装置識別子の代わりに、通信元装置識別子を受け付けたかどうかを判断し、ステップS103におけるアドレスの送信処理を行わない以外、実施の形態1における図4で示されるものと同様であり、その説明を省略する。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例において、トンネル通信におけるデータ構造は、図5と同様であるとする。また、この具体例における第1の情報処理装置1a等のIPアドレスや装置識別子等は、実施の形態1と同様であるとする。
まず、第1の情報処理装置1aと、第2の情報処理装置2aとが通信を開始するまでのアドレスを取得する処理等について説明する。第1の情報処理装置1a、および第2の情報処理装置2aが、それぞれの装置識別子をサーバ4に送信し、その結果、サーバ4において、第1の情報処理装置1aのIPアドレス「202.132.10.6」と、通信元装置識別子「12345678」とが対応付けて保持され、第2の情報処理装置2aのIPアドレス「131.206.10.240」と、通信先装置識別子「98765432」とが対応付けられて保持される動作は、実施の形態1の具体例と同様であり、その説明を省略する。
次に、通信装置識別子の記録された着脱可能な記録媒体が第1の情報処理装置1aの図示しないスロットに装着され、第1の情報処理装置1aにおいて、トンネル通信における通信対象のデータに対して用いられるIPアドレスが決定されるまでの動作も、実施の形態1の具体例と同様であり、その説明を省略する。
ここで、サーバ4から第1の情報処理装置1aに第2の情報処理装置2aのIPアドレスが送信されると共に、サーバ4は、第2の情報処理装置2aに対しても、第1の情報処理装置1aの通信元装置識別子を送信するとする。すると、その通信元装置識別子「12345678」は、第2の情報処理装置2aのトンネル通信部24を介して識別子受付部25で受け付けられる。そして、識別子受付部25は、通信元装置識別子を受け付けたと判断し(ステップS101)、アドレスの決定処理を行う(ステップS102)。このアドレスの決定処理は、実施の形態1における具体例と同様にして行われ、第1の情報処理装置1aのアドレス決定部14で決定されたアドレスと、同様のアドレスが決定される。例えば、第1の情報処理装置1aのアドレスが「192.168.0.1」と決定され、第2の情報処理装置2aのアドレスが「192.168.0.2」と決定される。
ただし、関数を用いてアドレスを決定する場合には、アドレス決定部26は、関数「Func(引数1、引数2)」において、引数1に第2の情報処理装置2aの装置識別子である通信先装置識別子「98765432」を代入し、引数2に第1の情報処理装置1aの装置識別子である通信元装置識別子「12345678」を代入する。また、この関数は、引数1と引数2が入れ替えられると、算出結果のIPアドレスも逆の順番となるような関数であるとする。すると、2つのIPアドレス「192.168.0.2」、「192.168.0.1」が算出され、前者のIPアドレスを第2の情報処理装置2aのアドレスと決定し、後者のIPアドレスを第1の情報処理装置1aのアドレスと決定することで、アドレス決定部14と同様のアドレス決定がなされることとなる。
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態1の具体例と同様であり、その説明を省略する。
以上のように、本実施の形態による通信システムでは、通信先装置識別子と、通信元装置識別子に基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなる。
また、通信先装置識別子と、通信元装置識別子を用いてアドレスを決定するという、決定的アルゴリズムによってアドレスの決定を行っているため、各情報処理装置でアドレスの決定を行ったとしても、そのアドレスに矛盾が生じないようにすることができる。具体的には、第1の情報処理装置1aで決定した第1の情報処理装置1aおよび第2の情報処理装置2aのアドレスと、第2の情報処理装置2aで決定した第1の情報処理装置1aおよび第2の情報処理装置2aのアドレスとが整合しない事態を回避することができる。
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第1の情報処理装置1aにおいて第1の情報処理装置のアドレスのみを決定し、第2の情報処理装置2aにおいて第2の情報処理装置のアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
(実施の形態3)
本発明の実施の形態3による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
図9は、本実施の形態による通信システムの構成を示す図である。図9において、本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置5と、第2の情報処理装置6と、サーバ7とを備える。
第1の情報処理装置5は、アドレス受付部51と、トンネル通信部52とを備える。
アドレス受付部51は、第1の情報処理装置5と、第2の情報処理装置6との間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスを受け付ける。アドレス受付部51は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力されたアドレスを受け付けてもよく、有線もしくは無線の通信回線を介して送信されたアドレスを受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたアドレスを受け付けてもよい。本実施の形態では、サーバ7から通信回線3を介して送信されたアドレスを受け付けるものとする。
トンネル通信部52は、第1の情報処理装置5と、第2の情報処理装置6との間でトンネル通信を行う。トンネル通信部52は、第1の情報処理装置5を識別する第1の装置識別子と、第2の情報処理装置6を識別する第2の装置識別子とを保持しているものとする。第2の装置識別子は、例えば、入力デバイスから入力されたものであってもよく、所定の通信回線を介して送信されたものであってもよく、所定の記録媒体から読み出したものであってもよい。なお、これ以外のトンネル通信部52の構成は、第1の装置識別子が通信元装置識別子に対応し、第2の装置識別子が通信先装置識別子に対応する以外、実施の形態1におけるトンネル通信部11と同様であり、その説明を省略する。
第2の情報処理装置6は、アドレス受付部61と、トンネル通信部62とを備える。このアドレス受付部61、トンネル通信部62は、それぞれアドレス受付部51、トンネル通信部52と同様のものであり、その説明を省略する。なお、トンネル通信部62は、第1の装置識別子を保持していなくてもよい。
サーバ7は、実施の形態1におけるサーバ4と同様に、第1の情報処理装置5と第2の情報処理装置6との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部71と、識別子受付部72と、アドレス決定部73と、アドレス送信部74とを備える。
通信制御部71は、第1の情報処理装置5と、第2の情報処理装置6との間でのトンネル通信を確立させるための処理等を行う。より具体的には、第1の情報処理装置5に対して、第2の情報処理装置6のアドレスを送信する等の処理を行う。
識別子受付部72は、第1の装置識別子と、第2の装置識別子とを受け付ける。識別子受付部72は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された第1の装置識別子等を受け付けてもよく、有線もしくは無線の通信回線を介して送信された第1の装置識別子等を受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された第1の装置識別子等を受け付けてもよい。本実施の形態では、通信制御部71から渡された第1の装置識別子等を受け付けるものとする。
アドレス決定部73は、識別子受付部72が受け付けた第1の装置識別子と、第2の装置識別子とに基づいて、第1の情報処理装置5の第1のアドレスと、第2の情報処理装置6の第2のアドレスとを決定する。それらのアドレスは、トンネル通信における通信対象のデータに対して用いるものである。アドレスの決定方法については、実施の形態1におけるアドレス決定部14と同様であり、その説明を省略する。
アドレス送信部74は、アドレス決定部73が決定した第1のアドレス、および第2のアドレスを、第1の情報処理装置5と、第2の情報処理装置6とに送信する。この送信は、第1の情報処理装置5等に直接的になされてもよく、あるいは、所定のサーバ等を介することにより、間接的になされてもよい。
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図10は、サーバ7におけるアドレスを決定する動作を示すフローチャートである。
(ステップS201)識別子受付部72は、第1の装置識別子、および第2の装置識別子を受け付けたかどうか判断する。そして、それらの識別子を受け付けた場合には、それらの識別子をアドレス決定部73に渡してステップS202に進み、そうでない場合には、それらを受け付けるまでステップS201の処理を繰り返す。
(ステップS202)アドレス決定部73は、識別子受付部72から受け取った第1の装置識別子と、第2の装置識別子に基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。そして、その決定したアドレスをアドレス送信部74に渡す。
(ステップS203)アドレス送信部74は、アドレス決定部73が決定した2つのアドレスを、第1の情報処理装置5、および第2の情報処理装置6に送信する。そして、ステップS101に戻る。
なお、図10のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部72が第1の装置識別子等を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、第1の情報処理装置5と第2の情報処理装置6とがトンネル通信を開始するタイミングで、それまでに識別子受付部72で受け付けられている第1の装置識別子等を用いてアドレスを決定してもよい。
また、図10のフローチャートでは、第1の装置識別子と、第2の装置識別子とをステップS201において同時に受け付ける場合について説明しているが、それらの装置識別子は、同時に受け付けてもよく、あるいは、別々のタイミングで受け付けてもよい。ただし、両者の装置識別子が受け付けられた後に、アドレスの決定がなされるのは、図10のフローチャートと同様である。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例において、トンネル通信におけるデータ構成は、図5と同様であるとする。また、第1の情報処理装置5のIPアドレスは「202.132.10.6」であり、第1の装置識別子は「12345678」であるとする。また、第2の情報処理装置6のIPアドレスは「131.206.10.240」であり、第2の装置識別子は「98765432」であるとする。また、サーバ7のIPアドレスは、「155.32.10.10」であるとする。
第1の情報処理装置5におけるトンネル通信部52は、あらかじめサーバ7のIPアドレスを保持しているものとする。そして、トンネル通信部52は、保持している第1の装置識別子「12345678」を、そのサーバ7のIPアドレス「155.32.10.10」に対して送信する。すると、その第1の装置識別子がサーバ7の通信制御部71で受信される。そして、その第1の装置識別子のヘッダから、第1の情報処理装置5のIPアドレス「202.132.10.6」が取得される。通信制御部71は、その第1の情報処理装置5のIPアドレスと、第1の装置識別子とを対応付けて保持しておく。
同様にして、第2の情報処理装置6におけるトンネル通信部62もサーバ7に対して、第2の装置識別子「98765432」を送信する。その結果、通信制御部71において、図11で示されるように、装置識別子と、IPアドレスとの対応付けられた情報であるアドレス識別子対応情報が保持されることとなる。
次に、第1の情報処理装置5のトンネル通信部52は、第2の情報処理装置6を識別する第2の装置識別子と、第2の情報処理装置6とトンネル通信を行いたい旨とをサーバ7に送信する。すると、それらは通信制御部71において受信される。通信制御部71は、第1の情報処理装置5から送信されたパケットのヘッダから第1の情報処理装置5のIPアドレスを取得し、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5の第1の装置識別子「12345678」を取得する。また、通信制御部71は、アドレス識別子対応情報を参照し、第1の情報処理装置5から送信された第2の装置識別子「98765432」に対応するIPアドレス「131.206.10.240」を取得する。そして、通信制御部71は、第1の装置識別子「12345678」と、第2の装置識別子「98765432」とを識別子受付部72に渡すと共に、第2の情報処理装置6のIPアドレス「131.206.10.240」を第1の情報処理装置5に送信する。
識別子受付部72は、通信制御部71から第1の装置識別子「12345678」と、第2の装置識別子「98765432」とを受け付けると(ステップS201)、それらをアドレス決定部73に渡す。アドレス決定部73は、それらの装置識別子を受け取り、その装置識別子に基づいてアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部74に渡す(ステップS202)。このアドレス決定方法は実施の形態1における具体例と同様であり、その説明を省略する。
アドレス送信部74は、アドレス決定部73から装置識別子「12345678」と、それに対応したIPアドレス「192.168.0.1」との組と、装置識別子「98765432」と、それに対応したIPアドレス「192.168.0.2」との組を受け取ると、通信制御部71で保持されているアドレス識別子対応情報を参照し、それぞれのIPアドレスに対応した情報処理装置のIPアドレスを取得する。そして、アドレス送信部74は、装置識別子とIPアドレスとの2つの組を第1の情報処理装置5のIPアドレス「202.132.10.6」、および第2の情報処理装置6のIPアドレス「131.206.10.240」に対して送信する。
アドレス受付部51は、それらの組を受け付けると、それらをトンネル通信部52に渡す。トンネル通信部52は、通信制御部71から送信された第2の情報処理装置6のIPアドレスを受信する。また、アドレス受付部51で受け付けられたIPアドレスと装置識別子との組を受け取る。そして、第1の情報処理装置5の第1の装置識別子「12345678」に対応したIPアドレス「192.168.0.1」を、IPヘッダ101における通信元(すなわち、第1の情報処理装置5)のIPアドレスとして用い、第2の情報処理装置6の第2の装置識別子「98765432」に対応したIPアドレス「192.168.0.2」を、IPヘッダ101における通信先(すなわち、第2の情報処理装置6)のIPアドレスとして用いる。そして、そのデータをカプセル化し、図5Bで示されるUDPパケットを構成して、そのパケットを第2の情報処理装置6に対して送信することによってトンネル通信を開始する。
第2の情報処理装置6におけるアドレス受付部61も、IPアドレスと装置識別子との組を受け付け、それらをトンネル通信部62に渡す。トンネル通信部62は、第2の情報処理装置6の第2の装置識別子に対応するIPアドレスを、トンネル通信における通信対象のデータについて、第2の情報処理装置6側のIPアドレスとして用いる。このようにして、第1の情報処理装置5と、第2の情報処理装置6との間でトンネル通信が行われる。
以上のように、本実施の形態による通信システムでは、サーバ7が、通信先装置識別子と、通信元装置識別子とに基づいて、第1の情報処理装置5、および第2の情報処理装置6の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
なお、本実施の形態では、アドレス送信部74がアドレス決定部73によって決定されたアドレスを送信する場合について説明したが、アドレス送信部74に代えて、アドレス決定部73によって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ7の管理者がそのアドレスを電子メールやFAX等によって第1の情報処理装置5のユーザや第2の情報処理装置6のユーザに通知することによって、第1の情報処理装置5や、第2の情報処理装置6において設定されてもよい。
また、本実施の形態では、サーバ7のアドレス送信部74が、第2の情報処理装置6にアドレス決定部73が決定した2つのアドレスを送信する場合について説明したが、アドレス送信部74は、第2の情報処理装置6に第2の情報処理装置6のアドレス「192.168.0.2」のみを送信してもよい。この場合には、第2の情報処理装置6は、第1の情報処理装置5から送信されたカプセル化された通信対象のデータのヘッダから第1の情報処理装置5のアドレスを取得することができる。
また、本実施の形態では、サーバ7から第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとの両方を送信する場合について説明したが、サーバ7は、まず第1の情報処理装置5に対しては、第1の情報処理装置5のアドレス「192.168.0.1」を送信し、第2の情報処理装置6に対しては、第2の情報処理装置6のアドレス「192.168.0.2」を送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ7がその相手方のアドレスを送信するようにしてもよい。
(実施の形態4)
本発明の実施の形態4による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発行側であるのか、着呼側であるのかの判断結果によって、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
本実施の形態による通信システムは、図1と同様であるとする。ただし、第1の情報処理装置1が第1の情報処理装置1bに対応し、第2の情報処理装置2が第2の情報処理装置2bに対応するものとする。
図12は、本実施の形態による第1の情報処理装置1bの構成を示すブロック図である。本実施の形態による第1の情報処理装置1bは、トンネル通信部11と、アドレス決定部14bと、アドレス送信部15と、判断部16とを備える。なお、トンネル通信部11、アドレス送信部15は、実施の形態1と同様のものであり、その説明を省略する。また、本実施の形態による第1の情報処理装置1bでは、識別子記憶部を明記していないが、第1の情報処理装置1bの装置識別子は、トンネル通信部11のアクセス可能な記録媒体において記憶されているものとする。
アドレス決定部14bは、判断部16による判断結果に基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。このアドレスの決定においては、判断部16による判断結果に基づいて、通信先の装置(例えば、第2の情報処理装置2b)で用いるアドレスと、通信元の装置(例えば、第1の情報処理装置1b)で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
判断部16は、トンネル通信において、第1の情報処理装置1bが発呼側か着呼側かを判断する。この判断では、結果として第1の情報処理装置1bが発呼側であるのか、着呼側であるのかが判断されればよい。すなわち、通信相手の装置である第2の情報処理装置2bが発呼側か着呼側かを判断することによって、第1の情報処理装置1bが発呼側か着呼側かを判断してもよい。また、第1の情報処理装置1b、および第2の情報処理装置2bの両方に関しての判断を行ってもよい。ここで、発呼側、着呼側というのは、トンネル通信のトンネルのプロトコル(すなわち、通信対象のデータを包み込むプロトコル)の通信における発呼側、着呼側であってもよく、トンネル通信における通信対象のデータ(すなわち、カプセル化の対象となるデータ)の通信における発呼側、着呼側であってもよい。本実施の形態では、前者の場合について説明する。また、発呼側とは、通信を開始する側のことであり、着呼側とは、発呼側の情報処理装置からの発呼に応じて通信を行う側のことである。
図13は、本実施の形態による第2の情報処理装置2bの構成を示すブロック図である。本実施の形態による第2の情報処理装置2bは、アドレス受付部21と、トンネル通信部22とを備える。なお、アドレス受付部21、トンネル通信部22は、実施の形態1と同様のものであり、その説明を省略する。なお、本実施の形態による第2の情報処理装置2bでは、識別子記憶部を明記していないが、第2の情報処理装置2bの装置識別子は、トンネル通信部22のアクセス可能な記録媒体において記憶されているものとする。
次に、本実施の形態による通信システムの動作、特に第1の情報処理装置1bにおいてアドレスを決定する動作について説明する。図14は、第1の情報処理装置1bにおけるアドレスを決定する動作を示すフローチャートである。
(ステップS301)トンネル通信部11は、トンネル通信を開始するかどうか判断する。このトンネル通信の開始には、第1の情報処理装置1bが積極的にトンネル通信を開始する場合と、他の装置(ここでは、第2の情報処理装置2b)からのトンネル通信の要求に応じて、トンネル通信を開始する場合とがある。いずれであっても、トンネル通信部11は、トンネル通信を開始すると判断する。そして、トンネル通信を開始する場合には、ステップS302に進み、そうでない場合には、トンネル通信を開始するまで、ステップS301の処理を繰り返す。
(ステップS302)判断部16は、第1の情報処理装置1bが発呼側か着呼側かの判断を行う。
(ステップS303)アドレス決定部14bは、判断部16による判断結果に基づいて、すなわち、第1の情報処理装置1bが発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。
(ステップS304)アドレス送信部15は、アドレス決定部14bが決定したアドレスを、第2の情報処理装置2bに送信する。そして、ステップS301に戻る。
なお、図14のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態1の図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態1の具体例と同様であるとする。また、第1の情報処理装置1b、第2の情報処理装置2bがそれぞれ、IPアドレスと、装置識別情報とをサーバ4に登録する処理は、実施の形態1と同様であり、その説明を省略する。
通信先装置識別子の記録された着脱可能な記録媒体が、第1の情報処理装置1bに装着され、その記録媒体に記憶されている通信先装置識別子「98765432」が図示しない受付部によって受け付けられ、トンネル通信部11に渡されたとする。
すると、トンネル通信部11は、トンネル通信を開始すると判断し(ステップS301)、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のIPアドレスを送信する旨の指示とをサーバ4に送信する。すると、サーバ4はそれらを受信し、通信先装置識別子「98765432」に対応する、保持しているIPアドレス「131.206.10.240」を第1の情報処理装置1bに送信する。第1の情報処理装置1bのトンネル通信部11は、第2の情報処理装置2bのIPアドレス「131.206.10.240」をサーバ4から受け付けると、そのIPアドレスを保持しておく。
判断部16は、トンネル通信部11がトンネル通信のトンネルのプロトコルの通信における発呼側であるため、第1の情報処理装置1bが発呼側であると判断する(ステップS302)。そして、その判断結果をアドレス決定部14bに渡す。
アドレス決定部14bは、判断部16から判断結果を受け取ると、その判断結果に基づいて、トンネル通信における通信対象のデータに対して用いるIPアドレスを決定する。具体的には、アドレス決定部14bは、例えば、下記の3つの方法のいずれかによってアドレスを決定する(ステップS303)。
[発呼側・着呼側によるアドレス決定方法]
アドレス決定部14bは、図15Aで示されるテーブルを有している。図15Aのテーブルは、発呼側・着呼側を示す情報と、IPアドレスとの対応を示すものである。判断部16によって第1の情報処理装置1bが発呼側であると判断されたため、アドレス決定部14bは、図15Aのテーブルを用いて、第1の情報処理装置1bのIPアドレスを「192.168.0.1」に決定する。また、第2の情報処理装置2bは着呼側であるため、アドレス決定部14bは、第2の情報処理装置2bのIPアドレスを「192.168.0.2」に決定する。なお、図15Aでは、発呼側・着呼側を示す情報と、IPアドレスとがテーブル形式で対応付けられている場合について示しているが、テーブル形式以外によって発呼側・着呼側を示す情報と、IPアドレスとが対応付けられていてもよい。
[複数のアドレスからの選択によるアドレス決定方法]
アドレス決定部14bは、図15Bで示されるテーブルを有している。図15Bのテーブルは、発呼側・着呼側を示す情報と、IPアドレスとの対応を示すものである。図15Bのテーブルでは、発呼側・着呼側を示す情報に、それぞれ4個のIPアドレスが対応している。したがって、アドレス決定部14bは、その4個のIPアドレスから1個のIPアドレスを選択するものとする。この選択は、例えば、ランダムになされてもよく、あるいは、順番になされてもよい。この具体例では、判断部16によって第1の情報処理装置1bが発呼側であると判断されたため、アドレス決定部14bは、図15Bのテーブルを用いて、第1の情報処理装置1bのIPアドレスを「192.168.0.1」に決定する。また、第2の情報処理装置2bは着呼側であるため、アドレス決定部14bは、第2の情報処理装置2bのIPアドレスを「192.168.0.2」に決定する。
[関数を用いたアドレス決定方法]
アドレス決定部14bは、アドレスを決定する関数「Func(引数1)」を有している。そして、発呼側のアドレスを演算する場合には、引数1に「0」を代入する。その結果、IPアドレス「192.168.0.1」が算出される。このIPアドレス「192.168.0.1」が発呼側の第1の情報処理装置1bのIPアドレスとなる。一方、着呼側のアドレスを演算する場合には、引数1に「1」を代入する。その結果、IPアドレス「192.168.0.2」が算出される。このIPアドレス「192.168.0.2」が着呼側の第2の情報処理装置2bのIPアドレスとなる。
なお、3通りのアドレス決定方法について説明したが、アドレス決定部14bは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
アドレス送信部15は、実施の形態1の具体例と同様に、決定された第1の情報処理装置1bのIPアドレス「192.168.0.1」と、第2の情報処理装置2bのIPアドレス「192.168.0.2」とを第2の情報処理装置2bに送信する(ステップS304)。その結果、それらのIPアドレスが第2の情報処理装置2bにおけるアドレス受付部21で受け付けられ、トンネル通信部22に渡される。また、トンネル通信部11は、実施の形態1の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部22は、アドレス受付部21で受け付けられたアドレスを用いてトンネル通信を行う。
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態1と同様のメリットを得ることができる。
なお、本実施の形態では、第1の情報処理装置1bがアドレス送信部15を備えた構成について説明したが、第1の情報処理装置1bは、アドレス送信部15に代えて、アドレス決定部14bが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやFAX等によって第2の情報処理装置2bのユーザに通知することによって、第2の情報処理装置2bにおいて設定されてもよい。
(実施の形態5)
本発明の実施の形態5による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果に基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
図16は、本実施の形態による通信システムの構成を示す図である。図16において、第1の情報処理装置1に代えて第1の情報処理装置1cを備え、第2の情報処理装置2に代えて第2の情報処理装置2cを備えた以外、実施の形態1における図1の通信システムと同様であり、その説明を省略する。
図16において、本実施の形態による第1の情報処理装置1cは、トンネル通信部11と、アドレス決定部14bと、判断部16とを備える。なお、トンネル通信部11、アドレス決定部14b、判断部16は、実施の形態4と同様のものであり、その説明を省略する。
図16において、本実施の形態による第2の情報処理装置2cは、トンネル通信部22と、アドレス決定部26cと、判断部27とを備える。なお、トンネル通信部22は、実施の形態4と同様のものである。また、アドレス決定部26c、判断部27は、それぞれ実施の形態4におけるアドレス決定部14b、判断部16と同様のものであり、その説明を省略する。
また、第1の情報処理装置1cにおけるアドレスを決定する動作は、ステップS304におけるアドレスの送信処理を行わない以外、実施の形態4における図14で示されるものと同様であり、その説明を省略する。また、本実施の形態における第2の情報処理装置2cにおけるアドレスを決定する動作も、トンネル通信部11、アドレス決定部14b、判断部16が、それぞれトンネル通信部22、アドレス決定部26c、判断部27に対応し、ステップS304におけるアドレスの送信処理を行わない以外、実施の形態4における図14で示されるものと同様であり、その説明を省略する。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。ここで、第1の情報処理装置1cが発呼側であり、第2の情報処理装置2cが着呼側であるとする。なお、第1の情報処理装置1cにおいてIPアドレスが決定される動作は、実施の形態4の具体例と同様であり、その説明を省略する。
サーバ4は、第1の情報処理装置1cからの要求に応じて、第2の情報処理装置2cのIPアドレスを第1の情報処理装置1cに送信すると共に、第1の情報処理装置1cが第2の情報処理装置2cとのトンネル通信を要求している旨を示す情報を第2の情報処理装置2cに送信する。
第2の情報処理装置2cのトンネル通信部22が、そのサーバ4から送信された情報を受信すると、トンネル通信を開始すると判断し(ステップS301)、判断部27は、第2の情報処理装置2cが着呼側であると判断する(ステップS302)。その結果、アドレス決定部26cは、実施の形態4における具体例と同様にしてアドレスを決定する(ステップS303)。ここで、アドレス決定部26cにより、第2の情報処理装置2cのIPアドレス「192.168.0.2」が決定され、第1の情報処理装置1cのIPアドレス「192.168.0.1」が決定されたとする。
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態4の具体例と同様であり、その説明を省略する。
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態2と同様の効果を得ることができる。
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第1の情報処理装置1cにおいて第1の情報処理装置1cのアドレスのみを決定し、第2の情報処理装置2cにおいて第2の情報処理装置2cのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
(実施の形態6)
本発明の実施の形態6による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果に基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
図17は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置5と、第2の情報処理装置6と、サーバ7dとを備える。なお、第1の情報処理装置5、第2の情報処理装置6は、実施の形態3と同様のものであり、その説明を省略する。
サーバ7dは、実施の形態1におけるサーバ4と同様に、第1の情報処理装置5と第2の情報処理装置6との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部71と、アドレス決定部73dと、アドレス送信部74と、判断部75とを備える。なお、通信制御部71、アドレス送信部74は、実施の形態3と同様のものであり、その説明を省略する。
アドレス決定部73dは、判断部75による判断結果に基づいて、第1の情報処理装置5と、第2の情報処理装置6との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置5の第1のアドレス、および第2の情報処理装置6の第2のアドレスを決定する。アドレスの決定方法については、実施の形態4のアドレス決定部14bによる方法と同様であり、その説明を省略する。
判断部75は、トンネル通信を行う第1の情報処理装置5と、第2の情報処理装置6とのいずれが発呼側であり、着呼側であるのかについて判断する。この判断では、結果として第1の情報処理装置5と、第2の情報処理装置6とが発呼側であるのか、着呼側であるのかが判断されればよい。すなわち、第2の情報処理装置6が発呼側か着呼側かを判断することによって、第1の情報処理装置5が発呼側か着呼側かを判断してもよい。また、第1の情報処理装置5、および第2の情報処理装置6の両方に関しての判断を行ってもよい。
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図18は、サーバ7dにおけるアドレスを決定する動作を示すフローチャートである。
(ステップS401)通信制御部71は、第1の情報処理装置5と、第2の情報処理装置6との間でトンネル通信が開始されるかどうか判断する。そして、トンネル通信が開始される場合には、ステップS402に進み、そうでない場合には、トンネル通信が開始されるまで、ステップS401の処理を繰り返す。
(ステップS402)判断部75は、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、発呼側であるのか、着呼側であるのかを判断する。
(ステップS403)アドレス決定部73dは、判断部75による判断結果に基づいて、トンネル通信における通信対象のデータに対して用いる第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとを決定する。
(ステップS404)アドレス送信部74は、アドレス決定部73dが決定した2つのアドレスを、第1の情報処理装置5、第2の情報処理装置6に送信する。そして、ステップS401に戻る。
なお、図18のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態3の具体例と同様であるとする。また、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、IPアドレスと、装置識別情報とをサーバ7dに登録する処理は、実施の形態3と同様であり、その説明を省略する。
次に、第1の情報処理装置5のトンネル通信部52は、第2の情報処理装置6を識別する第2の装置識別子と、第2の情報処理装置6とトンネル通信を行いたい旨とをサーバ7dに送信する。すると、それらは通信制御部71において受信される。通信制御部71は、トンネル通信を開始すると判断し(ステップS401)、第1の情報処理装置5から送信されたパケットのヘッダから第1の情報処理装置5のIPアドレスを取得し、図11で示されるアドレス識別子対応情報を参照して、第1の情報処理装置5の装置識別子「12345678」を取得する。また、通信制御部71は、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5から送信された装置識別子「98765432」に対応するIPアドレス「131.206.10.240」を取得する。そして、通信制御部71は、第2の情報処理装置6のIPアドレス「131.206.10.240」を第1の情報処理装置5に送信する。
判断部75は、通信制御部71が、第1の情報処理装置5から送信された第2の情報処理装置6とトンネル通信を行いたい旨の情報を受信したため、第1の情報処理装置5が発呼側であり、第2の情報処理装置6が着呼側であると判断する(ステップS402)。そして、判断部75は、装置識別子「12345678」で識別される情報処理装置が発呼側であり、装置識別子「98765432」で識別される情報処理装置が着呼側である旨をアドレス決定部73dに渡す。すると、アドレス決定部73dは、その判断結果に基づいてアドレスを決定し、その決定したアドレスを装置識別子と共にアドレス送信部74に渡す(ステップS403)。なお、このアドレス決定方法は実施の形態4における具体例と同様であり、その説明を省略する。
アドレス送信部74は、アドレス決定部73dから装置識別子「12345678」と、それに対応したIPアドレス「192.168.0.1」との組と、装置識別子「98765432」と、それに対応したIPアドレス「192.168.0.2」との組を受け取ると、通信制御部71で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のIPアドレスを取得する。そして、その取得したIPアドレスを用いて、装置識別子とIPアドレスとの2つの組を第1の情報処理装置5のIPアドレス「202.132.10.6」、および第2の情報処理装置6のIPアドレス「131.206.10.240」に対して送信する(ステップS404)。この後の処理は、実施の形態3の具体例と同様であり、その説明を省略する。
以上のように、本実施の形態による通信システムでは、サーバ7dが、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、第1の情報処理装置5、および第2の情報処理装置6の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
なお、本実施の形態では、アドレス送信部74がアドレス決定部73dによって決定されたアドレスを送信する場合について説明したが、アドレス送信部74に代えて、アドレス決定部73dによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ7dの管理者がそのアドレスを電子メールやFAX等によって第1の情報処理装置5のユーザや第2の情報処理装置6のユーザに通知することによって、第1の情報処理装置5や、第2の情報処理装置6において設定されてもよい。
また、本実施の形態では、サーバ7dのアドレス送信部74が、第2の情報処理装置6にアドレス決定部73dが決定した2つのアドレスを送信する場合について説明したが、アドレス送信部74は、第2の情報処理装置6に第2の情報処理装置6のアドレス「192.168.0.2」のみを送信してもよい。この場合には、第2の情報処理装置2dは、第1の情報処理装置5から送信されたカプセル化された通信対象のデータのヘッダから第1の情報処理装置5のアドレスを取得することができる。
また、本実施の形態では、サーバ7dから第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとの両方を送信する場合について説明したが、サーバ7dは、まず第1の情報処理装置5に対しては、第1の情報処理装置5のアドレス「192.168.0.1」を送信し、第2の情報処理装置6に対しては、第2の情報処理装置6のアドレス「192.168.0.2」を送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ7dがその相手方のアドレスを送信するようにしてもよい。
(実施の形態7)
本発明の実施の形態7による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置の装置識別子と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
本実施の形態による通信システムは、図1と同様であるとする。ただし、第1の情報処理装置1が第1の情報処理装置1eに対応し、サーバ4がサーバ4eに対応するものとする。また、第2の情報処理装置2は、実施の形態4の第2の情報処理装置2bに対応するものとする。
図19は、本実施の形態による第1の情報処理装置1eの構成を示すブロック図である。本実施の形態による第1の情報処理装置1eは、トンネル通信部11と、識別子受付部12と、識別子記憶部13と、アドレス決定部14eと、アドレス送信部15と、トンネル通信識別子受付部17とを備える。なお、トンネル通信部11、識別子受付部12、識別子記憶部13、アドレス送信部15は、実施の形態1と同様のものであり、その説明を省略する。
アドレス決定部14eは、識別子受付部12が受け付けた通信先装置識別子と、識別子記憶部13が記憶している通信元装置識別子と、トンネル通信識別子受付部17が受け付けたトンネル通信識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。ここで、トンネル通信識別子とは、情報処理装置間で行われるトンネル通信を識別する識別子である。このアドレスの決定においては、通信先装置識別子と、通信元装置識別子と、トンネル通信識別子とに基づいて、通信先の装置(すなわち、第2の情報処理装置2b)で用いるアドレスと、通信元の装置(すなわち、第1の情報処理装置1e)で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。また、アドレス決定部14eは、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスの一部を決定し、トンネル通信識別子に基づいて、通信対象のデータに対して用いるアドレスの他の部分を決定してもよい。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
トンネル通信識別子受付部17は、トンネル通信識別子を受け付ける。トンネル通信識別子受付部17は、例えば、有線もしくは無線の通信回線を介して送信された(例えば、サーバ4eから送信された)トンネル通信識別子を受信してもよく、所定の入力デバイス(例えば、キーボードやマウス、タッチパネルなど)を介して第1の情報処理装置1eに入力されたトンネル通信識別子を受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたトンネル通信識別子を受け付けてもよく、あるいは、第1の情報処理装置1eで生成されたトンネル通信識別子を受け付けてもよい。本実施の形態では、サーバ4eから送信されたトンネル通信識別子を受け付ける場合について説明する。なお、トンネル通信識別子受付部17は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、トンネル通信識別子受付部17は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
図20は、本実施の形態によるサーバ4eの構成を示すブロック図である。サーバ4eは、トンネル通信識別子生成部41と、トンネル通信識別子送信部42と、通信制御部71とを備える。なお、通信制御部71は、実施の形態3と同様のものであり、その説明を省略する。
トンネル通信識別子生成部41は、トンネル通信識別子を生成する。このトンネル通信識別子によって複数の情報処理装置間で行われているトンネル通信を識別することができればよい。したがって、トンネル通信識別子は、例えば、GUIDであってもよく、あるいは、トンネル通信の終了後には、再度、同一のトンネル通信識別子を他のトンネル通信において用いてもよい。トンネル通信識別子生成部41は、トンネル通信識別子を所定の関数等を用いた演算等によって生成してもよく、複数のトンネル通信識別子を有するテーブルから選択することによってトンネル通信識別子を生成してもよく、トンネル通信を識別可能なトンネル通信識別子を決定できるのであれば、その生成の方法は問わない。
トンネル通信識別子送信部42は、トンネル通信識別子生成部41が生成したトンネル通信識別子を、そのトンネル通信識別子によって識別されるトンネル通信を行う情報処理装置に送信する。なお、トンネル通信識別子送信部42は、例えば、トンネル通信識別子を、アドレス決定を行う装置にのみ送信してもよく、あるいは、トンネル通信を行うすべての装置に送信してもよい。本実施の形態では、トンネル通信識別子を、アドレス決定を行う装置にのみ送信する場合について説明する。また、トンネル通信識別子送信部42は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、トンネル通信識別子送信部42と通信回線3との間に図示しない送信デバイスが存在することとなる)。また、トンネル通信識別子送信部42は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
次に、本実施の形態による通信システムの動作、特に第1の情報処理装置1eにおいてアドレスを決定する動作について説明する。図21は、第1の情報処理装置1eにおけるアドレスを決定する動作を示すフローチャートである。
(ステップS501)識別子受付部12は、通信先装置識別子を受け付けたかどうか判断する。そして、通信先装置識別子を受け付けた場合には、ステップS502に進み、そうでない場合には、ステップS503に進む。
(ステップS502)アドレス決定部14eは、識別子受付部12が受け付けた通信先装置識別子を図示しない記録媒体で一時的に記憶する。そして、ステップS501に戻る。
(ステップS503)トンネル通信識別子受付部17は、トンネル通信識別子を受け付けたかどうか判断する。そして、トンネル通信識別子を受け付けた場合には、ステップS504に進み、そうでない場合には、ステップS505に進む。
(ステップS504)アドレス決定部14eは、トンネル通信識別子受付部17が受け付けたトンネル通信識別子を図示しない記録媒体で一時的に記憶する。そして、ステップS501に戻る。
(ステップS505)アドレス決定部14eは、通信先装置識別子と、トンネル通信識別子とが受け付けられたかどうか判断する。この判断は、例えば、アドレス決定部14eが有する図示しない記録媒体に、通信先装置識別子と、トンネル通信識別子とが格納されているかどうかによって判断する。そして、通信先装置識別子と、トンネル通信識別子とが受け付けられていた場合には、ステップS506に進み、そうでない場合には、ステップS501に戻る。
(ステップS506)アドレス決定部14eは、図示しない記録媒体で一時的に記憶している通信先装置識別子と、トンネル通信識別子と、識別子記憶部13で記憶されている通信元装置識別子とを用いて、アドレスを決定する。このアドレス決定の方法については後述する。
(ステップS507)アドレス送信部15は、アドレス決定部14eが決定したアドレスを第2の情報処理装置2bに送信する。そして、ステップS501に戻る。
なお、図21のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、通信先装置識別子と、トンネル通信識別子とが受け付けられたと判断されたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、トンネル通信識別子受付部17がトンネル通信識別子を受け付けたタイミングでアドレスの決定等を行ってもよい。また、トンネル通信識別子が受け付けられた時点において通信先装置識別子が受け付けられていない場合には、通信先装置識別子の送信や入力等を要求するようにしてもよい。また、このフローチャートでは、受け付けられた通信先装置識別子や、トンネル通信識別子をアドレス決定部14eの有する図示しない記録媒体において一時的に記憶する場合について説明したが、受け付けられた通信先識別子等は、他の記録媒体において一時的に記憶されてもよい。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態1の図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態1の具体例と同様であるとする。また、第1の情報処理装置1e、第2の情報処理装置2bがそれぞれ、IPアドレスと、装置識別情報とをサーバ4eに登録する処理は、実施の形態1と同様であり、その説明を省略する。
通信先装置識別子の記録された着脱可能な記録媒体が、第1の情報処理装置1eに装着されると、その記録媒体に記憶されている通信先装置識別子「98765432」が識別子受付部12によって受け付けられ、トンネル通信部11と、アドレス決定部14eとに渡されたとする(ステップS501)。アドレス決定部14eは、その通信先装置識別子を図示しないメモリで一時的に記憶する(ステップS502)。
トンネル通信部11は、識別子受付部12から通信先装置識別子「98765432」を受け取ると、トンネル通信を開始すると判断し、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のIPアドレスを送信する旨の指示とをサーバ4eに送信する。すると、サーバ4eはそれらを受信し、通信先装置識別子「98765432」に対応する、保持しているIPアドレス「131.206.10.240」を第1の情報処理装置1eに送信する。第1の情報処理装置1eのトンネル通信部11は、第2の情報処理装置2bのIPアドレス「131.206.10.240」をサーバ4eから受け付けると、そのIPアドレスを保持しておく。
また、サーバ4eは、第1の情報処理装置1eと、第2の情報処理装置2bとの間でトンネル通信を開始すると判断する。そして、トンネル通信識別子生成部41は、第1の情報処理装置1eと、第2の情報処理装置2bとの間で行うトンネル通信を識別するトンネル通信識別子「111222333」を生成する。トンネル通信識別子送信部42は、そのトンネル通信識別子を、発呼側であり、アドレスの決定を行う第1の情報処理装置1eに送信する。第1の情報処理装置1eのアドレスは、第1の情報処理装置1eから送信された通信先装置識別子を含むパケットのヘッダから取得されたものである。送信されたトンネル通信識別子「111222333」は、第1の情報処理装置1eのトンネル通信識別子受付部17で受け付けられる(ステップS503)。そのトンネル通信識別子は、アドレス決定部14eに渡される。アドレス決定部14eは、トンネル通信識別子受付部17から受け付けたトンネル通信識別子を図示しないメモリで一時的に記憶する。(ステップS504)。
その後、アドレス決定部14eは、通信先装置識別子と、トンネル通信識別子が受け付けられたと判断し、(ステップS505)、アドレス決定部14eの有する図示しないメモリにおいて一時的に記憶している通信先装置識別子「98765432」と、トンネル通信識別子「111222333」と、識別子記憶部13から読み出した通信元装置識別子「12345678」とに基づいて、トンネル通信における通信対象のデータに対して用いるIPアドレスを決定する。具体的には、アドレス決定部14eは、例えば、下記の3つの方法のいずれかによってアドレスを決定する(ステップS506)。
[テーブルを用いるアドレス決定方法]
アドレス決定部14eが決定するアドレスは、図22Aで示される構造を有する。すなわち、先頭の8ビットは「169」であり、次の8ビットは「254」である。また、次の16ビットのうち、先頭の12ビットはネットワークアドレスであり、トンネル通信識別子を「4096」で割った余りを用いる。また、最後の4ビットはホストアドレスであり、図22Bのテーブルを用いて決定する。図22Bのテーブルは、装置識別子の異なる桁と、ホストアドレスとの対応を示すテーブルである。アドレス決定部14eは、通信先装置識別子「98765432」と、通信元装置識別子「12345678」との最下位の桁の値(「2」と、「8」)に対応するホストアドレスを、図22Bのテーブルを用いて決定する。すなわち、第1の情報処理装置1eのホストアドレスは「8」となり、第2の情報処理装置2bのホストアドレスは「2」となる。また、トンネル通信識別子「111222333」を「4096」で割った余り「3645」が第1の情報処理装置1e、および第2の情報処理装置2bに共通のネットワークアドレスとなる。したがって、アドレス決定部14eは、第1の情報処理装置1eのIPアドレスを「169.254.227.216」と決定する(「3645」のバイナリ表示「111000111101」と、「8」のバイナリ表示「1000」とを8ビットずつに分けた「11100011」と、「11011000」との10進数表示がそれぞれ「227」と、「216」とになる)。同様にして、アドレス決定部14eは、第2の情報処理装置2bのIPアドレスを「169.254.227.210」と決定する。そして、アドレス決定部14eは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。なお、このようにしてアドレスが決定された場合には、各情報処理装置において、「255.255.255.248」をサブネットマスクとして用いる。このテーブルを用いてアドレスを決定する方法のように、アドレス決定部14eは、通信先装置識別子と、通信元装置識別子とに基づいてアドレスの一部を決定し、トンネル通信識別子に基づいてアドレスの他の部分を決定してもよい。
[関数を用いるアドレス決定方法]
アドレス決定部14eは、アドレスを決定する関数「Func(引数1、引数2、引数3)」を有している。そして、引数1に通信元装置識別子「12345678」を代入し、引数2に通信先装置識別子「98765432」を代入し、引数3にトンネル通信識別子「111222333」を代入する。その結果、2つのアドレス「192.168.0.1」、「192.168.0.2」が算出される。そして、前者のIPアドレスを第1の情報処理装置1eのIPアドレスと決定し、後者のIPアドレスを第2の情報処理装置2bのアドレスと決定する。そして、アドレス決定部14eは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。
[装置識別子の大小比較によるアドレス決定方法]
この方法においても、アドレス決定部14eが決定するアドレスは、図22Aで示される構造を有するものとする。また、ネットワークアドレスをトンネル通信識別子に基づいて決定する方法は、前述の「テーブルを用いるアドレス決定方法」と同様であるとする。アドレス決定部14eは、装置識別子の大きいほうの情報処理装置のホストアドレスに「2」を割り当て、装置識別子の小さいほうの情報処理装置のホストアドレスに「1」を割り当てるものとする。したがって、第1の情報処理装置1eの装置識別子「12345678」のほうが第2の情報処理装置2bの装置識別子「98765432」よりも小さいため、第1の情報処理装置1eのホストアドレスは「1」となる。その結果、アドレス決定部14eは、第1の情報処理装置1eのIPアドレスを「169.254.227.209」と決定する。また、アドレス決定部14eは、第2の情報処理装置2bのIPアドレスを「169.254.227.210」と決定する。そして、アドレス決定部14eは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。なお、この場合にも、各情報処理装置において、「255.255.255.248」をサブネットマスクとして用いるものとする。
なお、3通りのアドレス決定方法について説明したが、アドレス決定部14eは、通信元装置識別子と、通信先装置識別子と、トンネル通信識別子とに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
アドレス送信部15は、実施の形態1の具体例と同様に、決定された第1の情報処理装置1eのIPアドレスと、第2の情報処理装置2bのIPアドレスとを第2の情報処理装置2bに送信する(ステップS507)。その結果、それらのIPアドレスが第2の情報処理装置2bにおけるアドレス受付部21で受け付けられ、トンネル通信部22に渡される。また、トンネル通信部11は、実施の形態1の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部22は、アドレス受付部21で受け付けられたアドレスを用いてトンネル通信を行う。
以上のように、本実施の形態による通信システムでは、トンネル通信を行う情報処理装置の装置識別子と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態1と同様のメリットを得ることができる。
なお、本実施の形態では、第1の情報処理装置1eがアドレス送信部15を備えた構成について説明したが、第1の情報処理装置1eは、アドレス送信部15に代えて、アドレス決定部14eが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやFAX等によって第2の情報処理装置2bのユーザに通知することによって、第2の情報処理装置2bにおいて設定されてもよい。
また、本実施の形態では、サーバ4eで生成されたトンネル通信識別子が第1の情報処理装置1eにのみ送信される場合について説明したが、そのトンネル通信識別子は、第1の情報処理装置1eと共に、第2の情報処理装置2bにも送信されてもよい。
(実施の形態8)
本発明の実施の形態8による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
図23は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、第1の情報処理装置1fと、第2の情報処理装置2fと、サーバ4eとを備える。サーバ4eは、実施の形態7と同様のものであり、その説明を省略する。ただし、本実施の形態では、第1の情報処理装置1f、および第2の情報処理装置2fにおいてアドレスの決定を行うため、サーバ4eは、生成したトンネル通信識別子を第1の情報処理装置1f、および第2の情報処理装置2fのそれぞれに送信するものとする。
第1の情報処理装置1fは、トンネル通信部11と、識別子受付部12と、識別子記憶部13と、アドレス決定部14eと、トンネル通信識別子受付部17とを備える。なお、トンネル通信部11、識別子受付部12、識別子記憶部13、アドレス決定部14e、トンネル通信識別子受付部17は、実施の形態7と同様のものであり、その説明を省略する。
第2の情報処理装置2fは、トンネル通信部22と、識別子記憶部23と、識別子受付部25と、アドレス決定部26fと、トンネル通信識別子受付部28とを備える。なお、トンネル通信部22は、実施の形態4と同様のものであり、識別子記憶部23、識別子受付部25は、実施の形態2と同様のものであり、アドレス決定部26f、トンネル通信識別子受付部28は、実施の形態7のアドレス決定部14e、トンネル通信識別子受付部17と同様のものであり、それらの説明を省略する。
また、第1の情報処理装置1fにおけるアドレスを決定する動作は、ステップS507におけるアドレスの送信処理を行わない以外、実施の形態7における図21で示されるものと同様であり、その説明を省略する。また、本実施の形態における第2の情報処理装置2fにおけるアドレスを決定する動作も、トンネル通信部11、識別子受付部12、識別子記憶部13、アドレス決定部14e、トンネル通信識別子受付部17が、それぞれトンネル通信部22、識別子受付部25、識別子記憶部23、アドレス決定部26f、トンネル通信識別子受付部28に対応し、ステップS507におけるアドレスの送信処理を行わない以外、実施の形態7における図21で示されるものと同様であり、その説明を省略する。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。なお、第1の情報処理装置1fにおいてIPアドレスが決定される動作は、実施の形態7の具体例と同様であり、その説明を省略する。また、前述のように、サーバ4eからは、第1の情報処理装置1fと共に、第2の情報処理装置2fにもトンネル通信識別子が送信されるものとする。
サーバ4eは、第1の情報処理装置1fからの要求に応じて、第2の情報処理装置2fのIPアドレスを第1の情報処理装置1fに送信すると共に、第1の情報処理装置1fの装置識別子と、第1の情報処理装置1fが第2の情報処理装置2fとのトンネル通信を要求している旨を示す情報とを第2の情報処理装置2fに送信する。また、サーバ4eは、トンネル通信識別子を生成し、そのトンネル通信識別子を第1の情報処理装置1fと、第2の情報処理装置2fとに送信する。
第2の情報処理装置2fの識別子受付部25は、サーバ4eから送信された第1の情報処理装置1fの装置識別子を、トンネル通信部22を介して受け付ける(ステップS501)。その装置識別子は、アドレス決定部26fの図示しないメモリにおいて一時的に記憶される(ステップS502)。また、第2の情報処理装置2fのトンネル通信識別子受付部28は、サーバ4eから送信されたトンネル通信識別子を、トンネル通信部22を介して受け付ける(ステップS503)。そのトンネル通信識別子は、アドレス決定部26fの図示しないメモリにおいて一時的に記憶される(ステップS504)。その後、アドレス決定部26fが装置識別子とトンネル通信識別子とが受け付けられていると判断し(ステップS505)、アドレス決定部26fの図示しないメモリで記憶されている装置識別子と、トンネル通信識別子と、識別子記憶部23から読み出した第2の情報処理装置2fの装置識別子とに基づいて第1の情報処理装置1fと、第2の情報処理装置2fのIPアドレスを決定する処理は、実施の形態7と同様であり、その説明を省略する。
ただし、関数を用いてアドレスを決定する場合には、実施の形態2の具体例で説明したように、引数1には第2の情報処理装置2fの装置識別子を代入し、引数2には第1の情報処理装置1fの装置識別子を代入するものとする。また、関数は、引数1と引数2が入れ替えられると、算出結果のIPアドレスも逆の順番となるような関数であるとする。この場合には、アドレス決定部26fが関数を用いて決定したアドレスのうち、1番目のアドレスが第2の情報処理装置2fのIPアドレスとなり、2番目のアドレスが第1の情報処理装置1fのIPアドレスとなる。
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態7の具体例と同様であり、その説明を省略する。
以上のように、本実施の形態による通信システムでは、情報処理装置の装置識別子とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態2と同様の効果を得ることができる。
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第1の情報処理装置1fにおいて第1の情報処理装置1fのアドレスのみを決定し、第2の情報処理装置2fにおいて第2の情報処理装置2fのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
(実施の形態9)
本発明の実施の形態9による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
図24は、本実施の形態による通信システムの構成を示す図である。図24において、本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置5と、第2の情報処理装置6と、サーバ7gとを備える。なお、第1の情報処理装置5、第2の情報処理装置6は、実施の形態3と同様のものであり、その説明を省略する。
サーバ7gは、実施の形態1におけるサーバ4と同様に、第1の情報処理装置5と第2の情報処理装置6との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部71と、識別子受付部72と、アドレス決定部73gと、アドレス送信部74と、トンネル通信識別子生成部41と、トンネル通信識別子受付部76とを備える。なお、通信制御部71、識別子受付部72、アドレス送信部74は、実施の形態3と同様のものであり、トンネル通信識別子生成部41は、実施の形態7と同様のものであり、その説明を省略する。
アドレス決定部73gは、識別子受付部72が受け付けた、第1の情報処理装置5を識別する第1の装置識別子、第2の情報処理装置6を識別する第2の装置識別子と、トンネル通信識別子受付部76が受け付けたトンネル通信識別子とに基づいて、第1の情報処理装置5と、第2の情報処理装置6との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置5の第1のアドレス、および第2の情報処理装置6の第2のアドレスを決定する。アドレスの決定方法については、実施の形態7におけるアドレス決定部14eと同様であり、その説明を省略する。
トンネル通信識別子受付部76は、トンネル通信識別子を受け付ける。トンネル通信識別子受付部76は、例えば、有線もしくは無線の通信回線を介して送信された(例えば、他のサーバから送信された)トンネル通信識別子を受信してもよく、所定の入力デバイス(例えば、キーボードやマウス、タッチパネルなど)を介してサーバ7gに入力されたトンネル通信識別子を受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたトンネル通信識別子を受け付けてもよく、あるいは、サーバ7gで生成されたトンネル通信識別子を受け付けてもよい。本実施の形態では、サーバ7gのトンネル通信識別子生成部41で生成されたトンネル通信識別子を受け付ける場合について説明する。なお、トンネル通信識別子受付部76は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、トンネル通信識別子受付部76は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図25は、サーバ7gにおけるアドレスを決定する動作を示すフローチャートである。
(ステップS601)識別子受付部72は、第1の装置識別子、および第2の装置識別子を受け付けたかどうか判断する。そして、それらの識別子を受け付けた場合には、ステップS602に進み、そうでない場合には、それらの識別子を受け付けるまでステップS601の処理を繰り返す。
(ステップS602)アドレス決定部73gは、識別子受付部72が受け付けた第1の装置識別子、および第2の装置識別子を図示しない記録媒体において一時的に記憶する。
(ステップS603)トンネル通信識別子生成部41は、トンネル通信識別子を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部76に渡す。
(ステップS604)トンネル通信識別子受付部76は、トンネル通信識別子生成部41から渡されたトンネル通信識別子を受け付ける。
(ステップS605)アドレス決定部73gは、トンネル通信識別子受付部76が受け付けたトンネル通信識別子、識別子受付部72が受け付け、図示しない記録媒体において一時的に記憶されている第1の装置識別子、第2の装置識別子に基づいて、アドレスを決定する。このアドレスの決定方法は、実施の形態7の具体例での説明と同様であり、その説明を省略する。
(ステップS606)アドレス送信部74は、アドレス決定部73gが決定した第1の情報処理装置5のアドレス、および第2の情報処理装置6のアドレスを、第1の情報処理装置5と、第2の情報処理装置6とに送信する。そして、ステップS601に戻る。
なお、図25のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部72が第1の装置識別子等を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、第1の情報処理装置5と、第2の情報処理装置6とがトンネル通信を開始するタイミングで、それまでに識別子受付部72で受け付けられている第1の装置識別子等を用いてアドレスを決定してもよい。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態3の具体例と同様であるとする。また、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、IPアドレスと、装置識別情報とをサーバ7gに登録する処理は、実施の形態3と同様であり、その説明を省略する。
第1の情報処理装置5のトンネル通信部52は、第2の情報処理装置6を識別する第2の装置識別子と、第2の情報処理装置6とトンネル通信を行いたい旨とをサーバ7gに送信する。すると、それらは通信制御部71において受信される。通信制御部71は、第1の情報処理装置5から送信されたパケットのヘッダから第1の情報処理装置5のIPアドレスを取得し、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5の第1の装置識別子「12345678」を取得する。また、通信制御部71は、アドレス識別子対応情報を参照し、第1の情報処理装置5から送信された第2の装置識別子「98765432」に対応するIPアドレス「131.206.10.240」を取得する。そして、通信制御部71は、第1の装置識別子と、第2の装置識別子とを識別子受付部72に渡すと共に、第2の情報処理装置6のIPアドレスを第1の情報処理装置5に送信する。
識別子受付部72は、通信制御部71から第1の装置識別子と第2の装置識別子を受け付けると(ステップS601)、それらをアドレス決定部73gに渡す。アドレス決定部73gは、その第1の装置識別子等を図示しないメモリにおいて一時的に記憶する(ステップS602)。
また、トンネル通信識別子生成部41は、通信制御部71がトンネル通信を開始する旨の情報を受信したことに対応して、新たなトンネル通信識別子「111222333」を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部76に渡す(ステップS603)。すると、そのトンネル通信識別子はトンネル通信識別子受付部76で受け付けられる(ステップS604)。
その後、アドレス決定部73gは、トンネル通信識別子受付部76が受け付けたトンネル通信識別子と、図示しないメモリで記憶している第1の装置識別子、第2の装置識別子とに基づいて、第1の情報処理装置5、および第2の情報処理装置6で用いるIPアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部74に渡す(ステップS605)。このアドレスの決定方法は実施の形態7の具体例と同様であり、その説明を省略する。
アドレス送信部74は、アドレス決定部73gが決定した第1の情報処理装置5のIPアドレスと、その第1の情報処理装置5の装置識別子との組、および第2の情報処理装置6のIPアドレスと、その第2の情報処理装置6の装置識別子との組を受け取ると、通信制御部71で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のIPアドレスを取得する。そして、アドレス送信部74は、装置識別子とIPアドレスとの2つの組を第1の情報処理装置5と、第2の情報処理装置6とに送信する(ステップS606)。この後の処理は、実施の形態3の具体例と同様であり、その説明を省略する。
以上のように、本実施の形態による通信システムでは、サーバ7gが、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、第1の情報処理装置5、および第2の情報処理装置6の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
なお、本実施の形態では、アドレス送信部74がアドレス決定部73gによって決定されたアドレスを送信する場合について説明したが、アドレス送信部74に代えて、アドレス決定部73gによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ7gの管理者がそのアドレスを電子メールやFAX等によって第1の情報処理装置5のユーザや第2の情報処理装置6のユーザに通知することによって、第1の情報処理装置5や、第2の情報処理装置6において設定されてもよい。
また、本実施の形態では、サーバ7gのアドレス送信部74が、第2の情報処理装置6にアドレス決定部73gが決定した2つのアドレスを送信する場合について説明したが、アドレス送信部74は、第2の情報処理装置6に第2の情報処理装置6のアドレスのみを送信してもよい。この場合には、第2の情報処理装置6は、第1の情報処理装置5から送信されたカプセル化された通信対象のデータのヘッダから第1の情報処理装置5のアドレスを取得することができる。
また、本実施の形態では、サーバ7gから第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとの両方を送信する場合について説明したが、サーバ7gは、まず第1の情報処理装置5に対しては、第1の情報処理装置5のアドレスを送信し、第2の情報処理装置6に対しては、第2の情報処理装置6のアドレスを送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ7gがその相手方のアドレスを送信するようにしてもよい。
(実施の形態10)
本発明の実施の形態10による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
本実施の形態による通信システムは、図1と同様であるとする。ただし、第1の情報処理装置1が第1の情報処理装置1hに対応するものとする。また、第2の情報処理装置2は、実施の形態4の第2の情報処理装置2bに対応し、サーバ4は、実施の形態7のサーバ4eに対応するものとする。
図26は、本実施の形態による第1の情報処理装置1hの構成を示すブロック図である。本実施の形態による第1の情報処理装置1hは、トンネル通信部11と、アドレス決定部14hと、アドレス送信部15と、判断部16と、トンネル通信識別子受付部17とを備える。なお、トンネル通信部11、アドレス送信部15は、実施の形態1と同様のものであり、判断部16は、実施の形態4と同様のものであり、トンネル通信識別子受付部17は、実施の形態7と同様のものであり、それらの説明を省略する。
アドレス決定部14hは、判断部16による判断結果と、トンネル通信識別子受付部17が受け付けたトンネル通信識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。ここで、トンネル通信識別子とは、情報処理装置間で行われるトンネル通信を識別する識別子である。このアドレスの決定においては、判断部16による判断結果と、トンネル通信識別子とに基づいて、通信先の装置(例えば、第2の情報処理装置2b)で用いるアドレスと、通信元の装置(例えば、第1の情報処理装置1h)で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。また、アドレス決定部14hは、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスの一部を決定し、トンネル通信識別子に基づいて、通信対象のデータに対して用いるアドレスの他の部分を決定してもよい。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
次に、本実施の形態による通信システムの動作、特に第1の情報処理装置1hにおいてアドレスを決定する動作について説明する。図27は、第1の情報処理装置1hにおけるアドレスを決定する動作を示すフローチャートである。
(ステップS701)トンネル通信部11は、トンネル通信を開始するかどうか判断する。このトンネル通信の開始には、第1の情報処理装置1hが積極的にトンネル通信を開始する場合と、他の装置(ここでは、第2の情報処理装置2b)からのトンネル通信の要求に応じて、トンネル通信を開始する場合とがある。いずれであっても、トンネル通信部11は、トンネル通信を開始すると判断する。そして、トンネル通信を開始する場合には、ステップS702に進み、そうでない場合には、トンネル通信を開始するまでステップS701の処理を繰り返す。
(ステップS702)判断部16は、第1の情報処理装置1hが発呼側か着呼側かの判断を行う。
(ステップS703)トンネル通信識別子受付部17は、トンネル通信識別子を受け付けたかどうか判断する。そして、トンネル通信識別子を受け付けた場合には、ステップS704に進み、そうでない場合には、トンネル通信識別子を受け付けるまで、ステップS703の処理を繰り返す。
(ステップS704)アドレス決定部14hは、判断部16による判断結果と、トンネル通信識別子受付部17が受け付けたトンネル通信識別子とを用いて、アドレスを決定する。このアドレス決定の方法については後述する。
(ステップS705)アドレス送信部15は、アドレス決定部14hが決定したアドレスを第2の情報処理装置2bに送信する。そして、ステップS701に戻る。
なお、図27のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態1の図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態1の具体例と同様であるとする。また、第1の情報処理装置1h、第2の情報処理装置2bがそれぞれ、IPアドレスと、装置識別情報とをサーバ4eに登録する処理は、実施の形態1と同様であり、その説明を省略する。
通信先装置識別子の記録された着脱可能な記録媒体が、第1の情報処理装置1hに装着され、その記録媒体に記憶されている通信先装置識別子「98765432」が図示しない受付部によって受け付けられ、トンネル通信部11に渡されたとする。
すると、トンネル通信部11は、トンネル通信を開始すると判断し(ステップS701)、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のIPアドレスを送信する旨の指示とをサーバ4eに送信する。すると、サーバ4eはそれらを受信し、通信先装置識別子「98765432」に対応する、保持しているIPアドレス「131.206.10.240」を第1の情報処理装置1hに送信する。第1の情報処理装置1hのトンネル通信部11は、第2の情報処理装置2bのIPアドレス「131.206.10.240」をサーバ4eから受け付けると、そのIPアドレスを保持しておく。
判断部16は、トンネル通信部11がトンネル通信のトンネルのプロトコルの通信における発呼側であるため、第1の情報処理装置1hが発呼側であると判断する(ステップS702)。そして、その判断結果をアドレス決定部14hに渡す。
また、サーバ4eは、第1の情報処理装置1hと、第2の情報処理装置2bとの間でトンネル通信を開始すると判断する。そして、トンネル通信識別子生成部41は、第1の情報処理装置1hと、第2の情報処理装置2bとの間で行うトンネル通信を識別するトンネル通信識別子「111222333」を生成する。トンネル通信識別子送信部42は、そのトンネル通信識別子を第1の情報処理装置1hに送信する。第1の情報処理装置1hのアドレスは、第1の情報処理装置1hから送信された通信先装置識別子を含むパケットのヘッダから取得されたものである。送信されたトンネル通信識別子「111222333」は、第1の情報処理装置1hのトンネル通信識別子受付部17で受け付けられる(ステップS703)。第1の情報処理装置1hのトンネル通信識別子受付部17で受け付けられたトンネル通信識別子は、アドレス決定部14hに渡される。
アドレス決定部14hは、判断部16から判断結果を受け取り、トンネル通信識別子受付部17からトンネル通信識別子を受け取ると、その判断結果とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるIPアドレスを決定する。具体的には、アドレス決定部14hは、例えば、下記の2つの方法のいずれかによってアドレスを決定する(ステップS704)。
[テーブルを用いるアドレス決定方法]
アドレス決定部14hが決定するアドレスは、図28Aで示される構造を有する。すなわち、先頭の8ビットは「169」であり、次の8ビットは「254」である。また、次の16ビットのうち、先頭の14ビットはネットワークアドレスであり、トンネル通信識別子を「16384」で割った余りを用いる。また、最後の2ビットはホストアドレスであり、図28Bのテーブルを用いて決定する。図28Bのテーブルは、発呼側・着呼側を示す情報と、IPアドレスとの対応を示すものである。判断部16によって第1の情報処理装置1hが発呼側であると判断されたため、アドレス決定部14hは、図28Bのテーブルを用いて、第1の情報処理装置1hのホストアドレスを「1」に決定する。また、第2の情報処理装置2bは着呼側であるため、アドレス決定部14hは、第2の情報処理装置2bのホストアドレスを「2」に決定する。なお、図28Bでは、発呼側・着呼側を示す情報と、IPアドレスとがテーブル形式で対応付けられている場合について示しているが、テーブル形式以外によって発呼側・着呼側を示す情報と、IPアドレスとが対応付けられていてもよい。また、トンネル通信識別子「111222333」を「16384」で割った余り「7741」が第1の情報処理装置1h、および第2の情報処理装置2bに共通のネットワークアドレスとなる。したがって、アドレス決定部14hは、第1の情報処理装置1hのIPアドレスを「169.254.120.245」と決定する(「7741」のバイナリ表示「01111000111101」と、「1」のバイナリ表示「01」とを8ビットずつに分けた「01111000」と、「11110101」との10進数表示がそれぞれ「120」と、「245」とになる)。同様にして、アドレス決定部14hは、第2の情報処理装置2bのIPアドレスを「169.254.120.246」と決定する。そして、アドレス決定部14hは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。なお、このようにしてアドレスが決定された場合には、各情報処理装置において、「255.255.255.252」をサブネットマスクとして用いる。このテーブルを用いてアドレスを決定する方法のように、アドレス決定部14hは、通信先装置識別子と、通信元装置識別子とに基づいてアドレスの一部を決定し、トンネル通信識別子に基づいてアドレスの他の部分を決定してもよい。
なお、アドレス決定部14hは、ホストアドレスをあらかじめ決められている複数のアドレスから選択することによって決定してもよい。例えば、アドレス決定部14hが図28Cで示されるテーブルを有しており、情報処理装置が発呼側であれば、そのホストアドレスを「1」、「3」、「5」の中から選択し、情報処理装置が着呼側であれば、そのホストアドレスを「2」、「4」、「6」の中から選択するようにしてもよい。
[関数を用いるアドレス決定方法]
アドレス決定部14hは、アドレスを決定する関数「Func(引数1、引数2)」を有している。そして、発呼側のアドレスを演算する場合には、引数1に「0」を代入し、着呼側のアドレスを演算する場合には、引数1に「1」を代入する。また、引数2には、トンネル通信識別子を代入する。この具体例において、アドレス決定部14hが引数1に「0」を代入し、引数2に「111222333」を代入し、関数の値が「192.168.0.1」となったとする。このIPアドレスが第1の情報処理装置1hのアドレスとなる。一方、アドレス決定部14hが引数1に「1」を代入し、引数2に「111222333」を代入し、関数の値が「192.168.0.2」となったとする。このIPアドレスが第2の情報処理装置2bのアドレスとなる。そして、アドレス決定部14hは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。
なお、2通りのアドレス決定方法について説明したが、アドレス決定部14hは、判断部16による判断結果と、トンネル通信識別子とに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
アドレス送信部15は、実施の形態1の具体例と同様に、決定された第1の情報処理装置1hのIPアドレスと、第2の情報処理装置2bのIPアドレスとを第2の情報処理装置2bに送信する(ステップS705)。その結果、それらのIPアドレスが第2の情報処理装置2bにおけるアドレス受付部21で受け付けられ、トンネル通信部22に渡される。また、トンネル通信部11は、実施の形態1の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部22は、アドレス受付部21で受け付けられたアドレスを用いてトンネル通信を行う。
以上のように、本実施の形態による通信システムでは、判断部16による判断結果と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態1と同様のメリットを得ることができる。
なお、本実施の形態では、第1の情報処理装置1hがアドレス送信部15を備えた構成について説明したが、第1の情報処理装置1hは、アドレス送信部15に代えて、アドレス決定部14hが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやFAX等によって第2の情報処理装置2bのユーザに通知することによって、第2の情報処理装置2bにおいて設定されてもよい。
また、本実施の形態では、サーバ4eで生成されたトンネル通信識別子が第1の情報処理装置1hにのみ送信される場合について説明したが、そのトンネル通信識別子は、第1の情報処理装置1hと共に、第2の情報処理装置2bにも送信されてもよい。
(実施の形態11)
本発明の実施の形態11による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
図29は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置1iと、第2の情報処理装置2iと、サーバ4eとを備える。サーバ4eは、実施の形態7と同様のものであり、その説明を省略する。ただし、本実施の形態では、第1の情報処理装置1i、および第2の情報処理装置2iにおいてアドレスの決定を行うため、サーバ4eは、生成したトンネル通信識別子を第1の情報処理装置1i、および第2の情報処理装置2iのそれぞれに送信するものとする。
第1の情報処理装置1iは、トンネル通信部11と、アドレス決定部14hと、判断部16と、トンネル通信識別子受付部17とを備える。なお、トンネル通信部11、アドレス決定部14h、判断部16、トンネル通信識別子受付部17は、実施の形態10と同様のものであり、その説明を省略する。
第2の情報処理装置2iは、トンネル通信部22と、アドレス決定部26iと、判断部27と、トンネル通信識別子受付部28とを備える。なお、トンネル通信部22は、実施の形態4と同様のものであり、トンネル通信識別子受付部28は、実施の形態8と同様のものであり、アドレス決定部26iは、実施の形態10のアドレス決定部14hと同様のものであり、それらの説明を省略する。
また、第1の情報処理装置1iにおけるアドレスを決定する動作は、ステップS705におけるアドレスの送信処理を行わない以外、実施の形態10における図27で示されるものと同様であり、その説明を省略する。また、本実施の形態における第2の情報処理装置2iにおけるアドレスを決定する動作も、トンネル通信部11、アドレス決定部14h、判断部16、トンネル通信識別子受付部17が、それぞれトンネル通信部22、アドレス決定部26i、判断部27、トンネル通信識別子受付部28に対応し、ステップS705におけるアドレスの送信処理を行わない以外、実施の形態10における図27で示されるものと同様であり、その説明を省略する。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。なお、第1の情報処理装置1iにおいてIPアドレスが決定される動作は、実施の形態10の具体例と同様であり、その説明を省略する。また、サーバ4eからは、第1の情報処理装置1iと共に、第2の情報処理装置2iにもトンネル通信識別子が送信されるものとする。
サーバ4eは、第1の情報処理装置1iからの要求に応じて、第2の情報処理装置2iのIPアドレスを第1の情報処理装置1iに送信すると共に、第1の情報処理装置1iが第2の情報処理装置2iとのトンネル通信を要求している旨を示す情報とを第2の情報処理装置2iに送信する。また、サーバ4eは、トンネル通信識別子を生成し、そのトンネル通信識別子を第1の情報処理装置1iと、第2の情報処理装置2iとに送信する。
第2の情報処理装置2iのトンネル通信部22が、そのサーバ4eから送信された情報を受信すると、トンネル通信を開始すると判断し(ステップS701)、判断部27は、第2の情報処理装置2iが着呼側であると判断する(ステップS702)。また、トンネル通信識別子受付部28は、サーバ4eから送信されたトンネル通信識別子を、トンネル通信部22を介して受け付ける(ステップS703)。なお、アドレス決定部26iが、判断部27による判断結果と、トンネル通信識別子とに基づいて第1の情報処理装置1iと、第2の情報処理装置2iのIPアドレスを決定する処理は、実施の形態10と同様であり、その説明を省略する。また、このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態10の具体例と同様であり、その説明を省略する。
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態2と同様の効果を得ることができる。
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第1の情報処理装置1iにおいて第1の情報処理装置1iのアドレスのみを決定し、第2の情報処理装置2iにおいて第2の情報処理装置2iのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
(実施の形態12)
本発明の実施の形態12による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
図30は、本実施の形態による通信システムの構成を示す図である。図30において、本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置5と、第2の情報処理装置6と、サーバ7jとを備える。なお、第1の情報処理装置5、第2の情報処理装置6は、実施の形態3と同様のものであり、その説明を省略する。
サーバ7jは、実施の形態1におけるサーバ4と同様に、第1の情報処理装置5と第2の情報処理装置6との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部71と、アドレス決定部73jと、アドレス送信部74と、判断部75と、トンネル通信識別子生成部41と、トンネル通信識別子受付部76とを備える。なお、通信制御部71、アドレス送信部74は、実施の形態3と同様のものであり、判断部75は、実施の形態6と同様のものであり、トンネル通信識別子生成部41、トンネル通信識別子受付部76は、実施の形態9と同様のものであり、その説明を省略する。
アドレス決定部73jは、判断部75による判断結果と、トンネル通信識別子受付部76が受け付けたトンネル通信識別子とに基づいて、第1の情報処理装置5と、第2の情報処理装置6との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置5の第1のアドレス、および第2の情報処理装置6の第2のアドレスを決定する。アドレスの決定方法については、実施の形態10におけるアドレス決定部14hと同様であり、その説明を省略する。
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図31は、サーバ7jにおけるアドレスを決定する動作を示すフローチャートである。
(ステップS801)通信制御部71は、第1の情報処理装置5と、第2の情報処理装置6との間でトンネル通信が開始されるかどうか判断する。そして、トンネル通信が開始される場合には、ステップS802に進み、そうでない場合には、トンネル通信が開始されるまで、ステップS801の処理を繰り返す。
(ステップS802)判断部75は、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、発呼側であるのか、着呼側であるのかを判断する。
(ステップS803)トンネル通信識別子生成部41は、トンネル通信識別子を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部76に渡す。
(ステップS804)トンネル通信識別子受付部76は、トンネル通信識別子生成部41から渡されたトンネル通信識別子を受け付ける。
(ステップS805)アドレス決定部73jは、トンネル通信識別子受付部76が受け付けたトンネル通信識別子、および判断部75による判断結果に基づいて、アドレスを決定する。このアドレスの決定方法は、実施の形態10の具体例での説明と同様であり、その説明を省略する。
(ステップS806)アドレス送信部74は、アドレス決定部73jが決定した第1の情報処理装置5のアドレス、および第2の情報処理装置6のアドレスを、第1の情報処理装置5と、第2の情報処理装置6とに送信する。そして、ステップS801に戻る。
なお、図31のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態3の具体例と同様であるとする。また、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、IPアドレスと、装置識別情報とをサーバ7jに登録する処理は、実施の形態3と同様であり、その説明を省略する。
次に、第1の情報処理装置5のトンネル通信部52は、第2の情報処理装置6を識別する第2の装置識別子と、第2の情報処理装置6とトンネル通信を行いたい旨とをサーバ7jに送信する。すると、それらは通信制御部71において受信される。通信制御部71は、トンネル通信を開始すると判断し(ステップS801)、第1の情報処理装置5から送信されたパケットのヘッダから第1の情報処理装置5のIPアドレスを取得し、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5の装置識別子「12345678」を取得する。また、通信制御部71は、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5から送信された装置識別子「98765432」に対応するIPアドレス「131.206.10.240」を取得する。そして、通信制御部71は、第2の情報処理装置6のIPアドレスを第1の情報処理装置5に送信する。
判断部75は、通信制御部71が、第1の情報処理装置5から送信された第2の情報処理装置6とトンネル通信を行いたい旨の情報を受信したため、第1の情報処理装置5が発呼側であり、第2の情報処理装置6が着呼側であると判断する(ステップS802)。そして、判断部75は、装置識別子「12345678」で識別される情報処理装置が発呼側であり、装置識別子「98765432」で識別される情報処理装置が着呼側である旨をアドレス決定部73jに渡す。
トンネル通信識別子生成部41は、通信制御部71がトンネル通信を開始する旨の情報を受信したことに対応して、新たなトンネル通信識別子「111222333」を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部76に渡す(ステップS803)。すると、そのトンネル通信識別子はトンネル通信識別子受付部76で受け付けられる(ステップS804)。
その後、アドレス決定部73jは、トンネル通信識別子受付部76が受け付けたトンネル通信識別子と、判断部75から受け取った判断結果とに基づいて、第1の情報処理装置5、および第2の情報処理装置6で用いるIPアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部74に渡す(ステップS805)。このアドレスの決定方法は実施の形態10の具体例と同様であり、その説明を省略する。
アドレス送信部74は、アドレス決定部73jが決定した第1の情報処理装置5のIPアドレスと、その第1の情報処理装置5の装置識別子との組、および第2の情報処理装置6のIPアドレスと、その第2の情報処理装置6の装置識別子との組を受け取ると、通信制御部71で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のIPアドレスを取得する。そして、アドレス送信部74は、装置識別子とIPアドレスとの2つの組を第1の情報処理装置5と、第2の情報処理装置6とに送信する(ステップS806)。この後の処理は、実施の形態3の具体例と同様であり、その説明を省略する。
以上のように、本実施の形態による通信システムでは、サーバ7jが、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、第1の情報処理装置5、および第2の情報処理装置6の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
なお、本実施の形態では、アドレス送信部74がアドレス決定部73jによって決定されたアドレスを送信する場合について説明したが、アドレス送信部74に代えて、アドレス決定部73jによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ7jの管理者がそのアドレスを電子メールやFAX等によって第1の情報処理装置5のユーザや第2の情報処理装置6のユーザに通知することによって、第1の情報処理装置5や、第2の情報処理装置6において設定されてもよい。
また、本実施の形態では、サーバ7jのアドレス送信部74が、第2の情報処理装置6にアドレス決定部73jが決定した2つのアドレスを送信する場合について説明したが、アドレス送信部74は、第2の情報処理装置6に第2の情報処理装置6のアドレスのみを送信してもよい。この場合には、第2の情報処理装置2jは、第1の情報処理装置5から送信されたカプセル化された通信対象のデータのヘッダから第1の情報処理装置5のアドレスを取得することができる。
また、本実施の形態では、サーバ7jから第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとの両方を送信する場合について説明したが、サーバ7jは、まず第1の情報処理装置5に対しては、第1の情報処理装置5のアドレスを送信し、第2の情報処理装置6に対しては、第2の情報処理装置6のアドレスを送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ7jがその相手方のアドレスを送信するようにしてもよい。
また、実施の形態9,12では、トンネル通信識別子受付部76がトンネル通信識別子生成部41によって生成されたトンネル通信識別子を受け付ける場合について説明したが、前述のように、トンネル通信識別子受付部76は、例えば、入力デバイスによって入力されたトンネル通信識別子や、記録媒体から読み出されたトンネル通信識別子等を受け付けてもよい。
(実施の形態13)
本発明の実施の形態13による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられる2以上のアドレスが一致したことを検出すると、そのアドレスを変更するものである。
図32は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置1kと、第2の情報処理装置2bと、第3の情報処理装置3kと、サーバ4とを備える。なお、第2の情報処理装置2bは、実施の形態4と同様のものであり、サーバ4は、実施の形態1と同様のものであり、それらの説明を省略する。
本実施の形態による第1の情報処理装置1kは、2以上の情報処理装置とトンネル通信を行うものであるとする。すなわち、第1の情報処理装置1kは、第2の情報処理装置2b、および第3の情報処理装置3kとトンネル通信を行うものとする。そのような場合に、例えば、第1の情報処理装置1kが第2の情報処理装置2bとのトンネル通信における通信対象のデータに対して用いるアドレスが「192.168.0.1」であり、また、第1の情報処理装置1kが第3の情報処理装置3kとのトンネル通信における通信対象のデータに対して用いるアドレスが「192.168.0.1」であるとすると、第1の情報処理装置1kが第2の情報処理装置2b、および第3の情報処理装置3kとのトンネル通信において用いるアドレスが一致してしまう。トンネル通信とは、仮想的なネットワークのインターフェースを用いて通信を行うようなものであり、トンネル通信において用いるアドレスが一致してしまうと、その仮想的なネットワークのインターフェースに割り当てられたアドレスが一致することになってしまう(例えば、同一のアドレスを持つ2つのNICを用いて通信を行うような状況となる)。その結果、第1の情報処理装置1kは、通信を行うことができなくなる。このような状況が発生した場合に、本実施の形態による第1の情報処理装置1kでは、少なくとも一方のアドレスを変更する処理を行うことによって、第1の情報処理装置1kが2以上のトンネル通信を同時に行うことができるようにする。
図33は、本実施の形態による第1の情報処理装置1kの構成を示すブロック図である。本実施の形態による第1の情報処理装置1kは、トンネル通信部11と、アドレス決定部14bと、アドレス送信部15と、判断部16と、検出部18と、アドレス変更部19とを備える。なお、トンネル通信部11、アドレス決定部14b、アドレス送信部15、判断部16は、トンネル通信部11が2以上の通信先の装置とトンネル通信を行うものであり、アドレス送信部15が変更後のアドレスをも送信するものである以外、実施の形態4と同様であり、その説明を省略する。
検出部18は、2以上のトンネル通信において通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する。例えば、トンネル通信部11が第2の情報処理装置2bとのトンネル通信における通信対象のデータに用いる第1の情報処理装置1kのアドレスと、第3の情報処理装置3kとのトンネル通信における通信対象のデータに用いる第1の情報処理装置1kのアドレスとが一致していることを検出する。
アドレス変更部19は、検出部18が2以上のアドレスが一致していることを検出した場合に、通信対象のデータに対して用いるアドレスを変更する。なお、このアドレスの変更では、例えば、トンネル通信の通信対象のデータに対して用いるアドレスのうち、第1の情報処理装置1kのアドレスのみを変更してもよく、あるいは、第1の情報処理装置1kのアドレスと、第1の情報処理装置1kの通信相手の情報処理装置のアドレスとを変更してもよい。また、アドレス変更部19は、検出部18によって一致していることが検出された2以上のアドレスの一部のアドレスを変更することによって、その2以上のアドレスが一致しないようにしてもよく(例えば、2個のアドレスが一致する場合に、一方のアドレスのみを変更してもよい)、あるいは、全部のアドレスを変更してもよい(例えば、2個のアドレスが一致する場合に、両方のアドレスを変更し、一致しないようにしてもよい)。アドレス変更の具体的な方法については後述する。
図34は、本実施の形態による第3の情報処理装置3kの構成を示すブロック図である。本実施の形態による第3の情報処理装置3kは、アドレス受付部31と、トンネル通信部32とを備える。アドレス受付部31、トンネル通信部32は、それぞれ実施の形態4による第2の情報処理装置2bのアドレス受付部21、トンネル通信部22と同様のものであり、その説明を省略する。
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作、アドレスを変更する動作について説明する。図35は、第1の情報処理装置1kにおけるアドレスを決定する動作を示すフローチャートである。なお、図35のフローチャートにおいて、ステップS301〜S304の処理は、実施の形態4における図14のフローチャートと同様であり、その説明を省略する。
(ステップS901)検出部18は、トンネル通信部11が行う2以上のトンネル通信において、通信対象のデータに対して用いられる2以上のアドレスが一致しているかどうか判断する。そして、一致していることを検出した場合には、ステップS902に進み、そうでない場合には、ステップS301に戻る。
(ステップS902)アドレス変更部19は、通信対象のデータに対して用いるアドレスを変更する。
(ステップS903)アドレス送信部15は、アドレス変更部19によって変更されたアドレスを送信する。このアドレスの送信先は、アドレス変更部19によって変更されたアドレスに関する通信を行う情報処理装置である。例えば、第2の情報処理装置2bとのトンネル通信における通信対象のデータに対して用いるアドレスが変更された場合には、変更後のアドレスを第2の情報処理装置2bに送信し、第3の情報処理装置3kとのトンネル通信における通信対象のデータに対して用いるアドレスが変更された場合には、変更後のアドレスを第3の情報処理装置3kに送信する。そして、ステップS301に戻る。
なお、図35のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図35のフローチャートでは、アドレスの決定に関する処理(ステップS301〜S304)と、アドレスの変更に関する処理(ステップS901〜S903)とを別個に行う場合について示しているが、アドレスの決定の処理の直後に、アドレスが一致するかどうかの判断を行い、アドレスが一致しない場合には、アドレスの送信処理を行い、アドレスが一致する場合には、アドレスの変更処理を行った後に、変更後のアドレスを送信する処理を行うようにしてもよい。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態3の具体例と同様であるとする。また、第1の情報処理装置1k、第2の情報処理装置2b、第3の情報処理装置3kがそれぞれ、IPアドレスと、装置識別情報とをサーバ4に登録する処理は、実施の形態3と同様であり、その説明を省略する。また、第1の情報処理装置1kと、第2の情報処理装置2bとの間でのトンネル通信を開始する処理は、実施の形態4と同様であり、その説明を省略する。また、第1の情報処理装置1kと、第3の情報処理装置3kとの間でのトンネル通信を開始する処理も、実施の形態4と同様であり、その説明を省略する。ここで、第1の情報処理装置1kと、第3の情報処理装置3kとの間でのトンネル通信を開始する処理が実行され、そのトンネル通信において、通信対象のデータに用いる第1の情報処理装置1kのIPアドレス「192.168.0.1」が、第2の情報処理装置2bとの間でのトンネル通信において、通信対象のデータに用いる第1の情報処理装置1kのIPアドレス「192.168.0.1」と一致したとする。
すると、検出部18は、両者のアドレスが一致すると判断し(ステップS901)、アドレス変更部19は、第1の情報処理装置1kと、第3の情報処理装置3kとの間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスを変更する。具体的には、アドレス変更部19は、例えば、下記の3つの方法のいずれかによってアドレスを変更する(ステップS902)。ここで、第1の情報処理装置1kと、第3の情報処理装置3kとの間で行われるトンネル通信における通信対象のデータに対して用いられる第3の情報処理装置3kのアドレスは、「192.168.0.2」であるとする。また、そのアドレスにおいて、最後の8ビットがホストアドレスであるとする(すなわち、サブネットマスクが「255.255.255.0」であるとする)。
[ホストアドレスを変更する方法]
アドレス変更部19は、第1の情報処理装置1kのIPアドレス「192.168.0.1」のホストアドレスに1を足して、第1の情報処理装置1kのIPアドレスを「192.168.0.2」とする。また、アドレス変更部19は、第3の情報処理装置3kのIPアドレス「192.168.0.2」のホストアドレスにも1を足し、第3の情報処理装置3kのIPアドレスを「192.168.0.3」とする。
[ネットワークアドレスを変更する方法]
アドレス変更部19は、第1の情報処理装置1kのIPアドレス「192.168.0.1」のネットワークアドレスに1を足して、第1の情報処理装置1kのIPアドレスを「192.168.1.1」とする。また、アドレス変更部19は、第3の情報処理装置3kのIPアドレス「192.168.0.2」のネットワークアドレスにも1を足し、第3の情報処理装置3kのIPアドレスを「192.168.1.2」とする。
[ホストアドレスとネットワークアドレスを変更する方法]
アドレス変更部19は、第1の情報処理装置1kのIPアドレス「192.168.0.1」のネットワークアドレスに1を足し、またホストアドレスにも1を足して、第1の情報処理装置1kのIPアドレスを「192.168.1.2」とする。また、アドレス変更部19は、第3の情報処理装置3kのIPアドレス「192.168.0.2」のネットワークアドレスにも1を足し、またホストアドレスにも1を足して、第3の情報処理装置3kのIPアドレスを「192.168.1.3」とする。
なお、3通りのアドレス決定方法について説明したが、アドレス変更部19は、アドレスの一致が解消するようにアドレスを変更すればよく、これ以外のアドレス変更方法によってアドレスを変更してもよい。例えば、この具体例において、第1の情報処理装置1kのIPアドレスと、第3の情報処理装置3kのIPアドレスとが一致しないようにできるのであれば、第1の情報処理装置1kのIPアドレスのみを変更してもよい。
また、変更後のアドレスが、他の情報処理装置とのトンネル通信において通信対象のデータに対して用いているアドレスと異なるようにすることができるのであれば、アドレス決定を再度行うことによって、アドレスを変更してもよい。この場合に、トンネル通信における一方の情報処理装置のアドレスのみを変更するのであれば、トンネル通信における他方の情報処理装置のアドレスと重ならないようにする必要がある。
アドレス送信部15は、実施の形態1の具体例と同様に、変更された第1の情報処理装置1kのIPアドレスと、第3の情報処理装置3kのIPアドレスとを第3の情報処理装置3kに送信する(ステップS903)。その結果、それらのIPアドレスが第3の情報処理装置3kにおけるアドレス受付部31で受け付けられ、トンネル通信部32に渡される。また、トンネル通信部11は、変更されたアドレスを用いてトンネル通信を行い、トンネル通信部32は、アドレス受付部31で受け付けられた変更後のアドレスを用いてトンネル通信を行う。
以上のように、本実施の形態による通信システムでは、トンネル通信における通信対象のデータに対して用いるアドレスが一致した場合であっても、アドレスを変更することができる。その結果、2以上のトンネル通信を行うことができなくなるような事態を回避することができ、2以上のトンネル通信を適切に行うことができるようにすることができる。
なお、本実施の形態では、実施の形態4による通信システムにおいて、第1の情報処理装置が検出部18と、アドレス変更部19とを備える場合について説明したが、実施の形態4以外の通信システムにおいても、情報処理装置が検出部と、アドレス変更部とを備えてもよい。例えば、実施の形態7,10による通信システムにおいて、第1の情報処理装置が検出部やアドレス変更部を備えることによって、第1の情報処理装置が2以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、2以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
(実施の形態14)
本発明の実施の形態14による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、アドレスの変更を行うものである。
本実施の形態による通信システムは、図32と同様であるとする。ただし、第1の情報処理装置1kが第1の情報処理装置1mに対応し、第2の情報処理装置2bが第2の情報処理装置2mに対応するものとする。
図36は、本実施の形態による第1の情報処理装置1mの構成を示すブロック図である。本実施の形態による第1の情報処理装置1mは、トンネル通信部11と、アドレス決定部14bと、判断部16と、検出部18と、アドレス変更部19と、アドレス変更情報送信部20とを備える。なお、トンネル通信部11、アドレス決定部14b、判断部16は、実施の形態4と同様のものであり、検出部18、アドレス変更部19は、実施の形態13と同様のものであり、それらの説明を省略する。
アドレス変更情報送信部20は、検出部18が2以上のアドレスが一致していることを検出した場合に、アドレス変更情報を送信する。ここで、アドレス変更情報とは、トンネル通信における通信対象のデータに対して用いるアドレスの変更に関する情報である。アドレス変更情報は、例えば、アドレスの変更を指示するのみの情報であってもよく、あるいは、アドレスをどのように変更するのかに関する指示を含む情報であってもよい。アドレス変更情報は、通信対象のデータに対して用いるアドレスを変更するトンネル通信を行っている通信相手の情報処理装置に送信される。なお、アドレス変更情報送信部20は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス変更情報送信部20と通信回線3との間に図示しない送信デバイスが存在することとなる)。また、アドレス変更情報送信部20は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
図37は、本実施の形態による第2の情報処理装置2mの構成を示すブロック図である。本実施の形態による第2の情報処理装置2mは、トンネル通信部22と、アドレス決定部26cと、判断部27と、アドレス変更情報受信部29と、アドレス変更部30とを備える。なお、トンネル通信部22、アドレス決定部26c、判断部27は、実施の形態5と同様であり、その説明を省略する。
アドレス変更情報受信部29は、アドレス変更情報を受信する。なお、アドレス変更情報受信部29は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス変更情報受信部29と通信回線3との間に図示しない受信デバイスが存在することとなる)。また、アドレス変更情報受信部29は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
アドレス変更部30は、アドレス変更情報受信部29がアドレス変更情報を受信した場合に、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。このアドレス変更部30がアドレスを変更する処理は、実施の形態13のアドレス変更部19による処理と同様であり、その説明を省略する。
次に、本実施の形態による通信システムの動作、特にアドレスを決定し、アドレスを変更する動作について説明する。図38は、第1の情報処理装置1mによるアドレスを決定し、アドレスを変更する動作を示すフローチャートである。なお、図38において、ステップS1001以外の処理は、実施の形態13の図35のフローチャートと同様であり、その説明を省略する。
(ステップS1001)アドレス変更情報送信部20は、アドレス変更情報を送信する。このアドレス変更情報の送信先は、通信対象のデータに対して用いるアドレスを変更するトンネル通信を行っている通信相手の情報処理装置である。
なお、図38のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図39は、第2の情報処理装置2mによるアドレスを決定し、アドレスを変更する動作を示すフローチャートである。なお、図39において、ステップS1101、S1102以外の処理は、トンネル通信部11がトンネル通信部22となり、アドレス決定部14bがアドレス決定部26cとなり、判断部16が判断部27となる以外、実施の形態13の図35のフローチャートと同様であり、その説明を省略する。
(ステップS1101)アドレス変更情報受信部29は、アドレス変更情報を受信したかどうか判断する。そして、アドレス変更情報を受け付けた場合には、ステップS1102に進み、そうでない場合には、ステップS301に戻る。
(ステップS1102)アドレス変更部30は、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。その後、トンネル通信部22は、その変更後のアドレスを用いて、トンネル通信を行うことになる。そして、ステップS301に戻る。
なお、図39のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態13の具体例と同様であるとする。まず、第1の情報処理装置1mと、第3の情報処理装置3kとがトンネル通信を開始し、その後に、第1の情報処理装置1mと、第2の情報処理装置2mとがトンネル通信を開始する処理については、実施の形態5と同様であり、その説明を省略する。
第1の情報処理装置1mと、第2の情報処理装置2mとがトンネル通信を開始した後に、第1の情報処理装置1mが第3の情報処理装置3kとのトンネル通信における通信対象のデータに対して用いている第1の情報処理装置1mのIPアドレスと、第2の情報処理装置2mとのトンネル通信における通信対象のデータに対して用いている第1の情報処理装置1mのIPアドレスとが共に「192.168.0.1」であり、一致すると検出部18によって検出されたとする(ステップS901)。すると、アドレス変更情報送信部20は、第2の情報処理装置2mにアドレス変更情報を送信する(ステップS1001)。また、第1の情報処理装置1mのアドレス変更部19は、実施の形態13と同様にして、第2の情報処理装置2mとのトンネル通信における通信対象のデータに対して用いるIPアドレスを変更する(ステップS902)。
第2の情報処理装置2mのアドレス変更情報受信部29は、第1の情報処理装置1mから送信されたアドレス変更情報を、トンネル通信部22を介して受け付ける(ステップS1101)。そして、アドレス変更部30は、第2の情報処理装置2mが第1の情報処理装置1mとのトンネル通信における通信対象のデータに対して用いるIPアドレスを変更する(ステップS1102)。このアドレス変更部30におけるアドレスの変更は、第1の情報処理装置1mにおけるアドレス変更部19と同様になされるものとする。したがって、第1の情報処理装置1mと、第2の情報処理装置2mとにおいて、別々にアドレスの変更がなされたとしても、その変更後のアドレスは、第1の情報処理装置1mと、第2の情報処理装置2mとにおいて同じものであるとする。
なお、アドレスをどのように変更するのかを示す情報が、アドレス変更情報に含まれるようにしてもよい。例えば、第1の情報処理装置1mにおいて、第1の情報処理装置1mと、第2の情報処理装置2mのホストアドレスに1を足すアドレス変更を行う場合には、そのアドレス変更を示す情報を含むアドレス変更情報をアドレス変更情報送信部20が第2の情報処理装置2mに送信することによって、第2の情報処理装置2mでは、そのアドレス変更情報に基づいて、第1の情報処理装置1mと、第2の情報処理装置2mのホストアドレスに1を足すアドレス変更を行うことができる。その結果、第1の情報処理装置1mと、第2の情報処理装置2mとにおいて、別個にアドレスの変更を行ったとしても、その変更後のアドレスが同一のものとなる。
以上のように、本実施の形態による通信システムでは、第1の情報処理装置1mにおいて、2以上のアドレスが一致することが検知された場合に、そのアドレスを変更すると共に、アドレス変更情報を通信相手の第2の情報処理装置2mに送信することによって、第2の情報処理装置2mにおいて、第1の情報処理装置1mにおいて行われたのと同様のアドレスの変更を行うことができる。その結果、第1の情報処理装置1mと、第2の情報処理装置2mとは、その変更後のアドレスを用いてトンネル通信を行うことができ、また、第1の情報処理装置1mにおいて発生したアドレスの一致をも解消することができる。
なお、本実施の形態では、実施の形態5による通信システムにおいて、第1の情報処理装置が検出部18等を備え、第2の情報処理装置がアドレス変更情報受信部29等を備える場合について説明したが、実施の形態5以外の通信システムにおいても、第1の情報処理装置等が検出部18等を備えてもよい。例えば、実施の形態8,11による通信システムにおいて、第1の情報処理装置や第2の情報処理装置が検出部やアドレス変更部を備えることによって、第1の情報処理装置が2以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、2以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
(実施の形態15)
本発明の実施の形態15による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられる2以上のアドレスが一致したことを検出すると、そのアドレスをサーバにおいて変更するものである。
本実施の形態による通信システムは、図32と同様であるとする。ただし、第1の情報処理装置1kが第1の情報処理装置1nに対応し、第2の情報処理装置2bが第2の情報処理装置2nに対応し、サーバ4がサーバ7nに対応するものとする。なお、第3の情報処理装置3kは、実施の形態13と同様であるとする。
図40は、本実施の形態による第1の情報処理装置1nの構成を示すブロック図である。本実施の形態による第1の情報処理装置1nは、アドレス受付部51と、トンネル通信部52と、検出部53と、アドレス一致情報送信部54と、アドレス変更情報受信部55と、アドレス変更部56とを備える。なお、アドレス受付部51、トンネル通信部52は、トンネル通信部52が2以上の通信先の装置とトンネル通信を行うものである以外、実施の形態3と同様であり、検出部53は、実施の形態13の検出部18と同様のものであり、それらの説明を省略する。
アドレス一致情報送信部54は、検出部53が2以上のアドレスが一致していることを検出した場合に、アドレス一致情報をサーバ7nに送信する。ここで、アドレス一致情報とは、トンネル通信における通信対象のデータに対して用いられるアドレスが一致している旨を示す情報である。このアドレス一致情報には、例えば、どのトンネル通信における通信対象のデータに対して用いるアドレスが、他のトンネル通信における通信対象のデータに対して用いるアドレスと一致したのかを示す情報などが含まれてもよい。なお、アドレス一致情報送信部54は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス一致情報送信部54と通信回線3との間に図示しない送信デバイスが存在することとなる)。またアドレス一致情報送信部54は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
アドレス変更情報受信部55は、アドレス変更情報を受信する。ここで、アドレス変更情報とは、アドレスの変更に関する情報である。アドレス変更情報は、例えば、実施の形態13で説明したように、アドレスの変更を指示するのみの情報であってもよく、アドレスをどのように変更するのかに関する指示(例えば、ホストアドレスに1を足すなど)を含む情報であってもよく、あるいは、変更後のアドレスを示す情報であってもよい。なお、アドレス変更情報受信部55は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス変更情報受信部55と通信回線3との間に図示しない受信デバイスが存在することとなる)。また、アドレス変更情報受信部55は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
アドレス変更部56は、通信対象のデータに対して用いるアドレスを変更する。このアドレスの変更は、アドレス変更情報受信部が受信したアドレス変更情報に基づいて行われる。例えば、アドレス変更情報がどのようにアドレスを変更するのかを示す情報である場合には、アドレス変更部56は、そのアドレス変更情報に応じて、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。
図41は、本実施の形態による第2の情報処理装置2nの構成を示すブロック図である。本実施の形態による第2の情報処理装置2nは、アドレス受付部61と、トンネル通信部62と、アドレス変更情報受信部63と、アドレス変更部64とを備える。なお、アドレス受付部61、トンネル通信部62は、実施の形態3と同様であり、その説明を省略する。また、アドレス変更情報受信部63、アドレス変更部64は、上述のアドレス変更情報受信部55、アドレス変更部56と同様のものであり、その説明を省略する。
図42は、本実施の形態によるサーバ7nの構成を示すブロック図である。本実施の形態によるサーバ7nは、通信制御部71と、アドレス決定部73dと、アドレス送信部74と、判断部75と、アドレス一致情報受信部77と、アドレス変更情報構成部78と、アドレス変更情報送信部79とを備える。なお、通信制御部71、アドレス決定部73d、アドレス送信部74、判断部75は、実施の形態6と同様であり、その説明を省略する。
アドレス一致情報受信部77は、アドレス一致情報を受信する。なお、アドレス一致情報受信部77は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス一致情報受信部77と通信回線3との間に図示しない受信デバイスが存在することとなる)。また、アドレス一致情報受信部77は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
アドレス変更情報構成部78は、アドレス一致情報受信部77がアドレス一致情報を受信した場合に、アドレス変更情報を構成する。アドレス変更情報構成部78は、例えば、アドレス変更情報を新たに生成してもよく、あるいは、所定の記録媒体等において記憶されているアドレス変更情報を読み出してもよい。
アドレス変更情報送信部79は、アドレス変更情報構成部78が構成したアドレス変更情報を送信する。なお、アドレス変更情報送信部79は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス変更情報送信部79と通信回線3との間に図示しない送信デバイスが存在することとなる)。また、アドレス変更情報送信部79は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
次に、本実施の形態による通信システムの動作、特にアドレスを決定し、アドレスを変更する動作について説明する。図43は、サーバ7nにおけるアドレスを決定する動作を示すフローチャートである。なお、ステップS401〜S404の処理は、実施の形態6の図18のフローチャートと同様であり、その説明を省略する。
(ステップS1201)アドレス一致情報受信部77は、アドレス一致情報を受信したかどうか判断する。そして、アドレス一致情報を受信した場合には、ステップS1202に進み、そうでない場合には、ステップS401に戻る。
(ステップS1202)アドレス変更情報構成部78は、アドレス変更情報を構成する。
(ステップS1203)アドレス変更情報送信部79は、アドレス変更情報構成部78によって構成されたアドレス変更情報を、情報処理装置に送信する。そして、ステップS401に戻る。
なお、図43のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態13の具体例と同様であるとする。まず、第1の情報処理装置1nと、第3の情報処理装置3kとがトンネル通信を開始し、その後に、第1の情報処理装置1nと、第2の情報処理装置2nとがトンネル通信を開始する処理については、実施の形態14と同様であり、その説明を省略する。
第1の情報処理装置1nと、第2の情報処理装置2nとがトンネル通信を開始した後に、第1の情報処理装置1nが第3の情報処理装置3kとのトンネル通信における通信対象のデータに対して用いている第1の情報処理装置1nのIPアドレスと、第2の情報処理装置2nとのトンネル通信における通信対象のデータに対して用いている第1の情報処理装置1nのIPアドレスとが共に「192.168.0.1」であり、一致すると検出部53によって検出されたとする。すると、アドレス一致情報送信部54は、第1の情報処理装置1nと、第2の情報処理装置2nとの間で行われるトンネル通信における通信対象のデータに対して用いる第1の情報処理装置1nのアドレス「192.168.0.1」と、第2の情報処理装置2nのアドレス「192.168.0.2」と、第1の情報処理装置1nのアドレスが他のトンネル通信で用いられるアドレスと一致した旨を示す情報と、第2の情報処理装置2nの装置識別情報とを含むアドレス一致情報をサーバ7nに送信する。
すると、そのアドレス一致情報がアドレス一致情報受信部77で受信される(ステップS1201)。そして、アドレス変更情報構成部78は、第1の情報処理装置1nと、第2の情報処理装置2nとの間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスが、他のトンネル通信の通信対象のデータに対して用いられるアドレスと一致したと判断し、第1の情報処理装置1nと、第2の情報処理装置2nとの間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを変更するためのアドレス変更情報を構成する(ステップS1202)。このアドレス変更情報は、ホストアドレスに1を足す旨の指示を含む情報であるとする。そのアドレス変更情報は、アドレス変更情報送信部79によって第1の情報処理装置1nと、第2の情報処理装置2nとに送信される(ステップS1203)。アドレス変更情報送信部79は、アドレス変更情報の送信先である第1の情報処理装置1nのアドレスを、アドレス一致情報の送信元アドレスから知ることができ、また、第2の情報処理装置2nのアドレスを、アドレス一致情報に含まれた第2の情報処理装置2nの装置識別情報と、図11で示されるアドレス識別子対応情報とを用いることによって知ることができる。
そのアドレス変更情報は、第1の情報処理装置1nのアドレス変更情報受信部55で受信され、アドレス変更部56は、そのアドレス変更情報に応じて、第1の情報処理装置1nのIPアドレス「192.168.0.1」、および第2の情報処理装置2nのIPアドレス「192.168.0.2」に1を足すことによってアドレスの変更を行う。また、アドレス変更情報は、第2の情報処理装置2nのアドレス変更情報受信部63で受信され、第2の情報処理装置2のアドレス変更部64も、そのアドレス変更情報に応じて、第1の情報処理装置1nのIPアドレス「192.168.0.1」、および第2の情報処理装置2nのIPアドレス「192.168.0.2」に1を足すことによってアドレスの変更を行う。その後、変更後のアドレスによって、第1の情報処理装置1nと、第2の情報処理装置2nとの間でのトンネル通信が行われる。
この具体例では、アドレス変更情報がアドレスをどのように変更するのかを示す情報である場合について説明したが、アドレス変更情報は、変更後のアドレスを示す情報であってもよく、その場合には、アドレス変更部56等は、第1の情報処理装置1nのアドレス等を、そのアドレス変更情報の示すアドレスに変更することになる。
以上のように、本実施の形態による通信システムでは、第1の情報処理装置1nにおいて、2以上のアドレスが一致することが検知された場合に、2以上のアドレスが一致したことを示すアドレス一致情報をサーバ7nに送信することによって、サーバ7nに、アドレスが一致した旨を通知することができる。その後、サーバ7nがアドレス一致情報の受信に応じて、アドレス変更情報を情報処理装置に送ることによって、各情報処理装置において、そのアドレス変更情報に応じたアドレスの変更を行うことができ、その結果、第1の情報処理装置1nと、第2の情報処理装置2nとは、その変更後のアドレスを用いてトンネル通信を行うことができ、また、第1の情報処理装置1nにおいて発生したアドレスの一致をも解消することができる。
なお、本実施の形態では、実施の形態6による通信システムにおいて、第1の情報処理装置がアドレス一致情報送信部54等をさらに備え、第2の情報処理装置がアドレス変更情報受信部63等をさらに備え、サーバがアドレス一致情報受信部77等をさらに備える場合について説明したが、実施の形態6以外の通信システムにおいても、サーバ等がアドレス一致情報受信部77等を備えることによって、本実施の形態と同様に、サーバから送信されるアドレス変更情報に基づいたアドレスの変更が各情報処理装置で行われるようにしてもよい。例えば、実施の形態9,12による通信システムにおいて、サーバがアドレス一致情報受信部や、アドレス変更情報構成部、アドレス変更情報送信部を備えることによって、第1の情報処理装置が2以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、2以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
また、実施の形態13〜15では、具体例において2個のアドレスが一致した場合にアドレスを変更する場合について説明したが、3個以上のアドレスが一致した場合にも、上記と同様のアドレス変更の処理を行い、アドレスの一致を解消するようにしてもよい。
また、上記各実施の形態の具体例において、第1の情報処理装置が第2の情報処理装置の装置識別子を記録媒体から受け取る場合について説明したが、第1の情報処理装置は、第2の情報処理装置の装置識別子を別の手段、例えば、入力デバイスによる入力や、通信回線を介した受信等によって受け取ってもよい。
また、上記各実施の形態において、第1の情報処理装置と通信回線3との間や、第2の情報処理装置と通信回線3との間に、単数または複数のNAT機能を有する通信制御装置(例えば、ルータ)が存在してもよい。この場合には、その通信制御装置において、IPアドレスの変換等が行われることとなる。
また、上記各実施の形態では、サーバ4,7をIPアドレスによって特定する場合について説明したが、サーバ4,7をドメイン名(例えば、server.pana.netなど)によって特定してもよい。この場合には、そのドメイン名がDNSサーバを用いて、IPアドレスに変換されることにより、サーバ4,7を特定することができる。
また、上記各実施の形態における通信回線3を介して行われる通信のプロトコルは、IPv4(Internet Protocol version 4)であってもよく、あるいは、IPv6(Internet Protocol version 6)であってもよい。
また、上記各実施の形態において、数字で示される装置識別子を用いる場合について主に説明したが、装置識別子はその他のものであってもよく、例えば、アルファベットや平仮名などの文字列で示されるものであってもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における情報処理装置、またはサーバを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第1の情報処理装置を識別する第1の装置識別子と、第2の情報処理装置を識別する第2の装置識別子とに基づいて、第1の情報処理装置と第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのものである。
また、このプログラムでは、コンピュータに、第1の装置識別子および/または第2の装置識別子を受け付ける識別子受付ステップをさらに実行させ、アドレス決定ステップで、識別子受付ステップで受け付けた第1の装置識別子および/または第2の装置識別子を用いて、アドレスの決定を行ってもよい。
また、他のプログラムは、コンピュータに、トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、判断ステップによる判断結果に基づいて、第1の情報処理装置と第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を実行させるためのものである。
また、他のプログラムは、コンピュータに、第1の情報処理装置を識別する第1の装置識別子と、第2の情報処理装置を識別する第2の装置識別子と、第1の情報処理装置と第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのものである。
また、このプログラムでは、コンピュータに、第1の装置識別子および/または第2の装置識別子を受け付ける識別子受付ステップをさらに実行させ、アドレス決定ステップでは、識別子受付ステップで受け付けた第1の装置識別子および/または第2の装置識別子を用いて、アドレスの決定を行ってもよい。
また、このプログラムでは、コンピュータに、トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに実行させ、アドレス決定ステップでは、トンネル通信識別子受付ステップで受け付けたトンネル通信識別子を用いて、アドレスの決定を行ってもよい。
また、他のプログラムは、コンピュータに、トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、判断ステップによる判断結果と、第1の情報処理装置と第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を実行させるためのものである。
また、このプログラムでは、コンピュータに、トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに実行させ、アドレス決定ステップでは、トンネル通信識別子受付ステップで受け付けたトンネル通信識別子を用いて、アドレスの決定を行ってもよい。
また、他のプログラムは、コンピュータに、2以上の通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、2以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出ステップと、検出ステップで2以上のアドレスが一致していることを検出した場合に、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
また、他のプログラムは、コンピュータに、通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、アドレス変更情報に基づいて、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
また、他のプログラムは、コンピュータに、2以上の通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、2以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出ステップと、検出ステップで2以上のアドレスが一致していることを検出した場合に、アドレスが一致している旨を示す情報であるアドレス一致情報を送信するアドレス一致情報送信ステップと、アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、アドレス変更情報に基づいて、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
また、他のプログラムは、コンピュータに、2以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる2以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信ステップと、アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成ステップと、アドレス変更情報を送信するアドレス変更情報送信ステップと、を実行させるためのものである。
なお、上記プログラムにおいて、情報を送信する識別子受付ステップなどでは、ハードウェアによって行われる処理、例えば、識別子受付ステップにおける入力デバイスなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
以上のように、本発明による通信システム等は、情報処理装置間におけるトンネル通信で用いられるアドレスを簡易なアルゴリズムによって求めることができるものであり、トンネル通信を行う通信システム等において有用である。
【書類名】明細書
【発明の名称】情報処理装置、サーバ、通信システム、アドレス決定方法、アドレス変更方法およびプログラム
【技術分野】
【0001】
本発明は、通信システム等に関し、特にトンネル通信を行う通信システム等に関する。
【背景技術】
【0002】
従来、通信対象のデータをカプセル化して通信を行うトンネル通信が開発されている。その技術内容は、例えば、特開2003−244188号公報(第1頁等、第3図等)に記載されている。
【0003】
トンネル通信において、カプセル化される通信対象のデータに関しても、通信端末である各情報処理装置において、IPアドレスを設定する必要がある。そのIPアドレスは、各情報処理端末で同じアドレスとならないように設定されなければならない。ところで、アドレスを割り当てる方法としては、DHCPやAutoIPなどが知られている。
【0004】
しかしながら、DHCPやAutoIP等によるアドレス割り当て方法は、発見的アルゴリズムを用いている。例えば、AutoIPでは、あらかじめアドレスレンジが設定されており、クライアント側の情報処理装置からサーバに所定のIPアドレスを使用可能かどうか問い合わせ、他の情報処理装置で使用されていなければそのIPアドレスを使用することができ、他の情報処理装置で使用されていれば、他のIPアドレスを使用可能かどうか問い合わせるということが繰り返される。この発見的アルゴリズムは複雑であり、クライアント側の情報処理装置で用いるIPアドレスを決定するのに時間がかかるという問題がある。また、あらかじめ決められたアドレスレンジのIPアドレスを、クライアント側の情報処理装置で重複しないように割り当てるため、クライアント側の情報処理装置がアドレスレンジで割り当て可能なIPアドレスの数量を超えた場合には割り当てを行うことができないという問題がある。
【発明の開示】
【0005】
本発明は、上記問題点を解決するためになされたものであり、簡易なアルゴリズムにより、トンネル通信においてカプセル化される通信対象のデータに対して用いられるアドレスを決定可能な通信システム等を提供することを目的とする。
【0006】
上記目的を達成するため、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部と、情報処理装置を識別する通信元装置識別子を記憶している識別子記憶部と、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
【0007】
このような構成により、通信先装置識別子と通信元装置識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
【0008】
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、トンネル通信において、情報処理装置が発呼側か着呼側かを判断する判断部と、判断部による判断結果に基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
【0009】
このような構成により、情報処理装置が発呼側か着呼側かの判断結果に基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
【0010】
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部と、情報処理装置を識別する通信元装置識別子を記憶している識別子記憶部と、トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、通信先装置識別子と、通信元装置識別子と、トンネル通信識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
【0011】
このような構成により、通信先装置識別子と通信元装置識別子とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
【0012】
また、本発明による情報処理装置は、通信先の装置とトンネル通信を行う通信元の情報処理装置であって、通信対象のデータをカプセル化してトンネル通信を行うトンネル通信部と、トンネル通信において、情報処理装置が発呼側か着呼側かを判断する判断部と、トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、判断部による判断結果と、トンネル通信識別子とに基づいて、通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えたものである。
【0013】
このような構成により、情報処理装置が発呼側か着呼側かの判断結果とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
【0014】
本発明によるサーバは、第1の情報処理装置を識別する第1の装置識別子、および第2の情報処理装置を識別する第2の装置識別子を受け付ける識別子受付部と、識別子受付部が受け付けた第1の装置識別子と、第2の装置識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信におけるカプセル化された通信対象のデータに対して用いる第1の情報処理装置の第1のアドレス、および第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第1のアドレスおよび第2のアドレスを出力するアドレス出力部と、を備えたものである。
【0015】
このような構成により、第1の装置識別子と第2の装置識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
【0016】
また、本発明によるサーバは、トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断部と、判断部による判断結果に基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置の第1のアドレス、および第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第1のアドレスおよび第2のアドレスを出力するアドレス出力部と、を備えたものである。
【0017】
このような構成により、第1の情報処理装置と第2の情報処理装置とが発呼側であるのか、着呼側であるのかの判断結果に基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
【0018】
また、本発明によるサーバは、第1の情報処理装置を識別する第1の装置識別子、および第2の情報処理装置を識別する第2の装置識別子を受け付ける識別子受付部と、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、識別子受付部が受け付けた第1の装置識別子と、第2の装置識別子と、トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置の第1のアドレス、および第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第1のアドレスおよび第2のアドレスを出力するアドレス出力部と、を備えたものである。
【0019】
このような構成により、第1の装置識別子と第2の装置識別子とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
【0020】
また、本発明によるサーバは、トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断部と、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、判断部による判断結果と、トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置の第1のアドレス、および第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、アドレス決定部が決定した第1のアドレスおよび第2のアドレスを出力するアドレス出力部と、を備えたものである。
【0021】
このような構成により、第1の情報処理装置と第2の情報処理装置とが発呼側であるのか、着呼側であるのかの判断結果とトンネル通信識別子とに基づいて、簡易なアルゴリズムを用いてトンネル通信における通信対象のデータに対して用いるアドレスを決定することができる。その結果、発見的アルゴリズムを用いたDHCPやAutoIPによってアドレスを決定する必要がなくなり、通信システムにおいて、DHCPサーバ等を備える必要がなくなる。
【0022】
また、本発明によるサーバは、2以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる2以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信部と、アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成部と、アドレス変更情報を送信するアドレス変更情報送信部と、を備えたものである。
【0023】
このような構成により、2以上のトンネル通信において、通信対象のデータに対して用いられる2以上のアドレスが一致していることが検出された場合に、アドレス変更情報を構成し、送信することによって、その2以上のアドレスの一致を解消することができうる。
【0024】
このように、本発明による情報処理装置等によれば、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを、簡易な方法によって決定することができる。
【発明の効果】
【0025】
以上のように、本発明による通信システム等は、情報処理装置間におけるトンネル通信で用いられるアドレスを簡易なアルゴリズムによって求めることができるものであり、トンネル通信を行う通信システム等において有用である。
【発明を実施するための最良の形態】
【0026】
(実施の形態1)
本発明の実施の形態1による通信システムについて、図面を参照しながら説明する。
【0027】
図1は、本実施の形態による通信システムの構成を示す図である。図1において、本実施の形態による通信システムは、有線または無線の通信回線3で互いに接続されている第1の情報処理装置1と、第2の情報処理装置2と、サーバ4とを備える。通信回線3は、例えば、インターネットなどである。本実施の形態では、第1の情報処理装置1において、トンネル通信でカプセル化される通信対象のデータに対して用いるアドレスが決定されるものとする。
【0028】
図2は、第1の情報処理装置1の構成を示すブロック図である。図2において、第1の情報処理装置1は、トンネル通信部11と、識別子受付部12と、識別子記憶部13と、アドレス決定部14と、アドレス送信部15とを備える。
【0029】
トンネル通信部11は、第1の情報処理装置1と、第2の情報処理装置2との間でトンネル通信を行う。ここで、トンネル通信とは、通信対象のデータをカプセル化して行われる通信である。トンネル通信部11では、通信対象のデータのカプセル化や、送信されてきたカプセル化されたデータに対するカプセルの解除等が行われる。カプセル化とは、通信対象のデータをプロトコルで規定されたヘッダなどで包み込むことである。カプセル化される通信対象のデータは、暗号化されてもよく、あるいは暗号化されなくてもよい。トンネル通信の一例としては、UDPトンネル通信や、HTTPトンネル通信、L2TPトンネル通信などがある。なお、トンネル通信部11は、通信を行うための通信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、トンネル通信部11と通信回線3との間に図示しない通信デバイスや、その通信デバイスにデータを渡すソフトウェア等が存在してもよい)。また、トンネル通信部11は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。また、トンネル通信部11は、例えば、所定の記録媒体(例えば、DVDやハードディスク等)から読み出すことによって通信対象のデータを取得してもよく、あるいは所定の装置から送信、あるいは入力されたデータを受け付けることによって通信対象のデータを取得してもよい。
【0030】
識別子受付部12は、通信先の装置、すなわち第2の情報処理装置2を識別する通信先装置識別子を受け付ける。なお、識別子受付部12は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された通信先装置識別子を受け付けてもよく、有線もしくは無線の通信回線を介して送信された通信先装置識別子を受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された通信先装置識別子を受け付けてもよい。
【0031】
識別子記憶部13は、通信元の装置、すなわち第1の情報処理装置1を識別する通信元装置識別子を記憶している。なお、識別子記憶部13は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現され得る。識別子記憶部13での記憶は、外部のストレージデバイス等から読み出した通信元装置識別子のRAM等における一時的な記憶でもよく、あるいは、ROM等における長期的な記憶でもよい。
【0032】
なお、本実施の形態では、第1の情報処理装置1を基準として第1の情報処理装置1を通信元とし、第2の情報処理装置2を通信先としているために、第1の情報処理装置1を識別する装置識別子を通信元装置識別子と呼び、第2の情報処理装置2を識別する装置識別子を通信先装置識別子と呼ぶこととするが、通信先、通信元というのは便宜上のものであって、例えば、第2の情報処理装置2を基準とする場合には、通信元、通信先が入れ替わってもよい。例えば、第1の情報処理装置を識別する装置識別子を通信先装置識別子と呼んでもよい。
【0033】
また、この通信先装置識別子、および通信元装置識別子は、互いに異なるものであり、例えば、MACアドレスや、EUI64ベースのアドレスなどのGUID(Global Unique ID)などを用いてもよい。
【0034】
アドレス決定部14は、識別子受付部12が受け付けた通信先装置識別子と、識別子記憶部13が記憶している通信元装置識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレス(仮想インターフェース・アドレスや、トンネルモード・アドレスと言われることもある)を決定する。このアドレスの決定においては、通信先装置識別子と通信元装置識別子とに基づいて、通信先の装置(すなわち、第2の情報処理装置2)で用いるアドレスと、通信元の装置(すなわち、第1の情報処理装置1)で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。後者の方法としては、例えば、所定のテーブルを用いて行う方法や、通信先装置識別子と通信元装置識別子とを比較し、その比較結果に基づいて行う方法などがある。アドレスを決定する方法の具体例については、後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
【0035】
アドレス送信部15は、アドレス決定部14で決定されたアドレスを送信する。この送信は、第2の情報処理装置2に対して行われてもよく、サーバ4に対して行われてもよく、その他のアドレスを管理する装置に対して行われてもよい。サーバ4等に送信された場合には、そのサーバ4等から、直接的に(例えば、送信によって)、または間接的に(例えば、他のサーバを介しての送信や、記録媒体を介することによって)、第2の情報処理装置2に対してアドレスが渡されてもよい。また、送信の対象となるアドレスは、通信先の装置(すなわち、第2の情報処理装置2)のアドレスのみであってもよく、通信元の装置(すなわち、第1の情報処理装置1)のアドレスを含んでいてもよい。なお、アドレス送信部15は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス送信部15と通信回線3との間に図示しない通信デバイスや、その通信デバイスにデータを渡すソフトウェア等が存在してもよい)。また、アドレス送信部15は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0036】
図3は、第2の情報処理装置2の構成を示すブロック図である。図3において、第2の情報処理装置2は、アドレス受付部21と、トンネル通信部22と、識別子記憶部23とを備える。
【0037】
アドレス受付部21は、トンネル通信における通信対象のデータに対して用いられるアドレスを受け付ける。アドレス受付部21は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力されたアドレスを受け付けてもよく、有線もしくは無線の通信回線を介して送信されたアドレスを受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたアドレスを受け付けてもよい。本実施の形態では、第1の情報処理装置1から送信されたアドレスを受け付けるものとする。
【0038】
トンネル通信部22は、第1の情報処理装置1との間でトンネル通信を行う。そのトンネル通信において、通信対象のデータに対して用いるアドレスとして、アドレス受付部21が受け付けたアドレスを用いる。その他の構成は、トンネル通信部11と同様であり、その説明を省略する。
【0039】
識別子記憶部23は、通信先の装置、すなわち第2の情報処理装置2を識別する通信先装置識別子を記憶している。なお、識別子記憶部23は、通信元装置識別子に代えて通信先装置識別子を記憶している以外、第1の情報処理装置1における識別子記憶部13と同様のものであり、その説明を省略する。
【0040】
サーバ4は、第1の情報処理装置1と、第2の情報処理装置2との間におけるトンネル通信の確立に関する処理を行う。例えば、第1の情報処理装置1に第2の情報処理装置2のアドレスを通知する。
【0041】
次に、本実施の形態による通信システムの動作、特に第1の情報処理装置1においてアドレスを決定する動作について説明する。図4は、第1の情報処理装置1におけるアドレスを決定する動作を示すフローチャートである。
【0042】
(ステップS101)識別子受付部12は、通信先装置識別子を受け付けたかどうか判断する。そして、通信先装置識別子を受け付けた場合には、その通信先装置識別子をアドレス決定部14に渡してステップS102に進み、そうでない場合には、ステップS101の動作を繰り返す。
【0043】
(ステップS102)アドレス決定部14は、識別子記憶部13が記憶している通信元装置識別子と、識別子受付部12が受け付けた通信先装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。そして、その決定したアドレスをトンネル通信部11と、アドレス送信部15とに渡す。
【0044】
(ステップS103)アドレス送信部15は、アドレス決定部14が決定したアドレスを、第2の情報処理装置2に送信する。そして、ステップS101に戻る。
【0045】
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部12が通信先装置識別子を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、トンネル通信部11が第2の情報処理装置2とトンネル通信を開始するタイミングで、それまでに受け付けられている通信先装置識別子を用いてアドレスを決定してもよい。
【0046】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成について、図5を用いて説明する。図5は、カプセル化される前の通信対象のデータ(図5A)と、カプセル化された後のデータ(図5B)との一例を示す図である。
【0047】
図5Aにおいて、通信対象のデータには、IPヘッダ101と、TCP/UDPヘッダ102と、ペイロード103とが含まれている。IPヘッダ101で用いられるIPアドレスとして、アドレス決定部14が決定したアドレスが用いられる。TCP/UDPヘッダ102は、TCPのヘッダであってもよく、UDPのヘッダであってもよい。ペイロード103に、通信対象のデータそのもの、すなわち、第1の情報処理装置1や第2の情報処理装置2等のアプリケーションソフトが実際に利用したい情報が含まれている。
【0048】
図5Bは、図5Aで示されるオリジナルパケット(通信対象のデータ)をUDPカプセル化したデータを示す図である。図5Bでは、オリジナルパケットに対して管理ヘッダ(XXヘッダ203)とトレーラ(XXトレーラ204)を付加することによって、オリジナルパケットを暗号化し、UDPヘッダ202、IPヘッダ201を付加することによってカプセル化を行っている。IPヘッダ201で用いられるIPアドレスは、第1の情報処理装置1、および第2の情報処理装置2のIPアドレスである。
【0049】
次に、第1の情報処理装置1と、第2の情報処理装置2との間での通信を開始するまでのアドレスを取得する処理等について説明する。この具体例において、第1の情報処理装置1のIPアドレスは「202.132.10.6」であり、通信元装置識別子は「12345678」であるとする。また、第2の情報処理装置2のIPアドレスは「131.206.10.240」であり、通信先装置識別子は「98765432」であるとする。また、サーバ4のIPアドレスは、「155.32.10.10」であるとする。
【0050】
第1の情報処理装置1におけるトンネル通信部11は、あらかじめサーバ4のIPアドレスを保持しているものとする。そして、トンネル通信部11は、識別子記憶部13で記憶されている通信元装置識別子「12345678」を、そのサーバ4のIPアドレス「155.32.10.10」に対して送信する。すると、その通信元装置識別子がサーバ4において受信される。また、サーバ4は、送信された通信元装置識別子のヘッダから、第1の情報処理装置1のIPアドレス「202.132.10.6」を取得する。サーバ4は、その第1の情報処理装置1のIPアドレス「202.132.10.6」と、通信元装置識別子「12345678」とを対応付けて保持しておく。
【0051】
同様にして、第2の情報処理装置2におけるトンネル通信部22もサーバ4に対して、識別子記憶部23で記憶されている通信先装置識別子「98765432」を送信する。その結果、サーバ4は、第2の情報処理装置2のIPアドレス「131.206.10.240」と、通信先装置識別子「98765432」とを対応付けて保持しておく。
【0052】
通信先装置識別子の記録された着脱可能な記録媒体を、ユーザが第1の情報処理装置1の図示しないスロットに装着したとする。すると、その記録媒体に記録された通信先装置識別子「98765432」は、識別子受付部12によって受け付けられ、アドレス決定部14と、トンネル通信部11とに渡される(ステップS101)。
【0053】
トンネル通信部11は、識別子受付部12から受け取った通信先装置識別子「98765432」と、その通信先装置識別子で識別される装置のIPアドレスを送信する旨の指示とをサーバ4に送信する。すると、サーバ4はそれらを受信し、通信先装置識別子「98765432」に対応する、保持しているIPアドレス「131.206.10.240」を第1の情報処理装置1に送信する。
【0054】
第1の情報処理装置1におけるトンネル通信部11は、第2の情報処理装置2のIPアドレス「131.206.10.240」をサーバ4から受け付けると、そのIPアドレスを保持しておく。
【0055】
アドレス決定部14は、識別子受付部12から通信先装置識別子を受け取ると、識別子記憶部13で記憶されている通信元装置識別子を読み出し、通信先装置識別子と、通信元装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるIPアドレスを決定する。具体的には、アドレス決定部14は、例えば、下記の3つの方法のいずれかによってアドレスを決定する(ステップS102)。
【0056】
[関数を用いるアドレス決定方法]
アドレス決定部14は、アドレスを決定する関数「Func(引数1、引数2)」を有している。そして、引数1に通信元装置識別子「12345678」を代入し、引数2に通信先装置識別子「98765432」を代入する。その結果、2つのIPアドレス「192.168.0.1」、「192.168.0.2」が算出される。そして、前者のIPアドレス「192.168.0.1」を第1の情報処理装置1のIPアドレスと決定し、後者のIPアドレス「192.168.0.2」を第2の情報処理装置2のIPアドレスと決定する。そして、それらをトンネル通信部11と、アドレス送信部15に渡す。
【0057】
[テーブルを用いるアドレス決定方法]
アドレス決定部14は、図6で示されるテーブルを有している。図6のテーブルは、装置識別子の異なる桁と、IPアドレスとの対応を示すテーブルである。アドレス決定部14は、通信先装置識別子「98765432」と、通信元装置識別子「12345678」との最下位の桁の値(「2」と、「8」)に対応するIPアドレスを、第1の情報処理装置1、および第2の情報処理装置2のIPアドレスとして決定する。この場合には、第1の情報処理装置1のIPアドレスは「192.168.0.8」となり、第2の情報処理装置2のIPアドレスは「192.168.0.2」となる。なお、通信先装置識別子と、通信元装置識別子とで最下位の桁の値が同一の場合(例えば、両者共に「2」の場合など)には、次の桁(1つ上の位の桁)で判断し、その桁の値も同一の場合には、次の桁で判断する。このように、通信先装置識別子と、通信元装置識別子とについて、最下位の桁から順番に比較し、値の異なる桁で図6のテーブルを用いたIPアドレスの決定を行う。なお、その決定された第1の情報処理装置1のIPアドレス「192.168.0.8」と、第2の情報処理装置2のIPアドレス「192.168.0.2」とは、トンネル通信部11と、アドレス送信部15に渡される。
【0058】
[装置識別子の大小比較によるアドレス決定方法]
アドレス決定部14は、装置識別子の小さいほうに対応するIPアドレス「192.168.0.1」と、装置識別子の大きいほうに対応するIPアドレス「192.168.0.2」を有している。そして、通信先装置識別子「98765432」と、通信元装置識別子「12345678」とを比較し、その大きいほうに対してIPアドレス「192.168.0.2」を割り当て、小さいほうに対してIPアドレス「192.168.0.1」を割り当てる。その結果、第1の情報処理装置1のIPアドレスは「192.168.0.1」と決定され、第2の情報処理装置2のIPアドレスは「192.168.0.2」と決定される。アドレス決定部14は、それらの決定したアドレスをトンネル通信部11と、アドレス送信部15に渡す。
【0059】
なお、ここでは、装置識別子の大小を比較する場合について説明したが、それ以外の比較を所定のアルゴリズムによって行い、その比較結果に基づいて、あらかじめ決められている複数(通常は2個)のアドレスから選択することによってアドレスの決定を行ってもよい。例えば、最下位の桁(両者の最下位の桁の値が等しい場合には、最下位の桁に近い値の異なる桁)の値の大小の比較を行い、その比較結果に応じて、アドレスを選択してもよい。また、例えば、装置識別子がアルファベットや平仮名等である場合には、いわゆる辞書における言葉の並び順で、どちらの装置識別子が「A」や「あ」に近いか(すなわち、辞書において前のほうに載っているか)に関する比較の結果に基づいて、アドレスの決定を行ってもよい。
【0060】
また、上記具体例では、3通りのアドレス決定方法について説明したが、アドレス決定部14は、2つの装置識別子に基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。例えば、テーブルを用いる代わりに、通信元装置識別子の最下位の桁の値と、通信先装置識別子の最下位の桁の値とを所定の関数に代入することにより、IPアドレスを算出してもよい。
【0061】
アドレス送信部15は、アドレス決定部14によって決定された第1の情報処理装置1のIPアドレス(192.168.0.1であるとする)と、第2の情報処理装置2のIPアドレス(192.168.0.2であるとする)とを、トンネル通信部11で保持されている第2の情報処理装置2のIPアドレス「131.206.10.240」に対して送信する(ステップS103)。その結果、それらのIPアドレスが第2の情報処理装置2におけるアドレス受付部21で受け付けられ、トンネル通信部22に渡される。ここで、送信されるIPアドレスは、第1の情報処理装置1のIPアドレスであるのか、第2の情報処理装置2のIPアドレスであるのかが、第2の情報処理装置2においてわかるような形態で送信されるものとする。例えば、送信されるIPアドレスの順番によって、対応する情報処理装置が規定されていてもよく、IPアドレスに対応付けて情報処理装置を識別する情報やフラグ等が送信され、その情報処理装置を識別する情報等によって、対応する情報処理装置が規定されてもよい。
【0062】
また、トンネル通信部11は、第1の情報処理装置1のIPアドレス「192.168.0.1」と、第2の情報処理装置2のIPアドレス「192.168.0.2」とをアドレス決定部14から受け取ると、それらのアドレスを用いてトンネル通信を行う。すなわち、図5で示されるIPヘッダ101において、通信元(すなわち、第1の情報処理装置1)のIPアドレスとして「192.168.0.1」を用い、通信先(すなわち、第2の情報処理装置2)のIPアドレスとして「192.168.0.2」を用いる。なお、その通信対象のデータをカプセル化した後のパケット(図5Bで示されるもの)のIPヘッダ201においては、通信先のIPアドレスとして「131.206.10.240」を用い、通信元のIPアドレスとして「202.132.10.6」を用いる。また、第2の情報処理装置2でも、IPヘッダ101において、第1の情報処理装置1のIPアドレスとして「192.168.0.1」を用い、第2の情報処理装置2のIPアドレスとして「192.168.0.2」を用いる。また、IPヘッダ201において、通信先(すなわち、第2の情報処理装置2)のIPアドレスとして「131.206.10.240」を用い、通信元(すなわち、第1の情報処理装置1)のIPアドレスとして「202.132.10.6」を用いる。このようにして、第1の情報処理装置1と第2の情報処理装置2との間での通信が行われる。
【0063】
なお、この具体例では、UDPトンネル通信を行う場合について説明したが、トンネル通信はこれに限定されるものではなく、上述のように、HTTPトンネル通信等であってもよい。また、データ構造も図5に限定されるものではない。
【0064】
以上のように、本実施の形態による通信システムでは、通信先装置識別子と、通信元装置識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することで、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、サーバ等への問い合わせが必要でないため、アドレスの決定を短時間で行うことができる。また、トンネル通信でカプセル化される通信対象データに対して用いるアドレスは、通信回線3における通信で用いられるものではないため、異なるトンネル通信(通信元の情報処理装置と通信先の情報処理装置との組の異なるトンネル通信)に関しては、同一のアドレスを用いることが可能であり、DHCPやAutoIPを用いた場合のような割り当てアドレスの上限がないというメリットがある。
【0065】
なお、本実施の形態では、第1の情報処理装置1がアドレス送信部15を備えた構成について説明したが、第1の情報処理装置1は、アドレス送信部15に代えて、アドレス決定部14が決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやFAX等によって第2の情報処理装置2のユーザに通知することによって、第2の情報処理装置2において設定されてもよい。
【0066】
(実施の形態2)
本発明の実施の形態2による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【0067】
本実施の形態による通信システムは、図1と同様であるとする。ただし、第1の情報処理装置1が第1の情報処理装置1aに対応し、第2の情報処理装置2が第2の情報処理装置2aに対応するものとする。図7は、本実施の形態による第1の情報処理装置1aの構成を示すブロック図である。本実施の形態による第1の情報処理装置1aは、トンネル通信部11と、識別子受付部12と、識別子記憶部13と、アドレス決定部14とを備える。なお、トンネル通信部11、識別子受付部12、識別子記憶部13、アドレス決定部14は、実施の形態1と同様のものであり、その説明を省略する。
【0068】
図8は、本実施の形態による第2の情報処理装置2aの構成を示すブロック図である。本実施の形態による第2の情報処理装置2aは、識別子記憶部23と、トンネル通信部24と、識別子受付部25と、アドレス決定部26とを備える。なお、識別子記憶部23は、実施の形態1と同様のものであり、その説明を省略する。また、トンネル通信部24、識別子受付部25、アドレス決定部26は、それぞれ実施の形態1におけるトンネル通信部11、識別子受付部12、アドレス決定部14と同様のものであり、その説明を省略する。
【0069】
また、本実施の形態における第1の情報処理装置1aにおけるアドレスを決定する動作は、ステップS103におけるアドレスの送信処理を行わない以外、実施の形態1における図4で示されるものと同様であり、その説明を省略する。また、本実施の形態における第2の情報処理装置2aにおけるアドレスを決定する動作も、ステップS101において通信先装置識別子の代わりに、通信元装置識別子を受け付けたかどうかを判断し、ステップS103におけるアドレスの送信処理を行わない以外、実施の形態1における図4で示されるものと同様であり、その説明を省略する。
【0070】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例において、トンネル通信におけるデータ構造は、図5と同様であるとする。また、この具体例における第1の情報処理装置1a等のIPアドレスや装置識別子等は、実施の形態1と同様であるとする。
【0071】
まず、第1の情報処理装置1aと、第2の情報処理装置2aとが通信を開始するまでのアドレスを取得する処理等について説明する。第1の情報処理装置1a、および第2の情報処理装置2aが、それぞれの装置識別子をサーバ4に送信し、その結果、サーバ4において、第1の情報処理装置1aのIPアドレス「202.132.10.6」と、通信元装置識別子「12345678」とが対応付けて保持され、第2の情報処理装置2aのIPアドレス「131.206.10.240」と、通信先装置識別子「98765432」とが対応付けられて保持される動作は、実施の形態1の具体例と同様であり、その説明を省略する。
【0072】
次に、通信装置識別子の記録された着脱可能な記録媒体が第1の情報処理装置1aの図示しないスロットに装着され、第1の情報処理装置1aにおいて、トンネル通信における通信対象のデータに対して用いられるIPアドレスが決定されるまでの動作も、実施の形態1の具体例と同様であり、その説明を省略する。
【0073】
ここで、サーバ4から第1の情報処理装置1aに第2の情報処理装置2aのIPアドレスが送信されると共に、サーバ4は、第2の情報処理装置2aに対しても、第1の情報処理装置1aの通信元装置識別子を送信するとする。すると、その通信元装置識別子「12345678」は、第2の情報処理装置2aのトンネル通信部24を介して識別子受付部25で受け付けられる。そして、識別子受付部25は、通信元装置識別子を受け付けたと判断し(ステップS101)、アドレスの決定処理を行う(ステップS102)。このアドレスの決定処理は、実施の形態1における具体例と同様にして行われ、第1の情報処理装置1aのアドレス決定部14で決定されたアドレスと、同様のアドレスが決定される。例えば、第1の情報処理装置1aのアドレスが「192.168.0.1」と決定され、第2の情報処理装置2aのアドレスが「192.168.0.2」と決定される。
【0074】
ただし、関数を用いてアドレスを決定する場合には、アドレス決定部26は、関数「Func(引数1、引数2)」において、引数1に第2の情報処理装置2aの装置識別子である通信先装置識別子「98765432」を代入し、引数2に第1の情報処理装置1aの装置識別子である通信元装置識別子「12345678」を代入する。また、この関数は、引数1と引数2が入れ替えられると、算出結果のIPアドレスも逆の順番となるような関数であるとする。すると、2つのIPアドレス「192.168.0.2」、「192.168.0.1」が算出され、前者のIPアドレスを第2の情報処理装置2aのアドレスと決定し、後者のIPアドレスを第1の情報処理装置1aのアドレスと決定することで、アドレス決定部14と同様のアドレス決定がなされることとなる。
【0075】
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態1の具体例と同様であり、その説明を省略する。
【0076】
以上のように、本実施の形態による通信システムでは、通信先装置識別子と、通信元装置識別子に基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなる。
【0077】
また、通信先装置識別子と、通信元装置識別子を用いてアドレスを決定するという、決定的アルゴリズムによってアドレスの決定を行っているため、各情報処理装置でアドレスの決定を行ったとしても、そのアドレスに矛盾が生じないようにすることができる。具体的には、第1の情報処理装置1aで決定した第1の情報処理装置1aおよび第2の情報処理装置2aのアドレスと、第2の情報処理装置2aで決定した第1の情報処理装置1aおよび第2の情報処理装置2aのアドレスとが整合しない事態を回避することができる。
【0078】
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第1の情報処理装置1aにおいて第1の情報処理装置のアドレスのみを決定し、第2の情報処理装置2aにおいて第2の情報処理装置のアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
【0079】
(実施の形態3)
本発明の実施の形態3による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
【0080】
図9は、本実施の形態による通信システムの構成を示す図である。図9において、本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置5と、第2の情報処理装置6と、サーバ7とを備える。
【0081】
第1の情報処理装置5は、アドレス受付部51と、トンネル通信部52とを備える。
【0082】
アドレス受付部51は、第1の情報処理装置5と、第2の情報処理装置6との間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスを受け付ける。アドレス受付部51は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力されたアドレスを受け付けてもよく、有線もしくは無線の通信回線を介して送信されたアドレスを受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたアドレスを受け付けてもよい。本実施の形態では、サーバ7から通信回線3を介して送信されたアドレスを受け付けるものとする。
【0083】
トンネル通信部52は、第1の情報処理装置5と、第2の情報処理装置6との間でトンネル通信を行う。トンネル通信部52は、第1の情報処理装置5を識別する第1の装置識別子と、第2の情報処理装置6を識別する第2の装置識別子とを保持しているものとする。第2の装置識別子は、例えば、入力デバイスから入力されたものであってもよく、所定の通信回線を介して送信されたものであってもよく、所定の記録媒体から読み出したものであってもよい。なお、これ以外のトンネル通信部52の構成は、第1の装置識別子が通信元装置識別子に対応し、第2の装置識別子が通信先装置識別子に対応する以外、実施の形態1におけるトンネル通信部11と同様であり、その説明を省略する。
【0084】
第2の情報処理装置6は、アドレス受付部61と、トンネル通信部62とを備える。このアドレス受付部61、トンネル通信部62は、それぞれアドレス受付部51、トンネル通信部52と同様のものであり、その説明を省略する。なお、トンネル通信部62は、第1の装置識別子を保持していなくてもよい。
【0085】
サーバ7は、実施の形態1におけるサーバ4と同様に、第1の情報処理装置5と第2の情報処理装置6との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部71と、識別子受付部72と、アドレス決定部73と、アドレス送信部74とを備える。
【0086】
通信制御部71は、第1の情報処理装置5と、第2の情報処理装置6との間でのトンネル通信を確立させるための処理等を行う。より具体的には、第1の情報処理装置5に対して、第2の情報処理装置6のアドレスを送信する等の処理を行う。
【0087】
識別子受付部72は、第1の装置識別子と、第2の装置識別子とを受け付ける。識別子受付部72は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された第1の装置識別子等を受け付けてもよく、有線もしくは無線の通信回線を介して送信された第1の装置識別子等を受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された第1の装置識別子等を受け付けてもよい。本実施の形態では、通信制御部71から渡された第1の装置識別子等を受け付けるものとする。
【0088】
アドレス決定部73は、識別子受付部72が受け付けた第1の装置識別子と、第2の装置識別子とに基づいて、第1の情報処理装置5の第1のアドレスと、第2の情報処理装置6の第2のアドレスとを決定する。それらのアドレスは、トンネル通信における通信対象のデータに対して用いるものである。アドレスの決定方法については、実施の形態1におけるアドレス決定部14と同様であり、その説明を省略する。
【0089】
アドレス送信部74は、アドレス決定部73が決定した第1のアドレス、および第2のアドレスを、第1の情報処理装置5と、第2の情報処理装置6とに送信する。この送信は、第1の情報処理装置5等に直接的になされてもよく、あるいは、所定のサーバ等を介することにより、間接的になされてもよい。
【0090】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図10は、サーバ7におけるアドレスを決定する動作を示すフローチャートである。
【0091】
(ステップS201)識別子受付部72は、第1の装置識別子、および第2の装置識別子を受け付けたかどうか判断する。そして、それらの識別子を受け付けた場合には、それらの識別子をアドレス決定部73に渡してステップS202に進み、そうでない場合には、それらを受け付けるまでステップS201の処理を繰り返す。
【0092】
(ステップS202)アドレス決定部73は、識別子受付部72から受け取った第1の装置識別子と、第2の装置識別子に基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。そして、その決定したアドレスをアドレス送信部74に渡す。
【0093】
(ステップS203)アドレス送信部74は、アドレス決定部73が決定した2つのアドレスを、第1の情報処理装置5、および第2の情報処理装置6に送信する。そして、ステップS101に戻る。
【0094】
なお、図10のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部72が第1の装置識別子等を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、第1の情報処理装置5と第2の情報処理装置6とがトンネル通信を開始するタイミングで、それまでに識別子受付部72で受け付けられている第1の装置識別子等を用いてアドレスを決定してもよい。
【0095】
また、図10のフローチャートでは、第1の装置識別子と、第2の装置識別子とをステップS201において同時に受け付ける場合について説明しているが、それらの装置識別子は、同時に受け付けてもよく、あるいは、別々のタイミングで受け付けてもよい。ただし、両者の装置識別子が受け付けられた後に、アドレスの決定がなされるのは、図10のフローチャートと同様である。
【0096】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例において、トンネル通信におけるデータ構成は、図5と同様であるとする。また、第1の情報処理装置5のIPアドレスは「202.132.10.6」であり、第1の装置識別子は「12345678」であるとする。また、第2の情報処理装置6のIPアドレスは「131.206.10.240」であり、第2の装置識別子は「98765432」であるとする。また、サーバ7のIPアドレスは、「155.32.10.10」であるとする。
【0097】
第1の情報処理装置5におけるトンネル通信部52は、あらかじめサーバ7のIPアドレスを保持しているものとする。そして、トンネル通信部52は、保持している第1の装置識別子「12345678」を、そのサーバ7のIPアドレス「155.32.10.10」に対して送信する。すると、その第1の装置識別子がサーバ7の通信制御部71で受信される。そして、その第1の装置識別子のヘッダから、第1の情報処理装置5のIPアドレス「202.132.10.6」が取得される。通信制御部71は、その第1の情報処理装置5のIPアドレスと、第1の装置識別子とを対応付けて保持しておく。
【0098】
同様にして、第2の情報処理装置6におけるトンネル通信部62もサーバ7に対して、第2の装置識別子「98765432」を送信する。その結果、通信制御部71において、図11で示されるように、装置識別子と、IPアドレスとの対応付けられた情報であるアドレス識別子対応情報が保持されることとなる。
【0099】
次に、第1の情報処理装置5のトンネル通信部52は、第2の情報処理装置6を識別する第2の装置識別子と、第2の情報処理装置6とトンネル通信を行いたい旨とをサーバ7に送信する。すると、それらは通信制御部71において受信される。通信制御部71は、第1の情報処理装置5から送信されたパケットのヘッダから第1の情報処理装置5のIPアドレスを取得し、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5の第1の装置識別子「12345678」を取得する。また、通信制御部71は、アドレス識別子対応情報を参照し、第1の情報処理装置5から送信された第2の装置識別子「98765432」に対応するIPアドレス「131.206.10.240」を取得する。そして、通信制御部71は、第1の装置識別子「12345678」と、第2の装置識別子「98765432」とを識別子受付部72に渡すと共に、第2の情報処理装置6のIPアドレス「131.206.10.240」を第1の情報処理装置5に送信する。
【0100】
識別子受付部72は、通信制御部71から第1の装置識別子「12345678」と、第2の装置識別子「98765432」とを受け付けると(ステップS201)、それらをアドレス決定部73に渡す。アドレス決定部73は、それらの装置識別子を受け取り、その装置識別子に基づいてアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部74に渡す(ステップS202)。このアドレス決定方法は実施の形態1における具体例と同様であり、その説明を省略する。
【0101】
アドレス送信部74は、アドレス決定部73から装置識別子「12345678」と、それに対応したIPアドレス「192.168.0.1」との組と、装置識別子「98765432」と、それに対応したIPアドレス「192.168.0.2」との組を受け取ると、通信制御部71で保持されているアドレス識別子対応情報を参照し、それぞれのIPアドレスに対応した情報処理装置のIPアドレスを取得する。そして、アドレス送信部74は、装置識別子とIPアドレスとの2つの組を第1の情報処理装置5のIPアドレス「202.132.10.6」、および第2の情報処理装置6のIPアドレス「131.206.10.240」に対して送信する。
【0102】
アドレス受付部51は、それらの組を受け付けると、それらをトンネル通信部52に渡す。トンネル通信部52は、通信制御部71から送信された第2の情報処理装置6のIPアドレスを受信する。また、アドレス受付部51で受け付けられたIPアドレスと装置識別子との組を受け取る。そして、第1の情報処理装置5の第1の装置識別子「12345678」に対応したIPアドレス「192.168.0.1」を、IPヘッダ101における通信元(すなわち、第1の情報処理装置5)のIPアドレスとして用い、第2の情報処理装置6の第2の装置識別子「98765432」に対応したIPアドレス「192.168.0.2」を、IPヘッダ101における通信先(すなわち、第2の情報処理装置6)のIPアドレスとして用いる。そして、そのデータをカプセル化し、図5Bで示されるUDPパケットを構成して、そのパケットを第2の情報処理装置6に対して送信することによってトンネル通信を開始する。
【0103】
第2の情報処理装置6におけるアドレス受付部61も、IPアドレスと装置識別子との組を受け付け、それらをトンネル通信部62に渡す。トンネル通信部62は、第2の情報処理装置6の第2の装置識別子に対応するIPアドレスを、トンネル通信における通信対象のデータについて、第2の情報処理装置6側のIPアドレスとして用いる。このようにして、第1の情報処理装置5と、第2の情報処理装置6との間でトンネル通信が行われる。
【0104】
以上のように、本実施の形態による通信システムでは、サーバ7が、通信先装置識別子と、通信元装置識別子とに基づいて、第1の情報処理装置5、および第2の情報処理装置6の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
【0105】
なお、本実施の形態では、アドレス送信部74がアドレス決定部73によって決定されたアドレスを送信する場合について説明したが、アドレス送信部74に代えて、アドレス決定部73によって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ7の管理者がそのアドレスを電子メールやFAX等によって第1の情報処理装置5のユーザや第2の情報処理装置6のユーザに通知することによって、第1の情報処理装置5や、第2の情報処理装置6において設定されてもよい。
【0106】
また、本実施の形態では、サーバ7のアドレス送信部74が、第2の情報処理装置6にアドレス決定部73が決定した2つのアドレスを送信する場合について説明したが、アドレス送信部74は、第2の情報処理装置6に第2の情報処理装置6のアドレス「192.168.0.2」のみを送信してもよい。この場合には、第2の情報処理装置6は、第1の情報処理装置5から送信されたカプセル化された通信対象のデータのヘッダから第1の情報処理装置5のアドレスを取得することができる。
【0107】
また、本実施の形態では、サーバ7から第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとの両方を送信する場合について説明したが、サーバ7は、まず第1の情報処理装置5に対しては、第1の情報処理装置5のアドレス「192.168.0.1」を送信し、第2の情報処理装置6に対しては、第2の情報処理装置6のアドレス「192.168.0.2」を送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ7がその相手方のアドレスを送信するようにしてもよい。
【0108】
(実施の形態4)
本発明の実施の形態4による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発行側であるのか、着呼側であるのかの判断結果によって、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【0109】
本実施の形態による通信システムは、図1と同様であるとする。ただし、第1の情報処理装置1が第1の情報処理装置1bに対応し、第2の情報処理装置2が第2の情報処理装置2bに対応するものとする。
【0110】
図12は、本実施の形態による第1の情報処理装置1bの構成を示すブロック図である。本実施の形態による第1の情報処理装置1bは、トンネル通信部11と、アドレス決定部14bと、アドレス送信部15と、判断部16とを備える。なお、トンネル通信部11、アドレス送信部15は、実施の形態1と同様のものであり、その説明を省略する。また、本実施の形態による第1の情報処理装置1bでは、識別子記憶部を明記していないが、第1の情報処理装置1bの装置識別子は、トンネル通信部11のアクセス可能な記録媒体において記憶されているものとする。
【0111】
アドレス決定部14bは、判断部16による判断結果に基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。このアドレスの決定においては、判断部16による判断結果に基づいて、通信先の装置(例えば、第2の情報処理装置2b)で用いるアドレスと、通信元の装置(例えば、第1の情報処理装置1b)で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
【0112】
判断部16は、トンネル通信において、第1の情報処理装置1bが発呼側か着呼側かを判断する。この判断では、結果として第1の情報処理装置1bが発呼側であるのか、着呼側であるのかが判断されればよい。すなわち、通信相手の装置である第2の情報処理装置2bが発呼側か着呼側かを判断することによって、第1の情報処理装置1bが発呼側か着呼側かを判断してもよい。また、第1の情報処理装置1b、および第2の情報処理装置2bの両方に関しての判断を行ってもよい。ここで、発呼側、着呼側というのは、トンネル通信のトンネルのプロトコル(すなわち、通信対象のデータを包み込むプロトコル)の通信における発呼側、着呼側であってもよく、トンネル通信における通信対象のデータ(すなわち、カプセル化の対象となるデータ)の通信における発呼側、着呼側であってもよい。本実施の形態では、前者の場合について説明する。また、発呼側とは、通信を開始する側のことであり、着呼側とは、発呼側の情報処理装置からの発呼に応じて通信を行う側のことである。
【0113】
図13は、本実施の形態による第2の情報処理装置2bの構成を示すブロック図である。本実施の形態による第2の情報処理装置2bは、アドレス受付部21と、トンネル通信部22とを備える。なお、アドレス受付部21、トンネル通信部22は、実施の形態1と同様のものであり、その説明を省略する。なお、本実施の形態による第2の情報処理装置2bでは、識別子記憶部を明記していないが、第2の情報処理装置2bの装置識別子は、トンネル通信部22のアクセス可能な記録媒体において記憶されているものとする。
【0114】
次に、本実施の形態による通信システムの動作、特に第1の情報処理装置1bにおいてアドレスを決定する動作について説明する。図14は、第1の情報処理装置1bにおけるアドレスを決定する動作を示すフローチャートである。
【0115】
(ステップS301)トンネル通信部11は、トンネル通信を開始するかどうか判断する。このトンネル通信の開始には、第1の情報処理装置1bが積極的にトンネル通信を開始する場合と、他の装置(ここでは、第2の情報処理装置2b)からのトンネル通信の要求に応じて、トンネル通信を開始する場合とがある。いずれであっても、トンネル通信部11は、トンネル通信を開始すると判断する。そして、トンネル通信を開始する場合には、ステップS302に進み、そうでない場合には、トンネル通信を開始するまで、ステップS301の処理を繰り返す。
【0116】
(ステップS302)判断部16は、第1の情報処理装置1bが発呼側か着呼側かの判断を行う。
【0117】
(ステップS303)アドレス決定部14bは、判断部16による判断結果に基づいて、すなわち、第1の情報処理装置1bが発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定する。
【0118】
(ステップS304)アドレス送信部15は、アドレス決定部14bが決定したアドレスを、第2の情報処理装置2bに送信する。そして、ステップS301に戻る。
【0119】
なお、図14のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
【0120】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態1の図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態1の具体例と同様であるとする。また、第1の情報処理装置1b、第2の情報処理装置2bがそれぞれ、IPアドレスと、装置識別情報とをサーバ4に登録する処理は、実施の形態1と同様であり、その説明を省略する。
【0121】
通信先装置識別子の記録された着脱可能な記録媒体が、第1の情報処理装置1bに装着され、その記録媒体に記憶されている通信先装置識別子「98765432」が図示しない受付部によって受け付けられ、トンネル通信部11に渡されたとする。
【0122】
すると、トンネル通信部11は、トンネル通信を開始すると判断し(ステップS301)、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のIPアドレスを送信する旨の指示とをサーバ4に送信する。すると、サーバ4はそれらを受信し、通信先装置識別子「98765432」に対応する、保持しているIPアドレス「131.206.10.240」を第1の情報処理装置1bに送信する。第1の情報処理装置1bのトンネル通信部11は、第2の情報処理装置2bのIPアドレス「131.206.10.240」をサーバ4から受け付けると、そのIPアドレスを保持しておく。
【0123】
判断部16は、トンネル通信部11がトンネル通信のトンネルのプロトコルの通信における発呼側であるため、第1の情報処理装置1bが発呼側であると判断する(ステップS302)。そして、その判断結果をアドレス決定部14bに渡す。
【0124】
アドレス決定部14bは、判断部16から判断結果を受け取ると、その判断結果に基づいて、トンネル通信における通信対象のデータに対して用いるIPアドレスを決定する。具体的には、アドレス決定部14bは、例えば、下記の3つの方法のいずれかによってアドレスを決定する(ステップS303)。
【0125】
[発呼側・着呼側によるアドレス決定方法]
アドレス決定部14bは、図15Aで示されるテーブルを有している。図15Aのテーブルは、発呼側・着呼側を示す情報と、IPアドレスとの対応を示すものである。判断部16によって第1の情報処理装置1bが発呼側であると判断されたため、アドレス決定部14bは、図15Aのテーブルを用いて、第1の情報処理装置1bのIPアドレスを「192.168.0.1」に決定する。また、第2の情報処理装置2bは着呼側であるため、アドレス決定部14bは、第2の情報処理装置2bのIPアドレスを「192.168.0.2」に決定する。なお、図15Aでは、発呼側・着呼側を示す情報と、IPアドレスとがテーブル形式で対応付けられている場合について示しているが、テーブル形式以外によって発呼側・着呼側を示す情報と、IPアドレスとが対応付けられていてもよい。
【0126】
[複数のアドレスからの選択によるアドレス決定方法]
アドレス決定部14bは、図15Bで示されるテーブルを有している。図15Bのテーブルは、発呼側・着呼側を示す情報と、IPアドレスとの対応を示すものである。図15Bのテーブルでは、発呼側・着呼側を示す情報に、それぞれ4個のIPアドレスが対応している。したがって、アドレス決定部14bは、その4個のIPアドレスから1個のIPアドレスを選択するものとする。この選択は、例えば、ランダムになされてもよく、あるいは、順番になされてもよい。この具体例では、判断部16によって第1の情報処理装置1bが発呼側であると判断されたため、アドレス決定部14bは、図15Bのテーブルを用いて、第1の情報処理装置1bのIPアドレスを「192.168.0.1」に決定する。また、第2の情報処理装置2bは着呼側であるため、アドレス決定部14bは、第2の情報処理装置2bのIPアドレスを「192.168.0.2」に決定する。
【0127】
[関数を用いたアドレス決定方法]
アドレス決定部14bは、アドレスを決定する関数「Func(引数1)」を有している。そして、発呼側のアドレスを演算する場合には、引数1に「0」を代入する。その結果、IPアドレス「192.168.0.1」が算出される。このIPアドレス「192.168.0.1」が発呼側の第1の情報処理装置1bのIPアドレスとなる。一方、着呼側のアドレスを演算する場合には、引数1に「1」を代入する。その結果、IPアドレス「192.168.0.2」が算出される。このIPアドレス「192.168.0.2」が着呼側の第2の情報処理装置2bのIPアドレスとなる。
【0128】
なお、3通りのアドレス決定方法について説明したが、アドレス決定部14bは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
【0129】
アドレス送信部15は、実施の形態1の具体例と同様に、決定された第1の情報処理装置1bのIPアドレス「192.168.0.1」と、第2の情報処理装置2bのIPアドレス「192.168.0.2」とを第2の情報処理装置2bに送信する(ステップS304)。その結果、それらのIPアドレスが第2の情報処理装置2bにおけるアドレス受付部21で受け付けられ、トンネル通信部22に渡される。また、トンネル通信部11は、実施の形態1の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部22は、アドレス受付部21で受け付けられたアドレスを用いてトンネル通信を行う。
【0130】
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態1と同様のメリットを得ることができる。
【0131】
なお、本実施の形態では、第1の情報処理装置1bがアドレス送信部15を備えた構成について説明したが、第1の情報処理装置1bは、アドレス送信部15に代えて、アドレス決定部14bが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやFAX等によって第2の情報処理装置2bのユーザに通知することによって、第2の情報処理装置2bにおいて設定されてもよい。
【0132】
(実施の形態5)
本発明の実施の形態5による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果に基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【0133】
図16は、本実施の形態による通信システムの構成を示す図である。図16において、第1の情報処理装置1に代えて第1の情報処理装置1cを備え、第2の情報処理装置2に代えて第2の情報処理装置2cを備えた以外、実施の形態1における図1の通信システムと同様であり、その説明を省略する。
【0134】
図16において、本実施の形態による第1の情報処理装置1cは、トンネル通信部11と、アドレス決定部14bと、判断部16とを備える。なお、トンネル通信部11、アドレス決定部14b、判断部16は、実施の形態4と同様のものであり、その説明を省略する。
【0135】
図16において、本実施の形態による第2の情報処理装置2cは、トンネル通信部22と、アドレス決定部26cと、判断部27とを備える。なお、トンネル通信部22は、実施の形態4と同様のものである。また、アドレス決定部26c、判断部27は、それぞれ実施の形態4におけるアドレス決定部14b、判断部16と同様のものであり、その説明を省略する。
【0136】
また、第1の情報処理装置1cにおけるアドレスを決定する動作は、ステップS304におけるアドレスの送信処理を行わない以外、実施の形態4における図14で示されるものと同様であり、その説明を省略する。また、本実施の形態における第2の情報処理装置2cにおけるアドレスを決定する動作も、トンネル通信部11、アドレス決定部14b、判断部16が、それぞれトンネル通信部22、アドレス決定部26c、判断部27に対応し、ステップS304におけるアドレスの送信処理を行わない以外、実施の形態4における図14で示されるものと同様であり、その説明を省略する。
【0137】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。ここで、第1の情報処理装置1cが発呼側であり、第2の情報処理装置2cが着呼側であるとする。なお、第1の情報処理装置1cにおいてIPアドレスが決定される動作は、実施の形態4の具体例と同様であり、その説明を省略する。
【0138】
サーバ4は、第1の情報処理装置1cからの要求に応じて、第2の情報処理装置2cのIPアドレスを第1の情報処理装置1cに送信すると共に、第1の情報処理装置1cが第2の情報処理装置2cとのトンネル通信を要求している旨を示す情報を第2の情報処理装置2cに送信する。
【0139】
第2の情報処理装置2cのトンネル通信部22が、そのサーバ4から送信された情報を受信すると、トンネル通信を開始すると判断し(ステップS301)、判断部27は、第2の情報処理装置2cが着呼側であると判断する(ステップS302)。その結果、アドレス決定部26cは、実施の形態4における具体例と同様にしてアドレスを決定する(ステップS303)。ここで、アドレス決定部26cにより、第2の情報処理装置2cのIPアドレス「192.168.0.2」が決定され、第1の情報処理装置1cのIPアドレス「192.168.0.1」が決定されたとする。
【0140】
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態4の具体例と同様であり、その説明を省略する。
【0141】
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態2と同様の効果を得ることができる。
【0142】
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第1の情報処理装置1cにおいて第1の情報処理装置1cのアドレスのみを決定し、第2の情報処理装置2cにおいて第2の情報処理装置2cのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
【0143】
(実施の形態6)
本発明の実施の形態6による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果に基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
【0144】
図17は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置5と、第2の情報処理装置6と、サーバ7dとを備える。なお、第1の情報処理装置5、第2の情報処理装置6は、実施の形態3と同様のものであり、その説明を省略する。
【0145】
サーバ7dは、実施の形態1におけるサーバ4と同様に、第1の情報処理装置5と第2の情報処理装置6との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部71と、アドレス決定部73dと、アドレス送信部74と、判断部75とを備える。なお、通信制御部71、アドレス送信部74は、実施の形態3と同様のものであり、その説明を省略する。
【0146】
アドレス決定部73dは、判断部75による判断結果に基づいて、第1の情報処理装置5と、第2の情報処理装置6との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置5の第1のアドレス、および第2の情報処理装置6の第2のアドレスを決定する。アドレスの決定方法については、実施の形態4のアドレス決定部14bによる方法と同様であり、その説明を省略する。
【0147】
判断部75は、トンネル通信を行う第1の情報処理装置5と、第2の情報処理装置6とのいずれが発呼側であり、着呼側であるのかについて判断する。この判断では、結果として第1の情報処理装置5と、第2の情報処理装置6とが発呼側であるのか、着呼側であるのかが判断されればよい。すなわち、第2の情報処理装置6が発呼側か着呼側かを判断することによって、第1の情報処理装置5が発呼側か着呼側かを判断してもよい。また、第1の情報処理装置5、および第2の情報処理装置6の両方に関しての判断を行ってもよい。
【0148】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図18は、サーバ7dにおけるアドレスを決定する動作を示すフローチャートである。
【0149】
(ステップS401)通信制御部71は、第1の情報処理装置5と、第2の情報処理装置6との間でトンネル通信が開始されるかどうか判断する。そして、トンネル通信が開始される場合には、ステップS402に進み、そうでない場合には、トンネル通信が開始されるまで、ステップS401の処理を繰り返す。
【0150】
(ステップS402)判断部75は、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、発呼側であるのか、着呼側であるのかを判断する。
【0151】
(ステップS403)アドレス決定部73dは、判断部75による判断結果に基づいて、トンネル通信における通信対象のデータに対して用いる第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとを決定する。
【0152】
(ステップS404)アドレス送信部74は、アドレス決定部73dが決定した2つのアドレスを、第1の情報処理装置5、第2の情報処理装置6に送信する。そして、ステップS401に戻る。
【0153】
なお、図18のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0154】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態3の具体例と同様であるとする。また、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、IPアドレスと、装置識別情報とをサーバ7dに登録する処理は、実施の形態3と同様であり、その説明を省略する。
【0155】
次に、第1の情報処理装置5のトンネル通信部52は、第2の情報処理装置6を識別する第2の装置識別子と、第2の情報処理装置6とトンネル通信を行いたい旨とをサーバ7dに送信する。すると、それらは通信制御部71において受信される。通信制御部71は、トンネル通信を開始すると判断し(ステップS401)、第1の情報処理装置5から送信されたパケットのヘッダから第1の情報処理装置5のIPアドレスを取得し、図11で示されるアドレス識別子対応情報を参照して、第1の情報処理装置5の装置識別子「12345678」を取得する。また、通信制御部71は、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5から送信された装置識別子「98765432」に対応するIPアドレス「131.206.10.240」を取得する。そして、通信制御部71は、第2の情報処理装置6のIPアドレス「131.206.10.240」を第1の情報処理装置5に送信する。
【0156】
判断部75は、通信制御部71が、第1の情報処理装置5から送信された第2の情報処理装置6とトンネル通信を行いたい旨の情報を受信したため、第1の情報処理装置5が発呼側であり、第2の情報処理装置6が着呼側であると判断する(ステップS402)。そして、判断部75は、装置識別子「12345678」で識別される情報処理装置が発呼側であり、装置識別子「98765432」で識別される情報処理装置が着呼側である旨をアドレス決定部73dに渡す。すると、アドレス決定部73dは、その判断結果に基づいてアドレスを決定し、その決定したアドレスを装置識別子と共にアドレス送信部74に渡す(ステップS403)。なお、このアドレス決定方法は実施の形態4における具体例と同様であり、その説明を省略する。
【0157】
アドレス送信部74は、アドレス決定部73dから装置識別子「12345678」と、それに対応したIPアドレス「192.168.0.1」との組と、装置識別子「98765432」と、それに対応したIPアドレス「192.168.0.2」との組を受け取ると、通信制御部71で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のIPアドレスを取得する。そして、その取得したIPアドレスを用いて、装置識別子とIPアドレスとの2つの組を第1の情報処理装置5のIPアドレス「202.132.10.6」、および第2の情報処理装置6のIPアドレス「131.206.10.240」に対して送信する(ステップS404)。この後の処理は、実施の形態3の具体例と同様であり、その説明を省略する。
【0158】
以上のように、本実施の形態による通信システムでは、サーバ7dが、情報処理装置が発呼側であるのか、着呼側であるのかに基づいて、第1の情報処理装置5、および第2の情報処理装置6の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
【0159】
なお、本実施の形態では、アドレス送信部74がアドレス決定部73dによって決定されたアドレスを送信する場合について説明したが、アドレス送信部74に代えて、アドレス決定部73dによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ7dの管理者がそのアドレスを電子メールやFAX等によって第1の情報処理装置5のユーザや第2の情報処理装置6のユーザに通知することによって、第1の情報処理装置5や、第2の情報処理装置6において設定されてもよい。
【0160】
また、本実施の形態では、サーバ7dのアドレス送信部74が、第2の情報処理装置6にアドレス決定部73dが決定した2つのアドレスを送信する場合について説明したが、アドレス送信部74は、第2の情報処理装置6に第2の情報処理装置6のアドレス「192.168.0.2」のみを送信してもよい。この場合には、第2の情報処理装置2dは、第1の情報処理装置5から送信されたカプセル化された通信対象のデータのヘッダから第1の情報処理装置5のアドレスを取得することができる。
【0161】
また、本実施の形態では、サーバ7dから第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとの両方を送信する場合について説明したが、サーバ7dは、まず第1の情報処理装置5に対しては、第1の情報処理装置5のアドレス「192.168.0.1」を送信し、第2の情報処理装置6に対しては、第2の情報処理装置6のアドレス「192.168.0.2」を送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ7dがその相手方のアドレスを送信するようにしてもよい。
【0162】
(実施の形態7)
本発明の実施の形態7による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置の装置識別子と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【0163】
本実施の形態による通信システムは、図1と同様であるとする。ただし、第1の情報処理装置1が第1の情報処理装置1eに対応し、サーバ4がサーバ4eに対応するものとする。また、第2の情報処理装置2は、実施の形態4の第2の情報処理装置2bに対応するものとする。
【0164】
図19は、本実施の形態による第1の情報処理装置1eの構成を示すブロック図である。本実施の形態による第1の情報処理装置1eは、トンネル通信部11と、識別子受付部12と、識別子記憶部13と、アドレス決定部14eと、アドレス送信部15と、トンネル通信識別子受付部17とを備える。なお、トンネル通信部11、識別子受付部12、識別子記憶部13、アドレス送信部15は、実施の形態1と同様のものであり、その説明を省略する。
【0165】
アドレス決定部14eは、識別子受付部12が受け付けた通信先装置識別子と、識別子記憶部13が記憶している通信元装置識別子と、トンネル通信識別子受付部17が受け付けたトンネル通信識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。ここで、トンネル通信識別子とは、情報処理装置間で行われるトンネル通信を識別する識別子である。このアドレスの決定においては、通信先装置識別子と、通信元装置識別子と、トンネル通信識別子とに基づいて、通信先の装置(すなわち、第2の情報処理装置2b)で用いるアドレスと、通信元の装置(すなわち、第1の情報処理装置1e)で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。また、アドレス決定部14eは、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスの一部を決定し、トンネル通信識別子に基づいて、通信対象のデータに対して用いるアドレスの他の部分を決定してもよい。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
【0166】
トンネル通信識別子受付部17は、トンネル通信識別子を受け付ける。トンネル通信識別子受付部17は、例えば、有線もしくは無線の通信回線を介して送信された(例えば、サーバ4eから送信された)トンネル通信識別子を受信してもよく、所定の入力デバイス(例えば、キーボードやマウス、タッチパネルなど)を介して第1の情報処理装置1eに入力されたトンネル通信識別子を受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたトンネル通信識別子を受け付けてもよく、あるいは、第1の情報処理装置1eで生成されたトンネル通信識別子を受け付けてもよい。本実施の形態では、サーバ4eから送信されたトンネル通信識別子を受け付ける場合について説明する。なお、トンネル通信識別子受付部17は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、トンネル通信識別子受付部17は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0167】
図20は、本実施の形態によるサーバ4eの構成を示すブロック図である。サーバ4eは、トンネル通信識別子生成部41と、トンネル通信識別子送信部42と、通信制御部71とを備える。なお、通信制御部71は、実施の形態3と同様のものであり、その説明を省略する。
【0168】
トンネル通信識別子生成部41は、トンネル通信識別子を生成する。このトンネル通信識別子によって複数の情報処理装置間で行われているトンネル通信を識別することができればよい。したがって、トンネル通信識別子は、例えば、GUIDであってもよく、あるいは、トンネル通信の終了後には、再度、同一のトンネル通信識別子を他のトンネル通信において用いてもよい。トンネル通信識別子生成部41は、トンネル通信識別子を所定の関数等を用いた演算等によって生成してもよく、複数のトンネル通信識別子を有するテーブルから選択することによってトンネル通信識別子を生成してもよく、トンネル通信を識別可能なトンネル通信識別子を決定できるのであれば、その生成の方法は問わない。
【0169】
トンネル通信識別子送信部42は、トンネル通信識別子生成部41が生成したトンネル通信識別子を、そのトンネル通信識別子によって識別されるトンネル通信を行う情報処理装置に送信する。なお、トンネル通信識別子送信部42は、例えば、トンネル通信識別子を、アドレス決定を行う装置にのみ送信してもよく、あるいは、トンネル通信を行うすべての装置に送信してもよい。本実施の形態では、トンネル通信識別子を、アドレス決定を行う装置にのみ送信する場合について説明する。また、トンネル通信識別子送信部42は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、トンネル通信識別子送信部42と通信回線3との間に図示しない送信デバイスが存在することとなる)。また、トンネル通信識別子送信部42は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0170】
次に、本実施の形態による通信システムの動作、特に第1の情報処理装置1eにおいてアドレスを決定する動作について説明する。図21は、第1の情報処理装置1eにおけるアドレスを決定する動作を示すフローチャートである。
【0171】
(ステップS501)識別子受付部12は、通信先装置識別子を受け付けたかどうか判断する。そして、通信先装置識別子を受け付けた場合には、ステップS502に進み、そうでない場合には、ステップS503に進む。
【0172】
(ステップS502)アドレス決定部14eは、識別子受付部12が受け付けた通信先装置識別子を図示しない記録媒体で一時的に記憶する。そして、ステップS501に戻る。
【0173】
(ステップS503)トンネル通信識別子受付部17は、トンネル通信識別子を受け付けたかどうか判断する。そして、トンネル通信識別子を受け付けた場合には、ステップS504に進み、そうでない場合には、ステップS505に進む。
【0174】
(ステップS504)アドレス決定部14eは、トンネル通信識別子受付部17が受け付けたトンネル通信識別子を図示しない記録媒体で一時的に記憶する。そして、ステップS501に戻る。
【0175】
(ステップS505)アドレス決定部14eは、通信先装置識別子と、トンネル通信識別子とが受け付けられたかどうか判断する。この判断は、例えば、アドレス決定部14eが有する図示しない記録媒体に、通信先装置識別子と、トンネル通信識別子とが格納されているかどうかによって判断する。そして、通信先装置識別子と、トンネル通信識別子とが受け付けられていた場合には、ステップS506に進み、そうでない場合には、ステップS501に戻る。
【0176】
(ステップS506)アドレス決定部14eは、図示しない記録媒体で一時的に記憶している通信先装置識別子と、トンネル通信識別子と、識別子記憶部13で記憶されている通信元装置識別子とを用いて、アドレスを決定する。このアドレス決定の方法については後述する。
【0177】
(ステップS507)アドレス送信部15は、アドレス決定部14eが決定したアドレスを第2の情報処理装置2bに送信する。そして、ステップS501に戻る。
【0178】
なお、図21のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、通信先装置識別子と、トンネル通信識別子とが受け付けられたと判断されたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、トンネル通信識別子受付部17がトンネル通信識別子を受け付けたタイミングでアドレスの決定等を行ってもよい。また、トンネル通信識別子が受け付けられた時点において通信先装置識別子が受け付けられていない場合には、通信先装置識別子の送信や入力等を要求するようにしてもよい。また、このフローチャートでは、受け付けられた通信先装置識別子や、トンネル通信識別子をアドレス決定部14eの有する図示しない記録媒体において一時的に記憶する場合について説明したが、受け付けられた通信先識別子等は、他の記録媒体において一時的に記憶されてもよい。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
【0179】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態1の図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態1の具体例と同様であるとする。また、第1の情報処理装置1e、第2の情報処理装置2bがそれぞれ、IPアドレスと、装置識別情報とをサーバ4eに登録する処理は、実施の形態1と同様であり、その説明を省略する。
【0180】
通信先装置識別子の記録された着脱可能な記録媒体が、第1の情報処理装置1eに装着されると、その記録媒体に記憶されている通信先装置識別子「98765432」が識別子受付部12によって受け付けられ、トンネル通信部11と、アドレス決定部14eとに渡されたとする(ステップS501)。アドレス決定部14eは、その通信先装置識別子を図示しないメモリで一時的に記憶する(ステップS502)。
【0181】
トンネル通信部11は、識別子受付部12から通信先装置識別子「98765432」を受け取ると、トンネル通信を開始すると判断し、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のIPアドレスを送信する旨の指示とをサーバ4eに送信する。すると、サーバ4eはそれらを受信し、通信先装置識別子「98765432」に対応する、保持しているIPアドレス「131.206.10.240」を第1の情報処理装置1eに送信する。第1の情報処理装置1eのトンネル通信部11は、第2の情報処理装置2bのIPアドレス「131.206.10.240」をサーバ4eから受け付けると、そのIPアドレスを保持しておく。
【0182】
また、サーバ4eは、第1の情報処理装置1eと、第2の情報処理装置2bとの間でトンネル通信を開始すると判断する。そして、トンネル通信識別子生成部41は、第1の情報処理装置1eと、第2の情報処理装置2bとの間で行うトンネル通信を識別するトンネル通信識別子「111222333」を生成する。トンネル通信識別子送信部42は、そのトンネル通信識別子を、発呼側であり、アドレスの決定を行う第1の情報処理装置1eに送信する。第1の情報処理装置1eのアドレスは、第1の情報処理装置1eから送信された通信先装置識別子を含むパケットのヘッダから取得されたものである。送信されたトンネル通信識別子「111222333」は、第1の情報処理装置1eのトンネル通信識別子受付部17で受け付けられる(ステップS503)。そのトンネル通信識別子は、アドレス決定部14eに渡される。アドレス決定部14eは、トンネル通信識別子受付部17から受け付けたトンネル通信識別子を図示しないメモリで一時的に記憶する。(ステップS504)。
【0183】
その後、アドレス決定部14eは、通信先装置識別子と、トンネル通信識別子が受け付けられたと判断し、(ステップS505)、アドレス決定部14eの有する図示しないメモリにおいて一時的に記憶している通信先装置識別子「98765432」と、トンネル通信識別子「111222333」と、識別子記憶部13から読み出した通信元装置識別子「12345678」とに基づいて、トンネル通信における通信対象のデータに対して用いるIPアドレスを決定する。具体的には、アドレス決定部14eは、例えば、下記の3つの方法のいずれかによってアドレスを決定する(ステップS506)。
【0184】
[テーブルを用いるアドレス決定方法]
アドレス決定部14eが決定するアドレスは、図22Aで示される構造を有する。すなわち、先頭の8ビットは「169」であり、次の8ビットは「254」である。また、次の16ビットのうち、先頭の12ビットはネットワークアドレスであり、トンネル通信識別子を「4096」で割った余りを用いる。また、最後の4ビットはホストアドレスであり、図22Bのテーブルを用いて決定する。図22Bのテーブルは、装置識別子の異なる桁と、ホストアドレスとの対応を示すテーブルである。アドレス決定部14eは、通信先装置識別子「98765432」と、通信元装置識別子「12345678」との最下位の桁の値(「2」と、「8」)に対応するホストアドレスを、図22Bのテーブルを用いて決定する。すなわち、第1の情報処理装置1eのホストアドレスは「8」となり、第2の情報処理装置2bのホストアドレスは「2」となる。また、トンネル通信識別子「111222333」を「4096」で割った余り「3645」が第1の情報処理装置1e、および第2の情報処理装置2bに共通のネットワークアドレスとなる。したがって、アドレス決定部14eは、第1の情報処理装置1eのIPアドレスを「169.254.227.216」と決定する(「3645」のバイナリ表示「111000111101」と、「8」のバイナリ表示「1000」とを8ビットずつに分けた「11100011」と、「11011000」との10進数表示がそれぞれ「227」と、「216」とになる)。同様にして、アドレス決定部14eは、第2の情報処理装置2bのIPアドレスを「169.254.227.210」と決定する。そして、アドレス決定部14eは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。なお、このようにしてアドレスが決定された場合には、各情報処理装置において、「255.255.255.248」をサブネットマスクとして用いる。このテーブルを用いてアドレスを決定する方法のように、アドレス決定部14eは、通信先装置識別子と、通信元装置識別子とに基づいてアドレスの一部を決定し、トンネル通信識別子に基づいてアドレスの他の部分を決定してもよい。
【0185】
[関数を用いるアドレス決定方法]
アドレス決定部14eは、アドレスを決定する関数「Func(引数1、引数2、引数3)」を有している。そして、引数1に通信元装置識別子「12345678」を代入し、引数2に通信先装置識別子「98765432」を代入し、引数3にトンネル通信識別子「111222333」を代入する。その結果、2つのアドレス「192.168.0.1」、「192.168.0.2」が算出される。そして、前者のIPアドレスを第1の情報処理装置1eのIPアドレスと決定し、後者のIPアドレスを第2の情報処理装置2bのアドレスと決定する。そして、アドレス決定部14eは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。
【0186】
[装置識別子の大小比較によるアドレス決定方法]
この方法においても、アドレス決定部14eが決定するアドレスは、図22Aで示される構造を有するものとする。また、ネットワークアドレスをトンネル通信識別子に基づいて決定する方法は、前述の「テーブルを用いるアドレス決定方法」と同様であるとする。アドレス決定部14eは、装置識別子の大きいほうの情報処理装置のホストアドレスに「2」を割り当て、装置識別子の小さいほうの情報処理装置のホストアドレスに「1」を割り当てるものとする。したがって、第1の情報処理装置1eの装置識別子「12345678」のほうが第2の情報処理装置2bの装置識別子「98765432」よりも小さいため、第1の情報処理装置1eのホストアドレスは「1」となる。その結果、アドレス決定部14eは、第1の情報処理装置1eのIPアドレスを「169.254.227.209」と決定する。また、アドレス決定部14eは、第2の情報処理装置2bのIPアドレスを「169.254.227.210」と決定する。そして、アドレス決定部14eは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。なお、この場合にも、各情報処理装置において、「255.255.255.248」をサブネットマスクとして用いるものとする。
【0187】
なお、3通りのアドレス決定方法について説明したが、アドレス決定部14eは、通信元装置識別子と、通信先装置識別子と、トンネル通信識別子とに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
【0188】
アドレス送信部15は、実施の形態1の具体例と同様に、決定された第1の情報処理装置1eのIPアドレスと、第2の情報処理装置2bのIPアドレスとを第2の情報処理装置2bに送信する(ステップS507)。その結果、それらのIPアドレスが第2の情報処理装置2bにおけるアドレス受付部21で受け付けられ、トンネル通信部22に渡される。また、トンネル通信部11は、実施の形態1の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部22は、アドレス受付部21で受け付けられたアドレスを用いてトンネル通信を行う。
【0189】
以上のように、本実施の形態による通信システムでは、トンネル通信を行う情報処理装置の装置識別子と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態1と同様のメリットを得ることができる。
【0190】
なお、本実施の形態では、第1の情報処理装置1eがアドレス送信部15を備えた構成について説明したが、第1の情報処理装置1eは、アドレス送信部15に代えて、アドレス決定部14eが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやFAX等によって第2の情報処理装置2bのユーザに通知することによって、第2の情報処理装置2bにおいて設定されてもよい。
【0191】
また、本実施の形態では、サーバ4eで生成されたトンネル通信識別子が第1の情報処理装置1eにのみ送信される場合について説明したが、そのトンネル通信識別子は、第1の情報処理装置1eと共に、第2の情報処理装置2bにも送信されてもよい。
【0192】
(実施の形態8)
本発明の実施の形態8による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【0193】
図23は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、第1の情報処理装置1fと、第2の情報処理装置2fと、サーバ4eとを備える。サーバ4eは、実施の形態7と同様のものであり、その説明を省略する。ただし、本実施の形態では、第1の情報処理装置1f、および第2の情報処理装置2fにおいてアドレスの決定を行うため、サーバ4eは、生成したトンネル通信識別子を第1の情報処理装置1f、および第2の情報処理装置2fのそれぞれに送信するものとする。
【0194】
第1の情報処理装置1fは、トンネル通信部11と、識別子受付部12と、識別子記憶部13と、アドレス決定部14eと、トンネル通信識別子受付部17とを備える。なお、トンネル通信部11、識別子受付部12、識別子記憶部13、アドレス決定部14e、トンネル通信識別子受付部17は、実施の形態7と同様のものであり、その説明を省略する。
【0195】
第2の情報処理装置2fは、トンネル通信部22と、識別子記憶部23と、識別子受付部25と、アドレス決定部26fと、トンネル通信識別子受付部28とを備える。なお、トンネル通信部22は、実施の形態4と同様のものであり、識別子記憶部23、識別子受付部25は、実施の形態2と同様のものであり、アドレス決定部26f、トンネル通信識別子受付部28は、実施の形態7のアドレス決定部14e、トンネル通信識別子受付部17と同様のものであり、それらの説明を省略する。
【0196】
また、第1の情報処理装置1fにおけるアドレスを決定する動作は、ステップS507におけるアドレスの送信処理を行わない以外、実施の形態7における図21で示されるものと同様であり、その説明を省略する。また、本実施の形態における第2の情報処理装置2fにおけるアドレスを決定する動作も、トンネル通信部11、識別子受付部12、識別子記憶部13、アドレス決定部14e、トンネル通信識別子受付部17が、それぞれトンネル通信部22、識別子受付部25、識別子記憶部23、アドレス決定部26f、トンネル通信識別子受付部28に対応し、ステップS507におけるアドレスの送信処理を行わない以外、実施の形態7における図21で示されるものと同様であり、その説明を省略する。
【0197】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。なお、第1の情報処理装置1fにおいてIPアドレスが決定される動作は、実施の形態7の具体例と同様であり、その説明を省略する。また、前述のように、サーバ4eからは、第1の情報処理装置1fと共に、第2の情報処理装置2fにもトンネル通信識別子が送信されるものとする。
【0198】
サーバ4eは、第1の情報処理装置1fからの要求に応じて、第2の情報処理装置2fのIPアドレスを第1の情報処理装置1fに送信すると共に、第1の情報処理装置1fの装置識別子と、第1の情報処理装置1fが第2の情報処理装置2fとのトンネル通信を要求している旨を示す情報とを第2の情報処理装置2fに送信する。また、サーバ4eは、トンネル通信識別子を生成し、そのトンネル通信識別子を第1の情報処理装置1fと、第2の情報処理装置2fとに送信する。
【0199】
第2の情報処理装置2fの識別子受付部25は、サーバ4eから送信された第1の情報処理装置1fの装置識別子を、トンネル通信部22を介して受け付ける(ステップS501)。その装置識別子は、アドレス決定部26fの図示しないメモリにおいて一時的に記憶される(ステップS502)。また、第2の情報処理装置2fのトンネル通信識別子受付部28は、サーバ4eから送信されたトンネル通信識別子を、トンネル通信部22を介して受け付ける(ステップS503)。そのトンネル通信識別子は、アドレス決定部26fの図示しないメモリにおいて一時的に記憶される(ステップS504)。その後、アドレス決定部26fが装置識別子とトンネル通信識別子とが受け付けられていると判断し(ステップS505)、アドレス決定部26fの図示しないメモリで記憶されている装置識別子と、トンネル通信識別子と、識別子記憶部23から読み出した第2の情報処理装置2fの装置識別子とに基づいて第1の情報処理装置1fと、第2の情報処理装置2fのIPアドレスを決定する処理は、実施の形態7と同様であり、その説明を省略する。
【0200】
ただし、関数を用いてアドレスを決定する場合には、実施の形態2の具体例で説明したように、引数1には第2の情報処理装置2fの装置識別子を代入し、引数2には第1の情報処理装置1fの装置識別子を代入するものとする。また、関数は、引数1と引数2が入れ替えられると、算出結果のIPアドレスも逆の順番となるような関数であるとする。この場合には、アドレス決定部26fが関数を用いて決定したアドレスのうち、1番目のアドレスが第2の情報処理装置2fのIPアドレスとなり、2番目のアドレスが第1の情報処理装置1fのIPアドレスとなる。
【0201】
このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態7の具体例と同様であり、その説明を省略する。
【0202】
以上のように、本実施の形態による通信システムでは、情報処理装置の装置識別子とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態2と同様の効果を得ることができる。
【0203】
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第1の情報処理装置1fにおいて第1の情報処理装置1fのアドレスのみを決定し、第2の情報処理装置2fにおいて第2の情報処理装置2fのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
【0204】
(実施の形態9)
本発明の実施の形態9による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
【0205】
図24は、本実施の形態による通信システムの構成を示す図である。図24において、本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置5と、第2の情報処理装置6と、サーバ7gとを備える。なお、第1の情報処理装置5、第2の情報処理装置6は、実施の形態3と同様のものであり、その説明を省略する。
【0206】
サーバ7gは、実施の形態1におけるサーバ4と同様に、第1の情報処理装置5と第2の情報処理装置6との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部71と、識別子受付部72と、アドレス決定部73gと、アドレス送信部74と、トンネル通信識別子生成部41と、トンネル通信識別子受付部76とを備える。なお、通信制御部71、識別子受付部72、アドレス送信部74は、実施の形態3と同様のものであり、トンネル通信識別子生成部41は、実施の形態7と同様のものであり、その説明を省略する。
【0207】
アドレス決定部73gは、識別子受付部72が受け付けた、第1の情報処理装置5を識別する第1の装置識別子、第2の情報処理装置6を識別する第2の装置識別子と、トンネル通信識別子受付部76が受け付けたトンネル通信識別子とに基づいて、第1の情報処理装置5と、第2の情報処理装置6との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置5の第1のアドレス、および第2の情報処理装置6の第2のアドレスを決定する。アドレスの決定方法については、実施の形態7におけるアドレス決定部14eと同様であり、その説明を省略する。
【0208】
トンネル通信識別子受付部76は、トンネル通信識別子を受け付ける。トンネル通信識別子受付部76は、例えば、有線もしくは無線の通信回線を介して送信された(例えば、他のサーバから送信された)トンネル通信識別子を受信してもよく、所定の入力デバイス(例えば、キーボードやマウス、タッチパネルなど)を介してサーバ7gに入力されたトンネル通信識別子を受け付けてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたトンネル通信識別子を受け付けてもよく、あるいは、サーバ7gで生成されたトンネル通信識別子を受け付けてもよい。本実施の形態では、サーバ7gのトンネル通信識別子生成部41で生成されたトンネル通信識別子を受け付ける場合について説明する。なお、トンネル通信識別子受付部76は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、トンネル通信識別子受付部76は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0209】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図25は、サーバ7gにおけるアドレスを決定する動作を示すフローチャートである。
【0210】
(ステップS601)識別子受付部72は、第1の装置識別子、および第2の装置識別子を受け付けたかどうか判断する。そして、それらの識別子を受け付けた場合には、ステップS602に進み、そうでない場合には、それらの識別子を受け付けるまでステップS601の処理を繰り返す。
【0211】
(ステップS602)アドレス決定部73gは、識別子受付部72が受け付けた第1の装置識別子、および第2の装置識別子を図示しない記録媒体において一時的に記憶する。
【0212】
(ステップS603)トンネル通信識別子生成部41は、トンネル通信識別子を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部76に渡す。
【0213】
(ステップS604)トンネル通信識別子受付部76は、トンネル通信識別子生成部41から渡されたトンネル通信識別子を受け付ける。
【0214】
(ステップS605)アドレス決定部73gは、トンネル通信識別子受付部76が受け付けたトンネル通信識別子、識別子受付部72が受け付け、図示しない記録媒体において一時的に記憶されている第1の装置識別子、第2の装置識別子に基づいて、アドレスを決定する。このアドレスの決定方法は、実施の形態7の具体例での説明と同様であり、その説明を省略する。
【0215】
(ステップS606)アドレス送信部74は、アドレス決定部73gが決定した第1の情報処理装置5のアドレス、および第2の情報処理装置6のアドレスを、第1の情報処理装置5と、第2の情報処理装置6とに送信する。そして、ステップS601に戻る。
【0216】
なお、図25のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、識別子受付部72が第1の装置識別子等を受け付けたタイミングでアドレスの決定等を行う場合について説明したが、アドレスの決定等を行うタイミングは、これに限定されるものではなく、例えば、第1の情報処理装置5と、第2の情報処理装置6とがトンネル通信を開始するタイミングで、それまでに識別子受付部72で受け付けられている第1の装置識別子等を用いてアドレスを決定してもよい。
【0217】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態3の具体例と同様であるとする。また、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、IPアドレスと、装置識別情報とをサーバ7gに登録する処理は、実施の形態3と同様であり、その説明を省略する。
【0218】
第1の情報処理装置5のトンネル通信部52は、第2の情報処理装置6を識別する第2の装置識別子と、第2の情報処理装置6とトンネル通信を行いたい旨とをサーバ7gに送信する。すると、それらは通信制御部71において受信される。通信制御部71は、第1の情報処理装置5から送信されたパケットのヘッダから第1の情報処理装置5のIPアドレスを取得し、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5の第1の装置識別子「12345678」を取得する。また、通信制御部71は、アドレス識別子対応情報を参照し、第1の情報処理装置5から送信された第2の装置識別子「98765432」に対応するIPアドレス「131.206.10.240」を取得する。そして、通信制御部71は、第1の装置識別子と、第2の装置識別子とを識別子受付部72に渡すと共に、第2の情報処理装置6のIPアドレスを第1の情報処理装置5に送信する。
【0219】
識別子受付部72は、通信制御部71から第1の装置識別子と第2の装置識別子を受け付けると(ステップS601)、それらをアドレス決定部73gに渡す。アドレス決定部73gは、その第1の装置識別子等を図示しないメモリにおいて一時的に記憶する(ステップS602)。
【0220】
また、トンネル通信識別子生成部41は、通信制御部71がトンネル通信を開始する旨の情報を受信したことに対応して、新たなトンネル通信識別子「111222333」を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部76に渡す(ステップS603)。すると、そのトンネル通信識別子はトンネル通信識別子受付部76で受け付けられる(ステップS604)。
【0221】
その後、アドレス決定部73gは、トンネル通信識別子受付部76が受け付けたトンネル通信識別子と、図示しないメモリで記憶している第1の装置識別子、第2の装置識別子とに基づいて、第1の情報処理装置5、および第2の情報処理装置6で用いるIPアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部74に渡す(ステップS605)。このアドレスの決定方法は実施の形態7の具体例と同様であり、その説明を省略する。
【0222】
アドレス送信部74は、アドレス決定部73gが決定した第1の情報処理装置5のIPアドレスと、その第1の情報処理装置5の装置識別子との組、および第2の情報処理装置6のIPアドレスと、その第2の情報処理装置6の装置識別子との組を受け取ると、通信制御部71で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のIPアドレスを取得する。そして、アドレス送信部74は、装置識別子とIPアドレスとの2つの組を第1の情報処理装置5と、第2の情報処理装置6とに送信する(ステップS606)。この後の処理は、実施の形態3の具体例と同様であり、その説明を省略する。
【0223】
以上のように、本実施の形態による通信システムでは、サーバ7gが、情報処理装置の装置識別子と、トンネル通信識別子とに基づいて、第1の情報処理装置5、および第2の情報処理装置6の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
【0224】
なお、本実施の形態では、アドレス送信部74がアドレス決定部73gによって決定されたアドレスを送信する場合について説明したが、アドレス送信部74に代えて、アドレス決定部73gによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ7gの管理者がそのアドレスを電子メールやFAX等によって第1の情報処理装置5のユーザや第2の情報処理装置6のユーザに通知することによって、第1の情報処理装置5や、第2の情報処理装置6において設定されてもよい。
【0225】
また、本実施の形態では、サーバ7gのアドレス送信部74が、第2の情報処理装置6にアドレス決定部73gが決定した2つのアドレスを送信する場合について説明したが、アドレス送信部74は、第2の情報処理装置6に第2の情報処理装置6のアドレスのみを送信してもよい。この場合には、第2の情報処理装置6は、第1の情報処理装置5から送信されたカプセル化された通信対象のデータのヘッダから第1の情報処理装置5のアドレスを取得することができる。
【0226】
また、本実施の形態では、サーバ7gから第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとの両方を送信する場合について説明したが、サーバ7gは、まず第1の情報処理装置5に対しては、第1の情報処理装置5のアドレスを送信し、第2の情報処理装置6に対しては、第2の情報処理装置6のアドレスを送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ7gがその相手方のアドレスを送信するようにしてもよい。
【0227】
(実施の形態10)
本発明の実施の形態10による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【0228】
本実施の形態による通信システムは、図1と同様であるとする。ただし、第1の情報処理装置1が第1の情報処理装置1hに対応するものとする。また、第2の情報処理装置2は、実施の形態4の第2の情報処理装置2bに対応し、サーバ4は、実施の形態7のサーバ4eに対応するものとする。
【0229】
図26は、本実施の形態による第1の情報処理装置1hの構成を示すブロック図である。本実施の形態による第1の情報処理装置1hは、トンネル通信部11と、アドレス決定部14hと、アドレス送信部15と、判断部16と、トンネル通信識別子受付部17とを備える。なお、トンネル通信部11、アドレス送信部15は、実施の形態1と同様のものであり、判断部16は、実施の形態4と同様のものであり、トンネル通信識別子受付部17は、実施の形態7と同様のものであり、それらの説明を省略する。
【0230】
アドレス決定部14hは、判断部16による判断結果と、トンネル通信識別子受付部17が受け付けたトンネル通信識別子とに基づいて、トンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定する。ここで、トンネル通信識別子とは、情報処理装置間で行われるトンネル通信を識別する識別子である。このアドレスの決定においては、判断部16による判断結果と、トンネル通信識別子とに基づいて、通信先の装置(例えば、第2の情報処理装置2b)で用いるアドレスと、通信元の装置(例えば、第1の情報処理装置1h)で用いるアドレスとが異なるように決定されればよい。決定の方法としては、例えば、所定の関数を用いて行う方法や、あらかじめ決められている複数のアドレスから選択することによって行う方法などがある。また、アドレス決定部14hは、通信先装置識別子と、通信元装置識別子とに基づいて、通信対象のデータに対して用いるアドレスの一部を決定し、トンネル通信識別子に基づいて、通信対象のデータに対して用いるアドレスの他の部分を決定してもよい。アドレスを決定する方法の具体例については後述する。また、アドレスの決定において、通信元の装置のアドレスを決定してもよく、通信先の装置のアドレスを決定してもよく、その両者のアドレスを決定してもよい。本実施の形態では、通信元と通信先の装置の両者のアドレスを決定する場合について説明する。
【0231】
次に、本実施の形態による通信システムの動作、特に第1の情報処理装置1hにおいてアドレスを決定する動作について説明する。図27は、第1の情報処理装置1hにおけるアドレスを決定する動作を示すフローチャートである。
【0232】
(ステップS701)トンネル通信部11は、トンネル通信を開始するかどうか判断する。このトンネル通信の開始には、第1の情報処理装置1hが積極的にトンネル通信を開始する場合と、他の装置(ここでは、第2の情報処理装置2b)からのトンネル通信の要求に応じて、トンネル通信を開始する場合とがある。いずれであっても、トンネル通信部11は、トンネル通信を開始すると判断する。そして、トンネル通信を開始する場合には、ステップS702に進み、そうでない場合には、トンネル通信を開始するまでステップS701の処理を繰り返す。
【0233】
(ステップS702)判断部16は、第1の情報処理装置1hが発呼側か着呼側かの判断を行う。
【0234】
(ステップS703)トンネル通信識別子受付部17は、トンネル通信識別子を受け付けたかどうか判断する。そして、トンネル通信識別子を受け付けた場合には、ステップS704に進み、そうでない場合には、トンネル通信識別子を受け付けるまで、ステップS703の処理を繰り返す。
【0235】
(ステップS704)アドレス決定部14hは、判断部16による判断結果と、トンネル通信識別子受付部17が受け付けたトンネル通信識別子とを用いて、アドレスを決定する。このアドレス決定の方法については後述する。
【0236】
(ステップS705)アドレス送信部15は、アドレス決定部14hが決定したアドレスを第2の情報処理装置2bに送信する。そして、ステップS701に戻る。
【0237】
なお、図27のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、このフローチャートでは、アドレスを決定する処理についてのみ説明しているが、この決定されたアドレスを用いてトンネル通信が行われることはいうまでもない。
【0238】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、実施の形態1の図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態1の具体例と同様であるとする。また、第1の情報処理装置1h、第2の情報処理装置2bがそれぞれ、IPアドレスと、装置識別情報とをサーバ4eに登録する処理は、実施の形態1と同様であり、その説明を省略する。
【0239】
通信先装置識別子の記録された着脱可能な記録媒体が、第1の情報処理装置1hに装着され、その記録媒体に記憶されている通信先装置識別子「98765432」が図示しない受付部によって受け付けられ、トンネル通信部11に渡されたとする。
【0240】
すると、トンネル通信部11は、トンネル通信を開始すると判断し(ステップS701)、受け取った通信先装置識別子と、その通信先装置識別子で識別される装置のIPアドレスを送信する旨の指示とをサーバ4eに送信する。すると、サーバ4eはそれらを受信し、通信先装置識別子「98765432」に対応する、保持しているIPアドレス「131.206.10.240」を第1の情報処理装置1hに送信する。第1の情報処理装置1hのトンネル通信部11は、第2の情報処理装置2bのIPアドレス「131.206.10.240」をサーバ4eから受け付けると、そのIPアドレスを保持しておく。
【0241】
判断部16は、トンネル通信部11がトンネル通信のトンネルのプロトコルの通信における発呼側であるため、第1の情報処理装置1hが発呼側であると判断する(ステップS702)。そして、その判断結果をアドレス決定部14hに渡す。
【0242】
また、サーバ4eは、第1の情報処理装置1hと、第2の情報処理装置2bとの間でトンネル通信を開始すると判断する。そして、トンネル通信識別子生成部41は、第1の情報処理装置1hと、第2の情報処理装置2bとの間で行うトンネル通信を識別するトンネル通信識別子「111222333」を生成する。トンネル通信識別子送信部42は、そのトンネル通信識別子を第1の情報処理装置1hに送信する。第1の情報処理装置1hのアドレスは、第1の情報処理装置1hから送信された通信先装置識別子を含むパケットのヘッダから取得されたものである。送信されたトンネル通信識別子「111222333」は、第1の情報処理装置1hのトンネル通信識別子受付部17で受け付けられる(ステップS703)。第1の情報処理装置1hのトンネル通信識別子受付部17で受け付けられたトンネル通信識別子は、アドレス決定部14hに渡される。
【0243】
アドレス決定部14hは、判断部16から判断結果を受け取り、トンネル通信識別子受付部17からトンネル通信識別子を受け取ると、その判断結果とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるIPアドレスを決定する。具体的には、アドレス決定部14hは、例えば、下記の2つの方法のいずれかによってアドレスを決定する(ステップS704)。
【0244】
[テーブルを用いるアドレス決定方法]
アドレス決定部14hが決定するアドレスは、図28Aで示される構造を有する。すなわち、先頭の8ビットは「169」であり、次の8ビットは「254」である。また、次の16ビットのうち、先頭の14ビットはネットワークアドレスであり、トンネル通信識別子を「16384」で割った余りを用いる。また、最後の2ビットはホストアドレスであり、図28Bのテーブルを用いて決定する。図28Bのテーブルは、発呼側・着呼側を示す情報と、IPアドレスとの対応を示すものである。判断部16によって第1の情報処理装置1hが発呼側であると判断されたため、アドレス決定部14hは、図28Bのテーブルを用いて、第1の情報処理装置1hのホストアドレスを「1」に決定する。また、第2の情報処理装置2bは着呼側であるため、アドレス決定部14hは、第2の情報処理装置2bのホストアドレスを「2」に決定する。なお、図28Bでは、発呼側・着呼側を示す情報と、IPアドレスとがテーブル形式で対応付けられている場合について示しているが、テーブル形式以外によって発呼側・着呼側を示す情報と、IPアドレスとが対応付けられていてもよい。また、トンネル通信識別子「111222333」を「16384」で割った余り「7741」が第1の情報処理装置1h、および第2の情報処理装置2bに共通のネットワークアドレスとなる。したがって、アドレス決定部14hは、第1の情報処理装置1hのIPアドレスを「169.254.120.245」と決定する(「7741」のバイナリ表示「01111000111101」と、「1」のバイナリ表示「01」とを8ビットずつに分けた「01111000」と、「11110101」との10進数表示がそれぞれ「120」と、「245」とになる)。同様にして、アドレス決定部14hは、第2の情報処理装置2bのIPアドレスを「169.254.120.246」と決定する。そして、アドレス決定部14hは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。なお、このようにしてアドレスが決定された場合には、各情報処理装置において、「255.255.255.252」をサブネットマスクとして用いる。このテーブルを用いてアドレスを決定する方法のように、アドレス決定部14hは、通信先装置識別子と、通信元装置識別子とに基づいてアドレスの一部を決定し、トンネル通信識別子に基づいてアドレスの他の部分を決定してもよい。
【0245】
なお、アドレス決定部14hは、ホストアドレスをあらかじめ決められている複数のアドレスから選択することによって決定してもよい。例えば、アドレス決定部14hが図28Cで示されるテーブルを有しており、情報処理装置が発呼側であれば、そのホストアドレスを「1」、「3」、「5」の中から選択し、情報処理装置が着呼側であれば、そのホストアドレスを「2」、「4」、「6」の中から選択するようにしてもよい。
【0246】
[関数を用いるアドレス決定方法]
アドレス決定部14hは、アドレスを決定する関数「Func(引数1、引数2)」を有している。そして、発呼側のアドレスを演算する場合には、引数1に「0」を代入し、着呼側のアドレスを演算する場合には、引数1に「1」を代入する。また、引数2には、トンネル通信識別子を代入する。この具体例において、アドレス決定部14hが引数1に「0」を代入し、引数2に「111222333」を代入し、関数の値が「192.168.0.1」となったとする。このIPアドレスが第1の情報処理装置1hのアドレスとなる。一方、アドレス決定部14hが引数1に「1」を代入し、引数2に「111222333」を代入し、関数の値が「192.168.0.2」となったとする。このIPアドレスが第2の情報処理装置2bのアドレスとなる。そして、アドレス決定部14hは、それらのアドレスをトンネル通信部11と、アドレス送信部15に渡す。
【0247】
なお、2通りのアドレス決定方法について説明したが、アドレス決定部14hは、判断部16による判断結果と、トンネル通信識別子とに基づいてアドレスを決定すればよく、これ以外のアドレス決定方法によってアドレスを決定してもよい。
【0248】
アドレス送信部15は、実施の形態1の具体例と同様に、決定された第1の情報処理装置1hのIPアドレスと、第2の情報処理装置2bのIPアドレスとを第2の情報処理装置2bに送信する(ステップS705)。その結果、それらのIPアドレスが第2の情報処理装置2bにおけるアドレス受付部21で受け付けられ、トンネル通信部22に渡される。また、トンネル通信部11は、実施の形態1の具体例と同様に、決定されたアドレスを用いてトンネル通信を行い、トンネル通信部22は、アドレス受付部21で受け付けられたアドレスを用いてトンネル通信を行う。
【0249】
以上のように、本実施の形態による通信システムでは、判断部16による判断結果と、トンネル通信を識別するトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを決定することができ、発見的アルゴリズムよりも簡易なアルゴリズムである決定的アルゴリズムによってアドレスを決定することができる。その結果、実施の形態1と同様のメリットを得ることができる。
【0250】
なお、本実施の形態では、第1の情報処理装置1hがアドレス送信部15を備えた構成について説明したが、第1の情報処理装置1hは、アドレス送信部15に代えて、アドレス決定部14hが決定したアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、電子メールやFAX等によって第2の情報処理装置2bのユーザに通知することによって、第2の情報処理装置2bにおいて設定されてもよい。
【0251】
また、本実施の形態では、サーバ4eで生成されたトンネル通信識別子が第1の情報処理装置1hにのみ送信される場合について説明したが、そのトンネル通信識別子は、第1の情報処理装置1hと共に、第2の情報処理装置2bにも送信されてもよい。
【0252】
(実施の形態11)
本発明の実施の形態11による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを決定するものである。
【0253】
図29は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置1iと、第2の情報処理装置2iと、サーバ4eとを備える。サーバ4eは、実施の形態7と同様のものであり、その説明を省略する。ただし、本実施の形態では、第1の情報処理装置1i、および第2の情報処理装置2iにおいてアドレスの決定を行うため、サーバ4eは、生成したトンネル通信識別子を第1の情報処理装置1i、および第2の情報処理装置2iのそれぞれに送信するものとする。
【0254】
第1の情報処理装置1iは、トンネル通信部11と、アドレス決定部14hと、判断部16と、トンネル通信識別子受付部17とを備える。なお、トンネル通信部11、アドレス決定部14h、判断部16、トンネル通信識別子受付部17は、実施の形態10と同様のものであり、その説明を省略する。
【0255】
第2の情報処理装置2iは、トンネル通信部22と、アドレス決定部26iと、判断部27と、トンネル通信識別子受付部28とを備える。なお、トンネル通信部22は、実施の形態4と同様のものであり、トンネル通信識別子受付部28は、実施の形態8と同様のものであり、アドレス決定部26iは、実施の形態10のアドレス決定部14hと同様のものであり、それらの説明を省略する。
【0256】
また、第1の情報処理装置1iにおけるアドレスを決定する動作は、ステップS705におけるアドレスの送信処理を行わない以外、実施の形態10における図27で示されるものと同様であり、その説明を省略する。また、本実施の形態における第2の情報処理装置2iにおけるアドレスを決定する動作も、トンネル通信部11、アドレス決定部14h、判断部16、トンネル通信識別子受付部17が、それぞれトンネル通信部22、アドレス決定部26i、判断部27、トンネル通信識別子受付部28に対応し、ステップS705におけるアドレスの送信処理を行わない以外、実施の形態10における図27で示されるものと同様であり、その説明を省略する。
【0257】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。なお、第1の情報処理装置1iにおいてIPアドレスが決定される動作は、実施の形態10の具体例と同様であり、その説明を省略する。また、サーバ4eからは、第1の情報処理装置1iと共に、第2の情報処理装置2iにもトンネル通信識別子が送信されるものとする。
【0258】
サーバ4eは、第1の情報処理装置1iからの要求に応じて、第2の情報処理装置2iのIPアドレスを第1の情報処理装置1iに送信すると共に、第1の情報処理装置1iが第2の情報処理装置2iとのトンネル通信を要求している旨を示す情報とを第2の情報処理装置2iに送信する。また、サーバ4eは、トンネル通信識別子を生成し、そのトンネル通信識別子を第1の情報処理装置1iと、第2の情報処理装置2iとに送信する。
【0259】
第2の情報処理装置2iのトンネル通信部22が、そのサーバ4eから送信された情報を受信すると、トンネル通信を開始すると判断し(ステップS701)、判断部27は、第2の情報処理装置2iが着呼側であると判断する(ステップS702)。また、トンネル通信識別子受付部28は、サーバ4eから送信されたトンネル通信識別子を、トンネル通信部22を介して受け付ける(ステップS703)。なお、アドレス決定部26iが、判断部27による判断結果と、トンネル通信識別子とに基づいて第1の情報処理装置1iと、第2の情報処理装置2iのIPアドレスを決定する処理は、実施の形態10と同様であり、その説明を省略する。また、このアドレス決定の後にトンネル通信が行われる動作については、アドレスの送信が行われないこと以外、実施の形態10の具体例と同様であり、その説明を省略する。
【0260】
以上のように、本実施の形態による通信システムでは、情報処理装置が発呼側であるのか、着呼側であるのかの判断結果とトンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いるアドレスを、各情報処理装置において決定することもできる。各情報処理装置でそのアドレスの決定を行うことで、アドレスの送信を行う必要がなくなり、実施の形態2と同様の効果を得ることができる。
【0261】
なお、本実施の形態では、各情報処理装置において通信元と通信先のアドレスを決定する場合について説明したが、例えば、第1の情報処理装置1iにおいて第1の情報処理装置1iのアドレスのみを決定し、第2の情報処理装置2iにおいて第2の情報処理装置2iのアドレスのみを決定する場合には、それらを直接的、または間接的に相手方の情報処理装置に渡すようにしてもよい。
【0262】
(実施の形態12)
本発明の実施の形態12による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、トンネル通信における通信対象のデータに対して用いられるアドレスを、サーバにおいて決定するものである。
【0263】
図30は、本実施の形態による通信システムの構成を示す図である。図30において、本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置5と、第2の情報処理装置6と、サーバ7jとを備える。なお、第1の情報処理装置5、第2の情報処理装置6は、実施の形態3と同様のものであり、その説明を省略する。
【0264】
サーバ7jは、実施の形態1におけるサーバ4と同様に、第1の情報処理装置5と第2の情報処理装置6との間で行われるトンネル通信を確立させるための処理を行うと共に、そのトンネル通信で用いられるアドレスを決定するものであり、通信制御部71と、アドレス決定部73jと、アドレス送信部74と、判断部75と、トンネル通信識別子生成部41と、トンネル通信識別子受付部76とを備える。なお、通信制御部71、アドレス送信部74は、実施の形態3と同様のものであり、判断部75は、実施の形態6と同様のものであり、トンネル通信識別子生成部41、トンネル通信識別子受付部76は、実施の形態9と同様のものであり、その説明を省略する。
【0265】
アドレス決定部73jは、判断部75による判断結果と、トンネル通信識別子受付部76が受け付けたトンネル通信識別子とに基づいて、第1の情報処理装置5と、第2の情報処理装置6との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる第1の情報処理装置5の第1のアドレス、および第2の情報処理装置6の第2のアドレスを決定する。アドレスの決定方法については、実施の形態10におけるアドレス決定部14hと同様であり、その説明を省略する。
【0266】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作について説明する。図31は、サーバ7jにおけるアドレスを決定する動作を示すフローチャートである。
【0267】
(ステップS801)通信制御部71は、第1の情報処理装置5と、第2の情報処理装置6との間でトンネル通信が開始されるかどうか判断する。そして、トンネル通信が開始される場合には、ステップS802に進み、そうでない場合には、トンネル通信が開始されるまで、ステップS801の処理を繰り返す。
【0268】
(ステップS802)判断部75は、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、発呼側であるのか、着呼側であるのかを判断する。
【0269】
(ステップS803)トンネル通信識別子生成部41は、トンネル通信識別子を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部76に渡す。
【0270】
(ステップS804)トンネル通信識別子受付部76は、トンネル通信識別子生成部41から渡されたトンネル通信識別子を受け付ける。
【0271】
(ステップS805)アドレス決定部73jは、トンネル通信識別子受付部76が受け付けたトンネル通信識別子、および判断部75による判断結果に基づいて、アドレスを決定する。このアドレスの決定方法は、実施の形態10の具体例での説明と同様であり、その説明を省略する。
【0272】
(ステップS806)アドレス送信部74は、アドレス決定部73jが決定した第1の情報処理装置5のアドレス、および第2の情報処理装置6のアドレスを、第1の情報処理装置5と、第2の情報処理装置6とに送信する。そして、ステップS801に戻る。
【0273】
なお、図31のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0274】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態3の具体例と同様であるとする。また、第1の情報処理装置5、第2の情報処理装置6がそれぞれ、IPアドレスと、装置識別情報とをサーバ7jに登録する処理は、実施の形態3と同様であり、その説明を省略する。
【0275】
次に、第1の情報処理装置5のトンネル通信部52は、第2の情報処理装置6を識別する第2の装置識別子と、第2の情報処理装置6とトンネル通信を行いたい旨とをサーバ7jに送信する。すると、それらは通信制御部71において受信される。通信制御部71は、トンネル通信を開始すると判断し(ステップS801)、第1の情報処理装置5から送信されたパケットのヘッダから第1の情報処理装置5のIPアドレスを取得し、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5の装置識別子「12345678」を取得する。また、通信制御部71は、図11で示されるアドレス識別子対応情報を参照し、第1の情報処理装置5から送信された装置識別子「98765432」に対応するIPアドレス「131.206.10.240」を取得する。そして、通信制御部71は、第2の情報処理装置6のIPアドレスを第1の情報処理装置5に送信する。
【0276】
判断部75は、通信制御部71が、第1の情報処理装置5から送信された第2の情報処理装置6とトンネル通信を行いたい旨の情報を受信したため、第1の情報処理装置5が発呼側であり、第2の情報処理装置6が着呼側であると判断する(ステップS802)。そして、判断部75は、装置識別子「12345678」で識別される情報処理装置が発呼側であり、装置識別子「98765432」で識別される情報処理装置が着呼側である旨をアドレス決定部73jに渡す。
【0277】
トンネル通信識別子生成部41は、通信制御部71がトンネル通信を開始する旨の情報を受信したことに対応して、新たなトンネル通信識別子「111222333」を生成し、その生成したトンネル通信識別子をトンネル通信識別子受付部76に渡す(ステップS803)。すると、そのトンネル通信識別子はトンネル通信識別子受付部76で受け付けられる(ステップS804)。
【0278】
その後、アドレス決定部73jは、トンネル通信識別子受付部76が受け付けたトンネル通信識別子と、判断部75から受け取った判断結果とに基づいて、第1の情報処理装置5、および第2の情報処理装置6で用いるIPアドレスを決定し、その決定したアドレスを、装置識別子に対応付けてアドレス送信部74に渡す(ステップS805)。このアドレスの決定方法は実施の形態10の具体例と同様であり、その説明を省略する。
【0279】
アドレス送信部74は、アドレス決定部73jが決定した第1の情報処理装置5のIPアドレスと、その第1の情報処理装置5の装置識別子との組、および第2の情報処理装置6のIPアドレスと、その第2の情報処理装置6の装置識別子との組を受け取ると、通信制御部71で保持されているアドレス識別子対応情報を参照し、それぞれの装置識別子に対応した情報処理装置のIPアドレスを取得する。そして、アドレス送信部74は、装置識別子とIPアドレスとの2つの組を第1の情報処理装置5と、第2の情報処理装置6とに送信する(ステップS806)。この後の処理は、実施の形態3の具体例と同様であり、その説明を省略する。
【0280】
以上のように、本実施の形態による通信システムでは、サーバ7jが、情報処理装置が発呼側であるのか、着呼側であるのかに関する判断結果と、トンネル通信識別子とに基づいて、第1の情報処理装置5、および第2の情報処理装置6の間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを決定することができ、簡易な決定的アルゴリズムを用いて容易にアドレスの決定を行うことができる。
【0281】
なお、本実施の形態では、アドレス送信部74がアドレス決定部73jによって決定されたアドレスを送信する場合について説明したが、アドレス送信部74に代えて、アドレス決定部73jによって決定されたアドレスを出力するアドレス出力部を備えてもよい。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよく、所定の記録媒体への記録でもよく、スピーカによる音声による出力でもよい。なお、アドレス出力部は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、アドレス出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。その出力されたアドレスは、例えば、所定の記録媒体に記録されることにより、あるいは、サーバ7jの管理者がそのアドレスを電子メールやFAX等によって第1の情報処理装置5のユーザや第2の情報処理装置6のユーザに通知することによって、第1の情報処理装置5や、第2の情報処理装置6において設定されてもよい。
【0282】
また、本実施の形態では、サーバ7jのアドレス送信部74が、第2の情報処理装置6にアドレス決定部73jが決定した2つのアドレスを送信する場合について説明したが、アドレス送信部74は、第2の情報処理装置6に第2の情報処理装置6のアドレスのみを送信してもよい。この場合には、第2の情報処理装置2jは、第1の情報処理装置5から送信されたカプセル化された通信対象のデータのヘッダから第1の情報処理装置5のアドレスを取得することができる。
【0283】
また、本実施の形態では、サーバ7jから第1の情報処理装置5のアドレスと、第2の情報処理装置6のアドレスとの両方を送信する場合について説明したが、サーバ7jは、まず第1の情報処理装置5に対しては、第1の情報処理装置5のアドレスを送信し、第2の情報処理装置6に対しては、第2の情報処理装置6のアドレスを送信し、その後に、情報処理装置からトンネル通信の相手方のアドレスに関する問い合わせがあった場合に、サーバ7jがその相手方のアドレスを送信するようにしてもよい。
【0284】
また、実施の形態9,12では、トンネル通信識別子受付部76がトンネル通信識別子生成部41によって生成されたトンネル通信識別子を受け付ける場合について説明したが、前述のように、トンネル通信識別子受付部76は、例えば、入力デバイスによって入力されたトンネル通信識別子や、記録媒体から読み出されたトンネル通信識別子等を受け付けてもよい。
【0285】
(実施の形態13)
本発明の実施の形態13による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられる2以上のアドレスが一致したことを検出すると、そのアドレスを変更するものである。
【0286】
図32は、本実施の形態による通信システムの構成を示す図である。本実施の形態による通信システムは、通信回線3で互いに接続されている第1の情報処理装置1kと、第2の情報処理装置2bと、第3の情報処理装置3kと、サーバ4とを備える。なお、第2の情報処理装置2bは、実施の形態4と同様のものであり、サーバ4は、実施の形態1と同様のものであり、それらの説明を省略する。
【0287】
本実施の形態による第1の情報処理装置1kは、2以上の情報処理装置とトンネル通信を行うものであるとする。すなわち、第1の情報処理装置1kは、第2の情報処理装置2b、および第3の情報処理装置3kとトンネル通信を行うものとする。そのような場合に、例えば、第1の情報処理装置1kが第2の情報処理装置2bとのトンネル通信における通信対象のデータに対して用いるアドレスが「192.168.0.1」であり、また、第1の情報処理装置1kが第3の情報処理装置3kとのトンネル通信における通信対象のデータに対して用いるアドレスが「192.168.0.1」であるとすると、第1の情報処理装置1kが第2の情報処理装置2b、および第3の情報処理装置3kとのトンネル通信において用いるアドレスが一致してしまう。トンネル通信とは、仮想的なネットワークのインターフェースを用いて通信を行うようなものであり、トンネル通信において用いるアドレスが一致してしまうと、その仮想的なネットワークのインターフェースに割り当てられたアドレスが一致することになってしまう(例えば、同一のアドレスを持つ2つのNICを用いて通信を行うような状況となる)。その結果、第1の情報処理装置1kは、通信を行うことができなくなる。このような状況が発生した場合に、本実施の形態による第1の情報処理装置1kでは、少なくとも一方のアドレスを変更する処理を行うことによって、第1の情報処理装置1kが2以上のトンネル通信を同時に行うことができるようにする。
【0288】
図33は、本実施の形態による第1の情報処理装置1kの構成を示すブロック図である。本実施の形態による第1の情報処理装置1kは、トンネル通信部11と、アドレス決定部14bと、アドレス送信部15と、判断部16と、検出部18と、アドレス変更部19とを備える。なお、トンネル通信部11、アドレス決定部14b、アドレス送信部15、判断部16は、トンネル通信部11が2以上の通信先の装置とトンネル通信を行うものであり、アドレス送信部15が変更後のアドレスをも送信するものである以外、実施の形態4と同様であり、その説明を省略する。
【0289】
検出部18は、2以上のトンネル通信において通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する。例えば、トンネル通信部11が第2の情報処理装置2bとのトンネル通信における通信対象のデータに用いる第1の情報処理装置1kのアドレスと、第3の情報処理装置3kとのトンネル通信における通信対象のデータに用いる第1の情報処理装置1kのアドレスとが一致していることを検出する。
【0290】
アドレス変更部19は、検出部18が2以上のアドレスが一致していることを検出した場合に、通信対象のデータに対して用いるアドレスを変更する。なお、このアドレスの変更では、例えば、トンネル通信の通信対象のデータに対して用いるアドレスのうち、第1の情報処理装置1kのアドレスのみを変更してもよく、あるいは、第1の情報処理装置1kのアドレスと、第1の情報処理装置1kの通信相手の情報処理装置のアドレスとを変更してもよい。また、アドレス変更部19は、検出部18によって一致していることが検出された2以上のアドレスの一部のアドレスを変更することによって、その2以上のアドレスが一致しないようにしてもよく(例えば、2個のアドレスが一致する場合に、一方のアドレスのみを変更してもよい)、あるいは、全部のアドレスを変更してもよい(例えば、2個のアドレスが一致する場合に、両方のアドレスを変更し、一致しないようにしてもよい)。アドレス変更の具体的な方法については後述する。
【0291】
図34は、本実施の形態による第3の情報処理装置3kの構成を示すブロック図である。本実施の形態による第3の情報処理装置3kは、アドレス受付部31と、トンネル通信部32とを備える。アドレス受付部31、トンネル通信部32は、それぞれ実施の形態4による第2の情報処理装置2bのアドレス受付部21、トンネル通信部22と同様のものであり、その説明を省略する。
【0292】
次に、本実施の形態による通信システムの動作、特にアドレスを決定する動作、アドレスを変更する動作について説明する。図35は、第1の情報処理装置1kにおけるアドレスを決定する動作を示すフローチャートである。なお、図35のフローチャートにおいて、ステップS301〜S304の処理は、実施の形態4における図14のフローチャートと同様であり、その説明を省略する。
【0293】
(ステップS901)検出部18は、トンネル通信部11が行う2以上のトンネル通信において、通信対象のデータに対して用いられる2以上のアドレスが一致しているかどうか判断する。そして、一致していることを検出した場合には、ステップS902に進み、そうでない場合には、ステップS301に戻る。
【0294】
(ステップS902)アドレス変更部19は、通信対象のデータに対して用いるアドレスを変更する。
【0295】
(ステップS903)アドレス送信部15は、アドレス変更部19によって変更されたアドレスを送信する。このアドレスの送信先は、アドレス変更部19によって変更されたアドレスに関する通信を行う情報処理装置である。例えば、第2の情報処理装置2bとのトンネル通信における通信対象のデータに対して用いるアドレスが変更された場合には、変更後のアドレスを第2の情報処理装置2bに送信し、第3の情報処理装置3kとのトンネル通信における通信対象のデータに対して用いるアドレスが変更された場合には、変更後のアドレスを第3の情報処理装置3kに送信する。そして、ステップS301に戻る。
【0296】
なお、図35のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図35のフローチャートでは、アドレスの決定に関する処理(ステップS301〜S304)と、アドレスの変更に関する処理(ステップS901〜S903)とを別個に行う場合について示しているが、アドレスの決定の処理の直後に、アドレスが一致するかどうかの判断を行い、アドレスが一致しない場合には、アドレスの送信処理を行い、アドレスが一致する場合には、アドレスの変更処理を行った後に、変更後のアドレスを送信する処理を行うようにしてもよい。
【0297】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態3の具体例と同様であるとする。また、第1の情報処理装置1k、第2の情報処理装置2b、第3の情報処理装置3kがそれぞれ、IPアドレスと、装置識別情報とをサーバ4に登録する処理は、実施の形態3と同様であり、その説明を省略する。また、第1の情報処理装置1kと、第2の情報処理装置2bとの間でのトンネル通信を開始する処理は、実施の形態4と同様であり、その説明を省略する。また、第1の情報処理装置1kと、第3の情報処理装置3kとの間でのトンネル通信を開始する処理も、実施の形態4と同様であり、その説明を省略する。ここで、第1の情報処理装置1kと、第3の情報処理装置3kとの間でのトンネル通信を開始する処理が実行され、そのトンネル通信において、通信対象のデータに用いる第1の情報処理装置1kのIPアドレス「192.168.0.1」が、第2の情報処理装置2bとの間でのトンネル通信において、通信対象のデータに用いる第1の情報処理装置1kのIPアドレス「192.168.0.1」と一致したとする。
【0298】
すると、検出部18は、両者のアドレスが一致すると判断し(ステップS901)、アドレス変更部19は、第1の情報処理装置1kと、第3の情報処理装置3kとの間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスを変更する。具体的には、アドレス変更部19は、例えば、下記の3つの方法のいずれかによってアドレスを変更する(ステップS902)。ここで、第1の情報処理装置1kと、第3の情報処理装置3kとの間で行われるトンネル通信における通信対象のデータに対して用いられる第3の情報処理装置3kのアドレスは、「192.168.0.2」であるとする。また、そのアドレスにおいて、最後の8ビットがホストアドレスであるとする(すなわち、サブネットマスクが「255.255.255.0」であるとする)。
【0299】
[ホストアドレスを変更する方法]
アドレス変更部19は、第1の情報処理装置1kのIPアドレス「192.168.0.1」のホストアドレスに1を足して、第1の情報処理装置1kのIPアドレスを「192.168.0.2」とする。また、アドレス変更部19は、第3の情報処理装置3kのIPアドレス「192.168.0.2」のホストアドレスにも1を足し、第3の情報処理装置3kのIPアドレスを「192.168.0.3」とする。
【0300】
[ネットワークアドレスを変更する方法]
アドレス変更部19は、第1の情報処理装置1kのIPアドレス「192.168.0.1」のネットワークアドレスに1を足して、第1の情報処理装置1kのIPアドレスを「192.168.1.1」とする。また、アドレス変更部19は、第3の情報処理装置3kのIPアドレス「192.168.0.2」のネットワークアドレスにも1を足し、第3の情報処理装置3kのIPアドレスを「192.168.1.2」とする。
【0301】
[ホストアドレスとネットワークアドレスを変更する方法]
アドレス変更部19は、第1の情報処理装置1kのIPアドレス「192.168.0.1」のネットワークアドレスに1を足し、またホストアドレスにも1を足して、第1の情報処理装置1kのIPアドレスを「192.168.1.2」とする。また、アドレス変更部19は、第3の情報処理装置3kのIPアドレス「192.168.0.2」のネットワークアドレスにも1を足し、またホストアドレスにも1を足して、第3の情報処理装置3kのIPアドレスを「192.168.1.3」とする。
【0302】
なお、3通りのアドレス決定方法について説明したが、アドレス変更部19は、アドレスの一致が解消するようにアドレスを変更すればよく、これ以外のアドレス変更方法によってアドレスを変更してもよい。例えば、この具体例において、第1の情報処理装置1kのIPアドレスと、第3の情報処理装置3kのIPアドレスとが一致しないようにできるのであれば、第1の情報処理装置1kのIPアドレスのみを変更してもよい。
【0303】
また、変更後のアドレスが、他の情報処理装置とのトンネル通信において通信対象のデータに対して用いているアドレスと異なるようにすることができるのであれば、アドレス決定を再度行うことによって、アドレスを変更してもよい。この場合に、トンネル通信における一方の情報処理装置のアドレスのみを変更するのであれば、トンネル通信における他方の情報処理装置のアドレスと重ならないようにする必要がある。
【0304】
アドレス送信部15は、実施の形態1の具体例と同様に、変更された第1の情報処理装置1kのIPアドレスと、第3の情報処理装置3kのIPアドレスとを第3の情報処理装置3kに送信する(ステップS903)。その結果、それらのIPアドレスが第3の情報処理装置3kにおけるアドレス受付部31で受け付けられ、トンネル通信部32に渡される。また、トンネル通信部11は、変更されたアドレスを用いてトンネル通信を行い、トンネル通信部32は、アドレス受付部31で受け付けられた変更後のアドレスを用いてトンネル通信を行う。
【0305】
以上のように、本実施の形態による通信システムでは、トンネル通信における通信対象のデータに対して用いるアドレスが一致した場合であっても、アドレスを変更することができる。その結果、2以上のトンネル通信を行うことができなくなるような事態を回避することができ、2以上のトンネル通信を適切に行うことができるようにすることができる。
【0306】
なお、本実施の形態では、実施の形態4による通信システムにおいて、第1の情報処理装置が検出部18と、アドレス変更部19とを備える場合について説明したが、実施の形態4以外の通信システムにおいても、情報処理装置が検出部と、アドレス変更部とを備えてもよい。例えば、実施の形態7,10による通信システムにおいて、第1の情報処理装置が検出部やアドレス変更部を備えることによって、第1の情報処理装置が2以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、2以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
【0307】
(実施の形態14)
本発明の実施の形態14による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、アドレスの変更を行うものである。
【0308】
本実施の形態による通信システムは、図32と同様であるとする。ただし、第1の情報処理装置1kが第1の情報処理装置1mに対応し、第2の情報処理装置2bが第2の情報処理装置2mに対応するものとする。
【0309】
図36は、本実施の形態による第1の情報処理装置1mの構成を示すブロック図である。本実施の形態による第1の情報処理装置1mは、トンネル通信部11と、アドレス決定部14bと、判断部16と、検出部18と、アドレス変更部19と、アドレス変更情報送信部20とを備える。なお、トンネル通信部11、アドレス決定部14b、判断部16は、実施の形態4と同様のものであり、検出部18、アドレス変更部19は、実施の形態13と同様のものであり、それらの説明を省略する。
【0310】
アドレス変更情報送信部20は、検出部18が2以上のアドレスが一致していることを検出した場合に、アドレス変更情報を送信する。ここで、アドレス変更情報とは、トンネル通信における通信対象のデータに対して用いるアドレスの変更に関する情報である。アドレス変更情報は、例えば、アドレスの変更を指示するのみの情報であってもよく、あるいは、アドレスをどのように変更するのかに関する指示を含む情報であってもよい。アドレス変更情報は、通信対象のデータに対して用いるアドレスを変更するトンネル通信を行っている通信相手の情報処理装置に送信される。なお、アドレス変更情報送信部20は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス変更情報送信部20と通信回線3との間に図示しない送信デバイスが存在することとなる)。また、アドレス変更情報送信部20は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0311】
図37は、本実施の形態による第2の情報処理装置2mの構成を示すブロック図である。本実施の形態による第2の情報処理装置2mは、トンネル通信部22と、アドレス決定部26cと、判断部27と、アドレス変更情報受信部29と、アドレス変更部30とを備える。なお、トンネル通信部22、アドレス決定部26c、判断部27は、実施の形態5と同様であり、その説明を省略する。
【0312】
アドレス変更情報受信部29は、アドレス変更情報を受信する。なお、アドレス変更情報受信部29は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス変更情報受信部29と通信回線3との間に図示しない受信デバイスが存在することとなる)。また、アドレス変更情報受信部29は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0313】
アドレス変更部30は、アドレス変更情報受信部29がアドレス変更情報を受信した場合に、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。このアドレス変更部30がアドレスを変更する処理は、実施の形態13のアドレス変更部19による処理と同様であり、その説明を省略する。
【0314】
次に、本実施の形態による通信システムの動作、特にアドレスを決定し、アドレスを変更する動作について説明する。図38は、第1の情報処理装置1mによるアドレスを決定し、アドレスを変更する動作を示すフローチャートである。なお、図38において、ステップS1001以外の処理は、実施の形態13の図35のフローチャートと同様であり、その説明を省略する。
【0315】
(ステップS1001)アドレス変更情報送信部20は、アドレス変更情報を送信する。このアドレス変更情報の送信先は、通信対象のデータに対して用いるアドレスを変更するトンネル通信を行っている通信相手の情報処理装置である。
【0316】
なお、図38のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0317】
図39は、第2の情報処理装置2mによるアドレスを決定し、アドレスを変更する動作を示すフローチャートである。なお、図39において、ステップS1101、S1102以外の処理は、トンネル通信部11がトンネル通信部22となり、アドレス決定部14bがアドレス決定部26cとなり、判断部16が判断部27となる以外、実施の形態13の図35のフローチャートと同様であり、その説明を省略する。
【0318】
(ステップS1101)アドレス変更情報受信部29は、アドレス変更情報を受信したかどうか判断する。そして、アドレス変更情報を受け付けた場合には、ステップS1102に進み、そうでない場合には、ステップS301に戻る。
【0319】
(ステップS1102)アドレス変更部30は、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。その後、トンネル通信部22は、その変更後のアドレスを用いて、トンネル通信を行うことになる。そして、ステップS301に戻る。
【0320】
なお、図39のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0321】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態13の具体例と同様であるとする。まず、第1の情報処理装置1mと、第3の情報処理装置3kとがトンネル通信を開始し、その後に、第1の情報処理装置1mと、第2の情報処理装置2mとがトンネル通信を開始する処理については、実施の形態5と同様であり、その説明を省略する。
【0322】
第1の情報処理装置1mと、第2の情報処理装置2mとがトンネル通信を開始した後に、第1の情報処理装置1mが第3の情報処理装置3kとのトンネル通信における通信対象のデータに対して用いている第1の情報処理装置1mのIPアドレスと、第2の情報処理装置2mとのトンネル通信における通信対象のデータに対して用いている第1の情報処理装置1mのIPアドレスとが共に「192.168.0.1」であり、一致すると検出部18によって検出されたとする(ステップS901)。すると、アドレス変更情報送信部20は、第2の情報処理装置2mにアドレス変更情報を送信する(ステップS1001)。また、第1の情報処理装置1mのアドレス変更部19は、実施の形態13と同様にして、第2の情報処理装置2mとのトンネル通信における通信対象のデータに対して用いるIPアドレスを変更する(ステップS902)。
【0323】
第2の情報処理装置2mのアドレス変更情報受信部29は、第1の情報処理装置1mから送信されたアドレス変更情報を、トンネル通信部22を介して受け付ける(ステップS1101)。そして、アドレス変更部30は、第2の情報処理装置2mが第1の情報処理装置1mとのトンネル通信における通信対象のデータに対して用いるIPアドレスを変更する(ステップS1102)。このアドレス変更部30におけるアドレスの変更は、第1の情報処理装置1mにおけるアドレス変更部19と同様になされるものとする。したがって、第1の情報処理装置1mと、第2の情報処理装置2mとにおいて、別々にアドレスの変更がなされたとしても、その変更後のアドレスは、第1の情報処理装置1mと、第2の情報処理装置2mとにおいて同じものであるとする。
【0324】
なお、アドレスをどのように変更するのかを示す情報が、アドレス変更情報に含まれるようにしてもよい。例えば、第1の情報処理装置1mにおいて、第1の情報処理装置1mと、第2の情報処理装置2mのホストアドレスに1を足すアドレス変更を行う場合には、そのアドレス変更を示す情報を含むアドレス変更情報をアドレス変更情報送信部20が第2の情報処理装置2mに送信することによって、第2の情報処理装置2mでは、そのアドレス変更情報に基づいて、第1の情報処理装置1mと、第2の情報処理装置2mのホストアドレスに1を足すアドレス変更を行うことができる。その結果、第1の情報処理装置1mと、第2の情報処理装置2mとにおいて、別個にアドレスの変更を行ったとしても、その変更後のアドレスが同一のものとなる。
【0325】
以上のように、本実施の形態による通信システムでは、第1の情報処理装置1mにおいて、2以上のアドレスが一致することが検知された場合に、そのアドレスを変更すると共に、アドレス変更情報を通信相手の第2の情報処理装置2mに送信することによって、第2の情報処理装置2mにおいて、第1の情報処理装置1mにおいて行われたのと同様のアドレスの変更を行うことができる。その結果、第1の情報処理装置1mと、第2の情報処理装置2mとは、その変更後のアドレスを用いてトンネル通信を行うことができ、また、第1の情報処理装置1mにおいて発生したアドレスの一致をも解消することができる。
【0326】
なお、本実施の形態では、実施の形態5による通信システムにおいて、第1の情報処理装置が検出部18等を備え、第2の情報処理装置がアドレス変更情報受信部29等を備える場合について説明したが、実施の形態5以外の通信システムにおいても、第1の情報処理装置等が検出部18等を備えてもよい。例えば、実施の形態8,11による通信システムにおいて、第1の情報処理装置や第2の情報処理装置が検出部やアドレス変更部を備えることによって、第1の情報処理装置が2以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、2以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
【0327】
(実施の形態15)
本発明の実施の形態15による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、トンネル通信における通信対象のデータに対して用いられる2以上のアドレスが一致したことを検出すると、そのアドレスをサーバにおいて変更するものである。
【0328】
本実施の形態による通信システムは、図32と同様であるとする。ただし、第1の情報処理装置1kが第1の情報処理装置1nに対応し、第2の情報処理装置2bが第2の情報処理装置2nに対応し、サーバ4がサーバ7nに対応するものとする。なお、第3の情報処理装置3kは、実施の形態13と同様であるとする。
【0329】
図40は、本実施の形態による第1の情報処理装置1nの構成を示すブロック図である。本実施の形態による第1の情報処理装置1nは、アドレス受付部51と、トンネル通信部52と、検出部53と、アドレス一致情報送信部54と、アドレス変更情報受信部55と、アドレス変更部56とを備える。なお、アドレス受付部51、トンネル通信部52は、トンネル通信部52が2以上の通信先の装置とトンネル通信を行うものである以外、実施の形態3と同様であり、検出部53は、実施の形態13の検出部18と同様のものであり、それらの説明を省略する。
【0330】
アドレス一致情報送信部54は、検出部53が2以上のアドレスが一致していることを検出した場合に、アドレス一致情報をサーバ7nに送信する。ここで、アドレス一致情報とは、トンネル通信における通信対象のデータに対して用いられるアドレスが一致している旨を示す情報である。このアドレス一致情報には、例えば、どのトンネル通信における通信対象のデータに対して用いるアドレスが、他のトンネル通信における通信対象のデータに対して用いるアドレスと一致したのかを示す情報などが含まれてもよい。なお、アドレス一致情報送信部54は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス一致情報送信部54と通信回線3との間に図示しない送信デバイスが存在することとなる)。またアドレス一致情報送信部54は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0331】
アドレス変更情報受信部55は、アドレス変更情報を受信する。ここで、アドレス変更情報とは、アドレスの変更に関する情報である。アドレス変更情報は、例えば、実施の形態13で説明したように、アドレスの変更を指示するのみの情報であってもよく、アドレスをどのように変更するのかに関する指示(例えば、ホストアドレスに1を足すなど)を含む情報であってもよく、あるいは、変更後のアドレスを示す情報であってもよい。なお、アドレス変更情報受信部55は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス変更情報受信部55と通信回線3との間に図示しない受信デバイスが存在することとなる)。また、アドレス変更情報受信部55は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0332】
アドレス変更部56は、通信対象のデータに対して用いるアドレスを変更する。このアドレスの変更は、アドレス変更情報受信部が受信したアドレス変更情報に基づいて行われる。例えば、アドレス変更情報がどのようにアドレスを変更するのかを示す情報である場合には、アドレス変更部56は、そのアドレス変更情報に応じて、トンネル通信における通信対象のデータに対して用いるアドレスを変更する。
【0333】
図41は、本実施の形態による第2の情報処理装置2nの構成を示すブロック図である。本実施の形態による第2の情報処理装置2nは、アドレス受付部61と、トンネル通信部62と、アドレス変更情報受信部63と、アドレス変更部64とを備える。なお、アドレス受付部61、トンネル通信部62は、実施の形態3と同様であり、その説明を省略する。また、アドレス変更情報受信部63、アドレス変更部64は、上述のアドレス変更情報受信部55、アドレス変更部56と同様のものであり、その説明を省略する。
【0334】
図42は、本実施の形態によるサーバ7nの構成を示すブロック図である。本実施の形態によるサーバ7nは、通信制御部71と、アドレス決定部73dと、アドレス送信部74と、判断部75と、アドレス一致情報受信部77と、アドレス変更情報構成部78と、アドレス変更情報送信部79とを備える。なお、通信制御部71、アドレス決定部73d、アドレス送信部74、判断部75は、実施の形態6と同様であり、その説明を省略する。
【0335】
アドレス一致情報受信部77は、アドレス一致情報を受信する。なお、アドレス一致情報受信部77は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス一致情報受信部77と通信回線3との間に図示しない受信デバイスが存在することとなる)。また、アドレス一致情報受信部77は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0336】
アドレス変更情報構成部78は、アドレス一致情報受信部77がアドレス一致情報を受信した場合に、アドレス変更情報を構成する。アドレス変更情報構成部78は、例えば、アドレス変更情報を新たに生成してもよく、あるいは、所定の記録媒体等において記憶されているアドレス変更情報を読み出してもよい。
【0337】
アドレス変更情報送信部79は、アドレス変更情報構成部78が構成したアドレス変更情報を送信する。なお、アドレス変更情報送信部79は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、アドレス変更情報送信部79と通信回線3との間に図示しない送信デバイスが存在することとなる)。また、アドレス変更情報送信部79は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0338】
次に、本実施の形態による通信システムの動作、特にアドレスを決定し、アドレスを変更する動作について説明する。図43は、サーバ7nにおけるアドレスを決定する動作を示すフローチャートである。なお、ステップS401〜S404の処理は、実施の形態6の図18のフローチャートと同様であり、その説明を省略する。
【0339】
(ステップS1201)アドレス一致情報受信部77は、アドレス一致情報を受信したかどうか判断する。そして、アドレス一致情報を受信した場合には、ステップS1202に進み、そうでない場合には、ステップS401に戻る。
【0340】
(ステップS1202)アドレス変更情報構成部78は、アドレス変更情報を構成する。
【0341】
(ステップS1203)アドレス変更情報送信部79は、アドレス変更情報構成部78によって構成されたアドレス変更情報を、情報処理装置に送信する。そして、ステップS401に戻る。
【0342】
なお、図43のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0343】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。まず、トンネル通信におけるデータの構成は、図5と同様である。また、情報処理装置やサーバのIPアドレス、装置識別子も実施の形態13の具体例と同様であるとする。まず、第1の情報処理装置1nと、第3の情報処理装置3kとがトンネル通信を開始し、その後に、第1の情報処理装置1nと、第2の情報処理装置2nとがトンネル通信を開始する処理については、実施の形態14と同様であり、その説明を省略する。
【0344】
第1の情報処理装置1nと、第2の情報処理装置2nとがトンネル通信を開始した後に、第1の情報処理装置1nが第3の情報処理装置3kとのトンネル通信における通信対象のデータに対して用いている第1の情報処理装置1nのIPアドレスと、第2の情報処理装置2nとのトンネル通信における通信対象のデータに対して用いている第1の情報処理装置1nのIPアドレスとが共に「192.168.0.1」であり、一致すると検出部53によって検出されたとする。すると、アドレス一致情報送信部54は、第1の情報処理装置1nと、第2の情報処理装置2nとの間で行われるトンネル通信における通信対象のデータに対して用いる第1の情報処理装置1nのアドレス「192.168.0.1」と、第2の情報処理装置2nのアドレス「192.168.0.2」と、第1の情報処理装置1nのアドレスが他のトンネル通信で用いられるアドレスと一致した旨を示す情報と、第2の情報処理装置2nの装置識別情報とを含むアドレス一致情報をサーバ7nに送信する。
【0345】
すると、そのアドレス一致情報がアドレス一致情報受信部77で受信される(ステップS1201)。そして、アドレス変更情報構成部78は、第1の情報処理装置1nと、第2の情報処理装置2nとの間で行われるトンネル通信における通信対象のデータに対して用いられるアドレスが、他のトンネル通信の通信対象のデータに対して用いられるアドレスと一致したと判断し、第1の情報処理装置1nと、第2の情報処理装置2nとの間で行われるトンネル通信の通信対象のデータに対して用いられるアドレスを変更するためのアドレス変更情報を構成する(ステップS1202)。このアドレス変更情報は、ホストアドレスに1を足す旨の指示を含む情報であるとする。そのアドレス変更情報は、アドレス変更情報送信部79によって第1の情報処理装置1nと、第2の情報処理装置2nとに送信される(ステップS1203)。アドレス変更情報送信部79は、アドレス変更情報の送信先である第1の情報処理装置1nのアドレスを、アドレス一致情報の送信元アドレスから知ることができ、また、第2の情報処理装置2nのアドレスを、アドレス一致情報に含まれた第2の情報処理装置2nの装置識別情報と、図11で示されるアドレス識別子対応情報とを用いることによって知ることができる。
【0346】
そのアドレス変更情報は、第1の情報処理装置1nのアドレス変更情報受信部55で受信され、アドレス変更部56は、そのアドレス変更情報に応じて、第1の情報処理装置1nのIPアドレス「192.168.0.1」、および第2の情報処理装置2nのIPアドレス「192.168.0.2」に1を足すことによってアドレスの変更を行う。また、アドレス変更情報は、第2の情報処理装置2nのアドレス変更情報受信部63で受信され、第2の情報処理装置2のアドレス変更部64も、そのアドレス変更情報に応じて、第1の情報処理装置1nのIPアドレス「192.168.0.1」、および第2の情報処理装置2nのIPアドレス「192.168.0.2」に1を足すことによってアドレスの変更を行う。その後、変更後のアドレスによって、第1の情報処理装置1nと、第2の情報処理装置2nとの間でのトンネル通信が行われる。
【0347】
この具体例では、アドレス変更情報がアドレスをどのように変更するのかを示す情報である場合について説明したが、アドレス変更情報は、変更後のアドレスを示す情報であってもよく、その場合には、アドレス変更部56等は、第1の情報処理装置1nのアドレス等を、そのアドレス変更情報の示すアドレスに変更することになる。
【0348】
以上のように、本実施の形態による通信システムでは、第1の情報処理装置1nにおいて、2以上のアドレスが一致することが検知された場合に、2以上のアドレスが一致したことを示すアドレス一致情報をサーバ7nに送信することによって、サーバ7nに、アドレスが一致した旨を通知することができる。その後、サーバ7nがアドレス一致情報の受信に応じて、アドレス変更情報を情報処理装置に送ることによって、各情報処理装置において、そのアドレス変更情報に応じたアドレスの変更を行うことができ、その結果、第1の情報処理装置1nと、第2の情報処理装置2nとは、その変更後のアドレスを用いてトンネル通信を行うことができ、また、第1の情報処理装置1nにおいて発生したアドレスの一致をも解消することができる。
【0349】
なお、本実施の形態では、実施の形態6による通信システムにおいて、第1の情報処理装置がアドレス一致情報送信部54等をさらに備え、第2の情報処理装置がアドレス変更情報受信部63等をさらに備え、サーバがアドレス一致情報受信部77等をさらに備える場合について説明したが、実施の形態6以外の通信システムにおいても、サーバ等がアドレス一致情報受信部77等を備えることによって、本実施の形態と同様に、サーバから送信されるアドレス変更情報に基づいたアドレスの変更が各情報処理装置で行われるようにしてもよい。例えば、実施の形態9,12による通信システムにおいて、サーバがアドレス一致情報受信部や、アドレス変更情報構成部、アドレス変更情報送信部を備えることによって、第1の情報処理装置が2以上の装置とトンネル通信を行う場合に、通信対象のデータに対して用いるアドレスが一致した場合には、少なくともそのアドレスのいずれかを変更することによって、2以上の装置とのトンネル通信を適切に行うことができるようにしてもよい。
【0350】
また、実施の形態13〜15では、具体例において2個のアドレスが一致した場合にアドレスを変更する場合について説明したが、3個以上のアドレスが一致した場合にも、上記と同様のアドレス変更の処理を行い、アドレスの一致を解消するようにしてもよい。
【0351】
また、上記各実施の形態の具体例において、第1の情報処理装置が第2の情報処理装置の装置識別子を記録媒体から受け取る場合について説明したが、第1の情報処理装置は、第2の情報処理装置の装置識別子を別の手段、例えば、入力デバイスによる入力や、通信回線を介した受信等によって受け取ってもよい。
【0352】
また、上記各実施の形態において、第1の情報処理装置と通信回線3との間や、第2の情報処理装置と通信回線3との間に、単数または複数のNAT機能を有する通信制御装置(例えば、ルータ)が存在してもよい。この場合には、その通信制御装置において、IPアドレスの変換等が行われることとなる。
【0353】
また、上記各実施の形態では、サーバ4,7をIPアドレスによって特定する場合について説明したが、サーバ4,7をドメイン名(例えば、server.pana.netなど)によって特定してもよい。この場合には、そのドメイン名がDNSサーバを用いて、IPアドレスに変換されることにより、サーバ4,7を特定することができる。
【0354】
また、上記各実施の形態における通信回線3を介して行われる通信のプロトコルは、IPv4(Internet Protocol version 4)であってもよく、あるいは、IPv6(Internet Protocol version 6)であってもよい。
【0355】
また、上記各実施の形態において、数字で示される装置識別子を用いる場合について主に説明したが、装置識別子はその他のものであってもよく、例えば、アルファベットや平仮名などの文字列で示されるものであってもよい。
【0356】
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0357】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における情報処理装置、またはサーバを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第1の情報処理装置を識別する第1の装置識別子と、第2の情報処理装置を識別する第2の装置識別子とに基づいて、第1の情報処理装置と第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのものである。
【0358】
また、このプログラムでは、コンピュータに、第1の装置識別子および/または第2の装置識別子を受け付ける識別子受付ステップをさらに実行させ、アドレス決定ステップで、識別子受付ステップで受け付けた第1の装置識別子および/または第2の装置識別子を用いて、アドレスの決定を行ってもよい。
【0359】
また、他のプログラムは、コンピュータに、トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、判断ステップによる判断結果に基づいて、第1の情報処理装置と第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を実行させるためのものである。
【0360】
また、他のプログラムは、コンピュータに、第1の情報処理装置を識別する第1の装置識別子と、第2の情報処理装置を識別する第2の装置識別子と、第1の情報処理装置と第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのものである。
【0361】
また、このプログラムでは、コンピュータに、第1の装置識別子および/または第2の装置識別子を受け付ける識別子受付ステップをさらに実行させ、アドレス決定ステップでは、識別子受付ステップで受け付けた第1の装置識別子および/または第2の装置識別子を用いて、アドレスの決定を行ってもよい。
【0362】
また、このプログラムでは、コンピュータに、トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに実行させ、アドレス決定ステップでは、トンネル通信識別子受付ステップで受け付けたトンネル通信識別子を用いて、アドレスの決定を行ってもよい。
【0363】
また、他のプログラムは、コンピュータに、トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、判断ステップによる判断結果と、第1の情報処理装置と第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、第1の情報処理装置と、第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を実行させるためのものである。
【0364】
また、このプログラムでは、コンピュータに、トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに実行させ、アドレス決定ステップでは、トンネル通信識別子受付ステップで受け付けたトンネル通信識別子を用いて、アドレスの決定を行ってもよい。
【0365】
また、他のプログラムは、コンピュータに、2以上の通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、2以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出ステップと、検出ステップで2以上のアドレスが一致していることを検出した場合に、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
【0366】
また、他のプログラムは、コンピュータに、通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、アドレス変更情報に基づいて、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
【0367】
また、他のプログラムは、コンピュータに、2以上の通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、2以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出ステップと、検出ステップで2以上のアドレスが一致していることを検出した場合に、アドレスが一致している旨を示す情報であるアドレス一致情報を送信するアドレス一致情報送信ステップと、アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、アドレス変更情報に基づいて、通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのものである。
【0368】
また、他のプログラムは、コンピュータに、2以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる2以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信ステップと、アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成ステップと、アドレス変更情報を送信するアドレス変更情報送信ステップと、を実行させるためのものである。
【0369】
なお、上記プログラムにおいて、情報を送信する識別子受付ステップなどでは、ハードウェアによって行われる処理、例えば、識別子受付ステップにおける入力デバイスなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0370】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
【0371】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【産業上の利用可能性】
【0372】
以上のように、本発明による通信システム等は、情報処理装置間におけるトンネル通信で用いられるアドレスを簡易なアルゴリズムによって求めることができるものであり、トンネル通信を行う通信システム等において有用である。
【図面の簡単な説明】
【0373】
【図1】本発明の実施の形態1による通信システムの構成を示す図
【図2】同実施の形態による第1の情報処理装置の構成を示すブロック図
【図3】同実施の形態による第2の情報処理装置の構成を示すブロック図
【図4】同実施の形態における第1の情報処理装置の動作を示すフローチャート
【図5A】同実施の形態におけるデータ構造を示す図
【図5B】同実施の形態におけるデータ構造を示す図
【図6】同実施の形態における装置識別子の桁とIPアドレスとの対応の一例であるテーブルを示す図
【図7】本発明の実施の形態2による第1の情報処理装置の構成を示す図
【図8】同実施の形態による第2の情報処理装置の構成を示す図
【図9】本発明の実施の形態3による通信システムの構成を示す図
【図10】同実施の形態におけるサーバの動作を示すフローチャート
【図11】同実施の形態における装置識別子とIPアドレスとの対応の一例を示す図
【図12】本発明の実施の形態4による第1の情報処理装置の構成を示すブロック図
【図13】同実施の形態による第2の情報処理装置の構成を示すブロック図
【図14】同実施の形態における第1の情報処理装置の動作を示すフローチャート
【図15A】同実施の形態における発呼側、着呼側とIPアドレスとの対応の一例であるテーブルを示す図
【図15B】同実施の形態における発呼側、着呼側とIPアドレスとの対応の一例であるテーブルを示す図
【図16】本発明の実施の形態5による通信システムの構成を示す図
【図17】本発明の実施の形態6による通信システムの構成を示す図
【図18】同実施の形態におけるサーバの動作を示すフローチャート
【図19】本発明の実施の形態7による第1の情報処理装置の構成を示すブロック図
【図20】同実施の形態によるサーバの構成を示すブロック図
【図21】同実施の形態における第1の情報処理装置の動作を示すフローチャート
【図22A】同実施の形態におけるアドレスの構成の一例を示す図
【図22B】同実施の形態における装置識別子の桁とIPアドレスとの対応の一例であるテーブルを示す図
【図23】本発明の実施の形態8による通信システムの構成を示す図
【図24】本発明の実施の形態9による通信システムの構成を示す図
【図25】同実施の形態におけるサーバの動作を示すフローチャート
【図26】本発明の実施の形態10による第1の情報処理装置の構成を示すブロック図
【図27】同実施の形態における第1の情報処理装置の動作を示すフローチャート
【図28A】同実施の形態におけるアドレスの構成の一例を示す図
【図28B】同実施の形態における発呼側、着呼側とホストアドレスとの対応の一例であるテーブルを示す図
【図28C】同実施の形態における発呼側、着呼側とホストアドレスとの対応の一例であるテーブルを示す図
【図29】本発明の実施の形態11による通信システムの構成を示す図
【図30】本発明の実施の形態12による通信システムの構成を示す図
【図31】同実施の形態におけるサーバの動作を示すフローチャート
【図32】本発明の実施の形態13による通信システムの構成を示す図
【図33】同実施の形態による第1の情報処理装置の構成を示すブロック図
【図34】同実施の形態による第3の情報処理装置の構成を示すブロック図
【図35】同実施の形態における第1の情報処理装置の動作を示すフローチャート
【図36】本発明の実施の形態14による第1の情報処理装置の構成を示すブロック図
【図37】同実施の形態による第2の情報処理装置の構成を示すブロック図
【図38】同実施の形態における第1の情報処理装置の動作を示すフローチャート
【図39】同実施の形態における第2の情報処理装置の動作を示すフローチャート
【図40】本発明の実施の形態15による第1の情報処理装置の構成を示すブロック図
【図41】同実施の形態による第2の情報処理装置の構成を示すブロック図
【図42】同実施の形態によるサーバの構成を示すブロック図
【図43】同実施の形態におけるサーバの動作を示すフローチャート
【符号の説明】
【0374】
1,1a,1b,1c,1e,1f,1h,1i,1k,1m,1n,5 第1の情報処理装置
2,2a,2b,2c,2f,2i,2m,2n,6 第2の情報処理装置
3k 第3の情報処理装置
3 通信回線
4,4e,7,7d,7g,7j,7n サーバ

Claims (53)

  1. 通信先の装置とトンネル通信を行う通信元の情報処理装置であって、
    通信対象のデータをカプセル化して前記トンネル通信を行うトンネル通信部と、
    前記通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部と、
    前記情報処理装置を識別する通信元装置識別子を記憶している識別子記憶部と、
    前記通信先装置識別子と、前記通信元装置識別子とに基づいて、前記通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えた情報処理装置。
  2. 前記アドレス決定部は、あらかじめ決められている複数のアドレスから選択することにより、前記通信対象のデータに対して用いるアドレスを決定する、請求項1記載の情報処理装置。
  3. 前記アドレス決定部は、前記通信先装置識別子と、前記通信元装置識別子とを比較し、その比較結果に基づいて、前記通信対象のデータに対して用いるアドレスを選択する、請求項2記載の情報処理装置。
  4. 通信先の装置とトンネル通信を行う通信元の情報処理装置であって、
    通信対象のデータをカプセル化して前記トンネル通信を行うトンネル通信部と、
    前記トンネル通信において、前記情報処理装置が発呼側か着呼側かを判断する判断部と、
    前記判断部による判断結果に基づいて、前記通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えた情報処理装置。
  5. 前記アドレス決定部は、あらかじめ決められている複数のアドレスから選択することにより、前記通信対象のデータに対して用いるアドレスを決定する、請求項4記載の情報処理装置。
  6. 通信先の装置とトンネル通信を行う通信元の情報処理装置であって、
    通信対象のデータをカプセル化して前記トンネル通信を行うトンネル通信部と、
    前記通信先の装置を識別する通信先装置識別子を受け付ける識別子受付部と、
    前記情報処理装置を識別する通信元装置識別子を記憶している識別子記憶部と、
    前記トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、
    前記通信先装置識別子と、前記通信元装置識別子と、前記トンネル通信識別子とに基づいて、前記通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えた情報処理装置。
  7. 前記アドレス決定部は、前記通信先装置識別子と、前記通信元装置識別子とに基づいて、前記通信対象のデータに対して用いるアドレスの一部を決定し、前記トンネル通信識別子に基づいて、前記通信対象のデータに対して用いるアドレスの他の部分を決定する、請求項6記載の情報処理装置。
  8. 通信先の装置とトンネル通信を行う通信元の情報処理装置であって、
    通信対象のデータをカプセル化して前記トンネル通信を行うトンネル通信部と、
    前記トンネル通信において、前記情報処理装置が発呼側か着呼側かを判断する判断部と、
    前記トンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、
    前記判断部による判断結果と、前記トンネル通信識別子とに基づいて、前記通信対象のデータに対して用いるアドレスを決定するアドレス決定部と、を備えた情報処理装置。
  9. 前記アドレス決定部は、前記トンネル通信識別子に基づいて、前記通信対象のデータに対して用いるアドレスの一部を決定し、前記判断部による判断結果に基づいて、前記通信対象のデータに対して用いるアドレスの他の部分を決定する、請求項8記載の情報処理装置。
  10. 前記アドレス決定部は、あらかじめ決められている複数のアドレスから選択することにより、前記通信対象のデータに対して用いるアドレスの少なくとも一部を決定する、請求項6から9のいずれか記載の情報処理装置。
  11. 前記トンネル通信部は2以上の通信先の装置とトンネル通信を行うものであり、
    前記2以上のトンネル通信において前記通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出部と、
    前記検出部が2以上のアドレスが一致していることを検出した場合に、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更部と、をさらに備えた、請求項1から9のいずれか記載の情報処理装置。
  12. アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信部と、
    前記アドレス変更情報に基づいて、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更部と、をさらに備えた、請求項1から9のいずれか記載の情報処理装置。
  13. 前記トンネル通信部は2以上の通信先の装置とトンネル通信を行うものであり、
    前記2以上のトンネル通信において前記通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出部と、
    前記検出部が2以上のアドレスが一致していることを検出した場合に、アドレスが一致している旨を示す情報であるアドレス一致情報を送信するアドレス一致情報送信部と、
    アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信部と、
    前記アドレス変更情報に基づいて、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更部と、をさらに備えた、請求項1から9のいずれか記載の情報処理装置。
  14. 前記アドレス決定部が決定したアドレスを出力するアドレス出力部をさらに備えた、請求項1から9のいずれか記載の情報処理装置。
  15. 前記アドレス出力部は、前記アドレス決定部が決定したアドレスを送信する、請求項14記載の情報処理装置。
  16. 請求項1から9のいずれか記載の情報処理装置と、
    前記通信先の装置と、
    前記情報処理装置と前記通信先の装置との間で行われるトンネル通信を確立させるための処理を行うサーバと、を備えた通信システム。
  17. 第1の情報処理装置を識別する第1の装置識別子、および第2の情報処理装置を識別する第2の装置識別子を受け付ける識別子受付部と、
    前記識別子受付部が受け付けた前記第1の装置識別子と、前記第2の装置識別子とに基づいて、前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる前記第1の情報処理装置の第1のアドレス、および前記第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、
    前記アドレス決定部が決定した前記第1のアドレスおよび前記第2のアドレスを出力するアドレス出力部と、を備えたサーバ。
  18. 前記アドレス決定部は、あらかじめ決められているアドレスから所定のアドレスを選択することにより、前記第1のアドレス、および前記第2のアドレスを決定する、請求項17記載のサーバ。
  19. 前記アドレス決定部は、前記第1の装置識別子と前記第2の装置識別子とを比較し、その比較結果に基づいて前記アドレスを選択する、請求項18記載のサーバ。
  20. トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断部と、
    前記判断部による判断結果に基づいて、前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる前記第1の情報処理装置の第1のアドレス、および前記第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、
    前記アドレス決定部が決定した前記第1のアドレスおよび前記第2のアドレスを出力するアドレス出力部と、を備えたサーバ。
  21. 前記アドレス決定部は、あらかじめ決められている複数のアドレスから選択することにより、前記第1のアドレス、および前記第2のアドレスを決定する、請求項20記載のサーバ。
  22. 第1の情報処理装置を識別する第1の装置識別子、および第2の情報処理装置を識別する第2の装置識別子を受け付ける識別子受付部と、
    前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、
    前記識別子受付部が受け付けた前記第1の装置識別子と、前記第2の装置識別子と、前記トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる前記第1の情報処理装置の第1のアドレス、および前記第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、
    前記アドレス決定部が決定した前記第1のアドレスおよび前記第2のアドレスを出力するアドレス出力部と、を備えたサーバ。
  23. 前記アドレス決定部は、前記第1の装置識別子と、前記第2の装置識別子とに基づいて、前記通信対象のデータに対して用いるアドレスの一部を決定し、前記トンネル通信識別子に基づいて、前記通信対象のデータに対して用いるアドレスの他の部分を決定する、請求項22記載のサーバ。
  24. トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断部と、
    前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子を受け付けるトンネル通信識別子受付部と、
    前記判断部による判断結果と、前記トンネル通信識別子受付部が受け付けたトンネル通信識別子とに基づいて、前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いる前記第1の情報処理装置の第1のアドレス、および前記第2の情報処理装置の第2のアドレスを決定するアドレス決定部と、
    前記アドレス決定部が決定した前記第1のアドレスおよび前記第2のアドレスを出力するアドレス出力部と、を備えたサーバ。
  25. 前記アドレス決定部は、前記トンネル通信識別子に基づいて、前記通信対象のデータに対して用いるアドレスの一部を決定し、前記判断部による判断結果に基づいて、前記通信対象のデータに対して用いるアドレスの他の部分を決定する、請求項24記載のサーバ。
  26. 前記アドレス決定部は、あらかじめ決められている複数のアドレスから選択することにより、前記通信対象のデータに対して用いるアドレスの少なくとも一部を決定する、請求項22から25のいずれか記載のサーバ。
  27. 前記アドレス出力部は、前記第1のアドレスおよび前記第2のアドレスを、前記第1の情報処理装置および前記第2の情報処理装置に送信する、請求項17から25のいずれか記載のサーバ。
  28. 請求項17から25のいずれか記載のサーバと、
    前記第1のアドレスを前記通信対象のデータに対して用いてトンネル通信を行う第1の情報処理装置と、
    前記第2のアドレスを前記通信対象のデータに対して用いて、前記第1の情報処理装置とトンネル通信を行う第2の情報処理装置と、を備えた通信システム。
  29. 2以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる2以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信部と、
    前記アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成部と、
    前記アドレス変更情報を送信するアドレス変更情報送信部と、を備えたサーバ。
  30. 第1の情報処理装置を識別する第1の装置識別子と、第2の情報処理装置を識別する第2の装置識別子とに基づいて、前記第1の情報処理装置と前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを備えたアドレス決定方法。
  31. 前記第1の装置識別子および/または前記第2の装置識別子を受け付ける識別子受付ステップをさらに備え、
    前記アドレス決定ステップでは、前記識別子受付ステップで受け付けた前記第1の装置識別子および/または前記第2の装置識別子を用いて、前記アドレスの決定を行う、請求項30記載のアドレス決定方法。
  32. トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、
    前記判断ステップによる判断結果に基づいて、前記第1の情報処理装置と前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を備えたアドレス決定方法。
  33. 第1の情報処理装置を識別する第1の装置識別子と、第2の情報処理装置を識別する第2の装置識別子と、前記第1の情報処理装置と前記第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを備えたアドレス決定方法。
  34. 前記第1の装置識別子および/または前記第2の装置識別子を受け付ける識別子受付ステップをさらに備え、
    前記アドレス決定ステップでは、前記識別子受付ステップで受け付けた前記第1の装置識別子および/または前記第2の装置識別子を用いて、前記アドレスの決定を行う、請求項33記載のアドレス決定方法。
  35. 前記トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに備え、
    前記アドレス決定ステップでは、前記トンネル通信識別子受付ステップで受け付けた前記トンネル通信識別子を用いて、前記アドレスの決定を行う、請求項33または34記載のアドレス決定方法。
  36. トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、
    前記判断ステップによる判断結果と、前記第1の情報処理装置と前記第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を備えたアドレス決定方法。
  37. 前記トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに備え、
    前記アドレス決定ステップでは、前記トンネル通信識別子受付ステップで受け付けた前記トンネル通信識別子を用いて、前記アドレスの決定を行う、請求項36記載のアドレス決定方法。
  38. 2以上の通信先の装置とトンネル通信を行う通信元の情報処理装置において用いられるアドレス変更方法であって、
    前記2以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出ステップと、
    前記検出ステップで2以上のアドレスが一致していることを検出した場合に、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を備えたアドレス変更方法。
  39. 通信先の装置とトンネル通信を行う通信元の情報処理装置において用いられるアドレス変更方法であって、
    アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、
    前記アドレス変更情報に基づいて、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を備えたアドレス変更方法。
  40. 2以上の通信先の装置とトンネル通信を行う通信元の情報処理装置において用いられるアドレス変更方法であって、
    前記2以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出ステップと、
    前記検出ステップで2以上のアドレスが一致していることを検出した場合に、アドレスが一致している旨を示す情報であるアドレス一致情報を送信するアドレス一致情報送信ステップと、
    アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、
    前記アドレス変更情報に基づいて、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を備えたアドレス変更方法。
  41. 2以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる2以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信ステップと、
    前記アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成ステップと、
    前記アドレス変更情報を送信するアドレス変更情報送信ステップと、を備えたアドレス変更方法。
  42. コンピュータに、
    第1の情報処理装置を識別する第1の装置識別子と、第2の情報処理装置を識別する第2の装置識別子とに基づいて、前記第1の情報処理装置と前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのプログラム。
  43. コンピュータに、
    前記第1の装置識別子および/または前記第2の装置識別子を受け付ける識別子受付ステップをさらに実行させ、
    前記アドレス決定ステップでは、前記識別子受付ステップで受け付けた前記第1の装置識別子および/または前記第2の装置識別子を用いて、前記アドレスの決定を行う、請求項42記載のプログラム。
  44. コンピュータに、
    トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、
    前記判断ステップによる判断結果に基づいて、前記第1の情報処理装置と前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を実行させるためのプログラム。
  45. コンピュータに、
    第1の情報処理装置を識別する第1の装置識別子と、第2の情報処理装置を識別する第2の装置識別子と、前記第1の情報処理装置と前記第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップを実行させるためのプログラム。
  46. コンピュータに、
    前記第1の装置識別子および/または前記第2の装置識別子を受け付ける識別子受付ステップをさらに実行させ、
    前記アドレス決定ステップでは、前記識別子受付ステップで受け付けた前記第1の装置識別子および/または前記第2の装置識別子を用いて、前記アドレスの決定を行う、請求項45記載のプログラム。
  47. コンピュータに、
    前記トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに実行させ、
    前記アドレス決定ステップでは、前記トンネル通信識別子受付ステップで受け付けた前記トンネル通信識別子を用いて、前記アドレスの決定を行う、請求項45または46記載のプログラム。
  48. コンピュータに、
    トンネル通信を行う第1の情報処理装置と、第2の情報処理装置とのいずれが発呼側であり、着呼側であるのかについて判断する判断ステップと、
    前記判断ステップによる判断結果と、前記第1の情報処理装置と前記第2の情報処理装置との間で行われるトンネル通信を識別するトンネル通信識別子とに基づいて、前記第1の情報処理装置と、前記第2の情報処理装置との間で行われるトンネル通信においてカプセル化される通信対象のデータに対して用いるアドレスを決定するアドレス決定ステップと、を実行させるためのプログラム。
  49. コンピュータに、
    前記トンネル通信識別子を受け付けるトンネル通信識別子受付ステップをさらに実行させ、
    前記アドレス決定ステップでは、前記トンネル通信識別子受付ステップで受け付けた前記トンネル通信識別子を用いて、前記アドレスの決定を行う、請求項48記載のプログラム。
  50. コンピュータに、
    2以上の通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、
    前記2以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出ステップと、
    前記検出ステップで2以上のアドレスが一致していることを検出した場合に、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのプログラム。
  51. コンピュータに、
    通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、
    アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、
    前記アドレス変更情報に基づいて、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのプログラム。
  52. コンピュータに、
    2以上の通信先の装置とトンネル通信を行う通信元の情報処理装置における処理を実行させるためのプログラムであって、
    前記2以上のトンネル通信においてカプセル化される各通信対象のデータに対して用いられる2以上のアドレスが一致していることを検出する検出ステップと、
    前記検出ステップで2以上のアドレスが一致していることを検出した場合に、アドレスが一致している旨を示す情報であるアドレス一致情報を送信するアドレス一致情報送信ステップと、
    アドレスの変更に関する情報であるアドレス変更情報を受信するアドレス変更情報受信ステップと、
    前記アドレス変更情報に基づいて、前記通信対象のデータに対して用いるアドレスを変更するアドレス変更ステップと、を実行させるためのプログラム。
  53. コンピュータに、
    2以上のトンネル通信において、カプセル化される通信対象のデータに対して用いられる2以上のアドレスが一致している旨を示す情報であるアドレス一致情報を受信するアドレス一致情報受信ステップと、
    前記アドレスの一致が解消するように、アドレスの変更に関する情報であるアドレス変更情報を構成するアドレス変更情報構成ステップと、
    前記アドレス変更情報を送信するアドレス変更情報送信ステップと、を実行させるためのプログラム。
JP2005517416A 2004-01-30 2005-01-19 情報処理装置、サーバ、通信システム、アドレス決定方法、アドレス変更方法およびプログラム Active JP4595811B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004022902 2004-01-30
JP2004022902 2004-01-30
PCT/JP2005/000565 WO2005074208A1 (ja) 2004-01-30 2005-01-19 情報処理装置、サーバ、通信システム、アドレス決定方法、アドレス変更方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2005074208A1 true JPWO2005074208A1 (ja) 2008-01-10
JP4595811B2 JP4595811B2 (ja) 2010-12-08

Family

ID=34823853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005517416A Active JP4595811B2 (ja) 2004-01-30 2005-01-19 情報処理装置、サーバ、通信システム、アドレス決定方法、アドレス変更方法およびプログラム

Country Status (6)

Country Link
US (2) US8108552B2 (ja)
EP (1) EP1696613A1 (ja)
JP (1) JP4595811B2 (ja)
CN (2) CN101087255A (ja)
TW (1) TW200534649A (ja)
WO (1) WO2005074208A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4615474B2 (ja) * 2006-04-07 2011-01-19 株式会社エヌ・ティ・ティ・ドコモ 通信端末、ユーザデータ移動システム及びユーザデータ移動方法
JP5318111B2 (ja) * 2007-10-24 2013-10-16 ラントロニクス・インコーポレイテツド リモートデバイスに構成情報を自動配布するための中央管理ステーションのための種々の方法および装置
US8391181B2 (en) * 2008-03-03 2013-03-05 Nec Corporation Communication device, device for determining possibility of discriminating relation of pseudonymous-name communication identifier, communication system, communication method and storage medium
US8073959B2 (en) * 2008-03-28 2011-12-06 Microsoft Corporation Automatically detecting whether a computer is connected to a public or private network
KR101064665B1 (ko) * 2009-12-28 2011-09-15 전자부품연구원 차량용 가시광 통신장치, 가시광 통신을 이용한 터널 내 차량통신시스템 및 방법
JP5621639B2 (ja) * 2011-02-08 2014-11-12 村田機械株式会社 中継サーバ及び中継通信システム
US9235681B2 (en) * 2011-10-04 2016-01-12 Smith & Nephew, Inc. System and method for intersystem device exchange
US10523619B2 (en) * 2013-12-20 2019-12-31 Rovio Entertainment Ltd. Stateless message routing
KR102318279B1 (ko) * 2014-02-18 2021-10-28 삼성전자주식회사 무선 통신 시스템에서 인증 정보 송수신 방법 및 장치
US9716653B2 (en) * 2014-11-18 2017-07-25 Hauwei Technologies Co., Ltd. System and method for flow-based addressing in a mobile environment
US10541966B1 (en) * 2015-07-02 2020-01-21 Aviatrix Systems, Inc. System and method for enabling communication between networks with overlapping IP address ranges

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244251A (ja) * 2002-02-18 2003-08-29 Telecommunication Advancement Organization Of Japan トンネル経路を再構成するパケット通信方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463475B1 (en) * 1997-09-26 2002-10-08 3Com Corporation Method and device for tunnel switching
US6640251B1 (en) * 1999-03-12 2003-10-28 Nortel Networks Limited Multicast-enabled address resolution protocol (ME-ARP)
US6781982B1 (en) * 1999-10-26 2004-08-24 3Com Corporation Method and system for allocating persistent private network addresses between private networks
US6654792B1 (en) * 2000-02-28 2003-11-25 3Com Corporation Method and architecture for logical aggregation of multiple servers
US6614809B1 (en) * 2000-02-29 2003-09-02 3Com Corporation Method and apparatus for tunneling across multiple network of different types
AU2001245827A1 (en) * 2000-03-17 2001-10-03 America Online, Inc. Home-networking
JP3656134B2 (ja) 2000-03-23 2005-06-08 日本電信電話株式会社 Vpn選択接続ゲートウェイおよびそれによる通信方法
US6792474B1 (en) * 2000-03-27 2004-09-14 Cisco Technology, Inc. Apparatus and methods for allocating addresses in a network
AU2000250743A1 (en) * 2000-05-31 2001-12-11 Nokia Corporation Method and apparatus for generating a connection identification
US7111065B2 (en) * 2000-11-29 2006-09-19 Efficient Networks, Inc. Method and apparatus for managing tunneled communications in an enterprise network
US7127524B1 (en) * 2000-12-29 2006-10-24 Vernier Networks, Inc. System and method for providing access to a network with selective network address translation
US7068646B2 (en) * 2001-04-03 2006-06-27 Voxpath Networks, Inc. System and method for performing IP telephony including internal and external call sessions
US7106967B2 (en) * 2001-09-04 2006-09-12 Doron Handelman Optical packet switching apparatus and methods
US7099319B2 (en) * 2002-01-23 2006-08-29 International Business Machines Corporation Virtual private network and tunnel gateway with multiple overlapping, remote subnets
US7072337B1 (en) * 2002-01-25 2006-07-04 3Com Corporation System and method for resolving network addresses for network devices on distributed network subnets
US7395354B2 (en) * 2002-02-21 2008-07-01 Corente, Inc. Methods and systems for resolving addressing conflicts based on tunnel information
JP2003244188A (ja) 2002-02-21 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> トンネル通信方法
KR100485801B1 (ko) * 2002-03-07 2005-04-28 삼성전자주식회사 서로 다른 사설망에 존재하는 네트워크장치들 간의직접접속을 제공하는 망접속장치 및 방법
KR100532100B1 (ko) * 2002-12-30 2005-11-29 삼성전자주식회사 무선랜 홈네트워크 환경에서 디바이스를 식별하는 방법
US7814228B2 (en) * 2003-02-13 2010-10-12 Oracle America, Inc. System and method for using data encapsulation in a virtual network
US20040236855A1 (en) * 2003-05-23 2004-11-25 Amir Peles Multi-link tunneling
US7512969B2 (en) * 2003-11-21 2009-03-31 Time Warner Cable, A Division Of Time Warner Entertainment Company, L.P. System and method for detecting and reporting cable network devices with duplicate media access control addresses
US8661158B2 (en) * 2003-12-10 2014-02-25 Aventail Llc Smart tunneling to resources in a network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244251A (ja) * 2002-02-18 2003-08-29 Telecommunication Advancement Organization Of Japan トンネル経路を再構成するパケット通信方法

Also Published As

Publication number Publication date
EP1696613A1 (en) 2006-08-30
CN1930838A (zh) 2007-03-14
US7860980B2 (en) 2010-12-28
JP4595811B2 (ja) 2010-12-08
US20080235399A1 (en) 2008-09-25
TW200534649A (en) 2005-10-16
WO2005074208A1 (ja) 2005-08-11
US20070002873A1 (en) 2007-01-04
CN101087255A (zh) 2007-12-12
US8108552B2 (en) 2012-01-31

Similar Documents

Publication Publication Date Title
JP4595811B2 (ja) 情報処理装置、サーバ、通信システム、アドレス決定方法、アドレス変更方法およびプログラム
JP4557803B2 (ja) ネットワークシステム及び通信方法
US7245622B2 (en) Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload
US10681002B2 (en) Internet of Things (IoT) mediation and adaptation secure application gateway
US11811899B2 (en) IPv4/IPv6 bridge
KR100652964B1 (ko) 듀얼스택 네트워크 기기 및 그 브로드캐스트 방법
CN103051510B (zh) 网络策略向网络接口卡的安全和高效卸载的方法和装置
JP4764737B2 (ja) ネットワークシステム、端末およびゲートウェイ装置
JP5820106B2 (ja) 通信装置、および、その制御方法
US20160028628A1 (en) Communication system, control apparatus, address allocation method, and program
CN112351115B (zh) 对称型nat设备的端口预测方法及装置
JP4505861B2 (ja) 情報処理装置と情報処理システムおよびプログラム
EP1895747B1 (en) Network device, network device control method, and storage medium
US20080092206A1 (en) Security protocol control apparatus and security protocol control method
JPWO2003101048A1 (ja) 情報処理システム
JP2007028096A (ja) マルチプロトコルアドレス登録方法、マルチプロトコルアドレス登録システム、マルチプロトコルアドレス登録サーバおよびマルチプロトコルアドレス通信端末
JP5626268B2 (ja) 情報処理端末
CN112261165B (zh) 通信方法、系统、装置、计算机设备和存储介质
KR102105545B1 (ko) 사물 인터넷 통신 네트워크에서의 인증서 관리 방법 및 이를 이용하는 게이트웨이
WO2024001549A1 (zh) 地址配置方法和电子设备
JP5413940B2 (ja) シンクライアントネットワーク、シンクライアント、不正接続防止装置、これらの動作方法、及び記録媒体
JP2022128989A (ja) 通信制御装置、通信システム、通信制御方法およびプログラム
JP5442092B2 (ja) ネットワーク機器、ネットワーク機器の制御方法、及びプログラム
JP5225435B2 (ja) ネットワーク機器、ネットワーク機器の制御方法、及びプログラム
JP2005101740A (ja) セキュリティ制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080121

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100824

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100906

R151 Written notification of patent or utility model registration

Ref document number: 4595811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3