JP2004304317A - ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム - Google Patents
ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2004304317A JP2004304317A JP2003092396A JP2003092396A JP2004304317A JP 2004304317 A JP2004304317 A JP 2004304317A JP 2003092396 A JP2003092396 A JP 2003092396A JP 2003092396 A JP2003092396 A JP 2003092396A JP 2004304317 A JP2004304317 A JP 2004304317A
- Authority
- JP
- Japan
- Prior art keywords
- address
- information processing
- packet
- processing device
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2578—NAT traversal without involvement of the NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
【解決手段】ローカル通信装置11は、最初に装置用サービス提供装置51にサービス要求パケットを供給し、サービス提供パケットを、中継装置12のポート342−1を介して取得する。次に、ローカル通信装置11は、装置用サービス提供装置52にサービス要求パケットを供給し、サービス提供パケットを、中継装置12のポート342−2を介して取得する。ローカル通信装置11は、これらのサービス提供パケットに含まれる2つのグローバルアドレス情報の差分値を算出し、装置用サービス提供装置52との通信に用いられたポート342−2のポート番号に値「1」を加算し、ポート342−3が次回の通信に対応するポートであると予想する。本発明は、インスタントメッセージサービスシステムに適用することができる。
【選択図】 図22
Description
【発明の属する技術分野】
本発明はネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラムに関し、特に、NAPTを介して他の装置と通信を行う場合に用いて好適なネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラムに関する。
【0002】
【従来の技術】
現在インターネットではルーティングプロトコルとしてInternet Protocol(以下、IPと称する)が用いられている。もっとも普及しているIPのバージョンは、今のところ「4」となっており(以下、IPv4と称する)、このバージョンで利用される送信元アドレスや送信先アドレスのビット数は「32」である。インターネット等に代表されるグローバルなネットワークにおいて、そのIPv4に基づいて32ビットのアドレス(以下、IPv4アドレスと称する)を、各通信端末に対してユニークに割り当てておくことにより、それらの装置間で行われる通信の通信データの送信元アドレスや送信先アドレスが識別可能となるようになされている。
【0003】
しかしながら、インターネット利用率の急増化から、IPv4アドレスが足りなくなる恐れが生じるようになった。そこで、これを解決するために、IETF(Internet Engineering Task Force)では、IPのバージョンとして「6」であるプロトコル(以下、IPv6と称する)を策定し、普及を開始し始めている。しかし、実際には、インターネットで利用するルーティングプロトコルをIPv6へ全面移行するためには、多大な時間やコストが必要であり、完全にこの問題を解決することは困難である。
【0004】
また、同様にこれらを解決するために、UPnP(Universal Plug and Play)という技術が考えられている。しかしながら、中継手段としてUPnPに対応したルータ(Router)を用いる場合、多大な時間やコストが必要と想定される。さらに、既に多数存在するUPnPに対応していないルータが、全てUPnPに対応したルータに交換される必要もあるので、この方法によって、上述した問題を完全に解決しようとすることは現実的ではない。
【0005】
そこで、既存のIPv4を利用しつつ、そのアドレスを拡大させる手法として、特別な性質を持つアドレス空間「プライベートアドレス」を用いる方法が提案された。
【0006】
プライベートアドレスは、IPv4アドレスのように、グローバルなネットワークにおける各端末装置に対して、ユニークに割り振られるアドレス(以下、グローバルアドレスと称する)と違い、所定の限られた範囲(ローカルエリア)において各端末に対して割り当てられるアドレスである。従って、ローカルエリアの通信端末装置が、このプライベートアドレスを用いてインターネットにあるグローバルアドレスを持つ他の通信端末装置と通信を行う場合、そのプライベートアドレスをグローバルアドレスに変換する処理が必要となる。それを実現する方法として、NAT(Network Address Translation)が考えられる。
【0007】
ただし、NATを用いた場合、その仕組みにより、ひとつのプライベートアドレスに対し、ひとつのグローバルアドレスを対応させる必要があり、複数の通信端末装置がローカルエリアに存在する場合、その中の1台の通信端末装置しかインターネットに接続できない。
【0008】
そこで、アドレスの下に設けられたサブ(補助)アドレスであるポートを利用する方法が考え出された。具体的に言うと、この方法を用いた場合、通信端末装置に割り当てられたプライベートアドレスと、通信に用いるポート(すなわち、ソケット)がグローバルアドレスとポートへ変換される。この方法は、NAPT(Network Address Port Translation)またはIPマスカレード(IP masquerade)と呼ばれる方法である。このNAPTを利用することにより、プライベートアドレスとポートを持つ複数の通信端末装置から、グローバルアドレスとポートを有する他の通信端末装置に対して、通信することが可能となる。
【0009】
しかしながら、以上のように、NAPTを利用する通信を行うプライベートネットワークの外側から、通信装置が、プライベートネットワークの中にある通信端末装置に対してアクセスする場合、通信装置は、NAPTによる変換前の、通信端末装置のプライベートアドレスとポートを知ることができず、そのままでは上述したような通信ができない。
【0010】
これに対して、ルータが、プライベートネットワークに接続された通信端末装置の識別子をサブアドレスとして識別するようにし、プライベートネットワークの外部の通信装置が、その通信端末装置にアクセスする場合、そのサブアドレスを用いて通信相手となる通信端末装置を特定するようにする方法がある(例えば、特許文献1参照)。
【0011】
【特許文献1】
特開2001−345841号公報(第9−16ページ、図3、図6乃至8)
【0012】
【発明が解決しようとする課題】
しかしながら、以上のような通信方法を用いた場合、上述したようなサブアドレスを利用できる機能を有するルータを用いる必要があり、通信装置は、サブアドレスに対応していない既存のルータを介して、プライベートネットワーク内の通信端末装置に対してアクセスすることができないという課題があった。
【0013】
また、以上のような通信方法を用いた場合、通信装置は、複数のルータを介して、他の通信装置にアクセスすることができないという課題もあった。
【0014】
さらに、以上のような通信方法を用いた場合、通信を中継するルータが、通信端末装置の通信先のアドレスおよびポートが代わるたびに、通信端末装置が行う通信の中継に使用するポートをインクリメントさせる場合、特に、2つ以上インクリメントさせる場合、ルータが設定した通信端末装置に対応するポートを特定することが困難であり、通信装置がそのようなルータを介して通信端末装置にアクセスすることができないという課題もあった。
【0015】
本発明はこのような状況に鑑みてなされたものであり、通信端末装置の通信先のアドレスおよびポートが代わるたびに、通信端末装置が行う通信の中継に使用するポートを2つ以上インクリメントさせるようなNAPT変換を行う既存の設備においても、NAPTを介して他の装置と容易に通信を行うことができるようにしたものである。
【0016】
【課題を解決するための手段】
本発明のネットワークシステムは、第1の情報処理装置は、第3の情報処理装置の第1のアドレスと第2のアドレスに、第1のアドレス変換装置を介して、第1の情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給し、第3の情報処理装置は、第1のパケットと第2のパケットを取得し、第1のパケットと第2のパケットに含まれる、第1の情報処理装置に対応する第2のネットワーク上の、第3のアドレスと第4のアドレスを用いて、第3のパケットと第4のパケットを生成し、生成した第3のパケットと第4のパケットを第1の情報処理装置に供給し、第1の情報処理装置は、第3のパケットと第4のパケットを取得し、第3のパケットと第4のパケットに含まれる第3のアドレスと第4のアドレスを用いて、第2の情報処理装置にアクセスする際の、第1の情報処理装置に対応する第2のネットワーク上のアドレスである第5のアドレスを予測し、予測した第5のアドレスを第4の情報処理装置に供給し、第4の情報処理装置は、第5のアドレスを第1の情報処理装置のユーザIDに関連付けて記憶し、第2の情報処理装置は、第3の情報処理装置の第1のアドレスと第2のアドレスに、第2のアドレス変換装置を介して、第2の情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第5のパケットと第6のパケットを供給し、第3の情報処理装置は、第5のパケットと第6のパケットを取得し、第5のパケットと第6のパケットに含まれる、第2の情報処理装置に対応する第2のネットワーク上の、第6のアドレスと第7のアドレスを用いて、第7のパケットと第8のパケットを生成し、生成した第7のパケットと第8のパケットを第2の情報処理装置に供給し、第2の情報処理装置は、第7のパケットと第8のパケットを取得し、第7のパケットと第8のパケットに含まれる第6のアドレスと第7のアドレスを用いて、第1の情報処理装置にアクセスする際の、第2の情報処理装置に対応する第2のネットワーク上のアドレスである第8のアドレスを予測し、予測した第8のアドレスを第4の情報処理装置に供給し、第4の情報処理装置は、第8のアドレスを第2の情報処理装置のユーザIDに関連付けて記憶し、第1の情報処理装置は、第4の情報処理装置に、通信相手である第2の情報処理装置のユーザに対応するアドレスを要求し、第4の情報処理装置は、要求に基づいて、第8のアドレスを第1の情報処理装置に供給し、第1の情報処理装置は、第8のアドレスを取得し、第8のアドレスに基づいて、第2の情報処理装置にアクセスし、第2の情報処理装置は、第4の情報処理装置に、通信相手である第1の情報処理装置のユーザに対応するアドレスを要求し、第4の情報処理装置は、要求に基づいて、第5のアドレスを第2の情報処理装置に供給し、第2の情報処理装置は、第5のアドレスを取得し、第5のアドレスに基づいて、第1の情報処理装置にアクセスすることを特徴とする。
【0017】
前記第3の情報処理装置は、第2のネットワークに接続され、第1のアドレスを有する第5の情報処理装置、並びに、第2のネットワークに接続され、第2のアドレスを有する第6の情報処理装置からなり、第5の情報処理装置は、第1のパケットを取得し、第1のパケットに含まれる第3のアドレスを用いて、第3のパケットを生成し、第1の情報処理装置に供給し、第5のパケットを取得し、第5のパケットに含まれる第6のアドレスを用いて、第7のパケットを生成し、第2の情報処理装置に供給し、第6の情報処理装置は、第2のパケットを取得し、第2のパケットに含まれる第4のアドレスを用いて、第4のパケットを生成し、第1の情報処理装置に供給し、第6のパケットを取得し、第6のパケットに含まれる第7のアドレスを用いて、第8のパケットを生成し、第2の情報処理装置に供給するようにすることができる。
【0018】
本発明の通信方法は、第1の情報処理装置は、第3の情報処理装置の第1のアドレスと第2のアドレスに、第1のアドレス変換装置を介して、第1の情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給し、第3の情報処理装置は、第1のパケットと第2のパケットを取得し、第1のパケットと第2のパケットに含まれる、第1の情報処理装置に対応する第2のネットワーク上の、第3のアドレスと第4のアドレスを用いて、第3のパケットと第4のパケットを生成し、生成した第3のパケットと第4のパケットを第1の情報処理装置に供給し、第1の情報処理装置は、第3のパケットと第4のパケットを取得し、第3のパケットと第4のパケットに含まれる第3のアドレスと第4のアドレスを用いて、第2の情報処理装置にアクセスする際の、第1の情報処理装置に対応する第2のネットワーク上のアドレスである第5のアドレスを予測し、予測した第5のアドレスを第4の情報処理装置に供給し、第4の情報処理装置は、第5のアドレスを第1の情報処理装置のユーザIDに関連付けて記憶し、第2の情報処理装置は、第3の情報処理装置の第1のアドレスと第2のアドレスに、第2のアドレス変換装置を介して、第2の情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第5のパケットと第6のパケットを供給し、第3の情報処理装置は、第5のパケットと第6のパケットを取得し、第5のパケットと第6のパケットに含まれる、第2の情報処理装置に対応する第2のネットワーク上の、第6のアドレスと第7のアドレスを用いて、第7のパケットと第8のパケットを生成し、生成した第7のパケットと第8のパケットを第2の情報処理装置に供給し、第2の情報処理装置は、第7のパケットと第8のパケットを取得し、第7のパケットと第8のパケットに含まれる第6のアドレスと第7のアドレスを用いて、第1の情報処理装置にアクセスする際の、第2の情報処理装置に対応する第2のネットワーク上のアドレスである第8のアドレスを予測し、予測した第8のアドレスを第4の情報処理装置に供給し、第4の情報処理装置は、第8のアドレスを第2の情報処理装置のユーザIDに関連付けて記憶し、第1の情報処理装置は、第4の情報処理装置に、通信相手である第2の情報処理装置のユーザに対応するアドレスを要求し、第4の情報処理装置は、要求に基づいて、第8のアドレスを第1の情報処理装置に供給し、第1の情報処理装置は、第8のアドレスを取得し、第8のアドレスに基づいて、第2の情報処理装置にアクセスし、第2の情報処理装置は、第4の情報処理装置に、通信相手である第1の情報処理装置のユーザに対応するアドレスを要求し、第4の情報処理装置は、要求に基づいて、第5のアドレスを第2の情報処理装置に供給し、第2の情報処理装置は、第5のアドレスを取得し、第5のアドレスに基づいて、第1の情報処理装置にアクセスすることを特徴とする。
【0019】
本発明の第1の情報処理装置は、第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置の第1のアドレスと第2のアドレスに、第1のアドレス変換装置を介して、情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給する供給手段と、供給手段により供給された第1のパケットと第2のパケットに基づいて第2の他の情報処理装置より供給された、情報処理装置の第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケットを取得する第1の取得手段と、第1の取得手段により取得された第3のパケットに含まれる第3のアドレス、および、第4のパケットに含まれる第4のアドレスを用いて、第1の他の情報処理装置にアクセスする際の、情報処理装置に対応する第2のネットワーク上のアドレスである第5のアドレスを予測する予測手段とを備えることを特徴とする。
【0020】
前記供給手段は、第2のパケットを第1のパケットに続けて供給するようにすることができる。
【0021】
前記第2の他の情報処理装置は、第2のネットワークに接続され、第1のアドレスを有する第3の他の情報処理装置と、第2のネットワークに接続され、第2のアドレスを有する第4の他の情報処理装置からなり、供給手段は、第3の他の情報処理装置に第1のパケットを供給し、第4の他の情報処理装置に第2のパケットを供給し、第1の取得手段は、第3の他の情報処理装置より供給された第3のパケット、および第4の他の情報処理装置より供給された第4のパケットを取得するようにすることができる。
【0022】
前記第1乃至第4のアドレスは、IPアドレスおよびポート番号を含むようにすることができる。
【0023】
前記予測手段は、第4のアドレスと第3のアドレスの差分値を算出し、算出された差分値を第4のアドレスに加算することにより、第5のアドレスを予測するようにすることができる。
【0024】
前記第2のネットワークに接続され、情報処理装置および第1の他の情報処理装置の第2のネットワーク上のアドレスを管理する第3の他の情報処理装置に、予測手段により予測された第5のアドレスを供給し、第5のアドレスの登録を要求する第1の要求手段と、第1の他の情報処理装置により予測され、第3の他の情報処理装置に登録されている、第1の他の情報処理装置の第2のネットワーク上のアドレスである第6のアドレスを要求する第2の要求手段と、第2の要求手段に基づいて第3の他の情報処理装置より供給された第6のアドレスを取得する第3の取得手段と、第3の取得手段により取得された第6のアドレスに基づいて設定された第1の他の情報処理装置の第2のネットワーク上のアドレスに、通信の開通を要求する第3の要求手段とをさらに備えるようにすることができる。
【0025】
前記第3の要求手段は、第1の他の情報処理装置との通信の開通を要求するための第5のパケットを、情報処理装置の第1のネットワーク上の複数のアドレスから、それぞれ、第2のアドレス変換装置の、第5のアドレスから連続する複数のアドレスに対して供給して、通信の開通を要求するようにすることができる。
【0026】
前記第3の要求手段は、第1の他の情報処理装置との通信の開通を要求するための第5のパケットを、情報処理装置の第1のネットワーク上の複数のアドレスから、それぞれ、第2のアドレス変換装置の、第5のアドレスから1つおきに連続する複数のアドレスに対して供給して、通信の開通を要求するようにすることができる。
【0027】
前記第3の要求手段は、情報処理装置の第1のネットワーク上の複数のアドレスから、それぞれ、第2のアドレス変換装置の第2のネットワーク上の、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に1つのアドレスが存在する、第5のアドレスを最初のアドレス群の先頭アドレスとする複数のアドレス群の、互いに異なるアドレス群の各アドレスに対して、第1の他の情報処理装置との通信の開通を要求するための第5のパケットを供給して、通信の開通を要求するようにすることができる。
【0028】
前記第3の要求手段は、情報処理装置の第1のネットワーク上の複数のアドレスから、それぞれ、第2のアドレス変換装置の第2のネットワーク上の、連続する複数のアドレスからなる複数のアドレス群であり、第5のアドレスを最初のアドレス群の先頭アドレスとする複数のアドレス群の、互いに異なるアドレス群の各アドレスに対して、第1の他の情報処理装置との通信の開通を要求するための第5のパケットを供給して、通信の開通を要求するようにすることができる。
【0029】
前記第1の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段をさらに備え、第3の要求手段は、マスタスレーブ判定手段による判定結果に基づいて選択したアルゴリズムに基づいて、通信の開通を要求するようにすることができる。
【0030】
本発明の第1の情報処理方法は、第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置の第1のアドレスと第2のアドレスに、第1のアドレス変換装置を介して、情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給する供給ステップと、供給ステップの処理により供給された第1のパケットと第2のパケットに基づいて第2の他の情報処理装置より供給された、情報処理装置の第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケットを取得する第1の取得ステップと、第1の取得ステップの処理により取得された第3のパケットに含まれる第3のアドレス、および、第4のパケットに含まれる第4のアドレスを用いて、第1の他の情報処理装置にアクセスする際の、情報処理装置に対応する第2のネットワーク上のアドレスである第5のアドレスを予測する予測ステップとを含むことを特徴とする。
【0031】
本発明の第1のプログラムは、第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置の第1のアドレスと第2のアドレスに、第1のアドレス変換装置を介して、情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給する供給ステップと、供給ステップの処理により供給された第1のパケットと第2のパケットに基づいて第2の他の情報処理装置より供給された、情報処理装置の第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケットを取得する第1の取得ステップと、第1の取得ステップの処理により取得された第3のパケットに含まれる第3のアドレス、および、第4のパケットに含まれる第4のアドレスを用いて、第1の他の情報処理装置にアクセスする際の、情報処理装置に対応する第2のネットワーク上のアドレスである第5のアドレスを予測する予測ステップとをコンピュータに実現させることを特徴とする。
【0032】
本発明の第2の情報処理装置は、第1の他の情報処理装置より供給された、第1の他の情報処理装置により予測された、第1の他の情報処理装置のネットワーク上のアドレスに関する情報を取得する取得手段と、取得手段により取得された第1の他の情報処理装置のネットワーク上のアドレスに関する情報を記憶する記憶手段と、第1の他の情報処理装置の通信相手である第2の他の情報処理装置の要求に基づいて、記憶手段により記憶されている、第1の他の情報処理装置により予測された、第1の他の情報処理装置のネットワーク上のアドレスに関する情報を、第2の他の情報処理装置に供給する供給手段とを備えることを特徴とする。
【0033】
本発明の第2の情報処理方法は、第1の他の情報処理装置より供給された、第1の他の情報処理装置により予測された、第1の他の情報処理装置のネットワーク上のアドレスに関する情報を取得する取得ステップと、取得ステップの処理により取得された第1の他の情報処理装置のネットワーク上のアドレスに関する情報を記憶する記憶ステップと、第1の他の情報処理装置の通信相手である第2の他の情報処理装置の要求に基づいて、記憶ステップの処理により記憶されている、第1の他の情報処理装置により予測された、第1の他の情報処理装置のネットワーク上のアドレスに関する情報を、第2の他の情報処理装置に供給する供給ステップとを含むことを特徴とする。
【0034】
本発明の第2のプログラムは、第1の他の情報処理装置より供給された、第1の他の情報処理装置により予測された、第1の他の情報処理装置のネットワーク上のアドレスに関する情報を取得する取得ステップと、取得ステップの処理により取得された第1の他の情報処理装置のネットワーク上のアドレスに関する情報を記憶する記憶ステップと、第1の他の情報処理装置の通信相手である第2の他の情報処理装置の要求に基づいて、記憶ステップの処理により記憶されている、第1の他の情報処理装置により予測された、第1の他の情報処理装置のネットワーク上のアドレスに関する情報を、第2の他の情報処理装置に供給する供給ステップとをコンピュータに実行させることを特徴とする。
【0035】
本発明のネットワークシステムおよび通信方法においては、第1の情報処理装置においては、第3の情報処理装置の第1のアドレスと第2のアドレスに、第1のアドレス変換装置を介して、第1の情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットが供給され、第3の情報処理装置においては、第1のパケットと第2のパケットが取得され、第1のパケットと第2のパケットに含まれる、第1の情報処理装置に対応する第2のネットワーク上の、第3のアドレスと第4のアドレスを用いて、第3のパケットと第4のパケットが生成され、生成された第3のパケットと第4のパケットが第1の情報処理装置に供給され、第1の情報処理装置においては、第3のパケットと第4のパケットが取得され、第3のパケットと第4のパケットに含まれる第3のアドレスと第4のアドレスが用いられて、第2の情報処理装置にアクセスする際の、第1の情報処理装置に対応する第2のネットワーク上のアドレスである第5のアドレスが予測され、予測された第5のアドレスが第4の情報処理装置に供給され、第4の情報処理装置においては、第5のアドレスが第1の情報処理装置のユーザIDに関連付けて記憶され、第2の情報処理装置においては、第3の情報処理装置の第1のアドレスと第2のアドレスに、第2のアドレス変換装置を介して、第2の情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第5のパケットと第6のパケットが供給され、第3の情報処理装置においては、第5のパケットと第6のパケットが取得され、第5のパケットと第6のパケットに含まれる、第2の情報処理装置に対応する第2のネットワーク上の、第6のアドレスと第7のアドレスを用いて、第7のパケットと第8のパケットが生成され、生成された第7のパケットと第8のパケットが第2の情報処理装置に供給され、第2の情報処理装置においては、第7のパケットと第8のパケットが取得され、第7のパケットと第8のパケットに含まれる第6のアドレスと第7のアドレスが用いられて、第1の情報処理装置にアクセスする際の、第2の情報処理装置に対応する第2のネットワーク上のアドレスである第8のアドレスが予測され、予測された第8のアドレスが第4の情報処理装置に供給され、第4の情報処理装置においては、第8のアドレスが第2の情報処理装置のユーザIDに関連付けて記憶され、第1の情報処理装置においては、第4の情報処理装置に、通信相手である第2の情報処理装置のユーザに対応するアドレスが要求され、第4の情報処理装置においては、要求に基づいて、第8のアドレスが第1の情報処理装置に供給され、第1の情報処理装置においては、第8のアドレスが取得され、第8のアドレスに基づいて、第2の情報処理装置にアクセスされ、第2の情報処理装置においては、第4の情報処理装置に、通信相手である第1の情報処理装置のユーザに対応するアドレスが要求され、第4の情報処理装置においては、要求に基づいて、第5のアドレスが第2の情報処理装置に供給され、第2の情報処理装置においては、第5のアドレスが取得され、第5のアドレスに基づいて、第1の情報処理装置にアクセスされる。
【0036】
本発明の第1の情報処理装置および方法、並びに、プログラムにおいては、第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置の第1のアドレスと第2のアドレスに、第1のアドレス変換装置を介して、情報処理装置に対応する第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットが供給され、供給された第1のパケットと第2のパケットに基づいて第2の他の情報処理装置より供給された、情報処理装置の第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケットが取得され、取得された第3のパケットに含まれる第3のアドレス、および、第4のパケットに含まれる第4のアドレスを用いて、第1の他の情報処理装置にアクセスする際の、情報処理装置に対応する第2のネットワーク上のアドレスである第5のアドレスが予測される。
【0037】
本発明の第2の情報処理装置および方法、並びに、プログラムにおいては、第1の他の情報処理装置より供給された、第1の他の情報処理装置により予測された、第1の他の情報処理装置のネットワーク上のアドレスに関する情報が取得され、取得された第1の他の情報処理装置のネットワーク上のアドレスに関する情報が記憶され、第1の他の情報処理装置の通信相手である第2の他の情報処理装置の要求に基づいて、記憶されている、第1の他の情報処理装置により予測された、第1の他の情報処理装置のネットワーク上のアドレスに関する情報が、第2の他の情報処理装置に供給される。
【0038】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0039】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【0040】
請求項1に記載のネットワークシステムは、第1のネットワーク(例えば、図1のプライベートネットワーク10)に接続されるとともに、アドレスを変換する第1のアドレス変換装置(例えば、図1の中継装置12)を介して第2のネットワーク(例えば、図1のネットワーク21)に接続される第1の情報処理装置(例えば、図1のローカル通信装置11−1乃至11−n)と、第3のネットワーク(例えば、図1のプライベートネットワーク30)に接続されるとともに、アドレスを変換する第2のアドレス変換装置(例えば、図1の中継装置32)を介して前記第2のネットワークに接続される第2の情報処理装置(例えば、図1のローカル通信装置31−1乃至31−n)と、前記第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第3の情報処理装置(例えば、図1の装置用サービス提供装置51および52)と、前記第2のネットワークに接続され、前記第1の情報処理装置および前記第2の情報処理装置の前記第2のネットワーク上のアドレスを管理する第4の情報処理装置(例えば、図1のユーザ用サービス提供装置41)とを備えるネットワークシステムであって、前記第1の情報処理装置は、前記第3の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置を介して、前記第1の情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケット(例えば、図17のサービス要求パケット281)を供給し(例えば、図8のステップS4およびS6)、前記第3の情報処理装置は、前記第1のパケットと前記第2のパケットを取得し(例えば、図8のステップS61およびS71)、前記第1のパケットと前記第2のパケットに含まれる、前記第1の情報処理装置に対応する前記第2のネットワーク上の、第3のアドレスと第4のアドレスを用いて、第3のパケットと第4のパケット(例えば、図21のサービス提供パケット321)を生成し(例えば、図20のステップS212)、生成した前記第3のパケットと前記第4のパケットを前記第1の情報処理装置に供給し(例えば、図8のステップS63およびS73)、前記第1の情報処理装置は、前記第3のパケットと前記第4のパケットを取得し(例えば、図8のステップS5およびS7)、前記第3のパケットと前記第4のパケットに含まれる前記第3のアドレスと前記第4のアドレスを用いて、前記第2の情報処理装置にアクセスする際の、前記第1の情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測し(例えば、図8のステップS8)、予測した前記第5のアドレスを前記第4の情報処理装置に供給し(例えば、図9のステップS9)、前記第4の情報処理装置は、前記第5のアドレスを前記第1の情報処理装置のユーザID(例えば、図19のユーザID311)に関連付けて記憶し(例えば、図9のステップS30)、前記第2の情報処理装置は、前記第3の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第2のアドレス変換装置を介して、前記第2の情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第5のパケットと第6のパケット(例えば、図17のサービス要求パケット281)を供給し(例えば、図8のステップS44およびS46)、前記第3の情報処理装置は、前記第5のパケットと前記第6のパケットを取得し(例えば、図8のステップS62およびステップS72)、前記第5のパケットと前記第6のパケットに含まれる、前記第2の情報処理装置に対応する前記第2のネットワーク上の、第6のアドレスと第7のアドレスを用いて、第7のパケットと第8のパケット(例えば、図21のサービス提供パケット321)を生成し(例えば、図20のステップS212)、生成した前記第7のパケットと前記第8のパケットを前記第2の情報処理装置に供給し(例えば、図8のステップS63およびS73)、前記第2の情報処理装置は、前記第7のパケットと前記第8のパケットを取得し(例えば、図8のステップS45およびS47)、前記第7のパケットと前記第8のパケットに含まれる前記第6のアドレスと前記第7のアドレスを用いて、前記第1の情報処理装置にアクセスする際の、前記第2の情報処理装置に対応する前記第2のネットワーク上のアドレスである第8のアドレスを予測し(例えば、図8のステップS48)、予測した前記第8のアドレスを前記第4の情報処理装置に供給し(例えば、図9のステップS49)、前記第4の情報処理装置は、前記第8のアドレスを前記第2の情報処理装置のユーザID(例えば、図19のユーザID311)に関連付けて記憶し(例えば、図9のステップS30)、前記第1の情報処理装置は、前記第4の情報処理装置に、通信相手である前記第2の情報処理装置のユーザに対応するアドレスを要求し(例えば、図15のステップS174)、前記第4の情報処理装置は、前記要求に基づいて、前記第8のアドレスを前記第1の情報処理装置に供給し(例えば、図9のステップS31)、前記第1の情報処理装置は、前記第8のアドレスを取得し(図9のステップS10)、前記第8のアドレスに基づいて、前記第2の情報処理装置にアクセスし(例えば、図10のステップS12)、前記第2の情報処理装置は、前記第4の情報処理装置に、通信相手である前記第1の情報処理装置のユーザに対応するアドレスを要求し(例えば、図15のステップS174)、前記第4の情報処理装置は、前記要求に基づいて、前記第5のアドレスを前記第2の情報処理装置に供給し(例えば、図9のステップS31)、前記第2の情報処理装置は、前記第5のアドレスを取得し(図9のステップS50)、前記第5のアドレスに基づいて、前記第1の情報処理装置にアクセスする(例えば、図10のステップS52)ことを特徴とする。
【0041】
請求項2に記載のネットワークシステムの前記第3の情報処理装置は、前記第2のネットワークに接続され、前記第1のアドレスを有する第5の情報処理装置(例えば、図1の装置用サービス提供装置51)、並びに、前記第2のネットワークに接続され、前記第2のアドレスを有する第6の情報処理装置(例えば、図1の装置用サービス提供装置52)からなり、前記第5の情報処理装置は、前記第1のパケットを取得し(例えば、図8のステップS61)、前記第1のパケットに含まれる前記第3のアドレスを用いて、前記第3のパケットを生成し(例えば、図20のステップS212)、前記第1の情報処理装置に供給し(例えば、図8のステップS63)、前記第5のパケットを取得し(例えば、図8のステップS62)、前記第5のパケットに含まれる前記第6のアドレスを用いて、前記第7のパケットを生成し(例えば、図20のステップS212)、前記第2の情報処理装置に供給し(例えば、図8のステップS63)、前記第6の情報処理装置は、前記第2のパケットを取得し(例えば、図8のステップS71)、前記第2のパケットに含まれる前記第4のアドレスを用いて、前記第4のパケットを生成し(例えば、図20のステップS212)、前記第1の情報処理装置に供給し(例えば、図8のステップS73)、前記第6のパケットを取得し(例えば、図8のステップS72)、前記第6のパケットに含まれる前記第7のアドレスを用いて、前記第8のパケットを生成し(例えば、図20のステップS212)、前記第2の情報処理装置に供給する(例えば、図8のステップS73)ことを特徴とする。
【0042】
請求項3に記載の通信方法は、第1のネットワーク(例えば、図1のプライベートネットワーク10)に接続されるとともに、アドレスを変換する第1のアドレス変換装置(例えば、図1の中継装置12)を介して第2のネットワーク(例えば、図1のネットワーク21)に接続される第1の情報処理装置(例えば、図1のローカル通信装置11−1乃至11−n)と、第3のネットワーク(例えば、図1のプライベートネットワーク30)に接続されるとともに、アドレスを変換する第2のアドレス変換装置(例えば、図1の中継装置32)を介して前記第2のネットワークに接続される第2の情報処理装置(例えば、図1のローカル通信装置31−1乃至31−n)と、前記第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第3の情報処理装置(例えば、図1の装置用サービス提供装置51および52)と、前記第2のネットワークに接続され、前記第1の情報処理装置および前記第2の情報処理装置の前記第2のネットワーク上のアドレスを管理する第4の情報処理装置(例えば、図1のユーザ用サービス提供装置41)とを備えるネットワークシステムの通信方法であって、前記第1の情報処理装置は、前記第3の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置を介して、前記第1の情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケット(例えば、図17のサービス要求パケット281)を供給し(例えば、図8のステップS4およびS6)、前記第3の情報処理装置は、前記第1のパケットと前記第2のパケットを取得し(例えば、図8のステップS61およびS71)、前記第1のパケットと前記第2のパケットに含まれる、前記第1の情報処理装置に対応する前記第2のネットワーク上の、第3のアドレスと第4のアドレスを用いて、第3のパケットと第4のパケット(例えば、図21のサービス提供パケット321)を生成し(例えば、図20のステップS212)、生成した前記第3のパケットと前記第4のパケットを前記第1の情報処理装置に供給し(例えば、図8のステップS63およびS73)、前記第1の情報処理装置は、前記第3のパケットと前記第4のパケットを取得し(例えば、図8のステップS5およびS7)、前記第3のパケットと前記第4のパケットに含まれる前記第3のアドレスと前記第4のアドレスを用いて、前記第2の情報処理装置にアクセスする際の、前記第1の情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測し(例えば、図8のステップS8)、予測した前記第5のアドレスを前記第4の情報処理装置に供給し(例えば、図9のステップS9)、前記第4の情報処理装置は、前記第5のアドレスを前記第1の情報処理装置のユーザID(例えば、図19のユーザID311)に関連付けて記憶し(例えば、図9のステップS30)、前記第2の情報処理装置は、前記第3の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第2のアドレス変換装置を介して、前記第2の情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第5のパケットと第6のパケット(例えば、図17のサービス要求パケット281)を供給し(例えば、図8のステップS44およびS46)、前記第3の情報処理装置は、前記第5のパケットと前記第6のパケットを取得し(例えば、図8のステップS62およびステップS72)、前記第5のパケットと前記第6のパケットに含まれる、前記第2の情報処理装置に対応する前記第2のネットワーク上の、第6のアドレスと第7のアドレスを用いて、第7のパケットと第8のパケット(例えば、図21のサービス提供パケット321)を生成し(例えば、図20のステップS212)、生成した前記第7のパケットと前記第8のパケットを前記第2の情報処理装置に供給し(例えば、図8のステップS63およびS73)、前記第2の情報処理装置は、前記第7のパケットと前記第8のパケットを取得し(例えば、図8のステップS45およびS47)、前記第7のパケットと前記第8のパケットに含まれる前記第6のアドレスと前記第7のアドレスを用いて、前記第1の情報処理装置にアクセスする際の、前記第2の情報処理装置に対応する前記第2のネットワーク上のアドレスである第8のアドレスを予測し(例えば、図8のステップS48)、予測した前記第8のアドレスを前記第4の情報処理装置に供給し(例えば、図9のステップS49)、前記第4の情報処理装置は、前記第8のアドレスを前記第2の情報処理装置のユーザID(例えば、図19のユーザID311)に関連付けて記憶し(例えば、図9のステップS30)、前記第1の情報処理装置は、前記第4の情報処理装置に、通信相手である前記第2の情報処理装置のユーザに対応するアドレスを要求し(例えば、図15のステップS174)、前記第4の情報処理装置は、前記要求に基づいて、前記第8のアドレスを前記第1の情報処理装置に供給し(例えば、図9のステップS31)、前記第1の情報処理装置は、前記第8のアドレスを取得し(図9のステップS10)、前記第8のアドレスに基づいて、前記第2の情報処理装置にアクセスし(例えば、図10のステップS12)、前記第2の情報処理装置は、前記第4の情報処理装置に、通信相手である前記第1の情報処理装置のユーザに対応するアドレスを要求し(例えば、図15のステップS174)、前記第4の情報処理装置は、前記要求に基づいて、前記第5のアドレスを前記第2の情報処理装置に供給し(例えば、図9のステップS31)、前記第2の情報処理装置は、前記第5のアドレスを取得し(図9のステップS50)、前記第5のアドレスに基づいて、前記第1の情報処理装置にアクセスする(例えば、図10のステップS52)ことを特徴とする。
【0043】
請求項4に記載の情報処理装置は、前記第2のネットワーク(例えば、図1のネットワーク21)に接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置(例えば、図1の装置用サービス提供装置51および52)の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置(例えば、図1の中継装置12)を介して、前記情報処理装置(例えば、図1のローカル通信装置11−1乃至11−n)に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケット(例えば、図17のサービス要求パケット281)を供給する供給手段(例えば、図15のステップS175および177の処理を実行する図3の通信情報取得処理部65)と、前記供給手段により供給された前記第1のパケットと前記第2のパケットに基づいて前記第2の他の情報処理装置より供給された、前記情報処理装置の前記第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケット(例えば、図21のサービス提供パケット321)を取得する第1の取得手段(例えば、図15のステップS176およびS178の処理を実行する図3の通信情報取得処理部65)と、前記第1の取得手段により取得された前記第3のパケットに含まれる前記第3のアドレス、および、前記第4のパケットに含まれる前記第4のアドレスを用いて、前記第1の他の情報処理装置にアクセスする際の、前記情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測する予測手段(例えば、図15のステップS179の処理を実行する図3の通信情報取得処理部65)とを備えることを特徴とする。
【0044】
請求項5に記載の情報処理装置の前記供給手段は、前記第2のパケットを前記第1のパケットに続けて供給する(図8のステップS4およびS6、または、ステップS44およびS46)ことを特徴とする。
【0045】
請求項6に記載の情報処理装置とは異なる前記第2の他の情報処理装置は、前記第2のネットワークに接続され、前記第1のアドレスを有する第3の他の情報処理装置(例えば、図1の装置用サービス提供装置51)と、前記第2のネットワークに接続され、前記第2のアドレスを有する第4の他の情報処理装置(例えば、図1の装置用サービス提供装置52)からなり、前記供給手段は、前記第3の他の情報処理装置に前記第1のパケットを供給し、前記第4の他の情報処理装置に前記第2のパケットを供給し、前記第1の取得手段は、前記第3の他の情報処理装置より供給された前記第3のパケット、および前記第4の他の情報処理装置より供給された前記第4のパケットを取得することを特徴とする。
【0046】
請求項7に記載の情報処理装置の前記第1乃至第4のアドレスは、IPアドレスおよびポート番号を含む(例えば、図19の予想通信元Glo−IP−portに示されるように構成される)ことを特徴とする。
【0047】
請求項8に記載の情報処理装置の前記予測手段は、前記第4のアドレスと前記第3のアドレスの差分値を算出し、算出された前記差分値を前記第4のアドレスに加算することにより、前記第5のアドレスを予測する(図15のステップS179)ことを特徴とする。
【0048】
請求項9に記載の情報処理装置は、前記第2のネットワークに接続され、前記情報処理装置および前記第1の他の情報処理装置の前記第2のネットワーク上のアドレスを管理する第3の他の情報処理装置(例えば、図1のユーザ用サービス提供装置41)に、前記予測手段により予測された前記第5のアドレスを供給し、前記第5のアドレスの登録を要求する第1の要求手段(例えば、図15のステップS180の処理を実行する図3の通信情報取得処理部65)と、前記第1の他の情報処理装置により予測され、前記第3の他の情報処理装置に登録されている、前記第1の他の情報処理装置の前記第2のネットワーク上のアドレスである第6のアドレスを要求する第2の要求手段(例えば、図15のステップS174の処理を実行する図3の通信情報取得処理部65)と、前記第2の要求手段に基づいて前記第3の他の情報処理装置より供給された前記第6のアドレスを取得する第3の取得手段(例えば、図15のステップS181の処理を実行する図3の通信情報取得処理部65)と、前記第3の取得手段により取得された前記第6のアドレスに基づいて設定された前記第1の他の情報処理装置の前記第2のネットワーク上のアドレスに、通信の開通を要求する第3の要求手段(例えば、図23のステップS237の処理を実行する図3の通信情報取得処理部65)とをさらに備えることを特徴とする。
【0049】
請求項10に記載の情報処理装置の前記第3の要求手段は、前記第1の他の情報処理装置との通信の開通を要求するための第5のパケットを、前記情報処理装置の前記第1のネットワーク上の複数のアドレスから、それぞれ、前記第2のアドレス変換装置の、前記第5のアドレスから連続する複数のアドレスに対して供給して、前記通信の開通を要求する(例えば、図23の通信開始要求処理)ことを特徴とする。
【0050】
請求項11に記載の情報処理装置の前記第3の要求手段は、前記第1の他の情報処理装置との通信の開通を要求するための第5のパケットを、前記情報処理装置の前記第1のネットワーク上の複数のアドレスから、それぞれ、前記第2のアドレス変換装置の、前記第5のアドレスから1つおきに連続する複数のアドレスに対して供給して、前記通信の開通を要求する(例えば、図40の第2通信開始要求処理)ことを特徴とする。
【0051】
請求項12に記載の情報処理装置の前記第3の要求手段は、前記情報処理装置の前記第1のネットワーク上の複数のアドレスから、それぞれ、前記第2のアドレス変換装置の前記第2のネットワーク上の、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に1つのアドレスが存在する、前記第5のアドレスを最初のアドレス群の先頭アドレスとする複数の前記アドレス群の、互いに異なる前記アドレス群の各アドレスに対して、前記第1の他の情報処理装置との通信の開通を要求するための第5のパケットを供給して、前記通信の開通を要求する(例えば、図44の第3通信開始要求処理)ことを特徴とする。
【0052】
請求項13に記載の情報処理装置の前記第3の要求手段は、前記情報処理装置の前記第1のネットワーク上の複数のアドレスから、それぞれ、前記第2のアドレス変換装置の前記第2のネットワーク上の、連続する複数のアドレスからなる複数のアドレス群であり、前記第5のアドレスを最初のアドレス群の先頭アドレスとする複数の前記アドレス群の、互いに異なる前記アドレス群の各アドレスに対して、前記第1の他の情報処理装置との通信の開通を要求するための第5のパケットを供給して、前記通信の開通を要求する(例えば、図45の第4通信開始要求処理)ことを特徴とする。
【0053】
請求項14に記載の情報処理装置は、前記第1の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段(例えば、図39のステップS391の処理を実行する図3の通信情報取得処理部65)をさらに備え、前記第3の要求手段は、前記マスタスレーブ判定手段による判定結果に基づいて選択したアルゴリズムに基づいて、前記通信の開通を要求する(例えば、図39の制御処理)ことを特徴とする。
【0054】
請求項15に記載の情報処理方法は、前記第2のネットワーク(例えば、図1のネットワーク21)に接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置(例えば、図1の装置用サービス提供装置51および52)の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置(例えば、図1の中継装置12)を介して、前記情報処理装置(例えば、図1のローカル通信装置11−1乃至11−n)に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケット(例えば、図17のサービス要求パケット281)を供給する供給ステップ(例えば、図15のステップS175および177)と、前記供給ステップの処理により供給された前記第1のパケットと前記第2のパケットに基づいて前記第2の他の情報処理装置より供給された、前記情報処理装置の前記第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケット(例えば、図21のサービス提供パケット321)を取得する第1の取得ステップ(例えば、図15のステップS176およびS178)と、前記第1の取得ステップの処理により取得された前記第3のパケットに含まれる前記第3のアドレス、および、前記第4のパケットに含まれる前記第4のアドレスを用いて、前記第1の他の情報処理装置にアクセスする際の、前記情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測する予測ステップ(例えば、図15のステップS179)とを含むことを特徴とする。
【0055】
請求項16に記載のプログラムは、前記第2のネットワーク(例えば、図1のネットワーク21)に接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置(例えば、図1の装置用サービス提供装置51および52)の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置(例えば、図1の中継装置12)を介して、前記情報処理装置(例えば、図1のローカル通信装置11−1乃至11−n)に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケット(例えば、図17のサービス要求パケット281)を供給する供給ステップ(例えば、図15のステップS175および177)と、前記供給ステップの処理により供給された前記第1のパケットと前記第2のパケットに基づいて前記第2の他の情報処理装置より供給された、前記情報処理装置の前記第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケット(例えば、図21のサービス提供パケット321)を取得する第1の取得ステップ(例えば、図15のステップS176およびS178)と、前記第1の取得ステップの処理により取得された前記第3のパケットに含まれる前記第3のアドレス、および、前記第4のパケットに含まれる前記第4のアドレスを用いて、前記第1の他の情報処理装置にアクセスする際の、前記情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測する予測ステップ(例えば、図15のステップS179)とをコンピュータに実行させることを特徴とする。
【0056】
請求項17に記載の情報処理装置は、前記第1の他の情報処理装置(例えば、図1のローカル通信装置11−1乃至11−n)より供給された、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク(例えば、図1のネットワーク21)上のアドレスに関する情報を取得する取得手段(例えば、図18のステップS193の処理を実行する図5のユーザ登録情報管理処理部155)と、前記取得手段により取得された前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶手段(例えば、図5のユーザ登録情報データベース177)と、前記第1の他の情報処理装置の通信相手である前記第2の他の情報処理装置(例えば、図1のローカル通信装置31−1乃至31−n)の要求に基づいて、前記記憶手段により記憶されている、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第2の他の情報処理装置に供給する供給手段(例えば、図18のステップS196の処理を実行する図5のユーザ登録情報管理処理部155)とを備えることを特徴とする。
【0057】
請求項18に記載の情報処理方法は、前記第1の他の情報処理装置(例えば、図1のローカル通信装置11−1乃至11−n)より供給された、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク(例えば、図1のネットワーク21)上のアドレスに関する情報を取得する取得ステップ(例えば、図18のステップS193)と、前記取得ステップの処理により取得された前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶ステップ(例えば、図18のステップS194)と、前記第1の他の情報処理装置の通信相手である前記第2の他の情報処理装置(例えば、図1のローカル通信装置31−1乃至31−n)の要求に基づいて、前記記憶ステップの処理により記憶されている、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第2の他の情報処理装置に供給する供給ステップ(例えば、図18のステップS196)とを含むことを特徴とする。
【0058】
請求項19に記載のプログラムは、前記第1の他の情報処理装置(例えば、図1のローカル通信装置11−1乃至11−n)より供給された、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク(例えば、図1のネットワーク21)上のアドレスに関する情報を取得する取得ステップ(例えば、図18のステップS193)と、前記取得ステップの処理により取得された前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶ステップ(例えば、図18のステップS194)と、前記第1の他の情報処理装置の通信相手である前記第2の他の情報処理装置(例えば、図1のローカル通信装置31−1乃至31−n)の要求に基づいて、前記記憶ステップの処理により記憶されている、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第2の他の情報処理装置に供給する供給ステップ(例えば、図18のステップS196)とをコンピュータに実行させることを特徴とする。
【0059】
以下に、本発明の実施の形態について図面を参照して説明する。
【0060】
図1は、本発明を適用したネットワークシステムの構成例を表している。
【0061】
図1に示されるネットワークシステムにおいて、それぞれがインスタントメッセージサービス(以下、IMサービスと称する)の通信端末装置であるn台のローカル通信装置11−1乃至11−nは、それぞれ、NAPT機能を有するルータである中継装置12に接続されており、プライベートネットワーク10を形成している。中継装置12は、また、インターネットに代表されるグローバルなネットワーク21と接続されており、ネットワーク21におけるグローバルなアドレスであるグローバルアドレスを割り当てられている。さらに、中継装置12は、グローバルアドレスのサブアドレスとして、複数のポートを有している。
【0062】
なお、以下において、ローカル通信装置11−1乃至11−nを分けて説明する必要の無い場合、ローカル通信装置11と称する。
【0063】
同様に、それぞれがインスタントメッセージサービス(以下、IMサービスと称する)通信端末装置であるn台のローカル通信装置31−1乃至31−nは、それぞれ、NAPT機能を有するルータである中継装置32に接続されており、プライベートネットワーク10とは異なるプライベートネットワーク30を形成している。中継装置32は、また、ネットワーク21と接続されており、ネットワーク21におけるグローバルなアドレスであるグローバルアドレスを割り当てられている。さらに、中継装置32は、グローバルアドレスのサブアドレスとして、複数のポートを有している。
【0064】
なお、以下において、ローカル通信装置31−1乃至31−nを分けて説明する必要の無い場合、ローカル通信装置31と称する。
【0065】
図2に示されるように、プライベートネットワーク10のローカル通信装置11−1乃至11−nには、それぞれ、プライベートネットワーク10におけるプライベートアドレスが割り当てられている。また、ローカル通信装置11は、プライベートアドレスのサブアドレスとして、複数のポートを有している。
【0066】
ローカル通信装置11は、例えば、ネットワーク21を介してデータを送信する場合、割り当てられたプライベートアドレス、およびポートの情報を送信元のアドレスポート情報(Pri−IP−port)として、データとともに、中継装置12に供給する。
【0067】
中継装置12は、NAPT機能を用いて、ローカル通信装置11より取得した、プライベートネットワーク10におけるアドレスポート情報(Pri−IP−port)(以下、プライベートアドレスポート情報と称する)を、グローバルアドレスと、グローバルなポートからなるネットワーク21におけるアドレスポート情報(Glo−IP−port)(以下、グローバルアドレスポート情報と称する)に変換し、取得したデータとともに、ネットワーク21に供給する。
【0068】
なお、プライベートネットワーク30においても、ローカル通信端末装置31や中継装置32により、プライベートネットワーク10の場合と同様の処理が行われるので、その説明は省略する。
【0069】
ローカル通信装置11およびローカル通信装置31は、ユーザ用サービス提供装置41および装置用サービス提供装置51が提供するIMサービスを利用することにより、プライベートネットワーク10および30、中継装置12および32、並びにネットワーク21を介して、互いに通信を行う。
【0070】
なお、以下において、ローカル通信装置11が中継装置12を介してネットワーク21側の装置と通信を行う場合に中継装置12が行うNAPTによるアドレスポート情報の変換処理についての説明は、必要でない場合、適宜省略する。また、中継装置32による変換処理についても同様に適宜省略する。
【0071】
図1に戻り、ネットワーク21には、中継装置12および32の他に、ローカル通信装置11および31が利用するIMサービスを提供するサーバであるユーザ用サービス提供装置41、装置用サービス提供装置51、および装置用サービス提供装置52が接続されている。
【0072】
ユーザ用サービス提供装置41は、ネットワーク21を介して、IMサービスの一部であり、IMサービスを利用するローカル通信装置11または31のユーザに対するサービスであるユーザ用サービスを提供する。ユーザ用サービス提供装置41は、プライベートアドレス10、中継装置12、およびネットワーク21を介してアクセスしてきたローカル通信装置11、または、プライベートアドレス30、中継装置32、およびネットワーク21を介してアクセスしてきたローカル通信装置31と通信を行うことにより、ユーザ用サービスを提供する。
【0073】
また、装置用サービス提供装置51および52は、ネットワーク21を介して、IMサービスの一部であり、IMサービスを利用するローカル通信装置11または31に対するサービスである装置用サービスを提供する。装置用サービス提供装置51および52は、プライベートアドレス10、中継装置12、およびネットワーク21を介してアクセスしてきたローカル通信装置11、または、プライベートアドレス30、中継装置32、およびネットワーク21を介してアクセスしてきたローカル通信装置31と通信を行うことにより、装置用サービスを提供する。
【0074】
図3は、図1のローカル通信装置11の内部の構成例を示すブロック図である。
【0075】
図3において、ローカル通信装置11のCPU(Central Processing Unit)61は、ROM(Read Only Memory)62に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)63には、CPU61が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【0076】
認証処理部64は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、IMサービスが提供されるローカル通信装置11のユーザの認証に関する処理を行う。通信情報取得処理部65は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、他のローカル通信装置に接続する場合に必要な通信情報の取得に関する処理を実行する。ローカル間通信制御部66は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、IMサービスを利用した通信において、通信相手となる他のローカル通信装置との通信を制御する。
【0077】
ユーザ認証用インタフェース提供処理部67は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、ユーザ認証時に、ユーザからの入力を受け付けるためのGUI(Graphical User Interface)を提供する。
【0078】
ユーザ特定用インタフェース提供処理部68は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、ユーザが送信相手に関する情報を入力するためのGUIを提供する。
【0079】
CPU61、ROM62、RAM63、認証処理部64、通信情報取得処理部65、ローカル間通信制御部66、ユーザ認証用インタフェース提供処理部67、およびユーザ特定用インタフェース提供処理部68は、バス70を介して相互に接続されている。このバス70にはまた、入出力インタフェース80も接続されている。
【0080】
入出力インタフェース80は、キーボードやマウスから構成される入力部81が接続され、入力部81に入力された信号をCPU61に出力する。また、入出力インタフェース80には、ディスプレイやスピーカなどから構成される出力部82も接続されている。
【0081】
さらに、入出力インタフェース80には、ハードディスクやEEPROM(Electronically Erasable and Programmable Read Only Memory)などから構成される記憶部83、および、プライベートネットワーク10などのネットワークを介して他の装置とデータの通信を行う通信部84も接続されている。ドライブ85は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア91よりデータを読み出したり、データを書き込んだりするときに用いられる。
【0082】
なお、図1のローカル通信装置31の内部の構成例は、ローカル通信装置11の場合と同様であり、図3のブロック図を適用することができるので、その説明を省略する。
【0083】
図4は、図1の中継装置12の内部の構成例を示すブロック図である。
【0084】
図4において、中継装置12のCPU101は、ROM102に記憶されているプログラムに従って各種の処理を実行する。RAM103には、CPU101が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【0085】
アドレス変換部104は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、通信部124を介してローカル通信装置11から供給された、プライベートネットワーク10におけるプライベートアドレスポート情報を、ネットワーク21におけるグローバルアドレスポート情報に変換する処理を行う。
【0086】
CPU101、ROM102、RAM103、およびアドレス変換処理部104は、バス110を介して相互に接続されている。このバス110にはまた、入出力インタフェース120も接続されている。
【0087】
入出力インタフェース120は、キーボードやマウスから構成される入力部121が接続され、入力部121に入力された信号をCPU101に出力する。また、入出力インタフェース120には、ディスプレイやスピーカなどから構成される出力部122も接続されている。
【0088】
さらに、入出力インタフェース120には、ハードディスクやEEPROMなどから構成される記憶部123、および、プライベートネットワーク10やネットワーク21を介して他の装置とデータの通信を行う通信部124も接続されている。ドライブ125は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア131よりデータを読み出したり、データを書き込んだりするときに用いられる。
【0089】
なお、図1の中継装置32の内部の構成例は、中継装置12の場合と同様であり、図4のブロック図を適用することができるので、その説明を省略する。
【0090】
図5は、図1のユーザ用サービス提供装置41の内部の構成例を示すブロック図である。
【0091】
図5において、ユーザ用サービス提供装置41のCPU151は、ROM152に記憶されているプログラムに従って各種の処理を実行する。RAM153には、CPU151が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【0092】
認証処理部154は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、IMサービスを提供するユーザの認証処理を行う。ユーザ登録情報管理処理部155は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、ローカル通信装置より供給され、ユーザ登録情報データベース177に登録されているユーザ登録情報の管理に関する処理を行う。
【0093】
CPU151、ROM152、RAM153、認証処理部154、およびユーザ登録情報管理処理部155は、バス160を介して相互に接続されている。このバス160にはまた、入出力インタフェース170も接続されている。
【0094】
入出力インタフェース170は、キーボードやマウスから構成される入力部171が接続され、入力部171に入力された信号をCPU151に出力する。また、入出力インタフェース170には、ディスプレイやスピーカなどから構成される出力部172も接続されている。
【0095】
さらに、入出力インタフェース170には、ハードディスクやEEPROMなどから構成される記憶部173、および、ネットワーク21等を介して他の装置とデータの通信を行う通信部174も接続されている。ドライブ175は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア181よりデータを読み出したり、データを書き込んだりするときに用いられる。
【0096】
また、入出力インタフェース170には、認証処理部154が実行する認証処理において用いられるユーザ認証情報を記憶するユーザ認証情報データベース176、並びに、IMサービスに関するユーザ毎の情報であるユーザ登録情報を記憶するユーザ登録情報データベース177が接続されている。
【0097】
図6は、図1の装置用サービス提供装置51の内部の構成例を示すブロック図である。
【0098】
図6において、装置用サービス提供装置51のCPU201は、ROM202に記憶されているプログラムに従って各種の処理を実行する。RAM203には、CPU201が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【0099】
アドレスポート情報提供処理部204は、制御部、演算部、またはデータ保持部(いずれも図示せず)を内蔵しており、ローカル通信装置11または31からの要求に基づいて、それらのグローバルアドレスポート情報を調査し、提供する。
【0100】
CPU201、ROM202、RAM203、およびアドレスポート情報提供処理部204は、バス210を介して相互に接続されている。このバス210にはまた、入出力インタフェース220も接続されている。
【0101】
入出力インタフェース220は、キーボードやマウスから構成される入力部221が接続され、入力部221に入力された信号をCPU201に出力する。また、入出力インタフェース220には、ディスプレイやスピーカなどから構成される出力部222も接続されている。
【0102】
さらに、入出力インタフェース220には、ハードディスクやEEPROMなどから構成される記憶部223、および、ネットワーク21等を介して他の装置とデータの通信を行う通信部224も接続されている。ドライブ225は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア231よりデータを読み出したり、データを書き込んだりするときに用いられる。
【0103】
なお、図1の装置用サービス提供装置52は、図6の装置用サービス提供装置と基本的に同様の構成であり、かつ、同様の処理を行い、図6のブロック図を適用することができるので、その説明を省略する。
【0104】
次に、図7乃至図10のアローチャートを参照して、図1のネットワークシステムにおける各装置が実行する処理の流れの例について説明する。また、必要に応じて、図11乃至図29を参照して詳細な説明を行う。
【0105】
なお、ここでは、ローカル通信装置11が、ユーザ用サービス提供装置41および装置用サービス提供装置51の提供するIMサービスを利用して、ローカル通信装置31と通信を行う場合、すなわち、互いに異なるプライベートネットワークに存在する通信装置間において、NAPT機能を有する2つのルータを介して通信を行う場合について説明する。
【0106】
最初に、IMサービスを利用するために、ローカル通信装置11は、ユーザに操作され、ステップS1において、ユーザの認証処理の要求を、中継装置12を介してユーザ用サービス提供装置41に供給する。ユーザ用サービス提供装置41は、ステップS21において、供給された認証要求を取得する。
【0107】
同様に、IMサービスを利用するために、ローカル通信装置31は、ユーザに操作され、ステップS41において、ユーザの認証処理の要求を、中継装置32を介してユーザ用サービス提供装置41に供給する。ユーザ用サービス提供装置41は、ステップS21において、供給された認証要求を取得する。
【0108】
ローカル通信装置11または31より認証要求を取得したユーザ用サービス提供装置41は、ステップS23において、それぞれについて認証処理を行う。そして、ローカル通信装置11または31のユーザが認証された場合、ユーザ用サービス提供装置41は、ステップS24において、ローカル通信装置11または31に対して、ネットワーク21を介して、認証成功通知を供給する。
【0109】
ローカル通信装置11は、ステップS2において、その認証成功通知を取得し、ユーザが認証されたことを確認する。同様に、ローカル通信装置31は、ステップS42において、ユーザ用サービス提供装置41より供給された認証成功通知を取得し、ユーザが認証されたことを確認する。
【0110】
なお、以上の通信において、ローカル通信装置11および31、並びにユーザ用サービス提供装置41は、送受信するパケットを、HTTP(HyperText Transfer Protocol)やRTP(Real−time Transport Protocol)等を用いたTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコル体系に基づいて処理する。
【0111】
以上の処理において、ローカル通信装置11が実行する認証処理の例について、図11のフローチャートを参照して説明する。必要に応じて図12を参照して説明する。
【0112】
ユーザに操作されて認証処理を開始したローカル通信装置11の認証処理部64は、ステップS121において、通信部84を制御し、中継装置12を介して、ユーザ用サービス提供装置41に、ユーザ認証に関する情報を要求する。
【0113】
ユーザ認証に関する情報を要求されたユーザ用サービス提供装置41は、後述するように、ユーザ認証に関する情報を、ネットワーク21を介して、要求元であるローカル通信装置11に供給する。
【0114】
認証処理部64は、通信部84を制御し、ユーザ認証に関する情報を受け付け、所定の時間が経過した後に、ステップS122の処理を実行してユーザ認証に関する情報を取得したか否かを判定する。ユーザ認証に関する情報を取得したと判定した場合、認証処理部64は、取得したユーザ認証に関する情報に基づいて、ユーザ認証用インタフェース提供処理部67を制御し、ユーザ認証用のGUIを供給させ、ステップS123において、そのGUIを出力部82に供給し、図12に示されるような認証画面をディスプレイに表示させる。
【0115】
図12に示されるように、認証画面251には、IMサービスの認証画面であることを示す「XXXサービス ログインサイト」というメッセージの他に、サービスを利用するユーザ(ローカル通信装置11のユーザ)のユーザIDを入力するユーザID入力欄252、ユーザIDに関連付けられて設定されているパスワードを入力するパスワード入力欄253、ユーザが操作することにより、認証要求がユーザ用サービス提供装置41に供給されるログインボタン254、および、ユーザが操作することにより、認証処理が中止されるキャンセルボタン255が設けられている。
【0116】
IMサービスのユーザIDおよびパスワードは、IMサービスを利用する、ローカル通信装置11のユーザに対して、予め割り当てられた情報である。認証処理を行う場合、ローカル通信装置11のユーザは、そのユーザIDおよびパスワードをそれぞれユーザID入力欄252、およびパスワード入力欄253に入力し、ログインボタン254を操作する。
【0117】
図11に戻り、ステップS124において、認証処理部64は、入力部81を制御し、ユーザIDおよびパスワードからなるユーザ認証情報の入力を受け付けたか否かを判定し、受け付けたと判定するまで待機する。
【0118】
ユーザが入力部81を操作して、ユーザ認証情報を入力したと判定した場合、認証処理部64は、ステップS125に処理を進め、受け付けたユーザ認証情報を、認証要求として、中継装置12を介して、ユーザ用サービス提供装置41に供給する。この処理は、図7のステップS1の処理に対応する。
【0119】
ユーザ用サービス提供装置41は、そのユーザ認証情報を含む認証要求を取得すると、ユーザ認証情報について認証を行い、認証結果を、ネットワーク21を介して、ローカル通信装置11に供給する。
【0120】
ローカル通信装置11の認証処理部64は、通信部84を制御し、ユーザ認証に関する情報を受け付け、所定の時間が経過した後に、ステップS126において、その認証結果を取得したか否かを判定する。
【0121】
図7のステップS2の処理のように認証結果を取得したと判定した場合、認証処理部64は、ステップS127において、取得した認証結果に基づいて、ローカル通信装置11のユーザが認証されたか否かを判定し、認証されたと判定した場合、ステップS128において、出力部82を制御し、認証されたことを示す認証メッセージをディスプレイに表示させ、認証処理を終了する。
【0122】
ステップS122において、ユーザ認証に関する情報を取得していないと判定した場合、認証処理部64は、ステップS129に処理を進め、出力部82を制御し、認証に失敗したことを示すエラーメッセージをディスプレイに表示させる。
【0123】
エラーメッセージを表示させた認証処理部64は、ステップS130において、認証を再度行うか否かを判定し、ユーザの操作等に基づいて、認証を再度行うと判定した場合、ステップS123に処理を戻し、それ以降の処理を繰り返す。
【0124】
ステップS130において、認証を再度行わず、認証処理を終了すると判定した場合、認証処理部64は、認証処理を終了する。
【0125】
ステップS126において、ユーザ用サービス提供装置41より供給された認証気かを取得していないと判定した場合、認証処理部64は、ステップS129に処理を進め、上述したように処理を行う。
【0126】
また、ステップS127において、ユーザが認証されていないと判定した場合、認証処理部64は、ステップS129に処理を進め、上述したように処理を行う。
【0127】
なお、IMサービスを利用するローカル通信装置31は、上述した処理と同様の認証処理を行う。従って、ローカル通信装置31による認証処理については、図11のフローチャートおよび図12の認証画面の例を適用することができるので、その説明を省略する。
【0128】
次に、この認証処理に対応して実行される、ユーザ用サービス提供装置41による認証処理の例について、図13のフローチャートを参照して説明する。必要に応じて図14を参照して説明する。
【0129】
ユーザ用サービス提供装置41の認証処理部154は、ステップS151において、通信部174を制御し、図9のステップS121の処理によってネットワーク21を介してローカル通信装置11または31より供給される、ユーザ認証に関する情報を要求されたか否かを判定し、要求されたと判定するまで待機する。
【0130】
ユーザ認証に関する情報が要求されたと判定した場合、認証処理部154は、通信部174を制御し、ステップS152において、要求元に対してユーザ認証に関する情報を供給する。
【0131】
ユーザ認証に関する情報を供給した認証処理部154は、通信部174を制御し、ユーザ認証情報を受け付け、所定の時間が経過した後に、ステップS153において、図11のステップS125の処理によってローカル通信装置11または31から供給されたユーザ認証情報を取得したか否かを判定する。
【0132】
ユーザ認証情報を取得したと判定した場合、認証処理部154は、ステップS154に処理を進め、ユーザ認証情報データベース176を参照し、認証処理を行う。この処理は、図7のステップS23の処理に対応する。
【0133】
図14は、ユーザ認証情報データベース176がユーザ認証情報を記憶する様子を示す模式図である。ユーザ認証情報データベース176は、予め登録されたユーザ認証情報261を、ユーザIDとユーザ用パスワードを互いに対応付けて記憶している。認証処理部154は、この予め登録されたユーザ認証情報261を参照し、取得したユーザ認証情報を比較することにより、正当なユーザであるか否かを判定する。
【0134】
図13に戻り、認証処理部154は、ステップS155において、通信部174を制御し、その認証結果を、ネットワーク21を介してローカル通信装置11または31に供給する。この処理は、図7のステップS24の処理に対応する。認証結果を供給した認証処理部154は、認証処理を終了する。なお、認証処理を終了した認証処理部154は、CPU151の制御などにより、上述した認証処理と同様の、新たな認証処理を開始する。
【0135】
ステップS153において、ユーザ認証情報を取得していないと判定した場合、認証処理部154は、認証処理を終了する。なお、認証処理を終了した認証処理部154は、CPU151の制御などにより、上述した認証処理と同様の、新たな認証処理を開始する。
【0136】
図7に戻り、ステップS2において認証が成功したことを示す認証成功通知を取得すると、ローカル通信装置11は、後述するようにGUI画面を表示し、ユーザに通信相手を指定させる。ユーザが通信相手を決定すると、ローカル通信装置11は、ステップS3において、通信相手のグローバルアドレスポート情報等を含む通信情報の要求を、中継装置12を介してユーザ用サービス提供装置41に供給する。ユーザ用サービス提供装置41は、ステップS25において、供給された通信情報の要求を取得する。
【0137】
なお、この、ユーザ用サービス提供装置41が取得した通信情報の要求は、中継装置12を介して供給されており、中継装置12においてNAPT変換された際に、中継装置12の(ローカル通信装置11に対応する)グローバルアドレスポート情報が付加されている。
【0138】
同様に、ステップS42において認証が成功したことを示す認証成功通知を取得すると、ローカル通信装置31は、後述するようにGUI画面を表示し、ユーザに通信相手を指定させ、ユーザが通信相手を決定すると、ステップS43において、通信相手のグローバルアドレスポート情報等を含む通信情報の要求を、中継装置32を介してユーザ用サービス提供装置41に供給する。ユーザ用サービス提供装置41は、ステップS26において、供給された通信情報の要求を取得する。
【0139】
なお、この、ユーザ用サービス提供装置41が取得した通信情報の要求は、中継装置32を介して供給されており、中継装置32においてNAPT変換された際に、中継装置32の(ローカル通信装置31に対応する)グローバルアドレスポート情報が付加されている。
【0140】
ローカル通信装置11または31より通信情報の要求を取得したユーザ用サービス提供装置41は、ステップS27において、後述するように、供給された通信情報の要求に付加された、中継装置12または32のグローバルアドレスポート情報を用いて、予めユーザ登録情報データベース176に登録されているユーザ登録情報を更新する。
【0141】
なお、以上の通信において、ローカル通信装置11および31、並びにユーザ用サービス提供装置41は、送受信するパケットを、HTTPやRTP等を用いたTCP/IPプロトコル体系に基づいて処理する。
【0142】
通信情報の要求を供給したローカル通信装置11は、図8のステップS4に処理を進め、後述するようなサービス要求パケットを、中継装置12を介して、装置用サービス提供装置51に供給する。装置用サービス提供装置51は、ステップS61において、そのサービス要求パケットを取得する。
【0143】
なお、この、装置用サービス提供装置51が取得したサービス要求パケットは、中継装置12を介して供給されており、中継装置12においてNAPT変換された際に、中継装置12の(ローカル通信装置11に対応する)グローバルアドレスポート情報が付加されている。
【0144】
同様に、通信情報の要求を供給したローカル通信装置31は、図8のステップS44に処理を進め、後述するようなサービス要求パケットを、中継装置32を介して、装置用サービス提供装置51に供給する。装置用サービス提供装置51は、ステップS62において、そのサービス要求パケットを取得する。
【0145】
なお、この、装置用サービス提供装置51が取得したサービス要求パケットは、中継装置32を介して供給されており、中継装置32においてNAPT変換された際に、中継装置32の(ローカル通信装置31に対応する)グローバルアドレスポート情報が付加されている。
【0146】
ローカル通信装置11または31よりサービス要求パケットを取得した装置用サービス提供装置51は、ステップS63において、取得したサービス要求パケットに付加された中継装置12または32のグローバルアドレスポート情報を用いて、サービス提供パケットを生成し、ネットワーク21を介して、サービス要求パケットの送信元であるローカル通信装置11または31に供給する。
【0147】
ローカル通信装置11は、ステップS5において、そのサービス提供パケットを取得する。同様に、ローカル通信装置31は、ステップS45において、そのサービス提供パケットを取得する。
【0148】
ローカル通信装置11または31は、以上の装置用サービス提供装置51に対して行った処理を、装置用サービス提供装置52に対して再度実行する。
【0149】
すなわち、ローカル通信装置11は、図8のステップS6に処理を進め、後述するようなサービス要求パケットを、中継装置12を介して、装置用サービス提供装置52に供給する。装置用サービス提供装置52は、ステップS71において、そのサービス要求パケットを取得する。
【0150】
なお、この、装置用サービス提供装置52が取得したサービス要求パケットは、上述した装置用サービス提供装置51の場合と同様に、中継装置12を介して供給されており、中継装置12においてNAPT変換された際に、中継装置12の(ローカル通信装置11に対応する)グローバルアドレスポート情報が付加されている。
【0151】
同様に、通信情報の要求を供給したローカル通信装置31は、図8のステップS46に処理を進め、後述するようなサービス要求パケットを、中継装置32を介して、装置用サービス提供装置52に供給する。装置用サービス提供装置52は、ステップS72において、そのサービス要求パケットを取得する。
【0152】
なお、この、装置用サービス提供装置52が取得したサービス要求パケットは、上述した装置用サービス提供装置51の場合と同様に、中継装置32を介して供給されており、中継装置32においてNAPT変換された際に、中継装置32の(ローカル通信装置31に対応する)グローバルアドレスポート情報が付加されている。
【0153】
ローカル通信装置11または31よりサービス要求パケットを取得した装置用サービス提供装置52は、ステップS73において、取得したサービス要求パケットに付加された中継装置12または32のグローバルアドレスポート情報を用いて、サービス提供パケットを生成し、ネットワーク21を介して、サービス要求パケットの送信元であるローカル通信装置11または31に供給する。
【0154】
ローカル通信装置11は、ステップS7において、そのサービス提供パケットを取得する。同様に、ローカル通信装置31は、ステップS47において、そのサービス提供パケットを取得する。
【0155】
装置用サービス提供装置51および52より2つのサービス提供パケットを取得したローカル通信装置11は、ステップS8において、その2つのサービス提供パケットに含まれるグローバルアドレス情報に基づいて、通信元の中継装置のアドレスポート情報、すなわち、中継装置11の(ローカル通信装置11に対応する)グローバルアドレス情報を予想する(予測する)。
【0156】
詳細は後述するが、中継装置11は、ローカル通信装置11の通信先のアドレスポート情報が変更される度に、ローカル通信装置11に対応するポートを変更させる場合がある。ローカル通信装置11は、ステップS8の処理により、装置用サービス提供装置51および52より取得した2つのサービス提供パケットを用いて、次の通信においてローカル通信装置11に対応するアドレスポート情報(最新のグローバルアドレスポート情報)を予想する(予測する)。
【0157】
同様に、装置用サービス提供装置51および52より2つのサービス提供パケットを取得したローカル通信装置31は、ステップS48において、その2つのサービス提供パケットに含まれるグローバルアドレス情報に基づいて、通信元の中継装置のアドレスポート情報、すなわち、最新の、中継装置11の(ローカル通信装置11に対応する)グローバルアドレス情報を予想する(予測する)。
【0158】
なお、以上の通信において、ローカル通信装置11および31、並びに装置用サービス提供装置51は、送受信するサービス要求パケットやサービス提供パケットを、STUN(Simple Traversal of UDP through NATs)、RTP、またはRTCP(RTP Control Protocol)等を用いたUDP/IP(User Datagram Protocol/IP)プロトコル体系に基づいて処理する。
【0159】
ローカル通信装置11は、ステップS8において、取得した2つのサービス提供パケットに含まれるグローバルアドレスポート情報より中継装置12のグローバルアドレスポート情報を予想した(予測した)後、図9のステップS9に処理を進め、それを通信元アドレスポート情報として、中継装置12を介して、ユーザ用サービス提供装置41に供給する。ユーザ用サービス提供装置41は、図9のステップS28において、その通信元アドレスポート情報を取得する。
【0160】
同様に、ローカル通信装置31は、ステップS48において、取得した2つのサービス提供パケットに含まれるグローバルアドレスポート情報より中継装置32のグローバルアドレスポート情報を予想した(予測した)後、図9のステップS49において、それらを通信元アドレスポート情報として、中継装置32を介して、ユーザ用サービス提供装置41に供給する。ユーザ用サービス提供装置41は、図9のステップS29において、その通信元アドレスポート情報を取得する。
【0161】
ローカル通信装置11または31より通信元アドレスポート情報を取得したユーザ用サービス提供装置41は、ステップS30において、後述するように、その通信元アドレスポート情報を、ユーザ登録情報データベース177に登録する。そして、ステップS31において、ユーザ用サービス提供装置41は、ユーザ登録情報データベース177に登録されている通信先の通信情報を、ネットワーク21を介して、ローカル通信装置11または31に供給する。
【0162】
ローカル通信装置11は、ステップS10において、その通信先の通信情報を取得する。同様に、ローカル通信装置31は、ステップS50において、その通信先の通信情報を取得する。
【0163】
すなわち、この場合、ユーザ用サービス提供装置41は、ローカル通信装置11より供給され、登録された、ローカル通信装置11の通信元アドレスポート情報(予想(予測)された中継装置12のグローバルアドレスポート情報)を、ローカル通信装置31に供給し、ローカル通信装置31より供給され、登録された、ローカル通信装置31の通信元アドレスポート情報(予想(予測)された中継装置32のグローバルアドレスポート情報)を、ローカル通信装置11に供給する。
【0164】
なお、以上の通信において、ローカル通信装置11および31、並びにユーザ用サービス提供装置41は、送受信するパケットをTCP/IPプロトコル体系に基づいて処理する。
【0165】
以上の処理においてローカル通信装置11が実行する通信情報取得処理の例について、図15のフローチャートを参照して説明する。必要に応じて図16および17を参照して説明する。
【0166】
CPU61に制御されるなどして通信情報取得処理を開始したローカル通信装置11の通信情報取得処理部65は、ステップS171において、通信相手の特定に必要な情報を、中継装置12を介してユーザ用サービス提供装置41に要求する。
【0167】
通信相手の特定に必要な情報を要求されたユーザ用サービス提供装置41は、後述するように、通信相手の特定に必要な情報を、ネットワーク21を介して、要求元であるローカル通信装置11に供給する。
【0168】
通信情報取得処理部65は、通信部84を制御し、通信相手の特定に必要な情報を受け付け、所定の時間が経過した後に、ステップS172の処理を実行して通信相手の特定に必要な情報を取得したか否かを判定する。通信相手の特定に必要な情報を取得したと判定した場合、通信情報取得処理部65は、取得した通信相手の特定に必要な情報に基づいて、ユーザ特定用インタフェース提供処理部68を制御し、ユーザ特定用のGUIを供給させ、ステップS173において、そのGUIを出力部82に供給し、図16に示されるようなユーザ特定画面をディスプレイに表示させる。
【0169】
図16に示されるように、ユーザ特定画面271には、通信相手として選択可能な他のユーザを示すユーザ一覧表示欄272、ユーザが通信相手として選択したユーザIDを入力するユーザID入力欄273、および、ユーザが操作することにより、通信開始の指示が入力される通信開始ボタン274が設けられている。
【0170】
IMサービスのユーザは、ユーザ一覧表示欄に表示された、現在通信相手として選択可能なユーザのユーザIDの中から、通信相手を選択し、そのユーザIDをユーザID入力欄273に入力し、通信開始ボタン274を操作する。
【0171】
図15に戻り、ステップS174において、通信情報取得処理部65は、入力部81を制御し、ユーザIDおよびパスワードからなるユーザ認証情報の入力を受け付ける。
【0172】
ユーザがユーザ特定画面271のユーザID入力欄273に通信相手のユーザIDを入力し、通信開始ボタン274を操作すると、通信情報取得処理部65は、ステップS174において、通信部84を制御して、通信相手の通信情報要求を、中継装置12を介してユーザ用サービス提供装置41に供給する。この処理は、図7のステップS3の処理に対応する。
【0173】
通信相手の通信情報要求を供給した通信情報取得処理部65は、中継装置12におけるNAPT変換後のアドレスポート情報、すなわち、中継装置12の(ローカル通信装置11に対応する)グローバルアドレスポート情報を把握するために、ステップS175において、通信部84を制御して、図17に示されるようなサービス要求パケットを、中継装置12を介して装置用サービス提供装置51に供給する。この処理は、図8のステップS4の処理に対応する。
【0174】
サービス要求パケット281は、データリンク層における通信のために、MAC(Media Access Control)パケットとして構成される。図15に示されるように、サービス要求パケット281は、MACヘッダ282およびMACペイロード283からなる。
【0175】
MACペイロード283は、ネットワーク層における通信のために、IPパケットとして構成され、IPヘッダ284およびIPペイロード285を含む。IPヘッダ284には、このサービス要求パケット281が装置用サービス提供装置51の提供するサービスに対応したパケットであることを示す識別子であるプロトコル番号286、サービス要求パケットの送信元のIPアドレス(この場合、ローカル通信装置11のプライベートアドレス)を示すデータである送信元のIPアドレス287、並びに、サービス要求パケットの送信先のIPアドレス(この場合、装置用サービス提供装置51のグローバルアドレス)を示すデータである送信先IPアドレス288が含まれる。
【0176】
なお、このサービス要求パケット281の転送時に行われる中継装置12のNAPT変換により、送信元のIPアドレス287の値は、中継装置12のグローバルアドレスに変換される。すなわち、装置用サービス提供装置51が取得したときの送信元のIPアドレス287は、中継装置12のグローバルアドレスを示す。
【0177】
IPペイロード285は、トランスポート層における通信のために、UDPパケットとして構成され、UDPヘッダ289およびUDPペイロード290を含む。UDPヘッダ289には、このサービス要求パケットを送信する際に用いられた送信元のポート番号(すなわち、ローカル通信装置11のポート番号)を示すデータである送信元ポート番号291と、このサービス要求パケットの送信先のポート番号(すなわち、装置用サービス提供装置51のポート番号)を示すとともに、このサービス要求パケット281が装置用サービス提供装置51の提供するサービスに対応したパケットであることを示す識別子である送信先ポート番号292が含まれる。
【0178】
なお、このサービス要求パケット281の転送時に行われる中継装置12のNAPT変換により、送信元ポート番号291の値は、中継装置12のポート番号に変換される。すなわち、装置用サービス提供装置51が取得したときの送信元ポート番号291は、中継装置12のグローバルなポート番号を示す。
【0179】
UDPペイロード290は、STUN(Simple Traversal of UDP through NATs)プロトコルを用いた通信を行うために、STUNパケットとして構成され、STUNヘッダ293およびSTUNペイロード294を含む。STUNヘッダ293には、このパケットがSTUNプロトコルに基づいた要求を含むパケットであることを示すとともに、このサービス要求パケット281が装置用サービス提供装置51の提供するサービスに対応したパケットであることを示す識別子であるSTUNメッセージタイプ(STUN message type)295と、トランザクションを識別するためのトランザクションID(Transaction ID)296が含まれる。
【0180】
また、STUNペイロード294には、メッセージの内容を示すとともに、このサービス要求パケット281が装置用サービス提供装置51の提供するサービスに対応したパケットであることを示す識別子であるメッセージタイプ(Message type)297が含まれる。
【0181】
以上に示されるように、サービス要求パケット281に含まれる、IPヘッダ324、UDPヘッダ329、STUNヘッダ333、およびSTUNペイロード334には、このサービス要求パケット281が装置用サービス提供装置51が提供するサービスに対応したパケットであることを示す識別子が含まれており、これらにより、装置用サービス提供装置51は、サービス要求パケット281の要求に基づいた処理を行うことができる。
【0182】
図15に戻り、以上のようなサービス要求パケットを供給した通信情報取得処理部65は、ステップS176において、通信部85を制御して、供給したサービス要求パケットに対応するサービス提供パケットを取得したか否かを判定する。サービス提供パケットを取得したと判定した場合、通信情報取得処理部65は、ステップS177に処理を進め、通信部84を制御して、図17を参照して上述したようなサービス要求パケットを、中継装置12を介して装置用サービス提供装置52に供給する。この処理は、図8のステップS6の処理に対応する。
【0183】
サービス要求パケットを供給した通信情報取得処理部65は、ステップS178において、通信部85を制御して、供給したサービス要求パケットに対応するサービス提供パケットを取得したか否かを判定し、サービス提供パケットを取得したと判定した場合、通信情報取得処理部65は、ステップS179に処理を進め、取得した2つのサービス提供パケットに含まれる、サービス要求パケットの送信に使用された中継装置12のアドレスポート情報を抽出し、それらのアドレスポート情報より差分値を算出し、その差分値を後に取得したアドレスポート情報に加算し、次回の通信(ローカル通信装置31にアクセスする際の通信)における通信元グローバルアドレスポート情報(通信元Glo−IP−port)を予想する(予測する)。
【0184】
ステップS180において、通信情報取得処理部65は、予想した(予測した)グローバルアドレスポート情報(以下、予想グローバルアドレスポート情報と称する)を、中継装置12を介してユーザ用サービス提供装置41に供給し、ユーザ登録情報として通信元の予想グローバルアドレスポート情報の登録を要求する。この処理は、図9のステップS9の処理に対応する。
【0185】
通信元の予想グローバルアドレスポート情報の登録を要求されたユーザ用サービス提供装置41は、その要求に基づいてユーザ登録情報を更新し、更新された最新のユーザ登録情報に基づいてローカル通信装置11の通信相手の通信に関する情報である通信先の通信情報を、ネットワーク21を介してローカル通信装置11に供給する。
【0186】
ローカル通信装置11の通信情報取得処理部65は、ステップS181において、通信部84を制御し、通信先の通信情報を取得したか否かを判定し、取得していないと判定した場合、ステップS182に処理を進め、出力部81を制御してエラー処理を実行した後、通信情報取得処理を終了する。また、ステップS181において、通信先の通信情報を取得したと判定した場合、ステップS182の処理を省略し、通信情報取得処理を終了する。
【0187】
ステップS176またはS178において、サービス提供パケットを取得していないと判定した場合、通信情報取得処理部65は、ステップS182に処理を進め、エラー処理を実行した後に通信情報取得処理を終了する。
【0188】
以上において、ローカル通信装置11の通信情報取得処理部65は、装置用サービス提供装置51および52の両方に対して、同じサービス要求パケットを供給し、それぞれから、サービス提供パケットを取得する。
【0189】
これは、ローカル通信装置11の次の通信に対して、中継装置12が割り当てるポートを予想する(予測する)ために行う処理である。
【0190】
例えば、中継装置12が、ローカル通信装置11の通信先のアドレスポート情報に関わらず、同じポートをローカル通信装置11に対応させる場合、すなわち、ローカル通信装置11より取得したパケットの送信元アドレスポート情報をNAPT変換する際に、通信先のアドレスポート情報に関わらず、同じグローバルアドレスポート情報に変換する場合、次の通信においても、装置用サービス提供装置51より供給されたサービス提供パケットに含まれるアドレスポート情報が、ローカル装置11に対応するグローバルアドレスポート情報となる。
【0191】
しかしながら、例えば、中継装置12が、ローカル通信装置11の通信先のアドレスポート情報が変化する度に、ローカル通信装置11に対応させるポート番号を1つずつ増加(インクリメント)させる場合、次の通信において、装置用サービス提供装置51より供給されたサービス提供パケットに含まれるアドレスポート情報が、ローカル装置11に対応するグローバルアドレスポート情報とはならない。
【0192】
従って、ローカル通信装置11の通信情報取得処理部65は、アドレスポート情報が異なる2つの装置用サービス提供装置51および52の両方からサービス提供パケットを取得し、それらのサービス提供パケットに含まれるグローバルアドレスポート情報の差分値を算出し、その差分値を、後の通信である装置用サービス提供装置52との通信におけるグローバルアドレスポート情報に加算することにより、次の通信におけるグローバルアドレスポート情報を予想する(予測する)。
【0193】
このようにすることにより、ローカル通信装置11に対応するグローバルアドレスポート情報が、通信先のアドレスポート情報に応じて変化する場合においても、ローカル通信装置11は、次の通信における、ローカル通信装置11に対応するグローバルアドレスポート情報を予想する(予測する)ことができ、より多くの種類の中継装置に対して対応することができる。
【0194】
なお、IMサービスを利用するローカル通信装置31は、上述した処理と同様の通信情報取得処理を行う。従って、ローカル通信装置31による通信情報取得処理については、図15のフローチャート、図16のユーザ特定画面、および図17のサービス要求パケットの例を適用することができるので、その説明を省略する。
【0195】
次に、この通信情報取得処理に対応して実行される、ユーザ用サービス提供装置41による情報提供処理の例について、図18のフローチャートを参照して説明する。必要に応じて図19を参照して説明する。
【0196】
最初に、ステップS191において、ユーザ用サービス提供装置41のユーザ登録情報管理処理部155は、通信部174を制御し、ローカル通信装置11または31が図15のステップS174の処理において供給した通信情報要求を取得したか否かを判定し、取得したと判定するまで待機する。
【0197】
通信情報要求を取得したと判定した場合、ユーザ登録情報管理処理部155は、ステップS192において、図19に示されるような、ユーザ登録情報データベース177に記憶されているユーザ登録情報の、通信情報要求元に対応するユーザ登録情報の通信先グローバルアドレスポート情報を更新する。
【0198】
図19に示されるように、ユーザ登録情報データベース177に登録されているユーザ登録情報310は、ユーザID311、予想(予測)される通信元のグローバルアドレスポート情報である予想通信元グローバルアドレスポート情報(予想通信元Glo−IP−port)312、および、ユーザが通信を希望する通信先のグローバルアドレス情報である通信先グローバルアドレスポート情報(通信先Glo−IP−port)313を含み、互いに関連付けられて記憶されている。
【0199】
通信先グローバルアドレスポート情報313は、そのユーザ登録情報のユーザID311に対応するユーザが希望する通信相手側のグローバルアドレスポート情報であり、予想通信元グローバルアドレスポート情報312は、そのユーザ登録情報のユーザID311に対応するユーザ側のグローバルアドレスポート情報である。
【0200】
例えば、ローカル通信装置11のユーザのユーザIDがAAA−usr、ローカル通信装置31のユーザのユーザIDがBBB−usrであり、この2人のユーザが互いに通信を行おうとしている場合、ユーザID「AAA−usr」に対応する予想通信元グローバルアドレスポート312には、ローカル通信装置11の通信に使用されると予想される(予測される)中継装置12のグローバルアドレスポート情報「ppp.qqq.rrr.sss:ttt」が登録されており、ユーザID「AAA−usr」に対応する通信先グローバルアドレスポート313には、ローカル通信装置31の通信に使用されると予想される(予測される)中継装置32のグローバルアドレスポート情報(すなわち、BBB−usrの予想通信元グローバルアドレスポート情報)が適用されるように、「BBB−usrの予想通信元グローバルアドレスポート情報」という指示が登録される。
【0201】
なお、通信相手が指定されていない場合、そのユーザのユーザ登録情報の通信先グローバルアドレスポート情報313には、「(none)」が登録される。
【0202】
以上のように、ユーザ登録情報管理処理部155は、ステップS192の処理において、ユーザ登録情報310に含まれる、通信先グローバルアドレスポート情報313の情報を更新する。この処理は、図7のステップS27の処理に対応する。
【0203】
その後、サービス供給パケットを取得したローカル通信装置11または31は、図15のステップS180の処理により、通信元グローバルアドレスポート情報の登録を要求する。
【0204】
図18に戻り、ステップS193において、ユーザ登録情報管理処理部155は、通信部174を制御して、通信元グローバルアドレス情報の登録要求を取得したか否かを判定する。
【0205】
取得したと判定した場合、ユーザ登録情報管理処理部155は、ステップS194において、その通信元グローバルアドレス情報の登録を要求したユーザに対応するユーザ登録情報の通信元グローバルアドレスポート情報を更新し、ステップS195において、そのユーザのユーザ登録情報の通信先グローバルアドレスポート情報313に登録された指示に基づいて、通信先のユーザ登録情報をユーザ登録情報データベース177より取得し、ステップS196において、通信先の通信情報を供給する。これらの処理は、図9のステップS30およびS31に対応する。
【0206】
通信情報を供給したユーザ登録情報管理処理部155は、ステップS197において、情報提供処理を終了するか否かを判定し、終了しないと判定した場合、ステップS191に処理を戻し、それ以降の処理を繰り返す。また、ステップS197において、情報提供処理を終了すると判定した場合、ユーザ登録情報管理処理部155は、ステップS198において終了処理を実行し、情報提供処理を終了する。
【0207】
ステップS193において、通信元グローバルアドレスポート情報の登録要求を取得していないと判定した場合、ユーザ登録情報管理処理部155は、ステップS199に処理を進め、エラー処理を実行した後、ステップS197に処理を戻し、それ以降の処理を繰り返す。
【0208】
なお、ユーザ用サービス提供装置41は、ローカル通信装置31の通信情報取得処理に対しても、上述した場合と同様の情報提供処理を行い、ローカル通信装置31の要求に応じて、グローバルアドレスポート情報を管理する。
【0209】
以上のように、ユーザ用サービス提供装置41が、ローカル通信装置間の通信に必要なグローバルアドレスポート情報を管理し、ローカル通信装置11または31の要求に応じてそれらの情報を供給するので、ローカル通信装置11または31は、NAPT変換を行う中継装置を介して通信を行う場合であっても、容易に通信を行うことができる。
【0210】
次に、図15のフローチャートを参照して説明したローカル通信装置による通信情報取得処理に対応して実行される、装置用サービス提供装置51による情報提供処理の例について、図20のフローチャートを参照して説明する。必要に応じて図21および図22を参照して説明する。
【0211】
装置用サービス提供装置51のアドレスポート情報提供処理部204は、ステップS211において、通信部224を制御し、図15のステップS175の処理により、ローカル通信装置11または31が供給するサービス要求パケットを取得したか否かを判定し、取得したと判定するまで待機する。
【0212】
サービス要求パケットを取得したと判定した場合、アドレスポート情報提供処理部204は、ステップS212に処理を進め、図21に示されるような、サービス提供パケットを生成する。
【0213】
図21において、サービス提供パケット321は、データリンク層における通信のために、MACパケットとして構成される。サービス提供パケット321は、MACヘッダ322およびMACペイロード323からなる。
【0214】
MACペイロード323は、ネットワーク層における通信のために、IPパケットとして構成され、IPヘッダ324およびIPペイロード325を含む。IPヘッダ324には、このサービス提供パケット321が装置用サービス提供装置51の提供するサービスに対応したパケットであることを示す識別子であるプロトコル番号326、サービス提供パケットの送信元のIPアドレス(この場合、装置用サービス提供装置51のグローバルアドレス)を示すデータである送信元のIPアドレス327、並びに、サービス提供パケットの送信先のIPアドレス(この場合、中継装置12または32のグローバルアドレス)を示すデータである送信先IPアドレス328が含まれる。
【0215】
IPペイロード325は、トランスポート層における通信のために、UDPパケットとして構成され、UDPヘッダ329およびUDPペイロード330を含む。UDPヘッダ329には、このサービス供給パケットを送信する際に用いられた送信元のポート番号(すなわち、装置用サービス提供装置51のポート番号)を示すとともに、このサービス提供パケット321が装置用サービス提供装置51の提供するサービスに対応したパケットであることを示す識別子である送信元ポート番号331と、このサービス提供パケット321を送信する先のポート番号(すなわち、中継装置11のポート番号)を示すデータである送信先ポート番号332が含まれる。
【0216】
UDPペイロード330は、STUNプロトコルを用いた通信を行うために、STUNパケットとして構成され、STUNヘッダ333およびSTUNペイロード334を含む。STUNヘッダ293には、このパケットがSTUNプロトコルに基づいた応答を含むパケットであることを示すとともに、このサービス提供パケット321が装置用サービス提供装置51の提供するサービスに対応したパケットであることを示す識別子であるSTUNメッセージタイプ(STUN message type)335と、トランザクションを識別するためのトランザクションID(Transaction ID)336が含まれる。
【0217】
また、STUNペイロード334には、サービス要求パケットにおける送信元ポート番号337およびサービス要求パケットにおける送信元IPアドレス338が含まれる。
【0218】
上述したように、装置用サービス提供装置51が取得したときのサービス要求パケット281に含まれる送信元IPアドレス287および送信元ポート番号337は、それぞれ、中継装置12のグローバルアドレスおよびポート番号を示している。
【0219】
従って、サービス要求パケットにおける送信元ポート番号337は、中継装置12のグローバルなポート番号を示し、サービス要求パケットにおける送信元IPアドレス338は、中継装置12のグローバルアドレスを示す。
【0220】
装置用サービス提供装置51は、このような中継装置12の(ローカル通信装置11に対応する)グローバルアドレスポート情報をサービス要求パケットより取得し、取得したグローバルアドレスポート情報が含まれるサービス提供パケットを生成する。
【0221】
図20に戻り、装置用サービス提供装置51は、ステップS213において、生成したサービス提供パケットを、ネットワーク21を介して要求元であるローカル通信装置11に供給する。この処理は、図8のステップS63の処理に対応する。
【0222】
ステップS214において、装置用サービス提供装置51は、情報提供処理を終了するか否かを判定し、終了しないと判定した場合、ステップS211に処理を戻し、それ以降の処理を繰り返す。
【0223】
情報提供処理を終了しないと判定した場合、装置用サービス提供装置51は、ステップS215に処理を進め、終了処理を実行し、情報提供処理を終了する。
【0224】
なお、装置用サービス提供装置52も、装置用サービス提供装置51の場合と同様の情報提供処理を実行する。従って、装置用サービス提供処理52による情報提供処理の詳細は、上述した図20のフローチャートを適用することができ、その情報提供処理により提供されるサービス提供パケットの構成は、図21を適用することができるので、それらの説明は省略する。
【0225】
また、装置用サービス提供装置51および52は、ローカル通信装置31の通信情報取得処理に対しても、上述した場合と同様の情報提供処理を行い、ローカル通信装置31の要求に応じて、サービス提供パケットを供給する。
【0226】
上述したように、装置用サービス提供装置51および52よりサービス提供パケットを取得することにより、ローカル通信装置11または31は、次回の通信におけるグローバルアドレスポート情報を予想する(予測する)。
【0227】
例えば、図22に示されるように、中継装置12が、ローカル通信装置11の通信先のアドレスポート情報が変化する度に、ローカル通信装置11に対応させるポート番号を1つずつ増加(インクリメント)させるインクリメント型の中継装置であり、中継装置32も中継装置12と同様のインクリメント型の中継装置であるとする。
【0228】
ローカル通信装置11は、最初に装置用サービス提供装置51にサービス要求パケットを供給する。このとき、中継装置12は、ポート342−1を用いて、このサービス要求パケットの通信元アドレスポート情報をNAPT変換する。装置用サービス提供装置51は、このサービス要求パケットに対して生成したサービス提供パケットを、中継装置12のポート342−1を介してローカル通信装置11に供給する。
【0229】
次に、ローカル通信装置11は、装置用サービス提供装置52にサービス要求パケットを供給する。このとき、中継装置12は、装置用サービス提供装置51のアドレスポート情報と、装置用サービス提供装置52のアドレスポート情報が異なるので、ポート番号を1つ増加させ、ポート342−2を用いて、このサービス要求パケットの通信元アドレスポート情報をNAPT変換する。装置用サービス提供装置52は、このサービス要求パケットに対して生成したサービス提供パケットを、中継装置12のポート342−2を介してローカル通信装置12に供給する。
【0230】
ローカル通信装置12は、取得したこれらのサービス提供パケットより、グローバルアドレス情報を取得し、2つのグローバルアドレス情報の差分値、すなわち、中継装置12により用いられたポート番号の変化量を算出する。この場合の差分値は、「1」である。
【0231】
ローカル通信装置12は、後の通信である装置用サービス提供装置52との通信に用いられたポート342−2のポート番号に値「1」を加算し、ポート342−3が次回の通信において中継装置12により用いられるポートであると予想する(予測する)。
【0232】
なお、例えば、この差分値が「2」であるとすると、ローカル通信装置12は、後の通信である装置用サービス提供装置52との通信に用いられたポート342−2のポート番号に値「2」を加算し、ポート342−4が次回の通信において中継装置12により用いられるポートであると予想し(予測し)、例えば、この差分値が「3」であるとすると、ローカル通信装置12は、後の通信である装置用サービス提供装置52との通信に用いられたポート342−2のポート番号に値「3」を加算し、ポート342−5が、次回の通信において中継装置12により用いられるポートであると予想する(予測する)。
【0233】
また、差分値が「0」の場合、装置用サービス提供装置51との通信と、装置用サービス提供装置52との通信とにおいて、同じポート(例えば、ポート342−1)が用いられており、ローカル通信装置11は、次回の通信においても、同じポート(例えば、ポート342−1)が使用されると予想する(予測する)。
【0234】
同様に、ローカル通信装置31も、装置用サービス提供装置51およびより供給された2つのサービス提供パケットに基づいて、次回の通信におけるグローバルアドレス情報を取得する。
【0235】
以上のようにして、装置用サービス提供装置51および52が、中継装置12のグローバルアドレスおよびポート番号を示す情報が含まれるサービス提供パケットを生成し、ローカル通信装置11に供給することにより、ローカル通信装置11は、次回の通信における中継装置12のグローバルアドレスポート情報を予想する(予測する)ことができ、上述したように、容易に、その情報をユーザ用サービス提供装置41に供給することができる。
【0236】
図9に戻り、ステップS10の処理を終了したローカル通信装置11は、図10のステップS11に処理を進め、ローカル通信装置31との通信において、通信の主導権を握るマスタの役割を行うか、通信相手に通信の主導権を渡すスレーブの役割を行うかを判定するマスタ/スレーブ判定処理(Master/Slave判定処理)を行う。同様に、ローカル通信装置31も図10のステップS51において、マスタ/スレーブ判定処理(Master/Slave判定処理)を行う。
【0237】
例えば、ローカル通信装置11および31のIPアドレス(グローバルアドレスが望ましい)の各桁の数字をそれぞれ合計し、その値が大きい方をマスタとし、小さい方をスレーブとする。これ以外の方法によりマスタおよびスレーブを決定するようにしてももちろんよい。
【0238】
以下においては、ローカル通信装置11がマスタで、ローカル通信装置31がスレーブであるものとして説明するが、どちらがマスタとなってももちろんよい。
【0239】
マスタであると判定したローカル通信装置11は、ローカル通信装置31と接続するために、通信の開始を要求する通信開始アルゴリズムを実行する。すなわち、ローカル通信装置11は、ステップS12に処理を進め、複数の開通要求パケットの供給を開始する。同様に、スレーブであると判定したローカル通信装置31は、ステップS52に処理を進め、ローカル通信装置11と接続するために、複数の開通要求パケットの供給を開始する。
【0240】
開通要求パケットの供給により、通信相手側の中継装置32の、ローカル通信装置31と通信可能なアドレスポート情報を特定すると、マスタであるローカル通信装置11は、ステップS13に処理を進め、特定したアドレスポート情報を用いて、開通維持パケットをローカル通信装置31に供給する。
【0241】
ステップS53において、スレーブであるローカル通信装置31は、開通維持パケットをローカル通信装置11より取得すると、ステップS54に処理を進め、ローカル通信装置11との通信が開通したと判定し、ステップS55において、ローカル通信装置11に開通維持パケットを供給する。
【0242】
ステップS14において、ローカル通信装置11は、ローカル通信装置31より供給された開通維持パケットを取得すると、ステップS15において、ローカル通信装置31との通信が開通したと判定する。
【0243】
なお、以上の通信において、ローカル通信装置11および31は、送受信するパケットを、STUN、RTP、またはRTCP等を用いたUDP/IPプロトコル体系に基づいて処理する。
【0244】
以上の処理において、ローカル通信装置11は、通信の開始を要求する通信開始要求アルゴリズムとして、以下に説明する通信開始要求処理を実行して送信元(ローカル通信装置11)のポート番号および送信先(中継装置32)のポート番号を決定し、開通要求パケットを生成する。
【0245】
ローカル通信装置11による通信開始要求処理の例について、図23のフローチャートを参照して説明する。必要に応じて図24および図25を参照して説明する。
【0246】
なお、以下において、変数numSrcPriPortは、ローカル通信装置において、通信相手との通信の開通を要求するパケットである開通要求パケットの送信の際に使用されるプライベートなポートの数を示し、変数numDstGloPortは、通信相手側の中継装置が有するポートの内、開通要求パケットの送信先として指定されるグローバルなポートの数を示す。
【0247】
また、変数timeSendIntervalは、ローカル通信装置による各パケットの送信間隔を示し、変数isMasterFlagは、そのローカル通信装置がマスタであるか否か(スレーブであるか否か)を示す。
【0248】
ローカル通信装置11のローカル間通信制御部66は、ステップS231において、変数iおよび変数jのそれぞれに、値「0」を代入する。ステップS232において、ローカル間通信制御部66は、送信先側の中継装置32のグローバルなポート番号を示す変数Glo−portの値を変数Base−Glo−portとして保持し、送信元であるローカル通信装置11のプライベートなポート番号を示す変数Pri−portを変数Base−Pri−portとして保持する。
【0249】
なお、この変数Glo−portの初期値は、図15のステップS181において取得した通信先の通信情報に含まれる通信先グローバルアドレス情報のポート番号が用いられる。なお、この変数Glo−portの初期値は、このポート番号を用いた所定の演算により算出される、このポート番号と異なる値であってもよい。
【0250】
ステップS233に処理を進めると、ローカル間通信制御部66は、変数iの値が変数numSrcPriPortより小さいか否かを判定する。まだ、ローカル通信装置11の予定された全てのポートに対して処理が完了しておらず、変数iの値が変数numSrcPriportより小さいと判定した場合、ローカル間通信制御部66は、ステップS234に処理を進め、変数Base−Pri−Portの値に変数iの値を加算し、その値を変数Pri−portに代入する。
【0251】
ローカル間通信制御部66は、ステップS235において、変数jの値が変数numDstGloPortより小さいか否かを判定し、小さいと判定した場合、ステップS236において、変数Base−Glo−Portの値に変数jの値を加算し、変数Glo−portに代入する。
【0252】
そして、ローカル間通信制御部66は、ステップS237において、変数Pri−portの値を送信元のポート番号とし、変数Glo−portの値を送信先のポート番号とし、開通要求パケットを生成し、通信部84を制御して、生成した開通要求パケットを、中継装置12を介して中継装置32に供給する。
【0253】
ステップS238に処理を進めたローカル間通信制御部66は、所定の時間timeSendIntervalの間待機し、ステップS239に処理を進める。
【0254】
ローカル間通信制御部66は、ステップS239において、変数jの値に値(j+1)を代入し、ステップS240において、ユーザの操作などに基づいて、開通要求パケットの中止要求が出ているか否かを判定し、中止要求がでていると判定した場合、通信開始要求処理を終了する。
【0255】
ステップS233において、変数iの値が変数numSrcPriPortより小さくないと判定した場合、ローカル間通信制御部66は、通信開始要求処理を終了する。
【0256】
ステップS235において、変数jの値が変数numDstGloPortより小さくないと判定した場合、ローカル間通信制御部66は、ステップS241に処理を進め、変数jに値「0」を代入し、ステップS242において変数iに値(i+1)を代入した後、ステップS233に処理を戻し、それ以降の処理を繰り返す。
【0257】
ステップS240において、開通要求パケットの中止要求が出ていない判定した場合、ローカル間通信制御部66は、ステップS235に処理を戻し、それ以降の処理を繰り返す。
【0258】
以上のように、ローカル間通信制御部66は、通信開始要求アルゴリズムを実行し、送信元および送信先のポート番号を決定しながら、(numSrcPriPort×numDstGloPort)個の開通要求パケットを生成し、供給する。
【0259】
例えば、図24に示されるように、ローカル通信装置11が、中継装置12およびグローバルネットワーク350を介して通信先通信装置351にパケットを供給する場合、中継装置12が、通信先のアドレスポート情報が変更されても同じポート362―1をローカル通信装置11に割り当てる、再利用型の中継装置であるとき、通信先通信装置351は、そのポート362―1に対して応答することでローカル通信装置11と通信を行うことができる。
【0260】
しかしながら、例えば、図25に示されるように、中継装置12が、通信先のアドレスポート情報が変化する(ポート363−1乃至363−5)度に、異なるポートに割り当てる、インクリメント型の中継装置であるとき、その中継装置12は、送信先のポートごとに、使用するポート(362−1乃至362−5)を変更する。
【0261】
この場合、通信先通信装置351は、ローカル通信装置11に供給可能なポートを選択する場合に必要な情報がないので、応答を供給する中継装置12のポート番号を特定することができない。
【0262】
すなわち、図1のネットワークシステムにおいて説明すると、ローカル通信装置11は、ローカル通信装置31と通信を行うために中継装置32のどのポートにアクセスすればよいかを特定することができない。
【0263】
そこで、ローカル間通信部66は、通信開始要求アルゴリズムを実行することにより、通信可能なポートと予想される(予測される)中継装置32のグローバルなポート番号付近の複数のポートに対して、開通要求パケットを生成し、通信部84を制御して、その生成された複数の開通要求パケットを中継装置32に供給する。上述したように、ローカル通信装置31も同様に処理を行う。
【0264】
このとき、スレーブ側であるローカル通信装置31は、受信することができた、ローカル通信装置11より送信された開通要求パケットの送信元アドレスポート情報を用いて、ローカル通信装置31が送信する開通要求パケットの送信先アドレスポート情報を調整し、ローカル装置11が受信できるようにする。
【0265】
このように、ローカル通信装置11および31は、互いに送受信する開通要求パケットを取得することにより、通信先の中継装置のアクセスすべきポート番号を、容易に特定することができる。
【0266】
以上のような開通要求パケットにより、アクセスすべき通信先のポート番号を特定したローカル通信装置11または31は、図10を参照して上述したように、開通維持パケットを送受信することにより、通信を開通させ確立する。
【0267】
ローカル通信装置11がマスタである場合に、上述した通信開始要求処理と並行して実行する通信確立処理について、図26および図27を参照して説明する。
【0268】
最初に、図26のステップS261において、ローカル通信装置11のローカル間通信制御部66は、通信部84を制御して、外部よりパケットを取得したか否かを判定する。パケットを取得したと判定した場合、ローカル間通信制御部66は、ステップS262において、取得したパケットを解析し、ステップS263において、取得したパケットの送信元アドレスポート情報と、ローカル通信装置11から送信される開通要求パケットの送信先アドレスポート情報が一致するか否かを判定する。
【0269】
取得したパケットの送信元アドレスポート情報が、開通要求パケットの送信先アドレスポート情報と一致すると判定した場合、ローカル間通信制御部66は、ステップS264に処理を進め、取得したパケットの識別情報を調べ、取得したパケットが開通要求パケットであるか否かを判定する。
【0270】
取得したパケットが開通要求パケットであると判定した場合、ローカル間通信制御部66は、ステップS265において、取得したパケットの送信元アドレスポート情報を保持し、ステップS266において、上述した通信開通要求処理に対して開通要求パケットの中止を要求する。
【0271】
開通要求パケットの中止を要求したローカル間通信制御部66は、図27のステップS271に処理を進め、開通維持パケットを生成し、ステップS272において、生成した開通維持パケットを、中継装置12を介して、通信相手であるローカル通信装置31に供給する。
【0272】
図10を参照して説明したように、ローカル通信装置11からの開通要求パケットまたは開通維持パケットを取得した場合、ローカル通信装置31は、ローカル通信装置11に対して、開通維持パケットを供給する。
【0273】
ローカル通信装置11のローカル間通信制御部66は、通信部84を介してパケットを取得すると、ステップS273において、取得したパケットの送信元アドレスポート情報と、ローカル通信装置11より送信する開通維持パケットの送信先アドレスポート情報が一致するか否かを判定する。
【0274】
取得したパケットの送信元アドレスポート情報が、開通維持パケットの送信先アドレスポート情報と一致すると判定した場合、ローカル間通信制御部66は、ステップS274に処理を進め、取得したパケットに含まれる識別子を調べ、取得したパケットが開通維持パケットであるか否かを判定する。
【0275】
取得したパケットが開通維持パケットであると判定した場合、ローカル間通信制御部66は、ステップS275に処理を進め、取得したパケットの送信元アドレスポート情報を保持し、ステップS276において、所定の時間待機した後、ステップS277において、開通維持パケットを生成し、ステップS278において、生成した開通維持パケットを供給する。
【0276】
すなわち、ローカル間通信制御部66は、ステップS273およびS274の処理を実行することにより、ローカル通信装置31との通信が開通したか否かを判定する。そして、ステップS273において、取得したパケットの送信元アドレスポート情報が、開通維持パケットの送信先アドレスポート情報と一致すると判定し、かつ、ステップS274において、取得したパケットが開通維持パケットであると判定した場合、ローカル間通信制御部66は、ローカル通信装置31との通信が開通したと判定し、ステップS275以降の処理により開通維持パケットをローカル間通信装置31に供給する。
【0277】
ステップS279において、ローカル間通信制御部66は、ステップS279において、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、ステップS276に処理を戻し、それ以降の処理を繰り返す。また、ステップS279において、通信確立終了すると判定した場合、ローカル間通信制御部66は、ステップS280において所定の終了処理を実行し、通信確立処理を終了する。
【0278】
図26のステップS261においてパケットを取得していないと判定した場合、ステップS263において取得したパケットの送信元アドレスポート情報が、開通要求パケットの送信先アドレスポート情報と一致しないと判定した場合、または、ステップS264において、取得したパケットが開通要求パケットではないと判定した場合、ローカル間通信制御部66は、ステップS267に処理を進め、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、ステップS261に処理を戻し、それ以降の処理を繰り返す。
【0279】
ステップS267において、通信確立処理を終了すると判定した場合、ローカル間通信制御部66は、図27のステップS280に処理を進め、終了処理を実行した後、通信確立処理を終了する。
【0280】
図27のステップS273において、取得したパケットの送信元アドレスポート情報が、開通維持パケットの送信先アドレスポート情報と一致しないと判定した場合、または、ステップS274において、取得したパケットが開通維持パケットではないと判定した場合、ローカル間通信制御部66は、ステップS281に処理を進め、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、ステップS271に処理を戻し、それ以降の処理を繰り返す。
【0281】
ステップS281において、通信確立処理を終了すると判定した場合、ローカル間通信制御部66は、ステップS280に処理を進め、終了処理を実行し、通信確立処理を終了する。
【0282】
次に、図28および図29のフローチャートを参照して、スレーブである場合のローカル通信端末装置11による通信確立処理について説明する。
【0283】
図25のステップS301において、ローカル通信端末装置11のローカル間通信制御部66は、通信部84を制御して、外部よりパケットを取得したか否かを判定する。パケットを取得したと判定した場合、ローカル間通信制御部66は、ステップS302において、取得したパケットを解析し、ステップS303において、取得したパケットの送信元アドレスポート情報と、ローカル通信装置11から送信する開通要求パケットの送信先アドレスポート情報が一致しないか否かを判定する。
【0284】
取得したパケットの送信元アドレスポート情報が、開通要求パケットの送信先アドレスポート情報と一致しないと判定した場合、ローカル間通信制御部66は、ステップS304に処理を進め、取得したパケットの識別情報を調べ、取得したパケットが開通要求パケットであるか否かを判定する。
【0285】
取得したパケットが開通要求パケットであると判定した場合、ローカル間通信制御部66は、ステップS305において、取得したパケットの送信元アドレスポート情報を保持し、ステップS306において、送信する開通要求パケットの送信先アドレスポート情報を変更し、図26のステップS311に処理を進め、通信部84を制御し、開通維持パケットを取得したか否かを判定する。
【0286】
開通維持パケットを取得したと判定した場合、ローカル間通信制御部66は、ローカル通信装置31との通信が開通したと判定し、ステップS312において、取得した開通維持パケットの送信元アドレスポート情報を保持し、ステップS313において、通信開始要求処理に対して開通要求パケットの中止を要求し、ステップS314において、開通維持パケットを生成し、ステップS315において、生成した開通維持パケットを、中継装置12を介して、通信相手であるローカル通信装置31に供給し、ステップS316において、所定の時間待機した後、ステップS317において、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、ステップS314に処理を戻し、それ以降の処理を繰り返す。
【0287】
ステップS317において通信確立処理を終了すると判定した場合、ローカル間通信制御部66は、ステップS318において終了処理を実行し、通信確立処理を終了する。
【0288】
ステップS311において、開通維持パケットを取得していないと判定した場合、ローカル間通信制御部66は、ステップS319に処理を進め、通信確立処理を終了するか否かを判定し、終了しないと判定した場合、図28のステップS301に処理を戻し、それ以降の処理を繰り返す。
【0289】
図29のステップS319において、通信確立処理を終了すると判定した場合、ローカル間通信制御部66は、ステップS318に処理を進め、通信確立処理を終了する。
【0290】
なお、ローカル通信装置31も、同様に、図26乃至図29のフローチャートを参照して説明した通信確立処理を実行するので、その説明を省略する。
【0291】
以上のようにして、ローカル通信装置11は、開通要求パケットにより特定されたアドレスポート情報に開通維持パケットを供給することにより、通信を確立させる。このようにすることにより、ローカル通信装置11または31は、NAPT変換機能を有する中継装置12および32を介して通信を行う場合であっても、容易に、通信相手であるローカル通信装置31または11と通信を行うことができる。
【0292】
以上に説明した、サービス要求パケット、サービス提供パケット、開通要求パケット、並びに開通維持パケットは、例えば、STUNプロトコルを用いたSTUNメッセージを用いて、各種のメッセージがやり取りされる。このSTUNメッセージは、UDPパケットのデータ部に挿入されて授受される。図30に示されるように、このUDPパケット370は、ヘッダ部(Message Header)371およびデータ部(Message Attribute)372を含んでおり、28バイトで構成されている。
【0293】
ヘッダ部371は、2バイトのメッセージタイプ(Message Type)373、2バイトのメッセージデータ長(Message Length)374、および16バイトのトランザクションID(Transaction ID)375により構成される。また、データ部372は、8バイトのデータペイロード(Data Payload)376よりなる。
【0294】
このような形式のUDPパケットを送受信することにより、ローカル通信装置11および31、並びに、装置用サービス提供装置51および52は、各種のメッセージを授受する。図31のアローチャートを参照して、上述した処理において授受されるメッセージについて、説明する。また、必要に応じて、図32乃至36を参照して説明する。なお、以下において、装置用サービス提供装置52に関する処理については、装置用サービス提供装置51と同様であるので、その説明を省略する。
【0295】
ローカル通信装置11は、図31のステップS331において、サービス要求パケットとして、図32に示すようなSTUNメッセージのMapped Address Inquiry Messageを、装置用サービス提供装置51に供給する。この処理は図8のステップS4に対応する。
【0296】
図32に示されるように、サービス要求パケットとしてのUDPパケット370のデータ部372には、メッセージのタイプ(Type)381、データ長(Length)382、および、メッセージ番号(Value)383が含まれる。図32において、タイプ381の値は、「MAPPED ADDRESS」を示す値「0x0001」となり、データ長382は、メッセージが4ビットであることを示し(0x0004)、メッセージ値383の値は、「0x00000000」となる。
【0297】
図31に戻り、装置用サービス提供装置51は、ステップS351において、このようなMapped Address Inquiry Messageを取得すると、ステップS352において、サービス提供パケットとして、図33に示されるようなSTUNメッセージのAnswered Mapped Address Messageをローカル通信装置11に供給する。これらの処理は図8のステップS61およびS63に対応する。
【0298】
図33に示されるように、中継装置12のアドレスポート情報を提供するサービス提供パケットとしてのUDPパケット370のデータ部372には、パディング(Padding)391、ファミリー(Family)392、ポート(Port)393、およびアドレス(Address)394が含まれる。図33において、パディング391の値は「0x0001」となり、ファミリー392は、「IPv4」のアドレスポート情報であることを示し(0x01)、ポート393およびアドレス394は、中継装置12のアドレスポート情報を示す。
【0299】
図31に戻り、ローカル通信装置11は、ステップS332において、このようなSTUNメッセージが含まれるUDPパケットを取得する。
【0300】
同様に、ローカル通信装置31は、ステップS371において、図32に示されるサービス要求パケットを装置用サービス提供装置51に供給する。装置用サービス提供装置51は、ステップS353においてそのサービス要求パケットを取得すると、ステップS354において、図33に示されるようなサービス提供パケットをローカル通信装置31に供給する。ローカル通信装置31は、ステップS372においてそのサービス提供パケットを取得する。
【0301】
サービス提供パケットを取得したローカル通信装置11は、ステップS333において、ローカル通信装置31に対して、開通要求パケットとして、図34に示すようなSTUNメッセージのOpening Port Notification Messageを供給する。この処理は図10のステップS12に対応する。
【0302】
図34に示されるように、開通要求パケットとしてのUDPパケット370のデータ部372のタイプ381はSTUNメッセージのFLAGSリクエストを示し(0x0003)、データ長382は4バイトを示す(0x0004)。メッセージ値393は、この場合、「bitC=1」とし、それ以外の値を「0」とする(0x00000001)。
【0303】
ローカル通信装置31は、ステップS373において、この開通要求パケットを取得する。同様に、ローカル通信装置31は、ステップS374において、図34に示されるような開通要求パケットをローカル通信装置11に供給し、ローカル通信装置11は、ステップS334においてこの開通要求パケットを取得する。
【0304】
ローカル通信装置11は、ステップS335において、開通維持パケットとして、図32に示すようなSTUNメッセージのKeep−Alive Request Messageを供給する。Keep−Alive Request Messageでは、Mapped Address Inquiry Messageと同様にSTUNメッセージのMAPPED ADDRESSリクエストを使用する。この処理は、図10のステップS13の処理に対応する。
【0305】
ローカル通信装置31は、ステップS375において、その開通維持パケットを取得すると、ステップS376において、開通維持パケットとして、図33に示されるようなSTUNメッセージのKeep−Alive Response Messageを供給する。Keep−Alive Response Messageでは、Answered Mapped Address Messageと同様にSTUNメッセージのMAPPED ADDRESSレスポンスを使用する。この処理は、図10のステップS55の処理に対応する。
【0306】
ローカル通信装置11は、ステップS336において、その開通維持パケットを取得すると、ステップS337において、開通した通信を維持するための開通維持パケットとして、図34に示されるようなSTUNメッセージのHeartbeat Messageを供給する。Heartbeat Messageでは、Opening Port Notification Messageと同様にSTUNメッセージのFLAGSリクエストを使用する。なお、この場合、メッセージ値383は、bitAとbitCの値が「1」とし、それ以外の値を「0」とする(0x00000005)。ローカル通信装置31は、図31のステップS377においてこの開通維持パケットを取得する。
【0307】
同様に、ローカル通信装置31は、ステップS378において、この開通維持パケットをローカル通信装置11に供給し、ローカル通信装置11は、ステップS338においてこの開通維持パケットを取得する。
【0308】
以上に示されるKeep−Alive Request MessageおよびKeep−Alive Response Messageにおいて、ヘッダ部371のトランザクションID375は、図35に示されるような値とし、Heartbeat MessageのトランザクションID375は、図36に示されるような値とする。
【0309】
なお、サービス要求パケット、サービス提供パケット、開通要求パケット、および開通維持パケットは、上述した以外の構成のパケットであってももちろんよいし、STUNプロトコル以外のプロトコルを使用してもよい。
【0310】
以上のように、ローカル通信装置11および31は、STUNメッセージを利用し、サービス要求パケットおよびサービス提供パケットにより、予想される(予測される)送信先のアドレスポート情報を取得し、そのアドレスポート情報に基づいて、複数の開通要求パケットを供給することにより、実際に通信を開通可能なポートを検索し、開通維持パケットにより、そのポートを維持させるようにする。このようにすることにより、中継装置を介して通信を行う場合においても、ローカル通信装置11および31は、既存の設備により構成されるネットワークシステムにおいて、容易に通信を行うことができる。
【0311】
以下に具体的な例を示す。図37において、ローカル通信装置11側の中継装置が、再利用型の中継装置12−1であり、ローカル通信装置31側の中継装置が、再利用型の中継装置32−1である。
【0312】
中継装置12−1は、ローカル通信装置11が供給するUDPパケットを、供給先のアドレスポート情報に関わらず、ポート402−1を用いて中継する。すなわち、図37に示されるように、ローカル通信装置11より送信され、送信元アドレスポート情報のポート番号が、ローカル通信装置11のポート401−1に設定されているパケットは、中継装置12−1において、NAPT変換され、送信元アドレスポート情報のポート番号がポート402−1に変換された後、装置用サービス提供装置51若しくは52、または、中継装置32−1のポート403−1乃至403−5に供給される。
【0313】
従って、この場合、装置用サービス提供装置51および52より供給されるサービス提供パケットに含まれる2つのグローバルアドレス情報の差分値は、「0」となる。この差分値に基づいて、ローカル通信装置11は、次回の通信、すなわち、中継装置32に開通要求パケットを供給する場合においても、中継装置12がポート402−1をローカル通信装置11に対応させると予想する(予測する)。
【0314】
同様に、中継装置32−1は、ローカル通信装置31が供給するUDPパケットを、供給先のアドレスポート情報に関わらず、ポート403−1を用いて中継する。すなわち、図37に示されるように、ローカル通信装置31より送信され、送信元アドレスポート情報のポート番号が、ローカル通信装置31のポート404−1に設定されているパケットは、中継装置32−1において、NAPT変換され、送信元アドレスポート情報のポート番号がポート403−1に変換された後、装置用サービス提供装置51若しくは52、または、中継装置12−1のポート402−1乃至402−5に供給される。
【0315】
従って、この場合、装置用サービス提供装置51および52より供給されるサービス提供パケットに含まれる2つのグローバルアドレス情報の差分値は、「0」となる。この差分値に基づいて、ローカル通信装置31は、次回の通信、すなわち、中継装置12に開通要求パケットを供給する場合においても、中継装置32がポート403−1をローカル通信装置31に対応させると予想する(予測する)。
【0316】
ローカル通信装置11および31は、ユーザ用サービス提供装置41を利用して、これらの予測したアドレスポート情報を交換し、開通要求パケットを送信する際の送信先アドレスポート情報として利用する。この場合、ローカル通信装置11は、開通要求パケットの供給をポート403−1から開始し、ローカル通信装置31は、開通要求パケットの供給をポート402−1から開始する。
【0317】
従って、この場合、ローカル通信装置11のポート401−1、中継装置12−1のポート402−1、中継装置32−2のポート403−1、およびローカル通信装置31のポート404−1を介して通信が開通する。
【0318】
また、図38において、ローカル通信装置11側の中継装置が、パケットの供給先のアドレスポート情報が変化する度に、ポート番号を1つずつ増加させながら中継するインクリメント型の中継装置12−2であり、ローカル通信装置31側の中継装置も、同様のインクリメント型の中継装置32−2である。
【0319】
中継装置12−2は、ローカル通信装置11が供給するUDPパケットを、供給先のアドレスポート情報が変化する度に、ポート番号を1つずつ増加させながら中継する。すなわち、図38に示されるように、中継装置12−2は、送信元アドレスポート情報がローカル通信装置11のポート401−1であり、送信先のアドレスポート情報が装置用サービス提供装置51であるサービス要求パケットを取得すると、そのサービス要求パケットをNAPT変換し、送信元アドレスを中継装置12−2のポート402−1に変更した後、装置用サービス提供装置51に供給する。また、中継装置12−2は、次に、送信元アドレスポート情報がローカル通信装置11のポート401−1であり、送信先のアドレスポート情報が装置用サービス提供装置52であるサービス要求パケットを取得すると、そのサービス要求パケットをNAPT変換し、送信元アドレスを中継装置12−2のポート402−2に変更した後、装置用サービス提供装置51に供給する。
【0320】
従って、この場合、装置用サービス提供装置51および52より供給されるサービス提供パケットに含まれる2つのグローバルアドレス情報の差分値は、「1」となる。この差分値に基づいて、ローカル通信装置11は、次回の通信、すなわち、中継装置32−2に開通要求パケットを供給する場合、中継装置12−2が、ポート402−2の次のポートであるポート402−3をローカル通信装置11に対応させると予想する(予測する)。
【0321】
中継装置32−2は、上述した中継装置12−2の場合と同様の処理を行い、ローカル通信装置31が供給するUDPパケットを、供給先のアドレスポート情報が変化する度に、ポート番号を1つずつ増加させながら中継する。
【0322】
従って、この場合、装置用サービス提供装置51および52より供給されるサービス提供パケットに含まれる2つのグローバルアドレス情報の差分値は、「1」となる。この差分値に基づいて、ローカル通信装置31は、次回の通信、すなわち、中継装置12−2に開通要求パケットを供給する場合、中継装置32−2が、ポート403−2の次のポートであるポート403−3をローカル通信装置11に対応させると予想する(予測する)。
【0323】
ローカル通信装置11および31は、ユーザ用サービス提供装置41を利用して、これらの予測したアドレスポート情報を交換し、開通要求パケットを送信する際の送信先アドレスポート情報として利用する。この場合、ローカル通信装置11は、開通要求パケットの供給をポート403−3から開始し、ローカル通信装置31は、開通要求パケットの供給をポート402−3から開始する。
【0324】
従って、この場合、ローカル通信装置11のポート401−1、中継装置12−2のポート402−3、中継装置32−2のポート403−3、およびローカル通信装置31のポート404−1を介して通信が開通する。
【0325】
以上のように、ローカル通信装置11および31は、NAPTを介した場合においても、容易に、通信を開通することができる。
【0326】
なお、以上において、パケットの供給先のアドレスポート情報が変化する度に、ポート番号を1つずつ増加させながら中継するインクリメント型の中継装置を用いた場合について説明したが、これに限らず、中継装置が増加させるポート番号の数は2つ以上ずつであってもよい。
【0327】
なお、通信のマスタ側の通信装置が実行する通信開始要求アルゴリズムと、スレーブ側の通信装置が実行する通信開始要求アルゴリズムが、互いに異なる処理を含むようにしてもよい。
【0328】
図39のフローチャートを参照し、ローカル通信装置11による制御処理を説明する。必要に応じて図40のフローチャートを参照して説明する。
【0329】
ローカル通信装置11のローカル間通信制御部66は、ステップS391において、ローカル通信装置11が通信のマスタであるか否かを判定し、マスタであると判定した場合、ステップS392において、通信開始要求アルゴリズムとして、第2通信開始要求処理を実行する。第2通信開始要求処理の詳細については、図40のフローチャートを参照して後述する。ステップS392の処理を終了したローカル間通信制御部66は、制御処理を終了する。
【0330】
ステップS391において、ローカル通信装置11がスレーブであると判定した場合、ローカル間通信制御部66は、ステップS393に処理を進め、通信開始要求アルゴリズムとして、図23に示されるフローチャートと同様の第1通信開始要求処理を実行する。第1通信開始要求処理の詳細は、図23に示されるフローチャートを適用することができるのでその説明を省略する。ステップS393の処理を終了したローカル間通信制御部66は、制御処理を終了する。
【0331】
次に、図40のフローチャートを参照して、ローカル通信装置による第2通信開始要求処理を説明する。
【0332】
ローカル通信装置11のローカル間通信制御部66は、ステップS411において、変数iおよび変数jのそれぞれに、値「0」を代入する。ステップS412において、ローカル間通信制御部66は、中継装置12のグローバルなポートを示す変数Glo−portの値を変数Base−Glo−portとして保持し、ローカル通信装置11のポートを示す変数Pri−portを変数Base−Pri−portとして保持する。
【0333】
ステップS413に処理を進めると、ローカル間通信制御部66は、変数iの値が変数numSrcPriPortより小さいか否かを判定する。変数iの値が変数numSrcPriportより小さいと判定した場合、ローカル間通信制御部66は、ステップS414に処理を進め、変数Base−Pri−Portの値に変数iの値を加算し、その値を変数Pri−portに代入する。
【0334】
ローカル間通信制御部66は、ステップS415において、変数jの値が変数numDstGloPortの2倍の値より小さいか否かを判定し、小さいと判定した場合、ステップS416において、変数Base−Glo−Portの値に変数jの値を加算し、変数Glo−portに代入する。
【0335】
そして、ローカル間通信制御部66は、ステップS417において、変数Pri−portの値を送信元のポート番号とし、変数Glo−portの値を送信先のポート番号とした開通要求パケットを生成し、通信部84を制御して、生成した開通要求パケットを、中継装置12を介して中継装置32に供給する。
【0336】
ステップS418に処理を進めたローカル間通信制御部66は、所定の時間timeSendIntervalの間待機した後、ステップS419において、変数jの値に値(j+2)を代入し、ステップS420において、ユーザの操作などに基づいて、開通要求パケットの中止要求が出ているか否かを判定し、中止要求がでていると判定した場合、第2通信開始要求処理を終了し、図39の制御処理を終了する。
【0337】
ステップS413において、変数iの値が変数numSrcPriPortより小さくないと判定した場合、ローカル間通信制御部66は、第2通信開始要求処理を終了し、図39の制御処理を終了する。
【0338】
ステップS415において、変数jの値が変数numDstGloPortの2倍の値より小さくないと判定した場合、ローカル間通信制御部66は、ステップS421に処理を進め、変数jに値「0」を代入し、ステップS422において変数iに値(i+1)を代入した後、ステップS413に処理を戻し、それ以降の処理を繰り返す。
【0339】
ステップS420において、開通要求パケットの中止要求が出ていないと判定した場合、ローカル間通信制御部66は、ステップS415に処理を戻し、それ以降の処理を繰り返す。
【0340】
以上のように、ローカル通信装置11がマスタ側である場合、ローカル間通信制御部66は、通信先側の中継装置32の連続するポート群に対して、予想された(予測された)ポート番号から1つおきに開通要求パケットを供給し(ポート番号を2つずつずらしながら開通要求パケットを供給し)、ローカル通信装置11がスレーブ側である場合、通信先側の中継装置32のポートに対して、予想された(予測された)ポート番号からポート番号を1つずつずらしながら開通要求パケットを供給する。
【0341】
なお、ローカル通信装置31も上述したローカル装置11の場合と同様の制御処理を行い、通信開始要求処理を実行させる。
【0342】
例えば、図41において、ローカル通信装置11側の中継装置は、パケットの供給先のアドレスポート情報が変化する度に、ポート番号を1つずつ増加させながら中継するインクリメント型の中継装置12−2であり、ローカル通信装置31側の中継装置は、再利用型の中継装置32−1である。
【0343】
この場合、ローカル通信装置11より開通要求パケットが送信されるときに、ローカル通信装置11に割り当てられると予想される(予測される)中継装置12−2のポートは、図38を参照して説明した場合と同様に、ポート402−3となり、ローカル通信装置31より開通要求パケットが送信されるときに、ローカル通信装置31に割り当てられると予想される(予想される)中継装置32−1のポートは、図37を参照して説明した場合と同様に、ポート403−1となる。すなわち、ローカル通信装置11は、開通要求パケットをポート403−1から1つおきに、複数のポートに供給し、ローカル通信装置31は、開通要求パケットをポート402−3から連続する複数のポートに供給する。
【0344】
従って、この場合、ローカル通信装置11のポート401−1、中継装置12−2のポート402−3、中継装置32−2のポート403−1、およびローカル通信装置31のポート404−1を介して通信が開通する。
【0345】
また、例えば、図42において、ローカル通信装置11側の中継装置は、再利用型の中継装置12−1であり、ローカル通信装置31側の中継装置は、パケットの供給先のアドレスポート情報が変化する度に、ポート番号を1つずつ増加させながら中継するインクリメント型の中継装置32−2である。
【0346】
この場合、ローカル通信装置11より開通要求パケットが送信されるときに、ローカル通信装置11に割り当てられると予想される(予測される)中継装置12−2のポートは、図37を参照して説明した場合と同様に、ポート402−1となり、ローカル通信装置31より開通要求パケットが送信されるときに、ローカル通信装置31に割り当てられると予想される(予測される)中継装置32−1のポートは、図38を参照して説明した場合と同様に、ポート403−3となる。すなわち、ローカル通信装置11は、開通要求パケットをポート403−3から1つおきに、複数のポートに供給し、ローカル通信装置31は、開通要求パケットをポート402−1から連続する複数のポートに供給する。
【0347】
従って、この場合、ローカル通信装置11のポート401−1、中継装置12−2のポート402−1、中継装置32−2のポート403−3、およびローカル通信装置31のポート404−1を介して通信が開通する。
【0348】
以上のように、ローカル通信装置11および31は、NAPTを介した場合においても、容易に、通信を開通することができる。
【0349】
なお、以上においては、マスタであるローカル通信装置が、通信先の中継装置に対して、ポート番号が1つおきとなるように開通要求パケットを供給するように説明したが、スレーブであるローカル通信装置がそのように開通要求パケットを供給するようにしてももちろんよい。その場合、マスタであるローカル通信装置は、ポート番号が連続するように開通要求パケットを供給する。
【0350】
また、以上において、マスタであるローカル通信装置とスレーブであるローカル通信装置において、開通要求パケットを供給するアルゴリズムが異なっていればよく、例えば、ローカル通信装置が、通信先の中継装置に対して、ポート番号が2つ以上おきとなるように開通要求パケットを供給するようにしてももちろんよい。
【0351】
さらに、ローカル通信装置が、各ポートから出力する開通要求パケットを、送信先の中継装置の異なるポートに対して供給するようにしてもよい。そのような場合のローカル通信装置11による制御処理を、図43のフローチャートを参照して説明する。なお、必要に応じて図44および45のフローチャートを参照して説明する。
【0352】
ローカル通信装置11のローカル間通信制御部66は、ステップS441において、ローカル通信装置11が通信のマスタ(Master)であるか否かを判定し、マスタであると判定した場合、ステップS442において、通信開始要求アルゴリズムとして、第3通信開始要求処理を実行する。第3通信開始要求処理の詳細については、図43のフローチャートを参照して後述する。ステップS442の処理を終了したローカル間通信制御部66は、制御処理を終了する。
【0353】
ステップS441において、ローカル通信装置11がスレーブであると判定した場合、ローカル間通信制御部66は、ステップS443に処理を進め、通信開始要求アルゴリズムとして、第4通信開始要求処理を実行する。第4通信開始要求処理の詳細については、図44のフローチャートを参照して後述する。ステップS443の処理を終了したローカル間通信制御部66は、制御処理を終了する。
【0354】
次に、図43のフローチャートを参照して、ローカル通信装置による第3通信開始要求処理を説明する。なお、以下において、変数numDstGloPort2は、1つのポートより供給される開通要求パケットの数(すなわち、1つのポートより開通要求パケットが供給される、通信先の中継装置のポートの数)であるとする。
【0355】
ローカル通信装置11のローカル間通信制御部66は、ステップS461において、変数iおよび変数jのそれぞれに、値「0」を代入する。ステップS462において、ローカル間通信制御部66は、中継装置12のグローバルなポートを示す変数Glo−portの値を変数Base−Glo−portとして保持し、ローカル通信装置11のポートを示す変数Pri−portを変数Base−Pri−portとして保持する。
【0356】
ステップS463に処理を進めると、ローカル間通信制御部66は、変数iの値が変数numSrcPriPortより小さいか否かを判定する。変数iの値が変数numSrcPriPortより小さいと判定した場合、ローカル間通信制御部66は、ステップS464に処理を進め、変数Base−Pri−Portの値に変数iの値を加算し、その値を変数Pri−portに代入する。
【0357】
ローカル間通信制御部66は、ステップS465において、変数jの値が(numDstGloPort2×i+numDstGloPort2−1)の値より小さいか否かを判定し、小さいと判定した場合、ステップS466において、変数Base−Glo−Portの値に変数jの値を加算し、変数Glo−portに代入する。
【0358】
そして、ローカル間通信制御部66は、ステップS467において、変数Pri−portの値を送信元のポート番号とし、変数Glo−portの値を送信先のポート番号とし、開通要求パケットを生成し、通信部84を制御して、生成した開通要求パケットを、中継装置12を介して中継装置32に供給する。
【0359】
ステップS468に処理を進めたローカル間通信制御部66は、所定の時間timeSendIntervalの間待機した後、ステップS469において、変数jの値に値(j+1)を代入し、ステップS470において、ユーザの操作などに基づいて、開通要求パケットの中止要求が出ているか否かを判定し、中止要求がでていると判定した場合、第3通信開始要求処理を終了し、図43の制御処理を終了する。
【0360】
ステップS463において、変数iの値が変数numSrcPriPortより小さくないと判定した場合、ローカル間通信制御部66は、第3通信開始要求処理を終了し、図43の制御処理を終了する。
【0361】
ステップS465において、変数jの値が(numDstGloPort2×i+numDstGloPort2−1)の値より小さくないと判定した場合、ローカル間通信制御部66は、ステップS471に処理を進め、変数jに値(j+1)を代入し、ステップS472において変数iに値(i+1)を代入した後、ステップS463に処理を戻し、それ以降の処理を繰り返す。
【0362】
ステップS470において、開通要求パケットの中止要求が出ていない判定した場合、ローカル間通信制御部66は、ステップS465に処理を戻し、それ以降の処理を繰り返す。
【0363】
次に、図45のフローチャートを参照して、ローカル通信装置による第4通信開始要求処理を説明する。
【0364】
ローカル通信装置11のローカル間通信制御部66は、ステップS491において、変数iおよび変数jのそれぞれに、値「0」を代入する。ステップS492において、ローカル間通信制御部66は、中継装置12のグローバルなポートを示す変数Glo−portの値を変数Base−Glo−portとして保持し、ローカル通信装置11のポートを示す変数Pri−portを変数Base−Pri−portとして保持する。
【0365】
ステップS493に処理を進めると、ローカル間通信制御部66は、変数iの値が変数numSrcPriPortより小さいか否かを判定する。変数iの値が変数numSrcPriPortより小さいと判定した場合、ローカル間通信制御部66は、ステップS494に処理を進め、変数Base−Pri−Portの値に変数iの値を加算し、その値を変数Pri−portに代入する。
【0366】
ローカル間通信制御部66は、ステップS495において、変数jの値が{(numDstGloPort2−1)×i+numDstGloPort2−1}の値より小さいか否かを判定し、小さいと判定した場合、ステップS496において、変数Base−Glo−Portの値に変数jの値を加算し、変数Glo−portに代入する。
【0367】
そして、ローカル間通信制御部66は、ステップS497において、変数Pri−portの値を送信元のポート番号とし、変数Glo−portの値を送信先のポート番号とし、開通要求パケットを生成し、通信部84を制御して、生成した開通要求パケットを、中継装置12を介して中継装置32に供給する。
【0368】
ステップS498に処理を進めたローカル間通信制御部66は、所定の時間timeSendIntervalの間待機した後、ステップS499において、変数jの値に値(j+1)を代入し、ステップS500において、ユーザの操作などに基づいて、開通要求パケットの中止要求が出ているか否かを判定し、中止要求がでていると判定した場合、第4通信開始要求処理を終了し、図43の制御処理を終了する。
【0369】
ステップS493において、変数iの値が変数numSrcPriPortより小さくないと判定した場合、ローカル間通信制御部66は、第4通信開始要求処理を終了し、図43の制御処理を終了する。
【0370】
ステップS495において、変数jの値が{(numDstGloPort2−1)×i+numDstGloPort2−1}の値より小さくないと判定した場合、ローカル間通信制御部66は、ステップS501に処理を進め、変数iに値(i+1)を代入した後、ステップS493に処理を戻し、それ以降の処理を繰り返す。
【0371】
ステップS500において、開通要求パケットの中止要求が出ていない判定した場合、ローカル間通信制御部66は、ステップS495に処理を戻し、それ以降の処理を繰り返す。
【0372】
以上のように、ローカル通信装置11がマスタ側である場合、ローカル間通信制御部66は、通信先の中継装置32が有するポートの連続する(numDstGloPort2−1)個のポートを1グループとし、各グループの間に1つのポートが存在するような複数のグループを設定し、ローカル通信装置11の各ポートから、中継装置32の互いに異なるグループに対して、(numDstGloPort2−1)個の開通要求パケットを供給する。また、ローカル通信装置11がスレーブである場合、ローカル間通信制御部66は、通信先の中継装置32が有するポートの連続する(numDstGloPort2−1)個のポートを1グループとし、各グループが連続するような複数のグループを設定し、ローカル通信装置11の各ポートから、中継装置32の互いに異なるグループに対して、(numDstGloPort2−1)個の開通要求パケットを供給する。
【0373】
なお、ローカル通信装置31も上述したローカル装置11の場合と同様の制御処理を行い、通信開始要求処理を実行させる。
【0374】
例えば、変数numSrcPriPortの値を「3」とし、変数numDstGloPort2の値を「4」とする。図46において、ローカル通信装置11側の中継装置は、パケットの供給先のアドレスポート情報が変化する度に、ポート番号を1つずつ増加させながら中継するインクリメント型の中継装置12−2であり、ローカル通信装置31側の中継装置も、同様のインクリメント型の中継装置32−2である。
【0375】
この場合、ローカル通信装置11より開通要求パケットが送信されるときに、ローカル通信装置11に割り当てられると予想される(予測される)中継装置12−2のポートは、図38を参照して説明した場合と同様に、ポート402−3となり、ローカル通信装置31より開通要求パケットが送信されるときに、ローカル通信装置31に割り当てられると予想される(予測される)中継装置32−2のポートは、図38を参照して説明した場合と同様に、ポート403−3となる。すなわち、ローカル通信装置11は、開通要求パケットをポート403−3から連続する複数のポートに供給し、ローカル通信装置31は、開通要求パケットをポート402−3から連続する複数のポートに供給する。
【0376】
このとき、何らかの理由により、通信先側の中継装置32−2が、ポート403−3を飛ばして、使用するポートをインクリメントさせた場合、ローカル通信装置31より供給される開通要求パケットの通信元のポート番号が1つずつ、ずれることになるが、その場合においても、ローカル通信装置11のポート401−2、中継装置12−2のポート402−6、中継装置32−2のポート403−7、およびローカル通信装置31のポート404−2を介して通信が開通する。
【0377】
さらに、例えば、図47に示される場合のように、何らかの理由により、通信元側の中継装置12−2が、ポート402−3を飛ばして、使用するポートをインクリメントさせた場合、ローカル通信装置11より供給される開通要求パケットの通信元のポート番号が1つずつ、ずれることになるが、その場合においても、ローカル通信装置11のポート401−2、中継装置12−2のポート402−7、中継装置32−2のポート403−7、およびローカル通信装置31のポート404−2を介して通信が開通する。
【0378】
以上のように、ローカル通信装置の各ポートから供給される開通要求パケットを、通信先の中継装置の異なるポートに供給するとともに、マスタである場合と、スレーブである場合とで、開通要求パケットの供給方法を異なるようにすることにより、ローカル通信装置は、既存の設備により構成されるネットワークシステムにおいて、さらに多くの場合においても、通信を容易に開通させることができる。
【0379】
なお、以上の例においては、ローカル通信装置が、マスタである場合と、スレーブである場合とで、開通要求パケットを供給するアルゴリズムが異なっていればよく、ローカル通信装置が、マスタである場合に、第4通信開始要求処理を実行し、スレーブである場合に、第3通信開始要求処理を実行するようにしてもよい。
【0380】
なお、以上においては、変数numSrcPriPortの値を「3」とし、変数numDstGloPort2の値を「4」とする場合について説明したが、これらの値は、上述した以外であってももちろんよい。また、ローカル通信装置11がマスタ側である場合、ローカル間通信制御部66は、各ポートより(numDstGloPort2−1)個の開通要求パケットを供給し、ローカル通信装置11がスレーブである場合、ローカル間通信制御部66は、各ポートより(numDstGloPort2−1)個の開通要求パケットを供給するように説明したが、各ポートより供給する開通要求パケットの数はそれ以上であってもよいし、それ以下であってもよい。
【0381】
さらに、ローカル通信装置11が開通要求パケットを生成して供給する通信開始要求アルゴリズムとしては、上述した以外にも、どのようなアルゴリズムであってもよい。例えば、通信開始要求アルゴリズムとして、上述した第1通信開始要求処理乃至第4通信開始要求処理を全て組み合わせて使用するようにしてもよい。
【0382】
図48のフローチャートを参照して、ローカル通信装置11による制御処理について説明する。
【0383】
最初に、ステップS521において、ローカル通信装置11のローカル間通信制御部66は、図23のフローチャートを参照して説明したような第1通信開始要求処理を実行する。ステップS522において、ローカル間通信制御部66は、この第1通信開始要求処理により通信が開通したか否かを判定し、開通していないと判定した場合、ステップS523に処理を進め、ローカル通信装置11がマスタ(Master)であるか否かを判定する。
【0384】
ローカル通信装置11が通信のマスタであると判定した場合、ローカル間通信制御部66は、ステップS524に処理を進め、図40のフローチャートを参照して説明したような第2通信開始要求処理を実行する。第2通信開始要求処理を終了したローカル間通信制御部66は、ステップS526に処理を進める。
【0385】
ステップS523において、ローカル通信装置11が通信のスレーブであると判定した場合、ローカル間通信制御部66は、ステップS525に処理を進め、ステップS521と同様の第1通信開始要求処理を実行する。第1通信開始要求処理を終了したローカル間通信制御部66は、ステップS526に処理を進める。
【0386】
ステップS526において、ローカル間通信制御部66は、第1通信開始要求処理または第2通信開始要求処理により通信が開通したか否かを判定し、開通していないと判定した場合、ステップS527に処理を進め、ローカル通信装置11がマスタであるか否かを判定する。
【0387】
ローカル通信装置11が通信のマスタであると判定した場合、ローカル間通信制御部66は、ステップS528に処理を進め、図44のフローチャートを参照して説明したような第3通信開始要求処理を実行する。第3通信開始要求処理を終了したローカル間通信制御部66は、制御処理を終了する。
【0388】
ステップS527において、ローカル通信装置11が通信のスレーブであると判定した場合、ローカル間通信制御部66は、ステップS529に処理を進め、図45のフローチャートを参照して説明したような第4通信開始要求処理を実行する。第4通信開始要求処理を終了したローカル間通信制御部66は、制御処理を終了する。
【0389】
また、ステップS522またはステップS526において、通信が開通したと判定した場合、ローカル間通信制御部66は、制御処理を終了する。
【0390】
以上のように、複数の通信開始要求処理を組み合わせることにより、ローカル通信装置11は、既存の設備により構成されるネットワークシステムにおいて、さらに多くの場合について、容易に、通信先のローカル通信装置31との通信を開通させることができる。
【0391】
なお、以上においては、ローカル通信装置11の場合について説明したが、ローカル通信装置31が、上述したような制御処理と同様の制御処理を行うようにしてもよい。さらに、ローカル通信装置11が実行する制御処理とローカル通信装置31が実行する制御処理において、組み合わせる複数の通信開始要求処理が互いに異なるようにしたり、組み合わせる順番が互いに異なるようにしたりしてももちろんよい。
【0392】
また、通信先の通信装置がNAPT機能を有する中継装置等を介さずに直接ネットワーク21に接続されている場合であっても、その通信先の中継装置が、上述したような通信開始要求処理を行うようにすれば、中継装置12を介してネットワーク21に接続されるローカル通信装置11は、その通信装置と容易に通信を開始することができる。
【0393】
さらに、上述した例においては、ローカル通信装置11は、2つの中継装置12および32を介してローカル通信装置31と通信を行うように説明したが、これに限らず、3台以上の中継装置を介して通信を行う場合であっても、それぞれの中継装置に対して、上述したような処理を行うことにより、通信相手であるローカル通信装置31側のグローバルなポート番号を予測することができるので、ローカル通信装置31と容易に通信を行うことができる。
【0394】
また、上述した例においては、NAPT機能を有する中継装置を介した通信について説明したが、例えば、さらにFirewall機能を介して通信を行う場合においても、ローカル通信装置11は、上述したような処理により、通信相手であるローカル通信装置31側のグローバルなポート番号を予測することができるので、容易にローカル通信装置31と通信を行うことができる。
【0395】
なお、以上において説明したローカル通信装置11、中継装置12、ローカル通信装置31、中継装置32、ユーザ用サービス提供装置41、装置用サービス提供装置51、または、装置用サービス提供装置52は、上述した構成の一部または全部を他の装置と一体化するようにしてもよいし、複数の装置によって実現するようにしてもよい。
【0396】
特に、装置用サービス提供装置51および52は、同じ処理を2回実行することを説明するためのものであり、これらのアドレスポート情報が異なっていればよく、複数のポートを有する1台の装置用サービス提供装置において、使用するポートを変えながら、複数回同じ処理を繰り返すことにより、上述した処理と同様の処理を容易に実現することが可能である。
【0397】
なお、ローカル通信装置11または31は、図8のステップS4およびS6、または、ステップS44およびS46のように、装置用サービス提供装置51および52に対して、サービス要求パケットを供給する場合、2つの通信の間に他の通信が行われないようにするために、ステップS4およびS6の処理(またはステップS44およびS46の処理)を、続けて(連続して)実行するようにするのが望ましい。しかしながら、ローカル通信装置11(ローカル通信装置31)は、どのようなタイミングにおいて、図8のステップS4およびS6(ステップS44およびS46)の処理を実行してもよく、例えば、ステップS4(ステップS44)の処理を実行した後、所定の期間待機し、その後、ステップS6(ステップS46)の処理を実行するようにしても、もちろんよい。
【0398】
さらに、上述した各処理は、上述したどの装置において実行されるようにしてもよいし、上述した以外の他の装置により実行されるようにしてもよい。
【0399】
また、以上においては、IMサービスを利用して、ローカル通信装置11とローカル通信装置31が1対1で通信を行う場合について説明したが、これに限らず、3人以上のユーザ(3つ以上のローカル通信装置)が同時に通信を行うようにしてもよい。なお、その場合、通信のマスタはその中の1台のローカル通信装置に決定され、そのマスタであるローカル通信装置と、それ以外のスレーブであるローカル通信装置との間で、上述した場合と同様の処理が行われる。
【0400】
上述した一連の処理は、ハードウェアにより実行させることもできるし、上述したようにソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体等からインストールされる。
【0401】
記録媒体は、図3乃至図6に示されるように、各装置とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD−ROM(Compact Disc−Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini−Disc)(登録商標)を含む)、若しくは半導体メモリなどよりなるパッケージメディアを含むリムーバブルメディア91、131、181、または231により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM62、102、152、または202や記憶部83、123、173、または223が含まれるハードディスクなどで構成される。
【0402】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0403】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0404】
【発明の効果】
以上のように、本発明によれば、通信を行うことができる。特に、通信端末装置の通信先のアドレスおよびポートが代わるたびに、通信端末装置が行う通信の中継に使用するポートを2つ以上インクリメントさせるようなNAPT変換を行う既存の設備においても、NAPTを介して他の装置と容易に通信を行うことができる。
【図面の簡単な説明】
【図1】本発明を適用したネットワークシステムの構成例を示す図である。
【図2】図1の中継装置によるNAPT変換の様子を示す図である。
【図3】図1のローカル通信装置の内部の構成例を示すブロック図である。
【図4】図1の中継装置の内部の構成例を示すブロック図である。
【図5】図1のユーザ用サービス提供装置の構成例を示すブロック図である。
【図6】図1の装置用サービス提供装置の構成例を示すブロック図である。
【図7】図1のネットワークシステムにおける各装置間の通信内容を説明するアローチャートである。
【図8】図1のネットワークシステムにおける各装置間の通信内容を説明する、図7に続くアローチャートである。
【図9】図1のネットワークシステムにおける各装置間の通信内容を説明する、図8に続くアローチャートである。
【図10】図1のネットワークシステムにおける各装置間の通信内容を説明する、図9に続くアローチャートである。
【図11】図1のローカル通信装置による認証処理について説明するフローチャートである。
【図12】認証画面の構成例を示す図である。
【図13】図1のユーザ用サービス提供装置による認証処理について説明するフローチャートである。
【図14】図5に示されるユーザ認証情報データベースの様子を示す模式図である。
【図15】図1のローカル通信装置による通信情報取得処理について説明するフローチャートである。
【図16】ユーザ特定用画面の構成例を示す図である。
【図17】サービス要求パケットの構成例を示す模式図である。
【図18】図1のユーザ用サービス提供装置による情報提供処理について説明するフローチャートである。
【図19】図5のユーザ登録情報データベースの様子を示す模式図である。
【図20】図1の装置用サービス提供装置による情報提供処理について説明するフローチャートである。
【図21】サービス提供パケットの構成例を示す模式図である。
【図22】図1のローカル通信装置による開通要求パケットの授受の様子の例を示す図である。
【図23】ローカル通信装置による通信開始要求処理について説明するフローチャートである。
【図24】再利用型の中継装置によるNAPT変換の様子を説明する図である。
【図25】インクリメント型の中継装置によるNAPT変換の様子を説明する図である。
【図26】図1のローカル通信装置による通信確立処理の例について説明するフローチャートである。
【図27】図1のローカル通信装置による通信確立処理の例について説明する、図26に続くフローチャートである。
【図28】図1のローカル通信装置による通信確立処理の、他の例について説明するフローチャートである。
【図29】図1のローカル通信装置による通信確立処理の、他の例について説明する、図28に続くフローチャートである。
【図30】STUNメッセージを授受するためのUDPパケットの構成例を示す模式図である。
【図31】図1のネットワークシステムにおいて、各装置によるSTUNメッセージの授受の様子を説明するアローチャートである。
【図32】STUNメッセージを授受するためのUDPパケットの構成例を示す模式図である。
【図33】STUNメッセージを授受するためのUDPパケットの、他の構成例を示す模式図である。
【図34】STUNメッセージを授受するためのUDPパケットの、さらに他の構成例を示す模式図である。
【図35】UDPパケットのトランザクションIDの構成例を示す模式図である。
【図36】UDPパケットのトランザクションIDの、他の構成例を示す模式図である。
【図37】図1のローカル通信装置による開通要求パケットの授受の様子の例を示す図である。
【図38】図1のローカル通信装置による開通要求パケットの授受の様子の、他の例を示す図である。
【図39】図1のローカル通信装置による制御処理について説明するフローチャートである。
【図40】図1のローカル通信装置による第2通信開始要求処理の詳細について説明するフローチャートである。
【図41】図1のローカル通信装置による開通要求パケットの授受の様子の例を示す図である。
【図42】図1のローカル通信装置による開通要求パケットの授受の様子の、他の例を示す図である。
【図43】図1のローカル通信装置による制御処理の、他の例について説明するフローチャートである。
【図44】図1のローカル通信装置による第3通信開始要求処理の詳細について説明するフローチャートである。
【図45】図1のローカル通信装置による第4通信開始要求処理の詳細について説明するフローチャートである。
【図46】図1のローカル通信装置による開通要求パケットの授受の様子の例を示す図である。
【図47】図1のローカル通信装置による開通要求パケットの授受の様子の、他の例を示す図である。
【図48】図1のローカル通信装置による制御処理の、さらに他の例について説明するフローチャートである。
【符号の説明】
10 プライベートネットワーク, 11 ローカル通信装置, 12 中継装置, 21 ネットワーク, 30 プライベートネットワーク, 31 ローカル通信装置, 32 中継装置, 41 ユーザ用サービス提供装置, 51 装置用サービス提供装置, 64 認証処理部, 65 通信情報取得処理部, 66 ローカル間通信制御部, 67 ユーザ認証用インタフェース提供処理部, 68 ユーザ特定用インタフェース提供処理部, 104 アドレス変換処理部, 154 認証処理部, 155 ユーザ登録情報管理処理部, 176 ユーザ認証情報データベース, 177 ユーザ登録情報データベース, 204 アドレスポート情報提供処理部, 281 サービス要求パケット, 310 ユーザ登録情報, 321 サービス提供パケット, 370 UDPパケット
Claims (19)
- 第1のネットワークに接続されるとともに、アドレスを変換する第1のアドレス変換装置を介して第2のネットワークに接続される第1の情報処理装置と、第3のネットワークに接続されるとともに、アドレスを変換する第2のアドレス変換装置を介して前記第2のネットワークに接続される第2の情報処理装置と、前記第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第3の情報処理装置と、前記第2のネットワークに接続され、前記第1の情報処理装置および前記第2の情報処理装置の前記第2のネットワーク上のアドレスを管理する第4の情報処理装置とを備えるネットワークシステムにおいて、
前記第1の情報処理装置は、前記第3の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置を介して、前記第1の情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給し、
前記第3の情報処理装置は、前記第1のパケットと前記第2のパケットを取得し、前記第1のパケットと前記第2のパケットに含まれる、前記第1の情報処理装置に対応する前記第2のネットワーク上の、第3のアドレスと第4のアドレスを用いて、第3のパケットと第4のパケットを生成し、生成した前記第3のパケットと前記第4のパケットを前記第1の情報処理装置に供給し、
前記第1の情報処理装置は、前記第3のパケットと前記第4のパケットを取得し、前記第3のパケットと前記第4のパケットに含まれる前記第3のアドレスと前記第4のアドレスを用いて、前記第2の情報処理装置にアクセスする際の、前記第1の情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測し、予測した前記第5のアドレスを前記第4の情報処理装置に供給し、
前記第4の情報処理装置は、前記第5のアドレスを前記第1の情報処理装置のユーザIDに関連付けて記憶し、
前記第2の情報処理装置は、前記第3の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第2のアドレス変換装置を介して、前記第2の情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第5のパケットと第6のパケットを供給し、
前記第3の情報処理装置は、前記第5のパケットと前記第6のパケットを取得し、前記第5のパケットと前記第6のパケットに含まれる、前記第2の情報処理装置に対応する前記第2のネットワーク上の、第6のアドレスと第7のアドレスを用いて、第7のパケットと第8のパケットを生成し、生成した前記第7のパケットと前記第8のパケットを前記第2の情報処理装置に供給し、
前記第2の情報処理装置は、前記第7のパケットと前記第8のパケットを取得し、前記第7のパケットと前記第8のパケットに含まれる前記第6のアドレスと前記第7のアドレスを用いて、前記第1の情報処理装置にアクセスする際の、前記第2の情報処理装置に対応する前記第2のネットワーク上のアドレスである第8のアドレスを予測し、予測した前記第8のアドレスを前記第4の情報処理装置に供給し、
前記第4の情報処理装置は、前記第8のアドレスを前記第2の情報処理装置のユーザIDに関連付けて記憶し、
前記第1の情報処理装置は、前記第4の情報処理装置に、通信相手である前記第2の情報処理装置のユーザに対応するアドレスを要求し、
前記第4の情報処理装置は、前記要求に基づいて、前記第8のアドレスを前記第1の情報処理装置に供給し、
前記第1の情報処理装置は、前記第8のアドレスを取得し、前記第8のアドレスに基づいて、前記第2の情報処理装置にアクセスし、
前記第2の情報処理装置は、前記第4の情報処理装置に、通信相手である前記第1の情報処理装置のユーザに対応するアドレスを要求し、
前記第4の情報処理装置は、前記要求に基づいて、前記第5のアドレスを前記第2の情報処理装置に供給し、
前記第2の情報処理装置は、前記第5のアドレスを取得し、前記第5のアドレスに基づいて、前記第1の情報処理装置にアクセスする
ことを特徴とするネットワークシステム。 - 前記第3の情報処理装置は、前記第2のネットワークに接続され、前記第1のアドレスを有する第5の情報処理装置、並びに、前記第2のネットワークに接続され、前記第2のアドレスを有する第6の情報処理装置からなり、
前記第5の情報処理装置は、前記第1のパケットを取得し、前記第1のパケットに含まれる前記第3のアドレスを用いて、前記第3のパケットを生成し、前記第1の情報処理装置に供給し、前記第5のパケットを取得し、前記第5のパケットに含まれる前記第6のアドレスを用いて、前記第7のパケットを生成し、前記第2の情報処理装置に供給し、
前記第6の情報処理装置は、前記第2のパケットを取得し、前記第2のパケットに含まれる前記第4のアドレスを用いて、前記第4のパケットを生成し、前記第1の情報処理装置に供給し、前記第6のパケットを取得し、前記第6のパケットに含まれる前記第7のアドレスを用いて、前記第8のパケットを生成し、前記第2の情報処理装置に供給する
ことを特徴とするネットワークシステム。 - 第1のネットワークに接続されるとともに、アドレスを変換する第1のアドレス変換装置を介して第2のネットワークに接続される第1の情報処理装置と、第3のネットワークに接続されるとともに、アドレスを変換する第2のアドレス変換装置を介して前記第2のネットワークに接続される第2の情報処理装置と、前記第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第3の情報処理装置と、前記第2のネットワークに接続され、前記第1の情報処理装置および前記第2の情報処理装置の前記第2のネットワーク上のアドレスを管理する第4の情報処理装置とを備えるネットワークシステムの通信方法において、
前記第1の情報処理装置は、前記第3の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置を介して、前記第1の情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給し、
前記第3の情報処理装置は、前記第1のパケットと前記第2のパケットを取得し、前記第1のパケットと前記第2のパケットに含まれる、前記第1の情報処理装置に対応する前記第2のネットワーク上の、第3のアドレスと第4のアドレスを用いて、第3のパケットと第4のパケットを生成し、生成した前記第3のパケットと前記第4のパケットを前記第1の情報処理装置に供給し、
前記第1の情報処理装置は、前記第3のパケットと前記第4のパケットを取得し、前記第3のパケットと前記第4のパケットに含まれる前記第3のアドレスと前記第4のアドレスを用いて、前記第2の情報処理装置にアクセスする際の、前記第1の情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測し、予測した前記第5のアドレスを前記第4の情報処理装置に供給し、
前記第4の情報処理装置は、前記第5のアドレスを前記第1の情報処理装置のユーザIDに関連付けて記憶し、
前記第2の情報処理装置は、前記第3の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第2のアドレス変換装置を介して、前記第2の情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第5のパケットと第6のパケットを供給し、
前記第3の情報処理装置は、前記第5のパケットと前記第6のパケットを取得し、前記第5のパケットと前記第6のパケットに含まれる、前記第2の情報処理装置に対応する前記第2のネットワーク上の、第6のアドレスと第7のアドレスを用いて、第7のパケットと第8のパケットを生成し、生成した前記第7のパケットと前記第8のパケットを前記第2の情報処理装置に供給し、
前記第2の情報処理装置は、前記第7のパケットと前記第8のパケットを取得し、前記第7のパケットと前記第8のパケットに含まれる前記第6のアドレスと前記第7のアドレスを用いて、前記第1の情報処理装置にアクセスする際の、前記第2の情報処理装置に対応する前記第2のネットワーク上のアドレスである第8のアドレスを予測し、予測した前記第8のアドレスを前記第4の情報処理装置に供給し、
前記第4の情報処理装置は、前記第8のアドレスを前記第2の情報処理装置のユーザIDに関連付けて記憶し、
前記第1の情報処理装置は、前記第4の情報処理装置に、通信相手である前記第2の情報処理装置のユーザに対応するアドレスを要求し、
前記第4の情報処理装置は、前記要求に基づいて、前記第8のアドレスを前記第1の情報処理装置に供給し、
前記第1の情報処理装置は、前記第8のアドレスを取得し、前記第8のアドレスに基づいて、前記第2の情報処理装置にアクセスし、
前記第2の情報処理装置は、前記第4の情報処理装置に、通信相手である前記第1の情報処理装置のユーザに対応するアドレスを要求し、
前記第4の情報処理装置は、前記要求に基づいて、前記第5のアドレスを前記第2の情報処理装置に供給し、
前記第2の情報処理装置は、前記第5のアドレスを取得し、前記第5のアドレスに基づいて、前記第1の情報処理装置にアクセスする
ことを特徴とする通信方法。 - 第1のネットワークに接続されるとともに、アドレスを変換する第1のアドレス変換装置を介して第2のネットワークに接続され、第3のネットワークに接続されるとともに、アドレスを変換する第2のアドレス変換装置を介して前記第2のネットワークに接続される第1の他の情報処理装置と通信を行う情報処理装置において、
前記第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置を介して、前記情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給する供給手段と、
前記供給手段により供給された前記第1のパケットと前記第2のパケットに基づいて前記第2の他の情報処理装置より供給された、前記情報処理装置の前記第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケットを取得する第1の取得手段と、
前記第1の取得手段により取得された前記第3のパケットに含まれる前記第3のアドレス、および、前記第4のパケットに含まれる前記第4のアドレスを用いて、前記第1の他の情報処理装置にアクセスする際の、前記情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測する予測手段と
を備えることを特徴とする情報処理装置。 - 前記供給手段は、前記第2のパケットを前記第1のパケットに続けて供給する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記第2の他の情報処理装置は、前記第2のネットワークに接続され、前記第1のアドレスを有する第3の他の情報処理装置と、前記第2のネットワークに接続され、前記第2のアドレスを有する第4の他の情報処理装置からなり、
前記供給手段は、前記第3の他の情報処理装置に前記第1のパケットを供給し、前記第4の他の情報処理装置に前記第2のパケットを供給し、
前記第1の取得手段は、前記第3の他の情報処理装置より供給された前記第3のパケット、および前記第4の他の情報処理装置より供給された前記第4のパケットを取得する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記第1乃至第4のアドレスは、IPアドレスおよびポート番号を含む
ことを特徴とする請求項4に記載の情報処理装置。 - 前記予測手段は、前記第4のアドレスと前記第3のアドレスの差分値を算出し、算出された前記差分値を前記第4のアドレスに加算することにより、前記第5のアドレスを予測する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記第2のネットワークに接続され、前記情報処理装置および前記第1の他の情報処理装置の前記第2のネットワーク上のアドレスを管理する第3の他の情報処理装置に、前記予測手段により予測された前記第5のアドレスを供給し、前記第5のアドレスの登録を要求する第1の要求手段と、
前記第1の他の情報処理装置により予測され、前記第3の他の情報処理装置に登録されている、前記第1の他の情報処理装置の前記第2のネットワーク上のアドレスである第6のアドレスを要求する第2の要求手段と、
前記第2の要求手段に基づいて前記第3の他の情報処理装置より供給された前記第6のアドレスを取得する第3の取得手段と、
前記第3の取得手段により取得された前記第6のアドレスに基づいて設定された前記第1の他の情報処理装置の前記第2のネットワーク上のアドレスに、通信の開通を要求する第3の要求手段と
をさらに備えることを特徴とする請求項4に記載の情報処理装置。 - 前記第3の要求手段は、前記第1の他の情報処理装置との通信の開通を要求するための第5のパケットを、前記情報処理装置の前記第1のネットワーク上の複数のアドレスから、それぞれ、前記第2のアドレス変換装置の、前記第5のアドレスから連続する複数のアドレスに対して供給して、前記通信の開通を要求する
ことを特徴とする請求項9に記載の情報処理装置。 - 前記第3の要求手段は、前記第1の他の情報処理装置との通信の開通を要求するための第5のパケットを、前記情報処理装置の前記第1のネットワーク上の複数のアドレスから、それぞれ、前記第2のアドレス変換装置の、前記第5のアドレスから1つおきに連続する複数のアドレスに対して供給して、前記通信の開通を要求する
ことを特徴とする請求項9に記載の情報処理装置。 - 前記第3の要求手段は、前記情報処理装置の前記第1のネットワーク上の複数のアドレスから、それぞれ、前記第2のアドレス変換装置の前記第2のネットワーク上の、連続する複数のアドレスからなる複数のアドレス群であり、各アドレス群の間に1つのアドレスが存在する、前記第5のアドレスを最初のアドレス群の先頭アドレスとする複数の前記アドレス群の、互いに異なる前記アドレス群の各アドレスに対して、前記第1の他の情報処理装置との通信の開通を要求するための第5のパケットを供給して、前記通信の開通を要求することを特徴とする請求項9に記載の情報処理装置。
- 前記第3の要求手段は、前記情報処理装置の前記第1のネットワーク上の複数のアドレスから、それぞれ、前記第2のアドレス変換装置の前記第2のネットワーク上の、連続する複数のアドレスからなる複数のアドレス群であり、前記第5のアドレスを最初のアドレス群の先頭アドレスとする複数の前記アドレス群の、互いに異なる前記アドレス群の各アドレスに対して、前記第1の他の情報処理装置との通信の開通を要求するための第5のパケットを供給して、前記通信の開通を要求する
ことを特徴とする請求項9に記載の情報処理装置。 - 前記第1の他の情報処理装置との通信を制御するマスタであるか、またはスレーブであるかを判定するマスタスレーブ判定手段をさらに備え、
前記第3の要求手段は、前記マスタスレーブ判定手段による判定結果に基づいて選択したアルゴリズムに基づいて、前記通信の開通を要求する
ことを特徴とする請求項9に記載の情報処理装置。 - 第1のネットワークに接続されるとともに、アドレスを変換する第1のアドレス変換装置を介して第2のネットワークに接続され、第3のネットワークに接続されるとともに、アドレスを変換する第2のアドレス変換装置を介して前記第2のネットワークに接続される第1の他の情報処理装置と通信を行う情報処理装置の情報処理方法において、
前記第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置を介して、前記情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給する供給ステップと、
前記供給ステップの処理により供給された前記第1のパケットと前記第2のパケットに基づいて前記第2の他の情報処理装置より供給された、前記情報処理装置の前記第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケットを取得する第1の取得ステップと、
前記第1の取得ステップの処理により取得された前記第3のパケットに含まれる前記第3のアドレス、および、前記第4のパケットに含まれる前記第4のアドレスを用いて、前記第1の他の情報処理装置にアクセスする際の、前記情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測する予測ステップと
を含むことを特徴とする情報処理方法。 - 第1のネットワークに接続されるとともに、アドレスを変換する第1のアドレス変換装置を介して第2のネットワークに接続され、第3のネットワークに接続されるとともに、アドレスを変換する第2のアドレス変換装置を介して前記第2のネットワークに接続される第1の他の情報処理装置と通信を行う情報処理装置を制御するコンピュータが実行可能なプログラムであって、前記第2のネットワークに接続され、第1のアドレスと第2のアドレスを有する第2の他の情報処理装置の前記第1のアドレスと前記第2のアドレスに、前記第1のアドレス変換装置を介して、前記情報処理装置に対応する前記第2のネットワーク上のアドレスを要求するための、第1のパケットと第2のパケットを供給する供給ステップと、
前記供給ステップの処理により供給された前記第1のパケットと前記第2のパケットに基づいて前記第2の他の情報処理装置より供給された、前記情報処理装置の前記第2のネットワーク上のアドレスである第3のアドレスと第4のアドレスを含む第3のパケットと第4のパケットを取得する第1の取得ステップと、
前記第1の取得ステップの処理により取得された前記第3のパケットに含まれる前記第3のアドレス、および、前記第4のパケットに含まれる前記第4のアドレスを用いて、前記第1の他の情報処理装置にアクセスする際の、前記情報処理装置に対応する前記第2のネットワーク上のアドレスである第5のアドレスを予測する予測ステップと
をコンピュータに実行させることを特徴とするプログラム。 - ネットワークに接続され、アドレスを変換する第1のアドレス変換装置を介して前記ネットワークに接続される第1の他の情報処理装置、並びに、アドレスを変換する第2のアドレス変換装置を介して前記ネットワークに接続される第2の他の情報処理装置と通信を行う情報処理装置であって、
前記第1の他の情報処理装置より供給された、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得手段と、
前記取得手段により取得された前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶手段と、
前記第1の他の情報処理装置の通信相手である前記第2の他の情報処理装置の要求に基づいて、前記記憶手段により記憶されている、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第2の他の情報処理装置に供給する供給手段と
を備えることを特徴とする情報処理装置。 - ネットワークに接続され、アドレスを変換する第1のアドレス変換装置を介して前記ネットワークに接続される第1の他の情報処理装置、並びに、アドレスを変換する第2のアドレス変換装置を介して前記ネットワークに接続される第2の他の情報処理装置と通信を行う情報処理装置の情報処理方法において、
前記第1の他の情報処理装置より供給された、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶ステップと、
前記第1の他の情報処理装置の通信相手である前記第2の他の情報処理装置の要求に基づいて、前記記憶ステップの処理により記憶されている、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第2の他の情報処理装置に供給する供給ステップと
を含むことを特徴とする情報処理方法。 - ネットワークに接続され、アドレスを変換する第1のアドレス変換装置を介して前記ネットワークに接続される第1の他の情報処理装置、並びに、アドレスを変換する第2のアドレス変換装置を介して前記ネットワークに接続される第2の他の情報処理装置と通信を行う情報処理装置を制御するコンピュータが実行可能なプログラムであって、
前記第1の他の情報処理装置より供給された、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を記憶する記憶ステップと、
前記第1の他の情報処理装置の通信相手である前記第2の他の情報処理装置の要求に基づいて、前記記憶ステップの処理により記憶されている、前記第1の他の情報処理装置により予測された、前記第1の他の情報処理装置の前記ネットワーク上のアドレスに関する情報を、前記第2の他の情報処理装置に供給する供給ステップと
をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003092396A JP3741312B2 (ja) | 2003-03-28 | 2003-03-28 | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム |
KR1020047018514A KR20050109897A (ko) | 2003-03-28 | 2004-03-12 | 네트워크 시스템과 통신 방법, 정보 처리 장치와 방법 및프로그램 |
CN2004800003521A CN1698323B (zh) | 2003-03-28 | 2004-03-12 | 网络系统与通信方法、及信息处理装置与方法 |
US10/515,642 US7716368B2 (en) | 2003-03-28 | 2004-03-12 | Network system and communication method, information processing apparatus and method, and program |
EP04720205A EP1610504A4 (en) | 2003-03-28 | 2004-03-12 | NETWORK SYSTEM, COMMUNICATION METHOD, AND DATA PROCESSING DEVICE, METHOD, AND PROGRAM |
PCT/JP2004/003340 WO2004088941A1 (ja) | 2003-03-28 | 2004-03-12 | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003092396A JP3741312B2 (ja) | 2003-03-28 | 2003-03-28 | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004304317A true JP2004304317A (ja) | 2004-10-28 |
JP3741312B2 JP3741312B2 (ja) | 2006-02-01 |
Family
ID=33127318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003092396A Expired - Fee Related JP3741312B2 (ja) | 2003-03-28 | 2003-03-28 | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US7716368B2 (ja) |
EP (1) | EP1610504A4 (ja) |
JP (1) | JP3741312B2 (ja) |
KR (1) | KR20050109897A (ja) |
CN (1) | CN1698323B (ja) |
WO (1) | WO2004088941A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006261895A (ja) * | 2005-03-16 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法 |
US7522618B2 (en) | 2005-03-18 | 2009-04-21 | Panasonic Corporation | Communication apparatus, communication system and communication method |
US7542466B2 (en) | 2003-11-14 | 2009-06-02 | Sony Corporation | System and method of information communication, information processing apparatus and information processing method, program and recording medium |
US7545821B2 (en) | 2005-05-27 | 2009-06-09 | Fujitsu Limited | Network system and communication method |
US7929541B2 (en) | 2003-10-27 | 2011-04-19 | Panasonic Corporation | Communication system, information processing apparatus, server, and communication method |
US8234383B2 (en) | 2003-11-07 | 2012-07-31 | Panasonic Corporation | Bubble packet port identification using detection packets |
US8239541B2 (en) | 2003-11-07 | 2012-08-07 | Panasonic Corporation | Bidirectional connection setup between endpoints behind network address translators (NATs) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533339B2 (en) * | 2006-10-13 | 2013-09-10 | Cisco Technology, Inc. | Discovering security devices located on a call path and extending bindings at those discovered security devices |
JP2008287674A (ja) * | 2007-05-21 | 2008-11-27 | Olympus Corp | 情報処理装置、クライアント装置、情報処理システム及びサービス接続方法 |
EP2396732A4 (en) * | 2009-02-14 | 2014-04-09 | Bvisual S A | METHOD AND SYSTEM FOR VISIOCONFERENCE OR DATA TRANSFER BETWEEN CLIENTS BEHIND DIFFERENT NETWORK ADDRESS TRANSLATORS |
US9924242B2 (en) | 2012-04-20 | 2018-03-20 | Itron Global Sarl | Automatic network topology detection and fraud detection |
US8862702B2 (en) * | 2012-07-18 | 2014-10-14 | Accedian Networks Inc. | Systems and methods of installing and operating devices without explicit network addresses |
JP6115097B2 (ja) * | 2012-11-20 | 2017-04-19 | 株式会社リコー | 情報処理装置、情報処理システム、プログラム及び情報処理方法 |
US11079417B2 (en) | 2014-02-25 | 2021-08-03 | Itron, Inc. | Detection of electric power diversion |
US10571493B2 (en) | 2014-02-25 | 2020-02-25 | Itron, Inc. | Smart grid topology estimator |
US9568522B2 (en) | 2014-10-20 | 2017-02-14 | Itron, Inc. | Electrical phase identification |
US9781231B2 (en) * | 2014-11-19 | 2017-10-03 | Itron, Inc. | Application platform operable on network node |
US9835662B2 (en) | 2014-12-02 | 2017-12-05 | Itron, Inc. | Electrical network topology determination |
US10312681B2 (en) | 2015-05-28 | 2019-06-04 | Itron, Inc. | Automatic network device electrical phase identification |
JP6874386B2 (ja) * | 2017-01-23 | 2021-05-19 | カシオ計算機株式会社 | 通信機器、通信システム及び通信方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0742677A3 (en) * | 1995-05-08 | 1999-09-15 | Fujitsu Limited | Header converting method |
US5751971A (en) * | 1995-07-12 | 1998-05-12 | Cabletron Systems, Inc. | Internet protocol (IP) work group routing |
US6002936A (en) * | 1998-03-09 | 1999-12-14 | Ericsson Inc. | System and method for informing network of terminal-based positioning method capabilities |
US6343320B1 (en) * | 1998-06-09 | 2002-01-29 | Compaq Information Technologies Group, L.P. | Automatic state consolidation for network participating devices |
US6345276B1 (en) * | 1998-09-18 | 2002-02-05 | Microsoft Corporation | Representing base pointers in a shared memory heap |
US7281036B1 (en) * | 1999-04-19 | 2007-10-09 | Cisco Technology, Inc. | Method and apparatus for automatic network address assignment |
JP3708051B2 (ja) * | 1999-08-18 | 2005-10-19 | 富士通株式会社 | データ配信システム |
US6321267B1 (en) * | 1999-11-23 | 2001-11-20 | Escom Corporation | Method and apparatus for filtering junk email |
JP2001345841A (ja) * | 2000-05-31 | 2001-12-14 | Sony Corp | 通信ネットワークシステム、データ通信方法、および通信中継装置、並びにプログラム提供媒体 |
US20020032798A1 (en) * | 2000-09-08 | 2002-03-14 | Wei Xu | Systems and methods for packet sequencing |
US20020032797A1 (en) * | 2000-09-08 | 2002-03-14 | Wei Xu | Systems and methods for service addressing |
CN1129272C (zh) * | 2000-12-15 | 2003-11-26 | 华为技术有限公司 | 以太网接入网中的虚拟局域网接入方法 |
WO2002082763A2 (en) * | 2001-02-20 | 2002-10-17 | Innomedia Pte Ltd. | System and method for establishing channels for a real time media streaming communication |
JP2002290472A (ja) | 2001-03-23 | 2002-10-04 | E-Withyou Inc | 通信接続先管理システム |
JP3736451B2 (ja) * | 2001-12-18 | 2006-01-18 | ブラザー工業株式会社 | アドレス推定システム、ネットワークデバイス、アドレス推定方法およびアドレス推定プログラム |
US7243141B2 (en) * | 2002-05-13 | 2007-07-10 | Sony Computer Entertainment America, Inc. | Network configuration evaluation |
CN101039335A (zh) | 2002-05-23 | 2007-09-19 | 松下电器产业株式会社 | 信息处理系统 |
JP2004180003A (ja) | 2002-11-27 | 2004-06-24 | Kitt Peak:Kk | 通信ネットワークシステムおよび通信の接続方法 |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
JP3806094B2 (ja) * | 2003-02-25 | 2006-08-09 | 株式会社東芝 | ルータ装置、ネットワークアドレス管理システム、ネットワークアドレス管理方法及びネットワークアドレス管理プログラム |
-
2003
- 2003-03-28 JP JP2003092396A patent/JP3741312B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-12 CN CN2004800003521A patent/CN1698323B/zh not_active Expired - Fee Related
- 2004-03-12 KR KR1020047018514A patent/KR20050109897A/ko not_active Application Discontinuation
- 2004-03-12 US US10/515,642 patent/US7716368B2/en not_active Expired - Fee Related
- 2004-03-12 WO PCT/JP2004/003340 patent/WO2004088941A1/ja active Application Filing
- 2004-03-12 EP EP04720205A patent/EP1610504A4/en not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7929541B2 (en) | 2003-10-27 | 2011-04-19 | Panasonic Corporation | Communication system, information processing apparatus, server, and communication method |
US8234383B2 (en) | 2003-11-07 | 2012-07-31 | Panasonic Corporation | Bubble packet port identification using detection packets |
US8239541B2 (en) | 2003-11-07 | 2012-08-07 | Panasonic Corporation | Bidirectional connection setup between endpoints behind network address translators (NATs) |
US7542466B2 (en) | 2003-11-14 | 2009-06-02 | Sony Corporation | System and method of information communication, information processing apparatus and information processing method, program and recording medium |
JP2006261895A (ja) * | 2005-03-16 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法 |
JP4665568B2 (ja) * | 2005-03-16 | 2011-04-06 | パナソニック株式会社 | 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法 |
US7522618B2 (en) | 2005-03-18 | 2009-04-21 | Panasonic Corporation | Communication apparatus, communication system and communication method |
US7545821B2 (en) | 2005-05-27 | 2009-06-09 | Fujitsu Limited | Network system and communication method |
Also Published As
Publication number | Publication date |
---|---|
EP1610504A1 (en) | 2005-12-28 |
WO2004088941A1 (ja) | 2004-10-14 |
KR20050109897A (ko) | 2005-11-22 |
US20050177646A1 (en) | 2005-08-11 |
CN1698323A (zh) | 2005-11-16 |
US7716368B2 (en) | 2010-05-11 |
JP3741312B2 (ja) | 2006-02-01 |
EP1610504A4 (en) | 2012-08-08 |
CN1698323B (zh) | 2010-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3741312B2 (ja) | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム | |
JP3854584B2 (ja) | 相異なるプライベートネットワークに存在するネットワーク機器間の直接接続を提供するネットワーク接続装置及びその方法 | |
JP3903014B2 (ja) | インターネットプロトコルアドレス変換装置及びこれを用いたホームネットワークシステム並びにその通信方法 | |
US7443880B2 (en) | Arrangement for reaching IPv4 public network nodes by a node in a IPv4 private network via an IPv6 access network | |
US8582599B2 (en) | Translator for IP networks, network system using the translator, and IP network coupling method therefor | |
JP4450712B2 (ja) | ネットワークシステム及びゲートウエイ | |
US8274986B2 (en) | Packet communication method using node identifier and locator | |
US7411967B2 (en) | Private network gateways interconnecting private networks via an access network | |
US6038233A (en) | Translator for IP networks, network system using the translator, and IP network coupling method therefor | |
US7657642B2 (en) | IP network node and middleware for establishing connectivity to both the IPv4 and IPv6 networks | |
KR100451552B1 (ko) | 인터넷 프로토콜 주소 변환장치 및 이를 이용한 통신 방법 | |
US20060227792A1 (en) | Access network clusterhead for providing local mobility management of a roaming IPv4 node | |
JP2008283670A (ja) | 機器およびサービスのアクセス、接続性および相互運用性 | |
US20030051052A1 (en) | Addressing scheme for wireless mobile clients | |
JP2003258838A (ja) | 通信装置およびネットワークシステム | |
JP4186676B2 (ja) | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム | |
JP4628938B2 (ja) | データ通信システム、端末装置およびvpn設定更新方法 | |
JP2007074172A (ja) | プライベートネットワーク間接続システム及びアドレス変換装置 | |
JP2005539428A (ja) | 第一コンピュータ・ネットワークから第二コンピュータ・ネットワークへの通信セッションの始動 | |
KR100772537B1 (ko) | IPv4 네트워크 환경에서 IPv6 패킷이 IPv4로터널링되도록 하는 IPv6 전환 장치 및 방법 | |
JPH10154994A (ja) | アドレス変換システム | |
KR100652958B1 (ko) | 홈 게이트웨이의 네트워크 주소변환 방법의 개선을 통한 데이터 전송방법 및 그 시스템 | |
KR100413976B1 (ko) | 무선통신망에서 사설 아이피 주소 사용을 통한 이동아이피 서비스 방법 | |
JP5054666B2 (ja) | Vpn接続装置、パケット制御方法、及びプログラム | |
JP4191180B2 (ja) | 通信支援装置、システム、通信方法及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050805 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050921 |
|
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: 20051021 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051103 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081118 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111118 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121118 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131118 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |