JP6879372B2 - ネットワーク通信システム - Google Patents

ネットワーク通信システム Download PDF

Info

Publication number
JP6879372B2
JP6879372B2 JP2019537432A JP2019537432A JP6879372B2 JP 6879372 B2 JP6879372 B2 JP 6879372B2 JP 2019537432 A JP2019537432 A JP 2019537432A JP 2019537432 A JP2019537432 A JP 2019537432A JP 6879372 B2 JP6879372 B2 JP 6879372B2
Authority
JP
Japan
Prior art keywords
communication
terminal device
address
unit
request
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.)
Active
Application number
JP2019537432A
Other languages
English (en)
Other versions
JPWO2019038801A1 (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Publication of JPWO2019038801A1 publication Critical patent/JPWO2019038801A1/ja
Application granted granted Critical
Publication of JP6879372B2 publication Critical patent/JP6879372B2/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] 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/618Details of network addresses
    • H04L2101/65Telephone numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • 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/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • 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/5076Update or notification mechanisms, e.g. DynDNS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークを介した端末間通信を行うためのネットワーク通信システムに関する。
今日、パソコンやスマートフォンをはじめとする様々な端末装置がインターネットに接続されるようになってきており、ネットワークを介した端末間通信も広く普及している。ただ、インターネットのような公衆ネットワークを利用して端末間通信を行う上では、セキュリティを確保する上で何らかの工夫を施す必要がある。また、モバイル端末の場合、ネットワーク上での所在が時間的に変化するため、通信先となる端末の現時点での所在アドレスを何らかの方法で認識する必要がある。
このような観点から、従来の一般的なネットワーク通信システムでは、端末装置間の通信を取り継ぐ役割を果たす中継装置が設けられている。たとえば、下記の特許文献1には、第1の端末装置と中継装置との間にセキュアな第1の通信チャネルを確保し、第2の端末装置と中継装置との間にセキュアな第2の通信チャネルを確保して、中継装置を介して両端末装置間で通信を行うネットワーク通信システムが開示されている。ただ、このような中継装置を利用したシステムでは、両端末間の通信データがすべて中継装置を経由することになるため、中継装置に多大な処理負荷がかかるという問題がある。
そこで、最近は、SIP(Session Initiation Protocol)と呼ばれるプロトコルを利用して、ネットワーク上に設けられた接続仲介装置により、両端末間での通信セッション確立の取り継ぎを行い、通信セッション確立後は、両端末間で直接通信を行う方式が提案されている。たとえば、下記の特許文献2,3には、このSIPを利用して端末間におけるVPN通信を実現するネットワーク通信システムが開示されている。このシステムにおける接続仲介装置は、通信データのすべてを中継する必要はなく、両端末間に通信セッションが確立されるまでの手助けを行えばよいので、従来の中継装置に比べて処理負荷が大幅に軽減される。
特開2005−229436号公報 特開2010−233167号公報 特開2013−038684号公報
上述したとおり、特許文献2,3に開示されているネットワーク通信システムに用いられる接続仲介装置は、SIPを利用して両端末間の接続仲介処理を行うことになる。この接続仲介処理は、両端末間に通信セッションが確立されるまでの一時的な処理であるため、特許文献1に開示されている従来型の中継処理に比べれば、その処理負荷は軽減されることになる。しかしながら、両端末間に通信セッションが確立するまで関与する必要があるため、多数の端末装置から同時に仲介依頼があると、その処理負荷は無視できないものになる。このため、仲介依頼が集中すると、通信セッション確立までの一時的な仲介処理であっても、システムの処理能力を超えてしまうおそれがある。
また、上述したとおり、モバイル端末の場合、ネットワーク上での所在が時間的に変化する。たとえば、移動しながら通信を行っているモバイル端末の場合、基地局が切り替わるとネットワーク上での所在アドレスも切り替わることになる。あるいは、一般的な端末装置であっても、ネットワークインターフェイスが何らかの事情で切り替わった場合にも、ネットワーク上での所在アドレスが切り替わることになる。したがって、実用上は、端末装置のネットワーク上での所在アドレスの切り替えが通信中に生じた場合にも、通信が続行可能となるような対策を講じる必要がある。
そこで本発明は、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することができ、しかも端末装置のネットワーク上での所在アドレスが通信中に切り替わったとしても、引き続き通信を続行することが可能なネットワーク通信システムを提供することを目的とする。
(1) 本発明の第1の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
複数の端末装置のそれぞれは、
自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
接続仲介依頼に応じて、接続仲介装置から、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてきたときに、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行う通信開始要求部と、
通信開始要求に応じて、通信先の別な端末装置から、通信開始受諾確認が返信されてきたら、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
通信元セッション確立部もしくは通信先セッション確立部が相手方端末装置と通信を行っている最中に、自己の所在アドレスが変更になったときに、これを検出するアドレス変更検出部と、
アドレス変更検出部がアドレスの変更を検出したときに、通信要求受付部に対して、自己を通信元として、相手方端末装置を通信先とする通信要求を行う再接続処理部と、
を有し、
接続仲介装置は、
端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信部と、
を有するようにしたものである。
(2) 本発明の第2の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
通信元セッション確立部および通信先セッション確立部が相手方端末装置との間に通信セッションを確立する際に、相手方端末装置の通信先特定情報を格納する機能を有し、
再接続処理部が、通信元セッション確立部もしくは通信先セッション確立部に格納されていた通信先特定情報を用いて通信要求を行うようにしたものである。
(3) 本発明の第3の態様は、上述した第1または第2の態様に係るネットワーク通信システムにおいて、
端末装置が、所定のOSプログラムと、このOSプログラムの下で動作する1つもしくは複数の通信アプリケーションプログラムと、をインストールしたコンピュータによって構成されており、
アドレス変更検出部が、OSプログラムもしくは通信アプリケーションプログラムが管理する情報に基づいて、所在アドレスの変更を検出するようにしたものである。
(4) 本発明の第4の態様は、上述した第1〜第3の態様に係るネットワーク通信システムにおいて、
アドレス変更検出部が、アドレスの変更を検出したときに、その旨を自己アドレス通知部に報知し、
自己アドレス通知部が、この報知を受けたときに、変更後の所在アドレスを接続仲介装置に対して通知するようにしたものである。
(5) 本発明の第5の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
複数の端末装置のそれぞれは、
自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
接続仲介依頼に応じて、接続仲介装置から、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてきたときに、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行う通信開始要求部と、
通信開始要求に応じて、通信先の別な端末装置から、通信開始受諾確認が返信されてきたら、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
通信元セッション確立部もしくは通信先セッション確立部が相手方端末装置と通信を行っている最中に生じた通信異常を検出する通信異常検出部と、
通信異常検出部が通信異常を検出したときに、通信要求受付部に対して、自己を通信元として、相手方端末装置を通信先とする通信要求を行う再接続処理部と、
を有し、
接続仲介装置は、
端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信部と、
を有するようにしたものである。
(6) 本発明の第6の態様は、上述した第5の態様に係るネットワーク通信システムにおいて、
通信元セッション確立部および通信先セッション確立部が相手方端末装置との間に通信セッションを確立する際に、相手方端末装置の通信先特定情報を格納する機能を有し、
再接続処理部が、通信元セッション確立部もしくは通信先セッション確立部に格納されていた通信先特定情報を用いて通信要求を行うようにしたものである。
(7) 本発明の第7の態様は、上述した第5または第6の態様に係るネットワーク通信システムにおいて、
通信異常検出部が、相手方端末装置と通信を行っている最中に、相手方の通信異常検出部との間で、接続確認信号とこれに対する応答信号とを所定周期でやり取りする機能を有し、相手方に送信した接続確認信号に対する応答信号が所定期間内に受信できなかった場合に、通信異常の検出を行うようにしたものである。
(8) 本発明の第8の態様は、上述した第5〜第7の態様に係るネットワーク通信システムにおいて、
再接続処理部が、相手方端末装置と通信を行っている最中に自己の所在アドレスが変更になったことを検出する機能を有し、自己の所在アドレスの変更が検出された場合には、通信要求受付部に対する通信要求を行わないようにしたものである。
(9) 本発明の第9の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
複数の端末装置のそれぞれは、
自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
接続仲介装置から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行う通信開始要求部と、
通信開始要求に応じて、通信元の別な端末装置から、通信開始受諾確認が返信されてきたら、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
通信先の別な端末装置から、自己を通信元とする通信開始要求がなされたら、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
通信先セッション確立部もしくは通信元セッション確立部が相手方端末装置と通信を行っている最中に、自己の所在アドレスが変更になったときに、これを検出するアドレス変更検出部と、
アドレス変更検出部がアドレスの変更を検出したときに、通信要求受付部に対して、自己を通信元として、相手方端末装置を通信先とする通信要求を行う再接続処理部と、
を有し、
接続仲介装置は、
端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、
を有するようにしたものである。
(10) 本発明の第10の態様は、上述した第9の態様に係るネットワーク通信システムにおいて、
通信先セッション確立部および通信元セッション確立部が相手方端末装置との間に通信セッションを確立する際に、相手方端末装置の通信先特定情報を格納する機能を有し、
再接続処理部が、通信先セッション確立部もしくは通信元セッション確立部に格納されていた通信先特定情報を用いて通信要求を行うようにしたものである。
(11) 本発明の第11の態様は、上述した第9または第10の態様に係るネットワーク通信システムにおいて、
端末装置が、所定のOSプログラムと、このOSプログラムの下で動作する1つもしくは複数の通信アプリケーションプログラムと、をインストールしたコンピュータによって構成されており、
アドレス変更検出部が、OSプログラムもしくは通信アプリケーションプログラムが管理する情報に基づいて、所在アドレスの変更を検出するようにしたものである。
(12) 本発明の第12の態様は、上述した第9〜第11の態様に係るネットワーク通信システムにおいて、
アドレス変更検出部が、アドレスの変更を検出したときに、その旨を自己アドレス通知部に報知し、
自己アドレス通知部が、報知を受けたときに、変更後の所在アドレスを接続仲介装置に対して通知するようにしたものである。
(13) 本発明の第13の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
複数の端末装置のそれぞれは、
自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
接続仲介装置から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行う通信開始要求部と、
通信開始要求に応じて、通信元の別な端末装置から、通信開始受諾確認が返信されてきたら、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
通信先の別な端末装置から、自己を通信元とする通信開始要求がなされたら、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
通信先セッション確立部もしくは通信元セッション確立部が相手方端末装置と通信を行っている最中に生じた通信異常を検出する通信異常検出部と、
通信異常検出部が通信異常を検出したときに、通信要求受付部に対して、自己を通信元として、相手方端末装置を通信先とする通信要求を行う再接続処理部と、
を有し、
接続仲介装置は、
端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、
を有するようにしたものである。
(14) 本発明の第14の態様は、上述した第13の態様に係るネットワーク通信システムにおいて、
通信先セッション確立部および通信元セッション確立部が相手方端末装置との間に通信セッションを確立する際に、相手方端末装置の通信先特定情報を格納する機能を有し、
再接続処理部が、通信先セッション確立部もしくは通信元セッション確立部に格納されていた通信先特定情報を用いて通信要求を行うようにしたものである。
(15) 本発明の第15の態様は、上述した第13または第14の態様に係るネットワーク通信システムにおいて、
通信異常検出部が、相手方端末装置と通信を行っている最中に、相手方の通信異常検出部との間で、接続確認信号とこれに対する応答信号とを所定周期でやり取りする機能を有し、相手方に送信した接続確認信号に対する応答信号が所定期間内に受信できなかった場合に、通信異常の検出を行うようにしたものである。
(16) 本発明の第16の態様は、上述した第13〜第15の態様に係るネットワーク通信システムにおいて、
再接続処理部が、相手方端末装置と通信を行っている最中に自己の所在アドレスが変更になったことを検出する機能を有し、自己の所在アドレスの変更が検出された場合には、通信要求受付部に対する通信要求を行わないようにしたものである。
(17) 本発明の第17の態様は、上述した第1〜第16の態様に係るネットワーク通信システムにおける複数の端末装置のうちの1台の端末装置を単独の製品として提供するようにしたものである。
(18) 本発明の第18の態様は、上述した第17の態様に係る1台の端末装置をコンピュータにプログラムを組み込むことにより構成したものである。
本発明のネットワーク通信システムによれば、接続仲介装置は、両端末間に通信セッションが確立する最終段階まで関与する必要はなく、通信元の端末装置に対して通信先アドレスを伝達する段階(第1の実施形態の場合)、あるいは、通信先の端末装置に対して通信元アドレスを伝達する段階(第2の実施形態の場合)まで行えば足りる。したがって、従来のSIPを利用して両端末間の接続仲介処理を行うシステムに比べて、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
また、本発明に係る端末装置には、通信を行っている最中に、自己アドレスが変更されたり、通信異常が検出されたりした場合に、これまで通信を行っていた相手方端末装置に対して自動的に再接続を行う機能が備わっているため、端末装置のネットワーク上での所在アドレスが通信中に切り替わったとしても、引き続き通信を続行することが可能になる。
先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。 図1に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。 図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。 図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。 図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。 先願基本発明の第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。 図6に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。 図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。 図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。 図1もしくは図6に示すアドレステーブルの第1の変形例を示す図である。 図1もしくは図6に示すアドレステーブルの第2の変形例を示す図である。 図1もしくは図6に示すアドレステーブルの第3の変形例を示す図である。 図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順の変形例を示すブロック図である。 図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順の変形例を示すブロック図である。 ルータを介して端末装置をネットワークNに接続する場合の先願基本発明の実施形態を示すブロック図である。 図15に示す実施形態において、IPアドレスにポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。 先願基本発明に係る端末装置を通信アプリケーションプログラムを用いて構成する場合における自己アドレスの通知タイミングを示す表である。 先願基本発明に係るネットワーク通信システムにおいて、VPNを利用した実施形態の全体構成を示すブロック図である。 図18に示す実施形態におけるVPN通信の原理を示す図である。 図18に示す実施形態に用いるために、VIPアドレスを追加したアドレステーブルの例を示す図である。 先願基本発明に係るネットワーク通信システムにおいて、モバイル端末200Aと固定端末200Bとが相互に通信を行っている状態を示すブロック図である。 図21に示す例において、モバイル端末200Aの移動により担当基地局が変更された状態を示すブロック図である。 本発明の第1の実施形態に係るネットワーク通信システムにおいて、アドレス変更検出部を用いた実施例1の全体構成を示すブロック図である。 本発明の第1の実施形態に係るネットワーク通信システムにおいて、通信異常検出部を用いた実施例2の全体構成を示すブロック図である。 本発明の第2の実施形態に係るネットワーク通信システムにおいて、アドレス変更検出部を用いた実施例3の全体構成を示すブロック図である。 本発明の第2の実施形態に係るネットワーク通信システムにおいて、通信異常検出部を用いた実施例4の全体構成を示すブロック図である。
以下、本発明を図示する実施形態に基づいて説明する。なお、ここで述べる実施形態は、PCT/JP2016/055960に基づく優先権主張を伴う国際出願PCT/JP2017/006131(以下、先願となる国際出願と呼ぶ)に記載された発明(以下、先願基本発明と呼ぶ)を基礎として、この先願基本発明に通信遮断時の再接続機能を付加することにより、「端末装置のネットワーク上での所在アドレスが通信中に切り替わったとしても、引き続き通信を続行することが可能になる」という固有の付加的な作用効果が得られるようにしたものである。
このような事情から、ここでは、先願基本発明を基礎とした本発明の実施形態を、本発明の好ましい一実施形態として述べることにする。そこで、以下の§1〜§4において、まず、先願基本発明の説明を行い、§5以降において、本発明に固有の特徴について述べることにする。したがって、以下の§1〜§4で述べる内容(図1〜図20に示す内容)は、実質的に先願となる国際出願PCT/JP2017/006131に記載された実施形態と同じものである。
<<< §1. 先願基本発明の第1の実施形態 >>>
<1−1. 先願基本発明の第1の実施形態の構成>
図1は、先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置100と複数の端末装置200A〜200Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。
図では、説明の便宜上、4台の端末装置200A〜200Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置200A〜200Dは、共通の構成を有する同一の装置である。そこで、ここでは、この共通の端末装置について言及する場合は符号200を用いて示し、相互に区別する必要がある場合には、符号末尾にA〜Dを付して示すことにする。端末装置200の内部構成要素を示す各符号についても同様である。
結局、このネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置200A〜200Dと、これら複数の端末装置間の接続を仲介する接続仲介装置100と、を備えたシステムということになる。端末装置200としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。一方、接続仲介装置100は、これら各端末装置200A〜200DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。
各端末装置200A〜200Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置100は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。ここでは、図示のとおり、端末装置200A,200B,200C,200Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。
なお、先願基本発明を実施する上で、端末IDは、個々の端末装置を相互に識別することができる情報であれば、どのような情報であってもかまわない。図示の例では、4台の端末装置しか用いられていないため、「0010」のような4桁の数字を端末IDとして用いれば十分であるが、各端末装置を相互に識別するためには、ユニークなIDを用いる必要があるので、実用上は、より桁数の多い数字もしくは数字とアルファベットの組み合わせを用いるのが好ましい。具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話を端末装置として用いる場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることが可能である。
各端末装置200A〜200Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。図示の例の場合、端末装置200A,200B,200C,200Dには、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されている。所在アドレスとしては、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよい。図示の例のように、ネットワークNとしてインターネットを用い、通信プロトコルとしてIPを利用する場合は、個々の端末装置200のネットワークN上での所在を示す所在アドレスとして、グローバルIPアドレスもしくはNAT−IDを用いるのが好ましい。
端末IDが、個々の端末装置を相互に識別するために必要な情報であるのに対して、所在アドレスは、ネットワークNを介して個々の端末装置をアクセスするために必要な情報である。しかも多くの端末装置の場合、所在アドレスは常に一定ではなく、時事刻々と変化する。たとえば、携帯電話やモバイルパソコンなどの携帯型端末装置の場合、移動とともに交信相手となる基地局が変化するため、所在アドレスも時間的に変化する。また、デスクトップ型パソコンのような定点設置型の端末装置の場合も、プロバイダから付与されるIPアドレスなどが更新されるため、やはり所在アドレスが時間的に変化するのが一般的である。
後述するように、先願基本発明に用いる端末装置200は、自己のネットワーク上での所在を示す所在アドレスを、ネットワークNを介して接続仲介装置100に通知する機能を有している。このため、接続仲介装置100は、各端末装置200A〜200Dの最新アドレスを常に把握することができ、必要に応じて、各端末装置200A〜200Dにアクセスすることが可能である。
図示のとおり、接続仲介装置100には、アドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130が設けられている。前述したとおり、この接続仲介装置100は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
アドレステーブル格納部110には、各端末装置200A〜200Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTが格納されており、アドレステーブル更新部120は、各端末装置200A〜200Dからの通知に基づいて、このアドレステーブルTの内容を更新する処理を行う。また、通信先アドレス返信部130は、各端末装置200A〜200Dから接続仲介依頼があると、アドレステーブルTを参照することにより、通信先アドレスを返信する処理を行う。
図には、アドレステーブルTとして、4台の端末装置200A〜200Dのそれぞれについて、端末IDと所在アドレスとの対応関係を示す情報が格納されている。具体的には、端末装置200Aについては端末ID「0010」と所在アドレス「AD1」とが対応づけられ、端末装置200Bについては端末ID「0020」と所在アドレス「AD2」とが対応づけられ、端末装置200Cについては端末ID「0030」と所在アドレス「AD3」とが対応づけられ、端末装置200Dについては端末ID「0040」と所在アドレス「AD4」とが対応づけられている。
続いて、図2を参照しながら、端末装置200の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置200には、接続仲介依頼部210、通信要求受付部220、通信先セッション確立部230、通信開始要求部240、自己アドレス通知部250、通信元セッション確立部260が設けられている。
この端末装置200も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。なお、実際の端末装置200には、この他にも種々の構成要素が組み込まれている。たとえば、端末装置200がスマートフォンであれば、様々なアプリケーションプログラムを組み込むことにより、様々な処理機能をもった構成要素が付加されることになるが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。もちろん、端末装置200には、ユーザからの指示入力や文字入力を行う入力インターフェイスや、ユーザに情報を提示するためのディスプレイなどの構成要素も備わっているが、これらの構成要素についての説明も省略する。
結局、図2において、端末装置200内に6つのブロックとして描かれている構成要素は、先願基本発明に係る端末装置200において必須の機能要素ということになる。このブロック図には、各ブロック間の信号の流れを示す矢印として、太線矢印、細線矢印、白抜矢印の3通りの矢印が用いられている。ここで、太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立後の信号の流れを示している。
また、図2では、端末装置200内の6つの構成要素が、楕円、矩形、二重矩形という3通りのブロックを用いて描かれているが、これは、各構成要素の役割分担を示すための便宜である。具体的には、楕円ブロックで示されている構成要素は、端末装置200が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置200が「通信先」として機能する場合に必要な処理を実行する構成要素である。
本願において、「通信元」および「通信先」という用語は、2台の端末装置が相互に通信を行う場合に、これら2台を区別するために用いる用語であり、自発的に通信を開始するための処理を行う側を「通信元」と呼び、この「通信元」からの働きかけに応じて、当該「通信元」と通信を行うために必要な処理を行う側を「通信先」と呼んでいる。たとえば,2台の端末装置を電話として使う場合、発呼側の装置が「通信元」であり、着呼側の装置が「通信先」になる。「通信元」の端末装置は、特定の「通信先」を指定して、自発的に通信を開始するための処理を行うことになる。
もちろん、端末装置200は、「通信元」になったり「通信先」になったりする。「通信元」になったときには、図2に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図2に二重矩形ブロックで示されている構成要素による処理が行われる。以下、端末装置200の6つの構成要素の各機能を順に説明する。
上述したように、楕円ブロックで示されている自己アドレス通知部250は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100に対して通知する処理を実行する。所在アドレスとしてIPアドレスを用いるのであれば、自己アドレス通知部250は、現時点で自己に付与されたIPアドレスをネットワークNを介して接続仲介装置100に通知する処理を行うことになる。
通常、インターネットに接続可能な端末装置200には、インターネットプロバイダから所定のグローバルIPアドレスが付与されるので、自己アドレス通知部250は、端末装置200に付与されたグローバルIPアドレスを、所在アドレスとして接続仲介装置100に対して通知すればよい。また、ルータのNAT機能を利用して、プライベートIPアドレスが付与されている場合には、NAT−IDを所在アドレスとして接続仲介装置100に対して通知すればよい。所在アドレスを通知する際には、端末IDを同時に送信するようにする。
図1に示すアドレステーブル更新部120は、このような通知を受けて、アドレステーブルTの更新を行う。たとえば、端末装置200Aから接続仲介装置100に対して、端末ID「0010」と所在アドレス「AD1」とが通知された場合、アドレステーブル更新部120は、端末ID「0010」と所在アドレス「AD1」とを対応づけてアドレステーブルTに格納する処理を行う。
前述したとおり、一般的な端末装置200の場合、所在アドレスが時間的に変化する。したがって、実用上は、自己アドレス通知部250には、所定周期で繰り返して、現時点の自己(端末装置200)の所在アドレスを通知する機能をもたせておくのが好ましい。たとえば、自己アドレス通知部250が1分おきに繰り返し通知を行うようにすれば、アドレステーブルTは1分おきに最新の情報に更新されることになる。
あるいは、自己アドレス通知部250には、自己(端末装置200)の所在アドレスが変更になったときに、現時点の所在アドレスを通知する機能をもたせておくようにしてもよい。すなわち、初めて所在アドレスが付与された段階で、当該所在アドレスを初期状態のアドレスとして通知させ、その後は、所在アドレスが変更になるたびに新たな所在アドレスを通知させるようにすればよい。もちろん、所定周期で繰り返し通知する運用と、所在アドレスが変更になったときに通知する運用とを組み合わせてもかまわない。
次に、図2に矩形ブロックで示されている4つの構成要素について説明する。上述したように、これら4つの構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する。
まず、通信要求受付部220は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う。たとえば、端末装置200(通信元)のユーザが、特定の相手に電話をかけたい場合、当該相手が所持する別な端末装置(通信先)に対して通信を行いたい旨の通信要求を行うことになる。この通信要求は、たとえば、図示されていない入力インターフェイスを介したユーザの操作入力(たとえば、タッチパネル上での操作)として与えられ、相手先の端末装置を特定するための何らかの情報を含むものになる。
接続仲介依頼部210は、通信要求受付部220によって通信要求が受け付けられたときに、接続仲介装置100に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する。ここで、接続仲介依頼に含まれる通信先特定情報は、通信先の別な端末装置の端末IDであってもよいし、当該端末IDを特定することが可能な別な情報であってもかまわない(詳細は、§3−1で述べる)。
こうして、接続仲介依頼部210から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置100へと伝達される(前述したように、図における太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置100からは、図に太線矢印で示すように、通信先となる別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。これは、図1に示す通信先アドレス返信部130の機能によるものである。
すなわち、通信先アドレス返信部130は、端末装置200の接続仲介依頼部210から、接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行う。もちろん、返信の相手先は、接続仲介依頼を行った端末装置200である。要するに、通信先アドレス返信部130は、通信元の端末装置から通信先を特定した接続仲介依頼があると、アドレステーブルTを用いて、当該通信先の現時点での所在アドレスを検索し、これを通信元の端末装置に返信する処理を行うことになる。
このように、接続仲介依頼部210によって接続仲介依頼を行うと、接続仲介装置100からは、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。こうして返信されてきた通信先アドレスは、通信開始要求部240によって受信される。通信開始要求部240は、この通信先アドレスにネットワークNを介してアクセスして通信開始要求を行う。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置200(通信元)から別な1台の端末装置200(通信先)に宛てた信号ということになる。
このように、通信開始要求部240によって、通信先の別な端末装置に対して通信開始要求を送信すると、当該通信先の別な端末装置からは、この通信開始要求に応じて、通信開始受諾確認が返信されてくる(図の右側の細線矢印:この返信処理については、通信先の別な端末装置の通信先セッション確立部230の処理として後述する)。こうして返信されてきた通信開始受諾確認は、通信元セッション確立部260によって受信される。通信元セッション確立部260は、この通信開始受諾確認を受信したら、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図2の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
以上、図2に矩形ブロックで示されている4つの構成要素、すなわち、端末装置200が「通信元」として機能する場合に処理を実行する構成要素について説明したが、続いて、図2に二重矩形ブロックで示されている構成要素、すなわち、端末装置200が「通信先」として機能する場合に処理を実行する構成要素について説明する。
図2において、二重矩形ブロックで示されている構成要素は、通信先セッション確立部230である。この通信先セッション確立部230は、通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら(図の左側の下向き細線矢印)、当該通信元の別な端末装置に対して通信開始受諾確認を送信し(図の左側の上向き細線矢印)、当該通信元の別な端末装置との間に通信セッションを確立して通信を開始する。図2の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
結局、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部260と通信先端末装置の通信先セッション確立部230との間で行われることになる。別言すれば、図2の右端の白抜矢印は、ネットワークNを介して、図2の左端の白抜矢印に連なることになる。
<1−2. 第1の実施形態における具体的な通信手順>
これまで、図1および図2を参照しながら、先願基本発明の第1の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置100および端末装置200の各構成要素およびその機能を説明した。ここでは、この第1の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
図3は、図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでは、端末装置200C,200Dの図示は省略するが、自己アドレス通知部250の機能は同じである。なお、前述したとおり、接続仲介装置100と各端末装置200A,200Bとの間の情報のやりとり(太線矢印で示す)は、実際にはネットワークNを介して行われるが、ここでは説明の便宜上、ネットワークNの図示は省略する。
図3に示す端末装置200A,200Bは、図2に示す端末装置200と同様に6つの構成要素を有している。すなわち、端末装置200Aは、構成要素210A〜260Aを有し、端末装置200Bは、構成要素210B〜260Bを有しており、これら各構成要素は、図2に示す構成要素210〜260と同一のものである(符号末尾のA,Bは、いずれの端末装置の構成要素であるかを区別するために付したものである)。なお、この図3は、端末装置200A,200Bの自己アドレス通知機能を説明するための図であるので、自己アドレス通知部250A,250B以外の構成要素のブロックは破線で示してある。
自己アドレス通知部250A,250Bは、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100内のアドレステーブル更新部120に対して通知する処理を行う。図3には、自己アドレス通知部250Aからアドレステーブル更新部120への通知として、「0010:AD1」なるデータが送信されている例が示されているが、これは、自己の端末ID「0010」とともに自己の現時点での所在アドレス「AD1」を送信していることを示している。同様に、自己アドレス通知部250Bからアドレステーブル更新部120への通知として、「0020:AD2」なるデータが送信されている例が示されているが、これは、自己の端末ID「0020」とともに自己の現時点での所在アドレス「AD2」を送信していることを示している。
各端末装置200A,200Bの自己アドレス通知部250A,250Bから、このような通知を受けたアドレステーブル更新部120が、当該通知に基づいて、アドレステーブルTの内容を更新する処理を行う点は、既に§1−1で述べたとおりである。また、自己アドレス通知部250A,250Bが、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知する処理を行う点も§1−1で述べたとおりである。
このように、自己アドレス通知部250が行う所在アドレスの通知処理は、端末装置間の通信を開始するための直接的な処理ではないが、いつでも通信を開始できるようにするための準備処理ということができる。この通知処理を行うことにより、接続仲介装置100内のアドレステーブルTを最新の状態に保つことができ、実際に、特定の端末装置間で通信を行う必要が生じたときに、接続仲介装置100による正しい仲介処理が実現できるのである。
続いて、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図4は、図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。この図4においても、図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでも、接続仲介装置100と端末装置200Aとの間の情報のやりとり(太線矢印で示す)や、端末装置200A,200B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。
また、ここでは、説明の便宜上、端末装置200Aを通信元、端末装置200Bを通信先とした場合の手順を説明する。このため、図4では、通信元端末装置200A内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置200B内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
一方、図5は、図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図4のブロック図を参照しながら、図5の流れ図に従って、第1の実施形態における具体的な通信手順を説明する。なお、図4のブロック図において、各矢印に付された符号S1〜S7は、図5の流れ図における各ステップS1〜S7に対応するものである。逆に、図5の流れ図の各ステップにおいて、括弧書きで示された符号は、図4のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
まず、ステップS1において、通信要求受付処理が行われる。これは、図4に示す通信要求受付部220Aによって行われる処理であり、たとえば、通信元端末装置200AのユーザAが、通信先端末装置200BのユーザBに対して電話をしたい、という場合に、ユーザAの操作入力に基づいて行われる処理である。たとえば、各端末装置200A,200Bが携帯電話であり、端末IDとして、それぞれの電話番号を用いている場合は、ユーザAは端末装置200Aに対して、端末装置200Bの端末ID(電話番号)を入力する操作を伴う通信要求S1を行えばよい。すなわち、端末装置200Aの通信要求受付部220Aは、自己を通信元として、通信先の別な端末装置200Bに対する通信要求S1を受け付ける処理を行うことになる。
なお、通信要求受付部220Aが通信要求S1を受け付けるのは、必ずしもユーザAが電話をかけるための操作入力を行った場合に限られるわけではない。たとえば、ユーザA,Bが通信対戦型のゲームをプレイしている場合は、当該ゲーム用のアプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。あるいは、端末装置200A,200Bが何らかのビジネス処理を行うパソコンであり、パソコン200Aに組み込まれたビジネス処理用のアプリケーションプログラムが、パソコン200Bに対して自動的に定時報告を行うような場合、当該アプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。このように、先願基本発明における通信要求は、必ずしもユーザによって与えられるものではなく、端末装置に組み込まれているプログラムによって与えられる場合もある。
こうして、ステップS1において通信要求受付が行われると、続くステップS2において、接続仲介依頼が行われる。これは、図4に示す接続仲介依頼部210Aによって行われる処理であり、既に述べたとおり、接続仲介装置100に対して、通信先の別な端末装置200Bの端末IDを特定するための通信先特定情報を含む接続仲介依頼S2を送信する処理である。
なお、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側アドレス宛にアクノレッジ信号を返信する処理を行う。したがって、接続仲介依頼部210Aから接続仲介依頼S2を送信する際には、自己の所在アドレス「AD1」が接続仲介装置100側に伝達されることになる。後述するステップS4における返信処理は、この所在アドレス「AD1」宛に行われる。
こうして、通信元端末装置200Aの接続仲介依頼部210Aから、接続仲介装置100へ接続仲介依頼が送信されてくると、ステップS3において、この接続仲介依頼を受けた通信先アドレス返信部130が、アドレステーブル格納部110に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0020」)に対応づけられている所在アドレスを通信先アドレスとして認識する。たとえば、その時点におけるアドレステーブルTが、図1に示すようなものであったとすると、端末ID「0020」に対応づけられているアドレス「AD2」が通信先アドレスとして認識される。
そこで、ステップS4において、通信先アドレス返信部130が、ステップS3で認識した通信先アドレス「AD2」を返信する処理を行う。もちろん、返信相手は、ステップS2において接続仲介依頼を行った通信元端末装置200Aである。前述したとおり、接続仲介依頼S2には通信元端末装置200Aの所在アドレス「AD1」の情報が含まれているので、通信先アドレス返信部130は、当該所在アドレス「AD1」宛に、通信先アドレス「AD2」を返信することができる。
こうして、通信先アドレス返信部130から通信先アドレス返信S4(通信先アドレス「AD2」を伝達する情報)が送信されてくると、当該通信先アドレス返信S4は、通信開始要求部240Aによって受信される。結局、通信元端末装置200Aが、接続仲介装置100に対して接続仲介依頼S2を行うと、この接続仲介依頼S2に応じて、接続仲介装置100から、通信先端末装置200Bのネットワーク上での所在を示す通信先アドレス「AD2」が返信されてくることになる。接続仲介装置100に用意されているアドレステーブルTは、常に最新の状態に更新されているので、返信されてきた通信先アドレス「AD2」は、通信先端末装置200Bの最新の所在アドレスということになる。
そこで、この通信先アドレス返信S4により、通信先アドレス「AD2」を取得した通信開始要求部240Aは、ステップS5において、通信先端末装置200Bに対して通信開始要求S5を行う。すなわち、ネットワークNを介して、通信先アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。
通信先アドレス「AD2」宛に行われた通信開始要求S5は、通信先端末装置200Bの通信先セッション確立部230Bによって受信される。通信先セッション確立部230Bは、通信元端末装置200Aから、自己(端末装置200B)を通信先とする通信開始要求S5がなされたら、まず、ステップS6において、ネットワークNを介して通信元端末装置200Aに対して通信開始受諾確認S6を送信する。そして、続くステップS7において、通信元端末装置200Aとの間に通信セッションを確立して通信S7を開始する。
一方、通信元端末装置200A宛に送信されてきた通信開始受諾確認S6は、通信元セッション確立部260Aによって受信される。そして、ステップS7では、この通信開始受諾確認S6を受信した通信元セッション確立部260Aが、通信先端末装置200Bとの間に通信セッションを確立して通信S7を開始する処理も行われる。要するに、通信元端末装置200A側では、通信開始要求S5に応じて、通信先端末装置200Bから通信開始受諾確認S6が返信されてきたら、当該通信先端末装置200Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。
かくして、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信S7が行われることになる。この図5に示す流れ図において、接続仲介装置100が行った処理は、ステップS3のアドレステーブル参照処理とステップS4の通信先アドレス返信処理だけである。すなわち、接続仲介装置100が行う仲介処理は、通信元端末装置200Aからの接続仲介依頼S2を受けて、アドレステーブルTを参照し(ステップS3)、得られた通信先アドレスを通信元端末装置200Aに対して返信する(ステップS4)だけである。接続仲介装置100がこのような仲介処理を行うだけで、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信が開始することになる。
このように、先願基本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第1の実施形態に係るシステムの場合、接続仲介装置100は、両端末間に通信セッションが確立するまで関与する必要はなく、通信元端末装置に対して通信先アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
このように、先願基本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100が通信セッション確立まで関与しないため、接続仲介装置100は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部260Aもしくは通信先セッション確立部230Bから接続仲介装置100に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
なお、上述の実施例では、通信先セッション確立部230Bが、通信元端末装置200Aから、自己を通信先とする通信開始要求S5がなされた時に、ステップS6において、当該通信元端末装置200Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S5を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。すなわち、通信先セッション確立部230Bに何らかの条件判断機能をもたせておき、通信開始要求S5がなされた場合、所定の条件を満たしている場合に限り、通信開始受諾確認を送信する処理を行わせるようにすればよい。
たとえば、通信先端末装置200BのユーザBが、通信先セッション確立部230に対して、着信拒否の設定を行えるようにし、「着信拒否の設定がなされていない」という条件を満たす場合にのみ、通信開始受諾確認を送信する処理が行われるようにすればよい。また、通信開始要求S5に、通信元端末装置200Aを特定するための何らかの通信元特定情報(たとえば、端末ID)を含ませるようにしておけば、通信先セッション確立部230Bは、通信開始要求S5を行った通信元に応じて、当該要求を受諾したり拒絶したりする処理が可能になる。
たとえば、通信先セッション確立部230Bに、通信開始要求S5を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始要求S5を常に受諾する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信先セッション確立部230Bは、当該リストを参照することにより、通信開始要求S5を受諾するか拒絶するかの判断を行うことができる。
また、§3−3で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S5に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
<<< §2.先願基本発明の第2の実施形態 >>>
<2−1. 先願基本発明の第2の実施形態の構成>
続いて、先願基本発明の第2の実施形態を説明する。図6は、この第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置300と複数の端末装置400A〜400Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。
ここでも、説明の便宜上、4台の端末装置400A〜400Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置400A〜400Dは、共通の構成を有する同一の装置であり、この共通の端末装置について言及する場合は符号400を用いて示し、相互に区別する必要がある場合には、符号末尾にA〜Dを付して示すことにする。端末装置400の内部構成要素を示す各符号についても同様である。
この図6に示すネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置400A〜400Dと、これら複数の端末装置間の接続を仲介する接続仲介装置300と、を備えたシステムということになる。やはり端末装置400としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。また、接続仲介装置300は、これら各端末装置400A〜400DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。
各端末装置400A〜400Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置300は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。端末IDとしては、前述したとおり、個々の端末装置を相互に識別することができる情報であれば、どのような情報を利用してもかまわない。ここでは、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。
また、各端末装置400A〜400Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。ここでも、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dに、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されているものとする。この所在アドレスは、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよいが、実用上は、グローバルIPアドレスもしくはNAT−IDを用いればよい。前述したとおり、この所在アドレスは、時間的に変化する。
図示のとおり、接続仲介装置300には、アドレステーブル格納部310、アドレステーブル更新部320、通信元アドレス送信部330が設けられている。この接続仲介装置300は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
アドレステーブル格納部310は、図1に示すアドレステーブル格納部110と同じ構成要素であり、各端末装置400A〜400Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTを格納する機能を有する。図6に示すアドレステーブルTは、図1に示すアドレステーブルTと全く同じものである。アドレステーブル更新部320は、図1に示すアドレステーブル更新部120と同じ構成要素であり、各端末装置400A〜400Dからの通知に基づいて、アドレステーブルTの内容を更新する処理を行う。このように、図6に示す構成要素310,320は、実質的に図1に示す構成要素110,120と同じものであるため、ここでは詳細な説明は省略する。
一方、通信元アドレス送信部330は、図1に示す通信先アドレス返信部130に類似した機能を有する構成要素であるが、若干異なる動作を行う。すなわち、通信元アドレス送信部330は、各端末装置400A〜400Dから接続仲介依頼があると、アドレステーブルTを参照することにより通信先アドレスを認識し、当該通信先アドレス宛に、通信元アドレスを送信する処理を行う。この処理のより詳細な説明は後述する。
続いて、図7を参照しながら、端末装置400の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置400には、接続仲介依頼部410、通信要求受付部420、通信元セッション確立部430、通信開始要求部440、自己アドレス通知部450、通信先セッション確立部460が設けられている。
この端末装置400も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。もちろん、この端末装置400にも、必要に応じて、図示されていない種々の構成要素や入出力インターフェイスが組み込まれているが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。
この図7においても、図2と同様に、各ブロック間の信号の流れを示す太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立後の信号の流れを示している。
また、図2と同様に、図7に楕円ブロックで示されている構成要素は、端末装置400が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する構成要素である。端末装置400が、「通信元」になったときには、図7に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図7に二重矩形ブロックで示されている構成要素による処理が行われる。以下、図7に示す端末装置400の6つの構成要素の各機能を順に説明する。
まず、楕円ブロックで示されている自己アドレス通知部450は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置300に対して通知する処理を実行する。この自己アドレス通知部450の機能は、図2に示す自己アドレス通知部250の機能と全く同じであるため、ここでは詳しい説明は省略する。図6に示すアドレステーブル更新部320は、この通知を受けて、アドレステーブルTの更新を行う。
次に、図7に矩形ブロックもしくは二重矩形ブロックで示されている5つの構成要素について説明する。上述したように、矩形ブロックで示されている3つの構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行し、二重矩形ブロックで示されている2つの構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する。
まず、通信要求受付部420は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う構成要素であり、図2に示す通信要求受付部220と全く同じ機能をもつ構成要素である。また、接続仲介依頼部410は、通信要求受付部420によって通信要求が受け付けられたときに、接続仲介装置300に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する構成要素であり、図2に示す接続仲介依頼部210と全く同じ機能をもつ構成要素である。
こうして、接続仲介依頼部410から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置300へと伝達される(図における太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置300からは、図に太線矢印で示すように、通信元アドレスが送信されてくる。この通信元アドレスは、通信開始要求部440によって受信される。
ここで留意すべき点は、接続仲介装置300からの通信元アドレスの送信先は、接続仲介依頼を行った通信元の端末装置ではなく、通信先となる別な端末装置である点である。すなわち、図7に示す例において、矩形ブロックで示す接続仲介依頼部410は、通信元端末装置内の構成要素であるのに対して、二重矩形ブロックで示す通信開始要求部440は、別な通信先端末装置内の構成要素ということになる。したがって、上述の説明において、接続仲介依頼を発する接続仲介依頼部410と、これに応じて接続仲介装置300から送信されてくる通信元アドレスを受信する通信開始要求部440とは、それぞれ異なる端末装置400に所属していることになる。
要するに、図6に示されている通信元アドレス送信部330は、ある端末装置400の接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、当該接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する処理を行うことになる。
この通信元アドレス送信部330の処理機能をより明確にするため、ここでは、図6に示す端末装置400Bを通信元、端末装置400Aを通信先とした具体例(たとえば、端末装置400BのユーザBが発呼側となり、端末装置400AのユーザAを着呼側として電話をかけたような場合)について、上記手順を説明しよう。
この場合、通信元端末装置400Bから接続仲介装置300に対して、端末装置400Aを通信先として指定する接続仲介依頼が送信されることになる。当該接続仲介依頼を受けた通信元アドレス送信部330は、アドレステーブルTを参照することにより、通信先として指定された端末装置400Aの所在アドレス「AD1」を認識する。前述した第1の実施形態における通信先アドレス返信部130は、こうして認識した通信先の所在アドレスを通信元(接続仲介依頼の送信元)に返信する処理を行っていた。これに対して、図6に示す第2の実施形態における通信元アドレス送信部330は、認識した通信先の所在アドレス「AD1」に宛てて、通信元端末装置400Bの所在を示す通信元アドレス「AD2」(これは、接続仲介依頼の送信元のアドレスとして認識できる)を送信する。
結局、上例の場合、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼を行うと、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス(通信元端末装置400Bの所在アドレス「AD2」)が送信されることになる。ここが、前述した第1の実施形態と大きく異なる点である。
こうして送信されてきた通信元アドレスは、図7に示すとおり、通信先端末装置400A内の通信開始要求部440によって受信される。通信開始要求部440は、この通信元アドレス(通信元端末装置400Bのアドレス)に対して通信開始要求を行う。すなわち、通信開始要求部440は、接続仲介装置300から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークNを介して、当該通信元アドレスにアクセスして通信開始要求を行うことになる。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置400(通信先)から別な1台の端末装置400(通信元)に宛てた信号ということになる。
一方、通信先の別な端末装置(上例の場合、端末装置400A)から通信開始要求がなされた端末装置(上例の場合、端末装置400B)は、当該通信開始要求を通信元セッション確立部430で受信する(図の左側の下向き細線矢印)。そして、この通信元セッション確立部430は、通信先の別な端末装置(上例の場合、端末装置400A)に対して通信開始受諾確認を返信し(図の左側の上向き細線矢印)、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図7の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
こうして、通信元端末装置400Bから通信先端末装置400Aに対して返信された通信開始受諾確認は、通信先端末装置400Aの通信先セッション確立部460によって受信される(図の右側の細線矢印)。通信先セッション確立部460は、この通信開始受諾確認を受信したら、通信元の別な端末装置400Bとの間に通信セッションを確立して通信を開始する。図7の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
かくして、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部430と通信先端末装置の通信先セッション確立部460との間で行われることになる。別言すれば、図7の左端の白抜矢印は、ネットワークNを介して、図7の右端の白抜矢印に連なることになる。
<2−2. 第2の実施形態における具体的な通信手順>
これまで、図6および図7を参照しながら、先願基本発明の第2の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置300および端末装置400の各構成要素およびその機能を説明した。ここでは、この第2の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
まず、図7に示す端末装置における自己アドレス通知部450の機能であるが、これは図3を用いて説明した自己アドレス通知部250A,250Bの機能と全く同じであるため、ここでは説明を省略する。
そこで以下、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図8は、図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。この図8では、図の上段に接続仲介装置300が示され、図の下段に2組の端末装置400A,400Bが示されている。ここでも、接続仲介装置300と各端末装置400A,400Bとの間の情報のやりとり(太線矢印で示す)や、端末装置400A,400B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。
また、ここでは、説明の便宜上、端末装置400Bを通信元、端末装置400Aを通信先とした場合の手順を説明する。このため、図8では、通信元端末装置400B内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置400A内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
一方、図9は、図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図8のブロック図を参照しながら、図9の流れ図に従って、第2の実施形態における具体的な通信手順を説明する。なお、図8のブロック図において、各矢印に付された符号S11〜S17は、図9の流れ図における各ステップS11〜S17に対応するものである。逆に、図9の流れ図の各ステップにおいて、括弧書きで示された符号は、図8のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
まず、ステップS11において、通信要求受付処理が行われる。これは、図8に示す通信要求受付部420Bによって通信要求を受け付ける処理であり、図5のステップS1で述べた処理と同様であるため説明は省略する。続くステップS12では、この通信要求に基づいて、接続仲介依頼S12が行われる。これは、図8に示す接続仲介依頼部410Bによって行われる処理であり、図5のステップS2で述べた処理と同様であるため説明は省略する。
こうして、通信元端末装置400Bの接続仲介依頼部410Bから、接続仲介装置300へ接続仲介依頼S12(図示の例では、通信先特定情報として、通信先端末装置400Aの端末ID「0010」が含まれている)が送信されてくると、ステップS13において、この接続仲介依頼S12を受けた通信元アドレス送信部330が、アドレステーブル格納部310に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0010」)に対応づけられている所在アドレスを通信先アドレスとして認識する(S13)。たとえば、その時点におけるアドレステーブルTが、図6に示すようなものであったとすると、端末ID「0010」に対応づけられているアドレス「AD1」が通信先アドレスとして認識される。
そこで、ステップS14において、通信元アドレス返信部330が、ステップS13で認識した通信先アドレス「AD1」宛に、接続仲介依頼S12を送信した通信元端末装置400Bの端末ID「0020」に対応づけられている所在アドレス「AD2」を通信元アドレスとして送信する(S14)。
前述したとおり、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側のアドレス宛にアクノレッジ信号を返信する処理を行う。したがって、通信元アドレス送信部330は、接続仲介依頼S12を受信した時点で、その送信元である端末装置400Bの所在アドレス「AD2」を認識することができるので、通信元アドレス送信S14を行う際には、この認識した所在アドレス「AD2」をデータとして送信すればよい。
このように、通信元端末装置400Bが、接続仲介装置300に対して接続仲介依頼S12を行うと、この接続仲介依頼S12に応じて、接続仲介装置300から、通信先端末装置400A宛に(アドレステーブルTで検索した所在アドレス「AD1」宛に)、通信元端末装置400Bの所在を示す通信元アドレス「AD2」が送信されることになる。接続仲介装置300に用意されているアドレステーブルTは、常に最新の状態に更新されているので、通信元アドレス送信S14は、常に通信先端末装置400Aの最新の所在アドレスに対して行われることになる。
こうして、通信元アドレス送信部330から通信元アドレス送信S14(通信元アドレス「AD2」を伝達する情報)が送信されてくると、当該通信元アドレス送信S14は、通信先端末装置400Aの通信開始要求部440Aによって受信される。
この通信元アドレス送信S14により、通信元アドレス「AD2」を取得した通信開始要求部440Aは、ステップS15において、通信元端末装置400Bに対して通信開始要求S15を行う。すなわち、ネットワークNを介して、通信元アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。
通信元アドレス「AD2」宛に行われた通信開始要求S15は、通信元端末装置400Bの通信元セッション確立部430Bによって受信される。通信元セッション確立部430Bは、通信先端末装置400Aから、自己(端末装置400B)を通信元とする通信開始要求S15がなされたら、まず、ステップS16において、ネットワークNを介して通信先端末装置400Aに対して通信開始受諾確認S16を送信する。そして、続くステップS17において、通信先端末装置400Aとの間に通信セッションを確立して通信S17を開始する。
一方、通信先端末装置400A宛に送信されてきた通信開始受諾確認S16は、通信先セッション確立部460Aによって受信される。そして、ステップS17では、この通信開始受諾確認S16を受信した通信先セッション確立部460Aが、通信元端末装置400Bとの間に通信セッションを確立して通信S17を開始する処理も行われる。要するに、通信先端末装置400A側では、通信開始要求S15に応じて、通信元端末装置400Bから通信開始受諾確認S16が返信されてきたら、当該通信元端末装置400Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。
かくして、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信S17が行われることになる。この図9に示す流れ図において、接続仲介装置300が行った処理は、ステップS13のアドレステーブル参照処理とステップS14の通信元アドレス送信処理だけである。すなわち、接続仲介装置300が行う仲介処理は、通信元端末装置400Bからの接続仲介依頼S12を受けて、アドレステーブルTを参照し(ステップS13)、得られた通信先アドレスに宛てて、通信元アドレスのデータを送信する(ステップS14)だけである。接続仲介装置300がこのような仲介処理を行うだけで、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信が開始することになる。
このように、先願基本発明の第2の実施形態に係るネットワーク通信システムでは、第1の実施形態に係るネットワーク通信システムと同様に、接続仲介装置300の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第2の実施形態に係るシステムの場合、接続仲介装置300は、両端末間に通信セッションが確立するまで関与する必要はなく、通信先端末装置に対して通信元アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
このように、先願基本発明の第2の実施形態に係るネットワーク通信システムでは、接続仲介装置300が通信セッション確立まで関与しないため、接続仲介装置300は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部430Bもしくは通信先セッション確立部460Aから接続仲介装置300に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
なお、上述の実施例では、通信先端末装置400Aの通信開始要求部440Aが、接続仲介装置300からの通信元アドレス送信S14を受信したときに、ステップS15において、自動的に通信開始要求S15を送信しているが、場合によっては、通信開始要求部440Aに何らかの条件判断機能をもたせておき、通信元アドレス送信S14を受信したときに、所定の条件を満たしている場合に限り、通信開始要求S15を送信するようにしてもよい。あるいは、所定の条件を満たしていない場合には、通信開始要求S15の代わりに、通信開始拒絶通知を送信するようにしてもよい。
たとえば、通信開始要求部440Aに、通信開始を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始を常に許可する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信開始要求部440Aは、当該リストを参照することにより、通信元アドレス送信S14によって送信されてきた通信元アドレスが、ブラックリストに掲載されていた場合には、通信開始要求S15の送信を行わない処理をするか、通信開始拒絶通知を送信する運用を行うことができる。あるいは、通信元アドレスが、ホワイトリストに掲載されていた場合にのみ、通信開始要求S15を送信するような運用を行うことも可能である。
また、上述の実施例では、通信元セッション確立部430Bが、通信先端末装置400Aから、自己を通信元とする通信開始要求S15がなされた時に、ステップS16において、当該通信先端末装置400Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S15を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。
たとえば、§3−4で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S15に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
<<< §3. 先願基本発明の第1および第2の実施形態の変形例 >>>
ここでは、§1で述べた先願基本発明の第1の実施形態および§2で述べた先願基本発明の第2の実施形態について、いくつかの変形例を述べる。
<3−1. 端末IDに関する変形例>
これまで述べてきたように、図1の接続仲介装置100内のアドレステーブル格納部110には、アドレステーブルTが格納されている。図6の接続仲介装置300内のアドレステーブル格納部310も同様である。このアドレステーブルTは、個々の端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたテーブルであり、通信先アドレス返信部130もしくは通信元アドレス送信部330は、受信した接続仲介依頼に含まれている通信先特定情報に基づいてアドレステーブルTを参照し、通信先の所在アドレスを取得する。
たとえば、図4に示す第1の実施形態の場合、接続仲介依頼S2には、通信先端末装置200Bの端末ID「0020」が通信先特定情報として含まれており、通信先アドレス返信部130は、アドレステーブルTを参照することにより、端末ID「0020」に対応する所在アドレス「AD2」を取得することができる。同様に、図8に示す第2の実施形態の場合、接続仲介依頼S12には、通信先端末装置400Aの端末ID「0010」が通信先特定情報として含まれており、通信元アドレス送信部330は、アドレステーブルTを参照することにより、端末ID「0010」に対応する所在アドレス「AD1」を取得することができる。
このように、これまで述べてきた実施形態では、接続仲介依頼に含ませる通信先特定情報として、通信先端末装置の端末IDを用いていた。この端末IDは、個々の端末装置を相互に識別するための情報であり、具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話として機能する端末装置の場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることができる。
ただ、一般に、ユーザが、他のユーザの端末装置についての端末IDを記憶することは困難である。したがって、通信要求を行う際に、これらの端末IDを、ユーザ自身に直接入力させることは好ましくない。そこで、実用上は、通信要求を行う際に、端末IDで通信先を指定する代わりに、ユーザIDで通信先を指定させるようにするのが好ましい。端末IDが個々の端末装置を識別するためのIDであるのに対して、ユーザIDは個々のユーザを識別するためのIDである。一般的には、ユーザ名やニックネームをユーザIDとして用いることができる。
端末IDの代わりにユーザIDを用いて通信要求を行うことができるようにするには、通信要求受付部220,420内に、ユーザIDと端末IDとの対応表を用意しておけばよい。そして、ユーザが特定のユーザID(たとえば、ユーザ名)を指定して通信要求を行ったときに、通信要求受付部220,420が、用意されている対応表を利用してユーザIDを端末IDに変換して接続仲介依頼部210,410へ引き渡すようにすればよい。そうすれば、接続仲介依頼部210,410は、端末IDを含む接続仲介依頼を送信することができる。このようなユーザID(たとえば、ユーザ名)から端末ID(たとえば、電話番号)への変換処理機能は、一般的な携帯電話に「電話番号登録機能」として備わっている公知の機能であるため、ここでは詳しい説明は省略する。
端末IDの代わりにユーザIDを利用できるようにする別な方法として、ユーザIDと端末IDとの対応表を接続仲介装置100,300側に用意する方法を採ることもできる。たとえば、アドレステーブル格納部110,310内に、図1や図6に示すアドレステーブルTの代わりに、図10に示すようなアドレステーブルT1を格納しておくようにする。このアドレステーブルT1は、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDと、当該端末装置の端末IDと、を対応づける情報を含むテーブルである。
図10では、説明の便宜上、ユーザIDとして、「John」,「Mary」のようなユーザ名を用いた例を示すが、実際には、テーブルに収録されている個々のユーザを相互に識別できるように、各ユーザのフルネームをユーザIDとして登録しておくようにし、もし同姓同名のユーザがいた場合には、相互に区別できるようなユーザIDを登録するようにする。実際には、端末装置200,400の自己アドレス通知部250,450に、このようなユーザIDを接続仲介装置100,300側に申告する機能を設けておき、アドレステーブル更新部120,320に、申告を受けたユーザIDをアドレステーブルT1に登録する機能を設けておけば、図10に示すようなアドレステーブルT1を用意することが可能になる。
アドレステーブルT1を用意しておけば、通信元となる端末装置側では、通信先となる端末装置の端末IDを認識する必要はない。たとえば、図4に示す例において、通信元端末装置200Aから通信先端末装置200Bに対して発呼する場合、通信元端末装置200AのユーザA(John)は、通信先端末装置200BのユーザBのユーザ名「Mary」(ユーザID)を通信先として指定した通信要求を行えばよい。この場合、端末ID「0020」の代わりに、「Mary」なるユーザIDを通信先特定情報として含む接続仲介依頼S2が、接続仲介依頼部210Aから接続仲介装置100へ送信されることになる。
このような接続仲介依頼S2を受信した通信先アドレス返信部130は、図10に示すアドレステーブルT1を参照することにより、通信先特定情報として含まれていたユーザ名「Mary」に対応する端末ID「0020」を認識することができ、更に、この端末ID「0020」をもつ通信先端末装置200Bの所在アドレス「AD2」を認識することができる。
図11は、ユーザIDの代わりにアカウントIDを用いたアドレステーブルT2を示す図である。ユーザIDが、個々のユーザを特定する情報であるのに対して、アカウントIDは、個々のユーザが開設したユーザアカウントを特定する情報である。たとえば、図示の例における「U11111」なるアカウントIDは、ユーザ「John」が開設したユーザアカウントを示すIDであり、「U22222」なるアカウントIDは、ユーザ「Mary」が開設したユーザアカウントを示すIDである。もちろん、個々のユーザは、必要があれば複数のアカウントを開設することが可能である。
端末装置200,400の自己アドレス通知部250,450に、このようなアカウントを開設するための申込機能を設けておき、アドレステーブル更新部120,320に、当該申込に応じて、所定のユーザアカウントを設定し、アカウントIDをアドレステーブルT2に登録する機能を設けておけば、図11に示すようなアドレステーブルT2を用意することが可能になる。
図4に示す例において、アドレステーブル格納部110内に図11に示すようなアドレステーブルT2を用意しておけば、接続仲介依頼部210Aは、端末ID「0020」の代わりに、「U22222」なるアカウントIDを通信先特定情報として含む接続仲介依頼S2を接続仲介装置100へ送信すればよい。
このように、先願基本発明において、接続仲介依頼部から送信される接続仲介依頼には、通信先となる別な端末装置の端末IDを特定する役割を果たす何らかの「通信先特定情報」が含まれていれば足りる。この「通信先特定情報」は、端末ID自身であってもよいし、上例のように、ユーザIDやアカウントIDであってもかまわない。
結局、この§3−1で述べた変形例を§1で述べた第1の実施形態に適用する場合は、図4に示す構成において、アドレステーブル格納部110に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルT1(図10)もしくはT2(図11)を格納しておくようにする。また、接続仲介依頼部210Aは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用いた接続仲介依頼S2を送信するようにする。そして、通信先アドレス返信部130は、接続仲介依頼部210Aから接続仲介依頼S2が送信されてきたときに、アドレステーブルT1もしくはT2を参照して、接続仲介依頼S2に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにすればよい。
一方、この§3−1で述べた変形例を§2で述べた第2の実施形態に適用する場合は、図8に示す構成において、アドレステーブル格納部310に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルT1(図10)もしくはT2(図11)を格納しておくようにする。また、接続仲介依頼部410Bは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用いた接続仲介依頼S12を送信するようにする。そして、通信元アドレス送信部330は、接続仲介依頼部410Bから接続仲介依頼S12が送信されてきたときに、アドレステーブルT1もしくはT2を参照して、接続仲介依頼S12に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレス宛に、通信元アドレスを送信する処理を行うようにすればよい。
<3−2. 代替端末を利用する変形例>
前述したとおり、先願基本発明に利用可能な端末装置は、パソコン、携帯電話、タブレット型端末など多岐にわたり、最近は、同一のユーザが複数の端末装置を使い分けることも珍しくなくなってきている。ここでは、そのような状況を考慮して、特定の端末装置に対する着呼があったときに、当該着呼を同一ユーザの別な端末装置へ誘導する仕組をもった変形例を述べることにする。
ここで述べる変形例を実施する際には、予め、図12に示すようなアドレステーブルT3を用意しておく。このアドレステーブルT3の場合、4組のユーザID「John」,「Mary」,「Frank」,「Susie」について、それぞれ端末IDおよび所在アドレスが登録されているが、ユーザID「John」については2つの端末ID「0010」,「0011」が登録され、ユーザID「Frank」については3つの端末ID「0030」,「0031」,「0032」が登録されている。これは、ユーザJohnが、このネットワーク通信システムに利用可能な2台の端末装置を所有し、ユーザFrankが、3台の端末装置を所有しているためである。
ここで、同一のユーザIDに対応づけられて登録されている複数の端末IDを、1つのグループに所属する端末IDとして把握し、同じグループに所属する1つの端末IDを別な1つの端末IDについての代替端末IDと呼ぶことにすれば、図12に示すアドレステーブルT3は、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブルということができる。要するに、同一のユーザ名で複数の端末IDの登録があった場合には、これらの端末IDを同一のグループに所属するものとして把握し、相互に代替端末IDとして認識する取り扱いを行うようにすればよい。
たとえば、図12に示す例の場合、端末ID「0010」については1つの代替端末ID「0011」が登録されており、逆に、端末ID「0011」については1つの代替端末ID「0010」が登録されていることになる。一方、端末ID「0030」については2つの代替端末ID「0031」,「0032」が登録されており、端末ID「0031」については2つの代替端末ID「0030」,「0032」が登録されており、端末ID「0032」については2つの代替端末ID「0030」,「0031」が登録されていることになる。
ここで述べる変形例に係るシステムでは、このような代替端末IDを登録しておくことにより、利用不都合な状態にある端末装置宛に発呼があったときに、当該発呼を代替となる別な端末装置宛に転送させることができる。
たとえば、ユーザJohnが、スマートフォンからなる第1の端末装置(端末ID「0010」)とパソコンからなる第2の端末装置(端末ID「0011」)とを所有しており、通常は、いずれの端末装置も利用可能な状態になっているものとしよう。ところが、ある日、スマートフォンからなる第1の端末装置について、バッテリ切れで一時的に利用できない状態になったとする。この場合、もし、ユーザMaryが、自己の端末装置を通信元として、ユーザJohnのスマートフォンを通信先とする通信要求を行ったとしても、ユーザJohnのスマートフォンに対する正常な接続を行うことはできない。
ここで述べる変形例に係るシステムでは、このような場合、接続仲介装置が、ユーザJohnのスマートフォンの代わりに、その代替となるユーザJohnのパソコンに代替接続する処理を実行することができる。
この§3−2で述べる変形例を§1で述べた先願基本発明の第1の実施形態に適用する場合は、図4に示す構成に対して、次のような変更を施せばよい。
まず、アドレステーブル格納部110には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信先アドレス返信部130には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、たとえば、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。
通信先アドレス返信部130は、接続仲介依頼S2が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにする。
たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信先アドレス返信部130は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」を通信先アドレスとして返信する処理を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。
ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」を通信先アドレスとして返信する処理を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。
一方、この§3−2で述べる変形例を§2で述べた先願基本発明の第2の実施形態に適用する場合は、図8に示す構成に対して、次のような変更を施せばよい。
まず、アドレステーブル格納部310には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信元アドレス送信部330には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、上述したように、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。
通信元アドレス送信部330は、接続仲介依頼S12が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスに対して、接続仲介依頼S12を送信した通信元端末装置の所在アドレスを通信元アドレスとして送信する処理を行うようにする。
たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信元アドレス送信部330は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」宛に通信元アドレスの送信を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。
ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」宛に通信元アドレスの送信を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。なお、図12に示すユーザFrankのように、複数の代替端末IDが登録されている場合は、予め優先順位を定めておき、優先順位の高い順に実際に利用する代替端末IDを決定すればよい。
なお、上述の実施例では、通信先アドレス返信部130や通信元アドレス送信部330は、接続仲介依頼を受信した時点で、本来の通信先に対する試験アクセスを行い、利用不都合な状態にあるか否かを判定する処理を行っているが、その代わりに、個々の端末装置に対して定期的な試験アクセスを行うようにし、利用不都合な状態にある端末装置については、その時点でアドレステーブルにその旨の記録を行うようにしてもよい。この場合、各端末装置は、接続仲介依頼の有無にかかわらず、定期的に試験アクセスを受け、利用不都合な状態にあるか否かのチェックを受けることになり、チェック結果がアドレステーブルに記録されることになる。したがって、実際に接続仲介依頼があった場合は、このアドレステーブルの記録に基づいて利用不都合な状態にあるか否かを判定することができる。
なお、この変形例にいう「利用不都合な状態」とは、バッテリ切れの状態やネットワークへの接続障害が生じた状態のように「利用不能な状態」のみを意味するものではない。たとえば、端末装置の機能としては正常に利用可能な状態ではあるが、ユーザが恣意的に利用したくないと考え、そのような設定を行った状態も含むものである。たとえば、ユーザが自分の意思で「着信拒否」を設定した場合、当該端末装置は「利用不都合な状態」になる。したがって、上例の場合、ユーザJohnが所持するスマートフォンおよびパソコンがいずれも正常動作可能な状態であっても、もしユーザJohnが、スマートフォンに対して「着信拒否」を設定した場合、当該スマートフォンは「利用不都合な状態」になる。
この「着信拒否」の設定(「利用不都合な状態」の設定)は、個々の端末装置内にのみ記録しておいてもよいが、接続仲介装置内のアドレステーブルに記録するようにしてもよい。アドレステーブルに記録しておけば、各端末装置への試験アクセスを行うことなしに、「利用不都合な状態」にあることを認識できる。
<3−3. セキュリティを向上させる変形例(その1)>
ここでは、よりセキュリティを向上させたネットワーク通信システムを構築するための変形例を述べる。一般に、電子機器間でネットワークを介して情報のやりとりを行う場合、相手方の真正性を担保することは重要である。真正性が担保されない相手との交信は、クラッカーの攻撃を招くおそれがあり、セキュリティ上問題である。先願基本発明に係るネットワーク通信システムの場合、個々の端末装置と接続仲介装置との間の交信や、通信元端末装置と通信先端末装置との間の交信が不可欠であり、実用上、これら装置間通信におけるセキュリティ確保は重要である。
図13は、図4に示す第1の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第1の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。
第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置200Aから接続仲介装置100に対して接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S2を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200および接続仲介装置100には、このような認証処理機能が備わっていることになる。
なお、図示の例の場合、接続仲介装置100から通信元端末装置200Aに対して通信先アドレス返信S4を行う際の相互認証処理は省略されている(通信先アドレス返信S4を示す矢印は実線で描かれている)。これは、接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信先アドレス返信S4を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
また、図13に示すシステムの場合、通信元端末装置200Aから通信先端末装置200Bに対して通信開始要求S5を送信するときにも、通信元端末装置200Aと通信先端末装置200Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S5を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200には、このような認証処理機能が備わっていることになる。
なお、図示の例の場合、通信先端末装置200Bから通信元端末装置200Aに対して通信開始受諾確認S6を行う際の相互認証処理は省略されている(通信開始受諾確認S6を示す矢印は実線で描かれている)。これは、通信開始要求S5を送信するときに、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S6を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
ネットワークを介して接続された一対の装置間において、相手方の真正性を確認するための相互認証処理としては、既に種々の方法が知られているため、ここでは詳しい説明は省略する。一般的には、相手方の暗号鍵を利用した相互認証処理が利用されることが多い。たとえば、公開鍵暗号方式を利用した相互認証処理では、一方の装置で特定の平文データを相手方装置の公開鍵を用いて暗号化し、得られた暗号文データを相手方に送信し、これを受信した他方の装置では、当該暗号文データを自己の暗号鍵を用いて復号し、元の平文データが復元できることを確認する、といった処理手順を採ることができる。この処理手順を双方で行えば、相互に相手方の真正性を確認することができる。
なお、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理を、それぞれの暗号鍵を用いて行った場合は、当該暗号鍵を利用して、通信セッション確立後の両者間の通信S7を暗号化通信によって行うようにすれば、セキュリティを更に向上させることができる。具体的には、通信開始要求S5を送信するときの相互認証処理を、通信元端末装置200Aについての暗号鍵および通信先端末装置200Bについての暗号鍵を用いた処理によって行うようにし、通信元端末装置200Aと通信先端末装置200Bとの間における通信セッション確立後の通信S7が、上記相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにすればよい。
図13に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置100による仲介証明書の発行である。図示の例の場合、接続仲介装置100は、通信元端末装置200Aと通信先端末装置200Bとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置100が発行する証明書である。通信先端末装置200Bは、この仲介証明書により、接続仲介装置100による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。
まず、接続仲介依頼部210Aから通信先アドレス返信部130に対して、接続仲介依頼S2があると、通信先アドレス返信部130は、この接続仲介依頼S2の送信を受けて、通信元となる特定の端末装置200Aから通信先となる特定の端末装置200Bへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信先アドレス返信S4を行う際に、通信先アドレス「AD2」とともにこの仲介証明書を、通信元端末装置200Aに返信する。
したがって、通信開始要求部240Aは、通信先アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部240Aは、当該通信先アドレス「AD2」に対して通信開始要求S5を行う際に、この仲介証明書を併せて送信する。そうすると、通信先セッション確立部230Bは、通信開始要求S5とともに仲介証明書を受信することになる。
通信先セッション確立部230Bは、通信元の別な端末装置200Aから、自己を通信先とする通信開始要求S5とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信元の別な端末装置200Aに対して通信開始受諾確認S6を送信し、当該通信元の別な端末装置200Aとの間に通信セッションを確立して通信S7を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S6の送信を行わず、通信S7も開始しない。
前述したとおり、上例の場合の仲介証明書は、接続仲介装置100が「端末装置200Aから端末装置200Bへの仲介処理を実行した」ことを証明するものであるから、通信先セッション確立部230Bは、通信開始要求S5の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S5は端末装置200Aから送信されてきており、自分自は端末装置200Bであるから、「端末装置200Aから端末装置200Bへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
通信先端末装置200B内の通信先セッション確立部230Bは、通信元端末装置200Aからの通信開始要求S5を受信して、通信元端末装置200Aに対して通信開始受諾確認S6を送信し、通信セッションを確立して通信S7を行う。このとき、受信した通信開始要求S5が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信元端末装置200Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置100を経由した正規の手順を踏まずに、不正な方法により通信開始要求S5がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。
仲介証明書のこのような役割を考慮すると、通信先アドレス返信部130は、たとえば次のような方法で仲介証明書を作成すればよい。まず、接続仲介依頼S2に基づいて、通信元となる特定の端末装置200Aの所在アドレス(図示の例では「AD1」)および通信先となる特定の端末装置200Bの所在アドレス(図示の例では「AD2」)を認識する。そして、これら両所在アドレスを含む仲介証明用データを作成する。たとえば、両所在アドレスの文字列をそのまま連結して「AD1」+「AD2」のような文字列を仲介証明用データとしてもよいし、更に、別な秘密文字列「HAPPY」を付加して、「AD1」+「AD2」+「HAPPY」のような文字列を仲介証明用データとしてもよい。
続いて、こうして作成した仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより得られたデータを仲介証明書とすればよい。たとえば、一方向性関数としては、通信元端末装置200Aについての暗号鍵もしくは通信先端末装置200Bについての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。
たとえば、仲介証明用データが、「AD1」+「AD2」+「HAPPY」という文字列によって構成され、当該文字列に、通信先端末装置200Bの公開鍵を利用したハッシュ関数を作用させることにより仲介証明書を作成した場合を例にとってみよう。こうして作成された仲介証明書は、仲介証明用データのハッシュ値ということになる。
一方、通信開始要求S5とともに、上記仲介証明書を受信した通信先セッション確立部230Bは、次のような手順で、当該仲介証明書の正当性を確認することができる。まず、通信開始要求S5の送信元のアドレスとして、通信元端末装置200Aの所在アドレス「AD1」を認識することができる。また、自分自身の所在アドレス「AD2」も認識することができる。そして、予め取り決めがなされていた上記秘密文字列「HAPPY」(この秘密文字列は、当該ネットワーク通信システムの各構成装置のみが知り得るように管理されている)を用いることにより、「AD1」+「AD2」+「HAPPY」という文字列からなる仲介証明用データを作成する。
続いて、この仲介証明用データに対して自分自身の公開鍵を用いたハッシュ関数を作用させることにより仲介証明書を作成する。そして最後に、こうして作成した仲介証明書が通信開始要求S5とともに送信されてきた仲介証明書と一致することを確認すればよい。両者が一致すれば、仲介証明書の正当性が確認されたことになる。もちろん、不一致であれば、正当性は確認できないので、何らかの不正が行われている可能性があると判断できる。すなわち、仲介証明書の正当性が確認できない場合は、通信先セッション確立部230Bが受信した通信開始要求S5は、接続仲介装置100による正規の仲介処理に基づいてなされたものではない、と判断することができる。そのような場合、通信先セッション確立部230Bは、通信開始受諾確認S6の送信を行わず、通信セッションの確立を拒絶することになる。
なお、上例では、「AD1」+「AD2」+「HAPPY」なる仲介証明用データについてのハッシュ値を仲介証明書として用いているが、もちろん、上記仲介証明用データそのものを仲介証明書として用いることも可能である。ただ、十分なセキュリティを確保する上では、仲介証明用データそのものではなく、そのハッシュ値を仲介証明書として用いるのが好ましい。仲介証明用データには、「AD1」や「AD2」といった所在アドレスが含まれているので、クラッカーによる改竄を受けやすい。したがって、実用上は、上例のように、何らかの暗号鍵を利用した一方向性関数を作用させて仲介証明書を作成するのが好ましい。
ハッシュ関数などの一方向性関数を用いて仲介証明書を作成すれば、元の仲介証明用データを復元することはできないので、仲介証明書がクラッカーの手に渡ったとしても、不正な改竄を受ける可能性を低減することができる。不正な改竄を防止するという点では、上例の「HAPPY」のような秘密文字列を付加して仲介証明用データを作成することは有効である。もちろん、仲介証明書を発行した日付、時間、曜日などの変動要素を秘密文字列として用いることも可能である。
<3−4. セキュリティを向上させる変形例(その2)>
上述した§3−3では、§1で述べた先願基本発明の第1の実施形態についてセキュリティを向上させた変形例を述べた。ここでは、§2で述べた先願基本発明の第2の実施形態について、同様の方法でセキュリティを向上させた変形例を述べることにする。
図14は、図8に示す第2の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第2の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。
第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼S12を送信するときに、通信元端末装置400Bと接続仲介装置300との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S12を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。
同様に、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス送信S14を行うときにも、接続仲介装置300と通信先端末装置400Aとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S14を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400および接続仲介装置300には、上述した認証処理機能が備わっていることになる。
また、図14に示すシステムの場合、通信先端末装置400Aから通信元端末装置400Bに対して通信開始要求S15を送信するときにも、通信先端末装置400Aと通信元端末装置400Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S15を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400には、このような認証処理機能が備わっていることになる。
なお、図示の例の場合、通信元端末装置400Bから通信先端末装置400Aに対して通信開始受諾確認S16を行う際の相互認証処理は省略されている(通信開始受諾確認S16を示す矢印は実線で描かれている)。これは、通信開始要求S15を送信するときに、通信先端末装置400Aと通信元端末装置400Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S16を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
相互認証処理の具体的な方法は、既に§3−3で述べたとおりである。また、この図14に示す変形例の場合も、相互認証処理に用いた暗号鍵を利用して、通信セッション確立後の両端末装置間の通信S17を暗号化通信によって行うようにしてもよい。
図14に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置300による仲介証明書の発行である。図示の例の場合、接続仲介装置300は、通信元端末装置400Bと通信先端末装置400Aとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置300が発行する証明書である。通信元端末装置400Bは、この仲介証明書により、接続仲介装置300による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。
まず、接続仲介依頼部410Bから通信元アドレス送信部330に対して、接続仲介依頼S12があると、通信元アドレス送信部330は、この接続仲介依頼S12の送信を受けて、通信元となる特定の端末装置400Bから通信先となる特定の端末装置400Aへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信元アドレス返信S14を行う際に、通信元アドレス「AD2」とともにこの仲介証明書を、通信先端末装置400Aに返信する。
したがって、通信開始要求部440Aは、通信元アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部440Aは、当該通信元アドレス「AD2」に対して通信開始要求S15を行う際に、この仲介証明書を併せて送信する。そうすると、通信元セッション確立部430Bは、通信開始要求S15とともに仲介証明書を受信することになる。
通信元セッション確立部430Bは、通信先の別な端末装置400Aから、自己を通信元とする通信開始要求S15とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信先の別な端末装置400Aに対して通信開始受諾確認S16を送信し、当該通信先の別な端末装置400Aとの間に通信セッションを確立して通信S17を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S16の送信を行わず、通信S17も開始しない。
前述したとおり、上例の場合の仲介証明書は、接続仲介装置300が「端末装置400Bから端末装置400Aへの仲介処理を実行した」ことを証明するものであるから、通信元セッション確立部430Bは、通信開始要求S15の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S15は端末装置400Aから送信されてきており、自分自信は端末装置400Bであるから、「端末装置400Bから端末装置400Aへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
通信元端末装置400B内の通信元セッション確立部430Bは、通信先端末装置400Aからの通信開始要求S15を受信して、通信先端末装置400Aに対して通信開始受諾確認S16を送信し、通信セッションを確立して通信S17を行う。このとき、受信した通信開始要求S15が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信先端末装置400Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置300を経由した正規の手順を踏まずに、不正な方法により通信開始要求S15がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。
仲介証明書の具体的な作成方法は、§3−3で述べたとおりである。すなわち、この図14に示す変形例の場合も、通信元アドレス送信部330は、通信元となる特定の端末装置400Bの所在アドレス「AD2」および通信先となる特定の端末装置400Aの所在アドレス「AD1」を含む仲介証明用データ(必要に応じて、その他の秘密文字列を付加してもよい)に対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成すればよい。一方向性関数としては、通信元についての暗号鍵もしくは通信先についての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。このような仲介証明書を用いた正当性確認の具体的な手順は、既に§3−3で述べたとおりであり、ここでは説明を省略する。
<<< §4. ルータを用いた実用的な実施形態 >>>
これまで述べてきた先願基本発明の第1の実施形態や第2の実施形態では、各発明の基本原理を示す便宜上、各端末装置200A〜200D,400A〜400DがネットワークN(インターネット)に直接接続されている状態を示す図(図1,図6参照)を用いて説明を行ってきた。しかしながら、通常、各端末装置は、ルータを介してネットワークN(インターネット)に接続される。そこで、ここでは、先願基本発明について、端末装置をルータを介してネットワークに接続した実用的な実施形態を説明する。
<4−1. ルータを用いた基本的な実施例>
図15は、端末装置をルータを介してネットワークNに接続した先願基本発明の一実施形態を示すブロック図である。具体的には、この図15には、3台の端末装置200E,200F,200Gが、同一のルータRを介してネットワークN(インターネット)に接続された状態が示されている。
既に述べたとおり、先願基本発明における端末装置200は、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する電子機器であれば、どのような装置であってもかまわない。最近は、企業内LANや家庭内LANが普及し、パソコンやタブレット型端末は、通常、企業や家庭に設置されたルータ経由でインターネットへ接続される。また、最近の携帯電話通信網では、ルータの機能を有する基地局が利用されてきており、携帯電話は、このルータ機能を有する基地局経由でインターネットに接続することができる。
したがって、先願基本発明に利用される各端末装置は、実用上は、図15に例示するように、ルータRを介してインターネットに接続されることになる。ルータRは、LANを構築する機能を有し、図示の例の場合、ルータRより左側に描かれた部分が1つのサブネットを構成しており、クラスCのプライベートIPアドレスが付与されている。具体的には、各端末装置には、「192.168」なるネットワーク部と「0.11」,「0.12」,「0.13」なるホスト部とを有するIPアドレスが付与されている。このサブネット内の装置同士の交信は、ルータRを介さずに行うことができるが、サブネット外の装置にアクセスする場合は、ルータRを介した交信が必要になる。
図示の例の場合、端末装置200E(端末ID:0050)には、「192.168.0.11」なるプライベートIPアドレスが付与され、端末装置200F(端末ID:0060)には、「192.168.0.12」なるプライベートIPアドレスが付与され、端末装置200G(端末ID:0070)には、「192.168.0.13」なるプライベートIPアドレスが付与されている。また、実際の通信には、これらのIPアドレスとともにポート番号が利用される。図には、端末装置200Eの1本の通信路にポート番号P1、端末装置200Fの2本の通信路にポート番号P2,P3、端末装置200Gの4本の通信路にポート番号P4〜P7が付与された例が示されている。
ポート番号は、2バイトのデータからなり、通信のエンドポイントを特定するために利用される。たとえば、図に示す端末装置200Fには、所定のOSプログラムの下で動作する2組のアプリケーションプログラムAPP1,APP2がインストールされており、APP1についての通信路にはポート番号P2が割り当てられ、APP2についての通信路にはポート番号P3が割り当てられている。したがって、同じIPアドレス「192.168.0.12」を用いた通信であっても、ポート番号P2/P3の違いにより、APP1についての通信か、APP2についての通信かを区別することができる。
一方、図に示す端末装置200Gには、やはり2組のアプリケーションプログラムAPP1,APP2がインストールされているが、APP1については2組のポート番号P4,P5が割り当てられ、APP2については2組のポート番号P6,P7が割り当てられている。このように、同一のアプリケーションプログラムに複数のポート番号を割り当てて、複数の通信路を相互に区別することも可能である。たとえば、アプリケーションプログラムAPP1がWebブラウザプログラムであった場合、第1のWebページについての通信にはポート番号P4を割り当て、第2のWebページについての通信にはポート番号P5を割り当てる、という運用を行えば、それぞれ別のWebサーバに対して別個独立した通信が可能になる。このように、ポート番号は、個々のアプリケーションプログラムの都合に応じて任意に割り当てることができる。
ここでは、図示されているアプリケーションプログラムAPP2が、先願基本発明に係るネットワーク通信システムとしての機能を果たすための専用の通信アプリケーションプログラムであるものとして以下の説明を続ける。別言すれば、図示の端末装置200F,200Gは、所定のOSプログラムの管理下で動作する汎用のパソコン、スマートフォン、タブレット型端末などの装置であり、当該装置に専用の通信アプリケーションプログラムAPP2をインストールすることにより、これらの装置が先願基本発明に係る端末装置として機能することになる。
この場合、図2に示す端末装置200の構成要素である自己アドレス通知部250、通信要求受付部220、接続仲介依頼部210、通信開始要求部240、通信元セッション確立部260、通信先セッション確立部230による処理機能は、この通信アプリケーションプログラムAPP2を実行することにより実現される(一部の処理機能は、OSプログラムの実行により実現されるようにしてもよい)。同様に、図7に示す端末装置400の構成要素である自己アドレス通知部450、通信要求受付部420、接続仲介依頼部410、通信開始要求部440、通信元セッション確立部430、通信先セッション確立部460による処理機能は、この通信アプリケーションプログラムAPP2を実行することにより実現される(一部の処理機能は、OSプログラムの実行により実現されるようにしてもよい)。
図15には、このアプリケーションプログラムAPP2を示すブロックおよびその通信路を太線で示してある。各端末装置200E,200F,200Gとサブネット外の装置との間の通信は、ルータRを介して行われる。ルータRは、ネットワークアドレス変換機能(NAT(Network Address Translation)機能)を有しており、内側(図におけるルータRの左側)に接続された通信路について付与されたプライベートIPアドレスを、外側(図におけるルータRの右側)に接続された通信路について付与されたグローバルIPアドレスに変換するとともに、その逆の変換も行う。
図示の例の場合、ルータRの内側について付与された「192.168.0.11」〜「192.168.0.13」なるプライベートIPアドレスと、ルータRの外側について付与された「xx.73.5.111」なるグローバルIPアドレス(以下、ADxと記す)との間のアドレス変換が行われている。なお、上記グローバルIPアドレス内のxxは、任意の1バイトデータを示す(本願では、固有のグローバルIPアドレスの特定を避けるため、グローバルIPアドレスについては、その一部をxx,yy,zz等の記号で示すことにする)。また、上記アドレス変換の際には、一般にNAPT(Network Address Port Translation)と呼ばれている機能により、ポート番号についての変換も行われる。
たとえば、端末装置200Fの通信アプリケーションプログラムAPP2からの通信路に付与されたプライベートIPアドレスとポート番号との組み合わせ「192.168.0.12(P3)」は、グローバルIPアドレスADxとポート番号との組み合わせ「xx.73.5.111(P13)」に変換されている。したがって、ネットワーク(インターネット)Nを介して接続された外部装置に対して、端末装置200FのAPP2は、「xx.73.5.111(P13)」なる所在アドレス(IPアドレスにポート番号を付加した情報)で特定されることになる。同様に、端末装置200GのAPP2は、「xx.73.5.111(P16)」もしくは「xx.73.5.111(P17)」なる所在アドレスで特定されることになる。
図示の例の場合、ルータRの外側の複数の通信路には、いずれも同じグローバルIPアドレスADx(具体的には、「xx.73.5.111」)が付与されているが、ポート番号がそれぞれ異なるため、相互に区別することができる。ルータRの外側の装置から内側の装置に対するアクセスがあった場合には、逆に、グローバルIPアドレスADxをプライベートIPアドレスに変換する処理が行われる。たとえば、外部装置から「xx.73.5.111(P16)」なる所在アドレス宛のアクセスがあった場合、当該所在アドレスは、「192.168.0.13(P6)」に変換され、端末装置200Gの通信アプリケーションプログラムAPP2の第1番目の通信路宛のアクセスとして処理される。このようなNAPT機能は、広く利用されている既存の技術であるため、ここでは詳しい説明は省略する。
さて、先願基本発明に係るネットワーク通信システムの構成要素となる端末装置200には、図2に示すとおり、自己アドレス通知部250が含まれており、この自己アドレス通知部250により、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100に対して通知する処理が行われる。前述したとおり、この通知処理は、実際には端末装置200にインストールされている通信アプリケーションプログラムAPP2によって実行される。
したがって、図15に示す実施例の場合も、通信アプリケーションプログラムAPP2によって、接続仲介装置100宛に所在アドレスの通知が行われ、これを受けて、接続仲介装置100内のアドレステーブル更新部120が、各端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけた情報を、アドレステーブル格納部110内のアドレステーブルTに書き込む処理を実行する。
図15に示す実施例の場合、端末装置200F,200Gは、ルータRを介してネットワークNに接続されているため、自己アドレス通知部250は、ルータRが管理するLAN(サブネット)内のプライベートIPアドレスを所在アドレスとして通知する処理を行う。ただ、このプライベートIPアドレスは、ルータRによるNAT機能によりグローバルIPアドレスADxに変換されてネットワークNに送信される。したがって、接続仲介装置100に届くアドレスは、プライベートIPアドレスではなく、グローバルIPアドレスADxということになり、アドレステーブル更新部120は、このグローバルIPアドレスADxを、所在アドレスとしてアドレステーブルTに格納する処理を行う。
また、図15に示す実施例の場合、各端末装置のネットワーク上での所在を示す所在アドレスとして、IPアドレスにポート番号を付加した情報が用いられている。このため、自己アドレス通知部250は、プライベートIPアドレスにポート番号を付加した情報を所在アドレスとして通知する処理を行い、当該情報がルータRによって、グローバルIPアドレスにポート番号を付加した情報に変換され、接続仲介装置100に届くことになる。したがって、アドレステーブルTには、グローバルIPアドレスにポート番号を付加した情報が所在アドレスとして書き込まれることになる。
図16は、図15に示す実施形態において、IPアドレスにポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。図16(a) に示すアドレステーブルT41は、図15に示す端末装置200F(端末ID:0060)内の自己アドレス通知部250(通信アプリケーションプログラムAPP2)からの通知に基づいて、「端末ID:0060」に対応する所在アドレス(IPアドレスADxとポート番号P13との組み合わせ)の書き込みを行うとともに、端末装置200G(端末ID:0070)内の自己アドレス通知部250(通信アプリケーションプログラムAPP2)からの通知に基づいて、「端末ID:0070」に対応する所在アドレス(IPアドレスADxとポート番号P16との組み合わせ、及びIPアドレスADxとポート番号P17との組み合わせ)の書き込みを行った例である。
図15に示す例の場合、各端末装置200F,200G内の自己アドレス通知部250(通信アプリケーションプログラムAPP2)は、プライベートIPアドレスにポート番号を付加した情報を所在アドレスとして送信する処理を行うが、ルータRによって、グローバルIPアドレスにポート番号を付加した情報に変換されるため、実際にアドレステーブルT41に格納される所在アドレスは、図示のとおり、グローバルIPアドレスADxと変換後のポート番号との組み合わせになる。
たとえば、端末装置200Fの自己アドレス通知部250からは、送信元である自己の所在を示す所在アドレスとして「192.168.0.12」なるプライベートIPアドレスにポート番号「P3」を付加した情報が、端末ID「0060」を示す情報とともに送信されてくるが、ルータRを通過する際に、送信元である自己の所在を示す所在アドレスが、「xx.73.5.111」なるグローバルIPアドレスにポート番号「P13」を付加した情報に変換されることになる。したがって、アドレステーブルT41には、端末ID「0060」に対応する所属アドレスとして、「xx.73.5.111」なるグローバルIPアドレスADxと「P13」なるポート番号との組み合わせが書き込まれることになる。
図16(b) に示すアドレステーブルT42は、図16(a) に示すアドレステーブルT41の所在アドレス欄の情報を具体的なデータとして例示したものである。前述したとおり、図15に示す例の場合、ルータRの外側の通信路には、「xx.73.5.111」なるグローバルIPアドレスが付与されているため、図16(b) に示すアドレステーブルT42のIPアドレス欄には、いずれも「xx.73.5.111」なるデータが格納されている。一方、ルータRの外側の通信路に付与されるポート番号は、ルータRによって相互に重複しないように発生された2バイトの番号であり、図16(b) に示す例では、62801〜62803なるデータが格納されている。
結局、図15に示す接続仲介装置100には、端末装置200F,200Gについて、図16(b) に示すようなアドレステーブルT42が格納されることになる。そこで、図示されていない外部の通信元から、通信先特定情報として端末ID「0060」を含む接続仲介依頼があると、接続仲介装置100内の通信先アドレス返信部130は、アドレステーブルT42を参照することにより、端末ID「0060」に対応した所在アドレス(IPアドレス「xx.73.5.111」にポート番号「62801」を付加した情報)を通信先アドレスとして返信する。そこで、通信元となる端末装置は、IPアドレス「xx.73.5.111」およびポート番号「62801」で特定される通信先に対して、通信開始要求を行うことができる。
以上、主として図1に示す第1の実施形態(接続仲介装置100と端末装置200を用いる実施形態)においてルータRを用いた例を述べたが、図7に示す第2の実施形態(接続仲介装置300と端末装置400を用いる実施形態)においてルータRを用いた場合も同様である。
なお、接続仲介装置100,300内のアドレステーブル更新部120,320は、各端末装置の自己アドレス通知部250,450から所在アドレスの通知を受けるたびに、図16に例示したアドレステーブルを更新する処理を行う。前述したとおり、図15に示す実施例の場合、端末装置200F,200Gの自己アドレス通知部の処理機能は、所定のOSプログラムの管理下で動作する通信アプリケーションプログラムAPP2を実行することにより実現される。
そこで、実用上は、自己アドレス通知部250,450による自己アドレスの通知処理は、図17の表に示すタイミングで行うのが好ましい。図示の表におけるタイミング(1) は、通信アプリケーションプログラムAPP2に対するユーザによる操作入力時である。たとえば、通信アプリケーションプログラムAPP2を起動した後、「通信準備を行いますか(Yes/No)?」のようなメッセージを表示し、ユーザが「Yes」を指示する操作入力を行った時点で、自己アドレスの通知処理を行うようにすればよい。通常、通信アプリケーションプログラムAPP2が起動された時点では、既に端末装置のプライベートIPアドレスや、これに対応するグローバルIPアドレスが定まっており、自己アドレスの通知処理を行う環境が整っている。
図示の表におけるタイミング(2) は、通信アプリケーションプログラムAPP2の起動時である。このタイミング(2) を採用した場合、上述したメッセージの表示やユーザによる操作入力を待たずして、自動的に自己アドレスの通知処理が実行されることになる。実際には、プログラムAPP2の起動ルーチンに自己アドレス通知部250,450としての処理機能を組み込んでおけばよい。
図示の表におけるタイミング(3) は、OSプログラムの起動時であり、実質的には、端末装置の起動時ということになる。このタイミング(3) を採用する場合、OSプログラムの起動ルーチンに自己アドレス通知部250,450としての処理機能を組み込んでおけばよい。通常、OSプログラムの起動ルーチンにおいて、端末装置のプライベートIPアドレスや、これに対応するグローバルIPアドレスを決定する処理が行われるため、その後に、自己アドレス通知処理を自動的に行うようにしておけばよい。
<4−2. VPNを利用した実施例>
続いて、先願基本発明に係るネットワーク通信システムにおいて、VPN(Virtual Private Network)を利用した実施例を述べる。図15には、ルータRを介して端末装置をネットワークNに接続した実施例を例示した。この例の場合、ルータRの内側(図の左側)に構築されたローカルネットワークが1つのプライベートネットワークを構成しており、各端末装置200E,200F,200Gには、いずれも「192.168」なるネットワーク部で始まるプライベートIPアドレスが付与されている。このようなプライベートネットワークを、インターネットNなどの公衆ネットワークを跨いで拡張する方法として、VPNの技術が普及している。
図18は、先願基本発明に係るネットワーク通信システムにおいて、VPNを利用した実施形態の全体構成を示すブロック図である。ここでは、説明の便宜上、ある企業の東京本社に設定された3台の端末装置200H,200I,200J(端末IDは、それぞれ0081,0082,0083)と、パリ支社に設置された1台の端末装置200K(端末IDは、0091)という合計4台の端末装置によって、VPNを構築した単純な例を示すことにする。また、東京本社に設置された3台の端末装置200H,200I,200Jを第1グループに所属する第1の端末装置と呼び、パリ支社に設置された1台の端末装置200Kを第2グループに所属する第2の端末装置と呼ぶことにする。
図示のとおり、第1の端末装置200H,200I,200Jは、第1のルータR1を介してネットワーク(インターネット)Nに接続されており、第2の端末装置200Kは、第2のルータR2を介してネットワーク(インターネット)Nに接続されている。したがって、基本的には、図において第1のルータR1より上方に配置されている第1の端末装置200H,200I,200Jは、第1のルータR1が管理する第1のLAN内のホストということになり、図において第2のルータR2より下方に配置されている第2の端末装置200Kは、第2のルータR2が管理する第2のLAN内のホストということになる。
このため、第1の端末装置200H,200I,200Jには、第1のルータR1が管理する第1のLAN内のプライベートIPアドレスが付与され、第2の端末装置200Kには、第2のルータR2が管理する第2のLAN内のプライベートIPアドレスが付与されている。また、図15に示す例と同様に、IPアドレスとともにポート番号も付与されている。
図示の例の場合、第1のLANについては、クラスBのプライベートIPアドレスが付与されており、第1の端末装置200H,200I,200Jには、それぞれ「172.16.6.11(P1)」,「172.16.6.12(P2)」,「172.16.6.13(P3)」なるIPアドレスおよびポート番号が付与されている(ポート番号P1,P2,P3等は、実際には2バイトのデータである)。これらの情報は、第1のルータR1によって、それぞれ「yy.88.105.19(P11)」,「yy.88.105.19(P12)」,「yy.88.105.19(P13)」なるグローバルIPアドレスADyとポート番号との組み合わせに変換された後、インターネットNへ接続される。一方、図示の例の場合、第2のLANについては、クラスCのプライベートIPアドレスが付与されており、第2の端末装置200Kには、「192.168.99.11(P4)」なるIPアドレスおよびポート番号が付与されている。この情報は、第2のルータR2によって、「zz.99.214.28(P21)」なるグローバルIPアドレスADzとポート番号との組み合わせに変換された後、インターネットNへ接続される。
このままの状態では、第1グループに所属する第1の端末装置200H,200I,200Jが所属する第1のLANと、第2グループに所属する第2の端末装置200Kが所属する第2のLANとは、それぞれ別個独立したプライベートネットワークになるが、図示する実施例の場合、第1のLANの範囲をインターネットNを跨いで拡張するためのVPNが構築されている。すなわち、第2の端末装置200Kには、第2のルータR2が管理する第2のLAN内のプライベートIPアドレスおよびポート番号「192.168.99.11(P4)」が付与されるとともに、第1のルータR1が管理する第1のLAN内のプライベートIPアドレスおよびポート番号「172.16.6.14(P5)」が、VIPアドレスとして仮想的に付与されており、第1の端末装置200H,200I,200Jと第2の端末装置200Kとの間には、このVIPアドレスを用いて相互に交信することが可能となるようにVPNの設定がなされている。
したがって、図に破線で示すように、パリ支社に設置された端末装置200Kは、東京本社に設置された端末装置200H,200I,200Jと同様に、第1のルータR1が管理する第1のLAN内の端末装置として取り扱うことができる。図19は、図18に示す実施形態におけるVNP通信の原理を示す図である。図示の例は、東京本社に設置された端末装置200Hとパリ支社に設置された端末装置200Kとの間のVPN通信を示している。
図19に示すように、端末装置200HにはVPN通信部201Hが、端末装置200KにはVPN通信部201Kが、それぞれ設けられており、両者間にVPN暗号通信路が開設される。両者間でやりとりされるデータは暗号化されるため、実際には、インターネットNなどの公衆ネットワークを介して情報が伝達されるにもかかわらず、あたかもプライベートネットワークを介した利便性・安全性をもった情報の送受が可能になる。VPN通信部201H,201Kは、実際には、各端末装置にインストールされた専用のVPN用アプリケーションプログラムによって構築される。このようなVPNの具体的な仕組は公知の技術であるため、ここでは詳しい説明は省略する。
さて、このようなVPNの仕組を先願基本発明に係るネットワーク通信システムにおいて利用する場合は、接続仲介装置100内に格納されるアドレステーブルTに、VIPアドレスを格納しておくようにすると便利である。図20は、図18に示す実施形態に用いるために、VIPアドレスを追加したアドレステーブルの例を示す図である。図20(a) に示すアドレステーブルT51は、VPNの構成メンバーである端末装置200H〜200K内の自己アドレス通知部250からの通知に基づいて、各端末IDに対応する所在アドレス(IPアドレスとポート番号)を格納したものである。
ここで、端末装置200H〜200J(端末ID:0081〜0083)は、東京本社に構築された第1のLANに所属する装置であるが、端末装置200K(端末ID:0091)は、パリ支社に構築された第2のLANに所属する装置である。ただ、上述したVPNの仕組により、第1のLANは端末装置200Kまで仮想的に拡張されており、端末装置200Kには、「VIP(200K)」なるVIPアドレスが付与されている。このため、図20(a) に示すアドレステーブルT51の端末ID「0091」については、更に、VIP欄に「VIP(200K)」なるVIPアドレスが格納されている。
図20(b) に示すアドレステーブルT52は、図20(a) に示すアドレステーブルT51の所在アドレス欄およびVIP欄の情報を具体的なデータとして例示したものである。図18に示す例の場合、第1のルータR1の外側の各通信路には、「yy.88.105.19」なるグローバルIPアドレスADyに、ポート番号P11〜P13を付加した情報が所在アドレスとして付与されているため、図20(b) に示すアドレステーブルT52の端末ID「0081〜0083」のIPアドレス欄には、いずれも「yy.88.105.19」なるデータが格納されており、ポート番号欄には、第1のルータR1によって発生された2バイトの番号「54701〜54703」が格納されている。
一方、第2のルータR2の外側の各通信路には、「zz.99.214.28」なるグローバルIPアドレスADzに、ポート番号P21を付加した情報が所在アドレスとして付与されているため、図20(b) に示すアドレステーブルT52の端末ID「0091」のIPアドレス欄には、「zz.99.214.28」なるデータが格納されており、ポート番号欄には、第2のルータR2によって発生された2バイトの番号「61999」が格納されている。そして、更に、端末ID「0091」のVIP欄には、「172.16.6.14」なるVIPアドレス(VPNの設定により、端末装置200Kに対して付与された第1のLANについての仮想的なプライベートアドレス)が格納されている。
このように、アドレステーブルT52のVIP欄に「172.16.6.14」なるVIPアドレスを格納するには、第2の端末装置200Kの自己アドレス通知部250に、接続仲介装置100に対して、VPNの設定により付与されたVIPアドレスを通知する機能をもたせておき、アドレステーブル更新部120に、このVIPアドレスを第2の端末装置200Kの所在アドレスと対応づけてアドレステーブルT52に格納する機能をもたせておけばよい。
このように、アドレステーブルT52に第2の端末装置200KのVIPアドレスを格納しておくようにすれば、たとえば、第1の端末装置200Hが第2の端末装置200Kを通信先として通信を行う際に、第1の端末装置200Hの接続仲介依頼部210が、第2の端末装置200KのVIPアドレス「VIP(200K)」を通信先特定情報として用いて通信先の特定を行うことができる。
具体的には、端末装置200Hの接続仲介依頼部210が、通信先特定情報として「172.16.6.14」なるVIPアドレスを含む接続仲介依頼を行うようにすれば、接続仲介装置100内の通信先アドレス返信部130は、図20(b) に示すアドレステーブルT52を参照することにより、VIPアドレス「172.16.6.14」に対応する所在アドレス「zz.99.214.28(61999)」を通信先アドレスとして返信することができる。通常、VPNの設定を行った場合、アプリケーションプログラムのレイヤーでは、端末装置200Kは、「172.16.6.14」なるVIPアドレスをもった装置として認識されているので、このVIPアドレスを用いて接続仲介依頼を行うことができれば便利である。
もちろん、必要があれば、VIPアドレス「172.16.6.14」とともに、ポート番号「P5」を格納しておくようにしてもよい。そうすれば、「172.16.6.14(P5)」なる情報を用いて、特定のポート番号の指定を含む接続仲介依頼を行うことができる。
以上、図1に示す先願基本発明の第1の実施形態(接続仲介装置100と端末装置200を用いる実施形態)においてVPNの設定を行い、プライベートネットワークの範囲を仮想的に拡張する例を述べたが、図7に示す先願基本発明の第2の実施形態(接続仲介装置300と端末装置400を用いる実施形態)においてVPNの設定を行う場合も同様である。
<<< §5. 本発明により解決される技術的な問題 >>>
これまで、国際出願PCT/JP2017/006131に記載されている先願基本発明に係るネットワーク通信システムを説明してきた。しかしながら、この先願基本発明に係るシステムには、端末装置のネットワーク上での所在の切り替えが通信中に生じた場合、通信が中断してしまうという技術的な問題が存在する。ここでは、この技術的な問題をより具体的に説明する。
図21は、先願基本発明に係るネットワーク通信システムにおいて、モバイル端末200Aと固定端末200Bとが相互に通信を行っている状態を示すブロック図である。たとえば、モバイル端末200Aがスマートフォン、固定端末200Bがデスクトップパソコンというようなケースが図示の例に相当する。図1に示す例と同様に、端末装置200Aには端末ID「0010」が、端末装置200Bには端末ID「0020」が、それぞれ付与されている。また、この時点において、端末装置200AのインターネットN上の所在アドレスは「AD1」であり、端末装置200BのインターネットN上の所在アドレスは「AD2」である。
ここでは、接続仲介装置100によって、両端末装置200A,200B間の接続仲介処理が既に完了しており、両者間で通信が行われているものとしよう。接続仲介処理は完了しているため、両端末装置200A,200B間の通信には、もはや接続仲介装置100は関与していないことになる。すなわち、両者間には既に通信セッションが確立しており、端末装置200Aは相手先の端末装置200Bの所在アドレス「AD2」を認識し、端末装置200Bは相手先の端末装置200Aの所在アドレス「AD1」を認識している。
ただ、端末装置200Aはスマートフォンであり、現時点では、図示のとおり、携帯電話の事業者が設置した最寄りの基地局B1を介してインターネットNに接続されている。このため、このスマートフォンが移動すると、担当基地局が変更される可能性がある。図22は、図21に示す例において、モバイル端末200Aの移動により担当基地局が基地局B1から基地局B2に変更された状態を示すブロック図である。ここで、破線は移動前の図21に示す端末装置200Aおよび基地局B1を示している。端末装置200Aは、移動後、新たな基地局B2を介してインターネットNに接続されることになる。
ここで問題になるのは、通常、モバイル端末の担当基地局が切り替わると、当該モバイル端末のネットワーク上での所在アドレスも切り替わる点である。図22に示す例の場合、端末装置200Aの所在アドレスは「AD1」から「AD9」に切り替わっている。これは、移動により新たな基地局B2と交信することになった端末装置200Aに対して、基地局B2から新たな所在アドレスは「AD9」が付与されたことを意味する。したがって、端末装置200Aは、この基地局B2の担当ゾーンにいる限り、新たな所在アドレス「AD9」を用いて外部と通信することになる。
もちろん、§1〜§4で述べてきた先願基本発明に係るネットワーク通信システムは、個々の端末装置の所在アドレスが時々刻々と変化することを考慮に入れ、各端末装置内の自己アドレス通知部250,450によって、適宜、最新の自己アドレスを接続仲介装置100,300に通知する仕様を採用している。したがって、接続仲介装置100,300内に格納されるアドレステーブルTの内容は、随時、最新の情報に更新されることになり、接続仲介装置100,300は、この最新のアドレステーブルTに基づいて、接続仲介処理を実行することができる。
しかしながら、図21に示す例のように、既に接続仲介処理が完了し、両端末装置200A,200B間で通信が行われている段階では、接続仲介装置100は両者間の通信に全く関与していないことになる。これが本発明の1つの特徴であり、当該特徴によって接続仲介装置100の処理負荷を軽減する効果が得られる。
したがって、図22に示す例のように、端末装置200Aの所在アドレスが「AD1」から「AD9」に切り替わった場合、たとえ端末装置200A内の自己アドレス通知部250Aによって、新たな自己アドレス「AD9」が接続仲介装置100に通知され、接続仲介装置100内のアドレステーブルTにおいて、端末ID「0010」に対応する所在アドレスが「AD1」から「AD9」に更新されたとしても、その事実は、通信相手である端末装置200Bに知らされることはない。別言すれば、図22に示す状態において、端末装置200Bは、依然として、通信相手である端末装置200Aの所在アドレスが「AD1」のままであると認識していることになる。
このため、図22に示す状態では、端末装置200Aから端末装置200B宛(アドレスAD2宛)の通信パケットは届くが、端末装置200Bから端末装置200A宛(アドレスAD1宛)の通信パケットは届かないことになり、両者間の通信は中断してしまう。
このような問題は、モバイル端末の移動時に限られるものではなく、一般的な端末装置であっても、ネットワークインターフェイスが何らかの事情で切り替わった場合にも発生する。通常、端末装置には、複数のネットワークインターフェイス(ハードウェアインターフェイスもあれば、プログラムによるソフトウェアインターフェイスもある)が設けられており、ユーザの切り替え操作や、アプリケーションプログラムによる切り替え指示によって、ネットワークインターフェイスが切り替えられることがある。このようにネットワークインターフェイスが切り替わると、通常、ネットワーク上での所在アドレスも切り替えられてしまう。
このように、ネットワークインターフェイスの切り替えに基づく所在アドレスの変更は、自己アドレス通知部によって接続仲介装置に通知されたとしても、現在通信中の相手先の端末装置には通知されないので、やはり、両者間の通信は中断してしまう。
結局、§1〜§4で述べた先願基本発明に係るネットワーク通信システムには、一対の端末装置間に通信セッションが確立し、両者間での通信が行われている最中に、少なくとも一方の端末装置のネットワーク上での所在アドレスが切り替わった場合、両者間の通信が中断してしまうという問題がある。このため、中断を復旧するには、ユーザの操作やアプリケーションプログラムの指示により、再接続を行うための処理が必要になる。本発明では、このような問題に自動的に対処することが可能になり、通信中に所在アドレスが切り替わった場合でも、引き続き通信を続行することが可能になる。
本発明の基本概念は、先願基本発明に通信遮断時の再接続機能を付加することにより、端末装置のネットワーク上での所在アドレスが通信中に切り替わったとしても、自動的に再接続を行うことにより、引き続き通信を続行するようにする点にある。本発明は、§1で述べた先願基本発明の第1の実施形態に適用することも可能であるし、§2で述べた先願基本発明の第2の実施形態に適用することも可能である。もちろん、§3,§4で述べた変形例等に適用することも可能である。そこで、以下、§6において、本発明を先願基本発明の第1の実施形態に適用した例を本発明の第1の実施形態として述べ、§7において、本発明を先願基本発明の第2の実施形態に適用した例を本発明の第2の実施形態として述べる。
<<< §6. 本発明の第1の実施形態 >>>
ここでは、先願基本発明の第1の実施形態(§1参照)に本発明を適用した例を、本発明の第1の実施形態として述べる。具体的には、アドレス変更検出部を用いた実施例1と通信異常検出部を用いた実施例2をそれぞれ図面を用いて説明する。もちろん、これら実施例1,2についても、§3,§4で述べた変形例等のバリエーションを適用することができる。また、これら実施例1,2の双方の機能を備えたシステムを構築することも可能である。
<6−1. 実施例1:アドレス変更検出部を用いた例>
図23は、本発明の実施例1に係るネットワーク通信システムの全体構成を示すブロック図である。この実施例1は、本発明の第1の実施形態において、アドレス変更検出部を用いた実施例に相当する。図示のネットワーク通信システムは、図2に示す先願基本発明の第1の実施形態に係るシステムにおける各端末装置200に、再接続処理部270とアドレス変更検出部280を追加したものである。そこで、便宜上、この実施例1に係る端末装置についても、図2に示す端末装置と同じ符号「200」を用いることにし、一対の端末装置間の通信を説明する際には、必要に応じて、「200α」,「200β」と呼んで両者を区別することにする。
図23に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。ここで、図23に示す構成要素210,220,230,240,250,260は、図2に示す同符号の構成要素と同じ機能をもつ構成要素であるため、ここではこれらの構成要素についての説明は省略する。図23に示す端末装置200では、再接続処理部270とアドレス変更検出部280とが新たに追加されている。ここでは、これら新規構成要素を太線ブロックで示してある。以下、これら新規構成要素の機能について説明する。
なお、以下の説明では、便宜上、図23に示されている端末装置200を「端末装置200α」と呼び、通信の相手方となる別の端末装置200を「端末装置200β」と呼ぶことにする。端末装置200αの構成と端末装置200βの構成は全く同じであり、いずれも図23に各ブロック210〜280として示されている構成要素を備えている。
まず、アドレス変更検出部280は、通信元セッション確立部260もしくは通信先セッション確立部230が、相手方端末装置200βと通信を行っている最中に、自己の所在アドレスが変更になったとき、これを検出する役割を果たす構成要素である。すなわち、アドレス変更検出部280は、図示されている端末装置200αと相手方端末装置200βとの間に通信セッションが確立した後、両者間で通信が行われている最中に、端末装置200αの所在アドレス(自己アドレス)が変更になったことを検出する機能を有している。自己アドレスの変更が検出された場合、その旨が再接続処理部270に伝達される。図示のブロック280から270へ向かう矢印は、この伝達信号を示している。
§5で述べたとおり、図示されている端末装置200αの所在アドレスの変更は、端末装置200αがモバイル端末であり、移動によって担当基地局が変更になった場合や、端末装置200αのネットワークインターフェイスが何らかの事情で切り替わった場合に発生する。このアドレス変更検出部280が自己の所在アドレスの変更を検出するのは、あくまでも、端末装置200αが相手方端末装置200βと通信を行っている最中である。別言すれば、自己の所在アドレスの変更によって中断した通信を復旧するために再接続を行う必要が生じたとき、ということになる。
なお、§1では、図4を参照しながら、端末装置200Aを通信元として、端末装置200Bを通信先とする例を説明したが、この図4に示す通信元の端末装置200Aは、相手方となる通信先の端末装置200Bに対して能動的に接続仲介依頼を行う側に相当し、通信先の端末装置200Bは、当該接続仲介依頼で指定された相手側に相当する。これに対して、図23に示す実施例の説明では、自己アドレスの変更を検出して再接続処理を実行する側を通信元(再接続時における通信元)の端末装置200αと呼び、その相手側を通信先(再接続時における通信先)の端末装置200βと呼んでいる。このように、当初(再接続を行う前)の通信元と通信先の関係は、再接続時の通信元と通信先の関係に必ずしも一致するものではない。
たとえば、図4に示す例では、まず、当初の通信元である端末装置200Aが、当初の通信先である端末装置200Bを指定して、接続仲介装置100に対して接続仲介依頼(S2)を行うことにより、最終的に、通信元端末装置200Aの通信元セッション確立部260Aと通信先端末装置200Bの通信先セッション確立部230Bとの間で、図に白抜矢印で示すように、通信(S7)が実行されることになる。
このように、図4に示す通信(S7)が行われている最中に、もし、当初の通信元である端末装置200Aの所在アドレスAD1が新たな所在アドレスAD9に変更された場合は、アドレスの変更が生じた端末装置200A(すなわち、当初の通信元)が、図23に示す端末装置200(すなわち、再接続時における通信元の端末装置200α)になり、当初の通信先であった端末装置200Bは、再接続時における通信先の端末装置200βになる。この場合、再接続の前後において、通信元と通信先の関係に変わりはない。
これに対して、図4に示す通信(S7)が行われている最中に、もし、当初の通信先である端末装置200Bの所在アドレスAD2が新たな所在アドレスAD9に変更された場合は、アドレスの変更が生じた端末装置200B(すなわち、当初の通信先)が、図23に示す端末装置200(すなわち、再接続時における通信元の端末装置200α)になり、当初の通信元であった端末装置200Aは、再接続時における通信先の端末装置200βになる。この場合、当初の通信先が再接続時の通信元になり、当初の通信元が再接続時の通信先になるので、再接続の前後において、通信元と通信先の関係が逆転することになる。
いずれにしても、本発明における「通信元」と「通信先」という概念は、接続仲介装置が接続仲介処理を行う際に意味をもつ概念であり、接続仲介処理が完了して両端末装置間での通信が開始した後は、もはや意味のない概念になる。したがって、再接続時には、新たに、どちらか一方が「通信元」となり、他方が「通信先」となる。
図23に示す例の場合、図示の端末装置200が、当初の通信元であった場合には、図示されている通信元セッション確立部260の右側に伸びた白抜矢印による通信が行われていることになり、図示の端末装置200が、当初の通信先であった場合には、図示されている通信先セッション確立部230の左側に伸びた白抜矢印による通信が行われていることになる。このように、図23に示す端末装置200は、当初は通信元であったり、通信先であったりする場合がある。したがって、図4では、「通信元」として機能する際に用いる構成要素を一重矩形ブロックで示し、「通信先」として機能する際に用いる構成要素を二重矩形ブロックで示したが、図23では、両者の区別を行わずに、いずれも一重矩形ブロックで示してある。図24〜図26でも同様である。
再接続処理部270は、アドレス変更検出部280が自己アドレスの変更を検出したときに、通信要求受付部220に対して、自己(端末装置200α)を通信元として、これまで通信を行っていた相手方端末装置200βを通信先とする通信要求を行う。通信要求受付部220は、受け付けた通信要求を接続仲介依頼部210に与える。これにより、接続仲介依頼部210は、接続仲介装置100に対して、相手方端末装置200βへの接続仲介依頼を行うことになる。
図4に示す例では、§1−2で説明したとおり、通信要求受付部220Aによって、たとえば、ユーザの操作入力に基づく通信要求(S1)が受け付けられ、続いて、接続仲介依頼部210Aによって、接続仲介依頼(S2)が行われる。この例の場合、通信要求(S1)は、端末装置200Bを通信先とする要求であるので、接続仲介依頼部210Aは、当該端末装置200Bの端末ID「0020」自身もしくはこの端末ID「0020」を特定するための情報(たとえば、図10に示すユーザIDや図11に示すアカウントIDなど)からなる通信先特定を含む接続仲介依頼(S2)を送信することになる。
図23に示す例の場合も、通信要求受付部220および接続仲介依頼部210によって、同様の処理が行われる。すなわち、再接続処理部270から通信要求受付部220に与えられる通信要求は、これまで通信を行っていた相手方端末装置200βを再接続時の通信先とするものであるから、接続仲介依頼部210は、当該通信要求に基づいて、再接続時の通信先となる端末装置200βの端末IDを特定するための通信先特定情報を含む接続仲介依頼(S2)を送信することになる。なお、接続仲介依頼部210から接続仲介装置100に接続仲介依頼S2を送信する際には、自己の所在アドレスとして、変更後の「AD9」が接続仲介装置100側に伝達されることになる。
その後の再接続のプロセスは、図4に示す例と全く同様である。すなわち、上述の処理により、図5の流れ図のステップS1,S2の手順が実行されたことになるので、続いて、ステップS3〜S7の手順を実行することにより、再接続時の通信元となる端末装置200αと再接続時の通信先となる端末装置200βとの間に通信セッションが確立し、両者間で中断されていた通信が再開されることになる。
上述したとおり、ステップS2において接続仲介装置100に接続仲介依頼を送信する際には、送信元の所在アドレスとして変更後の「AD9」が通知されるので、ステップS4における通信先アドレス返信は、変更後のアドレス「AD9」に対して行われることになり、支障は生じない。同様に、ステップS5において、再接続時の通信先となる端末装置200βに対して通信開始要求を送信する際にも、送信元の所在アドレスとして変更後の「AD9」が通知されるので、ステップS6における通信開始受諾確認は、変更後のアドレス「AD9」に対して行われることになり、支障は生じない。
また、通常、一対の端末装置間ではパケット通信が行われており、パケットの送受信が一時的に中断しても、その後に再開されれば支障は生じない。たとえば、一般的なTCP/IPでパケット通信を行う場合、TCPのプロトコルに従って、未着パケットについての再送処理などが行われる。このように、本発明では、両端末装置間の通信が一時的に中断されても、上述した手順により自動的に再接続が行われて通信が再開されるため、通信の一時的中断によって実用上の支障が生じることはない。
ところで、接続仲介依頼部210は、通信要求受付部220が受け付けた通信要求に基づいて、再接続時の通信先となる端末装置200β(これまで通信を行っていた相手方端末装置)の端末IDを特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する処理を行うので、再接続処理部270が通信要求受付部220に与える通信要求には、端末装置200βの端末IDを特定するための通信先特定情報が含まれている必要がある。そのためには、再接続処理部270に、通信元セッション確立部260もしくは通信先セッション確立部230から、当該通信先特定情報を取り出す機能を設けておけばよい。
具体的には、たとえば、図23に示す端末装置200αにおいて、通信元セッション確立部260もしくは通信先セッション確立部230が、相手方端末装置200βとの間に通信セッションを確立する際に、相手方端末装置200βの通信先特定情報(端末装置200βの端末ID自身や、端末IDを特定するためのユーザIDやアカウントIDなど)を相手方端末装置200βから受信し、これを所定の格納場所に格納する処理を行うようにしておけばよい。
そうすれば、再接続処理部270は、通信元セッション確立部260もしくは通信先セッション確立部230の所定の格納場所に格納されていた通信先特定情報を読み出し、読み出した通信先特定情報を用いて、通信要求受付部220に対する通信要求を行うことができる。図示のブロック230,260から270へ向かう矢印は、このような通信先特定情報の読出信号を示している。
この端末装置200αが、当初の通信元端末装置200Aとして機能していた場合には、通信元セッション確立部260によって通信が行われているので、通信元セッション確立部260の所定の格納場所から通信先特定情報(再接続時の通信先を特定する情報)を読み出せばよい。これに対して、この端末装置200αが、当初の通信先端末装置200Bとして機能していた場合には、通信先セッション確立部230によって通信が行われているので、通信先セッション確立部230の所定の格納場所から通信先特定情報(再接続時の通信先を特定する情報)を読み出せばよい。
もっとも、ここでは発明の基本概念の説明を行う便宜上、通信先セッション確立部230と通信元セッション確立部260とを別個のブロックで示す別個の構成要素として示しているが、実際には、両者は共通の通信用プログラムルーチンによって構築することができるので、相手方端末装置200βの通信先特定情報の格納場所としては、両者共通の格納場所を用意すれば足りる。
前述したとおり、アドレス変更検出部280は、通信中に、自己の所在アドレスが変更になったときに、これを検出する役割を果たす構成要素であるが、自己の所在アドレスが変更されたときに、これを具体的に検出する方法としては、様々な方法を利用することができる。一般に、端末装置がネットワークNにアクセスする際には、必ず、自己のネットワーク上での所在を示す所在アドレス(たとえば、インターネットの場合はIPアドレス)が必要になる。したがって、本発明に利用される端末装置には、必ず現時点での自己の所在アドレスが格納されていることになる。したがって、アドレス変更検出部280は、随時、この格納場所から現時点での自己の所在アドレスを読み出すことにより、当該アドレスが変更になったことを検出することができる。
すなわち、アドレス変更検出部280は、端末装置200に組み込まれているプログラムが利用する特定の管理情報(自己の所在アドレスを示す情報)をモニタすることにより、現時点での自己の所在アドレスを認識することができる。本発明に用いられる端末装置は、実際には、パソコン、携帯電話(スマートフォン)、タブレット型端末などのコンピュータによって構成されており、所定のOSプログラムと、このOSプログラムの下で動作する1つもしくは複数の通信アプリケーションプログラムと、がインストールされている。そこで、アドレス変更検出部280は、このOSプログラムもしくは通信アプリケーションプログラムが管理する情報(自己の所在アドレスを示す情報)に基づいて、所在アドレスの変更を検出することができる。
なお、図23に示す実施例の場合、アドレス変更検出部280は、アドレスの変更を検出したときに、その旨を自己アドレス通知部250に報知する機能を有している。図において、ブロック280から250へ向かう矢印は、この報知信号を示している。自己アドレス通知部250は、このような報知を受けたときに、変更後の所在アドレスを接続仲介装置100に対して通知する。したがって、接続仲介装置100内のアドレステーブルTは、当該通知に基づいて、直ちに更新されることになる。
上述したとおり、再接続時の通信元となる端末装置200αが再接続処理を行う際には、アドレステーブルTが更新されていなくても支障はない。上述の例の場合、再接続時の通信先となる端末装置200βの所在アドレスは変更されていないので、更新前のアドレステーブルTを用いた接続仲介が行われても問題は生じないためである。したがって、アドレス変更検出部280による自己アドレス通知部250に対する変更検出時の報知は、本発明を実施する上で必須の事項ではない。ただ、実用上は、図示の実施例のとおり、アドレス変更検出部280がアドレスの変更を検出した時点で、これを自己アドレス通知部250に報知し、変更後の所在アドレスが直ちに接続仲介装置100に対して通知されるようにするのが好ましい。
<6−2. 実施例2:通信異常検出部を用いた例>
図24は、本発明の実施例2に係るネットワーク通信システムの全体構成を示すブロック図である。この実施例2は、本発明の第1の実施形態において、通信異常検出部を用いた実施例に相当する。図示のネットワーク通信システムは、図2に示す先願基本発明の第1の実施形態に係るシステムにおける各端末装置200に、再接続処理部275と通信異常検出部290を追加したものである。そこで、便宜上、この実施例2に係る端末装置についても、図2に示す端末装置と同じ符号「200」を用いることにし、一対の端末装置間の通信を説明する際には、必要に応じて、「200α」,「200β」と呼んで両者を区別することにする。
図24に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。ここで、図24に示す構成要素210,220,230,240,250,260は、図2に示す同符号の構成要素と同じ機能をもつ構成要素であるため、ここではこれらの構成要素についての説明は省略する。図24に示す端末装置200では、再接続処理部275と通信異常検出部290とが新たに追加されている。ここでは、これら新規構成要素を太線ブロックで示してある。以下、これら新規構成要素の機能について説明する。
なお、ここでも、便宜上、図24に示されている端末装置200を「端末装置200α」と呼び、通信の相手方となる別の端末装置200を「端末装置200β」と呼ぶことにする。端末装置200αの構成と端末装置200βの構成は全く同じであり、いずれも図24に各ブロック210〜290として示されている構成要素を備えている。
まず、通信異常検出部290は、通信元セッション確立部260もしくは通信先セッション確立部230が相手方端末装置200βと通信を行っている最中に生じた通信異常を検出する役割を果たす構成要素である。すなわち、通信異常検出部290は、図示されている端末装置200αと相手方端末装置200βとの間に通信セッションが確立した後、両者間で通信が行われている最中に、当該通信に何らかの異常が生じたことを検出する機能を有している。
たとえば、相手方端末装置200βがモバイル端末であり、移動によって担当基地局が変更になった場合や、相手方端末装置200βのネットワークインターフェイスが何らかの事情で切り替わった場合には、相手方端末装置200βの所在アドレスが変更されるため、端末装置200αから相手方端末装置200βへ宛てた通信パケットが未着となり、当該通信パケットに対する相手方端末装置200βからの受領確認が届かない事態が生じる。ここでは、相手方端末装置200βの所在アドレスが「AD2」から「AD9」に変更されたものとしよう。このような場合、端末装置200α側には、通信異常を来す原因がないので、相手方端末装置200β側に何らかの異常が生じたと判断することができる。
通信異常検出部290が通信異常を検出すると、その旨が再接続処理部275に伝達される。図示のブロック290から275へ向かう矢印は、この伝達信号を示している。再接続処理部275は、通信異常検出部290が通信異常を検出したときに、通信要求受付部220に対して、自己(端末装置200α)を通信元として、これまで通信を行っていた相手方端末装置200βを通信先とする通信要求を行う。通信要求受付部220は、受け付けた通信要求を接続仲介依頼部210に与える。これにより、接続仲介依頼部210は、接続仲介装置100に対して、相手方端末装置200βへの接続仲介依頼を行うことになる。
この図24に示す実施例2における接続仲介依頼のプロセスは、前述した図23に示す実施例1の場合と同様である。すなわち、再接続処理部275から通信要求受付部220に与えられる通信要求は、これまで通信を行っていた相手方端末装置200βを再接続時の通信先とするものであるから、接続仲介依頼部210は、当該通信要求に基づいて、再接続時の通信先となる端末装置200βの端末IDを特定するための通信先特定情報を含む接続仲介依頼(S2)を送信することになる。
この接続仲介依頼(S2)の送信後に行われる再接続のプロセスは、図4に示す例と全く同様である。すなわち、上述の処理により、図5の流れ図のステップS1,S2の手順が実行されたことになるので、続いて、接続仲介装置100側において、ステップS3のアドレステーブル参照処理が実行される。上述したように、ここで述べる例の場合、相手方端末装置200βの所在アドレスが「AD2」から「AD9」に変更されたため、やがて、相手方端末装置200β内の自己アドレス通知部250から、所在アドレスが「AD9」に変更された旨が接続仲介装置100に通知され、アドレステーブルTが更新される。したがって、続くステップS4の手順では、通信先アドレスとして、相手方端末装置200βの新たな所在アドレス「AD9」が返信されてくる。そこで、以下、ステップS5〜S7の手順を実行することにより、再接続時の通信元となる端末装置200αと再接続時の通信先となる端末装置200βとの間に通信セッションが確立し、両者間で中断されていた通信が再開されることになる。
もちろん、アドレステーブルTが更新されるまでは、ステップS4において、通信先アドレスとして相手方端末装置200βの古い所在アドレス「AD2」が返信されることになるので、ステップS5の通信開始要求は相手方端末装置200βに届かず、再接続に失敗することになる。しかしながら、§1で述べたように、自己アドレス通知部250に、所定間隔で繰り返し通知を行う機能をもたせておけば、やがてアドレステーブルTの更新が行われ、再接続に成功する。
あるいは、相手方端末装置200βに、図23に示す実施例1におけるアドレス変更検出部280を設けておけば、所在アドレスが「AD9」に変更された時点で、ただちに接続仲介装置100に対する自己アドレスの通知を行うことができるので、直ちにアドレステーブルTの更新が行われるようにすることもできる。
前述したとおり、通常、一対の端末装置間ではパケット通信が行われており、パケットの送受信が一時的に中断しても、その後に再開されれば支障は生じない。したがって、この実施例2の場合も、両端末装置間の通信が一時的に中断されても、上述した手順により自動的に再接続が行われて通信が再開されるため、通信の一時的中断によって実用上の支障が生じることはない。
前述した実施例1と同様に、接続仲介依頼部210は、通信要求受付部220が受け付けた通信要求に基づいて、再接続時の通信先となる端末装置200β(これまで通信を行っていた相手方端末装置)の端末IDを特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する処理を行うので、再接続処理部275が通信要求受付部220に与える通信要求には、端末装置200βの端末IDを特定するための通信先特定情報が含まれている必要がある。そのためには、再接続処理部275に、通信元セッション確立部260もしくは通信先セッション確立部230から、当該通信先特定情報を取り出す機能を設けておけばよい。
具体的には、前述した実施例1と同様に、図24に示す端末装置200αにおいて、通信元セッション確立部260もしくは通信先セッション確立部230が、相手方端末装置200βとの間に通信セッションを確立する際に、相手方端末装置200βの通信先特定情報(端末装置200βの端末ID自身や、端末IDを特定するためのユーザIDやアカウントIDなど)を相手方端末装置200βから受信し、これを所定の格納場所に格納する処理を行うようにしておけばよい。
そうすれば、再接続処理部275は、通信元セッション確立部260もしくは通信先セッション確立部230の所定の格納場所に格納されていた通信先特定情報を読み出し、読み出した通信先特定情報を用いて、通信要求受付部220に対する通信要求を行うことができる。図示のブロック230,260から275へ向かう矢印は、このような通信先特定情報の読出信号を示している。
前述した実施例1と同様に、この端末装置200αが、当初の通信元端末装置200Aとして機能していた場合には、通信元セッション確立部260によって通信が行われているので、通信元セッション確立部260の所定の格納場所から通信先特定情報(再接続時の通信先を特定する情報)を読み出せばよい。これに対して、この端末装置200αが、当初の通信先端末装置200Bとして機能していた場合には、通信先セッション確立部230によって通信が行われているので、通信先セッション確立部230の所定の格納場所から通信先特定情報(再接続時の通信先を特定する情報)を読み出せばよい。もちろん、実用上は、両者を共通の格納場所とすることができる。
前述したとおり、通信異常検出部290は、相手方端末装置200βと通信を行っている最中に生じた通信異常を検出する役割を果たす構成要素であるが、通信異常を具体的に検出する方法としては、様々な方法を利用することができる。前述したとおり、相手方端末装置200βとの通信は、通信元セッション確立部260もしくは通信先セッション確立部230によって行われているので、通信異常検出部290は、これらによる通信状態をモニタすることにより、通信異常の発生を検出することができる。図示のブロック230,260から290へ向かう矢印は、このようなモニタ信号を示している。
あるいは、通信異常検出部290自身に通信異常を検出する機能をもたせることもできる。たとえば、通信異常検出部290に、相手方端末装置200βと通信を行っている最中に、相手方の通信異常検出部290との間で、接続確認信号(たとえば、返信を要求する小さな通信パケット)とこれに対する応答信号(たとえば、前記接続確認信号に対する返信であることを示す小さな通信パケット)とを所定周期でやり取りする機能をもたせておけば、相手方に送信した接続確認信号に対する応答信号が所定期間内に受信できなかった場合に、通信異常の検出を行うことができる。
§6−1で述べた実施例1は、第1の端末装置200αと第2の端末装置200βとが通信中に、第1の端末装置200αの所在アドレスが変更されたときに、当該アドレス変更が生じた第1の端末装置200α側が再接続処理を行うものである。これに対して、ここで述べた実施例2は、第1の端末装置200αと第2の端末装置200βとが通信中に、第2の端末装置200βの所在アドレスが変更されたときに、アドレス変更が生じていない第1の端末装置200α側が再接続処理を行うことを想定したものである。
もっとも、通信異常検出部290は、両者間の通信異常を検出する構成要素であるので、通信異常の原因が相手方端末装置にある場合だけでなく、自己にある場合にも、通信異常の検出が行われることになる。上述の説明は、第1の端末装置200αと第2の端末装置200βとが通信中に、第2の端末装置200βの所在アドレスが変更されたときに、アドレス変更が生じていない第1の端末装置200α側が再接続処理を行う手順を述べた。しかしながら、アドレス変更が生じた第2の端末装置200β側にも、通信異常検出部290が備わっているので、この第2の端末装置200β側からも再接続処理が実行されることになる。
別言すれば、この実施例2の構成を有する一対の端末装置200α,200β間で通信が行われている最中に、一方の端末装置200βの所在アドレス変更に基づく通信異常が生じたとすると、当該通信異常は、双方の端末装置200α,200βで検出されるので、双方の端末装置200α,200βにおいてそれぞれ相手方への再接続処理が実行されることになる。そのような場合は、通信先セッション確立部460や通信元セッション確立部430において、重複して通信セッションが確立されることを防ぐ処置をとるようにしておけば問題はない。たとえば、重複して通信セッションが確立しそうになった場合には、先に確立した通信セッションを残し、後に確立することになっている通信セッションは無視するような処理を行えばよい。
ただ、このように、双方の端末装置200α,200βにおいて再接続処理を実行することは無駄なので、実用上は、自己の所在アドレスが変更になった端末装置については、通信異常が検出されたとしても、再接続処理を実行しないようにするのが好ましい。上例の場合、所在アドレスが「AD2」から「AD9」に変更になった端末装置200βは、自己の所在アドレスが変更になった端末装置であるので、端末装置200βからの再接続処理は実行しないようにし、端末装置200αからの再接続処理を待つようにすればよい。すなわち、上例の場合、端末装置200βは、通信異常の発生原因が自己の所在アドレス変更であることを認識できるので、通信異常が自己原因の場合には、再接続処理を実行しないようにすればよい。
具体的には、再接続処理部275に、相手方端末装置と通信を行っている最中に自己の所在アドレスが変更になったことを検出する機能(図23に示すアドレス変更検出部280と同様の機能)をもたせておき、自己の所在アドレスの変更が検出された場合には、たとえ通信異常検出部290から通信異常の検出通知があったとしても、通信要求受付部220に対する通信要求を行わないようにすればよい。
<<< §7. 本発明の第2の実施形態 >>>
続いて、先願基本発明の第2の実施形態(§2参照)に本発明を適用した例を、本発明の第2の実施形態として述べる。ここでは、アドレス変更検出部を用いた実施例3と通信異常検出部を用いた実施例4をそれぞれ図面を用いて説明する。もちろん、これら実施例3,4についても、§3,§4で述べた変形例等のバリエーションを適用することができる。また、これら実施例3,4の双方の機能を備えたシステムを構築することも可能である。
<7−1. 実施例3:アドレス変更検出部を用いた例>
図25は、本発明の実施例3に係るネットワーク通信システムの全体構成を示すブロック図である。この実施例3は、本発明の第2の実施形態において、アドレス変更検出部を用いた実施例に相当する。図示のネットワーク通信システムは、図7に示す先願基本発明の第2の実施形態に係るシステムにおける各端末装置400に、再接続処理部470とアドレス変更検出部480を追加したものである。そこで、便宜上、この実施例3に係る端末装置についても、図7に示す端末装置と同じ符号「400」を用いることにし、一対の端末装置間の通信を説明する際には、必要に応じて、「400α」,「400β」と呼んで両者を区別することにする。
図25に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。ここで、図25に示す構成要素410,420,430,440,450,460は、図7に示す同符号の構成要素と同じ機能をもつ構成要素であるため、ここではこれらの構成要素についての説明は省略する。図25に示す端末装置400では、再接続処理部470とアドレス変更検出部480とが新たに追加されている。ここでは、これら新規構成要素を太線ブロックで示してある。以下、これら新規構成要素の機能について説明する。
なお、以下の説明では、便宜上、図25に示されている端末装置400を「端末装置400α」と呼び、通信の相手方となる別の端末装置400を「端末装置400β」と呼ぶことにする。端末装置400αの構成と端末装置400βの構成は全く同じであり、いずれも図25に各ブロック410〜480として示されている構成要素を備えている。
まず、アドレス変更検出部480は、通信先セッション確立部460もしくは通信元セッション確立部430が、相手方端末装置400βと通信を行っている最中に、自己の所在アドレスが変更になったとき、これを検出する役割を果たす構成要素である。すなわち、アドレス変更検出部480は、図示されている端末装置400αと相手方端末装置400βとの間に通信セッションが確立した後、両者間で通信が行われている最中に、端末装置400αの所在アドレス(自己アドレス)が変更になったことを検出する機能を有している。自己アドレスの変更が検出された場合、その旨が再接続処理部470に伝達される。図示のブロック480から470へ向かう矢印は、この伝達信号を示している。
§5で述べたとおり、図示されている端末装置400αの所在アドレスの変更は、端末装置400αがモバイル端末であり、移動によって担当基地局が変更になった場合や、端末装置400αのネットワークインターフェイスが何らかの事情で切り替わった場合に発生する。このアドレス変更検出部480が自己の所在アドレスの変更を検出するのは、あくまでも、端末装置400αが相手方端末装置400βと通信を行っている最中である。別言すれば、自己の所在アドレスの変更によって中断した通信を復旧するために再接続を行う必要が生じたとき、ということになる。
なお、§2では、図8を参照しながら、端末装置400Bを通信元として、端末装置400Aを通信先とする例を説明したが、この図8に示す通信元の端末装置400Bは、相手方となる通信先の端末装置400Aに対して能動的に接続仲介依頼を行う側に相当し、通信先の端末装置400Aは、当該接続仲介依頼で指定された相手側に相当する。これに対して、図25に示す実施例の説明では、自己アドレスの変更を検出して再接続処理を実行する側を通信元(再接続時における通信元)の端末装置400αと呼び、その相手側を通信先(再接続時における通信先)の端末装置400βと呼んでいる。このように、当初(再接続を行う前)の通信元と通信先の関係は、再接続時の通信元と通信先の関係に必ずしも一致するものではない。
たとえば、図8に示す例では、まず、当初の通信元である端末装置400Bが、当初の通信先である端末装置400Aを指定して、接続仲介装置300に対して接続仲介依頼(S12)を行うことにより、最終的に、通信元端末装置400Bの通信元セッション確立部430Bと通信先端末装置400Aの通信先セッション確立部460Aとの間で、図に白抜矢印で示すように、通信(S17)が実行されることになる。
このように、図8に示す通信(S17)が行われている最中に、もし、当初の通信元である端末装置400Bの所在アドレスAD2が新たな所在アドレスAD9に変更された場合は、アドレスの変更が生じた端末装置400B(すなわち、当初の通信元)が、図25に示す端末装置400(すなわち、再接続時における通信元の端末装置400α)になり、当初の通信先であった端末装置400Aは、再接続時における通信先の端末装置400βになる。この場合、再接続の前後において、通信元と通信先の関係に変わりはない。
これに対して、図8に示す通信(S17)が行われている最中に、もし、当初の通信先である端末装置400Aの所在アドレスAD1が新たな所在アドレスAD9に変更された場合は、アドレスの変更が生じた端末装置400A(すなわち、当初の通信先)が、図25に示す端末装置400(すなわち、再接続時における通信元の端末装置400α)になり、当初の通信元であった端末装置400Bは、再接続時における通信先の端末装置400βになる。この場合、当初の通信先が再接続時の通信元になり、当初の通信元が再接続時の通信先になるので、再接続の前後において、通信元と通信先の関係が逆転することになる。
§6で述べたとおり、本発明における「通信元」と「通信先」という概念は、接続仲介装置が接続仲介処理を行う際に意味をもつ概念であり、接続仲介処理が完了して両端末装置間での通信が開始した後は、もはや意味のない概念になる。したがって、再接続時には、新たに、どちらか一方が「通信元」となり、他方が「通信先」となる。
図25に示す例の場合、図示の端末装置400が、当初の通信元であった場合には、図示されている通信元セッション確立部430の左側に伸びた白抜矢印による通信が行われていることになり、図示の端末装置400が、当初の通信先であった場合には、図示されている通信先セッション確立部460の右側に伸びた白抜矢印による通信が行われていることになる。このように、図25に示す端末装置400は、当初は通信元であったり、通信先であったりする場合がある。
再接続処理部470は、アドレス変更検出部480が自己アドレスの変更を検出したときに、通信要求受付部420に対して、自己(端末装置400α)を通信元として、これまで通信を行っていた相手方端末装置400βを通信先とする通信要求を行う。通信要求受付部420は、受け付けた通信要求を接続仲介依頼部410に与える。これにより、接続仲介依頼部410は、接続仲介装置300に対して、相手方端末装置400βへの接続仲介依頼を行うことになる。
図8に示す例では、§2−2で説明したとおり、通信要求受付部420Bによって、たとえば、ユーザの操作入力に基づく通信要求(S11)が受け付けられ、続いて、接続仲介依頼部410Bによって、接続仲介依頼(S12)が行われる。この例の場合、通信要求(S11)は、端末装置400Aを通信先とする要求であるので、接続仲介依頼部410Bは、当該端末装置400Aの端末ID「0010」自身もしくはこの端末ID「0010」を特定するための情報(たとえば、図10に示すユーザIDや図11に示すアカウントIDなど)からなる通信先特定を含む接続仲介依頼(S12)を送信することになる。
図25に示す例の場合も、通信要求受付部420および接続仲介依頼部410によって、同様の処理が行われる。すなわち、再接続処理部470から通信要求受付部420に与えられる通信要求は、これまで通信を行っていた相手方端末装置400βを再接続時の通信先とするものであるから、接続仲介依頼部410は、当該通信要求に基づいて、再接続時の通信先となる端末装置400βの端末IDを特定するための通信先特定情報を含む接続仲介依頼(S12)を送信することになる。なお、接続仲介依頼部410から接続仲介装置300に接続仲介依頼S12を送信する際には、自己の所在アドレスとして、変更後の「AD9」が接続仲介装置300側に伝達されることになる。
その後の再接続のプロセスは、図8に示す例と全く同様である。すなわち、上述の処理により、図9の流れ図のステップS11,S12の手順が実行されたことになるので、続いて、ステップS13〜S17の手順を実行することにより、再接続時の通信元となる端末装置400αと再接続時の通信先となる端末装置400βとの間に通信セッションが確立し、両者間で中断されていた通信が再開されることになる。
上述したとおり、ステップS12において接続仲介装置300に接続仲介依頼を送信する際には、送信元の所在アドレスとして変更後の「AD9」が通知される。一方、再接続時の通信先となる端末装置400βの所在アドレスに変更はないので、ステップS14における通信元アドレス送信では、再接続時の通信先となる端末装置400βに対して、通信元アドレス「AD9」が送信されることになる。そして、ステップS15では、再接続時の通信先となる端末装置400βから、アドレス「AD9」宛(再接続時の通信元となる端末装置400α宛)に通信開始要求がなされ、続くステップS16において、端末装置400αから端末装置400βに対して通信開始受諾確認がなされる。
かくして、ステップS17において、両者間での通信セッションが確立し、通信が再開される。前述したように、一対の端末装置間ではパケット通信が行われており、パケットの送受信が一時的に中断しても、その後に再開されれば支障は生じない。このように、実施例3の場合も、両端末装置間の通信中断時に、自動的に再接続が行われて通信が再開されるため、通信の一時的中断によって実用上の支障が生じることはない。
なお、図25に示す接続仲介依頼部410は、通信要求受付部420が受け付けた通信要求に基づいて、再接続時の通信先となる端末装置400β(これまで通信を行っていた相手方端末装置)の端末IDを特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する処理を行うので、再接続処理部470が通信要求受付部420に与える通信要求には、端末装置400βの端末IDを特定するための通信先特定情報が含まれている必要がある。そのためには、再接続処理部470に、通信元セッション確立部430もしくは通信先セッション確立部460から、当該通信先特定情報を取り出す機能を設けておけばよい。
具体的には、たとえば、図25に示す端末装置400αにおいて、通信元セッション確立部430もしくは通信先セッション確立部460が、相手方端末装置400βとの間に通信セッションを確立する際に、相手方端末装置400βの通信先特定情報(端末装置400βの端末ID自身や、端末IDを特定するためのユーザIDやアカウントIDなど)を相手方端末装置400βから受信し、これを所定の格納場所に格納する処理を行うようにしておけばよい。
そうすれば、再接続処理部470は、通信元セッション確立部430もしくは通信先セッション確立部460の所定の格納場所に格納されていた通信先特定情報を読み出し、読み出した通信先特定情報を用いて、通信要求受付部420に対する通信要求を行うことができる。図示のブロック430,460から470へ向かう矢印は、このような通信先特定情報の読出信号を示している。
この端末装置400αが、当初の通信元端末装置400Bとして機能していた場合には、通信元セッション確立部430によって通信が行われているので、通信元セッション確立部430の所定の格納場所から通信先特定情報(再接続時の通信先を特定する情報)を読み出せばよい。これに対して、この端末装置400αが、当初の通信先端末装置400Aとして機能していた場合には、通信先セッション確立部460によって通信が行われているので、通信先セッション確立部460の所定の格納場所から通信先特定情報(再接続時の通信先を特定する情報)を読み出せばよい。
§6でも述べたとおり、ここでは発明の基本概念の説明を行う便宜上、通信元セッション確立部430と通信先セッション確立部460とを別個のブロックで示す別個の構成要素として示しているが、実際には、両者は共通の通信用プログラムルーチンによって構築することができるので、相手方端末装置400βの通信先特定情報の格納場所としては、両者共通の格納場所を用意すれば足りる。
アドレス変更検出部480が、通信中に、自己アドレスの変更を検出するための方法は、§6で述べたアドレス変更検出部280の検出方法と同様である。たとえば、端末装置400が、所定のOSプログラムと、このOSプログラムの下で動作する1つもしくは複数の通信アプリケーションプログラムと、がインストールされているコンピュータによって構成されている場合、アドレス変更検出部480は、このOSプログラムもしくは通信アプリケーションプログラムが管理する情報(自己の所在アドレスを示す情報)に基づいて、所在アドレスの変更を検出することができる。
この図25に示す実施例の場合も、アドレス変更検出部480は、アドレスの変更を検出したときに、その旨を自己アドレス通知部450に報知する機能を有している。図において、ブロック480から450へ向かう矢印は、この報知信号を示している。自己アドレス通知部450は、このような報知を受けたときに、変更後の所在アドレスを接続仲介装置300に対して通知する。したがって、接続仲介装置300内のアドレステーブルTは、当該通知に基づいて、直ちに更新されることになる。
上述したとおり、再接続時の通信元となる端末装置400αが再接続処理を行う際には、アドレステーブルTが更新されていなくても支障はない。上述の例の場合、再接続時の通信先となる端末装置400βの所在アドレスは変更されていないので、更新前のアドレステーブルTを用いた接続仲介が行われても問題は生じないためである。したがって、アドレス変更検出部480による自己アドレス通知部450に対する変更検出時の報知は、本発明を実施する上で必須の事項ではない。ただ、実用上は、図示の実施例のとおり、アドレス変更検出部480がアドレスの変更を検出した時点で、これを自己アドレス通知部450に報知し、変更後の所在アドレスが直ちに接続仲介装置300に対して通知されるようにするのが好ましい。
<7−2. 実施例4:通信異常検出部を用いた例>
図26は、本発明の実施例4に係るネットワーク通信システムの全体構成を示すブロック図である。この実施例4は、本発明の第2の実施形態において、通信異常検出部を用いた実施例に相当する。図示のネットワーク通信システムは、図7に示す先願基本発明の第2の実施形態に係るシステムにおける各端末装置400に、再接続処理部475と通信異常検出部490を追加したものである。そこで、便宜上、この実施例4に係る端末装置についても、図7に示す端末装置と同じ符号「400」を用いることにし、一対の端末装置間の通信を説明する際には、必要に応じて、「400α」,「400β」と呼んで両者を区別することにする。
図26に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。ここで、図26に示す構成要素410,420,430,440,450,460は、図7に示す同符号の構成要素と同じ機能をもつ構成要素であるため、ここではこれらの構成要素についての説明は省略する。図26に示す端末装置400では、再接続処理部475と通信異常検出部490とが新たに追加されている。ここでは、これら新規構成要素を太線ブロックで示してある。以下、これら新規構成要素の機能について説明する。
なお、ここでも、便宜上、図26に示されている端末装置400を「端末装置400α」と呼び、通信の相手方となる別の端末装置400を「端末装置400β」と呼ぶことにする。端末装置400αの構成と端末装置400βの構成は全く同じであり、いずれも図26に各ブロック410〜490として示されている構成要素を備えている。
まず、通信異常検出部490は、通信先セッション確立部460もしくは通信元セッション確立部430が相手方端末装置400βと通信を行っている最中に生じた通信異常を検出する役割を果たす構成要素である。すなわち、通信異常検出部490は、図示されている端末装置400αと相手方端末装置400βとの間に通信セッションが確立した後、両者間で通信が行われている最中に、当該通信に何らかの異常が生じたことを検出する機能を有している。
たとえば、相手方端末装置400βがモバイル端末であり、移動によって担当基地局が変更になった場合や、相手方端末装置400βのネットワークインターフェイスが何らかの事情で切り替わった場合には、相手方端末装置400βの所在アドレスが変更されるため、端末装置400αから相手方端末装置400βへ宛てた通信パケットが未着となり、当該通信パケットに対する相手方端末装置400βからの受領確認が届かない事態が生じる。ここでは、相手方端末装置400βの所在アドレスが「AD1」から「AD9」に変更されたものとしよう。このような場合、端末装置400α側には、通信異常を来す原因がないので、相手方端末装置400β側に何らかの異常が生じたと判断することができる。
通信異常検出部490が通信異常を検出すると、その旨が再接続処理部475に伝達される。図示のブロック490から475へ向かう矢印は、この伝達信号を示している。再接続処理部475は、通信異常検出部490が通信異常を検出したときに、通信要求受付部420に対して、自己(端末装置400α)を通信元として、これまで通信を行っていた相手方端末装置400βを通信先とする通信要求を行う。通信要求受付部420は、受け付けた通信要求を接続仲介依頼部410に与える。これにより、接続仲介依頼部410は、接続仲介装置300に対して、相手方端末装置400βへの接続仲介依頼を行うことになる。
この図26に示す実施例4における接続仲介依頼のプロセスは、前述した図25に示す実施例3の場合と同様である。すなわち、再接続処理部475から通信要求受付部420に与えられる通信要求は、これまで通信を行っていた相手方端末装置400βを再接続時の通信先とするものであるから、接続仲介依頼部410は、当該通信要求に基づいて、再接続時の通信先となる端末装置400βの端末IDを特定するための通信先特定情報を含む接続仲介依頼(S12)を送信することになる。
この接続仲介依頼(S12)の送信後に行われる再接続のプロセスは、図8に示す例と全く同様である。すなわち、上述の処理により、図9の流れ図のステップS1,S2の手順が実行されたことになるので、続いて、接続仲介装置300側において、ステップS3のアドレステーブル参照処理が実行される。上述したように、ここで述べる例の場合、相手方端末装置400βの所在アドレスが「AD1」から「AD9」に変更されたため、やがて、相手方端末装置400β内の自己アドレス通知部450から、所在アドレスが「AD9」に変更された旨が接続仲介装置300に通知され、アドレステーブルTが更新される。したがって、続くステップS14の手順では、アドレス「AD9」宛(再接続時の通信先となる端末装置400β宛)に、通信元アドレス「AD2」(再接続時の通信元となる端末装置400αのアドレス)が送信される。そこで、以下、ステップS15〜S17の手順を実行することにより、再接続時の通信元となる端末装置400αと再接続時の通信先となる端末装置400βとの間に通信セッションが確立し、両者間で中断されていた通信が再開されることになる。
もちろん、アドレステーブルTが更新されるまでは、ステップS14において、通信先アドレスとして相手方端末装置400βの古い所在アドレス「AD1」が返信されることになるので、ステップS15の通信開始要求は相手方端末装置400βに届かず、再接続に失敗することになる。しかしながら、§2で述べたように、自己アドレス通知部450に、所定間隔で繰り返し通知を行う機能をもたせておけば、やがてアドレステーブルTの更新が行われ、再接続に成功する。
あるいは、相手方端末装置400βに、図25に示す実施例3におけるアドレス変更検出部480を設けておけば、所在アドレスが「AD9」に変更された時点で、ただちに接続仲介装置300に対する自己アドレスの通知を行うことができるので、直ちにアドレステーブルTの更新が行われるようにすることもできる。
前述したとおり、通常、一対の端末装置間ではパケット通信が行われており、パケットの送受信が一時的に中断しても、その後に再開されれば支障は生じない。したがって、この実施例4の場合も、両端末装置間の通信が一時的に中断されても、上述した手順により自動的に再接続が行われて通信が再開されるため、通信の一時的中断によって実用上の支障が生じることはない。
前述した実施例3と同様に、接続仲介依頼部410は、通信要求受付部420が受け付けた通信要求に基づいて、再接続時の通信先となる端末装置400β(これまで通信を行っていた相手方端末装置)の端末IDを特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する処理を行うので、再接続処理部475が通信要求受付部420に与える通信要求には、端末装置400βの端末IDを特定するための通信先特定情報が含まれている必要がある。そのためには、再接続処理部475に、通信先セッション確立部460もしくは通信元セッション確立部430から、当該通信先特定情報を取り出す機能を設けておけばよい。
具体的には、前述した実施例3と同様に、図26に示す端末装置400αにおいて、通信先セッション確立部460もしくは通信元セッション確立部430が、相手方端末装置400βとの間に通信セッションを確立する際に、相手方端末装置400βの通信先特定情報(端末装置400βの端末ID自身や、端末IDを特定するためのユーザIDやアカウントIDなど)を相手方端末装置400βから受信し、これを所定の格納場所に格納する処理を行うようにしておけばよい。
そうすれば、再接続処理部475は、通信先セッション確立部460もしくは通信元セッション確立部430の所定の格納場所に格納されていた通信先特定情報を読み出し、読み出した通信先特定情報を用いて、通信要求受付部220に対する通信要求を行うことができる。図示のブロック430,460から475へ向かう矢印は、このような通信先特定情報の読出信号を示している。
前述した実施例3と同様に、この端末装置400αが、当初の通信元端末装置400Bとして機能していた場合には、通信元セッション確立部430によって通信が行われているので、通信元セッション確立部430の所定の格納場所から通信先特定情報(再接続時の通信先を特定する情報)を読み出せばよい。これに対して、この端末装置400αが、当初の通信先端末装置400Aとして機能していた場合には、通信先セッション確立部460によって通信が行われているので、通信先セッション確立部460の所定の格納場所から通信先特定情報(再接続時の通信先を特定する情報)を読み出せばよい。もちろん、実用上は、両者を共通の格納場所とすることができる。
前述したとおり、通信異常検出部490は、相手方端末装置400βと通信を行っている最中に生じた通信異常を検出する役割を果たす構成要素であるが、通信異常を具体的に検出する方法としては、様々な方法を利用することができる。前述したとおり、相手方端末装置400βとの通信は、通信元セッション確立部430もしくは通信先セッション確立部460によって行われているので、通信異常検出部490は、これらによる通信状態をモニタすることにより、通信異常の発生を検出することができる。図示のブロック430,460から490へ向かう矢印は、このようなモニタ信号を示している。
あるいは、通信異常検出部490自身に通信異常を検出する機能をもたせることもできる。たとえば、通信異常検出部490に、相手方端末装置400βと通信を行っている最中に、相手方の通信異常検出部490との間で、接続確認信号(たとえば、返信を要求する小さな通信パケット)とこれに対する応答信号(たとえば、前記接続確認信号に対する返信であることを示す小さな通信パケット)とを所定周期でやり取りする機能をもたせておけば、相手方に送信した接続確認信号に対する応答信号が所定期間内に受信できなかった場合に、通信異常の検出を行うことができる。
§7−1で述べた実施例3は、第1の端末装置400αと第2の端末装置400βとが通信中に、第1の端末装置400αの所在アドレスが変更されたときに、当該アドレス変更が生じた第1の端末装置400α側が再接続処理を行うものである。これに対して、ここで述べた実施例4は、第1の端末装置400αと第2の端末装置400βとが通信中に、第2の端末装置400βの所在アドレスが変更されたときに、アドレス変更が生じていない第1の端末装置400α側が再接続処理を行うことを想定したものである。
もっとも、通信異常検出部490は、両者間の通信異常を検出する構成要素であるので、通信異常の原因が相手方端末装置にある場合だけでなく、自己にある場合にも、通信異常の検出が行われることになる。上述の説明は、第1の端末装置400αと第2の端末装置400βとが通信中に、第2の端末装置400βの所在アドレスが変更されたときに、アドレス変更が生じていない第1の端末装置400α側が再接続処理を行う手順を述べた。しかしながら、アドレス変更が生じた第2の端末装置400β側にも、通信異常検出部490が備わっているので、この第2の端末装置400β側からも再接続処理が実行されることになる。
別言すれば、この実施例4の構成を有する一対の端末装置400α,400β間で通信が行われている最中に、一方の端末装置400βの所在アドレス変更に基づく通信異常が生じたとすると、当該通信異常は、双方の端末装置400α,400βで検出されるので、双方の端末装置400α,400βにおいてそれぞれ相手方への再接続処理が実行されることになる。そのような場合は、通信先セッション確立部460や通信元セッション確立部430において、重複して通信セッションが確立されることを防ぐ処置をとるようにしておけば問題はない。たとえば、重複して通信セッションが確立しそうになった場合には、先に確立した通信セッションを残し、後に確立することになっている通信セッションは無視するような処理を行えばよい。
ただ、このように、双方の端末装置400α,400βにおいて再接続処理を実行することは無駄なので、実用上は、自己の所在アドレスが変更になった端末装置については、通信異常が検出されたとしても、再接続処理を実行しないようにするのが好ましい。上例の場合、所在アドレスが「AD1」から「AD9」に変更になった端末装置400βは、自己の所在アドレスが変更になった端末装置であるので、端末装置400βからの再接続処理は実行しないようにし、端末装置400αからの再接続処理を待つようにすればよい。すなわち、上例の場合、端末装置400βは、通信異常の発生原因が自己の所在アドレス変更であることを認識できるので、通信異常が自己原因の場合には、再接続処理を実行しないようにすればよい。
具体的には、再接続処理部475に、相手方端末装置と通信を行っている最中に自己の所在アドレスが変更になったことを検出する機能(図25に示すアドレス変更検出部480と同様の機能)をもたせておき、自己の所在アドレスの変更が検出された場合には、たとえ通信異常検出部490から通信異常の検出通知があったとしても、通信要求受付部420に対する通信要求を行わないようにすればよい。
本発明に係るネットワーク通信システムは、パソコン、携帯電話、タブレット型端末など、インターネットに接続可能な様々な端末装置が利用されている状態において、任意の端末装置間での安定した通信を可能にする技術を提供するものであり、産業上、十分な利用可能性を有している。
100:接続仲介装置
110:アドレステーブル格納部
120:アドレステーブル更新部
130:通信先アドレス返信部
200,200A〜200K:端末装置
201H,201K:VPN通信部
210,210A,210B:接続仲介依頼部
220,220A,220B:通信要求受付部
230,230A,230B:通信先セッション確立部
240,240A,240B:通信開始要求部
250,250A,250B:自己アドレス通知部
260,260A,260B:通信元セッション確立部
270,275:再接続処理部
280:アドレス変更検出部
290:通信異常検出部
300:接続仲介装置
310:アドレステーブル格納部
320:アドレステーブル更新部
330:通信元アドレス送信部
400,400A〜400D:端末装置
410,410A,410B:接続仲介依頼部
420,420A,420B:通信要求受付部
430,430A,430B:通信元セッション確立部
440,440A,440B:通信開始要求部
450,450A,450B:自己アドレス通知部
460,460A,460B:通信先セッション確立部
470,475:再接続処理部
480:アドレス変更検出部
490:通信異常検出部
AD1〜AD9:所在アドレス
ADx,ADy,ADz:グローバルIPアドレス
APP1,APP2:アプリケーションプログラム
B1,B2:基地局
N:ネットワーク(インターネット)
P1〜P21:ポート番号
R,R1,R2:ルータ
S1〜S7,S11〜S17:流れ図の各ステップ
T,T1〜T3,T41,T42,T51,T52:アドレステーブル

Claims (18)

  1. ネットワーク(N)を介して相互に接続可能な複数の端末装置(200,200A−200K)と、前記複数の端末装置間の接続を仲介する接続仲介装置(100)と、を備えたネットワーク通信システムであって、
    前記複数の端末装置(200,200A−200K)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(100)は、前記端末IDを利用して通信元となる端末装置(200A)と通信先となる端末装置(200B)との間の接続を仲介する処理を実行し、
    前記複数の端末装置(200)のそれぞれは、
    自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(100)に対して通知する自己アドレス通知部(250)と、
    自己(200A)を通信元として、通信先の別な端末装置(200B)に対する通信要求(S1)を受け付ける通信要求受付部(220A)と、
    前記通信要求受付部(220A)によって前記通信要求(S1)が受け付けられたときに、前記接続仲介装置(100)に対して、前記通信先の別な端末装置(200B)の端末ID(0020)を特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する接続仲介依頼部(210A)と、
    前記接続仲介依頼(S2)に応じて、前記接続仲介装置(100)から、前記通信先の別な端末装置(200B)のネットワーク上での所在を示す通信先アドレス(AD2)が返信されてきたときに、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行う通信開始要求部(240A)と、
    前記通信開始要求(S5)に応じて、前記通信先の別な端末装置(200B)から、通信開始受諾確認(S6)が返信されてきたら、前記通信先の別な端末装置(200B)との間に通信セッションを確立して通信(S7)を開始する通信元セッション確立部(260A)と、
    通信元の別な端末装置(200A)から、自己を通信先とする通信開始要求(S5)がなされたら、前記通信元の別な端末装置(200A)に対して通信開始受諾確認(S6)を送信し、前記通信元の別な端末装置(200A)との間に通信セッションを確立して通信(S7)を開始する通信先セッション確立部(230B)と、
    前記通信元セッション確立部(260)もしくは前記通信先セッション確立部(230)が相手方端末装置(200)と通信を行っている最中に、自己の所在アドレスが変更になったときに、これを検出するアドレス変更検出部(280)と、
    前記アドレス変更検出部(280)がアドレスの変更を検出したときに、前記通信要求受付部(220)に対して、自己(200)を通信元として、前記相手方端末装置(200)を通信先とする通信要求を行う再接続処理部(270)と、
    を有し、
    前記接続仲介装置(100)は、
    前記端末装置(200A−200K)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T)を格納するアドレステーブル格納部(110)と、
    前記端末装置(200A−200K)の前記自己アドレス通知部(250)からの通知に基づいて、前記アドレステーブル(T)の内容を更新するアドレステーブル更新部(120)と、
    前記端末装置(200A)の前記接続仲介依頼部(210A)から、前記接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T)を参照して、前記接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられている所在アドレス(AD2)を通信先アドレスとして返信する通信先アドレス返信部(130)と、
    を有することを特徴とするネットワーク通信システム。
  2. 請求項1に記載のネットワーク通信システムにおいて、
    通信元セッション確立部(260)および通信先セッション確立部(230)が相手方端末装置(200)との間に通信セッションを確立する際に、相手方端末装置(200)の通信先特定情報を格納する機能を有し、
    再接続処理部(270)が、前記通信元セッション確立部(260)もしくは前記通信先セッション確立部(230)に格納されていた前記通信先特定情報を用いて通信要求を行うことを特徴とするネットワーク通信システム。
  3. 請求項1または2に記載のネットワーク通信システムにおいて、
    端末装置(200)が、所定のOSプログラムと、このOSプログラムの下で動作する1つもしくは複数の通信アプリケーションプログラムと、をインストールしたコンピュータによって構成されており、
    アドレス変更検出部(280)が、前記OSプログラムもしくは前記通信アプリケーションプログラムが管理する情報に基づいて、所在アドレスの変更を検出することを特徴とするネットワーク通信システム。
  4. 請求項1〜3のいずれかに記載のネットワーク通信システムにおいて、
    アドレス変更検出部(280)が、アドレスの変更を検出したときに、その旨を自己アドレス通知部(250)に報知し、
    自己アドレス通知部(250)が、前記報知を受けたときに、変更後の所在アドレスを接続仲介装置(100)に対して通知することを特徴とするネットワーク通信システム。
  5. ネットワーク(N)を介して相互に接続可能な複数の端末装置(200,200A−200K)と、前記複数の端末装置間の接続を仲介する接続仲介装置(100)と、を備えたネットワーク通信システムであって、
    前記複数の端末装置(200,200A−200K)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(100)は、前記端末IDを利用して通信元となる端末装置(200A)と通信先となる端末装置(200B)との間の接続を仲介する処理を実行し、
    前記複数の端末装置(200)のそれぞれは、
    自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(100)に対して通知する自己アドレス通知部(250)と、
    自己(200A)を通信元として、通信先の別な端末装置(200B)に対する通信要求(S1)を受け付ける通信要求受付部(220A)と、
    前記通信要求受付部(220A)によって前記通信要求(S1)が受け付けられたときに、前記接続仲介装置(100)に対して、前記通信先の別な端末装置(200B)の端末ID(0020)を特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する接続仲介依頼部(210A)と、
    前記接続仲介依頼(S2)に応じて、前記接続仲介装置(100)から、前記通信先の別な端末装置(200B)のネットワーク上での所在を示す通信先アドレス(AD2)が返信されてきたときに、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行う通信開始要求部(240A)と、
    前記通信開始要求(S5)に応じて、前記通信先の別な端末装置(200B)から、通信開始受諾確認(S6)が返信されてきたら、前記通信先の別な端末装置(200B)との間に通信セッションを確立して通信(S7)を開始する通信元セッション確立部(260A)と、
    通信元の別な端末装置(200A)から、自己を通信先とする通信開始要求(S5)がなされたら、前記通信元の別な端末装置(200A)に対して通信開始受諾確認(S6)を送信し、前記通信元の別な端末装置(200A)との間に通信セッションを確立して通信(S7)を開始する通信先セッション確立部(230B)と、
    前記通信元セッション確立部(260)もしくは前記通信先セッション確立部(230)が相手方端末装置(200)と通信を行っている最中に生じた通信異常を検出する通信異常検出部(290)と、
    前記通信異常検出部(290)が通信異常を検出したときに、前記通信要求受付部(220)に対して、自己(200)を通信元として、前記相手方端末装置(200)を通信先とする通信要求を行う再接続処理部(275)と、
    を有し、
    前記接続仲介装置(100)は、
    前記端末装置(200A−200K)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T)を格納するアドレステーブル格納部(110)と、
    前記端末装置(200A−200K)の前記自己アドレス通知部(250)からの通知に基づいて、前記アドレステーブル(T)の内容を更新するアドレステーブル更新部(120)と、
    前記端末装置(200A)の前記接続仲介依頼部(210A)から、前記接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T)を参照して、前記接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられている所在アドレス(AD2)を通信先アドレスとして返信する通信先アドレス返信部(130)と、
    を有することを特徴とするネットワーク通信システム。
  6. 請求項5に記載のネットワーク通信システムにおいて、
    通信元セッション確立部(260)および通信先セッション確立部(230)が相手方端末装置(200)との間に通信セッションを確立する際に、相手方端末装置(200)の通信先特定情報を格納する機能を有し、
    再接続処理部(275)が、前記通信元セッション確立部(260)もしくは前記通信先セッション確立部(230)に格納されていた前記通信先特定情報を用いて通信要求を行うことを特徴とするネットワーク通信システム。
  7. 請求項5または6に記載のネットワーク通信システムにおいて、
    通信異常検出部(290)が、相手方端末装置(200)と通信を行っている最中に、相手方の通信異常検出部(290)との間で、接続確認信号とこれに対する応答信号とを所定周期でやり取りする機能を有し、相手方に送信した接続確認信号に対する応答信号が所定期間内に受信できなかった場合に、通信異常の検出を行うことを特徴とするネットワーク通信システム。
  8. 請求項5〜7のいずれかに記載のネットワーク通信システムにおいて、
    再接続処理部(275)が、相手方端末装置(200)と通信を行っている最中に自己の所在アドレスが変更になったことを検出する機能を有し、自己の所在アドレスの変更が検出された場合には、通信要求受付部(220)に対する通信要求を行わないことを特徴とするネットワーク通信システム。
  9. ネットワーク(N)を介して相互に接続可能な複数の端末装置(400,400A−400D)と、前記複数の端末装置間の接続を仲介する接続仲介装置(300)と、を備えたネットワーク通信システムであって、
    前記複数の端末装置(400,400A−400D)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(300)は、前記端末IDを利用して通信元となる端末装置(400B)と通信先となる端末装置(400A)との間の接続を仲介する処理を実行し、
    前記複数の端末装置(400)のそれぞれは、
    自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(300)に対して通知する自己アドレス通知部(450)と、
    自己(400B)を通信元として、通信先の別な端末装置(400A)に対する通信要求(S11)を受け付ける通信要求受付部(420B)と、
    前記通信要求受付部(420B)によって前記通信要求(S11)が受け付けられたときに、前記接続仲介装置(300)に対して、前記通信先の別な端末装置(400A)の端末ID(0010)を特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する接続仲介依頼部(410B)と、
    前記接続仲介装置(300)から、通信元の別な端末装置(400B)のネットワーク上での所在を示す通信元アドレス(AD2)が送信されてきたときに、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行う通信開始要求部(440A)と、
    前記通信開始要求(S15)に応じて、前記通信元の別な端末装置(400B)から、通信開始受諾確認(S16)が返信されてきたら、前記通信元の別な端末装置(400B)との間に通信セッションを確立して通信(S17)を開始する通信先セッション確立部(460A)と、
    前記通信先の別な端末装置(400A)から、自己(400B)を通信元とする通信開始要求(S15)がなされたら、前記通信先の別な端末装置(400A)に対して通信開始受諾確認(S16)を送信し、前記通信先の別な端末装置(400A)との間に通信セッションを確立して通信(S17)を開始する通信元セッション確立部(430B)と、
    前記通信先セッション確立部(460)もしくは前記通信元セッション確立部(430)が相手方端末装置(400)と通信を行っている最中に、自己の所在アドレスが変更になったときに、これを検出するアドレス変更検出部(480)と、
    前記アドレス変更検出部(480)がアドレスの変更を検出したときに、前記通信要求受付部(420)に対して、自己(400)を通信元として、前記相手方端末装置(400)を通信先とする通信要求を行う再接続処理部(470)と、
    を有し、
    前記接続仲介装置(300)は、
    前記端末装置(400A−400D)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T)を格納するアドレステーブル格納部(310)と、
    前記端末装置(400A−400D)の前記自己アドレス通知部(450)からの通知に基づいて、前記アドレステーブル(T)の内容を更新するアドレステーブル更新部(320)と、
    前記端末装置(400B)の前記接続仲介依頼部(410B)から、前記接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T)を参照して、前記接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられている所在アドレス(AD1)に対して、前記接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末ID(0020)に対応づけられている所在アドレス(AD2)を通信元アドレスとして送信する通信元アドレス送信部(330)と、
    を有することを特徴とするネットワーク通信システム。
  10. 請求項9に記載のネットワーク通信システムにおいて、
    通信先セッション確立部(460)および通信元セッション確立部(430)が相手方端末装置(400)との間に通信セッションを確立する際に、相手方端末装置(400)の通信先特定情報を格納する機能を有し、
    再接続処理部(470)が、前記通信先セッション確立部(460)もしくは前記通信元セッション確立部(430)に格納されていた前記通信先特定情報を用いて通信要求を行うことを特徴とするネットワーク通信システム。
  11. 請求項9または10に記載のネットワーク通信システムにおいて、
    端末装置(400)が、所定のOSプログラムと、このOSプログラムの下で動作する1つもしくは複数の通信アプリケーションプログラムと、をインストールしたコンピュータによって構成されており、
    アドレス変更検出部(480)が、前記OSプログラムもしくは前記通信アプリケーションプログラムが管理する情報に基づいて、所在アドレスの変更を検出することを特徴とするネットワーク通信システム。
  12. 請求項9〜11のいずれかに記載のネットワーク通信システムにおいて、
    アドレス変更検出部(480)が、アドレスの変更を検出したときに、その旨を自己アドレス通知部(450)に報知し、
    自己アドレス通知部(450)が、前記報知を受けたときに、変更後の所在アドレスを接続仲介装置(300)に対して通知することを特徴とするネットワーク通信システム。
  13. ネットワーク(N)を介して相互に接続可能な複数の端末装置(400,400A−400D)と、前記複数の端末装置間の接続を仲介する接続仲介装置(300)と、を備えたネットワーク通信システムであって、
    前記複数の端末装置(400,400A−400D)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(300)は、前記端末IDを利用して通信元となる端末装置(400B)と通信先となる端末装置(400A)との間の接続を仲介する処理を実行し、
    前記複数の端末装置(400)のそれぞれは、
    自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(300)に対して通知する自己アドレス通知部(450)と、
    自己(400B)を通信元として、通信先の別な端末装置(400A)に対する通信要求(S11)を受け付ける通信要求受付部(420B)と、
    前記通信要求受付部(420B)によって前記通信要求(S11)が受け付けられたときに、前記接続仲介装置(300)に対して、前記通信先の別な端末装置(400A)の端末ID(0010)を特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する接続仲介依頼部(410B)と、
    前記接続仲介装置(300)から、通信元の別な端末装置(400B)のネットワーク上での所在を示す通信元アドレス(AD2)が送信されてきたときに、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行う通信開始要求部(440A)と、
    前記通信開始要求(S15)に応じて、前記通信元の別な端末装置(400B)から、通信開始受諾確認(S16)が返信されてきたら、前記通信元の別な端末装置(400B)との間に通信セッションを確立して通信(S17)を開始する通信先セッション確立部(460A)と、
    前記通信先の別な端末装置(400A)から、自己(400B)を通信元とする通信開始要求(S15)がなされたら、前記通信先の別な端末装置(400A)に対して通信開始受諾確認(S16)を送信し、前記通信先の別な端末装置(400A)との間に通信セッションを確立して通信(S17)を開始する通信元セッション確立部(430B)と、
    前記通信先セッション確立部(460)もしくは前記通信元セッション確立部(430)が相手方端末装置(400)と通信を行っている最中に生じた通信異常を検出する通信異常検出部(490)と、
    前記通信異常検出部(490)が通信異常を検出したときに、前記通信要求受付部(420)に対して、自己(400)を通信元として、前記相手方端末装置(400)を通信先とする通信要求を行う再接続処理部(475)と、
    を有し、
    前記接続仲介装置(300)は、
    前記端末装置(400A−400D)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T)を格納するアドレステーブル格納部(310)と、
    前記端末装置(400A−400D)の前記自己アドレス通知部(450)からの通知に基づいて、前記アドレステーブル(T)の内容を更新するアドレステーブル更新部(320)と、
    前記端末装置(400B)の前記接続仲介依頼部(410B)から、前記接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T)を参照して、前記接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられている所在アドレス(AD1)に対して、前記接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末ID(0020)に対応づけられている所在アドレス(AD2)を通信元アドレスとして送信する通信元アドレス送信部(330)と、
    を有することを特徴とするネットワーク通信システム。
  14. 請求項13に記載のネットワーク通信システムにおいて、
    通信先セッション確立部(460)および通信元セッション確立部(430)が相手方端末装置(400)との間に通信セッションを確立する際に、相手方端末装置(400)の通信先特定情報を格納する機能を有し、
    再接続処理部(475)が、前記通信先セッション確立部(460)もしくは前記通信元セッション確立部(430)に格納されていた前記通信先特定情報を用いて通信要求を行うことを特徴とするネットワーク通信システム。
  15. 請求項13または14に記載のネットワーク通信システムにおいて、
    通信異常検出部(490)が、相手方端末装置(400)と通信を行っている最中に、相手方の通信異常検出部(490)との間で、接続確認信号とこれに対する応答信号とを所定周期でやり取りする機能を有し、相手方に送信した接続確認信号に対する応答信号が所定期間内に受信できなかった場合に、通信異常の検出を行うことを特徴とするネットワーク通信システム。
  16. 請求項13〜15のいずれかに記載のネットワーク通信システムにおいて、
    再接続処理部(475)が、相手方端末装置(400)と通信を行っている最中に自己の所在アドレスが変更になったことを検出する機能を有し、自己の所在アドレスの変更が検出された場合には、通信要求受付部(420)に対する通信要求を行わないことを特徴とするネットワーク通信システム。
  17. 請求項1〜16のいずれかに記載のネットワーク通信システムにおける複数の端末装置(200,200A−200K;400,400A−400D)を構成する1台の端末装置(200;400)。
  18. 請求項17に記載の1台の端末装置(200;400)としてコンピュータを機能させるプログラム。
JP2019537432A 2017-08-21 2017-08-21 ネットワーク通信システム Active JP6879372B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/029764 WO2019038801A1 (ja) 2017-08-21 2017-08-21 ネットワーク通信システム

Publications (2)

Publication Number Publication Date
JPWO2019038801A1 JPWO2019038801A1 (ja) 2020-10-15
JP6879372B2 true JP6879372B2 (ja) 2021-06-02

Family

ID=65438568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019537432A Active JP6879372B2 (ja) 2017-08-21 2017-08-21 ネットワーク通信システム

Country Status (2)

Country Link
JP (1) JP6879372B2 (ja)
WO (1) WO2019038801A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3964266B2 (ja) * 2001-09-21 2007-08-22 株式会社いいじゃんネット 接続支援サーバ、端末、接続支援システム、接続支援方法、通信プログラム、および接続支援プログラム
JP2009206601A (ja) * 2008-02-26 2009-09-10 Funai Electric Co Ltd 情報配信システム
JP5887507B2 (ja) * 2011-11-28 2016-03-16 パナソニックIpマネジメント株式会社 通信機器間の接続確立方法、通信機器、及びサーバ装置

Also Published As

Publication number Publication date
WO2019038801A1 (ja) 2019-02-28
JPWO2019038801A1 (ja) 2020-10-15

Similar Documents

Publication Publication Date Title
JP5662745B2 (ja) 企業外の電話を企業内のユーザに関連付けるネットワーク・フレームワーク
EP2277336B1 (en) Method, system, and apparatus for access of network services using subscriber identities
BRPI0610718A2 (pt) porta de numeração eletrÈnica e método e para temporariamente associar uma numeração eletrÈnica com uma dada comunicação
KR101981812B1 (ko) 네트워크 통신 시스템들 및 방법들
US20090214018A1 (en) Distributed identifier management
JP5212071B2 (ja) 通信装置および移動端末
JP6787390B2 (ja) ネットワーク通信システム
EP2223496B1 (en) Method and arrangement for network roaming of corporate extension identities
US7756257B2 (en) SIP enabled device identification
JP6879370B2 (ja) ネットワーク通信システム
JP6879372B2 (ja) ネットワーク通信システム
JP7056663B2 (ja) ネットワーク通信システム
JP6879373B2 (ja) ネットワーク通信システム
JP6879371B2 (ja) ネットワーク通信システム
JP6988545B2 (ja) ネットワーク通信システム
KR101978972B1 (ko) 향상된 자동 발신자 식별 해석
JP2006333220A (ja) ネットワーク電話システム及びこのネットワーク電話システムのサーバ装置
JP2022025152A (ja) ネットワーク通信システム
JP4047736B2 (ja) 情報管理サービス方法およびシステム
JP6524447B2 (ja) 通信装置、通信方法、及びプログラム
JP5402689B2 (ja) 通信方法
JP4197719B2 (ja) 電話システム
JP2019165291A (ja) 端末装置、通信路確立方法、端末装置用のプログラム、および、認証システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200520

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: 20210330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210412

R150 Certificate of patent or registration of utility model

Ref document number: 6879372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150