JP4304593B2 - 情報処理システム、情報処理装置および方法、並びにプログラム - Google Patents

情報処理システム、情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP4304593B2
JP4304593B2 JP2003337346A JP2003337346A JP4304593B2 JP 4304593 B2 JP4304593 B2 JP 4304593B2 JP 2003337346 A JP2003337346 A JP 2003337346A JP 2003337346 A JP2003337346 A JP 2003337346A JP 4304593 B2 JP4304593 B2 JP 4304593B2
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
network
address
client
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.)
Expired - Fee Related
Application number
JP2003337346A
Other languages
English (en)
Other versions
JP2004173240A (ja
Inventor
誠之 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003337346A priority Critical patent/JP4304593B2/ja
Priority to US10/692,797 priority patent/US7627689B2/en
Publication of JP2004173240A publication Critical patent/JP2004173240A/ja
Application granted granted Critical
Publication of JP4304593B2 publication Critical patent/JP4304593B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2546Arrangements for avoiding unnecessary translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

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

Description

本発明は、情報処理システム、情報処理装置および方法、並びにプログラムに関し、特に、NATを介してインターネットに接続されている場合においても、IMサーバを利用して、他の装置と通信することができるようにした情報処理システム、情報処理装置および方法、並びにプログラムに関する。
図1は、従来の情報処理システムの構成例を表している。この構成例においては、インターネット1に、クライアント11とクライアント12が接続されているとともに、サーバ13が接続されている。通常、クライアント11とクライアント12は、サーバ13のインターネット1上のグローバルアドレスとしてのIPアドレスを予め知っているため、サーバ13と通信することが可能である。従って、クライアント11やクライアント12は、サーバ13から各種の情報の提供を受けることができる。
しかしながら、一般ユーザが利用するクライアント11とクライアント12は、それぞれ相手側のインターネット1上のグローバルアドレス(IPアドレス)を知らないので、例えば、クライアント12がクライアント11に、インターネット1を介して直接接続することができない。
そこで、例えば、図2に示されるように、インスタントメッセージ機能を有するIM(インスタントメッセージング)サーバ21が登場してきた。クライアント11とクライアント12は、それぞれお互いをIMサーバ21のバディリスト上に予め登録しておく。IMサーバ21は、予め登録されているクライアントがインターネット1を介して接続された場合(ログオンしてきた場合)、バディリスト上に登録されている他のクライアントに対して、ログオンしてきたクライアントをその都度通知する。このようにして、IMサーバ21に接続している各クライアントは、その時点において、ログオンしている他のクライアントを知ることができる。
例えば、クライアント11とクライアント12がIMサーバ21にログオンしている場合において、クライアント12がクライアント11に、IMサーバ21を介してクライアント12の登録されているアドレス(インターネット1上のグローバルアドレス(IPアドレス))を通知する。また、クライアント11も登録されているグローバルアドレス(IPアドレス)をIMサーバ21を介してクライアント12に通知する。このように、クライアント11とクライアント12は、それぞれIMサーバ21を介して、お互いのグローバルアドレスとしてのIPアドレスを知ることができるので、以後、IMサーバ21を介さずに、ピアツーピアで、インターネット1を介してセッションを張り、相互に通信することができる。
各ユーザ(クライアント)のグローバルアドレスとしてのIPアドレスは、個人情報に属し、必要以上に他のユーザに知られたくない情報であるが、IMサーバ21を介して通信を行う場合においては、各ユーザが、自分自身でバディリスト上に登録を認めた他のユーザに対してのみ、グローバルアドレスとしてのIPアドレスの通知が行われるため、プライバシーを確保することが可能となる。そこで、IMサーバの利用が増加しつつある。このようなインスタントメッセージング機能に関しては、雑誌、本などにも紹介されている(例えば、非特許文献1)。
神田陽治著、「わかる!インスタントメッセージング」、第5頁乃至第18頁、平成14年1月25日発行、発行者(株)オーム社
クライアントが、例えば、図3に示されるように、NAT(Network Address Translation)を介して、インターネット1に接続されている場合、他のクライアントと双方向の通信を行うには、グローバスアドレスだけでなく、ローカルアドレスも必要になる。
例えば、図3に示されるシステムにおいては、クライアント11,51,52は、LAN(Local Area Network)31において、相互に接続されている。そして、このLAN31に接続されているクライアント11,51,52は、いずれもNAT装置41を介してインターネット1に接続されている。このNAT装置41は、インターネット1側のグローバルアドレスとしてのIPアドレスと、ローカルアドレスとしてのLAN31のアドレス(LAN31内においてインターネットプロトコルを用いて通信が行われる場合等、LAN31内においてのみ有効なIPアドレスが使用されることもある)との変換機能を有するものである。
従って、例えば、クライアント11がIMサーバ21に接続する場合、クライアント11は、自分自身のローカルアドレスをソースアドレスとし、IMサーバ21のIPアドレスをデスティネーションアドレスとしてパケットを送信する。NAT装置41は、このパケットのソースアドレスを、自分自身のグローバルアドレスとしてのIPアドレスとクライアント11が接続されているポート番号の組で置き換え、インターネット1を介してIMサーバ21に送信する。
IMサーバ21は、クライアント11にパケットを送信するとき、そのソースアドレスとして、自分自身のグローバルアドレスとしてのIPアドレスを記述し、デスティネーションアドレスに、NAT装置41から送信されてきたパケットのソースアドレスに記述されていたIPアドレス、すなわちNAT装置41のグローバルアドレスとしてのIPアドレスを記述する。NAT装置41は、インターネット1を介してIMサーバ21からのパケットを受信すると、そのデスティネーションアドレスに記述されているグローバルアドレスとしてのIPアドレスに基づいて、そのパケットが自分自身宛のパケットであることを確認し、取り込むと、さらに、そのデスティネーションアドレスに記述されているポート番号に接続されているクライアント11にそのパケットを転送する。
このようにして、LAN31内の各クライアント11,51,52は、それぞれ独自のIPアドレスを有していないが、NAT装置41が有する1つのグローバルアドレスとしてのIPアドレスを共通に利用することで、インターネット1を介して他の装置と通信することが可能となる。
IMサーバ21は、各クライアントを登録する場合、そのグローバルアドレスとしてのIPアドレスを登録する。従って、インターネット1に直接(NAT装置を介さずに)接続されているクライアント12を登録する場合、クライアント12のグローバルアドレスとしてのIPアドレスが登録されるが、NAT装置41を介してインターネット1に接続されているクライアント11を登録する場合、クライアント11は、グローバルアドレスとしてのIPアドレスを直接保持しているわけではないので、NAT装置41のグローバルアドレスとしてのIPアドレスと、それに付属するポート番号がIMサーバ21に登録されることになる。
従って、クライアント11は、クライアント12とピアツーピアで通信する場合、IMサーバ21からクライアント12のグローバルアドレスとしてのIPアドレスを通知してもらい、クライアント12はクライアント11(NAT装置41)のグローバルアドレスとしてのIPアドレスと、それに付属するポート番号を通知してもらえば、両者はそれらのグローバルアドレスを用いてピアツーピアの通信が可能になる。
しかしながら、図4に示されるように、クライアント12がクライアント11と同一のLAN31内に接続されていた場合、クライアント11とクライアント12は、いずれも同一のNAT装置41を介してインターネット1に接続されていることになる。この場合、クライアント12とクライアント11がピアツーピアで通信するのに必要なアドレスは、グローバルアドレスとしてのIPアドレスではなく、LAN32内のローカルアドレスということになる。
従って、NAT装置41の下に接続されているクライアント11のユーザは、ピアツーピアの通信先のクライアント12が同一のNAT装置41の下に接続されている場合と接続されていない場合とで、ローカルアドレスとグローバルアドレスを使い分けなければならず、操作性が悪い課題があった。
本発明は、このような状況に鑑みてなされたものであり、NAT装置を介して接続されているクライアントが他のクライアントとピアツーピアで容易に通信することができるようにするものである。
本発明の情報処理システムは、第1の情報処理装置は、第2の情報処理装置の第2のネットワーク上でのアドレスを第3の情報処理装置に対して要求し、第3の情報処理装置は、第2の情報処理装置の第2のネットワーク上でのアドレスを第1の情報処理装置に通知し、第1の情報処理装置は、第3の情報処理装置からの第2の情報処理装置の第2のネットワーク上でのアドレスに基づいて、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されているか否かを判断し、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されていると判断された場合、第1のネットワーク上のアドレスに基づいて第2の情報処理装置と通信し、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されていないと判断された場合、第2のネットワーク上のアドレスに基づいて第2の情報処理装置と通信することを特徴とする。
本発明の第2の情報処理システムは、第1の情報処理装置は第2の情報処理装置と第1の情報処理装置とが同一のネットワーク上に接続されているか否かの判定を要求し、第3の情報処理装置は、第2の情報処理装置と第1の情報処理装置とが同一のネットワーク上に接続されているか否かを調査し、調査の結果を、第1の情報処理装置に通知し、第1の情報処理装置は、第3の情報処理装置の調査結果の通知に基づいて、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されているか否かを判断し、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されていると判断された場合、第1のネットワーク上のアドレスに基づいて第2の情報処理装置と通信し、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されていないと判断された場合、第2のネットワーク上のアドレスに基づいて第2の情報処理装置と通信することを特徴とする
前記第3の情報処理装置は、第1の情報処理装置と第2の情報処理装置の第2のネットワーク上のアドレスに基づいて、第1の情報処理装置と第2の情報処理装置とが同一のネットワークに接続されているか否かを調査するようにすることができる。
前記第3の情報処理装置は、第2の情報処理装置が第1の情報処理装置と同一のネットワークに接続されているか否かを調査するために、同一のアドレス変換装置に接続されているか否かを調査するようにすることができる。
前記第3の情報処理装置は、第2の情報処理装置が第1の情報処理装置と同一のアドレス変換装置に接続されているか否かを調査するために、第1の情報処理装置と第2の情報処理装置の第2のネットワーク上でのアドレスが同一であるか否かを調査するようにすることができる。
本発明の第1の情報処理方法は、第1の情報処理装置は、第2の情報処理装置の第2のネットワーク上でのアドレスを第3の情報処理装置に対して要求し、第3の情報処理装置は、第2の情報処理装置の第2のネットワーク上でのアドレスを第1の情報処理装置に通知し、第1の情報処理装置は、第3の情報処理装置からの第2の情報処理装置の第2のネットワーク上でのアドレスに基づいて、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されているか否かを判断し、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されていると判断された場合、第1のネットワーク上のアドレスに基づいて第2の情報処理装置と通信し、第2の情報処理装置が第1の情報処理装置と同一のネットワーク上に接続されていないと判断された場合、第2のネットワーク上のアドレスに基づいて第2の情報処理装置と通信することを特徴とする。
本発明の第1の情報処理装置は、サーバに対して、他の情報処理装置の第2のネットワーク上でのアドレスを要求する要求手段と、サーバから他の情報処理装置の第2のネットワーク上でのアドレスを受信する受信手段と、サーバからの他の情報処理装置の第2のネットワーク上でのアドレスに基づいて、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されているか否かを判断し、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていると判断された場合、第1のネットワーク上のアドレスに基づいて他の情報処理装置と通信し、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていないと判断された場合、第2のネットワーク上のアドレスに基づいて他の情報処理装置と通信する通信手段とを備えることを特徴とする。
本発明の第2の情報処理装置は、サーバに対して、他の情報処理装置と情報処理装置が同一のネットワーク上に接続されているか否かの判定を要求する要求手段とサーバから第2の情報処理装置と第1の情報処理装置とが同一のネットワーク上に接続されているか否かの判定結果を受信する受信手段と、サーバの判定結果の通知に基づいて、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されているか否かを判断し、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていると判断された場合、第1のネットワーク上のアドレスに基づいて他の情報処理装置と通信し、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていないと判断された場合、第2のネットワーク上のアドレスに基づいて他の情報処理装置と通信する通信手段とを備えることを特徴とする。
前記要求手段は、他の情報処理装置と情報処理装置が同一のネットワーク上に接続されているか否かの判定として、同一のアドレス変換装置に接続されているか否かの判定を要求するようにすることができる。
前記要求手段は、同一のアドレス変換装置に接続されているか否かの判定として、同一のアドレスを有するか否かの判定を要求するようにすることができる。
前記第1のネットワークは、LANであり、第2のネットワークは、インターネットであり、第1のネットワーク上のアドレスは、ローカルアドレスであり、第2のネットワーク上のアドレスは、グローバルアドレスでとするようにすることができる。
前記要求手段は、他の情報処理装置が同一のネットワークに接続されていないと判定された場合、サーバに情報処理装置の第2のネットワーク上のアドレスの通知をさらに要求するようにすることができる。
他の情報処理装置が同一のネットワークに接続されていないと判定された場合、通信手段は、情報処理装置の第2のネットワーク上のアドレスを他の情報処理装置にサーバを介して送信するとともに、他の情報処理装置の第2のネットワーク上のアドレスを、サーバを介して受信するようにすることができる。
他の情報処理装置が同一のネットワークに接続されていると判定された場合、通信手段は、情報処理装置の第1のネットワーク上のアドレスを他の情報処理装置にサーバを介して送信するとともに、他の情報処理装置の第1のネットワーク上のアドレスを、サーバを介して受信するようにすることができる。
本発明の第2の情報処理方法は、サーバに対して、他の情報処理装置の第2のネットワーク上でのアドレスを要求する要求ステップと、サーバから他の情報処理装置の第2のネットワーク上でのアドレスの通知を受信する受信ステップと、サーバからの他の情報処理装置の第2のネットワーク上でのアドレスに基づいて、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されているか否かを判断し、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていると判断された場合、第1のネットワーク上のアドレスに基づいて他の情報処理装置と通信し、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていないと判断された場合、第2のネットワーク上のアドレスに基づいて他の情報処理装置と通信する通信ステップとを含むことを特徴とする。
本発明の第1のプログラムは、サーバに対して、他の情報処理装置の第2のネットワーク上でのアドレスを要求する要求ステップと、サーバから他の情報処理装置の第2のネットワーク上でのアドレスの通知を受信する受信ステップと、サーバからの他の情報処理装置の第2のネットワーク上でのアドレスに基づいて、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されているか否かを判断し、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていると判断された場合、第1のネットワーク上のアドレスに基づいて他の情報処理装置と通信し、他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていないと判断された場合、第2のネットワーク上のアドレスに基づいて他の情報処理装置と通信する通信ステップとをコンピュータに実行させることを特徴とする。
本発明の第3の情報処理装置は、第2の装置が、第1の装置と同一のネットワークに接続されているか否かの判定の要求を、第1の装置から受信する受信手段と、第2の装置が、第1の装置と同一のネットワークに接続されているか否かを調査するために、同一のアドレス変換装置に接続されているか否かを調査する調査手段と、調査手段による調査の結果を第1の装置に通知する通知手段とを備えることを特徴とする。
前記調査手段は、第2の装置が第1の装置と同一のアドレス変換装置に接続されているか否かを調査するために、同一のアドレスを有するか否かを調査するようにすることができる。
前記第1のネットワークは、LANであり、第2のネットワークは、インターネットであり、第1のネットワーク上のアドレスは、ローカルアドレスであり、第2のネットワーク上のアドレスは、グローバルアドレスとするようにすることができる。
前記通知手段は、調査手段による調査の結果を、1ビットのデータとして、第1の装置に通知するようにすることができる。
本発明の第3の情報処理方法は、第2の装置が、第1の装置と同一のネットワークに接続されているか否かの判定の要求を、第1の装置から受信する受信ステップと、第2の装置が、第1の装置と同一のネットワークに接続されているか否かを調査するために、同一のアドレス変換装置に接続されているか否かを調査する調査ステップと、調査ステップの処理による調査の結果を第1の装置に通知する通知ステップとを含むことを特徴とする。
本発明の第2のプログラムは、第2の装置が、第1の装置と同一のネットワークに接続されているか否かの判定の要求を、第1の装置から受信する受信ステップと、第2の装置が、第1の装置と同一のネットワークに接続されているか否かを調査するために、同一のアドレス変換装置に接続されているか否かを調査する調査ステップと、調査ステップの処理による調査の結果を第1の装置に通知する通知ステップとをコンピュータに実行させることを特徴とする。
第1の本発明においては、第3の情報処理装置は、第2の情報処理装置の第2のネットワーク上でのアドレスを第1の情報処理装置に通知する。第1の情報処理装置は、その第2の情報処理装置の第2のネットワーク上でのアドレスに基づいて、第2の情報処理装置が同一のネットワークに接続されているか否かを判定し、同一のネットワークに接続されている場合、第1のネットワーク上のアドレスに基づいて第2の情報処理装置と通信し、第2の情報処理装置が同一のネットワークに接続されていない場合、第2のネットワーク上のアドレスに基づいて第2の情報処理装置と通信する。
第2の本発明においては、サーバに対して、他の情報処理装置が情報処理装置と同一のネットワークに接続されているか否かの判定が要求され、サーバから第2の情報処理装置と第1の情報処理装置とが同一のネットワーク上に接続されているか否かの判定結果を受信し、そのサーバの判定結果に基づいて、他の情報処理装置が同一のネットワークに接続されている場合、第1のネットワーク上のアドレスに基づいて、他の情報処理装置との通信が行われ、他の情報処理装置が同一のネットワークに接続されていない場合、第2のネットワーク上のアドレスに基づいて、他の情報処理装置と通信が行われる。
第3の本発明おいては、第1の他の情報処理装置が第2の他の情報処理装置と同一のネ
ットワークに接続されているか否かの判定の要求が、第1の他の情報処理装置から受信さ
れると、その調査のために、同一のアドレス変換装置に接続されているか否かの調査が行われ、調査結果が第1の他の情報処理に通知される。
第1の本発明によれば、第1の情報処理装置と第2の情報処理装置が直接通信することが可能なシステムを実現することが可能となる。特に、アドレス変換装置を介して第2のネットワークに接続されている第1の情報処理装置が、第2の情報処理の第1のネットワークのアドレスを直接管理することなく、第2の情報処理装置が第1のネットワークと第2のネットワークのいずれに接続されている場合においても、簡単に直接通信することが可能なシステムを実現することができる。
第2の本発明によれば、他の情報処理装置と直接通信することが可能となる。特に、アドレス変換装置を介して第2のネットワークに接続されている場合において、他の情報処理装置が第1のネットワークと第2のネットワークのいずれに接続されている場合においても、簡単に直接通信することが可能となる。他の情報処理装置の第1のネットワーク上のアドレスを直接管理する必要もない。
第3の本発明によれば、第1の他の情報処理装置と第2の他の情報処理装置を、第1のネットワークを介して通信させることが可能となる。特に、第2の他の情報処理装置がアドレス変換装置を介して第2のネットワークに接続されている場合において、第2の他の情報処理装置が、第1のネットワークと第2のネットワークのいずれに接続されている場合においても、第1の情報処理装置に第2の情報処理装置の第1のネットワーク上のアドレスを管理させることなく、簡単に直接通信させることが可能となる。
図5は、本発明を適用した情報処理システムの構成例を表しており、図1乃至図4における場合と対応する部分には、対応する符号を付してある。
図5の状態においては、インターネット1にIMサーバ21が接続されており、クライアント12はNAT装置41の外部に接続されている。これに対してクライアント11は、クライアント51,52とともに、LAN31内に接続されているとともにNAT装置41を介してインターネット1に接続されている。
クライアント12は、NAT装置を介さずに、インターネット1に直接接続されているため、IMサーバ21は、インターネット1から見たクライアント12のポイントBのアドレスを、クライアント12のアドレスとして登録する。このポイントBは、クライアント12のグローバルアドレスとしてのIPアドレスである。
一方、クライアント11は、NAT装置41を介して接続されているため、クライアント11がIMサーバ21に自分自身を登録した場合、IMサーバ21が登録するアドレスは、インターネット1からクライアント11を見た場合におけるアドレスであるポイントAのアドレスである。このポイントAのアドレスは、NAT装置41のグローバルアドレスとしてのIPアドレスである。
なお、本発明においても、接続状態そのものは、従来の場合と同様であるため、クライアント11の通信相手としてのクライアント12が、同じNAT装置の下に接続される場合には、その接続状態は、図4に示されるようになる。
図6は、クライアント11をパーソナルコンピュータとした場合の構成例を表している。図6において、CPU(Central Processing Unit)121は、ROM(Read Only Memory)122に記憶されているプログラム、または記憶部128からRAM(Random Access Memory)123にロードされたプログラムに従って各種の処理を実行する。RAM123にはまた、CPU121が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU121、ROM122、およびRAM123は、バス124を介して相互に接続されている。このバス124にはまた、入出力インタフェース125も接続されている。
入出力インタフェース125には、キーボード、マウスなどよりなる入力部126、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部127、ハードディスクなどより構成される記憶部128、モデムなどより構成される通信部129が接続されている。通信部129は、インターネット1やLAN31を含む各種のネットワークを介しての通信処理を行う。
入出力インタフェース125にはまた、必要に応じてドライブ130が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア131が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部128にインストールされる。
図7は、クライアント12をパーソナルコンピュータとした場合の構成例を表している。その構成は、基本的に図6におけるクライアント11と同様の構成とされている。すなわち、クライアント12も、クライアント11のCPU121乃至リムーバブルメディア131に対応するCPU221乃至リムーバブルメディア231を有している。
図8は、IMサーバ21の構成例を表している。このIMサーバ21も、図6のクライアント11と基本的に同様の構成とされている。すなわち、図8のIMサーバ21は、図6のクライアント11のCPU121乃至レムーバブルメディア131に対応するCPU321乃至リムーバブルメディア331を有している。
次に、NAT装置41の下に接続されているクライアント11が他のクライアントとピアツーピアで通信する場合における処理について、図9のフローチャートを参照して説明する。なお、IMサーバ21には、クライアント11,12,51,52が既に登録されており、クライアント11のバディリストには、クライアント12が登録されており、また、クライアント12のバディリストには、クライアント11が既に登録されているものとする。クライアント11の登録アドレスは、NAT装置41のポイントAのIPアドレスであり、クライアント12の登録アドレスは、ポイントBのIPアドレスである。
ステップS1において、クライアント11のCPU121は、通信部129を制御し、IMサーバ21にアクセスさせる。ステップS2において、CPU121は、これから通信しようとする他のクライアント(いまの場合、クライアント12)の接続に関する情報として、そのアドレスが、自分自身(クライアント11)のアドレスと同一であるか否かの判定を要求する。IMサーバ21のCPU321は、通信部329を介して、クライアント11からの要求を受け付けると、登録されているクライアント12のアドレスを調査して、そのアドレスがクライアント11の登録されているアドレスと同一であるか否かを判定して、その判定結果を通知してくる(後述する図10のステップS24)。
クライアント11のCPU121は、インターネット1を介して、IMサーバ21から送信されてきた判定結果の通知をステップS3において、通信部129を介して受信する。ステップS4において、CPU121は、ステップS3の処理で受信した判定結果に基づいて、クライアント12(クライアント11のバディリストに登録されている他のユーザであって、クライアント11のユーザがこれから通信しようとするユーザのクライアント)が、クライアント11と同一のネットワーク上に接続されているか否か、具体的には、そのIMサーバ21に登録されているアドレスが、クライアント11のIMサーバ21に登録されているアドレスと同一であるか否かを判定する。IMサーバ21からの判定結果は、1ビットのデータとして伝送されてくるので、CPU121は、この判定を、迅速かつ確実に、行うことができる。すなわち、例えば、両者のアドレスが同一である場合には、そのビットは論理1とされ、同一でなければ(異なっていれば)論理0とされる。
ステップS4において、両者のアドレスが同一であると判定された場合、クライアント12は、クライアント11と同一のLAN31内に接続されている装置である(図5に示される接続状態ではなく、図4に示されるような接続状態である)ということになる。すなわち、図3を参照して説明したように、グローバルアドレスとしてのIPアドレスが同一であるということは、同一のNAT装置を介してIMサーバ21と通信していることになるので、2つのクライアントは、同一のNAT装置に接続されていること、換言すれば、同一のLAN内に接続されていることになる。そこで、この場合、ステップS5において、CPU121は、これから通信しようとする他のクライアントを、ローカルアドレスを利用して通信する相手と判定する。そして、ステップS6において、CPU121は、ローカルアドレスに基づく通信処理を行う。このローカルアドレスに基づく通信処理の詳細については、図11のフローチャートを参照して後述するが、この処理により、クライアント11は、クライアント12とLAN31におけるローカルアドレスを利用して、ピアツーピアの通信を行う。
また、ステップS4において、両者のアドレスが同一ではないと判定された場合、クライアント12は、クライアント11が属するLAN31には接続されていない、例えば、図5に示されるような状態であるということになる。そこで、ステップS4において、両者のアドレスが同一ではないと判定された場合(異なっていると判定された場合)、ステップS7において、CPU121は、他のクライアントを、グローバルアドレスを利用して通信する相手と判定する。そして、ステップS8において、CPU121は、グローバルアドレスに基づく通信処理を実行する。このグローバルアドレスに基づく通信処理の詳細は、図13のフローチャートを参照して後述するが、この処理により、CPU121は、クライアント12とグローバルアドレスを利用して通信することになる。
以上のようなクライアント11の処理に対応して、IMサーバ21は図10のフローチャートに示される処理を実行する。
すなわち、IMサーバ21のCPU321は、ステップS21において、クライアント11からのアクセスを受け付けると、ステップS22において、クライアント11がステップS2の処理で発行した他のクライアント(いまの場合、クライアント12)の登録アドレスが、クライアント11と同一の登録アドレスであるか否かの判定の要求を受け付ける。
ステップS23において、CPU321は、記憶部328に記憶されているクライアント12の登録アドレス(ポイントBのグローバルアドレスとしてのIPアドレス)と、クライアント11の登録アドレス(ポイントAのグローバルアドレスとしてのIPアドレス)を読み取る(調査する)。そして、CPU321は、読み取った2つの登録アドレスが同一であるか否かを判定する。
なお、図10のステップS23において、LAN31に複数の連続するIPアドレスが割り付けられている場合には、そのアドレスの下位の部分をマスクすることで、両者を同一のアドレスと判定させるようにすることもできる。同一の装置が複数のグローバルアドレスを有する場合、その複数のグローバルアドレスは、上位のアドレスが一致し、下位のアドレスのみが異なることが多いので、2つのクライアントが、上位のアドレスが同一のグローバルアドレスを用いてIMサーバ21と通信しているということは、例えば、複数のグローバルアドレスを有する同一のNAT装置を介して通信している、すなわち同一のLAN内に接続されていると判断できるからである。すなわち、クライアント11はIMサーバ21に対して、クライアント12が、同一のNAT装置に接続されているか否かの調査を要求し、IMサーバ21はこの調査を、両者のグローバルアドレスが同一であるか否かを調べることで行うものということができる。
CPU321は、ステップS24において、ステップS23の処理の判定結果を1ビットのデータとして、通信部329を介してクライアント11に通知する。
この判定結果は、例えば、両者のアドレスが同一である場合、論理1とされ、異なっている場合、論理0とされる。このように、判定結果を1ビットのデータとして送信すると、インターネット1におけるトラフィック量を軽減することができる。また、クライアント11が、例えば、携帯電話機、PDA(Personal Digital Assistants)などの携帯型の情報処理装置のように、比較的軽い処理しか実行できないような装置においても、容易に処理することが可能となる。
次に、図11のフローチャートを参照して、図9のステップS6におけるローカルアドレスに基づく通信処理の詳細について説明する。なお、上述したように、この場合、クライアント11とクライアント12は、図4に示されるように、同一のLAN内に(同一のNAT装置の下に)接続されていることになる。
ステップS51において、クライアント11のCPU121は、通信部129を制御して、IMサーバ21を介してローカルアドレスに基づく通信を行うクライアント12に、自分自身(クライアント11)のローカルアドレス(LAN31におけるクライアント11のアドレス)を通知する。クライアント11は、LAN31内に接続されているので、クライアント11は、LAN31内における自分自身のローカルアドレスを知ることができる。
IMサーバ21は、クライアント11からこの通知を受信すると、これをクライアント12に転送する。これにより、クライアント12は、クライアント11のローカルアドレスを知ることができる。
ステップS52において、CPU121は、IMサーバ21を介して、ローカルアドレスに基づく通信を行うクライアント(いまの場合、クライアント12)にクライアント12のローカルアドレスの通知を要求する。IMサーバ21は、クライアント11からこの要求を受信すると、この要求をクライアント12に転送する。クライアント12は、この要求を受信すると、自分自身のローカルアドレスを通知してくる(後述する図12のステップS73)。
そこで、ステップS53において、CPU121は、IMサーバ21を介してクライアント12から送信されてきたローカルアドレスに基づく通信を行うクライアント(クライアント12)から、そのローカルアドレスの通知を受信する。
以上の処理により、クライアント11のCPU121は、クライアント12のローカルアドレスを知ることができ、また、クライアント12もクライアント11のローカルアドレスを知ることができたので、ステップS54において、CPU121は、LAN31内で、クライアント12のローカルアドレスに直接セッションを結び、IMサーバ21を介さずに、ピアツーピアで直接通信を行う。
なお、クライアント12からクライアント11への片方向の通信が行われる場合、ステップS52,S53の処理は省略される。また、双方向で通信が行われる場合、ステップS52でのクライアント11からのアドレスの通知の要求に対する返信を、IMサーバ21を介さずに、ピアツーピアでクライアント12から通知させ、ステップS53でクライアント11にこれを受信させるようにしてもよい。あるいはまた、ステップS51で出された通知を受けたクライアント12はクライアント11のローカルアドレスを既に知ったことになるので、クライアント11からのステップS52の要求を待たずに(換言すれば、ステップS51の通知に、ステップS52の通知も含められているとして)、クライアント12からローカルアドレスをピアツーピアまたはIMサーバ21を介して通知させ、クライアント11で受信するようにしてもよい。
この図11のクライアント11の処理に対応して、クライアント12は、図12のフローチャートに示される処理を実行する。
すなわち、ステップS71において、クライアント12のCPU221は、通信部229を介して、クライアント11がステップS51の処理で出力した通知を受信する。この通知は、クライアント11のローカルアドレスをクライアント12に知らせるための通知であり、IMサーバ21を介してクライアント11からクライアント12に送信されてくる。この通知からクライアント12のCPU221は、クライアント11のローカルアドレスを知ることができる。
ステップS72において、CPU221は、通信部229を制御し、IMサーバ21を介してローカルアドレスに基づく通信を行うクライアント(いまの場合、クライアント11)から、クライアント12のローカルアドレスの通知の要求を受信する。この要求は、図11のステップS52の処理により、クライアント11から発行されたものである。この要求を受信すると、ステップS73において、CPU221は、IMサーバ21を介して、ローカルアドレスに基づく通信を行うクライアント(要求を発行したクライアントであり、いまの場合、クライアント11)に対して、自分自身(クライアント12)のローカルアドレスを通知する。この通知は、図11のステップS53において、クライアント11により受信される。
これにより、クライアント12は、クライアント11のローカルアドレスを知り、クライアント11もクライアント12のローカルアドレスを知ることができたので、ステップS74において、CPU221は、LAN31内で、クライアント11のローカルアドレスに基づいて、クライアント11とセッションを張り、IMサーバ21を介さずに、ピアツーピアで通信を行う。
なお、クライアント12からクライアント11への片方向の通信が行われる場合、ステップS72,S73の処理は省略される。また、双方向で通信が行われる場合、ステップS73では、クライアント11に、ピアツーピアでローカルアドレスを通知するようにしてもよい。さらに、ステップS71で通知を受信したとき、その後、ステップS72で通知を受信するのを待たずに(換言すれば、ステップS71の通知にステップS72の通知の内容が実質的に含まれているものとして)、ステップS72,S73の処理に代えて、クライアント12からクライアント11に、クライアント11からのアドレスの通知に対する返信として、IMサーバ21を介して、または、ピアツーピアで、クライアント12のアドレスを通知するようにしてもよい。
次に、図9のステップS8におけるグローバルアドレスに基づく通信処理の詳細について、図13のフローチャートを参照して説明する。この場合には、図5に示されるように、クライアント12は、クライアント11が接続されているLAN31内には接続されていない。
ステップS101において、クライアント11のCPU121は、IMサーバ21に自分自身のグローバルアドレスの通知を要求する。すなわち、クライアント11は、NAT装置41を介してインターネット1に接続されているため、CPU121は、NAT装置41のポイントAのグローバルアドレス(IPアドレス)を直接知ることができない。そこで、CPU121は、クライアント11が接続されているNAT装置41のポイントAのIPアドレスの通知を、IMサーバ21に要求する。IMサーバ21は、この要求に基づいて、クライアント11(NAT装置41)のグローバルアドレス(IPアドレス)を送信してくる(後述する図15のステップS143)。そこで、ステップS102において、CPU121は、IMサーバ21から送信されてきた自分自身のグローバルアドレスの通知を受信する。これにより、CPU121は、ポイントAのグローバルアドレス(IPアドレス)を知ることができたことになる。
そこで、ステップS103において、CPU121は、通信部129を制御し、ステップS102の処理で受信した自分自身のグローバルアドレスを、グローバルアドレスに基づく通信処理を行うクライアント(いまの場合、クライアント12)にIMサーバ21を介して通知する。これにより、クライアント12に自分自身(クライアント11)のグローバルアドレスを知らせることができる。
ステップS104において、CPU121は、グローバルアドレスに基づく通信処理を行うクライアント(いまの場合、クライアント12)に、そのグローバルアドレスの通知をIMサーバ21を介して要求する。クライアント12は、この要求に基づいて、IMサーバ21を介してクライアント12のグローバルアドレスを通知してくる(後述する図14のステップS123)。そこで、ステップS105において、CPU121は、グローバルアドレスに基づく通信処理を行うクライアント(いまの場合、クライアント12)からIMサーバ21を介して送信されてきたグローバルアドレスを受信する。これにより、CPU121は、クライアント12のポイントBのグローバルアドレスとしてのIPアドレスを知ることができたことになる。
そこで、ステップS106において、CPU121は、インターネット1を介して、クライアント12とグローバルアドレスに基づいてセッションを張り、IMサーバ21を介さずに、ピアツーピアで直接通信する処理を行う。
図13のクライアント11の処理に対応して、クライアント12は、図14のフローチャートに示される処理を実行する。
すなわち、ステップS121において、クライアント12のCPU221は、グローバルアドレスに基づく通信処理を行うクライアント(いまの場合、クライアント11)からIMサーバ21を介してグローバルアドレスを受信する。このグローバルアドレスは、図13のステップS103の処理で、クライアント11からIMサーバ21を介して送信されてきたものである。
次に、ステップS122において、CPU221は、グローバルアドレスに基づく通信を行うクライアント(いまの場合、クライアント11)からIMサーバ21を介してグローバルアドレスの通知の要求を受信する。この要求は、図13のステップS104の処理で発行されたものである。ステップS123において、CPU221は、ステップS122の処理で受信した要求に基づいて、グローバルアドレスに基づく通信処理を行うクライアント(いまの場合、クライアント11)に、自分自身(クライアント12)のグローバルアドレス(ポイントBのIPアドレス)をIMサーバ21を介して通知する。これにより、クライアント11とクライアント12は、いずれもお互いのIPアドレスを知ることができたので、ステップS124において、CPU221は、お互いのグローバルアドレスに基づいて、IMサーバ21を介さずに、インターネット1上で、ピアツーピアでセッションを張り、通信する処理を行う。
ローカルアドレスに基づく通信処理における場合と同様に、片方向通信の場合、ステップS104,S105、ステップS122,S123の処理は省略される。双方向通信の場合、クライアント11からのアドレスの通知に対する返信として、IMサーバ21を介さずに、ピアツーピアで、クライアント12からクライアント11に、クライアント12のアドレスを通知するようにしてもよい。また、ステップS104の処理を実質的にステップS103に含め、ステップS103の通知を受けたクライアント12が、そのグローバルアドレスを、IMサーバ21を介して、またはピアツーピアで、クライアント11に通知させるようにしてもよい。
一方、図13のクライアント11のグローバルアドレスに基づく通信処理に対応して、IMサーバ21は、図15のフローチャートに示される処理を実行する。
ステップS141において、CPU321は、通信部329を介してクライアント11からグローバルアドレスの通知の要求を受信する。この要求は、図13のステップS101の処理で発行されたものである。ステップS142において、CPU321は、ステップS141の処理で受信した要求に基づいて、クライアント11のグローバルアドレス(登録されているIPアドレス)を調べる。このアドレスは、記憶部328に記憶されている。そして、ステップS143において、CPU321は、ステップS142の処理で調べたグローバルアドレスをクライアント11に送信する。
IMサーバ21が、STUN(Simple Traversal of UDP(User Datagram Protocol) through NAT)機能を有している場合、この機能を利用してグローバルアドレスをクライアントに通知することもできることになる。
この場合、CPU321は、クライアント11からグローバルアドレスの通知の要求を受信したとき、そのパケットのソースアドレスに記述されているアドレスを応答用のパケットのデータ部に記述して、その応答用のパケットを送信する。
すなわち、NAT装置41は、クライアント11からIMサーバ21宛のグローバルアドレスの通知の要求のパケットのソースアドレスに、ポイントAのグローバルアドレスとしてのIPアドレスとクライアント11のポート番号とを記述する。そこで、IMサーバ21は、このポイントAのグローバルアドレスとしてのIPアドレスとクライアント11のポート番号とをデータ部に記述した、応答用パケットを生成する。
応答用パケットのソースアドレスには、IMサーバ21のグローバルアドレスとしてのIPアドレスが記述されており、デスティネーションアドレスには、NAT装置41のポイントAのIPアドレスとポート番号が記述されている。
NAT装置41は、IMサーバ21からの応答パケットを受信すると、そのデスティネーションアドレスがポイントAの自分自身のグローバルアドレスとしてのIPアドレスであることを確認して、その応答パケットを取り込み、その応答パケットのソースアドレスを、自分自身のLAN31におけるローカルアドレスに書き換え、デスティネーションアドレスを、クライアント11のLAN31におけるローカルアドレスに書き換えて、クライアント11に送信する。クライアント11は、その応答パケットのデータ部から、NAT装置41のポイントAのグローバルアドレスとしてのIPアドレスを知ることができる。
以上においては、IMサーバ21において、クライアント11とクライアント12の登録アドレスが同一であるか否かを比較判定させるようにしたが、図16に示されるように、クライアント11からIMサーバ21に対して、クライアント12のIPアドレスの通知を要求させ、IMサーバ21から送信されてきたクライアント12のIPアドレスを、クライアント11において、自分自身のIPアドレスと比較させるようにすることも可能である。
この場合におけるクライアント11の処理について、図17のフローチャートを参照して説明する。
ステップS201において、クライアント11のCPU121は、IMサーバ21にアクセスする。ステップS202において、CPU121は、IMサーバ21に、自分自身(クライアント11)のグローバルアドレス(IPアドレス)の通知を要求する。この要求に基づいて、IMサーバ21は、クライアント11(NAT装置41のグローバルアドレス)を通知してくる(後述する図18のステップS224)。そこで、ステップS203において、CPU121は、IMサーバ21から送信されてくる自分自身(クライアント11)のグローバルアドレスの通知を受信する。
ステップS204において、CPU121は、通信相手としての他のクライアント(いまの場合、クライアント12)の登録アドレスの通知を要求する。この要求に基づいて、IMサーバ21は、クライアント12の登録アドレスを通知してくる(後述する図18のステップS227)。そこで、ステップS205において、CPU121は、他のクライアント(クライアント12)の登録アドレスの通知を受信する。
ステップS206において、CPU121は、ステップS203の処理で受信した自分自身のグローバルアドレス(IPアドレス)と、ステップS205の処理で受信した他のクライアント(クライアント12)の登録アドレス(IPアドレス)とを比較する。ステップS207において、CPU121は、比較の結果、両者のアドレスが同一であるか否かを判定し、同一である場合には、ステップS208において、他のクライアントをローカルアドレスを利用して通信する相手と判定し、ステップS209において、ローカルアドレスに基づく通信処理を行う。
ステップS207において、アドレスが同一ではないと判定された場合、ステップS210において、CPU121は、他のクライアントをグローバルアドレスを利用して通信する相手と判定し、ステップS211において、グローバルアドレスに基づく通信処理を行う。
ステップS207乃至211の処理は、図9のステップS4乃至ステップS8の処理と同様の処理となる。
このようなクライアント11の処理に対応して、IMサーバ21は、図18のフローチャートに示される処理を実行する。
ステップS221において、IMサーバ21のCPU321は、クライアント11からのアクセスを受け付ける。ステップS222において、CPU321は、クライアント11からの要求を受け付ける。この要求は、図17のステップS202の処理で発行された要求であり、クライアント11のグローバルアドレス(IPアドレス)の通知を要求するものである。そこで、ステップS223において、CPU321は、記憶部328に記憶されているクライアント11の登録アドレスを調べる。そして、ステップS224において、調べた結果得られたクライアント11の登録アドレス(IPアドレス)を、クライアント11に通知する。
なお、以上のステップS222乃至S224の処理は、図15のステップS141乃至S143の処理と同様の処理であり、IMサーバ21のSTUN機能を利用することもできる。
ステップS225において、CPU321は、クライアント11からの要求を受け付ける。この要求は、図17のステップS204の処理で発行された要求であり、他のクライアント(いまの場合、クライアント12)のアドレスの通知を要求するものである。そこで、ステップS226において、CPU321は、記憶部328に記憶されている他のクライアント(いまの場合、クライアント12)の登録アドレス(IPアドレス)を調べ、ステップS227において、その調べた結果のアドレスをクライアント11に通知する。
図16乃至図18を参照して説明したようにして、クライアント11側において、クライアント11とクライアント12のIPアドレスを比較させるようにすることも可能である。しかしながら、このようにするには、インターネット1を介して、クライアント12のプライバシーに属するIPアドレスを、インターネット1を介して伝送する必要が生じる。従って、図5を参照して説明した場合のように、IMサーバ21側において判定し、判定結果だけをクライアント11に送信する場合に比べて、インターネット1における転送データのトラフィック量が増加するだけでなく、プライバシーの保護の観点からも、あまり好ましくはない。従って、図5における場合と同様の効果を奏することが可能ではあるが、判定結果だけをIMサーバ21からクライアント11に転送させるようにする方が好ましい。
なお、以上におけるNAT装置41は、専用の装置として構成される場合は元より、ファイヤウォール、その他の装置に組み込まれるようにしてもよい。また、クライアントは、パーソナルコンピュータの他、携帯電話機、PDAなどにより構成することもできる。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図6乃至図8に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア131,231,331により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM122,222,322や、記憶部128,228,328に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
従来の情報処理システムの構成例を示す図である。 従来の情報処理システムの構成例を示す図である。 従来の情報処理システムの構成例を示す図である。 従来の情報処理システムの構成例を示す図である。 本発明を適用した情報処理システムの構成例を示す図である。 図5のクライアントの構成例を示す図である。 図5の他のクライアントの構成例を示すブロック図である。 図5のIMサーバの構成例を示すブロック図である。 図5のクライアントの処理を説明するフローチャートである。 図5のIMサーバの処理を説明するフローチャートである。 図9のステップS6のローカルアドレスに基づく通信処理を説明するフローチャートである。 図11のローカルアドレスに基づく通信処理に対応して実行される他のクライアントのローカルアドレスに基づく通信処理を説明するフローチャートである。 図9のステップS8のグローバルアドレスに基づく通信処理を説明するフローチャートである。 図13のグローバルアドレスに基づく通信処理に対応して実行される他のクライアントにおいて実行されるグローバルアドレスに基づく通信処理を説明するフローチャートである。 図13のクライアントのグローバルアドレスに基づく通信処理に対応して実行されるIMサーバの処理について説明するフローチャートである。 他の情報処理システムの構成を示す図である。 図16のクライアントの処理を説明するフローチャートである。 図16のIMサーバの処理を説明するフローチャートである。
符号の説明
1 インターネット, 11,12 クライアント, 21 IMサーバ, 31 LAN, 41 NAT装置

Claims (22)

  1. 第1のネットワークに接続されるとともに、アドレスを変換するアドレス変換装置を介して第2のネットワークに接続される第1の情報処理装置と、前記第1の情報処理装置と通信を行う第2の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置との通信を管理する、前記第2のネットワークに接続される第3の情報処理装置とを有する情報処理システムにおいて、
    前記第1の情報処理装置は、前記第2の情報処理装置の前記第2のネットワーク上でのアドレスを前記第3の情報処理装置に対して要求し、
    前記第3の情報処理装置は、前記第2の情報処理装置の前記第2のネットワーク上でのアドレスを前記第1の情報処理装置に通知し、
    前記第1の情報処理装置は、前記第3の情報処理装置からの前記第2の情報処理装置の前記第2のネットワーク上でのアドレスに基づいて、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されているか否かを判断し、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されていると判断された場合、前記第1のネットワーク上のアドレスに基づいて前記第2の情報処理装置と通信し、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されていないと判断された場合、前記第2のネットワーク上のアドレスに基づいて前記第2の情報処理装置と通信する
    ことを特徴とする情報処理システム。
  2. 第1のネットワークに接続されるとともに、アドレスを変換するアドレス変換装置を介して第2のネットワークに接続される第1の情報処理装置と、前記第1の情報処理装置と通信を行う第2の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置との通信を管理する、前記第2のネットワークに接続される第3の情報処理装置とを有する情報処理システムにおいて、
    前記第1の情報処理装置は、前記第2の情報処理装置と前記第1の情報処理装置とが同一のネットワーク上に接続されているか否かの判定を要求し、
    前記第3の情報処理装置は、前記第2の情報処理装置と前記第1の情報処理装置とが同一のネットワーク上に接続されているか否かを調査し、調査の結果を、前記第1の情報処理装置に通知し、
    前記第1の情報処理装置は、前記第3の情報処理装置の調査結果の通知に基づいて、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されているか否かを判断し、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されていると判断された場合、前記第1のネットワーク上のアドレスに基づいて前記第2の情報処理装置と通信し、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されていないと判断された場合、前記第2のネットワーク上のアドレスに基づいて前記第2の情報処理装置と通信する
    ことを特徴とする情報処理システム。
  3. 前記第3の情報処理装置は、前記第1の情報処理装置と前記第2の情報処理装置の前記第2のネットワーク上のアドレスに基づいて、前記第1の情報処理装置と前記第2の情報処理装置とが同一のネットワークに接続されているか否かを調査する
    ことを特徴とする請求項2に記載の情報処理システム。
  4. 前記第3の情報処理装置は、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワークに接続されているか否かを調査するために、同一のアドレス変換装置に接続されているか否かを調査する
    ことを特徴とする請求項2に記載の情報処理システム。
  5. 前記第3の情報処理装置は、前記第2の情報処理装置が前記第1の情報処理装置と同一のアドレス変換装置に接続されているか否かを調査するために、前記第1の情報処理装置と前記第2の情報処理装置の前記第2のネットワーク上でのアドレスが同一であるか否かを調査する
    ことを特徴とする請求項4に記載の情報処理システム。
  6. 第1のネットワークに接続されるとともに、アドレスを変換するアドレス変換装置を介して第2のネットワークに接続される第1の情報処理装置と、前記第1の情報処理装置と通信を行う第2の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置との通信を管理する、前記第2のネットワークに接続される第3の情報処理装置とを有する情報処理システムの情報処理方法において、
    前記第1の情報処理装置は、前記第2の情報処理装置の前記第2のネットワーク上でのアドレスを前記第3の情報処理装置に対して要求し、
    前記第3の情報処理装置は、前記第2の情報処理装置の前記第2のネットワーク上でのアドレスを前記第1の情報処理装置に通知し、
    前記第1の情報処理装置は、前記第3の情報処理装置からの前記第2の情報処理装置の前記第2のネットワーク上でのアドレスに基づいて、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されているか否かを判断し、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されていると判断された場合、前記第1のネットワーク上のアドレスに基づいて前記第2の情報処理装置と通信し、前記第2の情報処理装置が前記第1の情報処理装置と同一のネットワーク上に接続されていないと判断された場合、前記第2のネットワーク上のアドレスに基づいて前記第2の情報処理装置と通信する
    ことを特徴とする情報処理方法。
  7. 他の情報処理装置と通信を行う情報処理装置であって、第1のネットワークに接続されるとともに、サーバが接続されている第2のネットワークに、アドレスを変換するアドレス変換装置を介して接続される情報処理装置において、
    前記サーバに対して、前記他の情報処理装置の前記第2のネットワーク上でのアドレスを要求する要求手段と、
    前記サーバから前記他の情報処理装置の前記第2のネットワーク上でのアドレスを受信する受信手段と、
    前記サーバからの前記他の情報処理装置の前記第2のネットワーク上でのアドレスに基づいて、前記他の情報処理装置が前記情報処理装置と同一のネットワーク上に接続されているか否かを判断し、前記他の情報処理装置が前記情報処理装置と同一のネットワーク上に接続されていると判断された場合、前記第1のネットワーク上のアドレスに基づいて前記他の情報処理装置と通信し、前記他の情報処理装置が前記情報処理装置と同一のネットワーク上に接続されていないと判断された場合、前記第2のネットワーク上のアドレスに基づいて前記他の情報処理装置と通信する通信手段と
    を備えることを特徴とする情報処理装置。
  8. 他の情報処理装置と通信を行う情報処理装置であって、第1のネットワークに接続されるとともに、サーバが接続されている第2のネットワークに、アドレスを変換するアドレス変換装置を介して接続される情報処理装置において、
    前記サーバに対して、前記他の情報処理装置と前記情報処理装置が同一のネットワーク上に接続されているか否かの判定を要求する要求手段と
    前記サーバから前記第2の情報処理装置と前記第1の情報処理装置とが同一のネットワーク上に接続されているか否かの判定結果を受信する受信手段と、
    記サーバの判定結果の通知に基づいて、前記他の情報処理装置が前記情報処理装置と同一のネットワーク上に接続されているか否かを判断し、前記他の情報処理装置が前記情報処理装置と同一のネットワーク上に接続されていると判断された場合、前記第1のネットワーク上のアドレスに基づいて前記他の情報処理装置と通信し、前記他の情報処理装置が前記情報処理装置と同一のネットワーク上に接続されていないと判断された場合、前記第2のネットワーク上のアドレスに基づいて前記他の情報処理装置と通信する通信手段と
    を備えることを特徴とする情報処理装置。
  9. 前記要求手段は、前記他の情報処理装置と前記情報処理装置が同一のネットワーク上に接続されているか否かの判定として、同一のアドレス変換装置に接続されているか否かの判定を要求する
    ことを特徴とする請求項8に記載の情報処理装置。
  10. 前記要求手段は、前記同一のアドレス変換装置に接続されているか否かの判定として、同一のアドレスを有するか否かの判定を要求する
    ことを特徴とする請求項9に記載の情報処理装置。
  11. 前記第1のネットワークは、LANであり、
    前記第2のネットワークは、インターネットであり、
    前記第1のネットワーク上のアドレスは、ローカルアドレスであり、
    前記第2のネットワーク上のアドレスは、グローバルアドレスである
    ことを特徴とする請求項7に記載の情報処理装置。
  12. 前記要求手段は、前記他の情報処理装置が同一のネットワークに接続されていないと判定された場合、前記サーバに前記情報処理装置の前記第2のネットワーク上のアドレスの通知をさらに要求する
    ことを特徴とする請求項7に記載の情報処理装置。
  13. 前記他の情報処理装置が同一のネットワークに接続されていないと判定された場合、前記通信手段は、前記情報処理装置の前記第2のネットワーク上のアドレスを前記他の情報処理装置に前記サーバを介して送信するとともに、前記他の情報処理装置の前記第2のネットワーク上のアドレスを、前記サーバを介して受信する
    ことを特徴とする請求項7に記載の情報処理装置。
  14. 前記他の情報処理装置が同一のネットワークに接続されていると判定された場合、前記通信手段は、前記情報処理装置の前記第1のネットワーク上のアドレスを前記他の情報処理装置に前記サーバを介して送信するとともに、前記他の情報処理装置の前記第1のネットワーク上のアドレスを、前記サーバを介して受信する
    ことを特徴とする請求項7に記載の情報処理装置。
  15. 他の情報処理装置と通信を行う情報処理装置であって、第1のネットワークに接続されるとともに、サーバが接続されている第2のネットワークに、アドレスを変換するアドレス変換装置を介して接続される情報処理装置の情報処理方法において、
    前記サーバに対して、前記他の情報処理装置の前記第2のネットワーク上でのアドレスを要求する要求ステップと、
    前記サーバから前記他の情報処理装置の前記第2のネットワーク上でのアドレスの通知を受信する受信ステップと、
    前記サーバからの前記他の情報処理装置の前記第2のネットワーク上でのアドレスに基づいて、前記他の情報処理装置が情報処理装置と同一のネットワーク上に接続されているか否かを判断し、前記他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていると判断された場合、前記第1のネットワーク上のアドレスに基づいて前記他の情報処理装置と通信し、前記他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていないと判断された場合、前記第2のネットワーク上のアドレスに基づいて前記他の情報処理装置と通信する通信ステップと
    を含むことを特徴とする情報処理方法。
  16. 他の情報処理装置と通信を行う情報処理装置であって、第1のネットワークに接続されるとともに、サーバが接続されている第2のネットワークに、アドレスを変換するアドレス変換装置を介して接続される情報処理装置のプログラムであって、
    前記サーバに対して、前記他の情報処理装置の前記第2のネットワーク上でのアドレスを要求する要求ステップと、
    前記サーバから前記他の情報処理装置の前記第2のネットワーク上でのアドレスの通知を受信する受信ステップと、
    前記サーバからの前記他の情報処理装置の前記第2のネットワーク上でのアドレスに基づいて、前記他の情報処理装置が情報処理装置と同一のネットワーク上に接続されているか否かを判断し、前記他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていると判断された場合、前記第1のネットワーク上のアドレスに基づいて前記他の情報処理装置と通信し、前記他の情報処理装置が情報処理装置と同一のネットワーク上に接続されていないと判断された場合、前記第2のネットワーク上のアドレスに基づいて前記他の情報処理装置と通信する通信ステップと
    をコンピュータに実行させることを特徴とするプログラム。
  17. 第1のネットワークに接続されるとともに、アドレスを変換するアドレス変換装置を介して第2のネットワークに接続される第1の装置と、前記第1の装置と通信する第2の装置との通信を管理する、前記第2のネットワークに接続される情報処理装置において、
    前記第2の装置が、前記第1の装置と同一のネットワークに接続されているか否かの判定の要求を、前記第1の装置から受信する受信手段と、
    前記第2の装置が、前記第1の装置と同一のネットワークに接続されているか否かを調査するために、同一のアドレス変換装置に接続されているか否かを調査する調査手段と、
    前記調査手段による調査の結果を前記第1の装置に通知する通知手段と
    を備えることを特徴とする情報処理装置。
  18. 前記調査手段は、前記第2の装置が前記第1の装置と同一のアドレス変換装置に接続されているか否かを調査するために、同一のアドレスを有するか否かを調査する
    ことを特徴とする請求項17に記載の情報処理装置。
  19. 前記第1のネットワークは、LANであり、
    前記第2のネットワークは、インターネットであり、
    前記第1のネットワーク上のアドレスは、ローカルアドレスであり、
    前記第2のネットワーク上のアドレスは、グローバルアドレスである
    ことを特徴とする請求項17に記載の情報処理装置。
  20. 前記通知手段は、前記調査手段による調査の結果を、1ビットのデータとして、前記第1の装置に通知する
    ことを特徴とする請求項17に記載の情報処理装置。
  21. 第1のネットワークに接続されるとともに、アドレスを変換するアドレス変換装置を介して第2のネットワークに接続される第1の装置と、前記第1の装置と通信する第2の装置との通信を管理する、前記第2のネットワークに接続される情報処理装置の情報処理方法において、
    前記第2の装置が、前記第1の装置と同一のネットワークに接続されているか否かの判定の要求を、前記第1の装置から受信する受信ステップと、
    前記第2の装置が、前記第1の装置と同一のネットワークに接続されているか否かを調査するために、同一のアドレス変換装置に接続されているか否かを調査する調査ステップと、
    前記調査ステップの処理による調査の結果を前記第1の装置に通知する通知ステップと
    を含むことを特徴とする情報処理方法。
  22. 第1のネットワークに接続されるとともに、アドレスを変換するアドレス変換装置を介して第2のネットワークに接続される第1の装置と、前記第1の装置と通信する第2の装置との通信を管理する、前記第2のネットワークに接続される情報処理装置のプログラムであって、
    前記第2の装置が、前記第1の装置と同一のネットワークに接続されているか否かの判定の要求を、前記第1の装置から受信する受信ステップと、
    前記第2の装置が、前記第1の装置と同一のネットワークに接続されているか否かを調査するために、同一のアドレス変換装置に接続されているか否かを調査する調査ステップと、
    前記調査ステップの処理による調査の結果を前記第1の装置に通知する通知ステップと
    をコンピュータに実行させることを特徴とするプログラム。
JP2003337346A 2002-11-01 2003-09-29 情報処理システム、情報処理装置および方法、並びにプログラム Expired - Fee Related JP4304593B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003337346A JP4304593B2 (ja) 2002-11-01 2003-09-29 情報処理システム、情報処理装置および方法、並びにプログラム
US10/692,797 US7627689B2 (en) 2002-11-01 2003-10-27 Information processing system, apparatus, method and computer program product having network-specific address features and global address features

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002319799 2002-11-01
JP2003337346A JP4304593B2 (ja) 2002-11-01 2003-09-29 情報処理システム、情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2004173240A JP2004173240A (ja) 2004-06-17
JP4304593B2 true JP4304593B2 (ja) 2009-07-29

Family

ID=32715920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003337346A Expired - Fee Related JP4304593B2 (ja) 2002-11-01 2003-09-29 情報処理システム、情報処理装置および方法、並びにプログラム

Country Status (2)

Country Link
US (1) US7627689B2 (ja)
JP (1) JP4304593B2 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457293B2 (en) 2004-04-05 2008-11-25 Panasonic Corporation Communication apparatus, method and program for realizing P2P communication
JP4533247B2 (ja) * 2004-06-08 2010-09-01 キヤノン株式会社 サービス提供システム、サービス提供方法及びサービス提供装置
FI20045234A0 (fi) * 2004-06-21 2004-06-21 Nokia Corp Datan lähetys viestintäjärjestelmässä
US7656870B2 (en) 2004-06-29 2010-02-02 Damaka, Inc. System and method for peer-to-peer hybrid communications
US7570636B2 (en) * 2004-06-29 2009-08-04 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US7623516B2 (en) 2004-06-29 2009-11-24 Damaka, Inc. System and method for deterministic routing in a peer-to-peer hybrid communications network
US7778187B2 (en) 2004-06-29 2010-08-17 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
US8050272B2 (en) * 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US7623476B2 (en) 2004-06-29 2009-11-24 Damaka, Inc. System and method for conferencing in a peer-to-peer hybrid communications network
GB2419491A (en) * 2004-10-23 2006-04-26 Siemens Ag Enabling communication between two network nodes
JP3999785B2 (ja) * 2005-01-20 2007-10-31 株式会社フラクタリスト 通信方法
WO2007043381A1 (ja) 2005-10-04 2007-04-19 Matsushita Electric Industrial Co., Ltd. ネットワーク通信機器、ネットワーク通信方法、アドレス管理機器
EP1994717A1 (en) 2006-02-28 2008-11-26 International Business Machines Corporation Detection and control of peer-to-peer communication
JP5207270B2 (ja) * 2007-07-12 2013-06-12 Necインフロンティア株式会社 複数のネットワーク間の通信システム
CA2701894C (en) 2007-09-03 2015-11-17 Damaka, Inc. Device and method for maintaining a communication session during a network transition
WO2009043016A2 (en) 2007-09-28 2009-04-02 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
US8380859B2 (en) 2007-11-28 2013-02-19 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
CN101242421B (zh) * 2008-03-19 2012-06-13 中国科学院计算技术研究所 多层nat环境下面向应用的名字注册系统及其服务方法
JP4784667B2 (ja) 2009-03-06 2011-10-05 ブラザー工業株式会社 端末装置とコンピュータプログラム
JP4715937B2 (ja) * 2009-03-06 2011-07-06 ブラザー工業株式会社 端末装置とコンピュータプログラム
JP5439036B2 (ja) * 2009-05-27 2014-03-12 エヌ・ティ・ティ・コムウェア株式会社 通信システム、通信管理装置、通信管理方法、及び通信管理プログラム
JP5322875B2 (ja) * 2009-09-30 2013-10-23 日本電信電話株式会社 通信方法、通信装置および通信システム
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8725895B2 (en) * 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US8874785B2 (en) * 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8689307B2 (en) * 2010-03-19 2014-04-01 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8446900B2 (en) 2010-06-18 2013-05-21 Damaka, Inc. System and method for transferring a call between endpoints in a hybrid peer-to-peer network
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
JP5559006B2 (ja) * 2010-10-28 2014-07-23 キヤノン株式会社 通信装置、通信装置の制御方法、通信システムおよびプログラム
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US8478890B2 (en) 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
JP6231327B2 (ja) * 2012-09-28 2017-11-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 端末制御方法、端末制御システム、及び、サーバ装置
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
CN103401736B (zh) * 2013-08-22 2016-12-28 东南大学 一种基于即时通讯软件检测网络代理的方法
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
JP6291802B2 (ja) 2013-11-18 2018-03-14 株式会社リコー 制御システム、通信システム、プログラム、及び制御方法
AU2015200093B2 (en) * 2014-04-08 2015-12-10 Nec Corporation Chat system
WO2016022574A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
DE102014216588A1 (de) * 2014-08-21 2016-02-25 Comfylight Ag Verfahren und Server zum Koppeln eines Smart-Home-Gerätes mit einem mobilen Endgerät
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
WO2018229935A1 (ja) * 2017-06-15 2018-12-20 三菱電機株式会社 遠隔操作システム及び家電機器
JP2019078616A (ja) * 2017-10-24 2019-05-23 東芝メモリ株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5915119A (en) * 1996-10-01 1999-06-22 Ncr Corporation Proxy terminal for network controlling of power managed user terminals in suspend mode
US6324161B1 (en) * 1997-08-27 2001-11-27 Alcatel Usa Sourcing, L.P. Multiple network configuration with local and remote network redundancy by dual media redirect
US6393488B1 (en) * 1999-05-27 2002-05-21 3Com Corporation System and method for supporting internet protocol subnets with network address translators
US6292838B1 (en) * 1999-08-23 2001-09-18 3Com Corporation Technique for automatic remote media access control (MAC) layer address resolution
US6445922B1 (en) * 1999-12-15 2002-09-03 Lucent Technologies Inc. Method and system for support of overlapping IP addresses between an interworking function and a mobile IP foreign agent
US6993012B2 (en) * 2001-02-20 2006-01-31 Innomedia Pte, Ltd Method for communicating audio data in a packet switched network
US20020138552A1 (en) * 2001-03-21 2002-09-26 Debruine Timothy S. Method and system for optimizing private network file transfers in a public peer-to-peer network
JP2003258836A (ja) 2002-02-28 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> 同一プライベートアドレス空間内通信方法およびシステムと中継装置
US7676579B2 (en) 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication

Also Published As

Publication number Publication date
US7627689B2 (en) 2009-12-01
JP2004173240A (ja) 2004-06-17
US20040139225A1 (en) 2004-07-15

Similar Documents

Publication Publication Date Title
JP4304593B2 (ja) 情報処理システム、情報処理装置および方法、並びにプログラム
US11140053B2 (en) Traversal of symmetric network address translator for multiple simultaneous connections
US8055771B2 (en) Network traversal method for establishing connection between two endpoints and network communication system
CN102984289B (zh) 促进nat穿透的方法以及移动设备
EP2112788B1 (en) A method and node for p2p content sharing
US9497168B2 (en) Method and apparatus for supporting communications between a computing device within a network and an external computing device
US7245622B2 (en) Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload
US8694676B2 (en) Proximity detection for media proxies
JP4758362B2 (ja) 中継装置、プログラム及び中継方法
ES2371378T3 (es) Sistema de gestión de sesiones y método para controlar las mismas.
TWI337822B (en) Processor-accessible media, device, apparatus, network gateway, and method for routing hints
US8959243B2 (en) System and method to guide active participation in peer-to-peer systems with passive monitoring environment
US11716222B2 (en) Communications bridge
JP4078594B2 (ja) 情報処理装置および方法、並びにプログラム
CN112019641B (zh) 数据传输方法和装置
JP2008205676A (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP5227984B2 (ja) ゲートウェイシステム、通信方法、収容管理サーバ装置及びプログラム
JP2010157858A (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム
JP2011151474A (ja) アドレス変換装置、通信システム、メッセージ通信方法、及びプログラム
GB2403627A (en) Communication through network address translation (nat) devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081216

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090415

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees