KR20050109897A - 네트워크 시스템과 통신 방법, 정보 처리 장치와 방법 및프로그램 - Google Patents
네트워크 시스템과 통신 방법, 정보 처리 장치와 방법 및프로그램 Download PDFInfo
- Publication number
- KR20050109897A KR20050109897A KR1020047018514A KR20047018514A KR20050109897A KR 20050109897 A KR20050109897 A KR 20050109897A KR 1020047018514 A KR1020047018514 A KR 1020047018514A KR 20047018514 A KR20047018514 A KR 20047018514A KR 20050109897 A KR20050109897 A KR 20050109897A
- Authority
- KR
- South Korea
- Prior art keywords
- address
- information processing
- processing apparatus
- packet
- network
- Prior art date
Links
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
본 발명은, NAPT를 통하여 다른 장치와 용이하게 통신을 행할 수 있도록 하는 네트워크 시스템 및 통신 방법, 정보 처리 장치 및 방법 및 프로그램에 관한 것이다. 로컬 통신 장치(11)는 장치용 서비스 제공 장치(51)로부터 서비스 제공 패킷을 중계 장치(12)의 포트(342-1)를 통하여 취득하고, 장치용 서비스 제공 장치(52)로부터 서비스 제공 패킷을 중계 장치(12)의 포트(342-2)를 통하여 취득하고, 이들의 서비스 제공 패킷에 포함되는 2개의 글로벌 어드레스 정보의 차분치를 산출하고, 그 차분치에 의거하여 포트(342-3)가 차회의 통신에 대응하는 포트라고 예상한다. 본 발명은 인스턴트 메시지 서비스 시스템에 적용할 수 있다.
Description
본 발명은 네트워크 시스템 및 통신 방법, 정보 처리 장치 및 방법 및 프로그램에 관한 것으로, 특히, NAPT를 통하여 다른 장치와 통신을 행하는 경우에 이용하는데 알맞은 네트워크 시스템 및 통신 방법, 정보 처리 장치 및 방법 및 프로그램에 관한 것이다.
현재 인터넷에서는 라우팅 프로토콜로서 Internet Protocol(이하, IP라 칭한다)이 이용되고 있다. 가장 보급되어 있는 IP의 버전은, 현재로서 「4」로 되어 있고(이하, IPv4라 칭한다), 이 버전에서 이용되는 송신원 어드레스나 송신처 어드레스의 비트 수는 「32」이다. 인터넷 등으로 대표되는 글로벌인 네트워크에 있어서, 그 IPv4에 의거하여 32비트의 어드레스(이하, IPv4 어드레스라고 칭한다)를, 각 통신 단말에 대해 고유하게 할당하여 둠에 의해, 그들의 장치 사이에서 행하여지는 통신의 통신 데이터의 송신원 어드레스나 송신처 어드레스가 식별 가능해지도록 되어 있다.
그러나, 인터넷 이용률의 급증화 때문에, IPv4 어드레스가 부족해질 우려가 생기게 되었다. 그래서, 이것을 해결하기 위해, IETF(Internet Engineering Task Force)에서는 IP의 버전으로서 「6」인 프로토콜(이하, IPv6이라고 칭한다)을 책정하고, 보급을 개시하기 시작하였다. 그러나, 실제로는, 인터넷에서 이용하는 라우팅 프로토콜을 IPv6으로 전면 이행하기 위해서는 막대한 시간이나 비용이 필요하며, 완전히 이 문제를 해결하기는 곤란한다.
또한, 마찬가지로 이들을 해결하기 위해, UPnP(Universal Plug and Play)라는 기술이 생각되고 있다. 그러나, 중계 수단으로서 UPnP에 대응한 라우터(Router)를 이용하는 경우, 막대한 시간이나 비용이 필요하다고 상정된다. 또한, 이미 다수 존재하는 UPnP에 대응하지 않는 라우터가 전부 UPnP에 대응하는 라우터로 교환될 필요도 있기 때문에, 이 방법에 의해 상술한 문제를 완전히 해결하고자 하는 것은 현실적이 아니다.
그래서, 기존의 IPv4를 이용하면서 그 어드레스를 확대시키는 수법으로서, 특별한 성질을 갖는 어드레스 공간 「프라이빗 어드레스」를 이용하는 방법이 제안되었다.
프라이빗 어드레스는, IPv4 어드레스와 같이 글로벌한 네트워크에 있어서의 각 단말 장치에 대해 고유하게 할당되는 어드레스(이하, 글로벌 어드레스라고 칭한다)와 달리, 소정의 한정된 범위(로컬 에어리어)에서 각 단말에 대해 할당되는 어드레스이다. 따라서, 로컬 에어리어의 통신 단말 장치가 이 프라이빗 어드레스를 이용하여 인터넷에 있는 글로벌 어드레스를 갖는 다른 통신 단말 장치와 통신을 행하는 경우, 그 프라이빗 어드레스를 글로벌 어드레스로 변환하는 처리가 필요해진다. 그것을 실현하는 방법으로서, NAT(Network Address Translation)가 생각된다.
단, NAT를 이용한 경우, 그 구조에 의해 하나의 프라이빗 어드레스에 대해 하나의 글로벌 어드레스를 대응시킬 필요가 있고, 복수의 통신 단말 장치가 로컬 에어리어에 존재하는 경우, 그 중 1대의 통신 단말 장치밖에 인터넷에 접속할 수 없다.
그래서, 어드레스의 아래에 마련된 서브(보조)어드레스인 포트를 이용하는 방법이 고안되었다. 구체적으로 말하면, 이 방법을 이용한 경우 통신 단말 장치에 할당된 프라이빗 어드레스와, 통신에 이용하는 포트(즉, 소켓)가 글로벌 어드레스와 포트로 변환된다. 이 방법은, NAPT(Network Address Port Translation) 또는 IP 마스커레이드(IP masquerade)라고 불리는 방법이다. 이 NAPT를 이용함에 의해, 프라이빗 어드레스와 포트를 갖는 복수의 통신 단말 장치로부터, 글로벌 어드레스와 포트를 갖는 다른 통신 단말 장치에 대해, 통신하는 것이 가능해진다.
그러나, 이상과 같이 NAPT를 이용하는 통신을 행하는 프라이빗 네트워크의 외측으로부터 통신 장치가 프라이빗 네트워크 안에 있는 통신 단말 장치에 대해 액세스하는 경우, 통신 장치는 NAPT에 의한 변환 전의, 통신 단말 장치의 프라이빗 어드레스와 포트를 알 수 없으며, 그대로는 상술한 바와 같은 통신을 할 수 없다.
이에 대해, 라우터가, 프라이빗 네트워크에 접속된 통신 단말 장치의 식별자를 서브어드레스로서 식별하도록 하고, 프라이빗 네트워크의 외부의 통신 장치가, 그 통신 단말 장치에 액세스하는 경우, 그 서브어드레스를 이용하여 통신 상대가 되는 통신 단말 장치를 특정하도록 하는 방법이 있다(예를 들면, 특개2001-345841호 공보(제 9 내지 16페이지, 도 3, 도 6 내지 8) 참조).
그러나, 이상과 같은 통신 방법을 이용한 경우, 상술한 바와 같은 서브어드레스를 이용할 수 있는 기능을 갖는 라우터를 이용할 필요가 있고, 통신 장치는 서브어드레스에 대응하지 않는 기존의 라우터를 통하여 프라이빗 네트워크 내의 통신 단말 장치에 대해 액세스할 수 없다는 과제가 있다.
또한, 이상과 같은 통신 방법을 이용한 경우, 통신 장치는 복수의 라우터를 통하여 다른 통신 장치에 액세스할 수 없다는 과제도 있다.
또한, 이상과 같은 통신 방법을 이용한 경우, 통신을 중계하는 라우터가 통신 단말 장치의 통신처의 어드레스 및 포트가 바뀔 때마다, 통신 단말 장치가 행하는 통신의 중계에 사용하는 포트를 인크리먼트시키는 경우, 특히, 2개 이상 인크리먼트시키는 경우, 라우터가 설정한 통신 단말 장치에 대응하는 포트를 특정하는 것이 곤란하고, 통신 장치가 그와 같은 라우터를 통하여 통신 단말 장치에 액세스할 수 없다는 과제도 있다.
도 1은 본 발명을 적용한 네트워크 시스템의 구성예를 도시한 도면.
도 2는 도 1의 중계 장치에 의한 NAPT 변환의 양상을 도시한 도면.
도 3은 도 1의 로컬 통신 장치의 내부의 구성예를 도시한 블록도.
도 4는 도 1의 중계 장치의 내부의 구성예를 도시한 블록도.
도 5는 도 1의 유저용 서비스 제공 장치의 구성예를 도시한 블록도.
도 6은 도 1의 장치용 서비스 제공 장치의 구성예를 도시한 블록도.
도 7은 도 1의 네트워크 시스템에 있어서의 각 장치 사이의 통신 내용을 설명하는 애로우 차트(arrow chart).
도 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의 로컬 통신 장치에 의한 제어 처리의 또 다른 예에 관해 설명하는 순서도.
본 발명은 이와 같은 상황을 감안하여 이루어진 것으로, 통신 단말 장치의 통신처의 어드레스 및 포트가 바뀔 때마다, 통신 단말 장치가 행하는 통신의 중계에 사용하는 포트를 2개 이상 인크리먼트시키는 NAPT 변환을 행하는 기존의 설비에서도, NAPT를 통하여 다른 장치와 용이하게 통신을 행할 수 있도록 한 것이다.
본 발명의 네트워크 시스템은, 제 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의 정보 처리 장치는 제 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의 정보 처리 장치는 제 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의 패킷에 계속해서 공급하도록 할 수 있다.
상기 제 2의 다른 정보 처리 장치는 제 2의 네트워크에 접속되고, 제 1의 어드레스를 갖는 제 3의 다른 정보 처리 장치와, 제 2의 네트워크에 접속되고, 제 2의 어드레스를 갖는 제 4의 다른 정보 처리 장치로 이루어지고, 공급 수단은 제 3의 다른 정보 처리 장치에 제 1의 패킷을 공급하고, 제 4의 다른 정보 처리 장치에 제 2의 패킷을 공급하고, 제 1의 취득 수단은 제 3의 다른 정보 처리 장치로부터 공급된 제 3의 패킷 및 제 4의 다른 정보 처리 장치로부터 공급된 제 4의 패킷을 취득하도록 할 수 있다.
상기 제 1 내지 제 4의 어드레스는 IP 어드레스 및 포트 번호를 포함하도록 할 수 있다.
상기 예측 수단은, 제 4의 어드레스와 제 3의 어드레스의 차분치(差分値)를 산출하고, 산출된 차분치를 제 4의 어드레스에 가산함에 의해 제 5의 어드레스를 예측하도록 할 수 있다.
상기 제 2의 네트워크에 접속되고, 정보 처리 장치 및 제 1의 다른 정보 처리 장치의 제 2의 네트워크상의 어드레스를 관리하는 제 3의 다른 정보 처리 장치에, 예측 수단에 의해 예측된 제 5의 어드레스를 공급하고, 제 5의 어드레스의 등록을 요구하는 제 1의 요구 수단과, 제 1의 다른 정보 처리 장치에 의해 예측되고, 제 3의 다른 정보 처리 장치에 등록되어 있는, 제 1의 다른 정보 처리 장치의 제 2의 네트워크상의 어드레스인 제 6의 어드레스를 요구하는 제 2의 요구 수단과, 제 2의 요구 수단에 의거하여 제 3의 다른 정보 처리 장치로부터 공급된 제 6의 어드레스를 취득하는 제 3의 취득 수단과, 제 3의 취득 수단에 의해 취득된 제 6의 어드레스에 의거하여 설정된 제 1의 다른 정보 처리 장치의 제 2의 네트워크상의 어드레스에, 통신 개통을 요구하는 제 3의 요구 수단을 더 구비하도록 할 수 있다.
상기 제 3의 요구 수단은, 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을, 정보 처리 장치의 제 1의 네트워크상의 복수의 어드레스로부터, 각각 제 2의 어드레스 변환 장치의 제 5의 어드레스로부터 연속하는 복수의 어드레스에 대해 공급하고, 통신 개통을 요구하도록 할 수 있다.
상기 제 3의 요구 수단은 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을, 정보 처리 장치의 제 1의 네트워크상의 복수의 어드레스로부터, 각각 제 2의 어드레스 변환 장치의 제 5의 어드레스로부터 하나 걸러 연속하는 복수의 어드레스에 대해 공급하여, 통신 개통을 요구하도록 할 수 있다.
상기 제 3의 요구 수단은 정보 처리 장치의 제 1의 네트워크상의 복수의 어드레스로부터, 각각 제 2의 어드레스 변환 장치의 제 2의 네트워크상의 연속하는 복수의 어드레스로 이루어지는 복수의 어드레스군이고, 각 어드레스군의 사이에 하나의 어드레스가 존재하는 제 5의 어드레스를 최초의 어드레스군의 선두 어드레스로 하는 복수의 어드레스군의, 서로 다른 어드레스군의 각 어드레스에 대해, 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을 공급하고, 통신 개통을 요구하도록 할 수 있다.
상기 제 3의 요구 수단은 정보 처리 장치의 제 1의 네트워크상의 복수의 어드레스로부터, 각각 제 2의 어드레스 변환 장치의 제 2의 네트워크상의 연속하는 복수의 어드레스로 이루어지는 복수의 어드레스군이고, 제 5의 어드레스를 최초의 어드레스군의 선두 어드레스로 하는 복수의 어드레스군의, 서로 다른 어드레스군의 각 어드레스에 대해 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을 공급하여 통신 개통을 요구하도록 할 수 있다.
상기 제 1의 다른 정보 처리 장치와의 통신을 제어하는 마스터인지 또는 슬레이브인지를 판정하는 마스터/슬레이브 판정 수단을 더 구비하고, 제 3의 요구 수단은 마스터/슬레이브 판정 수단에 의한 판정 결과에 의거하여 선택한 알고리즘에 의거하여 통신 개통을 요구하도록 할 수 있다.
본 발명의 제 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의 프로그램은, 제 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의 다른 정보 처리 장치로부터 공급된, 제 1의 다른 정보 처리 장치에 의해 예측된, 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를 취득하는 취득 수단과, 취득 수단에 의해 취득된 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를 기억하는 기억 수단과, 제 1의 다른 정보 처리 장치의 통신 상대인 제 2의 다른 정보 처리 장치의 요구에 의거하여 기억 수단에 의해 기억되어 있는, 제 1의 다른 정보 처리 장치에 의해 예측된, 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를, 제 2의 다른 정보 처리 장치에 공급하는 공급 수단을 구비하는 것을 특징으로 한다.
본 발명의 제 2의 정보 처리 방법은 제 1의 다른 정보 처리 장치로부터 공급된, 제 1의 다른 정보 처리 장치에 의해 예측된, 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를 취득하는 취득 스텝과, 취득 스텝의 처리에 의해 취득된 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를 기억하는 기억 스텝과, 제 1의 다른 정보 처리 장치의 통신 상대인 제 2의 다른 정보 처리 장치의 요구에 의거하여, 기억 스텝의 처리에 의해 기억되어 있는, 제 1의 다른 정보 처리 장치에 의해 예측된, 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를, 제 2의 다른 정보 처리 장치에 공급하는 공급 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제 2의 프로그램은, 제 1의 다른 정보 처리 장치로부터 공급된, 제 1 의 다른 정보 처리 장치에 의해 예측된, 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를 취득하는 취득 스텝과, 취득 스텝의 처리에 의해 취득된 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를 기억하는 기억 스텝과, 제 1의 다른 정보 처리 장치의 통신 상대인 제 2의 다른 정보 처리 장치의 요구에 의거하여 기억 스텝의 처리에 의해 기억되어 있는, 제 1의 다른 정보 처리 장치에 의해 예측된, 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보를, 제 2의 다른 정보 처리 장치에 공급하는 공급 스텝을 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명의 네트워크 시스템 및 통신 방법에 있어서는, 제 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의 정보 처리 장치 및 방법 및 프로그램에서는 제 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의 어드레스가 예측된다.
본 발명의 제 2의 정보 처리 장치 및 방법 및 프로그램에서는, 제 1의 다른 정보 처리 장치로부터 공급된, 제 1의 다른 정보 처리 장치에 의해 예측된, 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보가 취득되고, 취득된 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보가 기억되고, 제 1의 다른 정보 처리 장치의 통신 상대인 제 2의 다른 정보 처리 장치의 요구에 의거하여 기억되어 있는, 제 1의 다른 정보 처리 장치에 의해 예측된, 제 1의 다른 정보 처리 장치의 네트워크상의 어드레스에 관한 정보가 제 2 의 다른 정보 처리 장치에 공급된다.
이하에 본 발명의 실시의 형태를 설명하지만, 청구의 범위에 기재된 구성 요건과 발명의 실시의 형태에 있어서의 구체예와의 대응 관계를 예시하면, 다음과 같이 된다. 이 기재는, 청구의 범위에 기재된 발명을 지지하는 구체예가 발명의 실시의 형태에 기재되어 있는 것을 확인하기 위한 것이다. 따라서, 발명의 실시의 형태 중에는 기재되어 있지만, 구성 요건에 대응하는 것으로서, 여기에는 기재되어 있지 않은 구체예가 있다고 하더라도, 그 것은 그 구체예가, 그 구성 요건에 대응하는 것이 아닌 것을 의미하는 것이 아니다. 역으로, 구체예가 구성 요건에 대응하는 것으로서 여기에 기재되어 있다고 하여도, 그 것은 그 구체예가, 그 구성 요건 이외의 구성 요건에는 대응하지 않는 것을 의미하는 것도 아니다.
또한, 이 기재는 발명의 실시의 형태에 기재되어 있는 구체예에 대응하는 발명이 청구 범위에 전부 기재되어 있는 것을 의미하는 것이 아니다. 환언하면, 이 기재는 발명의 실시의 형태에 기재되어 있는 구체예에 대응하는 발명이고, 이 출원의 청구 범위에는 기재되어 있지 않은 발명의 존재, 즉, 장래, 분할 출원되거나 보정에 의해 추가되는 발명의 존재를 부정하는 것이 아니다.
청구 범위 제 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의 유저 ID(311))에 관련시켜 기억하고(예를 들면, 도 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의 유저 ID(311))에 관련시켜 기억하고(예를 들면, 도 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) 것을 특징으로 한다.
청구의 범위 제 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) 것을 특징으로 한다.
청구의 범위 제 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의 유저 ID(311))에 관련시켜 기억하고(예를 들면, 도 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의 유저 ID(311))에 관련시켜 기억하고(예를 들면, 도 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) 것을 특징으로 한다.
청구 범위 제 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))을 구비하는 것을 특징으로 한다.
청구의 범위 제 5항에 기재된 정보 처리 장치의 상기 공급 수단은, 상기 제 2의 패킷을 상기 제 1의 패킷에 계속해서 공급하는(도 8의 스텝 S4 및 S6 또는 스텝 S44 및 S46) 것을 특징으로 한다.
청구의 범위 제 6항에 기재된 정보 처리 장치와는 다른 상기 제 2의 다른 정보 처리 장치는, 상기 제 2의 네트워크에 접속되고, 상기 제 1의 어드레스를 갖는 제 3의 다른 정보 처리 장치(예를 들면, 도 1의 장치용 서비스 제공 장치(51))와, 상기 제 2의 네트워크에 접속되고, 상기 제 2의 어드레스를 갖는 제 4의 다른 정보 처리 장치(예를 들면, 도 1의 장치용 서비스 제공 장치(52))로 이루어지고, 상기 공급 수단은 상기 제 3의 다른 정보 처리 장치에 상기 제 1의 패킷을 공급하고, 상기 제 4의 다른 정보 처리 장치에 상기 제 2의 패킷을 공급하고, 상기 제 1의 취득 수단은 상기 제 3의 다른 정보 처리 장치로부터 공급된 상기 제 3의 패킷 및 상기 제 4의 다른 정보 처리 장치로부터 공급된 상기 제 4의 패킷을 취득하는 것을 특징으로 한다.
청구의 범위 제 7항에 기재된 정보 처리 장치의 상기 제 1 내지 제 4의 어드레스는 IP 어드레스 및 포트 번호를 포함하는(예를 들면, 도 19의 예상 통신원 Glo-IP-port에 도시된 바와 같이 구성된다) 것을 특징으로 한다.
청구의 범위 제 8항에 기재된 정보 처리 장치의 상기 예측 수단은 상기 제 4의 어드레스와 상기 제 3의 어드레스의 차분치를 산출하고, 산출된 상기 차분치를 상기 제 4의 어드레스에 가산함에 의해 상기 제 5의 어드레스를 예측하는(도 15의 스텝 S179) 것을 특징으로 한다.
청구의 범위 제 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))을 더 구비하는 것을 특징으로 한다.
청구의 범위 제 10항에 기재된 정보 처리 장치의 상기 제 3의 요구 수단은 상기 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을, 상기 정보 처리 장치의 상기 제 1의 네트워크상의 복수의 어드레스로부터 각각 상기 제 2의 어드레스 변환 장치의, 상기 제 5의 어드레스로부터 연속하는 복수의 어드레스에 대해 공급하고, 상기 통신 개통을 요구하는(예를 들면, 도 23의 통신 시작 요구 처리) 것을 특징으로 한다.
청구의 범위 제 11항에 기재된 정보 처리 장치의 상기 제 3의 요구 수단은 상기 제 1 의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을 상기 정보 처리 장치의 상기 제 1의 네트워크상의 복수의 어드레스로부터 각각 상기 제 2의 어드레스 변환 장치의 상기 제 5의 어드레스로부터 하나 걸러 연속하는 복수의 어드레스에 대해 공급하고, 상기 통신 개통을 요구하는(예를 들면, 도 40의 제 2 통신 시작 요구 처리) 것을 특징으로 한다.
청구의 범위 제 12항에 기재된 정보 처리 장치의 상기 제 3의 요구 수단은 상기 정보 처리 장치의 상기 제 1의 네트워크상의 복수의 어드레스로부터 각각 상기 제 2의 어드레스 변환 장치의 상기 제 2의 네트워크상의, 연속하는 복수의 어드레스로 이루어지는 복수의 어드레스군이고, 각 어드레스군의 사이에 하나의 어드레스가 존재하는, 상기 제 5의 어드레스를 최초의 어드레스군의 선두 어드레스로 하는 복수의 상기 어드레스군의, 서로 다른 상기 어드레스군의 각 어드레스에 대해, 상기 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을 공급하고, 상기 통신 개통을 요구하는(예를 들면, 도 44의 제 3 통신 시작 요구 처리) 것을 특징으로 한다.
청구의 범위 제 13항에 기재된 정보 처리 장치의 상기 제 3의 요구 수단은, 상기 정보 처리 장치의 상기 제 1의 네트워크상의 복수의 어드레스로부터 각각 상기 제 2의 어드레스 변환 장치의 상기 제 2의 네트워크상의, 연속하는 복수의 어드레스로 이루어지는 복수의 어드레스군이고, 상기 제 5의 어드레스를 최초의 어드레스군의 선두 어드레스로 하는 복수의 상기 어드레스군의, 서로 다른 상기 어드레스군의 각 어드레스에 대해, 상기 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을 공급하고, 상기 통신 개통을 요구하는(예를 들면, 도 45의 제 4 통신 시작 요구 처리) 것을 특징으로 한다.
청구의 범위 제 14항에 기재된 정보 처리 장치는, 상기 제 1의 다른 정보 처리 장치와의 통신을 제어하는 마스터인지 또는 슬레이브인지를 판정하는 마스터/슬레이브 판정 수단(예를 들면, 도 39의 스텝 S391의 처리를 실행하는 도 3의 통신 정보 취득 처리부(65))을 더 구비하고, 상기 제 3의 요구 수단은, 상기 마스터/슬레이브 판정 수단에 의한 판정 결과에 의거하여 선택한 알고리즘에 의거하여, 상기 통신 개통을 요구하는(예를 들면, 도 39의 제어 처리) 것을 특징으로 한다.
청구의 범위 제 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)을 포함하는 것을 특징으로 한다.
청구의 범위 제 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)을 컴퓨터에 실행시키는 것을 특징으로 한다.
청구의 범위 제 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))를 구비하는 것을 특징으로 한다.
청구의 범위 제 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)을 포함하는 것을 특징으로 한다.
청구의 범위 제 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)을 컴퓨터에 실행시키는 것을 특징으로 한다.
이하에, 본 발명의 실시의 형태에 관해 도면을 참조하여 설명한다.
도 1은 본 발명을 적용한 네트워크 시스템의 구성예를 도시하고 있다.
도 1에 도시된 네트워크 시스템에 있어서, 각각이 인스턴트 메시지 서비스(이하, IM 서비스라고 칭한다)의 통신 단말 장치인 n대의 로컬 통신 장치(11-1 내지 11-n)는 각각 NAPT 기능을 갖는 라우터인 중계 장치(12)에 접속되어 있고, 프라이빗 네트워크(10)를 형성하고 있다. 중계 장치(12)는, 또한 인터넷으로 대표되는 글로벌한 네트워크(21)와 접속되어 있고, 네트워크(21)에 있어서의 글로벌한 어드레스인 글로벌 어드레스가 할당되어 있다. 또한, 중계 장치(12)는 글로벌 어드레스의 서브어드레스로서 복수의 포트를 가지고 있다.
또한, 이하에 있어서, 로컬 통신 장치(11-1 내지 11-n)를 나누어 설명할 필요가 없는 경우, 로컬 통신 장치(11)라고 칭한다.
마찬가지로, 각각이 인스턴트 메시지 서비스(이하, IM 서비스라고 칭한다) 통신 단말 장치인 n대의 로컬 통신 장치(31-1 내지 31-n)는 각각 NAPT 기능을 갖는 라우터인 중계 장치(32)에 접속되어 있고, 프라이빗 네트워크(10)와는 다른 프라이빗 네트워크(30)를 형성하고 있다. 중계 장치(32)는, 또한, 네트워크(21)와 접속되어 있고, 네트워크(21)에 있어서 글로벌한 어드레스인 글로벌 어드레스가 할당되어 있다. 또한, 중계 장치(32)는 글로벌 어드레스의 서브어드레스로서 복수의 포트를 가지고 있다.
또한, 이하에 있어서, 로컬 통신 장치(31-1 내지 31-n)를 나누어 설명할 필요가 없는 경우, 로컬 통신 장치(31)라고 칭한다.
도 2에 도시된 바와 같이 프라이빗 네트워크(10)의 로컬 통신 장치(11-1 내지 11-n)에는 각각 프라이빗 네트워크(10)에 있어서의 프라이빗 어드레스가 할당되어 있다. 또한, 로컬 통신 장치(11)는 프라이빗 어드레스의 서브어드레스로서 복수의 포트를 가지고 있다.
로컬 통신 장치(11)는, 예를 들면, 네트워크(21)를 통하여 데이터를 송신하는 경우, 할당된 프라이빗 어드레스 및 포트의 정보를 송신원의 어드레스 포트 정보(Pri-IP-port)로서 데이터와 함께 중계 장치(12)에 공급한다.
중계 장치(12)는, NAPT 기능을 이용하여 로컬 통신 장치(11)로부터 취득한 프라이빗 네트워크(10)에 있어서의 어드레스 포트 정보(Pri-IP-port)(이하, 프라이빗 어드레스 포트 정보라고 칭한다)를 글로벌 어드레스와, 글로벌한 포트로 이루어지는 네트워크(21)에 있어서의 어드레스 포트 정보(Glo-IP-port)(이하, 글로벌 어드레스 포트 정보라고 칭한다)로 변환하고, 취득한 데이터와 함께 네트워크(21)에 공급한다.
또한, 프라이빗 네트워크(30)에서도 로컬 통신 단말 장치(31)나 중계 장치(32)에 의해 프라이빗 네트워크(10)의 경우와 같은 처리가 행하여지기 때문에 그 설명은 생략한다.
로컬 통신 장치(11) 및 로컬 통신 장치(31)는, 유저용 서비스 제공 장치(41) 및 장치용 서비스 제공 장치(51)가 제공하는 IM 서비스를 이용함에 의해, 프라이빗 네트워크(10 및 30), 중계 장치(12 및 32) 및 네트워크(21)를 통하여 서로 통신을 행한다.
또한, 이하에 있어서, 로컬 통신 장치(11)가 중계 장치(12)를 통하여 네트워크(21)측의 장치와 통신을 행하는 경우에 중계 장치(12)가 행하는 NAPT에 의한 어드레스 포트 정보의 변환 처리에 관한 설명은, 필요하지 않은 경우 적절히 생략한다. 또한, 중계 장치(32)에 의한 변환 처리에 관해서도 마찬가지로 적절히 생략한다.
도 1로 되돌아와, 네트워크(21)에는 중계 장치(12 및 32) 외에, 로컬 통신 장치(11 및 31)가 이용하는 IM 서비스를 제공한 서버인 유저용 서비스 제공 장치(41), 장치용 서비스 제공 장치(51) 및 장치용 서비스 제공 장치(52)가 접속되어 있다.
유저용 서비스 제공 장치(41)는, 네트워크(21)를 통하여 IM 서비스의 일부이며, IM 서비스를 이용하는 로컬 통신 장치(11 또는 31)의 유저에 대한 서비스인 유저용 서비스를 제공한다. 유저용 서비스 제공 장치(41)는 프라이빗 어드레스(10), 중계 장치(12) 및 네트워크(21)를 통하여 액세스하여 온 로컬 통신 장치(11) 또는 프라이빗 어드레스(30), 중계 장치(32) 및 네트워크(21)를 통하여 액세스하여 온 로컬 통신 장치(31)와 통신을 행함에 의해 유저용 서비스를 제공한다.
또한, 장치용 서비스 제공 장치(51 및 52)는, 네트워크(21)를 통하여 IM 서비스의 일부이며, IM 서비스를 이용하는 로컬 통신 장치(11 또는 31)에 대한 서비스인 장치용 서비스를 제공한다. 장치용 서비스 제공 장치(51 및 52)는 프라이빗 어드레스(10), 중계 장치(12) 및 네트워크(21)를 통하여 액세스하여 온 로컬 통신 장치(11) 또는 프라이빗 어드레스(30), 중계 장치(32) 및 네트워크(21)를 통하여 액세스하여 온 로컬 통신 장치(31)와 통신을 행함에 의해 장치용 서비스를 제공한다.
도 3은, 도 1의 로컬 통신 장치(11)의 내부의 구성예를 도시한 블록도이다.
도 3에 있어서, 로컬 통신 장치(11)의 CPU(Central Processing Unit)(61)는, ROM(Read Only Memory)(62)에 기억되어 있는 프로그램에 따라 각종의 처리를 실행한다. RAM(Random Access Memory)(63)에는 CPU(61)가 각종 처리를 실행하는데 있어서 필요한 데이터나 프로그램 등이 적절히 기억된다.
인증 처리부(64)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, IM 서비스가 제공되는 로컬 통신 장치(11)의 유저의 인증에 관한 처리를 행한다. 통신 정보 취득 처리부(65)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, 다른 로컬 통신 장치에 접속하는 경우에 필요한 통신 정보의 취득에 관한 처리를 실행한다. 로컬간 통신 제어부(66)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, IM 서비스를 이용한 통신에 있어서 통신 상대가 되는 다른 로컬 통신 장치와의 통신을 제어한다.
유저 인증용 인터페이스 제공 처리부(67)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, 유저 인증시에 유저로부터의 입력을 접수하기 위한 GUI(Graphical User Interface)를 제공한다.
유저 특정용 인터페이스 제공 처리부(68)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, 유저가 송신 상대에 관한 정보를 입력하기 위한 GUI를 제공한다.
CPU(61), ROM(62), RAM(63), 인증 처리부(64), 통신 정보 취득 처리부(65), 로컬간 통신 제어부(66), 유저 인증용 인터페이스 제공 처리부(67) 및 유저 특정용 인터페이스 제공 처리부(68)는 버스(70)를 통하여 서로 접속되어 있다. 이 버스(70)에는 또한 입출력 인터페이스(80)도 접속되어 있다.
입출력 인터페이스(80)는 키보드나 마우스로 구성되는 입력부(81)가 접속되고, 입력부(81)에 입력된 신호를 CPU(61)에 출력한다. 또한, 입출력 인터페이스(80)에는 디스플레이나 스피커 등으로 구성되는 출력부(82)도 접속되어 있다.
또한, 입출력 인터페이스(80)에는 하드디스크나 EEPROM(Electronically Erasable and Programmable Read Only Memory) 등으로 구성되는 기억부(83) 및 프라이빗 네트워크(10) 등의 네트워크를 통하여 다른 장치와 데이터의 통신을 행하는 통신부(84)도 접속되어 있다. 드라이브(85)는 자기 디스크, 광디스크, 광자기 디스크 또는 반도체 메모리 등의 기록 매체로 이루어지는 리무버블 미디어(91)로부터 데이터를 판독하거나, 데이터를 기록하거나 할 때에 이용된다.
또한, 도 1의 로컬 통신 장치(31)의 내부의 구성예는 로컬 통신 장치(11)의 경우와 같고, 도 3의 블록도를 적용할 수 있기 때문에 그 설명을 생략한다.
도 4는 도 1의 중계 장치(12)의 내부의 구성예를 도시한 블록도이다.
도 4에 있어서, 중계 장치(12)의 CPU(101)는 ROM(102)에 기억되어 있는 프로그램에 따라 각종의 처리를 실행한다. RAM(103)에는 CPU(101)가 각종의 처리를 실행하는데 있어서 필요한 데이터나 프로그램 등이 적절히 기억된다.
어드레스 변환부(104)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, 통신부(124)를 통하여 로컬 통신 장치(11)로부터 공급된, 프라이빗 네트워크(10)에 있어서의 프라이빗 어드레스 포트 정보를, 네트워크(21)에 있어서의 글로벌 어드레스 포트 정보로 변환하는 처리를 행한다.
CPU(101), ROM(102), RAM(103) 및 어드레스 변환 처리부(104)는 버스(110)를 통하여 서로 접속되어 있다. 이 버스(110)에는 또한, 입출력 인터페이스(120)도 접속되어 있다.
입출력 인터페이스(120)는 키보드나 마우스로 구성되는 입력부(121)가 접속되고, 입력부(121)에 입력된 신호를 CPU(101)에 출력한다. 또한, 입출력 인터페이스(120)에는 디스플레이나 스피커 등으로 구성되는 출력부(122)도 접속되어 있다.
또한, 입출력 인터페이스(120)에는 하드디스크나 EEPROM 등으로 구성되는 기억부(123) 및 프라이빗 네트워크(10)나 네트워크(21)를 통하여 다른 장치와 데이터의 통신을 행하는 통신부(124)도 접속되어 있다. 드라이브(125)는 자기 디스크, 광디스크, 광자기 디스크 또는 반도체 메모리 등의 기록 매체로 이루어지는 리무버블 미디어(131)로부터 데이터를 판독하거나, 데이터를 기록하거나 할 때에 이용된다.
또한, 도 1의 중계 장치(32)의 내부의 구성예는, 중계 장치(12)의 경우와 같고, 도 4의 블록도를 적용할 수 있기 때문에, 그 설명을 생략한다.
도 5는 도 1의 유저용 서비스 제공 장치(41)의 내부의 구성예를 도시한 블록도이다.
도 5에 있어서, 유저용 서비스 제공 장치(41)의 CPU(151)는 ROM(152)에 기억되어 있는 프로그램에 따라 각종의 처리를 실행한다. RAM(153)에는 CPU(151)가 각종의 처리를 실행하는데 있어서 필요한 데이터나 프로그램 등이 적절히 기억된다.
인증 처리부(154)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, IM 서비스를 제공하는 유저의 인증 처리를 행한다. 유저 등록 정보 관리 처리부(155)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, 로컬 통신 장치로부터 공급되고, 유저 등록 정보 데이터베이스(177)에 등록되어 있는 유저 등록 정보의 관리에 관한 처리를 행한다.
CPU(151), ROM(152), RAM(153), 인증 처리부(154) 및 유저 등록 정보 관리 처리부(155)는 버스(160)를 통하여 서로 접속되어 있다. 이 버스(160)에는 또한, 입출력 인터페이스(170)도 접속되어 있다.
입출력 인터페이스(170)는 키보드나 마우스로 구성되는 입력부(171)가 접속되고, 입력부(171)에 입력된 신호를 CPU(151)에 출력한다. 또한, 입출력 인터페이스(170)에는 디스플레이나 스피커 등으로 구성되는 출력부(172)도 접속되어 있다.
또한, 입출력 인터페이스(170)에는 하드디스크나 EEPROM 등으로 구성되는 기억부(173) 및 네트워크(21) 등을 통하여 다른 장치와 데이터의 통신을 행하는 통신부(174)도 접속되어 있다. 드라이브(175)는 자기 디스크, 광디스크, 광자기 디스크 또는 반도체 메모리 등의 기록 매체로 이루어지는 리무버블 미디어(181)로부터 데이터를 판독하거나, 데이터를 기록하거나 할 때에 이용된다.
또한, 입출력 인터페이스(170)에는 인증 처리부(154)가 실행하는 인증 처리에서 이용되는 유저 인증 정보를 기억하는 유저 인증 정보 데이터베이스(176) 및 IM 서비스에 관한 유저마다의 정보인 유저 등록 정보를 기억하는 유저 등록 정보 데이터베이스(177)가 접속되어 있다.
도 6은, 도 1의 장치용 서비스 제공 장치(51)의 내부의 구성예를 도시한 블록도이다.
도 6에 있어서, 장치용 서비스 제공 장치(51)의 CPU(201)는, ROM(202)에 기억되어 있는 프로그램에 따라 각종의 처리를 실행한다. RAM(203)에는 CPU(201)가 각종의 처리를 실행하는데 있어서 필요한 데이터나 프로그램 등이 적절히 기억된다.
어드레스 포트 정보 제공 처리부(204)는 제어부, 연산부 또는 데이터 보존부(모두 도시 생략)를 내장하고 있고, 로컬 통신 장치(11 또는 31)로부터의 요구에 의거하여 그들의 글로벌 어드레스 포트 정보를 조사하고, 제공한다.
CPU(201), ROM(202), RAM(203) 및 어드레스 포트 정보 제공 처리부(204)는 버스(210)를 통하여 서로 접속되어 있다. 이 버스(210)에는 또한, 입출력 인터페이스(220)도 접속되어 있다.
입출력 인터페이스(220)는 키보드나 마우스로 구성되는 입력부(221)가 접속되고, 입력부(221)에 입력된 신호를 CPU(201)에 출력한다. 또한, 입출력 인터페이스(220)에는 디스플레이나 스피커 등으로 구성되는 출력부(222)도 접속되어 있다.
또한, 입출력 인터페이스(220)에는 하드디스크나 EEPROM 등으로 구성되는 기억부(223) 및 네트워크(21) 등을 통하여 다른 장치와 데이터의 통신을 행하는 통신부(224)도 접속되어 있다. 드라이브(225)는 자기 디스크, 광디스크, 광자기 디스크 또는 반도체 메모리 등의 기록 매체로 이루어지는 리무버블 미디어(231)로부터 데이터를 판독하거나, 데이터를 기록하거나 할 때에 이용된다.
또한, 도 1의 장치용 서비스 제공 장치(52)는 도 6의 장치용 서비스 제공 장치와 기본적으로 같은 구성이고, 또한, 같은 처리를 행하고, 도 6의 블록도를 적용할 수 있기 때문에, 그 설명을 생략한다.
다음에, 도 7 내지 도 10의 애로우 차트(arrow chart)를 참조하여, 도 1의 네트워크 시스템에 있어서의 각 장치가 실행하는 처리의 흐름의 예에 관해 설명한다. 또한, 필요에 따라 도 11 내지 도 29를 참조하여 상세한 설명을 행한다.
또한, 여기서는, 로컬 통신 장치(11)가 유저용 서비스 제공 장치(41) 및 장치용 서비스 제공 장치(51)가 제공하는 IM 서비스를 이용하여, 로컬 통신 장치(31)와 통신을 행하는 경우, 즉, 서로 다른 프라이빗 네트워크에 존재하는 통신 장치 사이에서 NAPT 기능을 갖는 2개의 라우터를 이용하여 통신을 행하는 경우에 관해 설명한다.
최초로, IM 서비스를 이용하기 위해, 로컬 통신 장치(11)는 유저에게 조작되어, 스텝 S1에서 유저의 인증 처리의 요구를 중계 장치(12)를 통하여 유저용 서비스 제공 장치(41)에 공급한다. 유저용 서비스 제공 장치(41)는 스텝 S21에서 공급된 인증 요구를 취득한다.
마찬가지로, IM 서비스를 이용하기 위해 로컬 통신 장치(31)는, 유저에게 조작되어, 스텝 S41에서 유저의 인증 처리의 요구를 중계 장치(32)를 통하여 유저용 서비스 제공 장치(41)에 공급한다. 유저용 서비스 제공 장치(41)는 스텝 S21에서, 공급된 인증 요구를 취득한다.
로컬 통신 장치(11 또는 31)로부터 인증 요구를 취득한 유저용 서비스 제공 장치(41)는 스텝 S23에서 각각에 관해 인증 처리를 행한다. 그리고, 로컬 통신 장치(11 또는 31)의 유저가 인증된 경우, 유저용 서비스 제공 장치(41)는 스텝 S24에서 로컬 통신 장치(11 또는 31)에 대해 네트워크(21)를 통하여 인증 성공 통지를 공급한다.
로컬 통신 장치(11)는, 스텝 S2에서 그 인증 성공 통지를 취득하고, 유저가 인증된 것을 확인한다. 마찬가지로, 로컬 통신 장치(31)는 스텝 S42에서 유저용 서비스 제공 장치(41)로부터 공급된 인증 성공 통지를 취득하고, 유저가 인증된 것을 확인한다.
또한, 이상의 통신에 있어서, 로컬 통신 장치(11 및 31) 및 유저용 서비스 제공 장치(41)는 송수신하는 패킷을 HTTP(HyperText Transfer Protocol)나 RTP(Real-time Transport Protocol) 등을 이용한 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜 체계에 의거하여 처리한다.
이상의 처리에 있어서, 로컬 통신 장치(11)가 실행하는 인증 처리의 예에 관해, 도 11의 순서도를 참조하여 설명한다. 필요에 따라 도 12를 참조하여 설명한다.
유저에게 조작되어 인증 처리를 시작한 로컬 통신 장치(11)의 인증 처리부(64)는 스텝 S121에서 통신부(84)를 제어하고, 중계 장치(12)를 통하여 유저용 서비스 제공 장치(41)에 유저 인증에 관한 정보를 요구한다.
유저 인증에 관한 정보를 요구받은 유저용 서비스 제공 장치(41)는, 후술하는 바와 같이 유저 인증에 관한 정보를 네트워크(21)를 통하여 요구원인 로컬 통신 장치(11)에 공급한다.
인증 처리부(64)는 통신부(84)를 제어하고, 유저 인증에 관한 정보를 접수하고, 소정의 시간이 경과한 후에 스텝 S122의 처리를 실행하여 유저 인증에 관한 정보를 취득하였는지의 여부를 판정한다. 유저 인증에 관한 정보를 취득하였다고 판정한 경우, 인증 처리부(64)는 취득한 유저 인증에 관한 정보에 의거하여 유저 인증용 인터페이스 제공 처리부(67)를 제어하고, 유저 인증용의 GUI를 공급시키고, 스텝 S123에서 그 GUI를 출력부(82)에 공급하고, 도 12에 도시된 바와 같은 인증 화면을 디스플레이에 표시시킨다.
도 12에 도시된 바와 같이 인증 화면(251)에는, IM 서비스의 인증 화면인 것을 나타내는「XXX 서비스 로그인 사이트」라는 메시지 외에, 서비스를 이용하는 유저(로컬 통신 장치(11)의 유저)의 유저 ID를 입력하는 유저 ID 입력란(252), 유저 ID에 관련시켜 설정되어 있는 패스워드를 입력하는 패스워드 입력란(253), 유저가 조작함에 의해 인증 요구가 유저용 서비스 제공 장치(41)에 공급되는 로그인 버튼(254) 및 유저가 조작함에 의해 인증 처리가 중지되는 취소 버튼(255)이 마련되어 있다.
IM 서비스의 유저 ID 및 패스워드는, IM 서비스를 이용하는 로컬 통신 장치(11)의 유저에 대해 미리 할당된 정보이다. 인증 처리를 행하는 경우, 로컬 통신 장치(11)의 유저는 그 유저 ID 및 패스워드를 각각 유저 ID 입력란(252) 및 패스워드 입력란(253)에 입력하고, 로그인 버튼(254)을 조작한다.
도 11로 되돌아와, 스텝 S124에서 인증 처리부(64)는 입력부(81)를 제어하고, 유저 ID 및 패스워드로 이루어지는 유저 인증 정보의 입력을 접수하였는지의 여부를 판정하고, 접수하였다고 판정할 때까지 대기한다.
유저가 입력부(81)를 조작하여, 유저 인증 정보를 입력하였다고 판정한 경우, 인증 처리부(64)는 스텝 S125로 처리를 진행하고, 접수한 유저 인증 정보를 인증 요구로서, 중계 장치(12)를 통하여 유저용 서비스 제공 장치(41)에 공급한다. 이 처리는 도 7의 스텝 S1의 처리에 대응한다.
유저용 서비스 제공 장치(41)는, 그 유저 인증 정보를 포함하는 인증 요구를 취득하면, 유저 인증 정보에 관해 인증을 행하고, 인증 결과를 네트워크(21)를 통하여 로컬 통신 장치(11)에 공급한다.
로컬 통신 장치(11)의 인증 처리부(64)는 통신부(84)를 제어하고, 유저 인증에 관한 정보를 접수하고, 소정 시간이 경과한 후에 스텝 S126에서 그 인증 결과를 취득하였는지의 여부를 판정한다.
도 7의 스텝 S2의 처리와 같이 인증 결과를 취득하였다고 판정한 경우, 인증 처리부(64)는 스텝 S127에서 취득한 인증 결과에 의거하여 로컬 통신 장치(11)의 유저가 인증되었는지의 여부를 판정하고, 인증되었다고 판정한 경우, 스텝 S128에서 출력부(82)를 제어하고, 인증된 것을 나타내는 인증 메시지를 디스플레이에 표시시키고, 인증 처리를 종료한다.
스텝 S122에 있어서 유저 인증에 관한 정보를 취득하지 않았다고 판정한 경우, 인증 처리부(64)는 스텝 S129로 처리를 진행하고, 출력부(82)를 제어하고, 인증에 실패한 것을 나타내는 에러 메시지를 디스플레이에 표시시킨다.
에러 메시지를 표시시킨 인증 처리부(64)는, 스텝 S130에 있어서 인증을 재차 행하는지의 여부를 판정하고, 유저의 조작 등에 의거하여 인증을 재차 행한다고 판정한 경우 스텝 S123으로 처리를 되돌리고, 그 이후의 처리를 반복한다.
스텝 S130에 있어서 인증을 재차 행하지 않고, 인증 처리를 종료한다고 판정한 경우 인증 처리부(64)는 인증 처리를 종료한다.
스텝 S126에 있어서 유저용 서비스 제공 장치(41)로부터 공급된 인증 기를 취득하지 않았다고 판정한 경우, 인증 처리부(64)는 스텝 S129로 처리를 진행하고, 상술한 바와 같이 처리를 행한다.
또한, 스텝 S127에 있어서 유저가 인증되지 않았다고 판정한 경우, 인증 처리부(64)는 스텝 S129로 처리를 진행하고, 상술한 바와 같이 처리를 행한다.
또한, IM 서비스를 이용하는 로컬 통신 장치(31)는 상술한 처리와 같은 인증 처리를 행한다. 따라서, 로컬 통신 장치(31)에 의한 인증 처리에 관해서는 도 11의 순서도 및 도 12의 인증 화면의 예를 적용할 수 있기 때문에, 그 설명을 생략한다.
다음에, 이 인증 처리에 대응하여 실행되는 유저용 서비스 제공 장치(41)에 의한 인증 처리의 예에 관해, 도 13의 순서도를 참조하여 설명한다. 필요에 따라 도 14를 참조하여 설명한다.
유저용 서비스 제공 장치(41)의 인증 처리부(154)는 스텝 S151에 있어서 통신부(174)를 제어하고, 도 9의 스텝 S121의 처리에 의해 네트워크(21)를 통하여 로컬 통신 장치(11 또는 31)로부터 공급되는 유저 인증에 관한 정보가 요구되었는지의 여부를 판정하고, 요구되었다고 판정할 때까지 대기한다.
유저 인증에 관한 정보가 요구되었다고 판정한 경우, 인증 처리부(154)는 통신부(174)를 제어하고, 스텝 S152에 있어서 요구원에 대해 유저 인증에 관한 정보를 공급한다.
유저 인증에 관한 정보를 공급한 인증 처리부(154)는 통신부(174)를 제어하고, 유저 인증 정보를 접수하고, 소정의 시간이 경과한 후에, 스텝 S153에 있어서 도 11의 스텝 S125의 처리에 의해 로컬 통신 장치(11 또는 31)로부터 공급된 유저 인증 정보를 취득하였는지의 여부를 판정한다.
유저 인증 정보를 취득하였다고 판정한 경우, 인증 처리부(154)는 스텝 S154로 처리를 진행하고, 유저 인증 정보 데이터베이스(176)를 참조하여 인증 처리를 행한다. 이 처리는 도 7의 스텝 S23의 처리에 대응한다.
도 14는, 유저 인증 정보 데이터베이스(176)가 유저 인증 정보를 기억하는 양상을 도시한 모식도이다. 유저 인증 정보 데이터베이스(176)는, 미리 등록된 유저 인증 정보(261)를 유저 ID와 유저용 패스워드를 서로 대응시켜 기억하고 있다. 인증 처리부(154)는, 이 미리 등록된 유저 인증 정보(261)를 참조하여, 취득한 유저 인증 정보를 비교함에 의해 정당한 유저인지의 여부를 판정한다.
도 13으로 되돌아와, 인증 처리부(154)는 스텝 S155에 있어서 통신부(174)를 제어하고, 그 인증 결과를, 네트워크(21)를 통하여 로컬 통신 장치(11 또는 31)에 공급한다. 이 처리는 도 7의 스텝 S24의 처리에 대응한다. 인증 결과를 공급한 인증 처리부(154)는 인증 처리를 종료한다. 또한, 인증 처리를 종료한 인증 처리부(154)는 CPU(151)의 제어 등에 의해 상술한 인증 처리와 같은 새로운 인증 처리를 시작한다.
스텝 S153에 있어서 유저 인증 정보를 취득하지 않았다고 판정한 경우, 인증 처리부(154)는 인증 처리를 종료한다. 또한, 인증 처리를 종료한 인증 처리부(154)는, CPU(151)의 제어 등에 의해 상술한 인증 처리와 같은 새로운 인증 처리를 시작한다.
도 7로 되돌아와, 스텝 S2에서 인증이 성공한 것을 나타내는 인증 성공 통지를 취득하면, 로컬 통신 장치(11)는 후술하는 바와 같이 GUI 화면을 표시하고, 유저에게 통신 상대를 지정시킨다. 유저가 통신 상대를 결정하면, 로컬 통신 장치(11)는 스텝 S3에서 통신 상대의 글로벌 어드레스 포트 정보 등을 포함하는 통신 정보의 요구를 중계 장치(12)를 통하여 유저용 서비스 제공 장치(41)에 공급한다. 유저용 서비스 제공 장치(41)는 스텝 S25에서 공급된 통신 정보의 요구를 취득한다.
또한, 이, 유저용 서비스 제공 장치(41)가 취득한 통신 정보의 요구는 중계 장치(12)를 통하여 공급되고 있고, 중계 장치(12)에서 NAPT 변환되었을 때, 중계 장치(12)의 (로컬 통신 장치(11)에 대응하는) 글로벌 어드레스 포트 정보가 부가된다.
마찬가지로, 스텝 S42에서 인증이 성공한 것을 나타내는 인증 성공 통지를 취득하면, 로컬 통신 장치(31)는 후술하는 바와 같이 GUI 화면을 표시하고, 유저에게 통신 상대를 지정시키고, 유저가 통신 상대를 결정하면, 스텝 S43에서 통신 상대의 글로벌 어드레스 포트 정보 등을 포함하는 통신 정보의 요구를 중계 장치(32)를 통하여 유저용 서비스 제공 장치(41)에 공급한다. 유저용 서비스 제공 장치(41)는 스텝 S26에서 공급된 통신 정보의 요구를 취득한다.
또한, 이, 유저용 서비스 제공 장치(41)가 취득한 통신 정보의 요구는, 중계 장치(32)를 통하여 공급되고 있고, 중계 장치(32)에서 NAPT 변환된 때, 중계 장치(32)의 (로컬 통신 장치(31)에 대응하는) 글로벌 어드레스 포트 정보가 부가된다.
로컬 통신 장치(11 또는 31)로부터 통신 정보의 요구를 취득한 유저용 서비스 제공 장치(41)는, 스텝 S27에서 후술하는 바와 같이 공급된 통신 정보의 요구에 부가된, 중계 장치(12 또는 32)의 글로벌 어드레스 포트 정보를 이용하여, 미리 유저 등록 정보 데이터베이스(176)에 등록되어 있는 유저 등록 정보를 갱신한다.
또한, 이상의 통신에 있어서, 로컬 통신 장치(11 및 31) 및 유저용 서비스 제공 장치(41)는, 송수신하는 패킷을 HTTP나 RTP 등을 이용한 TCP/IP 프로토콜 체계에 의거하여 처리한다.
통신 정보의 요구를 공급한 로컬 통신 장치(11)는 도 8의 스텝 S4로 처리를 진행하고, 후술하는 바와 같은 서비스 요구 패킷을 중계 장치(12)를 통하여 장치용 서비스 제공 장치(51)에 공급한다. 장치용 서비스 제공 장치(51)는 스텝 S61에서 그 서비스 요구 패킷을 취득한다.
또한, 이, 장치용 서비스 제공 장치(51)가 취득한 서비스 요구 패킷은 중계 장치(12)를 통하여 공급되고 있고, 중계 장치(12)에서 NAPT 변환되었을 때, 중계 장치(12)의 (로컬 통신 장치(11)에 대응하는) 글로벌 어드레스 포트 정보가 부가되고 있다.
마찬가지로, 통신 정보의 요구를 공급한 로컬 통신 장치(31)는 도 8의 스텝 S44로 처리를 진행하고, 후술하는 바와 같은 서비스 요구 패킷을 중계 장치(32)를 통하여 장치용 서비스 제공 장치(51)에 공급한다. 장치용 서비스 제공 장치(51)는 스텝 S62에서 그 서비스 요구 패킷을 취득한다.
또한, 이, 장치용 서비스 제공 장치(51)가 취득한 서비스 요구 패킷은 중계 장치(32)를 통하여 공급되고, 중계 장치(32)에서 NAPT 변환된 때, 중계 장치(32)의 (로컬 통신 장치(31)에 대응하는) 글로벌 어드레스 포트 정보가 부가된다.
로컬 통신 장치(11 또는 31)로부터 서비스 요구 패킷을 취득한 장치용 서비스 제공 장치(51)는, 스텝 S63에서 취득한 서비스 요구 패킷에 부가된 중계 장치(12 또는 32)의 글로벌 어드레스 포트 정보를 이용하여 서비스 제공 패킷을 생성하고, 네트워크(21)를 통하여 서비스 요소 구 패킷의 송신원인 로컬 통신 장치(11 또는 31)에 공급한다.
로컬 통신 장치(11)는 스텝 S5에서 그 서비스 제공 패킷을 취득한다. 마찬가지로, 로컬 통신 장치(31)는 스텝 S45에서 그 서비스 제공 패킷을 취득한다.
로컬 통신 장치(11 또는 31)는 이상의 장치용 서비스 제공 장치(51)에 대해 행한 처리를 장치용 서비스 제공 장치(52)에 대해 재차 실행한다.
즉, 로컬 통신 장치(11)는 도 8의 스텝 S6으로 처리를 진행하고, 후술하는 바와 같은 서비스 요구 패킷을, 중계 장치(12)를 통하여 장치용 서비스 제공 장치(52)에 공급한다. 장치용 서비스 제공 장치(52)는 스텝 S71에서 그 서비스 요구 패킷을 취득한다.
또한, 이, 장치용 서비스 제공 장치(52)가 취득한 서비스 요구 패킷은, 상술한 장치용 서비스 제공 장치(51)의 경우와 같이 중계 장치(12)를 통하여 공급되고, 중계 장치(12)에서 NAPT 변환된 때, 중계 장치(12)의 (로컬 통신 장치(11)에 대응하는) 글로벌 어드레스 포트 정보가 부가된다.
마찬가지로, 통신 정보의 요구를 공급한 로컬 통신 장치(31)는 도 8의 스텝 S46으로 처리를 진행하고, 후술하는 바와 같은 서비스 요구 패킷을 중계 장치(32)를 통하여 장치용 서비스 제공 장치(52)에 공급한다. 장치용 서비스 제공 장치(52)는 스텝 S72에서 그 서비스 요구 패킷을 취득한다.
또한, 이, 장치용 서비스 제공 장치(52)가 취득한 서비스 요구 패킷은 상술한 장치용 서비스 제공 장치(51)의 경우와 같이 중계 장치(32)를 통하여 공급되고, 중계 장치(32)에서 NAPT 변환된 때, 중계 장치(32)의 (로컬 통신 장치(31)에 대응하는) 글로벌 어드레스 포트 정보가 부가된다.
로컬 통신 장치(11 또는 31)로부터 서비스 요구 패킷을 취득한 장치용 서비스 제공 장치(52)는, 스텝 S73에서 취득한 서비스 요구 패킷에 부가된 중계 장치(12 또는 32)의 글로벌 어드레스 포트 정보를 이용하여 서비스 제공 패킷을 생성하고, 네트워크(21)를 통하여 서비스 요구 패킷의 송신원인 로컬 통신 장치(11 또는 31)에 공급한다.
로컬 통신 장치(11)는 스텝 S7에서 그 서비스 제공 패킷을 취득한다. 마찬가지로 로컬 통신 장치(31)는 스텝 S47에서 그 서비스 제공 패킷을 취득한다.
장치용 서비스 제공 장치(51 및 52)로부터 2개의 서비스 제공 패킷을 취득한 로컬 통신 장치(11)는 스텝 S8에서 그 2개의 서비스 제공 패킷에 포함되는 글로벌 어드레스 정보에 의거하여 통신원의 중계 장치의 어드레스 포트 정보, 즉, 중계 장치(11)의 (로컬 통신 장치(11)에 대응하는) 글로벌 어드레스 정보를 예상한다(예측한다).
상세한 것은 후술하지만, 중계 장치(11)는 로컬 통신 장치(11)의 통신처의 어드레스 포트 정보가 변경될 때마다 로컬 통신 장치(11)에 대응하는 포트를 변경시키는 경우가 있다. 로컬 통신 장치(11)는 스텝 S8의 처리에 의해 장치용 서비스 제공 장치(51 및 52)로부터 취득한 2개의 서비스 제공 패킷을 이용하여, 다음의 통신에서 로컬 통신 장치(11)에 대응하는 어드레스 포트 정보(최신의 글로벌 어드레스 포트 정보)를 예상한다(예측한다).
마찬가지로, 장치용 서비스 제공 장치(51 및 52)로부터 2개의 서비스 제공 패킷을 취득한 로컬 통신 장치(31)는 스텝 S48에서 그 2개의 서비스 제공 패킷에 포함되는 글로벌 어드레스 정보에 의거하여 통신원의 중계 장치의 어드레스 포트 정보, 즉, 최신의 중계 장치(11)의 (로컬 통신 장치(11)에 대응하는) 글로벌 어드레스 정보를 예상한다(예측한다).
또한, 이상의 통신에 있어서, 로컬 통신 장치(11 및 31) 및 장치용 서비스 제공 장치(51)는, 송수신하는 서비스 요구 패킷이나 서비스 제공 패킷을 STUN(Simple Traversal of UDP through NATs), RTP 또는 RTCP(RTP Control Protocol) 등을 이용한 UDP/IP(User Datagram Protocol/IP) 프로토콜 체계에 의거하여 처리한다.
로컬 통신 장치(11)는 스텝 S8에 있어서, 취득한 2개의 서비스 제공 패킷에 포함되는 글로벌 어드레스 포트 정보로부터 중계 장치(12)의 글로벌 어드레스 포트 정보를 예상한(예측한) 후, 도 9의 스텝 S9로 처리를 진행하고, 그것을 통신원 어드레스 포트 정보로서 중계 장치(12)를 통하여 유저용 서비스 제공 장치(41)에 공급한다. 유저용 서비스 제공 장치(41)는, 도 9의 스텝 S28에서 그 통신원 어드레스 포트 정보를 취득한다.
마찬가지로, 로컬 통신 장치(31)는, 스텝 S48에서 취득한 2개의 서비스 제공 패킷에 포함되는 글로벌 어드레스 포트 정보로부터 중계 장치(32)의 글로벌 어드레스 포트 정보를 예상한(예측한) 후, 도 9의 스텝 S49에서 그것들을 통신원 어드레스 포트 정보로서, 중계 장치(32)를 통하여 유저용 서비스 제공 장치(41)에 공급한다. 유저용 서비스 제공 장치(41)는, 도 9의 스텝 S29에서 그 통신원 어드레스 포트 정보를 취득한다.
로컬 통신 장치(11 또는 31)로부터 통신원 어드레스 포트 정보를 취득한 유저용 서비스 제공 장치(41)는, 스텝 S30에서 후술하는 바와 같이 그 통신원 어드레스 포트 정보를 유저 등록 정보 데이터베이스(177)에 등록한다. 그리고, 스텝 S31에서 유저용 서비스 제공 장치(41)는 유저 등록 정보 데이터베이스(177)에 등록되어 있는 통신처의 통신 정보를, 네트워크(21)를 통하여 로컬 통신 장치(11 또는 31)에 공급한다.
로컬 통신 장치(11)는, 스텝 S10에서 그 통신처의 통신 정보를 취득한다. 마찬가지로, 로컬 통신 장치(31)는 스텝 S50에서 그 통신처의 통신 정보를 취득한다.
즉, 이 경우, 유저용 서비스 제공 장치(41)는 로컬 통신 장치(11)로부터 공급되고, 등록된 로컬 통신 장치(11)의 통신원 어드레스 포트 정보(예상(예측)된 중계 장치(12)의 글로벌 어드레스 포트 정보)를 로컬 통신 장치(31)에 공급하고, 로컬 통신 장치(31)로부터 공급되고, 등록된 로컬 통신 장치(31)의 통신원 어드레스 포트 정보(예상(예측)된 중계 장치(32)의 글로벌 어드레스 포트 정보)를 로컬 통신 장치(11)에 공급한다.
또한, 이상의 통신에 있어서 로컬 통신 장치(11 및 31) 및 유저용 서비스 제공 장치(41)는, 송수신하는 패킷을 TCP/IP 프로토콜 체계에 의거하여 처리한다.
이상의 처리에 있어서 로컬 통신 장치(11)가 실행하는 통신 정보 취득 처리의 예에 관해, 도 15의 순서도를 참조하여 설명한다. 필요에 따라 도 16 및 17을 참조하여 설명한다.
CPU(61)에 제어되는 등으로 통신 정보 취득 처리를 시작한 로컬 통신 장치(11)의 통신 정보 취득 처리부(65)는, 스텝 S171에 있어서 통신 상대의 특정에 필요한 정보를 중계 장치(12)를 통하여 유저용 서비스 제공 장치(41)에 요구한다.
통신 상대의 특정에 필요한 정보를 요구받은 유저용 서비스 제공 장치(41)는, 후술하는 바와 같이 통신 상대의 특정에 필요한 정보를 네트워크(21)를 통하여 요구원인 로컬 통신 장치(11)에 공급한다.
통신 정보 취득 처리부(65)는 통신부(84)를 제어하고, 통신 상대의 특정에 필요한 정보를 접수하고, 소정의 시간이 경과한 후에 스텝 S172의 처리를 실행하여 통신 상대의 특정에 필요한 정보를 취득하였는지의 여부를 판정한다. 통신 상대의 특정에 필요한 정보를 취득하였다고 판정한 경우, 통신 정보 취득 처리부(65)는 취득한 통신 상대의 특정에 필요한 정보에 의거하여 유저 특정용 인터페이스 제공 처리부(68)를 제어하고, 유저 특정용의 GUI를 공급시키고, 스텝 S173에서 그 GUI를 출력부(82)에 공급하고, 도 16에 도시된 바와 같은 유저 특정 화면을 디스플레이에 표시시킨다.
도 16에 도시된 바와 같이, 유저 특정 화면(271)에는 통신 상대로서 선택 가능한 다른 유저를 나타내는 사용자 일람 표시란(272), 유저가 통신 상대로서 선택한 유저 ID를 입력하는 유저 ID 입력란(273) 및 유저가 조작함에 의해 통신 시작의 지시가 입력되는 통신 시작 버튼(274)이 마련되어 있다.
IM 서비스의 유저는, 유저 일람 표시란에 표시된 현재 통신 상대로서 선택 가능한 유저의 유저 ID 중에서 통신 상대를 선택하고, 그 유저 ID를 유저 ID 입력란(273)에 입력하고, 통신 시작 버튼(274)을 조작한다.
도 15로 되돌아와, 스텝 S174에서 통신 정보 취득 처리부(65)는 입력부(81)를 제어하고, 유저 ID 및 패스워드로 이루어지는 유저 인증 정보의 입력을 접수한다.
유저가 유저 특정 화면(271)의 유저 ID 입력란(273)에 통신 상대의 유저 ID를 입력하고 통신 시작 버튼(274)을 조작하면, 통신 정보 취득 처리부(65)는 스텝 S174에서 통신부(84)를 제어하고, 통신 상대의 통신 정보 요구를 중계 장치(12)를 통하여 유저용 서비스 제공 장치(41)에 공급한다. 이 처리는, 도 7의 스텝 S3의 처리에 대응한다.
통신 상대의 통신 정보 요구를 공급한 통신 정보 취득 처리부(65)는 중계 장치(12)에서의 NAPT 변환 후의 어드레스 포트 정보, 즉, 중계 장치(12)의 (로컬 통신 장치(11)에 대응하는) 글로벌 어드레스 포트 정보를 파악하기 위해, 스텝 S175에서 통신부(84)를 제어하고, 도 17에 도시된 바와 같은 서비스 요구 패킷을 중계 장치(12)를 통하여 장치용 서비스 제공 장치(51)에 공급한다. 이 처리는 도 8의 스텝 S4의 처리에 대응한다.
서비스 요구 패킷(281)은 데이터 링크층에 있어서의 통신을 위해 MAC(Media Access Control) 패킷으로서 구성된다. 도 15에 도시된 바와 같이 서비스 요구 패킷(281)은 MAC 헤더(282) 및 MAC 페이로드(283)로 이루어진다.
MAC 페이로드(283)는 네트워크층에 있어서의 통신을 위해, IP 패킷으로서 구성되고, IP 헤더(284) 및 IP 페이로드(285)를 포함한다. IP 헤더(284)에는 이 서비스 요구 패킷(281)이 장치용 서비스 제공 장치(51)가 제공하는 서비스에 대응한 패킷인 것을 나타내는 식별자인 프로토콜 번호(286), 서비스 요구 패킷의 송신원의 IP 어드레스(이 경우, 로컬 통신 장치(11)의 프라이빗 어드레스)를 나타내는 데이터인 송신원의 IP 어드레스(287) 및 서비스 요구 패킷의 송신처의 IP 어드레스(이 경우, 장치용 서비스 제공 장치(51)의 글로벌 어드레스)를 나타내는 데이터인 송신처 IP 어드레스(288)가 포함된다.
또한, 이 서비스 요구 패킷(281)의 전송시에 행하여지는 중계 장치(12)의 NAPT 변환에 의해 송신원의 IP 어드레스(287)의 값은 중계 장치(12)의 글로벌 어드레스로 변환된다. 즉, 장치용 서비스 제공 장치(51)가 취득한 때의 송신원의 IP 어드레스(287)는 중계 장치(12)의 글로벌 어드레스를 나타낸다.
IP 페이로드(285)는, 트랜스포트층에 있어서의 통신을 위해 UDP 패킷으로서 구성되고, UDP 헤더(289) 및 UDP 페이로드(290)를 포함한다.
UDP 헤더(289)에는 이 서비스 요구 패킷을 송신할 때 이용된 송신원의 포트 번호(즉, 로컬 통신 장치(11)의 포트 번호)를 나타내는 데이터인 송신원 포트 번호(291)와, 이 서비스 요구 패킷의 송신처의 포트 번호(즉, 장치용 서비스 제공 장치(51)의 포트 번호)를 나타냄과 함께, 이 서비스 요구 패킷(281)이 장치용 서비스 제공 장치(51)가 제공하는 서비스에 대응한 패킷인 것을 나타내는 식별자인 송신처 포트 번호(292)가 포함된다.
또한, 이 서비스 요구 패킷(281)의 전송시에 행하여지는 중계 장치(12)의 NAPT 변환에 의해 송신원 포트 번호(291)의 값은 중계 장치(12)의 포트 번호로 변환된다. 즉, 장치용 서비스 제공 장치(51)가 취득한 때의 송신원 포트 번호(291)는 중계 장치(12)의 글로벌한 포트 번호를 나타낸다.
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)가 포함된다.
또한, STUN 페이로드(294)에는 메시지의 내용을 나타냄과 함께, 이 서비스 요구 패킷(281)이 장치용 서비스 제공 장치(51)가 제공하는 서비스에 대응한 패킷인 것을 나타내는 식별자인 메시지 타입(Message type)(297)이 포함된다.
이상으로 나타낸 바와 같이, 서비스 요구 패킷(281)에 포함되는 IP 헤더(324), UDP 헤더(329), STUN 헤더(333) 및 STUN 페이로드(334)에는 이 서비스 요구 패킷(281)이 장치용 서비스 제공 장치(51)가 제공하는 서비스에 대응한 패킷인 것을 나타내는 식별자가 포함되어 있고, 이로써, 장치용 서비스 제공 장치(51)는 서비스 요구 패킷(281)의 요구에 의거한 처리를 행할 수 있다.
도 15로 되돌아와, 이상과 같은 서비스 요구 패킷을 공급한 통신 정보 취득 처리부(65)는 스텝 S176에서 통신부(85)를 제어하고, 공급한 서비스 요구 패킷에 대응하는 서비스 제공 패킷을 취득하였는지의 여부를 판정한다. 서비스 제공 패킷을 취득하였다고 판정한 경우, 통신 정보 취득 처리부(65)는 스텝 S177로 처리를 진행하고, 통신부(84)를 제어하고, 도 17을 참조하여 상술한 바와 같은 서비스 요구 패킷을 중계 장치(12)를 통하여 장치용 서비스 제공 장치(52)에 공급한다. 이 처리는 도 8의 스텝 S6의 처리에 대응한다.
서비스 요구 패킷을 공급한 통신 정보 취득 처리부(65)는 스텝 S178에서 통신부(85)를 제어하고, 공급한 서비스 요구 패킷에 대응하는 서비스 제공 패킷을 취득하였는지의 여부를 판정하고, 서비스 제공 패킷을 취득하였다고 판정한 경우, 통신 정보 취득 처리부(65)는 스텝 S179로 처리를 진행하고, 취득한 2개의 서비스 제공 패킷에 포함되는, 서비스 요구 패킷의 송신에 사용된 중계 장치(12)의 어드레스 포트 정보를 추출하고, 그들의 어드레스 포트 정보로부터 차분치를 산출하고, 그 차분치를 후에 취득한 어드레스 포트 정보에 가산하고, 차회의 통신(로컬 통신 장치(31)에 액세스할 때의 통신)에 있어서의 통신원 글로벌 어드레스 포트 정보(통신원 Glo-IP-port)를 예상한다(예측한다).
스텝 S180에 있어서, 통신 정보 취득 처리부(65)는 예상한(예측한) 글로벌 어드레스 포트 정보(이하, 예상 글로벌 어드레스 포트 정보라고 칭한다)를 중계 장치(12)를 통하여 유저용 서비스 제공 장치(41)에 공급하고, 유저 등록 정보로서 통신원의 예상 글로벌 어드레스 포트 정보의 등록을 요구한다. 이 처리는 도 9의 스텝 S9의 처리에 대응한다.
통신원의 예상 글로벌 어드레스 포트 정보의 등록을 요구받은 유저용 서비스 제공 장치(41)는 그 요구에 의거하여 유저 등록 정보를 갱신하고, 갱신된 최신의 유저 등록 정보에 의거하여 로컬 통신 장치(11)의 통신 상대의 통신에 관한 정보인 통신처의 통신 정보를 네트워크(21)를 통하여 로컬 통신 장치(11)에 공급한다.
로컬 통신 장치(11)의 통신 정보 취득 처리부(65)는 스텝 S181에서 통신부(84)를 제어하고, 통신처의 통신 정보를 취득하였는지의 여부를 판정하고, 취득하지 않았다고 판정한 경우 스텝 S182로 처리를 진행하고, 출력부(81)를 제어하여 에러 처리를 실행한 후 통신 정보 취득 처리를 종료한다. 또한, 스텝 S181에서 통신처의 통신 정보를 취득하였다고 판정한 경우 스텝 S182의 처리를 생략하고, 통신 정보 취득 처리를 종료한다.
스텝 S176 또는 S178에서, 서비스 제공 패킷을 취득하지 않았다고 판정한 경우, 통신 정보 취득 처리부(65)는 스텝 S182로 처리를 진행하고, 에러 처리를 실행한 후에 통신 정보 취득 처리를 종료한다.
이상에 있어서, 로컬 통신 장치(11)의 통신 정보 취득 처리부(65)는, 장치용 서비스 제공 장치(51 및 52)의 양쪽에 대해 같은 서비스 요구 패킷을 공급하고, 각각으로부터 서비스 제공 패킷을 취득한다.
이것은, 로컬 통신 장치(11)의 다음의 통신에 대해 중계 장치(12)가 할당하는 포트를 예상하기(예측하기) 위해 행하는 처리이다.
예를 들면, 중계 장치(12)가, 로컬 통신 장치(11)의 통신처의 어드레스 포트 정보에 관계없이 같은 포트를 로컬 통신 장치(11)에 대응시키는 경우, 즉, 로컬 통신 장치(11)로부터 취득한 패킷의 송신원 어드레스 포트 정보를 NAPT 변환할 때 통신처의 어드레스 포트 정보에 관계없이, 같은 글로벌 어드레스 포트 정보로 변환하는 경우, 다음의 통신에서도 장치용 서비스 제공 장치(51)로부터 공급된 서비스 제공 패킷에 포함되는 어드레스 포트 정보가 로컬 장치(11)에 대응하는 글로벌 어드레스 포트 정보로 된다.
그러나, 예를 들면, 중계 장치(12)가 로컬 통신 장치(11)의 통신처의 어드레스 포트 정보가 변화할 때마다, 로컬 통신 장치(11)에 대응시키는 포트 번호를 하나씩 증가(인크리먼트)시키는 경우, 다음의 통신에서 장치용 서비스 제공 장치(51)로부터 공급된 서비스 제공 패킷에 포함되는 어드레스 포트 정보가, 로컬 장치(11)에 대응하는 글로벌 어드레스 포트 정보로는 되지 않는다.
따라서 로컬 통신 장치(11)의 통신 정보 취득 처리부(65)는, 어드레스 포트 정보가 다른 2개의 장치용 서비스 제공 장치(51 및 52)의 양쪽으로부터 서비스 제공 패킷을 취득하고, 그들의 서비스 제공 패킷에 포함되는 글로벌 어드레스 포트 정보의 차분치를 산출하고, 그 차분치를 후의 통신인 장치용 서비스 제공 장치(52)와의 통신에 있어서의 글로벌 어드레스 포트 정보에 가산함에 의해 다음의 통신에 있어서의 글로벌 어드레스 포트 정보를 예상한다(예측한다).
이와 같이 함에 의해 로컬 통신 장치(11)에 대응하는 글로벌 어드레스 포트 정보가 통신처의 어드레스 포트 정보에 따라 변화하는 경우에 있어서도, 로컬 통신 장치(11)는 다음의 통신에 있어서의 로컬 통신 장치(11)에 대응하는 글로벌 어드레스 포트 정보를 예상할(예측할) 수 있고, 보다 많은 종류의 중계 장치에 대해 대응할 수 있다.
또한, IM 서비스를 이용하는 로컬 통신 장치(31)는, 상술한 처리와 같은 통신 정보 취득 처리를 행한다. 따라서, 로컬 통신 장치(31)에 의한 통신 정보 취득 처리에 관해서는 도 15의 순서도, 도 16의 유저 특정 화면 및 도 17의 서비스 요구 패킷의 예를 적용할 수 있기 때문에 그 설명을 생략한다.
다음에, 이 통신 정보 취득 처리에 대응하여 실행되는 유저용 서비스 제공 장치(41)에 의한 정보 제공 처리의 예에 관해, 도 18의 순서도를 참조하여 설명한다. 필요에 따라 도 19를 참조하여 설명한다.
최초로, 스텝 S191에서 유저용 서비스 제공 장치(41)의 유저 등록 정보 관리 처리부(155)는 통신부(174)를 제어하고, 로컬 통신 장치(11 또는 31)가 도 15의 스텝 S174의 처리에서 공급한 통신 정보 요구를 취득하였는지의 여부를 판정하고, 취득하였다고 판정할 때까지 대기한다.
통신 정보 요구를 취득하였다고 판정한 경우, 유저 등록 정보 관리 처리부(155)는 스텝 S192에서 도 19에 도시된 바와 같은 유저 등록 정보 데이터베이스(177)에 기억되어 있는 유저 등록 정보의 통신 정보 요구원에 대응하는 유저 등록 정보의 통신처 글로벌 어드레스 포트 정보를 갱신한다.
도 19에 도시된 바와 같이, 유저 등록 정보 데이터베이스(177)에 등록되어 있는 유저 등록 정보(310)는 유저 ID(311), 예상(예측)되는 통신원의 글로벌 어드레스 포트 정보인 예상 통신원 글로벌 어드레스 포트 정보(예상 통신원 Glo-IP-port)(312) 및 유저가 통신을 희망한 통신처의 글로벌 어드레스 정보인 통신처 글로벌 어드레스 포트 정보(통신처 Glo-IP-port)(313)를 포함하고, 서로 관련시켜 기억되어 있다.
통신처 글로벌 어드레스 포트 정보(313)는 그 유저 등록 정보의 유저 ID(311)에 대응하는 유저가 희망하는 통신 상대측의 글로벌 어드레스 포트 정보이고, 예상 통신원 글로벌 어드레스 포트 정보(312)는 그 유저 등록 정보의 유저 ID(311)에 대응하는 유저측의 글로벌 어드레스 포트 정보이다.
예를 들면, 로컬 통신 장치(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의 예상 통신원 글로벌 어드레스 포트 정보」라는 지시가 등록된다.
또한, 통신 상대가 지정되어 있지 않은 경우, 그 유저의 유저 등록 정보의 통신처 글로벌 어드레스 포트 정보(313)에는 「(none)」이 등록된다.
이상과 같이, 유저 등록 정보 관리 처리부(155)는, 스텝 S192의 처리에서 유저 등록 정보(310)에 포함되는 통신처 글로벌 어드레스 포트 정보(313)의 정보를 갱신한다. 이 처리는 도 7의 스텝 S27의 처리에 대응한다.
그 후, 서비스 공급 패킷을 취득한 로컬 통신 장치(11 또는 31)는, 도 15의 스텝 S180의 처리에 의해 통신원 글로벌 어드레스 포트 정보의 등록을 요구한다.
도 18로 되돌아와, 스텝 S193에서 유저 등록 정보 관리 처리부(155)는 통신부(174)를 제어하여 통신원 글로벌 어드레스 정보의 등록 요구를 취득하였는지의 여부를 판정한다.
취득하였다고 판정한 경우, 유저 등록 정보 관리 처리부(155)는, 스텝 S194에서 그 통신원 글로벌 어드레스 정보의 등록을 요구한 유저에 대응하는 유저 등록 정보의 통신원 글로벌 어드레스 포트 정보를 갱신하고, 스텝 S195에서 그 유저의 유저 등록 정보의 통신처 글로벌 어드레스 포트 정보(313)에 등록된 지시에 의거하여 통신처의 유저 등록 정보를 유저 등록 정보 데이터베이스(177)로부터 취득하고, 스텝 S196에서 통신처의 통신 정보를 공급한다. 이들의 처리는, 도 9의 스텝 S30 및 S31에 대응한다.
통신 정보를 공급한 유저 등록 정보 관리 처리부(155)는, 스텝 S197에서 정보 제공 처리를 종료하는지의 여부를 판정하고, 종료하지 않는다고 판정한 경우 스텝 S191로 처리를 되돌리고, 그 이후의 처리를 반복한다. 또한, 스텝 S197에서 정보 제공 처리를 종료한다고 판정한 경우, 유저 등록 정보 관리 처리부(155)는 스텝 S198에서 종료 처리를 실행하고, 정보 제공 처리를 종료한다.
스텝 S193에서, 통신원 글로벌 어드레스 포트 정보의 등록 요구를 취득하지 않았다고 판정한 경우, 유저 등록 정보 관리 처리부(155)는 스텝 S199로 처리를 진행하고, 에러 처리를 실행한 후 스텝 S197로 처리를 되돌리고, 그 이후의 처리를 반복한다.
또한, 유저용 서비스 제공 장치(41)는 로컬 통신 장치(31)의 통신 정보 취득 처리에 대해서도, 상술한 경우와 같은 정보 제공 처리를 행하고, 로컬 통신 장치(31)의 요구에 따라 글로벌 어드레스 포트 정보를 관리한다.
이상과 같이, 유저용 서비스 제공 장치(41)가 로컬 통신 장치 사이의 통신에 필요한 글로벌 어드레스 포트 정보를 관리하고, 로컬 통신 장치(11 또는 31)의 요구에 따라 그들의 정보를 공급하기 때문에, 로컬 통신 장치(11 또는 31)는 NAPT 변환을 행하는 중계 장치를 통하여 통신을 행하는 경우라도, 용이하게 통신을 행할 수 있다.
다음에, 도 15의 순서도를 참조하여 설명한 로컬 통신 장치에 의한 통신 정보 취득 처리에 대응하여 실행되는, 장치용 서비스 제공 장치(51)에 의한 정보 제공 처리의 예에 관해, 도 20의 순서도를 참조하여 설명한다. 필요에 따라 도 21 및 도 22를 참조하여 설명한다.
장치용 서비스 제공 장치(51)의 어드레스 포트 정보 제공 처리부(204)는, 스텝 S211에서 통신부(224)를 제어하고, 도 15의 스텝 S175의 처리에 의해 로컬 통신 장치(11 또는 31)가 공급하는 서비스 요구 패킷을 취득하였는지의 여부를 판정하고, 취득하였다고 판정할 때까지 대기한다.
서비스 요구 패킷을 취득하였다고 판정한 경우, 어드레스 포트 정보 제공 처리부(204)는 스텝 S212로 처리를 진행하고, 도 21에 도시된 바와 같은 서비스 제공 패킷을 생성한다.
도 21에 있어서, 서비스 제공 패킷(321)은, 데이터 링크층에 있어서의 통신을 위해 MAC 패킷으로서 구성된다. 서비스 제공 패킷(321)은 MAC 헤더(322) 및 MAC 페이로드(323)로 이루어진다.
MAC 페이로드(323)는, 네트워크층에 있어서의 통신을 위해 IP 패킷으로서 구성되고, IP 헤더(324) 및 IP 페이로드(325)를 포함한다. IP 헤더(324)에는 이 서비스 제공 패킷(321)이 장치용 서비스 제공 장치(51)가 제공하는 서비스에 대응한 패킷인 것을 나타내는 식별자인 프로토콜 번호(326), 서비스 제공 패킷의 송신원의 IP 어드레스(이 경우, 장치용 서비스 제공 장치(51)의 글로벌 어드레스)를 나타내는 데이터인 송신원의 IP 어드레스(327) 및 서비스 제공 패킷의 송신처의 IP 어드레스(이 경우, 중계 장치(12 또는 32)의 글로벌 어드레스)를 나타내는 데이터인 송신처 IP 어드레스(328)가 포함된다.
IP 페이로드(325)는, 트랜스포트층에 있어서의 통신을 위해 UDP 패킷으로서 구성되고, UDP 헤더(329) 및 UDP 페이로드(330)를 포함한다. UDP 헤더(329)에는 이 서비스 공급 패킷을 송신할 때 사용된 송신원의 포트 번호(즉, 장치용 서비스 제공 장치(51)의 포트 번호)를 나타냄과 함께, 이 서비스 제공 패킷(321)이 장치용 서비스 제공 장치(51)가 제공하는 서비스에 대응한 패킷인 것을 나타내는 식별자인 송신원 포트 번호(331)와, 이 서비스 제공 패킷(321)을 송신하는 곳의 포트 번호(즉, 중계 장치(11)의 포트 번호)를 나타내는 데이터인 송신처 포트 번호(332)가 포함된다.
UDP 페이로드(330)는, STUN 프로토콜을 이용한 통신을 행하기 위해 STUN 패킷으로서 구성되고, STUN 헤더(333) 및 STUN 페이로드(334)를 포함한다. STUN 헤더(293)에는 이 패킷이 STUN 프로토콜에 의거한 응답을 포함하는 패킷인 것을 나타냄과 함께, 이 서비스 제공 패킷(321)이 장치용 서비스 제공 장치(51)가 제공하는 서비스에 대응한 패킷인 것을 나타내는 식별자인 STUN 메시지 타입(STUN message type)(335)과, 트랜잭션을 식별하기 위한 트랜잭션 ID(Transaction ID)(336)가 포함된다.
또한, STUN 페이로드(334)에는 서비스 요구 패킷에 있어서의 송신원 포트 번호(337) 및 서비스 요구 패킷에 있어서의 송신원 IP 어드레스(338)가 포함된다.
상술한 바와 같이, 장치용 서비스 제공 장치(51)가 취득한 때의 서비스 요구 패킷(281)에 포함되는 송신원 IP 어드레스(287) 및 송신원 포트 번호(337)는 각각 중계 장치(12)의 글로벌 어드레스 및 포트 번호를 나타내고 있다.
따라서 서비스 요구 패킷에 있어서의 송신원 포트 번호(337)는 중계 장치(12)의 글로벌한 포트 번호를 나타내고, 서비스 요구 패킷에 있어서의 송신원 IP 어드레스(338)는 중계 장치(12)의 글로벌 어드레스를 나타낸다.
장치용 서비스 제공 장치(51)는, 이와 같은 중계 장치(12)의 (로컬 통신 장치(11)에 대응하는) 글로벌 어드레스 포트 정보를 서비스 요구 패킷으로부터 취득하고, 취득한 글로벌 어드레스 포트 정보가 포함되는 서비스 제공 패킷을 생성한다.
도 20으로 되돌아와, 장치용 서비스 제공 장치(51)는 스텝 S213에서 생성한 서비스 제공 패킷을 네트워크(21)를 통하여 요구원인 로컬 통신 장치(11)에 공급한다. 이 처리는 도 8의 스텝 S63의 처리에 대응한다.
스텝 S214에서 장치용 서비스 제공 장치(51)는 정보 제공 처리를 종료하는지의 여부를 판정하고, 종료하지 않는다고 판정한 경우, 스텝 S211로 처리를 되돌리고, 그 이후의 처리를 반복한다.
정보 제공 처리를 종료하지 않는다고 판정한 경우, 장치용 서비스 제공 장치(51)는 스텝 S215로 처리를 진행하고, 종료 처리를 실행하고, 정보 제공 처리를 종료한다.
또한, 장치용 서비스 제공 장치(52)도 장치용 서비스 제공 장치(51)의 경우와 같은 정보 제공 처리를 실행한다. 따라서, 장치용 서비스 제공 장치(52)에 의한 정보 제공 처리의 상세한 것은 상술한 도 20의 순서도를 적용할 수 있고, 그 정보 제공 처리에 의해 제공되는 서비스 제공 패킷의 구성은, 도 21을 적용할 수 있기 때문에 그들의 설명은 생략한다.
또한, 장치용 서비스 제공 장치(51 및 52)는 로컬 통신 장치(31)의 통신 정보 취득 처리에 대해서도 상술한 경우와 같은 정보 제공 처리를 행하고, 로컬 통신 장치(31)의 요구에 따라 서비스 제공 패킷을 공급한다.
상술한 바와 같이, 장치용 서비스 제공 장치(51 및 52)로부터 서비스 제공 패킷을 취득함에 의해 로컬 통신 장치(11 또는 31)는, 차회의 통신에 있어서의 글로벌 어드레스 포트 정보를 예상한다(예측한다).
예를 들면, 도 22에 도시된 바와 같이, 중계 장치(12)가 로컬 통신 장치(11)의 통신처의 어드레스 포트 정보가 변화할 때마다, 로컬 통신 장치(11)에 대응시키는 포트 번호를 하나씩 증가(인크리먼트)시키는 인크리먼트형의 중계 장치이고, 중계 장치(32)도 중계 장치(12)와 같은 인크리먼트형의 중계 장치라고 한다.
로컬 통신 장치(11)는, 최초로 장치용 서비스 제공 장치(51)에 서비스 요구 패킷을 공급한다. 이 때, 중계 장치(12)는 포트(342-1)를 이용하여 이 서비스 요구 패킷의 통신원 어드레스 포트 정보를 NAPT 변환한다. 장치용 서비스 제공 장치(51)는, 이 서비스 요구 패킷에 대해 생성한 서비스 제공 패킷을 중계 장치(12)의 포트(342-1)를 통하여 로컬 통신 장치(11)에 공급한다.
다음에, 로컬 통신 장치(11)는 장치용 서비스 제공 장치(52)에 서비스 요구 패킷을 공급한다. 이 때, 중계 장치(12)는 장치용 서비스 제공 장치(51)의 어드레스 포트 정보와, 장치용 서비스 제공 장치(52)의 어드레스 포트 정보가 다르기 때문에 포트 번호를 하나 증가시키고, 포트(342-2)를 이용하여 이 서비스 요구 패킷의 통신원 어드레스 포트 정보를 NAPT 변환한다. 장치용 서비스 제공 장치(52)는, 이 서비스 요구의 패킷에 대해 생성한 서비스 제공 패킷을 중계 장치(12)의 포트(342-2)를 통하여 로컬 통신 장치(12)에 공급한다.
로컬 통신 장치(12)는, 취득한 이들의 서비스 제공 패킷으로부터, 글로벌 어드레스 정보를 취득하고, 2개의 글로벌 어드레스 정보의 차분치, 즉, 중계 장치(12)에 의해 이용된 포트 번호의 변화량을 산출한다. 이 경우의 차분치는 「1」이다.
로컬 통신 장치(12)는, 후의 통신인 장치용 서비스 제공 장치(52)와의 통신에 이용된 포트(342-2)의 포트 번호에 값 「1」을 가산하고, 포트(342-3)가 차회의 통신에서 중계 장치(12)에 의해 이용되는 포트라고 예상한다(예측한다).
또한, 예를 들면, 이 차분치가 「2」라고 하면, 로컬 통신 장치(12)는 후의 통신인 장치용 서비스 제공 장치(52)와의 통신에 이용된 포트(342-2)의 포트 번호에 값 「2」을 가산하고, 포트(342-4)가 차회의 통신에서 중계 장치(12)에 의해 이용되는 포트라고 예상하고(예측하고), 예를 들면, 이 차분치가 「3」이라고 하면, 로컬 통신 장치(12)는 후의 통신인 장치용 서비스 제공 장치(52)와의 통신에 이용되는 포트(342-2)의 포트 번호에 값 「3」을 가산하고, 포트(342-5)가 차회의 통신에서 중계 장치(12)에 의해 이용되는 포트라고 예상한다(예측한다).
또한, 차분치가 「0」인 경우, 장치용 서비스 제공 장치(51)와의 통신과, 장치용 서비스 제공 장치(52)와의 통신에 있어서, 같은 포트(예를 들면, 포트(342-1))가 이용되고 있고, 로컬 통신 장치(11)는 차회의 통신에 있어서도, 같은 포트(예를 들면, 포트(342-1))가 이용된다고 예상한다(예측한다).
마찬가지로, 로컬 통신 장치(31)도, 장치용 서비스 제공 장치(51) 및 공급된 2개의 서비스 제공 패킷에 의거하여 차회의 통신에 있어서의 글로벌 어드레스 정보를 취득한다.
이상과 같이 하여, 장치용 서비스 제공 장치(51 및 52)가 중계 장치(12)의 글로벌 어드레스 및 포트 번호를 나타내는 정보가 포함되는 서비스 제공 패킷을 생성하고, 로컬 통신 장치(11)에 공급함에 의해 로컬 통신 장치(11)는, 차회의 통신에 있어서의 중계 장치(12)의 글로벌 어드레스 포트 정보를 예상할(예측할) 수 있고, 상술한 바와 같이, 용이하게 그 정보를 유저용 서비스 제공 장치(41)에 공급할 수 있다.
도 9로 되돌아와, 스텝 S10의 처리를 종료한 로컬 통신 장치(11)는, 도 10의 스텝 S11로 처리를 진행하고, 로컬 통신 장치(31)와의 통신에 있어서, 통신의 주도권을 쥐는 마스터의 역할을 행하는지, 통신 상대에게 통신의 주도권을 건네주는 슬레이브의 역할을 행하는지를 판정하는 마스터/슬레이브 판정 처리(Master/Slave 판정 처리)를 행한다. 마찬가지로, 로컬 통신 장치(31)도 도 10의 스텝 S51에서 마스터/슬레이브 판정 처리(Master/Slave 판정 처리)를 행한다.
예를 들면, 로컬 통신 장치(11 및 31)의 IP 어드레스(글로벌 어드레스가 바람직하다)의 각 자릿수(桁)의 숫자를 각각 합계하고, 그 값이 큰 쪽을 마스터로 하고, 작은 쪽을 슬레이브로 한다. 이 이외의 방법에 의해 마스터 및 슬레이브를 결정하도록 하여도 물론 좋다.
이하에 있어서는, 로컬 통신 장치(11)가 마스터이고, 로컬 통신 장치(31)가 슬레이브인 것으로 하여 설명하지만, 어느 쪽이 마스터가 되어도 물론 좋다.
마스터라고 판정한 로컬 통신 장치(11)는, 로컬 통신 장치(31)와 접속하기 위해 통신의 시작을 요구하는 통신 시작 알고리즘을 실행한다. 즉, 로컬 통신 장치(11)는 스텝 S12로 처리를 진행하고, 복수의 개통 요구 패킷의 공급을 시작한다. 마찬가지로, 슬레이브라고 판정한 로컬 통신 장치(31)는 스텝 S52로 처리를 진행하고, 로컬 통신 장치(11)와 접속하기 위해 복수의 개통 요구 패킷의 공급을 시작한다.
개통 요구 패킷의 공급에 의해 통신 상대측의 중계 장치(32)의 로컬 통신 장치(31)와 통신 가능한 어드레스 포트 정보를 특정하면, 마스터인 로컬 통신 장치(11)는 스텝 S13으로 처리를 진행하고, 특정한 어드레스 포트 정보를 이용하여 개통 유지 패킷을 로컬 통신 장치(31)에 공급한다.
스텝 S53에서, 슬레이브인 로컬 통신 장치(31)는, 개통 유지 패킷을 로컬 통신 장치(11)로부터 취득하면, 스텝 S54로 처리를 진행하고, 로컬 통신 장치(11)와의 통신이 개통하였다고 판정하고, 스텝 S55에서 로컬 통신 장치(11)에 개통 유지 패킷을 공급한다.
스텝 S14에서, 로컬 통신 장치(11)는 로컬 통신 장치(31)로부터 공급된 개통 유지 패킷을 취득하면, 스텝 S15에서 로컬 통신 장치(31)와의 통신이 개통하였다고 판정한다.
또한, 이상의 통신에 있어서 로컬 통신 장치(11 및 31)는, 송수신하는 패킷을 STUN, RTP 또는 RTCP 등을 이용한 UDP/IP 프로토콜 체계에 의거하여 처리한다.
이상의 처리에 있어서, 로컬 통신 장치(11)는 통신의 시작을 요구하는 통신 시작 요구 알고리즘으로서, 이하에 설명하는 통신 시작 요구 처리를 실행하여 송신원(로컬 통신 장치(11))의 포트 번호 및 송신처(중계 장치(32))의 포트 번호를 결정하고, 개통 요구 패킷을 생성한다.
로컬 통신 장치(11)에 의한 통신 시작 요구 처리의 예에 관해, 도 23의 순서도를 참조하여 설명한다. 필요에 따라 도 24 및 도 25를 참조하여 설명한다.
또한, 이하에 있어서, 변수 numSrcPriPort는, 로컬 통신 장치에 있어서, 통신 상대와의 통신 개통을 요구하는 패킷인 개통 요구 패킷의 송신할 때에 사용되는 프라이빗한 포트의 수를 나타내고, 변수 numDstGloPort는, 통신 상대측의 중계 장치가 갖는 포트중, 개통 요구 패킷의 송신처로서 지정되는 글로벌한 포트의 수를 나타낸다.
또한, 변수 timeSendInterval은 로컬 통신 장치에 의한 각 패킷의 송신 간격을 나타내고, 변수 isMasterFlag는 그 로컬 통신 장치가 마스터인지의 여부(슬레이브인지의 여부)를 나타낸다.
로컬 통신 장치(11)의 로컬간 통신 제어부(66)는, 스텝 S231에서 변수 i 및 변수 j의 각각에 값 「0」을 대입한다. 스텝 S232에서 로컬간 통신 제어부(66)는 송신처 측의 중계 장치(32)의 글로벌한 포트 번호를 나타내는 변수 Glo-port의 값을 변수 Base-Glo-port로서 보존하고, 송신원인 로컬 통신 장치(11)의 프라이빗한 포트 번호를 나타내는 변수 Pri-port를 변수 Base-Pri-port로서 보존한다.
또한, 이 변수 Glo-port의 초기치는, 도 15의 스텝 S181에서 취득한 통신처의 통신 정보에 포함되는 통신처 글로벌 어드레스 정보의 포트 번호가 이용된다. 또한, 이 변수 Glo-port의 초기치는 이 포트 번호를 이용한 소정의 연산에 의해 산출되는 이 포트 번호와 다른 값이라도 좋다.
스텝 S233으로 처리를 진행하면, 로컬간 통신 제어부(66)는 변수 i의 값이 변수 numSrcPriPort보다 작은지의 여부를 판정한다. 아직, 로컬 통신 장치(11)가 예정된 모든 포트에 대해 처리가 완료되어 있지 않고, 변수 i의 값이 변수 numSrcPriport보다 작다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S234로 처리를 진행하고, 변수 Base-Pri-Port의 값에 변수 i의 값을 가산하여 그 값을 변수 Pri-port에 대입한다.
로컬간 통신 제어부(66)는, 스텝 S235에서 변수 j의 값이 변수 numDstGloPort 보다 작은지의 여부를 판정하고, 작다고 판정한 경우, 스텝 S236에서 변수 Base-Glo-Port의 값에 변수 j의 값을 가산하고, 변수 Glo-port에 대입한다.
그리고, 로컬간 통신 제어부(66)는, 스텝 S237에서 변수 Pri-port의 값을 송신원의 포트 번호로 하고, 변수 Glo-port의 값을 송신처의 포트 번호로 하고, 개통 요구 패킷을 생성하고, 통신부(84)를 제어하여 생성한 개통 요구 패킷을 중계 장치(12)를 통하여 중계 장치(32)에 공급한다.
스텝 S238로 처리를 진행한 로컬간 통신 제어부(66)는, 소정의 시간 timeSendInterval 동안 대기하고, 스텝 S239로 처리를 진행한다.
로컬간 통신 제어부(66)는, 스텝 S239에서 변수 j의 값에 값 (j+1)을 대입하고, 스텝 S240에서 유저의 조작 등에 의거하여 개통 요구 패킷의 중지 요구가 나와 있는지의 여부를 판정하고, 중지 요구가 나와 있다고 판정한 경우 통신 시작 요구 처리를 종료한다.
스텝 S233에서, 변수 i의 값이 변수 numSrcPriPort 보다 작지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 통신 시작 요구 처리를 종료한다.
스텝 S235에서, 변수 j의 값이 변수 numDstGloPort 보다 작지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S241로 처리를 진행하고, 변수 j에 값 「0」을 대입하고, 스텝 S242에서 변수 i에 값 (i+1)을 대입한 후, 스텝 S233으로 처리를 되돌리고, 그 이후의 처리를 반복한다.
스텝 S240에서, 개통 요구 패킷의 중지 요구가 나와 있지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S235로 처리를 되돌리고, 그 이후의 처리를 반복한다.
이상과 같이, 로컬간 통신 제어부(66)는 통신 시작 요구 알고리즘을 실행하고, 송신원 및 송신처의 포트 번호를 결정하면서, (numSrcPriPort×numDstGloPort)개의 개통 요구 패킷을 생성하고, 공급한다.
예를 들면, 도 24에 도시된 바와 같이, 로컬 통신 장치(11)가 중계 장치(12) 및 글로벌 네트워크(350)를 통하여 통신처 통신 장치(351)에 패킷을 공급하는 경우, 중계 장치(12)가, 통신처의 어드레스 포트 정보가 변경되어도 같은 포트(362-1)를 로컬 통신 장치(11)에 할당하는 재이용형의 중계 장치일 때, 통신처 통신 장치(351)는 그 포트(362-1)에 대해 응답함으로써 로컬 통신 장치(11)와 통신을 행할 수 있다.
그러나, 예를 들면, 도 25에 도시된 바와 같이 중계 장치(12)가, 통신처의 어드레스 포트 정보가 변화할(포트(363-1 내지 363-5)) 때마다 다른 포트로 할당하는 인크리먼트형의 중계 장치일 때, 그 중계 장치(12)는 송신처의 포트마다 사용하는 포트(362-1 내지 362-5)를 변경한다.
이 경우, 통신처 통신 장치(351)는, 로컬 통신 장치(11)에 공급 가능한 포트를 선택하는 경우에 필요한 정보가 없기 때문에, 응답을 공급하는 중계 장치(12)의 포트 번호를 특정할 수 없다.
즉, 도 1의 네트워크 시스템에서 설명하면, 로컬 통신 장치(11)는 로컬 통신 장치(31)와 통신을 행하기 위해 중계 장치(32)의 어느 포트에 액세스하면 좋은지를 특정할 수 없다.
그래서, 로컬간 통신부(66)는, 통신 시작 요구 알고리즘을 실행함에 의해 통신 가능한 포트라고 예상되는(예측되는) 중계 장치(32)의 글로벌한 포트 번호 부근의 복수의 포트에 대해 개통 요구 패킷을 생성하고, 통신부(84)를 제어하고, 그 생성된 복수의 개통 요구 패킷을 중계 장치(32)에 공급한다. 상술한 바와 같이 로컬 통신 장치(31)도 마찬가지로 처리를 행한다.
이 때, 슬레이브 측인 로컬 통신 장치(31)는, 수신할 수 있게 된, 로컬 통신 장치(11)로부터 송신된 개통 요구 패킷의 송신원 어드레스 포트 정보를 이용하여, 로컬 통신 장치(31)가 송신하는 개통 요구 패킷의 송신처 어드레스 포트 정보를 조정하고, 로컬 장치(11)가 수신할 수 있도록 한다.
이와 같이, 로컬 통신 장치(11 및 31)는 서로 송수신하는 개통 요구 패킷을 취득함에 의해 통신처의 중계 장치의 액세스해야 할 포트 번호를 용이하게 특정할 수 있다.
이상과 같은 개통 요구 패킷에 의해, 액세스하여야 할 통신처의 포트 번호를 특정한 로컬 통신 장치(11 또는 31)는 도 10을 참조하여 상술한 바와 같이, 개통 유지 패킷을 송수신함에 의해 통신을 개통시켜 확립한다.
로컬 통신 장치(11)가 마스터인 경우에, 상술한 통신 시작 요구 처리와 병행하여 실행하는 통신 확립 처리에 관해, 도 26 및 도 27을 참조하여 설명한다.
최초로, 도 26의 스텝 S261에서 로컬 통신 장치(11)의 로컬간 통신 제어부(66)는 통신부(84)를 제어하여 외부로부터 패킷을 취득하였는지의 여부를 판정한다. 패킷을 취득하였다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S262에서, 취득한 패킷을 해석하고, 스텝 S263에서 취득한 패킷의 송신원 어드레스 포트 정보와, 로컬 통신 장치(11)로부터 송신되는 개통 요구 패킷의 송신처 어드레스 포트 정보가 일치하는지의 여부를 판정한다.
취득한 패킷의 송신원 어드레스 포트 정보가, 개통 요구 패킷의 송신처 어드레스 포트 정보와 일치한다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S264로 처리를 진행하고, 취득한 패킷의 식별 정보를 조사하고, 취득한 패킷이 개통 요구 패킷인지의 여부를 판정한다.
취득한 패킷이 개통 요구 패킷이라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S265에서 취득한 패킷의 송신원 어드레스 포트 정보를 보존하고, 스텝 S266에서 상술한 통신 개통 요구 처리에 대해 개통 요구 패킷의 중지를 요구한다.
개통 요구 패킷의 중지를 요구한 로컬간 통신 제어부(66)는, 도 27의 스텝 S271로 처리를 진행하고, 개통 유지 패킷을 생성하고, 스텝 S272에서 생성한 개통 유지 패킷을 중계 장치(12)를 통하여 통신 상대인 로컬 통신 장치(31)에 공급한다.
도 10을 참조하여 설명한 바와 같이, 로컬 통신 장치(11)로부터의 개통 요구 패킷 또는 개통 유지 패킷을 취득한 경우, 로컬 통신 장치(31)는 로컬 통신 장치(11)에 대해 개통 유지 패킷을 공급한다.
로컬 통신 장치(11)의 로컬간 통신 제어부(66)는 통신부(84)를 통하여 패킷을 취득하면, 스텝 S273에서, 취득한 패킷의 송신원 어드레스 포트 정보와, 로컬 통신 장치(11)로부터 송신하는 개통 유지 패킷의 송신처 어드레스 포트 정보가 일치하는지의 여부를 판정한다.
취득한 패킷의 송신원 어드레스 포트 정보가, 개통 유지 패킷의 송신처 어드레스 포트 정보와 일치한다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S274로 처리를 진행하고, 취득한 패킷에 포함되는 식별자를 조사하고, 취득한 패킷이 개통 유지 패킷인지의 여부를 판정한다.
취득한 패킷이 개통 유지 패킷이라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S275로 처리를 진행하고, 취득한 패킷의 송신원 어드레스 포트 정보를 보존하고, 스텝 S276에 있어서 소정 시간 대기한 후, 스텝 S277에서 개통 유지 패킷을 생성하고, 스텝 S278에 있어서 생성한 개통 유지 패킷을 공급한다.
즉, 로컬간 통신 제어부(66)는, 스텝 S273 및 S274의 처리를 실행함에 의해 로컬 통신 장치(31)와의 통신이 개통하였는지의 여부를 판정한다. 그리고, 스텝 S273에 있어서 취득한 패킷의 송신원 어드레스 포트 정보가 개통 유지 패킷의 송신처 어드레스 포트 정보와 일치한다고 판정하고, 또한, 스텝 S274에 있어서 취득한 패킷이 개통 유지 패킷이라고 판정한 경우, 로컬간 통신 제어부(66)는 로컬 통신 장치(31)와의 통신이 개통하였다고 판정하고, 스텝 S275 이후의 처리에 의해 개통 유지 패킷을 로컬간 통신 장치(31)에 공급한다.
스텝 S279에 있어서, 로컬간 통신 제어부(66)는 스텝 S279에 있어서 통신 확립 처리를 종료하는지의 여부를 판정하고, 종료하지 않는다고 판정한 경우, 스텝 S276으로 처리를 되돌리고, 그 이후의 처리를 반복한다. 또한, 스텝 S279에 있어서 통신 확립 종료한다고 판정한 경우, 로컬간 통신 제어부(66)는, 스텝 S280에 있어서 소정의 종료 처리를 실행하고, 통신 확립 처리를 종료한다.
도 26의 스텝 S261에 있어서 패킷을 취득하지 않는다고 판정한 경우, 스텝 S263에서 취득한 패킷의 송신원 어드레스 포트 정보가, 개통 요구 패킷의 송신처 어드레스 포트 정보와 일치하지 않는다고 판정한 경우 또는 스텝 S264에서, 취득한 패킷이 개통 요구 패킷이 아니라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S267로 처리를 진행하고, 통신 확립 처리를 종료하는지의 여부를 판정하고, 종료하지 않는다고 판정한 경우, 스텝 S261로 처리를 되돌리고, 그 이후의 처리를 반복한다.
스텝 S267에 있어서, 통신 확립 처리를 종료한다고 판정한 경우, 로컬간 통신 제어부(66)는 도 27의 스텝 S280으로 처리를 진행하고, 종료 처리를 실행한 후 통신 확립 처리를 종료한다.
도 27의 스텝 S273에 있어서, 취득한 패킷의 송신원 어드레스 포트 정보가, 개통 유지 패킷의 송신처 어드레스 포트 정보와 일치하지 않는다고 판정한 경우 또는 스텝 S274에 있어서, 취득한 패킷이 개통 유지 패킷이 아니라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S281로 처리를 진행하고, 통신 확립 처리를 종료하는지의 여부를 판정하고, 종료하지 않는다고 판정한 경우, 스텝 S271로 처리를 되돌리고, 그 이후의 처리를 반복한다.
스텝 S281에 있어서, 통신 확립 처리를 종료한다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S280으로 처리를 진행하고, 종료 처리를 실행하고, 통신 확립 처리를 종료한다.
다음에, 도 28 및 도 29의 순서도를 참조하여, 슬레이브인 경우의 로컬 통신 단말 장치(11)에 의한 통신 확립 처리에 관해 설명한다.
도 25의 스텝 S301에서, 로컬 통신 단말 장치(11)의 로컬간 통신 제어부(66)는 통신부(84)를 제어하여, 외부로부터 패킷을 취득하였는지의 여부를 판정한다. 패킷을 취득하였다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S302에 있어서 취득한 패킷을 해석하고, 스텝 S303에서 취득한 패킷의 송신원 어드레스 포트 정보와, 로컬 통신 장치(11)로부터 송신하는 개통 요구 패킷의 송신처 어드레스 포트 정보가 일치하지 않는지의 여부를 판정한다.
취득한 패킷의 송신원 어드레스 포트 정보가, 개통 요구 패킷의 송신처 어드레스 포트 정보와 일치하지 않는다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S304로 처리를 진행하고, 취득한 패킷의 식별 정보를 조사하고, 취득한 패킷이 개통 요구 패킷인지의 여부를 판정한다.
취득한 패킷이 개통 요구 패킷이라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S305에서, 취득한 패킷의 송신원 어드레스 포트 정보를 보존하고, 스텝 S306에서, 송신하는 개통 요구 패킷의 송신처 어드레스 포트 정보를 변경하고, 도 26의 스텝 S311로 처리를 진행하고, 통신부(84)를 제어하고, 개통 유지 패킷을 취득하였는지의 여부를 판정한다.
개통 유지 패킷을 취득하였다고 판정한 경우, 로컬간 통신 제어부(66)는 로컬 통신 장치(31)와의 통신이 개통하였다고 판정하고, 스텝 S312에서 취득한 개통 유지 패킷의 송신원 어드레스 포트 정보를 보존하고, 스텝 S313에서 통신 시작 요구 처리에 대해 개통 요구 패킷의 중지를 요구하고, 스텝 S314에서 개통 유지 패킷을 생성하고, 스텝 S315에서 생성한 개통 유지 패킷을, 중계 장치(12)를 통하여 통신 상대인 로컬 통신 장치(31)에 공급하고, 스텝 S316에서 소정의 시간 대기한 후, 스텝 S317에서 통신 확립 처리를 종료하는지의 여부를 판정하고, 종료하지 않는다고 판정한 경우, 스텝 S314로 처리를 되돌리고, 그 이후의 처리를 반복한다.
스텝 S317에서 통신 확립 처리를 종료한다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S318에서 종료 처리를 실행하고, 통신 확립 처리를 종료한다.
스텝 S311에서, 개통 유지 패킷을 취득하지 않는다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S319로 처리를 진행하고, 통신 확립 처리를 종료하는지의 여부를 판정하고, 종료하지 않는다고 판정한 경우, 도 28의 스텝 S301로 처리를 되돌리고, 그 이후의 처리를 반복한다.
도 29의 스텝 S319에서, 통신 확립 처리를 종료한다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S318로 처리를 진행하고, 통신 확립 처리를 종료한다.
또한, 로컬 통신 장치(31)도 마찬가지로 도 26 내지 도 29의 순서도를 참조하여 설명한 통신 확립 처리를 실행하기 때문에 그 설명을 생략한다.
이상과 같이 하여, 로컬 통신 장치(11)는 개통 요구 패킷에 의해 특정된 어드레스 포트 정보에 개통 유지 패킷을 공급함에 의해 통신을 확립시킨다. 이와 같이 함에 의해 로컬 통신 장치(11 또는 31)는, NAPT 변환 기능을 갖는 중계 장치(12 및 32)를 통하여 통신을 행하는 경우라도, 용이하게 통신 상대인 로컬 통신 장치(31 또는 11)와 통신을 행할 수 있다.
이상으로 설명한, 서비스 요구 패킷, 서비스 제공 패킷, 개통 요구 패킷 및 개통 유지 패킷은 예를 들면, STUN 프로토콜을 이용한 STUN 메시지를 이용하여, 각종의 메시지가 교환된다. 이 STUN 메시지는 UDP 패킷의 데이터부에 삽입되어 수수된다. 도 30에 도시된 바와 같이, 이 UDP 패킷(370)은 헤더부(Message Header)(371) 및 데이터부(Message Attribute)(372)를 포함하고 있고, 28바이트로 구성되어 있다.
헤더부(371)는, 2바이트의 메시지 타입(Message Type)(373), 2바이트의 메시지 데이터 길이(Message Length)(374) 및 16바이트의 트랜잭션 ID(Transaction ID)(375)에 의해 구성된다. 또한, 데이터부(372)는 8바이트의 데이터 페이로드(Data Payload)(376)로 이루어진다.
이와 같은 형식의 UDP 패킷을 송수신함에 의해 로컬 통신 장치(11 및 31) 및 장치용 서비스 제공 장치(51 및 52)는 각종의 메시지를 수수한다. 도 31의 애로우 차트를 참조하여, 상술한 처리에 있어서 수수되는 메시지에 관하여 설명한다. 또한, 필요에 따라 도 32 내지 36을 참조하여 설명한다. 또한, 이하에 있어서, 장치용 서비스 제공 장치(52)에 관한 처리에 관해서는 장치용 서비스 제공 장치(51)와 같기 때문에 그 설명을 생략한다.
로컬 통신 장치(11)는, 도 31의 스텝 S331에서 서비스 요구 패킷으로서, 도 32에 도시한 바와 같은 STUN 메시지의 Mapped Address Inquiry Message를, 장치용 서비스 제공 장치(51)에 공급한다. 이 처리는 도 8의 스텝 S4에 대응한다.
도 32에 도시된 바와 같이, 서비스 요구 패킷으로서의 UDP 패킷(370)의 데이터부(372)에는 메시지의 타입(Type)(381), 데이터 길이(Length)(382) 및 메시지 번호(Value)(383)가 포함된다. 도 32에 있어서, 타입(381)의 값은 「MAPPED ADDRESS」를 나타내는 값 「0x0001」로 되고, 데이터 길이(382)는 메시지가 4비트인 것을 나타내고(0x0004), 메시지 값(383)의 값은 「0x00000000」로 된다.
도 31로 되돌아와, 장치용 서비스 제공 장치(51)는 스텝 S351에서, 이와 같은 Mapped Address Inquiry Message를 취득하면, 스텝 S352에서, 서비스 제공 패킷으로서, 도 33에 도시된 바와 같은 STUN 메시지의 Answered Mapped Address Message를 로컬 통신 장치(11)에 공급한다. 이들의 처리는 도 8의 스텝 S61 및 S63에 대응한다.
도 33에 도시된 바와 같이, 중계 장치(12)의 어드레스 포트 정보를 제공하는 서비스 제공 패킷으로서의 UDP 패킷(370)의 데이터부(372)에는, 패딩(Padding)(391), 패밀리(Family)(392), 포트(Port)(393) 및 어드레스(Address)(394)가 포함된다. 도 33에 있어서 패딩(391)의 값은 「0x0001」로 되고, 패밀리(392)는 「IPv4」의 어드레스 포트 정보인 것을 나타내고(0x01), 포트(393) 및 어드레스(394)는 중계 장치(12)의 어드레스 포트 정보를 나타낸다.
도 31로 되돌아와, 로컬 통신 장치(11)는 스텝 S332에서, 이와 같은 STUN 메시지가 포함되는 UDP 패킷을 취득한다.
마찬가지로, 로컬 통신 장치(31)는 스텝 S371에서, 도 32에 도시된 서비스 요구 패킷을 장치용 서비스 제공 장치(51)에 공급한다. 장치용 서비스 제공 장치(51)는 스텝 S353에서 그 서비스 요구 패킷을 취득하면, 스텝 S354에서 도 33에 도시된 바와 같은 서비스 제공 패킷을 로컬 통신 장치(31)에 공급한다. 로컬 통신 장치(31)는 스텝 S372에서 그 서비스 제공 패킷을 취득한다.
서비스 제공 패킷을 취득한 로컬 통신 장치(11)는 스텝 S333에서, 로컬 통신 장치(31)에 대해 개통 요구 패킷으로서, 도 34에 도시한 바와 같은 STUN 메시지의 Opening Port Notification Message를 공급한다. 이 처리는 도 10의 스텝 S12에 대응한다.
도 34에 도시된 바와 같이, 개통 요구 패킷으로서의 UDP 패킷(370)의 데이터부(372)의 타입(381)은 STUN 메시지의 FLAGS 리퀘스트를 나타내고(0x0003), 데이터 길이(382)는 4바이트를 나타낸다(0x0004). 메시지 값(393)은 이 경우, 「bitC=1」로 하고, 그 밖의 값을 「0」으로 한다(0x00000001).
로컬 통신 장치(31)는 스텝 S373에서, 이 개통 요구 패킷을 취득한다. 마찬가지로, 로컬 통신 장치(31)는 스텝 S374에서, 도 34에 도시된 바와 같은 개통 요구 패킷을 로컬 통신 장치(11)에 공급하고, 로컬 통신 장치(11)는 스텝 S334에서 이 개통 요구 패킷을 취득한다.
로컬 통신 장치(11)는, 스텝 S335에서, 개통 유지 패킷으로서, 도 32에 도시한 바와 같은 STUN 메시지의 Keep-Alive Request Message를 공급한다. Keep-Alive Request Message에서는, Mapped Address Inquiry Message와 같이 STUN 메시지의 MAPPED ADDRESS 리퀘스트를 사용한다. 이 처리는 도 10의 스텝 S13의 처리에 대응한다.
로컬 통신 장치(31)는 스텝 S375에서, 그 개통 유지 패킷을 취득하면, 스텝 S376에서 개통 유지 패킷으로서 도 33에 도시된 바와 같은 STUN 메시지의 Keep-Alive Response Message를 공급한다. Keep-Alive Response Message에서는, Answered Mapped Address Message와 같이 STUN 메시지의 MAPPED ADDRESS 리퀘스트를 사용한다. 이 처리는, 도 10의 스텝 S55의 처리에 대응한다.
로컬 통신 장치(11)는 스텝 S336에서, 그 개통 유지 패킷을 취득하면, 스텝 S337에서 개통한 통신을 유지하기 위한 개통 유지 패킷으로서, 도 34에 도시된 바와 같은 STUN 메시지의 Heartbeat Message를 공급한다. Heartbeat Message에서는 Opening Port Notification Message와 같이 STUN 메시지의 FLAGS 리퀘스트를 사용한다. 또한, 이 경우, 메시지 값(383)은 bitA와 bitC의 값을 「1」로 하고, 그 밖의 값을 「0」으로 한다(0x00000005). 로컬 통신 장치(31)는 도 31의 스텝 S377에서 이 개통 유지 패킷을 취득한다.
마찬가지로, 로컬 통신 장치(31)는 스텝 S378에서, 이 개통 유지 패킷을 로컬 통신 장치(11)에 공급하고, 로컬 통신 장치(11)는 스텝 S338에서 이 개통 유지 패킷을 취득한다.
이상에 나타나는 Keep-Alive Request Message 및 Keep-Alive Response Message에 있어서, 헤더부(371)의 트랜잭션 ID(375)는 도 35에 도시된 바와 같은 값으로 하고, Heartbeat Message의 트랜잭션 ID(375)는, 도 36에 도시된 바와 같은 값으로 한다.
또한, 서비스 요구 패킷, 서비스 제공 패킷, 개통 요구 패킷 및 예비 개통 유지 패킷은 상술한 이외의 구성의 패킷이라도 물론 좋고, STUN 프로토콜 이외의 프로토콜을 사용하여도 좋다.
이상과 같이, 로컬 통신 장치(11 및 31)는 STUN 메시지를 이용하고, 서비스 요구 패킷 및 서비스 제공 패킷에 의해 예상되는(예측되는) 송신처의 어드레스 포트 정보를 취득하고, 그 어드레스 포트 정보에 의거하여 복수의 개통 요구 패킷을 공급함에 의해 실제로 통신을 개통 가능한 포트를 검색하고, 개통 유지 패킷에 의해 그 포트를 유지시키도록 한다. 이와 같이 함에 의해 중계 장치를 통하여 통신을 행하는 경우에 있어서도, 로컬 통신 장치(11 및 31)는 기존의 설비에 의해 구성되는 네트워크 시스템에 있어서 용이하게 통신을 행할 수 있다.
이하에 구체예를 나타낸다. 도 37에 있어서, 로컬 통신 장치(11)측의 중계 장치가 재이용형의 중계 장치(12-1)이고, 로컬 통신 장치(31)측의 중계 장치가, 재이용형의 중계 장치(32-1)이다.
중계 장치(12-1)는, 로컬 통신 장치(11)가 공급하는 UDP 패킷을 공급처의 어드레스 포트 정보에 관계없이 포트(402-1)를 이용하여 중계한다. 즉, 도 37에 도시된 바와 같이 로컬 통신 장치(11)로부터 송신되고, 송신원 어드레스 포트 정보의 포트 번호가 로컬 통신 장치(11)의 포트(401-1)로 설정되어 있는 패킷은, 중계 장치(12-1)에서 NAPT 변환되고, 송신원 어드레스 포트 정보의 포트 번호가 포트(402-1)로 변환된 후, 장치용 서비스 제공 장치(51 또는 52) 또는 중계 장치(32-1)의 포트(403-1 내지 403-5)에 공급된다.
따라서 이 경우, 장치용 서비스 제공 장치(51 및 52)로부터 공급되는 서비스 제공 패킷에 포함되는 2개의 글로벌 어드레스 정보의 차분치는, 「0」으로 된다. 이 차분치에 의거하여 로컬 통신 장치(11)는 차회의 통신, 즉, 중계 장치(32)에 개통 요구 패킷을 공급하는 경우에 있어서도, 중계 장치(12)가 포트(402-1)를 로컬 통신 장치(11)에 대응시킨다고 예상한다(예측한다).
마찬가지로, 중계 장치(32-1)는 로컬 통신 장치(31)가 공급하는 UDP 패킷을, 공급처의 어드레스 포트 정보에 관계없이 포트(403-1)를 이용하여 중계한다. 즉, 도 37에 도시된 바와 같이, 로컬 통신 장치(31)로부터 송신되고, 송신원 어드레스 포트 정보의 포트 번호가, 로컬 통신 장치(31)의 포트(404-1)로 설정되어 있는 패킷은 중계 장치(32-1)에서 NAPT 변환되고, 송신원 어드레스 포트 정보의 포트 번호가 포트(403-1)로 변환된 후, 장치용 서비스 제공 장치(51 또는 52) 또는 중계 장치(12-1)의 포트(402-1 내지 402-5)에 공급된다.
따라서 이 경우, 장치용 서비스 제공 장치(51 및 52)로부터 공급되는 서비스 제공 패킷에 포함되는 2개의 글로벌 어드레스 정보의 차분치는 「0」으로 된다. 이 차분치에 의거하여 로컬 통신 장치(31)는 차회의 통신, 즉, 중계 장치(12)에 개통 요구 패킷을 공급하는 경우에 있어서도, 중계 장치(32)가 포트(403-1)를 로컬 통신 장치(31)에 대응시킨다고 예상한다(예측한다).
로컬 통신 장치(11 및 31)는, 유저용 서비스 제공 장치(41)를 이용하여 이들의 예측한 어드레스 포트 정보를 교환하고, 개통 요구 패킷을 송신할 때의 송신처 어드레스 포트 정보로서 이용한다. 이 경우, 로컬 통신 장치(11)는 개통 요구 패킷의 공급을 포트(403-1)로부터 시작하고, 로컬 통신 장치(31)는 개통 요구 패킷의 공급을 포트(402-1)로부터 시작한다.
따라서 이 경우, 로컬 통신 장치(11)의 포트(401-1), 중계 장치(12-1)의 포트(402-1), 중계 장치(32-2)의 포트(403-1) 및 로컬 통신 장치(31)의 포트(404-1)를 통하여 통신이 개통한다.
또한, 도 38에 있어서, 로컬 통신 장치(11)측의 중계 장치가, 패킷의 공급처의 어드레스 포트 정보가 변화할 때마다, 포트 번호를 하나씩 증가시키면서 중계하는 인크리먼트형의 중계 장치(12-2)이고, 로컬 통신 장치(31)측의 중계 장치도, 같은 인크리먼트형의 중계 장치(32-2)이다.
중계 장치(12-2)는, 로컬 통신 장치(11)가 공급하는 UDP 패킷을 공급처의 어드레스 포트 정보가 변화할 때마다 포트 번호를 하나씩 증가시키면서 중계한다. 즉, 도 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)에 공급한다.
따라서 이 경우, 장치용 서비스 제공 장치(51 및 52)로부터 공급되는 서비스 제공 패킷에 포함되는 2개의 글로벌 어드레스 정보의 차분치는 「1」로 된다. 이 차분치에 의거하여 로컬 통신 장치(11)는 차회의 통신, 즉, 중계 장치(32-2)에 개통 요구 패킷을 공급하는 경우 중계 장치(12-2)가, 포트(402-2)의 다음 포트인 포트(402-3)를 로컬 통신 장치(11)에 대응시킨다고 예상한다(예측한다).
중계 장치(32-2)는, 상술한 중계 장치(12-2)의 경우와 같은 처리를 행하고, 로컬 통신 장치(31)가 공급하는 UDP 패킷을 공급처의 어드레스 포트 정보가 변화할 때마다, 포트 번호를 하나씩 증가시키면서 중계한다.
따라서 이 경우, 장치용 서비스 제공 장치(51 및 52)로부터 공급되는 서비스 제공 패킷에 포함되는 2개의 글로벌 어드레스 정보의 차분치는, 「1」로 된다. 이 차분치에 의거하여 로컬 통신 장치(31)는, 차회의 통신, 즉, 중계 장치(12-2)에 개통 요구 패킷을 공급하는 경우, 중계 장치(32-2)가 포트(403-2)의 다음 포트인 포트(403-3)를 로컬 통신 장치(11)에 대응시킨다고 예상한다(예측한다).
로컬 통신 장치(11 및 31)는, 유저용 서비스 제공 장치(41)를 이용하여 이들의 예측한 어드레스 포트 정보를 교환하고, 개통 요구 패킷을 송신할 때의 송신처 어드레스 포트 정보로서 이용한다. 이 경우, 로컬 통신 장치(11)는 개통 요구 패킷의 공급을 포트(403-3)로부터 시작하고, 로컬 통신 장치(31)는 개통 요구 패킷의 공급을 포트(402-3)로부터 시작한다.
따라서 이 경우, 로컬 통신 장치(11)의 포트(401-1), 중계 장치(12-2)의 포트(402-3), 중계 장치(32-2)의 포트(403-3) 및 로컬 통신 장치(31)의 포트(404-1)를 통하여 통신이 개통한다.
이상과 같이, 로컬 통신 장치(11 및 31)는 NAPT를 통한 경우에 있어서도, 용이하게 통신을 개통할 수 있다.
또한, 이상에 있어서, 패킷의 공급처의 어드레스 포트 정보가 변화할 때마다, 포트 번호를 하나씩 증가시키면서 중계하는 인크리먼트형의 중계 장치를 통한 경우에 관해 설명하였지만, 이에 한하지 않고, 중계 장치가 증가시키는 포트 번호의 수는 2개 이상씩이라도 좋다.
또한, 통신의 마스터 측의 통신 장치가 실행하는 통신 시작 요구 알고리즘과, 슬레이브 측의 통신 장치가 실행하는 통신 시작 요구 알고리즘이, 서로 다른 처리를 포함하도록 하여도 좋다.
도 39의 순서도를 참조하여, 로컬 통신 장치(11)에 의한 제어 처리를 설명한다. 필요에 따라 도 40의 순서도를 참조하여 설명한다.
로컬 통신 장치(11)의 로컬간 통신 제어부(66)는 스텝 S391에서, 로컬 통신 장치(11)가 통신의 마스터인지의 여부를 판정하고, 마스터라고 판정한 경우 스텝 S392에서, 통신 시작 요구 알고리즘으로서, 제 2 통신 시작 요구 처리를 실행한다. 제 2 통신 시작 요구 처리의 상세에 관해서는 도 40의 순서도를 참조하여 후술한다. 스텝 S392의 처리를 종료한 로컬간 통신 제어부(66)는 제어 처리를 종료한다.
스텝 S391에서, 로컬 통신 장치(11)가 슬레이브라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S393으로 처리를 진행하고, 통신 시작 요구 알고리즘으로서 도 23에 도시된 순서도와 같은 제 1 통신 시작 요구 처리를 실행한다. 제 1 통신 시작 요구 처리의 상세한 것은, 도 23에 도시된 순서도를 적용할 수 있기 때문에 그 설명을 생략한다. 스텝 S393의 처리를 종료한 로컬간 통신 제어부(66)는 제어 처리를 종료한다.
다음에, 도 40의 순서도를 참조하여, 로컬 통신 장치에 의한 제 2 통신 시작 요구 처리를 설명한다.
로컬 통신 장치(11)의 로컬간 통신 제어부(66)는 스텝 S411에서, 변수 i 및 변수 j의 각각에 값 「0」을 대입한다. 스텝 S412에서 로컬간 통신 제어부(66)는 중계 장치(12)의 글로벌한 포트를 나타내는 변수 Glo-port의 값을 변수 Base-Glo-port로서 보존하고, 로컬 통신 장치(11)의 포트를 나타내는 변수 Pri-port를 변수 Base-Pri-port로서 보존한다.
스텝 S413으로 처리를 진행하면, 로컬간 통신 제어부(66)는 변수 i의 값이 변수 numSrcPriPort보다 작은지의 여부를 판정한다. 변수 i의 값이 변수 numSrcPriport보다 작다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S414로 처리를 진행하고, 변수 Base-Pri-Port의 값에 변수 i의 값을 가산하고, 그 값을 변수 Pri-port에 대입한다.
로컬간 통신 제어부(66)는 스텝 S415에서, 변수 j의 값이 변수 numDstGloPort의 2배의 값보다 작은지의 여부를 판정하고, 작다고 판정한 경우, 스텝 S416에서 변수 Base-Glo-Port의 값에 변수 j의 값을 가산하고, 변수 Glo-port에 대입한다.
그리고, 로컬간 통신 제어부(66)는 스텝 S417에서, 변수 Pri-port의 값을 송신원의 포트 번호로 하고, 변수 Glo-port의 값을 송신처의 포트 번호로 한 개통 요구 패킷을 생성하고, 통신부(84)를 제어하여 생성한 개통 요구 패킷을 중계 장치(12)를 통하여 중계 장치(32)에 공급한다.
스텝 S418로 처리를 진행한 로컬간 통신 제어부(66)는, 소정의 시간 timeSendInterval 동안 대기한 후 스텝 S419에서 변수 j의 값에 값(j+2)을 대입하고, 스텝 S420에서 유저의 조작 등에 의거하여 개통 요구 패킷의 중지 요구가 나와 있는지의 여부를 판정하고, 중지 요구가 나와 있다고 판정한 경우, 제 2 통신 시작 요구 처리를 종료하고, 도 39의 제어 처리를 종료한다.
스텝 S413에서, 변수 i의 값이 변수 numSrcPriPort보다 작지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 제 2 통신 시작 요구 처리를 종료하고, 도 39의 제어 처리를 종료한다.
스텝 S415에서, 변수 j의 값이 변수 numDstGloPort의 2배의 값보다 작지 않다고 판정한 경우 로컬간 통신 제어부(66)는, 스텝 S421로 처리를 진행하고, 변수 j에 값 「0」을 대입하고, 스텝 S422에서 변수 i에 값 (i+1)을 대입한 후, 스텝 S413으로 처리를 되돌리고, 그 이후의 처리를 반복한다.
스텝 S420에서, 개통 요구 패킷의 중지 요구가 나와 있지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S415로 처리를 되돌리고, 그 이후의 처리를 반복한다.
이상과 같이, 로컬 통신 장치(11)가 마스터 측인 경우, 로컬간 통신 제어부(66)는 통신처 측의 중계 장치(32)의 연속하는 포트군에 대해, 예상된(예측된) 포트 번호로부터 하나 걸러 개통 요구 패킷을 공급하고(포트 번호를 2개씩 비켜놓으면서 개통 요구 패킷을 공급하고), 로컬 통신 장치(11)가 슬레이브 측인 경우, 통신처 측의 중계 장치(32)의 포트에 대해 예상된(예측된) 포트 번호로부터 포트 번호를 하나씩 비켜놓으면서 개통 요구 패킷을 공급한다.
또한, 로컬 통신 장치(31)도 상술한 로컬 장치(11)의 경우와 같은 제어 처리를 행하고, 통신 시작 요구 처리를 실행시킨다.
예를 들면, 도 41에 있어서, 로컬 통신 장치(11)측의 중계 장치는, 패킷 공급처의 어드레스 포트 정보가 변화할 때마다, 포트 번호를 하나씩 증가시키면서 중계하는 인크리먼트형의 중계 장치(12-2)이고, 로컬 통신 장치(31)측의 중계 장치는 재이용형의 중계 장치(32-1)이다.
이 경우, 로컬 통신 장치(11)로부터 개통 요구 패킷이 송신될 때, 로컬 통신 장치(11)에 할당된다고 예상되는(예측되는) 중계 장치(12-2)의 포트는 도 38을 참조하여 설명한 경우와 같이, 포트(402-3)로 되고, 로컬 통신 장치(31)로부터 개통 요구 패킷이 송신될 때, 로컬 통신 장치(31)에 할당된다고 예상되는(예상되는) 중계 장치(32-1)의 포트는 도 37을 참조하여 설명한 경우와 같이 포트(403-1)로 된다. 즉, 로컬 통신 장치(11)는 개통 요구 패킷을 포트(403-1)로부터 하나 걸러 복수의 포트에 공급하고, 로컬 통신 장치(31)는 개통 요구 패킷을 포트(402-3)로부터 연속하는 복수의 포트에 공급한다.
따라서 이 경우, 로컬 통신 장치(11)의 포트(401-1), 중계 장치(12-2)의 포트(402-3), 중계 장치(32)-2의 포트(403-1) 및 로컬 통신 장치(31)의 포트(404-1)를 통하여 통신이 개통한다.
또한, 예를 들면, 도 42에 있어서, 로컬 통신 장치(11)측의 중계 장치는 재이용형의 중계 장치(12-1)이고, 로컬 통신 장치(31)측의 중계 장치는 패킷의 공급처의 어드레스 포트 정보가 변화할 때마다, 포트 번호를 하나씩 증가시키면서 중계하는 인크리먼트형의 중계 장치(32-2)이다.
이 경우, 로컬 통신 장치(11)로부터 개통 요구 패킷이 송신될 때, 로컬 통신 장치(11)에 할당된다고 예상되는(예측되는) 중계 장치(12-2)의 포트는, 도 37을 참조하여 설명한 경우와 같이 포트(402-1)로 되고, 로컬 통신 장치(31)로부터 개통 요구 패킷이 송신될 때 로컬 통신 장치(31)에 할당된다고 예상되는(예측되는) 중계 장치(32-1)의 포트는, 도 38을 참조하여 설명한 경우와 같이 포트(403-3)로 된다. 즉, 로컬 통신 장치(11)는, 개통 요구 패킷을 포트(403-3)로부터 하나 걸러 복수의 포트에 공급하고, 로컬 통신 장치(31)는 개통 요구 패킷을 포트(402-1)로부터 연속하는 복수의 포트에 공급한다.
따라서 이 경우, 로컬 통신 장치(11)의 포트(401-1), 중계 장치(12-2)의 포트(402-1), 중계 장치(32-2)의 포트(403-3) 및 로컬 통신 장치(31)의 포트(404-1)를 통하여 통신이 개통한다.
이상과 같이, 로컬 통신 장치(11 및 31)는, NAPT를 통한 경우에 있어서도 용이하게 통신을 개통할 수 있다.
또한, 이상에 있어서는, 마스터인 로컬 통신 장치가, 통신처의 중계 장치에 대해 포트 번호가 하나 걸러가 되도록 개통 요구 패킷을 공급하도록 설명하였지만, 슬레이브인 로컬 통신 장치가 그와 같이 개통 요구 패킷을 공급하도록 하여도 물론 좋다. 그 경우, 마스터인 로컬 통신 장치는 포트 번호가 연속하도록 개통 요구 패킷을 공급한다.
또한, 이상에 있어서, 마스터인 로컬 통신 장치와 슬레이브인 로컬 통신 장치에 있어서, 개통 요구 패킷을 공급하는 알고리즘이 다르면 좋고, 예를 들면, 로컬 통신 장치가, 통신처의 중계 장치에 대해 포트 번호가 2개 이상 걸러가 되도록 개통 요구 패킷을 공급하도록 하여도 물론 좋다.
또한, 로컬 통신 장치가, 각 포트로부터 출력하는 개통 요구 패킷을 송신처의 중계 장치가 다른 포트에 대해 공급하도록 하여도 좋다. 그와 같은 경우의 로컬 통신 장치(11)에 의한 제어 처리를, 도 43의 순서도를 참조하여 설명한다. 또한, 필요에 따라 도 44 및 45의 순서도를 참조하여 설명한다.
로컬 통신 장치(11)의 로컬간 통신 제어부(66)는 스텝 S441에서, 로컬 통신 장치(11)가 통신의 마스터(Master)인지의 여부를 판정하고, 마스터라고 판정한 경우 스텝 S442에서, 통신 시작 요구 알고리즘으로서, 제 3 통신 시작 요구 처리를 실행한다. 제 3 통신 시작 요구 처리의 상세에 관해서는 도 43의 순서도를 참조하여 후술한다. 스텝 S442의 처리를 종료한 로컬간 통신 제어부(66)는 제어 처리를 종료한다.
스텝 S441에서, 로컬 통신 장치(11)가 슬레이브라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S443으로 처리를 진행하고, 통신 시작 요구 알고리즘으로서 제 4 통신 시작 요구 처리를 실행한다. 제 4 통신 시작 요구 처리의 상세에 관해서는 도 44의 순서도를 참조하여 후술한다. 스텝 S443의 처리를 종료한 로컬간 통신 제어부(66)는 제어 처리를 종료한다.
다음에, 도 43의 순서도를 참조하여, 로컬 통신 장치에 의한 제 3 통신 시작 요구 처리를 설명한다. 또한, 이하에 있어서, 변수 numDstGloPort2는, 하나의 포트로부터 공급되는 개통 요구 패킷의 수(즉, 하나의 포트로부터 개통 요구 패킷이 공급되는 통신처의 중계 장치의 포트의 수)라고 한다.
로컬 통신 장치(11)의 로컬간 통신 제어부(66)는 스텝 S461에서, 변수 i 및 변수 j의 각각에 값 「0」을 대입한다. 스텝 S462에서 로컬간 통신 제어부(66)는 중계 장치(12)의 글로벌한 포트를 나타내는 변수 Glo-port의 값을 변수 Base-Glo-port로서 보존하고, 로컬 통신 장치(11)의 포트를 나타내는 변수 Pri-port를 변수 Base-Pri-port로서 보존한다.
스텝 S463으로 처리를 진행하면, 로컬간 통신 제어부(66)는 변수 i의 값이 변수 numSrcPriPort보다 작은지의 여부를 판정한다. 변수 i의 값이 변수 numSrcPriPort보다 작다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S464로 처리를 진행하고, 변수 Base-Pri-Port의 값에 변수 i의 값을 가산하고, 그 값을 변수 Pri-port에 대입한다.
로컬간 통신 제어부(66)는, 스텝 S465에서, 변수 j의 값이 (numDstGloPort2×i+numDstGloPort2-1)의 값보다 작은지의 여부를 판정하고, 작다고 판정한 경우 스텝 S466에서 변수 Base-Glo-Port의 값에 변수 j의 값을 가산하고, 변수 Glo-port에 대입한다.
그리고, 로컬간 통신 제어부(66)는, 스텝 S467에서 변수 Pri-port의 값을 송신원의 포트 번호로 하고, 변수 Glo-port의 값을 송신처의 포트 번호로 하고, 개통 요구 패킷을 생성하고, 통신부(84)를 제어하여 생성한 개통 요구 패킷을 중계 장치(12)를 통하여 중계 장치(32)에 공급한다.
스텝 S468로 처리를 진행한 로컬간 통신 제어부(66)는 소정의 시간 timeSendInterval 동안 대기한 후 스텝 S469에서 변수 j의 값에 값 (j+1)를 대입하고, 스텝 S470에서 유저의 조작 등에 의거하여 개통 요구 패킷의 중지 요구가 나와 있는지의 여부를 판정하고, 중지 요구가 나와 있다고 판정한 경우, 제 3 통신 시작 요구 처리를 종료하고, 도 43의 제어 처리를 종료한다.
스텝 S463에서, 변수 i의 값이 변수 numSrcPriPort보다 작다고 판정한 경우, 로컬간 통신 제어부(66)는 제 3 통신 시작 요구 처리를 종료하고, 도 43의 제어 처리를 종료한다.
스텝 S465에서, 변수 j의 값이 (numDstGloPort2×i+numDstGloPort2-1)의 값보다 작지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S471로 처리를 진행하고, 변수 j에 값 (j+1)을 대입하고, 스텝 S472에서 변수 i에 값(i+1)을 대입한 후 스텝 S463으로 처리를 되돌리고, 그 이후의 처리를 반복한다.
스텝 S470에서, 개통 요구 패킷의 중지 요구가 나와 있지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S465로 처리를 되돌리고, 그 이후의 처리를 반복한다.
다음에, 도 45의 순서도를 참조하여 로컬 통신 장치에 의한 제 4 통신 시작 요구 처리를 설명한다.
로컬 통신 장치(11)의 로컬간 통신 제어부(66)는, 스텝 S491에서 변수 i 및 변수 j의 각각에 값 「0」을 대입한다. 스텝 S492에서, 로컬간 통신 제어부(66)는 중계 장치(12)의 글로벌한 포트를 나타내는 변수 Glo-port의 값을 변수 Base-Glo-port로서 보존하고, 로컬 통신 장치(11)의 포트를 나타내는 변수 Pri-port를 변수 Base-Pri-port로서 보존한다.
스텝 S493으로 처리를 진행하면, 로컬간 통신 제어부(66)는 변수 i의 값이 변수 numSrcPriPort보다 작은지의 여부를 판정한다. 변수 i의 값이 변수 numSrcPriPort보다 작다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S494로 처리를 진행하고, 변수 Base-Pri-Port의 값에 변수 i의 값을 가산하고, 그 값을 변수 Pri-port에 대입한다.
로컬간 통신 제어부(66)는, 스텝 S495에서 변수 j의 값이 {(numDstGloPort2-1)×i+numDstGloPort2-1}의 값보다 작은지의 여부를 판정하고, 작다고 판정한 경우, 스텝 S496에서 변수 Base-Glo-Port의 값에 변수 j의 값을 가산하고, 변수 Glo-port에 대입한다.
그리고, 로컬간 통신 제어부(66)는, 스텝 S497에서 변수 Pri-port의 값을 송신원의 포트 번호로 하고, 변수 Glo-port의 값을 송신처의 포트 번호로 하고, 개통 요구 패킷을 생성하고, 통신부(84)를 제어하여 생성한 개통 요구 패킷을 중계 장치(12)를 통하여 중계 장치(32)에 공급한다.
스텝 S498로 처리를 진행한 로컬간 통신 제어부(66)는 소정의 시간 timeSendInterval 동안 대기한 후, 스텝 S499에서 변수 j의 값에 값 (j+1)을 대입하고, 스텝 S500에서 유저의 조작 등에 의거하여 개통 요구 패킷의 중지 요구가 나와 있는지의 여부를 판정하고, 중지 요구가 나와 있다고 판정한 경우, 제 4 통신 시작 요구 처리를 종료하고, 도 43의 제어 처리를 종료한다.
스텝 S493에서, 변수 i의 값이 변수 numSrcPriPort보다 작지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 제 4 통신 시작 요구 처리를 종료하고, 도 43의 제어 처리를 종료한다.
스텝 S495에서, 변수 j의 값이 {(numDstGloPort2-1)×i+numDstGloPort2-1}의 값보다 작지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S501로 처리를 진행하고, 변수 i에 값 (i+1)을 대입한 후 스텝 S493으로 처리를 되돌리고, 그 이후의 처리를 반복한다.
스텝 S500에서, 개통 요구 패킷의 중지 요구가 나와 있지 않다고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S495로 처리를 되돌리고, 그 이후의 처리를 반복한다.
이상과 같이, 로컬 통신 장치(11)가 마스터 측인 경우, 로컬간 통신 제어부(66)는 통신처의 중계 장치(32)가 갖는 포트가 연속하는 (numDstGloPort2-1)개의 포트를 1그룹으로 하고, 각 그룹 사이에 하나의 포트가 존재하는 복수의 그룹을 설정하고, 로컬 통신 장치(11)의 각 포트로부터 중계 장치(32)의 서로 다른 그룹에 대해, (numDstGloPort2-1)개의 개통 요구 패킷을 공급한다. 또한, 로컬 통신 장치(11)가 슬레이브인 경우, 로컬간 통신 제어부(66)는, 통신처의 중계 장치(32)가 갖는 포트가 연속하는 (numDstGloPort2-1)개의 포트를 1그룹으로 하고, 각 그룹이 연속하는 복수의 그룹을 설정하고, 로컬 통신 장치(11)의 각 포트로부터, 중계 장치(32)의 서로 다른 그룹에 대해, (numDstGloPort2-1)개의 개통 요구 패킷을 공급한다.
또한, 로컬 통신 장치(31)도 상술한 로컬 장치(11)의 경우와 같은 제어 처리를 행하고, 통신 시작 요구 처리를 실행시킨다.
예를 들면, 변수 numSrcPriPort의 값을 「3」으로 하고, 변수 numDstGloPort 2의 값을 「4」로 한다. 도 46에 있어서, 로컬 통신 장치(11)측의 중계 장치는 패킷의 공급처의 어드레스 포트 정보가 변화할 때마다 포트 번호를 하나씩 증가시키면서 중계하는 인크리먼트형의 중계 장치(12-2)이고, 로컬 통신 장치(31)측의 중계 장치도, 같은 인크리먼트형의 중계 장치(32-2)이다.
이 경우, 로컬 통신 장치(11)로부터 개통 요구 패킷이 송신될 때, 로컬 통신 장치(11)에 할당된다고 예상되는(예측되는) 중계 장치(12-2)의 포트는, 도 38을 참조하여 설명한 경우와 같이, 포트(402-3)로 되고, 로컬 통신 장치(31)로부터 개통 요구 패킷이 송신될 때, 로컬 통신 장치(31)에 할당된다고 예상되는(예측되는) 중계 장치(32-2)의 포트는 도 38을 참조하여 설명한 경우와 같이, 포트(403-3)로 된다. 즉, 로컬 통신 장치(11)는, 개통 요구 패킷을 포트(403-3)로부터 연속하는 복수의 포트에 공급하고, 로컬 통신 장치(31)는, 개통 요구 패킷을 포트(402-3)로부터 연속하는 복수의 포트에 공급한다.
이 때, 어떠한 이유에 의해, 통신선측의 중계 장치(32-2)가 포트(403-3)를 건너뛰어 사용하는 포트를 인크리먼트시킨 경우, 로컬 통신 장치(31)로부터 공급되는 개통 요구 패킷의 통신원의 포트 번호가 하나씩 비켜지게 되지만, 그 경우에 있어서도, 로컬 통신 장치(11)의 포트(401-2), 중계 장치(12-2)의 포트(402-6), 중계 장치(32-2)의 포트(403-7) 및 로컬 통신 장치(31)의 포트(404-2)를 통하여 통신이 개통한다.
또한, 예를 들면, 도 47에 도시된 경우와 같이, 어떠한 이유에 의해 통신원 측의 중계 장치(12-2)가, 포트(402-3)를 건너뛰어 사용하는 포트를 인크리먼트시킨 경우, 로컬 통신 장치(11)로부터 공급되는 개통 요구 패킷의 통신원의 포트 번호가 하나씩 비켜지게 되지만, 그 경우에 있어서도, 로컬 통신 장치(11)의 포트(401-2), 중계 장치(12-2)의 포트(402-7), 중계 장치(32-2)의 포트(403-7) 및 로컬 통신 장치(31)의 포트(404-2)를 통하여 통신이 개통한다.
이상과 같이, 로컬 통신 장치의 각 포트로부터 공급되는 개통 요구 패킷을, 통신처의 중계 장치의 다른 포트에 공급함과 함께, 마스터인 경우와, 슬레이브인 경우에서, 개통 요구 패킷의 공급 방법을 다르도록 함에 의해, 로컬 통신 장치는, 기존의 설비에 의해 구성되는 네트워크 시스템에 있어서, 또한 많은 경우에 있어서도, 통신을 용이하게 개통시킬 수 있다.
또한, 이상의 예에서는, 로컬 통신 장치가 마스터인 경우와, 슬레이브인 경우에서 개통 요구 패킷을 공급하는 알고리즘이 다르면 좋고, 로컬 통신 장치가 마스터인 경우에 제 4 통신 시작 요구 처리를 실행하고, 슬레이브인 경우에 제 3 통신 시작 요구 처리를 실행하도록 하여도 좋다.
또한, 이상에 있어서는, 변수 numSrcPriPort의 값을 「3」으로 하고, 변수 numDstGloPort2의 값을 「4」로 한 경우에 관해 설명하였지만, 이들의 값은 상술한 이외라도 물론 좋다. 또한, 로컬 통신 장치(11)가 마스터 측인 경우 로컬간 통신 제어부(66)는 각 포트로부터 (numDstGloPort 2-1)개의 개통 요구 패킷을 공급하고, 로컬 통신 장치(11)가 슬레이브인 경우, 로컬간 통신 제어부(66)는 각 포트로부터 (numDstGloPort2-1)개의 개통 요구 패킷을 공급하도록 설명하였지만, 각 포트로부터 공급하는 개통 요구 패킷의 수는 그 이상이라도 좋고, 그 이하라도 좋다.
또한, 로컬 통신 장치(11)가 개통 요구 패킷을 생성하여 공급하는 통신 시작 요구 알고리즘으로서는, 상술한 이외에도 어떤 알고리즘이라도 좋다. 예를 들면, 통신 시작 요구 알고리즘으로서, 상술한 제 1 통신 시작 요구 처리 내지 제 4 통신 시작 요구 처리를 전부 조합시켜 사용하도록 하여도 좋다.
도 48의 순서도를 참조하여, 로컬 통신 장치(11)에 의한 제어 처리에 관하여 설명한다.
최초로, 스텝 S521에서, 로컬 통신 장치(11)의 로컬간 통신 제어부(66)는 도 23의 순서도를 참조하여 설명한 바와 같은 제 1 통신 시작 요구 처리를 실행한다. 스텝 S522에서, 로컬간 통신 제어부(66)는 이 제 1 통신 시작 요구 처리에 의해 통신이 개통하였는지의 여부를 판정하고, 개통하지 않았다고 판정한 경우 스텝 S523으로 처리를 진행하고, 로컬 통신 장치(11)가 마스터(Master)인지의 여부를 판정한다.
로컬 통신 장치(11)가 통신의 마스터라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S524로 처리를 진행하고, 도 40의 순서도를 참조하여 설명한 바와 같은 제 2 통신 시작 요구 처리를 실행한다. 제 2 통신 시작 요구 처리를 종료한 로컬간 통신 제어부(66)는 스텝 S526으로 처리를 진행한다.
스텝 S523에서, 로컬 통신 장치(11)가 통신의 슬레이브라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S525로 처리를 진행하고, 스텝 S521과 같은 제 1 통신 시작 요구 처리를 실행한다. 제 1 통신 시작 요구 처리를 종료한 로컬간 통신 제어부(66)는 스텝 S526으로 처리를 진행한다.
스텝 S526에서, 로컬간 통신 제어부(66)는 제 1 통신 시작 요구 처리 또는 제 2 통신 시작 요구 처리에 의해 통신이 개통하였는지의 여부를 판정하고, 개통하지 않았다고 판정한 경우, 스텝 S527로 처리를 진행하고, 로컬 통신 장치(11)가 마스터인지의 여부를 판정한다.
로컬 통신 장치(11)가 통신의 마스터라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S528로 처리를 진행하고, 도 44의 순서도를 참조하여 설명한 바와 같은 제 3 통신 시작 요구 처리를 실행한다. 제 3 통신 시작 요구 처리를 종료한 로컬간 통신 제어부(66)는 제어 처리를 종료한다.
스텝 S527에서, 로컬 통신 장치(11)가 통신의 슬레이브라고 판정한 경우, 로컬간 통신 제어부(66)는 스텝 S529로 처리를 진행하고, 도 45의 순서도를 참조하여 설명한 바와 같은 제 4 통신 시작 요구 처리를 실행한다. 제 4 통신 시작 요구 처리를 종료한 로컬간 통신 제어부(66)는 제어 처리를 종료한다.
또한, 스텝 S522 또는 스텝 S526에서, 통신이 개통하였다고 판정한 경우 로컬간 통신 제어부(66)는 제어 처리를 종료한다.
이상과 같이, 복수의 통신 시작 요구 처리를 조합시킴에 의해 로컬 통신 장치(11)는 기존의 설비에 의해 구성되는 네트워크 시스템에 있어서, 또한 많은 경우에 관해 용이하게 통신처의 로컬 통신 장치(31)와의 통신을 개통시킬 수 있다.
또한, 이상에 있어서는, 로컬 통신 장치(11)의 경우에 관해 설명하였지만, 로컬 통신 장치(31)가 상술한 바와 같은 제어 처리와 같은 제어 처리를 행하도록 하여도 좋다. 또한, 로컬 통신 장치(11)가 실행하는 제어 처리와 로컬 통신 장치(31)가 실행하는 제어 처리에 있어서, 조합시키는 복수의 통신 시작 요구 처리가 서로 다르도록 하거나, 조합시키는 순번이 서로 다르도록 하거나 하여도 물론 좋다.
또한, 통신처의 통신 장치가 NAPT 기능을 갖는 중계 장치 등을 통하지 않고 직접 네트워크(21)에 접속되어 있는 경우라도, 그 통신처의 중계 장치가 상술한 바와 같은 통신 시작 요구 처리를 행하도록 하면, 중계 장치(12)를 통하여 네트워크(21)에 접속된 로컬 통신 장치(11)는 그 통신 장치와 용이하게 통신을 시작할 수 있다.
또한, 상술한 예에서는, 로컬 통신 장치(11)는 2개의 중계 장치(12 및 32)를 통하여 로컬 통신 장치(31)와 통신을 행하도록 설명하였지만, 이에 한하지 않고, 3대 이상의 중계 장치를 통하여 통신을 행하는 경우라도, 각각의 중계 장치에 대해 상술한 바와 같은 처리를 행함에 의해 통신 상대인 로컬 통신 장치(31)측의 글로벌한 포트 번호를 예측할 수 있기 때문에 로컬 통신 장치(31)와 용이하게 통신을 행할 수 있다.
또한, 상술한 예에서는, NAPT 기능을 갖는 중계 장치를 통한 통신에 관해 설명하였지만, 예를 들면, 또한 Firewall 기능을 통하여 통신을 행하는 경우에 있어서도, 로컬 통신 장치(11)는 상술한 바와 같은 처리에 의해 통신 상대인 로컬 통신 장치(31)측의 글로벌한 포트 번호를 예측할 수 있기 때문에 용이하게 로컬 통신 장치(31)와 통신을 행할 수 있다.
또한, 이상에 있어서 설명한 로컬 통신 장치(11), 중계 장치(12), 로컬 통신 장치(31), 중계 장치(32), 유저용 서비스 제공 장치(41), 장치용 서비스 제공 장치(51) 또는 장치용 서비스 제공 장치(52)는 상술한 구성의 일부 또는 전부를 다른 장치와 일체화하도록 하여도 좋고, 복수의 장치에 의해 실현하도록 하여도 좋다.
특히, 장치용 서비스 제공 장치(51 및 52)는 같은 처리를 2회 실행하는 것을 설명하기 위한 것으로, 이들의 어드레스 포트 정보가 다르면 좋고, 복수의 포트를 갖는 1대의 장치용 서비스 제공 장치에 있어서, 사용하는 포트를 바꾸면서, 복수 회 같은 처리를 반복함에 의해 상술한 처리와 같은 처리를 용이하게 실현하는 것이 가능하다.
또한, 로컬 통신 장치(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)의 처리를 실행하도록 하여도, 물론 좋다.
또한, 상술한 각 처리는, 상술한 어느 장치에서 실행되도록 하여도 좋고, 상술한 이외의 다른 장치에 의해 실행되도록 하여도 좋다.
또한, 이상에 있어서는, IM 서비스를 이용하여 로컬 통신 장치(11)와 로컬 통신 장치(31)가 1대1로 통신을 행하는 경우에 관해 설명하였지만, 이에 한하지 않고, 3인 이상의 유저(3개 이상의 로컬 통신 장치)가 동시에 통신을 행하도록 하여도 좋다. 또한, 그 경우, 통신의 마스터는 그 중 1대의 로컬 통신 장치에 결정되고, 그 마스터인 로컬 통신 장치와, 그 밖의 슬레이브인 로컬 통신 장치와의 사이에서 상술한 경우와 같은 처리가 행하여진다.
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 상술한 바와 같이 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이 전용의 하드웨어에 조립되어 있는 컴퓨터 또는 각종의 프로그램을 인스톨함으로써, 각종의 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 기록 매체 등으로부터 인스톨된다.
기록 매체는, 도 3 내지 도 6에 도시된 바와 같이, 각 장치와는 별도로 유저에게 프로그램을 제공하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(플렉시블 디스크를 포함한다), 광디스크(CD-ROM(Compact Disc-Read 0nly Memory), DVD(Digital Versatile Disc)를 포함한다), 광자기 디스크를(MD(Mini-Disc)(등록상표)를 포함한다) 또는 반도체 메모리 등으로 이루어지는 패키지 미디어를 포함하는 리무버블 미디어(91, 131, 181 또는 231)에 의해 구성될 뿐만 아니라, 컴퓨터에 미리 조립된 상태에서 유저에 제공되는, 프로그램이 기억되어 있는 ROM(62, 102, 152 또는 202)이나 기억부(83, 123, 173 또는 223)가 포함되는 하드디스크 등으로 구성된다.
또한, 본 명세서에 있어서, 매체에 의해 제공된 프로그램을 기술하는 스텝은, 기재된 순서에 따라 시계열적으로 행하여지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 또는 개별적으로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
이상과 같이, 본 발명에 의하면 통신을 행할 수 있다. 특히, 통신 단말 장치의 통신처의 어드레스 및 포트가 바뀔 때마다, 통신 단말 장치가 행하는 통신의 중계에 사용하는 포트를 2개 이상 인크리먼트시키는 NAPT 변환을 행하는 기존의 설비에 있어서도, NAPT를 통하여 다른 장치와 용이하게 통신을 행할 수 있다.
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의 정보 처리 장치에 액세스하는 것을 특징으로 하는 네트워크 시스템.
- 제 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의 어드레스를 예측하는 예측 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
- 제 4항에 있어서,상기 공급 수단은, 상기 제 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의 요구 수단을 더 구비하는 것을 특징으로 하는 정보 처리 장치.
- 제 9항에 있어서,상기 제 3의 요구 수단은, 상기 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을, 상기 정보 처리 장치의 상기 제 1의 네트워크상의 복수의 어드레스로부터 각각 상기 제 2의 어드레스 변환 장치의, 상기 제 5의 어드레스로부터 연속하는 복수의 어드레스에 대해 공급하고, 상기 통신 개통을 요구 하는 것을 특징으로 하는 정보 처리 장치.
- 제 9항에 있어서,상기 제 3의 요구 수단은, 상기 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을, 상기 정보 처리 장치의 상기 제 1의 네트워크상의 복수의 어드레스로부터 각각 상기 제 2의 어드레스 변환 장치의, 상기 제 5의 어드레스로부터 하나 걸러 연속하는 복수의 어드레스에 대해 공급하고, 상기 통신 개통을 요구하는 것을 특징으로 하는 정보 처리 장치.
- 제 9항에 있어서,상기 제 3의 요구 수단은, 상기 정보 처리 장치의 상기 제 1의 네트워크상의 복수의 어드레스로부터 각각 상기 제 2의 어드레스 변환 장치의 상기 제 2의 네트워크상의, 연속하는 복수의 어드레스로 이루어지는 복수의 어드레스군이고, 각 어드레스군의 사이에 하나의 어드레스가 존재하는, 상기 제 5의 어드레스를 최초의 어드레스군의 선두 어드레스로 하는 복수의 상기 어드레스군의, 서로 다른 상기 어드레스군의 각 어드레스에 대해, 상기 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을 공급하고, 상기 통신 개통을 요구하는 것을 특징으로 하는 정보 처리 장치.
- 제 9항에 있어서,상기 제 3의 요구 수단은, 상기 정보 처리 장치의 상기 제 1의 네트워크상의 복수의 어드레스로부터 각각 상기 제 2의 어드레스 변환 장치의 상기 제 2의 네트워크상의, 연속하는 복수의 어드레스로 이루어지는 복수의 어드레스군이고, 상기 제 5의 어드레스를 최초의 어드레스군의 선두 어드레스로 하는 복수의 상기 어드레스군의, 서로 다른 상기 어드레스군의 각 어드레스에 대해, 상기 제 1의 다른 정보 처리 장치와의 통신 개통을 요구하기 위한 제 5의 패킷을 공급하고, 상기 통신 개통을 요구하는 것을 특징으로 하는 정보 처리 장치.
- 제 9항에 있어서,상기 제 1의 다른 정보 처리 장치와의 통신을 제어하는 마스터인지 또는 슬레이브인지를 판정하는 마스터/슬레이브 판정 수단을 더 구비하고,상기 제 3의 요구 수단은, 상기 마스터/슬레이브 판정 수단에 의한 판정 결과에 의거하여 선택한 알고리즘에 의거하여, 상기 통신 개통을 요구하는 것을 특징으로 하는 정보 처리 장치.
- 제 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의 다른 정보 처리 장치에 공급하는 공급 스텝을 컴퓨터에 실행시키는 것을 특징으로 하는 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003092396A JP3741312B2 (ja) | 2003-03-28 | 2003-03-28 | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム |
JPJP-P-2003-00092396 | 2003-03-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050109897A true KR20050109897A (ko) | 2005-11-22 |
Family
ID=33127318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020047018514A KR20050109897A (ko) | 2003-03-28 | 2004-03-12 | 네트워크 시스템과 통신 방법, 정보 처리 장치와 방법 및프로그램 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7716368B2 (ko) |
EP (1) | EP1610504A4 (ko) |
JP (1) | JP3741312B2 (ko) |
KR (1) | KR20050109897A (ko) |
CN (1) | CN1698323B (ko) |
WO (1) | WO2004088941A1 (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7623513B2 (en) | 2003-10-27 | 2009-11-24 | Panasonic Corporation | Communication system, information processing apparatus, server, and communication method |
KR20060113701A (ko) | 2003-11-07 | 2006-11-02 | 마쯔시다덴기산교 가부시키가이샤 | 통신시스템, 정보처리장치, 서버, 및 통신 방법 |
US8234383B2 (en) | 2003-11-07 | 2012-07-31 | Panasonic Corporation | Bubble packet port identification using detection packets |
JP4269226B2 (ja) | 2003-11-14 | 2009-05-27 | ソニー株式会社 | 情報通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体 |
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 |
JP4557803B2 (ja) | 2005-05-27 | 2010-10-06 | 富士通株式会社 | ネットワークシステム及び通信方法 |
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 | 情報処理装置、クライアント装置、情報処理システム及びサービス接続方法 |
CN102395959A (zh) * | 2009-02-14 | 2012-03-28 | 必可视股份公司 | 不同网络地址转换器后的客户端之间视频会议或数据传输的方法和系统 |
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 | 株式会社リコー | 情報処理装置、情報処理システム、プログラム及び情報処理方法 |
US10571493B2 (en) | 2014-02-25 | 2020-02-25 | Itron, Inc. | Smart grid topology estimator |
US11079417B2 (en) | 2014-02-25 | 2021-08-03 | Itron, Inc. | Detection of electric power diversion |
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 |
WO2001013584A1 (fr) * | 1999-08-18 | 2001-02-22 | Fujitsu Limited | Systeme de distribution de donnees |
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 | 华为技术有限公司 | 以太网接入网中的虚拟局域网接入方法 |
JP2004528774A (ja) * | 2001-02-20 | 2004-09-16 | イノメディア プライベート. リミテッド. | リアルタイムストリーミングメディア通信システムのためにチャネルを確立するシステムおよび方法 |
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 |
KR20050004194A (ko) * | 2002-05-23 | 2005-01-12 | 마쯔시다덴기산교 가부시키가이샤 | 정보 처리 시스템 |
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 US US10/515,642 patent/US7716368B2/en not_active Expired - Fee Related
- 2004-03-12 EP EP04720205A patent/EP1610504A4/en not_active Withdrawn
- 2004-03-12 CN CN2004800003521A patent/CN1698323B/zh not_active Expired - Fee Related
- 2004-03-12 WO PCT/JP2004/003340 patent/WO2004088941A1/ja active Application Filing
- 2004-03-12 KR KR1020047018514A patent/KR20050109897A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
CN1698323A (zh) | 2005-11-16 |
US20050177646A1 (en) | 2005-08-11 |
US7716368B2 (en) | 2010-05-11 |
EP1610504A4 (en) | 2012-08-08 |
JP2004304317A (ja) | 2004-10-28 |
JP3741312B2 (ja) | 2006-02-01 |
EP1610504A1 (en) | 2005-12-28 |
CN1698323B (zh) | 2010-09-29 |
WO2004088941A1 (ja) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3741312B2 (ja) | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム | |
US6038233A (en) | Translator for IP networks, network system using the translator, and IP network coupling method therefor | |
CN102696202B (zh) | 在因特网协议版本4与因特网协议版本6网络之间路由数据分组的方法和装置 | |
US7283540B2 (en) | Translator for IP networks, network system using the translator, and IP network coupling method therefor | |
EP2148518B1 (en) | Packet communication method using node identifier and locator | |
JP4303600B2 (ja) | 異なるアドレス領域を有するネットワーク間の接続設定機構 | |
JP3854584B2 (ja) | 相異なるプライベートネットワークに存在するネットワーク機器間の直接接続を提供するネットワーク接続装置及びその方法 | |
US6393488B1 (en) | System and method for supporting internet protocol subnets with network address translators | |
CN101385315B (zh) | 使用本地网络的私用ip地址的通信 | |
US8184659B2 (en) | Network system for communicating between different IP versions with multiple translators | |
US20030051052A1 (en) | Addressing scheme for wireless mobile clients | |
JP2003218953A (ja) | インターネットプロトコルアドレス変換装置、これを用いた通信ネットワークシステム及び通信方法 | |
JP2011160103A (ja) | ゲートウェイ装置及びプログラム、並びに、通信システム | |
US7764686B1 (en) | Migration to IPv6 using combination of globally significant and locally significant IPv4 addresses | |
JP4186676B2 (ja) | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム | |
JP2007074172A (ja) | プライベートネットワーク間接続システム及びアドレス変換装置 | |
KR100772537B1 (ko) | IPv4 네트워크 환경에서 IPv6 패킷이 IPv4로터널링되도록 하는 IPv6 전환 장치 및 방법 | |
JP2005539428A (ja) | 第一コンピュータ・ネットワークから第二コンピュータ・ネットワークへの通信セッションの始動 | |
JP4482465B2 (ja) | 中継装置、端末装置、通信システムおよび通信制御方法 | |
US7499448B2 (en) | Method for data exchange between network elements in networks with different address ranges | |
US8891518B2 (en) | Routing device and method of translating addresses in cascade in a network | |
KR100413976B1 (ko) | 무선통신망에서 사설 아이피 주소 사용을 통한 이동아이피 서비스 방법 | |
CN101103614A (zh) | 将地址空间有效扩展至伪多宿主主机 | |
JPH1023076A (ja) | 移動コンピュータ通信システム | |
JP3900157B2 (ja) | トランスレータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |