US7716368B2 - Network system and communication method, information processing apparatus and method, and program - Google Patents

Network system and communication method, information processing apparatus and method, and program Download PDF

Info

Publication number
US7716368B2
US7716368B2 US10/515,642 US51564204A US7716368B2 US 7716368 B2 US7716368 B2 US 7716368B2 US 51564204 A US51564204 A US 51564204A US 7716368 B2 US7716368 B2 US 7716368B2
Authority
US
United States
Prior art keywords
information processing
processing apparatus
address
network
addresses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US10/515,642
Other languages
English (en)
Other versions
US20050177646A1 (en
Inventor
Shinichi Kawano
Yukihiko Aoki
Tadashi Adachihara
Shoji Araki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Assigned to SONY CORPORATION reassignment SONY CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ADACHIHARA, TADASHI, AOKI, YUKIHIKO, ARAKI, SHOJI, KAWANO, SHINICHI
Publication of US20050177646A1 publication Critical patent/US20050177646A1/en
Application granted granted Critical
Publication of US7716368B2 publication Critical patent/US7716368B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports

Definitions

  • the present invention relates to a network system and a communication method, an information processing apparatus and method, and a program, and more particularly to a network system and a communication method, an information processing apparatus and method, and a program, suitable for use with the case wherein communication with another apparatus is performed via NAPT.
  • IP Internet Protocol
  • IPv4 IP version 4
  • 32 32-bit address
  • IPv6 IP version “6”
  • UPnP Universal Plug and Play
  • IPv4 address (hereinafter called a global address) which is uniquely assigned to each terminal apparatus in a global network
  • the private address is assigned to each terminal in a predetermined limited area (local area). Therefore, when a communication terminal apparatus in a local area communicates with another communication terminal in the Internet having a global address by using its private address, it will be necessary to execute a process of translating the private address into the global address.
  • a method of realizing this may be NAT (Network Address Translation).
  • NAT Network Address Translation
  • a method has been considered which utilizes a port which is a subsidiary (auxiliary) address provided under an address. More specifically, if this method is used, a private address assigned to a communication terminal apparatus and a port (i.e., socket) used for communication are translated into a global address and a port. This method is a method called NAPT (Network Address Port Translation) or IP masquerade.
  • NAPT Network Address Port Translation
  • IP masquerade By utilizing NAPT, a plurality of communication terminal apparatuses each having a private address and a port can communicate with other communication terminal apparatuses each having a global address and a port.
  • a router is made to identify an identifier of a communication terminal apparatus connected to a private network as a sub-address, and when a communication apparatus outside of the private network accesses the communication terminal apparatus, the communication apparatus specifies the communication terminal apparatus used as the communication partner by using the sub-address (for example, refer to Japanese Laid-open Publication No. 2001-345841 (pp. 9 to 16, FIG. 3 and FIGS. 6 to 8).
  • the present invention has been made in consideration of these circumstances and facilitates communication with another apparatus via NAPT even in already existing facilities which execute NAPT translation of the type that a port to be used for relaying communication of a communication terminal apparatus is incremented two or more each time the address and port of a communication destination of the communication terminal apparatus change.
  • a network system of the present invention includes a first information processing apparatus connected to a first network and connected to a second network via a first address translation apparatus for translating addresses; a second information processing apparatus connected to a third network and connected to the second network via a second address translation apparatus for translating addresses; a third information processing apparatus connected to the second network and having a first address and a second address; and a fourth information processing apparatus connected to the second network, the fourth information processing apparatus managing addresses of the first information processing apparatus and the second processing apparatus on the second network; the first information processing apparatus being operable to supply first and second packets to the first and second addresses of the third information processing apparatus via the first address translation apparatus to request an address on the second network corresponding to the first information processing apparatus; the third information processing apparatus being operable to acquire the first and second packets, to generate third and fourth packets by using third and fourth addresses on the second network corresponding to the first information processing apparatus, the third and fourth addresses being included in the first and second packets, and to supply the third and fourth packets to the first information processing apparatus; the first information processing
  • the third information processing apparatus may include a fifth information processing apparatus connected to the second network and having the first address, and a sixth information processing apparatus connected to the second network and having the second address; the fifth information processing apparatus being operable to acquire the first packet, to generate the third packet by using the third address included in the first packet, to supply the third packet to the first information processing apparatus, to acquire the fifth packet, to generate the seventh packet by using the sixth address included in the fifth packet, and to supply the seventh packet to the second information processing apparatus; and the sixth information processing apparatus being operable to acquire the second packet, to generate the fourth packet by using the fourth address included in the second packet, to supply the fourth packet to the first information processing apparatus, to acquire the sixth packet, to generate the eighth packet by using the seventh address included in the sixth packet, and to supply the eighth packet to the second information processing apparatus.
  • a communication method of the present invention is for a network system including a first information processing apparatus connected to first network and connected to a second network via a first address translation apparatus for translating addresses; a second information processing apparatus connected to a third network and connected to the second network via a second address translation apparatus for translating addresses; a third information processing apparatus connected to the second network and having a first address and a second address; and a fourth information processing apparatus connected to the second network, the fourth information processing apparatus managing addresses of the first information processing apparatus and the second information processing apparatus on the second network.
  • the communication method includes supplying first and second packets from the first information processing apparatus to the first and second addresses of the third information processing apparatus via the first address translation apparatus to request an address on the second network corresponding to the first information processing apparatus; acquiring the first and second packets in the third information processing apparatus, generating third and fourth packets by using third and fourth addresses on the second network corresponding to the first information processing apparatus, the third and fourth addresses being included in the first and second packets, and supplying the third and fourth packets to the first information processing apparatus; acquiring the third and fourth packets in the first information processing apparatus, predicting a fifth address which is an address on the second network corresponding to the first information processing apparatus by using the third and fourth addresses included in the third and fourth packets, the fifth address being used when the second information processing apparatus is accessed, and supplying the fifth address to the fourth information processing apparatus; storing the fifth address in the fourth information processing apparatus in association with a user ID of the first information processing apparatus; supplying fifth and sixth packets from the second information processing apparatus to the first and second addresses of the third information processing
  • a first information processing apparatus of the present invention is connected to a first network, connected to a second network via a first address translation apparatus for address translation, and connected to a third network, the information processing apparatus for performing communication with a first other information processing apparatus connected to the second network via a second address translation apparatus for address translation.
  • the information processing apparatus includes supply means for supplying first and second packets to first and second addresses of a second other information processing apparatus connected to the second network via the first address translation apparatus to request an address on the second network corresponding to the first information processing apparatus; first acquisition means for acquiring third and fourth packets including third and fourth addresses on the second network corresponding to the first information processing apparatus and supplied from the second other information processing apparatus based on the first and second packets supplied from the supply means; and prediction means for predicting a fifth address on the second network corresponding to the first information processing apparatus by using the third and fourth addresses included in the third and fourth packets acquired by the first acquisition means, the fifth address being used when the first other information processing apparatus is accessed.
  • the supply means may supply the second packet in succession to the first packet.
  • the second other information processing apparatus may include a third other information processing apparatus connected to the second network and having the first address, and a fourth other information processing apparatus connected to the second network and having the second address, wherein the supply means supplies the first packet to the third other information processing apparatus and supplies the second packet to the fourth other information processing apparatus, and the first acquisition means acquires the third packet from the third other information processing apparatus and the fourth packet from the fourth other information processing apparatus.
  • the first to fourth addresses may include an IP address and a port number.
  • the prediction means may predict the fifth address by calculating a difference value between the fourth and third addresses and adding the difference value to the fourth address.
  • the first information processing apparatus may further include first request means for requesting that a third other information processing apparatus connected to the second network for managing addresses on the second network of the first information processing apparatus and the first other information processing apparatus supply the fifth address predicted by the predicting means and register the fifth address; second request means for requesting a sixth address predicted by the first other information processing apparatus and registered in the third other information processing apparatus, the sixth address being an address on the second network of the first other information processing apparatus; third acquisition means for acquiring the sixth address supplied from the third other information processing apparatus based on the second request means; and third request means for requesting opening of communications to the address on the second network of the first other information processing apparatus, the address of the first other information processing apparatus being set based on the sixth address acquired by the third acquisition means.
  • the third request means may request the opening of communications by supplying a fifth packet for requesting the opening of communications with the first other information processing apparatus from a plurality of addresses on the first network of the first information processing apparatus to a plurality of addresses of the second address translation apparatus, the plurality of addresses being consecutive starting from the fifth address.
  • the third request means may request the opening of communications by supplying a fifth packet for requesting the opening of communications with the first other information processing apparatus from a plurality of addresses on the first network of the first information processing apparatus to a plurality of addresses of the second address translation apparatus, the plurality of addresses being every second address and being consecutive from the fifth address.
  • the third request means may request the opening of communications by supplying a fifth packet for requesting the opening of communications with the first other information processing apparatus from a plurality of addresses on the first network of the first information processing apparatus to each address of mutually different address groups among a plurality of address groups on the second network of the second address translation apparatus, the plurality of address groups each having a plurality of consecutive addresses and one address between each address group, the first address group having the fifth address as a start address.
  • the third request means may request the opening of communications by supplying a fifth packet for requesting the opening of communications with the first other information processing apparatus from a plurality of addresses on the first network of the first information processing apparatus to each address of mutually different address groups among a plurality of address groups on the second network of the second address translation apparatus, the plurality of address groups each having a plurality of consecutive addresses, the first address group having the fifth address as a start address.
  • the first information processing apparatus may further include master/slave judging means for determining whether the first information processing apparatus is a master for controlling communications with the first other information processing apparatus or a slave, wherein the third request means requests opening of communications on the basis of an algorithm selected based on the determination by the master/slave judging means.
  • a first information processing method of the present invention is for a first information processing apparatus connected to a first network, connected to a second network via a first address translation apparatus for address translation, and connected to a third network, the first information processing method for performing communication between the first information processing apparatus and a first other information processing apparatus connected to the second network via a second address translation apparatus for address translation.
  • the first information processing method includes supplying first and second packets to first and second addresses of a second other information processing apparatus connected to the second network via the first address translation apparatus to request an address on the second network corresponding to the first information processing apparatus; acquiring third and fourth packets including third and fourth addresses on the second network corresponding to the first information processing apparatus and supplied from the second other information processing apparatus based on the first and second packets supplied; and predicting a fifth address on the second network corresponding to the first information processing apparatus by using the third and fourth addresses included in the third and fourth packets.
  • a recording medium is recorded with a computer-executable first program of the present invention for controlling a processing method in a first information processing apparatus connected to a first network, connected to a second network via a first address translation apparatus for address translation, and connected to a third network, the processing method for performing communication between the first information processing apparatus and a first other information processing apparatus connected to the second network via a second address translation apparatus for address translation.
  • the processing method includes supplying first and second packets to first and second addresses of a second other information processing apparatus connected to the second network via the first address translation apparatus to request an address on the second network corresponding to the first information processing apparatus; acquiring third and fourth packets including third and fourth addresses on the second network corresponding to the first information processing apparatus and supplied from the second other information processing apparatus based on the first and second packets supplied; and predicting a fifth address on the second network corresponding to the first information processing apparatus by using the third and fourth addresses included in the acquired third and fourth packets.
  • a second information processing apparatus of the present invention is connected to a network for performing communications with a first other information processing apparatus connected to the network via a first address translation apparatus for address translation and with a second other information processing apparatus connected to the network via a second address translation apparatus for address translation, the information processing apparatus including acquisition means for acquiring information of an address on the network of the first other information processing apparatus, the address being predicted by the first other information processing apparatus and supplied by the first other information processing apparatus; storage means for storing the acquired information of the address on the network of the first other information processing apparatus; and supply means for supplying the stored information of the address on the network of the first other information processing apparatus to the second other information processing apparatus based on a request from the second other information processing apparatus acting as a communication partner of the first other information processing apparatus.
  • a second information processing method of the present invention is for an information processing apparatus connected to a network for performing communications with a first other information processing apparatus connected to the network via a first address translation apparatus for address translation and with a second other information processing apparatus connected to the network via a second address translation apparatus for address translation.
  • the information processing method includes acquiring information of an address on the network of the first other information processing apparatus, the address being predicted by the first other information processing apparatus and supplied from the first other information processing apparatus; storing the acquired information of the address on the network of the first other information processing apparatus; and supplying the stored information of the address on the network of the first other information processing apparatus to the second other information processing apparatus based on a request from the second other information processing apparatus acting as a communication partner of the first other information processing apparatus.
  • a recording medium is recorded with a computer-executable second program of the present invention for controlling a processing method in an information processing apparatus connected to a network for performing communications with a first other information processing apparatus connected to the network via a first address translation apparatus for address translation and with a second other information processing apparatus connected to the network via a second address translation apparatus for address translation.
  • the processing method includes acquiring information of an address on the network of the first other information processing apparatus, the address being predicted by the first other information processing apparatus and supplied from the first other information processing apparatus; storing the acquired information of the address on the network of the first other information processing apparatus; and supplying the stored information of the address on the network of the first other information processing apparatus to the second other information processing apparatus based on a request from the second other information processing apparatus acting as a communication partner of the first other information processing apparatus.
  • the first information processing apparatus supplies the first and second packets to the first and second addresses of the third information processing apparatus via the first address translation apparatus to request an address on the second network corresponding to the first information processing apparatus;
  • the third information processing apparatus acquires the first and second packets, generates the third and fourth packets by using the third and fourth addresses on the second network corresponding to the first information processing apparatus, the third and fourth addresses being included in the first and second packets, and supplies the generated third and fourth packets to the first information processing apparatus;
  • the first information processing apparatus acquires the third and fourth packets, predicts the fifth address which is the address on the second network corresponding to the first information processing apparatus by using the third and fourth addresses included in the third and fourth packets, the fifth address being used when the second information processing apparatus is accessed, and supplies the predicted fifth address to the fourth information processing apparatus;
  • the fourth information processing apparatus stores the fifth address in association with the user ID of the first information processing apparatus;
  • the second information processing apparatus supplies the fifth and sixth packets to the first and second addresses of the third
  • the first and second packets are supplied to the first and second addresses of the second other information processing apparatus connected to the second network via the first address translation apparatus to request an address on the second network corresponding to the first information processing apparatus;
  • the third and fourth packets including the third and fourth addresses on the second network corresponding to the first information processing apparatus and supplied from the second other information processing apparatus are acquired based on the supplied first and second packets;
  • the fifth address on the second network corresponding to the first information processing apparatus is predicted by using the third and fourth addresses included in the acquired third and fourth packets, the fifth address being used when the first other information processing apparatus is accessed.
  • information of the address on the network of the first other information processing apparatus is acquired, the address being predicted by the first other information processing apparatus and supplied from the first other information processing apparatus; the acquired information of the address on the network of the first other information processing apparatus is stored; and responsive to the request from the second other information processing apparatus as a communication partner of the first other information processing apparatus, the second other information processing apparatus is supplied with the stored information of the address on the network of the first other information processing apparatus.
  • FIG. 1 is a diagram showing an example of the configuration of a network system adopting the present invention.
  • FIG. 2 is a diagram illustrating a NAPT translation by a relay apparatus shown in FIG. 1 .
  • FIG. 3 is a block diagram showing an example of the internal structure of a local communication apparatus shown in FIG. 1 .
  • FIG. 4 is a block diagram showing an example of the internal structure of the relay apparatus shown in FIG. 1 .
  • FIG. 5 is a block diagram showing an example of the structure of a user service providing apparatus shown in FIG. 1 .
  • FIG. 6 is a block diagram showing an example of the structure of an apparatus service providing apparatus shown in FIG. 1 .
  • FIG. 7 is a flow chart illustrating the communication contents among apparatuses in the network system shown in FIG. 1 .
  • FIG. 8 is a flow chart illustrating the communication contents among apparatuses in the network system shown in FIG. 1 , following the flow chart shown in FIG. 7 .
  • FIG. 9 is a flow chart illustrating the communication contents among apparatuses in the network system shown in FIG. 1 , following the flow chart shown in FIG. 8 .
  • FIG. 10 is a flow chart illustrating the communication contents among apparatuses in the network system shown in FIG. 1 , following the flow chart shown in FIG. 9 .
  • FIG. 11 is a flow chart illustrating an authentication process by the local communication apparatus shown in FIG. 1 .
  • FIG. 12 is a diagram showing an example of the structure of an authentication screen.
  • FIG. 13 is a flow chart illustrating an authentication process by the user service providing apparatus shown in FIG. 1 .
  • FIG. 14 is a schematic diagram showing the contents of a user authentication information database shown in FIG. 5 .
  • FIG. 15 is a flow chart illustrating a communication information acquiring process by the local communication apparatus shown in FIG. 1 .
  • FIG. 16 is a diagram showing an example of the structure of a user identifying screen.
  • FIG. 17 is a schematic diagram showing an example of the structure of a service request packet.
  • FIG. 18 is a flow chart illustrating an information providing process by the user service providing apparatus shown in FIG. 1 .
  • FIG. 19 is a schematic diagram showing the contents of a user registration database shown in FIG. 5 .
  • FIG. 20 is a flow chart illustrating an information providing process by the apparatus service providing apparatus shown in FIG. 1 .
  • FIG. 21 is a schematic diagram showing an example of the structure of a service providing packet.
  • FIG. 22 is a diagram illustrating a transfer state of open request packets among local communication apparatuses shown in FIG. 1 .
  • FIG. 23 is a flow chart illustrating a communication start request process by the local communication apparatus.
  • FIG. 24 is a diagram illustrating a NAPT translation state by a reuse type relay apparatus.
  • FIG. 25 is a diagram illustrating a NAPT translation state by an increment type relay apparatus.
  • FIG. 26 is a flow chart illustrating an example of a communication establishing process by the local communication apparatus shown in FIG. 1 .
  • FIG. 27 is a flow chart illustrating an example of the communication establishing process by the local communication apparatus shown in FIG. 1 , following the flow chart shown in FIG. 26 .
  • FIG. 28 is a flow chart illustrating another example of the communication establishing process by the local communication apparatus shown in FIG. 1 .
  • FIG. 29 is a flow chart illustrating another example of the communication establishing process by the local communication apparatus shown in FIG. 1 , following the flow chart shown in FIG. 28 .
  • FIG. 30 is a schematic diagram showing an example of the structure of a UDP packet for transferring STUN messages.
  • FIG. 31 is a schematic diagram illustrating a STUN message transfer state among apparatuses in the network system shown in FIG. 1 .
  • FIG. 32 is a schematic diagram showing an example of the structure of a UDP packet for transferring the STUN message.
  • FIG. 33 is a schematic diagram showing another example of the structure of the UDP packet for transferring a STUN message.
  • FIG. 34 is a schematic diagram showing still another example of the structure of the UDP packet for transferring a STUN message.
  • FIG. 35 is a schematic diagram showing an example of the structure of a transaction ID of the UDP packet.
  • FIG. 36 is a schematic diagram showing another example of the structure of a transaction ID of the UDP packet.
  • FIG. 37 is a diagram showing an example of a transfer state of the open request packet by the local communication apparatus shown in FIG. 1 .
  • FIG. 38 is a diagram showing another example of a transfer state of the open request packet by the local communication apparatus shown in FIG. 1 .
  • FIG. 39 is a flow chart illustrating a control process by the local communication apparatus shown in FIG. 1 .
  • FIG. 40 is a flow chart illustrating the details of a second communication start request process by the local communication apparatus shown in FIG. 1 .
  • FIG. 41 is a diagram showing an example of a transfer state of the open request packet by the local communication apparatus shown in FIG. 1 .
  • FIG. 42 is a diagram showing another example of a transfer state of the open request packet by the local communication apparatus shown in FIG. 1 .
  • FIG. 43 is a flow chart illustrating another example of the control process by the local communication apparatus shown in FIG. 1 .
  • FIG. 44 is a flow chart illustrating the details of a third communication start request process by the local communication apparatus shown in FIG. 1 .
  • FIG. 45 is a flow chart illustrating the details of a fourth communication start request process by the local communication apparatus shown in FIG. 1 .
  • FIG. 46 is a diagram showing an example of a transfer state of the open request packet by the local communication apparatus shown in FIG. 1 .
  • FIG. 47 is a diagram showing another example of a transfer state of the open request packet by the local communication apparatus shown in FIG. 1 .
  • FIG. 48 is a flow chart illustrating still another example of the control process by the local communication apparatus shown in FIG. 1 .
  • a network system described in claim 1 is characterized by including a first information processing apparatus (e.g., local communication apparatuses 11 - 1 to 11 - n of FIG. 1 ) connected to a first network (e.g., the private network 10 of FIG. 1 ) and to a second network (e.g., the network 21 of FIG. 1 ) via a first address translation apparatus (e.g., the relay apparatus 12 of FIG. 1 ) for address translation, a second information processing apparatus (e.g., local communication apparatuses 31 - 1 to 31 - n of FIG. 1 ) connected to a third network (e.g., the private network 30 of FIG.
  • a first information processing apparatus e.g., local communication apparatuses 11 - 1 to 11 - n of FIG. 1
  • a first network e.g., the private network 10 of FIG. 1
  • a second network e.g., the network 21 of FIG. 1
  • a first address translation apparatus e.g., the
  • a second address translation apparatus e.g., the relay apparatus 32 of FIG. 1
  • a third information processing apparatus e.g., apparatus service providing apparatuses 51 and 52 of FIG. 1
  • a fourth information processing apparatus e.g., the user service providing apparatus 41 of FIG. 1
  • the first information processing apparatus supplies (e.g., Steps S 4 and S 6 ) first and second packets (e.g., the service request packet 281 of FIG.
  • the third information processing apparatus acquires (e.g., Steps S 61 and S 71 of FIG. 8 ) the first and second packets, generates (e.g., Step S 212 of FIG. 20 ) third and fourth packets (e.g., the service providing packet 321 of FIG. 21 ) by using third and fourth addresses on the second network corresponding to the first information processing apparatus, the third and fourth addresses being contained in the first and second packets, and supplies (e.g., Steps S 63 and S 73 of FIG.
  • the first information processing apparatus acquires (e.g., Steps S 5 and S 7 of FIG. 8 ) the third and fourth packets, predicts (e.g., Step S 8 of FIG. 8 ) a fifth address which is an address on the second network corresponding to the first information processing apparatus by using the third and fourth addresses contained in the third and fourth packets, the fifth address being used when the second information processing apparatus is accessed, and supplies (e.g., Step S 9 of FIG. 9 ) the predicted fifth address to the fourth information processing apparatus; the fourth information processing apparatus stores (e.g., Step S 30 of FIG. 9 ) the fifth address in association with a user ID (e.g., the user ID 311 of FIG.
  • a user ID e.g., the user ID 311 of FIG.
  • the second information processing apparatus supplies (e.g., Steps S 44 and S 46 ) fifth and sixth packets (e.g., the service request packet 281 of FIG. 17 ) to the first and second addresses of the third information processing apparatus via the second address translation apparatus to request addresses on the second network corresponding to the second information processing apparatus;
  • the third information processing apparatus acquires (e.g., Steps S 62 and S 72 of FIG. 8 ) the fifth and sixth packets, generates (e.g., Step S 212 of FIG. 20 ) seventh and eighth packets (e.g., the service providing packet 321 of FIG.
  • the fourth information processing apparatus stores (Step S 30 of FIG. 9 ) the eighth address in association with a user ID (e.g., the user ID 311 of FIG. 19 ) of the second information processing apparatus; the first information processing apparatus requests (e.g., Step S 174 of FIG. 15 ) from the fourth information processing apparatus an address corresponding to a user of the second information processing apparatus as a communication partner, in response to this request, the fourth information processing apparatus supplies (e.g., Step S 31 of FIG. 9 ) the eighth address to the first information processing apparatus; the first information processing apparatus acquires (Step S 10 of FIG. 9 ) the eighth address, and accesses (e.g., Step S 12 of FIG.
  • a user ID e.g., the user ID 311 of FIG. 19
  • the fourth information processing apparatus requests (e.g., Step S 174 of FIG. 15 ) from the fourth information processing apparatus an address corresponding to a user of the second information processing apparatus as a communication partner, in response to this request, the fourth information
  • the second information processing apparatus requests (e.g., Step S 174 of FIG. 15 ) from the fourth information processing apparatus an address corresponding to a user of the first information processing apparatus as a communication partner, in response to this request, the fourth information processing apparatus supplies (e.g., Step S 31 of FIG. 9 ) the fifth address to the second information processing apparatus; and the second information processing apparatus acquires (Step S 50 of FIG. 9 ) the fifth address, and accesses (e.g., Step S 52 of FIG. 10 ) the first information processing apparatus based on the fifth address.
  • the third information processing apparatus of the network system described in claim 2 is characterized by including a fifth information processing apparatus (e.g., the apparatus service providing apparatus 51 of FIG. 1 ) connected to the second network and having the first address and a sixth information processing apparatus (e.g., the apparatus service providing apparatus 52 of FIG. 1 ) connected to the second network and having the second address, wherein the fifth information processing apparatus acquires (e.g., Step S 61 of FIG. 8 ) the first packet, generates (e.g., Step S 212 of FIG. 20 ) the third packet by using the third address contained in the first packet, supplies (e.g., Step S 63 of FIG. 8 ) the third packet to the first information processing apparatus, acquires (e.g., Step S 62 of FIG.
  • a fifth information processing apparatus e.g., the apparatus service providing apparatus 51 of FIG. 1
  • a sixth information processing apparatus e.g., the apparatus service providing apparatus 52 of FIG. 1
  • the fifth information processing apparatus acquires (e.g.,
  • the fifth packet generates (e.g., Step S 212 of FIG. 20 ) the seventh packet by using the sixth address contained in the fifth packet, supplies (e.g., Step S 63 of FIG. 8 ) the seventh packet to the second information processing apparatus, and the sixth information processing apparatus acquires (e.g., Step S 71 of FIG. 8 ) the second packet, generates (e.g., Step S 212 of FIG. 20 ) the fourth packet by using the fourth address contained in the second packet, supplies (e.g., Step S 73 of FIG. 8 ) the fourth packet to the first information processing apparatus, acquires (e.g., Step S 72 of FIG. 8 ) the sixth packet, generates (e.g., Step S 212 of FIG. 20 ) the eighth packet by using the seventh address contained in the sixth packet, and supplies the sixth packet to the second information processing apparatus.
  • Step S 71 of FIG. 8 the second packet
  • Step S 212 of FIG. 20 the fourth packet by using the fourth address contained in the second packet
  • a communication method described in claim 3 is characterized by including a first information processing apparatus (e.g., local communication apparatuses 11 - 1 to 11 - n of FIG. 1 ) connected to a first network (e.g., the private network 10 of FIG. 1 ) and to a second network (e.g., the network 21 of FIG. 1 ) via a first address translation apparatus (e.g., the relay apparatus 12 of FIG. 1 ) for address translation, a second information processing apparatus (e.g., the local communication apparatuses 31 - 1 to 31 - n of FIG. 1 ) connected to a third network (e.g., the private network 30 of FIG.
  • a first information processing apparatus e.g., local communication apparatuses 11 - 1 to 11 - n of FIG. 1
  • a first network e.g., the private network 10 of FIG. 1
  • a second network e.g., the network 21 of FIG. 1
  • a first address translation apparatus e.g.,
  • a second address translation apparatus e.g., the relay apparatus 32 of FIG. 1
  • a third information processing apparatus e.g., the apparatus service providing apparatuses 51 and 52 of FIG. 1
  • a fourth information processing apparatus e.g., the user service providing apparatus 41 of FIG. 1
  • the first information processing apparatus supplies (e.g., Steps S 4 and S 6 of FIG. 1 ) first and second packets (e.g., the service request packet 281 of FIG.
  • the third information processing apparatus acquires (e.g., Steps S 61 and S 71 of FIG. 8 ) the first and second packets (e.g., Steps S 61 and S 71 of FIG. 8 ), generates (e.g., Step S 212 of FIG. 20 ) third and fourth packets (e.g., the service providing packet 321 of FIG. 21 ) by using third and fourth addresses on the second network corresponding to the first information processing apparatus, the third and fourth addresses being contained in the first and second packets, and supplies (e.g., Steps S 63 and S 73 of FIG.
  • the first information processing apparatus acquires (e.g., Steps S 5 and S 7 of FIG. 8 ) the third and fourth packets, predicts (e.g., Step S 8 of FIG. 8 ) a fifth address which is an address on the second network corresponding to the first information processing apparatus by using the third and fourth addresses contained in the third and fourth packets, the fifth address being used when the second information processing apparatus is accessed, and supplies (e.g., Step S 9 of FIG. 9 ) the predicted fifth address to the fourth information processing apparatus; the fourth information processing apparatus stores (e.g., Step S 30 of FIG. 9 ) the fifth address in association with a user ID (e.g., the user ID 311 of FIG.
  • a user ID e.g., the user ID 311 of FIG.
  • the second information processing apparatus supplies (e.g., Steps S 44 and S 46 ) fifth and sixth packets (e.g., the service request packet 281 of FIG. 17 ) to the first and second addresses of the third information processing apparatus via the second address translation apparatus to request addresses on the second network corresponding to the second information processing apparatus;
  • the third information processing apparatus acquires (e.g., Steps S 62 and S 72 of FIG. 8 ) the fifth and sixth packets, generates (e.g., Step S 212 of FIG. 20 ) seventh and eighth packets (e.g., the service providing packet 321 of FIG.
  • the fourth information processing apparatus stores (Step S 30 of FIG. 9 ) the eighth address in association with a user ID (e.g., the user ID 311 of FIG. 19 ) of the second information processing apparatus; the first information processing apparatus requests (e.g., Step S 174 of FIG. 15 ) from the fourth information processing apparatus an address corresponding to a user of the second information processing apparatus as a communication partner; in response to this request, the fourth information processing apparatus supplies (e.g., Step S 31 of FIG. 9 ) the eighth address to the first information processing apparatus; the first information processing apparatus acquires (Step S 10 of FIG. 9 ) the eighth address, and accesses (e.g., Step S 12 of FIG.
  • a user ID e.g., the user ID 311 of FIG. 19
  • the fourth information processing apparatus requests (e.g., Step S 174 of FIG. 15 ) from the fourth information processing apparatus an address corresponding to a user of the second information processing apparatus as a communication partner; in response to this request, the fourth information
  • the second information processing apparatus requests (e.g., Step S 174 of FIG. 15 ) from the fourth information processing apparatus an address corresponding to a user of the first information processing apparatus as a communication partner, in response to this request, the fourth information processing apparatus supplies (e.g., Step S 31 of FIG. 9 ) the fifth address to the second information processing apparatus; and the second information processing apparatus acquires (Step S 50 of FIG. 9 ) the fifth address, and accesses (e.g., Step S 52 of FIG. 10 ) the first information apparatus based on the fifth address.
  • Step S 174 of FIG. 15 the fourth information processing apparatus supplies (e.g., Step S 31 of FIG. 9 ) the fifth address to the second information processing apparatus
  • the second information processing apparatus acquires (Step S 50 of FIG. 9 ) the fifth address, and accesses (e.g., Step S 52 of FIG. 10 ) the first information apparatus based on the fifth address.
  • An information processing apparatus described in claim 4 is characterized by including supply means (e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the processes at Steps S 175 and S 177 ) for supplying first and second packets (e.g., the service request packet 281 of FIG. 17 ) to the first and second addresses of a second other information processing apparatus (e.g., the apparatus service providing apparatuses 51 and 52 of FIG. 1 ) connected to the second network (e.g., the network 21 of FIG. 1 ) via the first address translation apparatus (e.g., the relay apparatus 12 of FIG. 1 ) to request addresses on the second network corresponding to the information processing apparatus (e.g., the local communication apparatuses 11 - 1 to 11 - n of FIG.
  • supply means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the processes at Steps S 175 and S 177
  • first and second packets e.g., the service request packet 281 of FIG. 17
  • first acquisition means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the processes at Steps S 176 and S 178 of FIG. 15
  • third and fourth packets e.g., the service providing packet 321 of FIG. 21
  • prediction means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the process at Step S 179 of FIG.
  • the supply means of the information processing apparatus described in claim 5 is characterized in that the second packet is supplied (Steps S 4 and S 6 or Steps S 44 and S 46 of FIG. 8 ) in succession to the first packet.
  • the second other information processing apparatus different from the information processing apparatus as described in claim 6 is characterized by including a third other information processing apparatus (e.g., the apparatus service providing apparatus 51 ) connected to the second network and having the first address and a fourth other information processing apparatus (e.g., the apparatus service providing apparatus 52 ) connected to the second network and having the second address, wherein the supply means supplies the first packet to the third other information processing apparatus and supplies the second packet to the fourth other information processing apparatus, and the first acquisition means acquires the third packet supplied from the third other information processing apparatus and the fourth packet supplied from the fourth other information processing apparatus.
  • a third other information processing apparatus e.g., the apparatus service providing apparatus 51
  • a fourth other information processing apparatus e.g., the apparatus service providing apparatus 52
  • the first to fourth addresses of the information processing apparatus described in claim 7 are characterized by including an IP address and a port number (e.g., having a structure like the predicted communication source Glo-IP-port of FIG. 19 ).
  • the prediction means of the information processing apparatus described in claim 8 is characterized by predicting (Step S 179 of FIG. 15 ) the fifth address by calculating a difference value between the fourth and third addresses and adding the difference value to the fourth address.
  • the information processing apparatus described in claim 9 is characterized by further including first request means (e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the processes at Step S 180 of FIG. 15 ) for requesting a third other information processing apparatus (e.g., the user service providing apparatus 41 of FIG. 1 ) connected to the second network for managing addresses on the second network of the information processing apparatus and the first other information processing apparatus, to supply the fifth address predicted by the prediction means and for the registration of the fifth address, second request means (e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the process at Step S 174 of FIG.
  • first request means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the processes at Step S 180 of FIG. 15
  • a third other information processing apparatus e.g., the user service providing apparatus 41 of FIG. 1
  • second request means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the process at Step S 174 of FIG.
  • third acquisition means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the process at Step S 181 of FIG. 15
  • third request means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the process at Step S 237 of FIG. 23
  • third request means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the process at Step S 237 of FIG. 23
  • the third request means of the information processing apparatus described in claim 10 is characterized by requesting (e.g., the communication start request process of FIG. 23 ) the opening of communications by supplying the fifth packet for requesting the opening of communications with the first other information processing apparatus from a plurality of addresses on the first network of the information processing apparatus to a plurality of addresses of a second address translation apparatus, the addresses being consecutive starting from the fifth address.
  • the third request means of the information processing apparatus described in claim 11 is characterized by requesting (e.g., the second communication start request process of FIG. 40 ) the opening of communications by supplying the fifth packet for requesting the opening of communications with the first other information processing apparatus from a plurality of addresses on the first network of the information processing apparatus to a plurality of address of the second address translation apparatus, the addresses being every second address and consecutive from the fifth address.
  • the third request means of the information processing apparatus described in claim 12 is characterized by requesting (e.g., the third communication start request process of FIG. 44 ) the opening of communications by supplying the fifth packet for requesting the opening of communications with the first other information processing apparatus from a plurality of addresses on the first network of the information processing apparatus to each address of different address groups among a plurality of address groups each having a plurality of consecutive addresses and one address, the first address group having the fifth address as a start address.
  • the third request means of the information processing apparatus described in claim 13 is characterized by requesting (e.g., the fourth communication start request process of FIG. 45 ) the opening of communications by supplying the fifth packet for requesting the opening of communications with the first other information processing apparatus from a plurality of addresses on the first network of the information processing apparatus to each address of different address groups among a plurality of address groups each having a plurality of consecutive addresses, the first address group having the fifth address as a start address.
  • the information processing apparatus described in claim 14 is characterized by further including master/slave judging means (e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the process at Step S 391 of FIG. 39 ) for judging whether the information processing apparatus is a master for controlling communications with the first other information processing apparatus or a slave, wherein the third request means requests (e.g., the control process of FIG. 39 ) the opening of communications based on an algorithm selected by the judgment result by the master/slave judging means.
  • master/slave judging means e.g., the communication information acquisition processing unit 65 of FIG. 3 for executing the process at Step S 391 of FIG. 39
  • the third request means requests (e.g., the control process of FIG. 39 ) the opening of communications based on an algorithm selected by the judgment result by the master/slave judging means.
  • An information processing method described in claim 15 is characterized by including a supply step (e.g., Steps S 175 and S 177 of FIG. 15 ) of supplying first and second packets (e.g., the service request packet 281 of FIG. 17 ) to first and second addresses of a second other information processing apparatus (e.g., the apparatus service providing apparatuses 51 and 52 of FIG. 1 ) having the first and second addresses and being connected to a second network (e.g., the network 21 of FIG. 1 ) via a first address translation apparatus (e.g., the relay apparatus 12 of FIG. 1 ) in order to request addresses on the second network corresponding to the information processing apparatus (e.g., the local communication apparatuses 11 - 1 to 11 - n of FIG.
  • a supply step e.g., Steps S 175 and S 177 of FIG. 15
  • first and second packets e.g., the service request packet 281 of FIG. 17
  • a second other information processing apparatus e.g.
  • a first acquisition step (e.g., Steps S 176 and S 178 of FIG. 15 ) of acquiring third and fourth packets (e.g., the service providing packet 321 of FIG. 21 ) containing third and fourth addresses which are addresses on the second network corresponding to the information processing apparatus and supplied from the second other information processing apparatus based on the first and second packets supplied by a process at the supply step, and a prediction step (e.g., Step S 179 of FIG. 15 ) of predicting a fifth address which is an address on the second network corresponding to the information processing apparatus, by using the third and fourth addresses contained in the third and fourth packets acquired by the first acquisition means, the fifth address being used when a first other information processing apparatus is accessed.
  • third and fourth packets e.g., the service providing packet 321 of FIG. 21
  • a prediction step e.g., Step S 179 of FIG. 15
  • a program described in claim 16 is characterized by making a computer execute a supply step (e.g., Steps S 175 and 177 of FIG. 15 ) of supplying first and second packets (e.g., the service request packet 281 of FIG. 17 ) to first and second addresses of a second other information processing apparatus (e.g., the apparatus service providing apparatuses 51 and 52 of FIG. 1 ) having the first and second addresses and being connected to a second network (e.g., the network 21 of FIG. 1 ) via a first address translation apparatus (e.g., the relay apparatus 12 of FIG.
  • a supply step e.g., Steps S 175 and 177 of FIG. 15
  • first and second packets e.g., the service request packet 281 of FIG. 17
  • a second other information processing apparatus e.g., the apparatus service providing apparatuses 51 and 52 of FIG. 1
  • a second network e.g., the network 21 of FIG. 1
  • a first address translation apparatus e
  • a first acquisition step e.g., Steps S 176 and S 178 of FIG. 15
  • third and fourth packets e.g., the service providing packet 321 of FIG. 21
  • a prediction step e.g., Step S 179 of FIG.
  • An information processing apparatus described in claim 17 is characterized by including acquisition means (e.g., the user registration information management processing unit 155 of FIG. 5 for executing the process at Step S 193 of FIG. 18 ) for acquiring information of an address on the network (e.g., the network 21 of FIG. 1 ) of the first other information processing apparatus, the address being supplied from the first other information processing apparatus (e.g., the local communication apparatuses 11 - 1 to 11 - n of FIG. 1 ) and being predicted by the first other information processing apparatus, storage means (e.g., the user registration information database 177 of FIG.
  • acquisition means e.g., the user registration information management processing unit 155 of FIG. 5 for executing the process at Step S 193 of FIG. 18
  • acquisition means e.g., the user registration information management processing unit 155 of FIG. 5 for executing the process at Step S 193 of FIG. 18
  • storage means e.g., the user registration information database 177 of FIG.
  • the acquisition means for storing the information of the address on the network of the first other information processing apparatus acquired by the acquisition means, and supply means (e.g., the user registration information management processing unit 155 of FIG. 5 for executing the process at Step S 196 of FIG. 18 ) responsive to a request from the second other information processing apparatus (e.g., the local communication apparatuses 31 - 1 to 31 - n of FIG. 1 ) as a communication partner of the first other information processing apparatus, for supplying the second other information processing apparatus with the information of the address on the network of the first other information processing apparatus stored in the storage means and predicted by the first other information processing apparatus.
  • the second other information processing apparatus e.g., the local communication apparatuses 31 - 1 to 31 - n of FIG. 1
  • An information processing method described in claim 18 is characterized by including an acquisition step (e.g., Step S 193 of FIG. 18 ) of acquiring information of an address on the network (e.g., the network 21 of FIG. 1 ) of the first other information processing apparatus, the address being supplied from the first other information processing apparatus (e.g., the local communication apparatuses 11 - 1 to 11 - n of FIG. 1 ) and being predicted by the first other information processing apparatus, a storage step (e.g., Step S 194 of FIG. 18 ) of storing the information of the address on the network of the first other information processing apparatus acquired by the process of the acquisition step, and a supply step (e.g., Step S 196 of FIG.
  • an acquisition step e.g., Step S 193 of FIG. 18
  • the address being supplied from the first other information processing apparatus (e.g., the local communication apparatuses 11 - 1 to 11 - n of FIG. 1 ) and being predicted by the first other information processing apparatus
  • the second other information processing apparatus e.g., the local communication apparatuses 31 - 1 to 31 - n of FIG. 1
  • the second other information processing apparatus responsive to a request from the second other information processing apparatus (e.g., the local communication apparatuses 31 - 1 to 31 - n of FIG. 1 ) as a communication partner of the first other information processing apparatus, of supplying the second other information processing apparatus with the information of the address on the network of the first other information processing apparatus stored in the storage means and predicted by the first other information processing apparatus.
  • a program described in claim 19 is characterized by making a computer execute an acquisition step (e.g., Step S 193 of FIG. 18 ) of acquiring information of an address on the network (e.g., the network 21 of FIG. 1 ) of the first other information processing apparatus, the address being supplied from the first other information processing apparatus (e.g., the local communication apparatuses 11 - 1 to 11 - n of FIG. 1 ) and being predicted by the first other information processing apparatus, a storage step (e.g., Step S 194 of FIG. 18 ) of storing the information of the address on the network of the first other information processing apparatus acquired by the process of the acquisition step, and a supply step (e.g., Step S 196 of FIG.
  • an acquisition step e.g., Step S 193 of FIG. 18
  • the address being supplied from the first other information processing apparatus (e.g., the local communication apparatuses 11 - 1 to 11 - n of FIG. 1 ) and being predicted by the first other information processing apparatus
  • the second other information processing apparatus e.g., the local communication apparatuses 31 - 1 to 31 - n of FIG. 1
  • the second other information processing apparatus responsive to a request from the second other information processing apparatus (e.g., the local communication apparatuses 31 - 1 to 31 - n of FIG. 1 ) as a communication partner of the first other information processing apparatus, of supplying the second other information processing apparatus with the information of the address on the network of the first other information processing apparatus stored in the storage means and predicted by the first other information processing apparatus.
  • FIG. 1 shows an example of the configuration of a network system adopting the present invention.
  • n local communication apparatuses 11 - 1 to 11 - n as communication terminal apparatuses for instant message service (hereinafter called IM service) are connected to a relay apparatus 12 which is a router having an NAPT function, to constitute a private network 10 .
  • the relay apparatus 12 is also connected to a global network 21 , typically the Internet, and assigned a global address which is an address globally usable in the network 21 .
  • the relay apparatus 12 has a plurality of ports as sub-addresses of the global address.
  • the local communication apparatuses 11 - 1 to 11 - n are collectively called a local communication apparatus 11 .
  • n local communication apparatuses 31 - 1 to 31 - n as communication terminal apparatuses for instant message service (hereinafter called IM service) are connected to a relay apparatus 32 which is a router having an NAPT function, to constitute a private network 30 different from the private network 10 .
  • the relay apparatus 32 is also connected to the network 21 and assigned a global address which is an address globally usable in the network 21 .
  • the relay apparatus 32 has a plurality of ports as sub-addresses of the global address.
  • a local communication apparatus 31 In the following, if it is not necessary to distinguishably describe the local communication apparatuses 31 - 1 to 31 - n , they are collectively called a local communication apparatus 31 .
  • the local communication apparatuses 11 - 1 to 11 - n of the private network 10 are each assigned a private address in the private network 10 .
  • the local communication apparatus 11 has a plurality of ports as sub-addresses of the private address.
  • the local communication apparatus 11 supplies the relay apparatus 12 with the data, as well as the assigned private address and port information, as address port information (Pri-IP-port) of the transmission source.
  • the relay apparatus 12 translates the address port information (Pri-IP-port) (hereinafter called private address port information) in the private network 10 acquired from the local communication apparatus 11 , into address port information (Glo-IP-port) (hereinafter called global address port information) in the network 21 consisting of the global address and global port, and supplies the global address port information along with the acquired data to the network 21 .
  • Pri-IP-port hereinafter called private address port information
  • Glo-IP-port hereinafter called global address port information
  • the local communication apparatus 11 and local communication apparatus 31 communicate with each other via the private networks 10 and 30 , relay apparatuses 12 and 32 and network 21 , by utilizing the IM service provided by a user service providing apparatus 41 and an apparatus service providing apparatus 51 .
  • the description of the NAPT translation process for the address port information by the relay apparatus 12 is omitted when unnecessary.
  • the translation process by the relay apparatus 32 is similarly omitted when unnecessary.
  • the user service providing apparatus 41 in addition to the relay apparatuses 12 and 32 , the user service providing apparatus 41 , the apparatus service providing apparatus 51 and an apparatus service providing apparatus 52 are connected to the network, these apparatuses 41 , 51 and 52 being servers for providing the IM service to be used by the local communication apparatuses 11 and 31 .
  • the user service providing apparatus 41 provides, via the network 21 , user service which is a portion of the IM service and is service for a user of the local communication apparatus 11 or 31 using the IM service.
  • the user service providing apparatus 41 provides the user service by communicating with the local communication apparatus 11 , accessed via the private network 10 , relay apparatus 12 and network 21 , or by communicating with the local communication apparatus 31 , accessed via the private network 30 , relay apparatus 32 and network 21 .
  • the apparatus service providing apparatuses 51 and 52 provide, via the network 21 , apparatus service which is a portion of the IM service and is service for the local communication apparatus 11 or 31 using the IM service.
  • the apparatus service providing apparatuses 51 and 52 provide apparatus service by communicating with the local communication apparatus 11 , accessed via the private network 10 , relay apparatus 12 and network 21 , or by communicating with the local communication apparatus 31 , accessed via the private network 30 , relay apparatus 32 and network 21 .
  • FIG. 3 is a block diagram showing an example of the internal structure of the local communication apparatus 11 of FIG. 1 .
  • a CPU (Central Processing Unit) 61 of the local communication apparatus 11 executes various processes based on programs stored in a ROM (Read Only Memory) 62 .
  • a RAM (Random Access Memory) 63 stores data, programs and the like necessary for executing various processes by CPU 61 .
  • An authentication processing unit 64 has therein a control unit, a calculation unit or a data storage unit (each not shown) and executes a process regarding authentication of a user of the local communication apparatus 11 to be provided with the IM service.
  • a communication information acquisition processing unit 65 has therein a control unit, a calculation unit or a data storage unit (each not shown) and executes a process regarding acquisition of communication information necessary for connection to another local communication apparatus.
  • An inter-local communication control unit 66 has therein a control unit, a calculation unit or a data storage unit (each not shown) and controls communications with another local communication apparatus as a communication partner in the communications using the IM service.
  • a user authentication interface provision processing unit 67 has therein a control unit, a calculation unit or a data storage unit (each not shown) and provides a GUI (Graphical User Interface) for receiving a user input during user authentication.
  • GUI Graphic User Interface
  • a user identification interface provision processing unit 68 has therein a control unit, a calculation unit or a data storage unit (each not shown) and provides a GUI for making a user input information of a communication partner.
  • CPU 61 , ROM 62 , RAM 63 , authentication processing unit 64 , communication information acquisition processing unit 65 , inter-local communication control unit 66 , user authentication interface provision processing unit 67 and user identification interface provision processing unit 68 are interconnected by a bus 70 .
  • An input/output interface 80 is also connected to the bus 70 .
  • the input/output interface 80 is connected to an input unit 81 consisting of a keyboard and a mouse, and outputs a signal input from the input unit 81 to CPU 61 .
  • the input/output interface 80 is also connected to an output unit 82 consisting of a display and a speaker.
  • the input/output interface 80 is also connected to a storage unit 83 consisting of a hard disc, an EEPROM (Electrically Erasable and Programmable Read Only Memory) and the like, and to a communication unit 84 for data communication with another apparatus via a network, such as the private network 10 .
  • a drive 85 is used for reading data from and writing data to a removable medium 91 made of a recording medium, such as a magnetic disc, an optical disc, a magneto-optical disc and a semiconductor memory.
  • FIG. 1 An example of the internal structure of the local communication apparatus 12 of FIG. 1 is similar to that of the local communication apparatus 11 , the block diagram of FIG. 3 can be applied, and so the description thereof is omitted.
  • FIG. 4 is a block diagram showing an example of the internal structure of the relay apparatus 12 of FIG. 1 .
  • a CPU 101 of the relay apparatus 12 executes various processes based on programs stored in a ROM 102 .
  • a RAM 103 stores data, programs and the like necessary for executing various processes by CPU 101 .
  • An address translation processing unit 104 has therein a control unit, a calculation unit or a data storage unit (each not shown) and executes a process of translating the private address port information of the private network 10 , supplied from the local communication apparatus 11 via the communication unit 124 , into the global address port information of the network 21 .
  • CPU 101 CPU 101 , ROM 102 , RAM 103 , and address translation processing unit 104 are interconnected by a bus 110 .
  • An input/output interface 120 is also connected to the bus 110 .
  • the input/output interface 120 is connected to an input unit 121 consisting of a keyboard and a mouse, and outputs a signal input from the input unit 121 to CPU 101 .
  • the input/output interface 120 is also connected to an output unit 122 consisting of a display and a speaker.
  • the input/output interface 120 is also connected to a storage unit 123 consisting of a hard disc, an EEPROM and the like, and to a communication unit 124 for data communication with another apparatus via the private network 10 and network 21 .
  • a drive 125 is used for reading data from and writing data to a removable medium 131 made of a recording medium, such as a magnetic disc, an optical disc, a magneto-optical disc and a semiconductor memory.
  • An example of the internal structure of the relay apparatus 32 of FIG. 1 is similar to that of the relay apparatus 12 , the block diagram of FIG. 4 can be applied, and so the description thereof is omitted.
  • FIG. 5 is a block diagram showing an example of the internal structure of the user service providing apparatus 41 of FIG. 1 .
  • a CPU 151 of the user service providing apparatus 41 executes various processes based on programs stored in a ROM 152 .
  • a RAM 153 stores data, programs and the like necessary for executing various processes by CPU 151 .
  • An authentication processing unit 154 has therein a control unit, a calculation unit or a data storage unit (each not shown) and executes a process regarding authentication of a user to be provided with the IM service.
  • a user registration information management processing unit 155 has therein a control unit, a calculation unit or a data storage unit (each not shown) and executes a process regarding management of user registration information supplied from the local communication apparatus and registered in a user registration information database 177 .
  • CPU 151 , ROM 152 , RAM 153 , authentication processing unit 154 and user registration information management processing unit 155 are interconnected by a bus 160 .
  • An input/output interface 170 is also connected to the bus 160 .
  • the input/output interface 170 is connected to an input unit 171 consisting of a keyboard and a mouse, and outputs a signal input from the input unit 171 to CPU 151 .
  • the input/output interface 170 is also connected to an output unit 172 consisting of a display and a speaker.
  • the input/output interface 170 is also connected to a storage unit 173 consisting of a hard disc, an EEPROM and the like, and to a communication unit 174 for data communication with another apparatus via the network 21 and the like.
  • a drive 175 is used for reading data from and writing data to a removable medium 181 made of a recording medium, such as a magnetic disc, an optical disc, a magneto-optical disc and a semiconductor memory.
  • the input/output interface 170 is also connected to a user authentication information database 176 and a user registration information database 177 , the former storing user authentication information to be used by the authentication process to be executed by the authentication processing unit 154 and the latter storing user registration information which is information of each user regarding the IM service.
  • FIG. 6 is a block diagram showing an example of the internal structure of the apparatus service providing apparatus 51 of FIG. 1 .
  • a CPU 201 of the apparatus service providing apparatus 51 executes various processes based on programs stored in a ROM 202 .
  • a RAM 203 stores data, programs and the like necessary for executing various processes by CPU 201 .
  • An address port information provision processing unit 204 has therein a control unit, a calculation unit or a data storage unit (each not shown) and checks and supplies the global address port information in response to a request from the local communication apparatus 11 or 31 .
  • CPU 201 CPU 201 , ROM 202 , RAM 203 , and address port information provision processing unit 204 are interconnected by a bus 210 .
  • An input/output interface 220 is also connected to the bus 210 .
  • the input/output interface 220 is connected to an input unit 221 consisting of a keyboard and a mouse, and outputs a signal input from the input unit 221 to CPU 201 .
  • the input/output interface 220 is also connected to an output unit 222 consisting of a display and a speaker.
  • the input/output interface 220 is also connected to a storage unit 223 consisting of a hard disc, an EEPROM and the like, and to a communication unit 224 for data communication with another apparatus via the network 21 and the like.
  • a drive 225 is used for reading data from and writing data to a removable medium 231 made of a recording medium, such as a magnetic disc, an optical disc, a magneto-optical disc and a semiconductor memory.
  • the apparatus service providing apparatus 52 of FIG. 1 has a fundamentally similar structure to that of the apparatus service providing apparatus 51 and executes similar processes, the block diagram of FIG. 6 can be applied, and so the description thereof is omitted.
  • Step S 1 the local communication apparatus 11 operated by a user supplies a user authentication process request to the user service providing apparatus 41 via the relay apparatus 12 .
  • Step S 21 the user service providing apparatus 41 acquires the supplied authentication request.
  • Step S 41 the local communication apparatus 31 operated by a user supplies a user authentication process request to the user service providing apparatus 41 via the relay apparatus 32 .
  • the user service providing apparatus 41 acquires the supplied authentication request.
  • Step S 23 the user service providing apparatus 41 , having acquired the authentication request from the local communication apparatus 11 or 31 , executes the authentication process. If the user of the local communication apparatus 11 or 31 is authenticated, at Step S 24 the user service providing apparatus 41 supplies an authentication success notice to the local communication apparatus 11 or 31 via the network 21 .
  • the local communication apparatus 11 acquires the authentication success notice to confirm that the user has been authenticated.
  • the local communication apparatus 31 acquires the authentication success notice supplied from the user service providing apparatus 41 to confirm that the user has been authenticated.
  • the local communication apparatuses 11 and 31 and user service providing apparatus 41 process transmission/reception packets based on the TCP/IP (Transmission Control Protocol/Internet Protocol) protocol system using HTTP (HyperText Transfer Protocol), RTP (Real-time Transport Protocol) or the like.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • HTTP HyperText Transfer Protocol
  • RTP Real-time Transport Protocol
  • Step S 121 the authentication processing unit 64 of the local communication apparatus 11 operated by a user starts the authentication process by controlling the communication unit 84 to request information regarding user authentication from the user service providing apparatus 41 via the relay apparatus 12 .
  • the user service providing apparatus 41 supplies the information regarding user authentication to the requesting local communication apparatus 11 via the network 21 , as will be later described.
  • the authentication processing unit 64 controls the communication unit 84 to receive the information regarding user authentication, and after a lapse of a predetermined time, executes a process at Step S 122 to determine whether the information regarding user authentication has been acquired. If it is determined that the information regarding user authentication has been acquired, the authentication processing unit 64 controls the user authentication interface provision processing unit 67 based on the acquired information regarding user authentication to receive a user authentication GUI, and at Step S 123 supplies the GUI to the output unit 82 to display an authentication screen, such as shown in FIG. 12 , on the display.
  • the authentication screen 251 is provided with a user ID input field 252 , a password input field 253 , a login button 254 and a cancel button 255 , in addition to a message “XXX Service Login Site” indicating that the screen is an IM service authentication screen.
  • the user ID input field is input with a user ID of a user using the service (a user of the local communication apparatus 11 ).
  • the password input field 253 is input with a password set in association with the user ID.
  • the login button is operated by a user to supply an authentication request to the user service providing apparatus 41 .
  • the cancel button is operated by a user to terminate the authentication process.
  • the user ID and password for the IM service are information assigned to a user of the local communication apparatus 11 using the IM service.
  • the user of the local communication apparatus 11 enters the user ID and password into the user ID field 252 and password input field 253 , respectively, and then operates the login button 254 .
  • Step S 124 the authentication processing unit 64 controls the input unit 81 to determine whether an input of user authentication information consists of the user ID and password has been received, and stands by until it is determined that the input has been received.
  • the authentication processing unit 64 proceeds to a process at Step S 125 whereat it supplies the received user authentication information as an authentication request to the user service providing apparatus 41 via the relay apparatus 12 .
  • This process corresponds to the process at Step S 1 of FIG. 7 .
  • the user service providing apparatus 41 acquires the authentication request including the user authentication information, the user service providing apparatus 41 authenticates the user authentication information and supplies an authentication result to the local communication apparatus 11 via the network 21 .
  • the authentication processing unit 64 of the local communication apparatus 11 controls the communication unit 84 to receive the authentication result, and after a lapse of a predetermined time, determines at Step S 126 whether the authentication result has been acquired.
  • the authentication processing unit 64 determines at Step S 127 from the acquired authentication result whether the user of the local communication apparatus 11 has been authenticated. If it is determined that the user has been authenticated, then at Step S 128 the authentication processing unit 64 controls the output unit 82 to display an authentication message indicating that the user has been authenticated on the display and thereafter terminates the authentication process.
  • Step S 122 If it is determined at Step S 122 that the information regarding user authentication has not been acquired, the authentication processing unit 64 proceeds to the process at Step S 129 whereat the authentication processing unit 64 controls the output unit 82 to display an error message representative of an authentication failure on the display.
  • Step S 130 the authentication processing unit 64 determines whether authentication is to be performed again, and if it is determined from a user operation or the like that authentication is to be performed again, the process returns to the process at Step S 123 to repeat the succeeding processes.
  • Step S 130 If it is determined at Step S 130 that authentication is not to be performed again and the authentication process is to be terminated, the authentication processing unit 64 terminates the authentication process.
  • Step S 126 If it is determined at Step S 126 that the authentication result supplied from the user service providing apparatus 41 has not been acquired, the authentication processing unit 64 proceeds to the process at Step S 129 to execute the above-described process.
  • Step S 127 If it is determined at Step S 127 that the user is not authenticated, the authentication processing unit 64 proceeds to the process at Step S 129 to execute the above-described process.
  • the local communication apparatus 31 using the IM service executes an authentication process similar to the above-described process. Therefore, since the flow chart of FIG. 11 and an example of the authentication screen of FIG. 12 can be applied to the authentication process by the local communication apparatus 31 , the description thereof is omitted.
  • Step S 151 the authentication processing unit 154 of the user service providing apparatus 41 controls the communication unit 174 to determine whether the information regarding user authentication has been requested, and stands by until it is determined that the information has been requested, the information regarding user authentication being supplied from the local communication apparatus 11 or 31 via the network 21 by the process at Step S 121 of FIG. 11 .
  • Step S 152 the authentication processing unit 154 controls the communication unit 174 to supply the information regarding user authentication to the requesting apparatus.
  • the authentication processing unit 154 controls the communication unit 174 to receive the user authentication information, and after a lapse of a predetermined time, it is determined at Step S 153 whether the user authentication information supplied from the local communication apparatus 11 or 31 by the process at Step S 125 of FIG. 11 has been acquired.
  • the authentication processing unit 154 proceeds to the process at Step S 154 whereat it executes the authentication process by referring to the user authentication information database 176 .
  • This process corresponds to the process at Step S 23 of FIG. 7 .
  • FIG. 14 is a schematic diagram showing the state in which the user authentication information database 176 stores the user authentication information.
  • the user authentication information database 176 registers user authentication information 261 in correspondence with user IDs and user passwords.
  • the authentication processing unit 154 refers to the pre-registered user authentication information 261 and compares the acquired user authentication information to determine whether the user is a rightful user.
  • Step S 155 the authentication unit 154 controls the communication unit 174 to supply the authentication result to the local communication apparatus 11 or 31 via the network 21 .
  • This process corresponds to the process at Step S 24 of FIG. 7 .
  • the authentication processing unit 154 then terminates the authentication process.
  • the authentication processing unit 154 starts a new authentication process similar to the above-described authentication process under the control of CPU 151 or the like.
  • the authentication processing unit 154 terminates the authentication process.
  • the authentication processing unit 154 starts a new authentication process similar to the above-described authentication process under the control of CPU 151 or the like.
  • the local communication apparatus 11 upon acquisition of the authentication success notice indicating a successful authentication at Step S 2 , the local communication apparatus 11 displays a GUI screen in a manner to be described later and makes the user designate a communication partner. As the user determines the communication partner, at Step S 3 the local communication apparatus 11 supplies a request for communication information, including the global address port information and the like of the communication partner, to the user service providing apparatus 41 via the relay apparatus 12 . At Step S 25 the user service providing apparatus 41 acquires the supplied communication information request.
  • the request for the communication information acquired by the user service providing apparatus 41 was supplied via the relay apparatus 12 which executed NAPT translation to add the global address port information of the relay apparatus 12 (corresponding to the local communication apparatus 11 ).
  • the local communication apparatus 31 displays a GUI screen in a manner to be described later and makes the user designate a communication partner.
  • the local communication apparatus 31 supplies a request for communication information, including the global address port information and the like of the communication partner, to the user service providing apparatus 41 via the relay apparatus 32 .
  • the user service providing apparatus 41 acquires the supplied communication information request.
  • the request for the communication information acquired by the user service providing apparatus 41 was supplied via the relay apparatus 32 which executed NAPT translation to add the global address port information of the relay apparatus 32 (corresponding to the local communication apparatus 31 ).
  • Step S 27 the user service providing apparatus 41 that acquired the communication information request from the local communication apparatus 11 or 31 updates the user registration information registered in the user registration information database 176 by using the global address port information of the relay apparatus 12 or 32 added to the supplied communication information request, as will be later described.
  • the local communication apparatuses 11 and 31 and the user service providing apparatus 41 process transmission/reception packets based on the TCP/IP protocol system using HTTP, RTP or the like.
  • the local communication apparatus 11 which supplied the communication information request proceeds to the process at Step S 4 of FIG. 8 whereat it supplies a service request packet, such as a packet to be later described, to the apparatus service providing apparatus 51 via the relay apparatus 12 .
  • the apparatus service providing apparatus 51 acquires the service request packet.
  • the service request packet acquired by the apparatus service providing apparatus 51 was supplied via the relay apparatus 12 which executed NAPT translation to add the global address port information of the relay apparatus 12 (corresponding to the local communication apparatus 11 ).
  • the local communication apparatus 31 which supplied the communication information request proceeds to the process at Step S 44 of FIG. 8 whereat it supplies a service request packet, such as a packet to be later described, to the apparatus service providing apparatus 51 via the relay apparatus 32 .
  • the apparatus service providing apparatus 51 acquires the service request packet.
  • the service request packet acquired by the apparatus service providing apparatus 51 was supplied via the relay apparatus 32 which executed NAPT translation to add the global address port information of the relay apparatus 32 (corresponding to the local communication apparatus 31 ).
  • the apparatus service providing apparatus 51 generates a service provision packet by using the global address port information of the relay apparatus 12 or 32 added to the acquired service request packet, and supplies it to the local communication apparatus 11 or 31 which is the transmission source of the service request packet, via the network 21 .
  • Step S 5 the local communication apparatus 11 acquires the service provision packet.
  • Step S 45 the local communication apparatus 31 acquires the service provision packet.
  • the local communication apparatus 11 or 31 again executes the above-described process executed for the apparatus service providing apparatus 51 , this time for the apparatus service providing apparatus 52 .
  • the local communication apparatus 11 proceeds to the process at Step S 6 of FIG. 8 whereat it supplies a service request packet, such as a packet to be described later, to the apparatus service providing apparatus 52 via the relay apparatus 12 .
  • the apparatus service providing apparatus 52 acquires the service request packet.
  • the service request packet acquired by the apparatus service providing apparatus 52 was supplied via the relay apparatus 12 which executed NAPT translation to add the global address port information of the relay apparatus 12 (corresponding to the local communication apparatus 11 ).
  • the local communication apparatus 31 which supplied the communication information request proceeds to the process at Step S 46 of FIG. 8 whereat it supplies a service request packet, such as a packet to be described later, to the apparatus service providing apparatus 52 via the relay apparatus 32 .
  • the apparatus service providing apparatus 52 acquires the service request packet.
  • the service request packet acquired by the apparatus service providing apparatus 52 was supplied via the relay apparatus 32 which executed NAPT translation to add the global address port information of the relay apparatus 32 (corresponding to the local communication apparatus 31 ).
  • the apparatus service providing apparatus 52 generates a service provision packet by using the global address port information of the relay apparatus 12 or 32 added to the acquired service request packet, and supplies it to the local communication apparatus 11 or 31 which is the transmission source of the service request packet, via the network 21 .
  • Step S 7 the local communication apparatus 11 acquires the service provision packet.
  • Step S 47 the local communication apparatus 31 acquires the service provision packet.
  • Step S 8 the local communication apparatus 11 which acquired two service provision packets from the apparatus service providing apparatuses 51 and 52 predicts (estimates) the address port information of the relay apparatus at a communication source, i.e., the global address port information of the relay apparatus 12 (corresponding to the local communication apparatus 11 ), based on the global address port information contained in the two service provision packets.
  • the relay apparatus 12 changes the port corresponding to the local communication apparatus 11 in some cases, each time the address port information of the communication destination of the local communication apparatus is changed.
  • the local communication apparatus 11 predicts (estimates) the address port information (latest global address port information) corresponding to the local communication apparatus for the next communication by using the two service provision packets acquired from the apparatus service providing apparatuses 51 and 52 .
  • Step S 48 the local communication apparatus 31 which acquired two service provision packets from the apparatus service providing apparatuses 51 and 52 predicts (estimates) the address port information of the relay apparatus at a communication source, i.e., the latest global address port information of the relay apparatus 32 (corresponding to the local communication apparatus 31 ), based on the global address port information contained in the two service provision packets.
  • the local communication apparatuses 11 and 31 and the apparatus service providing apparatus 51 process transmission/reception service requests and provision packets based on the UDP/IP (User Datagram Protocol/IP) protocol system using STUN (Simple Traversal of UDP through NATs), RTP, RTCP (RTP Control Protocol) or the like.
  • UDP/IP User Datagram Protocol/IP
  • STUN Simple Traversal of UDP through NATs
  • RTP Real-Time Transport Protocol
  • RTCP RTP Control Protocol
  • the local communication apparatus 11 After the local communication apparatus 11 predicts (estimates) the global address port information of the relay apparatus 12 by using the global address port information contained in the two acquired service provision packets at Step S 8 , the local communication apparatus 11 proceeds to the process at Step S 9 of FIG. 9 whereat the local communication apparatus 11 supplies the predicted global address port information as the communication source address port information to the user service providing apparatus 41 via the relay apparatus 12 .
  • the user service providing apparatus 41 acquires the communication source address port information.
  • the local communication apparatus 31 predicts (estimates) the global address port information of the relay apparatus 32 by using the global address port information contained in the two acquired service provision packets at Step S 48 .
  • the local communication apparatus 31 proceeds to the process at Step S 49 of FIG. 9 whereat the local communication apparatus 31 supplies the predicted global address port information as the communication source address port information to the user service providing apparatus 41 via the relay apparatus 32 .
  • the user service providing apparatus 41 acquires the communication source address port information.
  • Step S 30 the user service providing apparatus 41 which acquired the communication source address port information from the local communication apparatus 11 or 31 registers the communication source address port information in the user registration information database 177 , as will be later described.
  • Step S 31 the user service providing apparatus 41 supplies communication information of a communication destination registered in the user registration information database 177 to the local communication information apparatus 11 or 31 via the network 21 .
  • the local communication apparatus 11 acquires the communication information of the communication destination.
  • the local communication apparatus 31 acquires the communication information of the communication destination.
  • the user service providing apparatus 41 supplies the local communication apparatus 31 with the communication source address port information of the local communication apparatus 11 (predicted (estimated) global address port information of the relay apparatus 12 ) supplied from the local communication apparatus 11 and registered, and supplies the local communication apparatus 11 with the communication source address port information of the local communication apparatus 31 (predicted (estimated) global address port information of the relay apparatus 32 ) supplied from the local communication apparatus 31 and registered.
  • the local communication apparatuses 11 and 31 and user service providing apparatus 41 process transmission/reception packets based on the TCP/IP protocol system.
  • Step S 171 the communication information acquisition processing unit 65 of the local communication apparatus 11 which started the communication information acquiring process under the control of CPU 61 or the like requests the information necessary for identifying a communication partner from the user service providing apparatus 41 via the relay apparatus 12 .
  • the user service providing apparatus 41 supplies the information necessary for identifying the communication partner to the requesting local communication apparatus 11 via the network 21 , as will be later described.
  • the communication information acquisition processing unit 65 controls the communication unit 84 to receive the information necessary for identifying the communication partner, and after a lapse of a predetermined time, executes the process at Step S 172 to determine whether the information necessary for identifying the communication partner has been acquired. If it is determined that the information necessary for identifying the communication partner has been acquired, the communication information acquisition processing unit 65 controls the user identifying interface provision processing unit 68 based on the acquired information necessary for identifying the communication partner to make it supply the user identifying GUI, and at Step S 173 supplies the GUI to the output unit 82 to display a user identifying screen, such as shown in FIG. 16 , on the display.
  • the user identifying screen 271 is provided with a user list display field 272 for displaying other users selectable as a communication partner, a user ID input field 273 for inputting the user ID of a user selected by the user as a communication partner, and a communication start button 274 for inputting a communication start instruction by the user.
  • the user of the IM service selects the communication partner from the user IDs of users presently selectable as a communication partner, inputs the user ID in the user ID input field 273 and operates the communication start button 274 .
  • Step S 174 the communication information acquisition processing unit 65 controls the input unit 81 to receive the input of the user authentication information consisting of the user ID and password.
  • Step S 174 the communication information acquisition processing unit 65 controls the communication unit 84 to supply a request for communication information of the communication partner to the user service providing apparatus 41 via the relay apparatus.
  • This process corresponds to the process at Step S 3 of FIG. 7 .
  • Step S 175 the communication information acquisition processing unit 65 controls the control unit 84 to supply a service request packet, such as shown in FIG. 17 , to the apparatus service providing apparatus 51 via the relay apparatus 12 .
  • This process corresponds to the process at Step S 4 of FIG. 8 .
  • the service request packet 281 consists of a MAC (Media Access Control) packet for communication at the data link layer. As shown in FIG. 17 , the service request packet 281 consists of a MAC header 282 and a MAC payload 283 .
  • MAC Media Access Control
  • the MAC payload 283 consists of an IP packet for communication at the network layer and includes an IP header 284 and an IP payload 285 .
  • the IP header 284 includes a protocol number 286 , a transmission source IP address 287 and a transmission destination IP address 288 .
  • the protocol number is an identifier indicating that the service request packet 281 is a packet corresponding to the service provided by the apparatus service providing apparatus 51 .
  • the transmission source IP address is data representative of an IP address (in this case, the private address of the local communication apparatus 11 ) of the transmission source of the service request packet.
  • the transmission destination IP address is data representative of an IP address (in this case, the global address of the apparatus service providing apparatus 51 ) of the transmission destination of the service request packet.
  • NAPT translation of the relay apparatus 12 to be executed when the service request packet 281 is transferred translates the value of the IP address 287 of the transmission source into the global address of the relay apparatus 12 .
  • the IP address 287 of the transmission source when the apparatus service providing apparatus 51 acquires it is the global address of the relay apparatus 12 .
  • the IP payload 285 consists of a UDP packet for communication at the transport layer, and includes a UDP header 289 and a UDP payload 290 .
  • the UDP header 289 includes a transmission source port number 291 and a transmission destination port number 292 .
  • the transmission source port number is data representative of the port number of the transmission source (i.e., the port number of the local communication apparatus 11 ) used when the service request packet is transmitted.
  • the transmission destination port number is the port number of the transmission destination (i.e., the port number of the apparatus service providing apparatus 51 ) and is an identifier indicating that the service request packet 281 is a packet corresponding to the service provided by the apparatus service providing apparatus 51 .
  • NAPT translation of the relay apparatus 12 to be executed when the service request packet 281 is transferred translates the value of the transmission source port number into the port number of the relay apparatus 12 .
  • the transmission source port number 291 when the apparatus service providing apparatus 51 acquires it is the global port address of the relay apparatus 12 .
  • the UDP payload 290 consists of a STUN (Simple Traversal of UDP through NATs) packet for communication using a STUN protocol, and includes a STUN header 293 and a STUN payload 294 .
  • the STUN header 293 includes a STUN message type 295 and a transaction ID 296 .
  • the STUN message type is an identifier indicating that this packet contains a request based upon the STUN protocol and that the service request packet 281 is a packet corresponding to the service provided by the apparatus service providing apparatus 51 .
  • the transaction ID is used for identifying a transaction.
  • the STUN payload 294 contains a message type 297 indicating the contents of a message and is an identifier indicating that the service request packet 281 is a packet corresponding to the service provided by the apparatus service providing apparatus 51 .
  • the IP header 284 , UDP header 289 , STUN header 293 and STUN payload 294 contained in the service request packet 281 each include an identifier indicating that the service request packet 281 is a packet corresponding to the service provided by the apparatus service providing apparatus 51 . With these identifiers, the apparatus service providing apparatus 51 can execute a process satisfying the request of the service request packet 281 .
  • Step S 176 the communication information acquisition processing unit 65 which supplied the above-described service request packet controls the communication unit 85 to determine whether a service provision packet corresponding to the supplied service request packet has been acquired. If it is determined that the service provision packet has been acquired, the communication information acquisition processing unit 65 proceeds to the process at Step S 177 whereat it controls the communication unit 84 to supply the service request packet described above with reference to FIG. 17 to the apparatus service providing apparatus 52 via the relay apparatus 12 . This process corresponds to the process at Step S 6 of FIG. 8 .
  • the communication information acquisition processing unit 65 controls the communication unit 85 to determine whether the service provision packet corresponding to the supplied service request packet has been acquired. If it is determined that the service provision packet has been acquired, the communication information acquisition processing unit 65 proceeds to the process at Step S 179 whereat it extracts address port information of the relay apparatus 12 used for transmission of the service request packets from the two acquired service provision packets, calculates a difference value between two pieces of the address port information, adds the difference value to the address port information acquired later, and predicts (estimates) the communication source global address port information (communication source Glo-IP-port) for the next communication (communication for accessing the local communication apparatus 31 ).
  • Step S 180 the communication information acquisition processing unit 65 supplies the predicted (estimated) global address port information (hereinafter called predicted global address port information) to the user service providing apparatus 41 via the relay apparatus 12 , and requests registration of the predicted global address port information of the communication source as the user registration information.
  • predicted global address port information the predicted global address port information
  • the user service providing apparatus 41 updates the user registration information based on the request, and supplies the communication information of the communication destination, which is the communication information of the communication partner of the local communication apparatus 11 , to the local communication apparatus 11 via the network 21 , based on the updated latest user registration information.
  • Step S 181 the communication information acquisition processing unit 65 of the local communication apparatus 11 controls the communication unit 84 to determine whether the communication information of the communication destination has been acquired. If it is determined that the communication information has not been acquired, the process proceeds to Step S 182 whereat it controls the output unit 81 to execute an error process and thereafter terminates the communication information acquiring process. If it is determined at Step S 181 that the communication information of the communication destination has been acquired, the process at Step S 182 is omitted and the communication information acquiring process is terminated.
  • Step S 176 or S 178 If it is determined at Step S 176 or S 178 that the service provision packet has not been acquired, the communication information acquisition processing unit 65 proceeds to the process at Step S 182 to execute the error process and thereafter terminates the communication information acquiring process.
  • the communication information acquisition processing unit 65 of the local communication apparatus 11 supplies the same service request packet to both of the apparatus service providing apparatuses 51 and 52 and acquires the service provision packets from both of the apparatuses.
  • the relay apparatus 12 assigns the same port to the local communication apparatus independently of the address port information of the communication destination of the local communication apparatus 11 , i.e., if NAPT translation translates the transmission source address port information acquired from the local communication apparatus 11 into the same global address port information independently of the address port information of the communication destination, then the address port information contained in the service provision packet supplied from the apparatus service providing apparatus 51 is the global address port information corresponding to the local communication apparatus 11 even for the next communication.
  • the relay apparatus 12 increases by one (increments) the port number assigned to the local communication apparatus 11 each time the address port information of the communication destination of the local communication apparatus 11 changes, the address port information contained in the service provision packet supplied from the apparatus service providing apparatus 51 does not become the global address port information corresponding to the local communication apparatus 11 for the next communication.
  • the communication information acquisition processing unit 65 of the local communication apparatus 11 acquires the service provision packets from both of the two apparatus service provision apparatuses 51 and 52 having different address port information, calculates the difference value between two pieces of the global address port information contained in the service provision packets, and adds the difference value to the global address port information obtained by later communication with the apparatus service providing apparatus 52 to predict (estimate) the global address port information for the next communication.
  • the local communication apparatus 11 can predict (estimate) the global address port information corresponding to the local communication apparatus 11 for the next communication, so that relay apparatuses of a larger number of types can be dealt with.
  • the local communication apparatus 31 using the IM service executes a communication information acquiring process similar to the process described above. Therefore, the flow chart of FIG. 15 , user identifying screen of FIG. 16 and the example of the service request packet of FIG. 17 can be applied to the communication information acquiring process by the local communication apparatus 31 , and so the description thereof is omitted.
  • Step S 191 the user registration information management processing unit 155 of the user service providing apparatus 41 controls the communication unit 174 to determine whether the request for communication information supplied at Step S 174 of FIG. 15 from the local communication apparatus 11 or 31 has been acquired, and stands by until it is determined that the request has been acquired.
  • Step S 192 the user registration information management processing unit 155 updates the communication destination global address port information in the user registration information stored in the user registration information database 177 , such as shown in FIG. 19 , and corresponding to the communication information request source.
  • the user registration information 310 registered in the user registration information database 177 includes a user ID 311 , predicted communication source global address port information (predicted communication source Glo-IP-port) 312 which is the global address port information of the predicted (estimated) communication source, and communication destination address port information (communication destination Glo-IP-port) 313 which is the global address port information of a communication destination desired by the user, these user IDs and information being stored in relation to each other.
  • predicted communication source global address port information predicted communication source Glo-IP-port
  • communication destination address port information communication destination Glo-IP-port
  • the communication destination global address port information 313 is the global address port information of the communication partner side desired by the user corresponding to the user ID 311 of the user registration information, whereas the predicted communication source global address port information 312 is the global address port information of the user side corresponding to the user ID 311 of the user registration information.
  • global address port information “ppp.qqq.nr.sss.ttt” of the relay apparatus 12 predicted (estimated) to be used for communication with the local communication apparatus 11 is registered in a predicted communication source global address port 312 corresponding to the user ID “AAA-usr”, and an instruction “predicted communication source global address port information of BBB-usr” is registered in a predicted communication destination global address port 313 corresponding to the user ID “AAA-usr”, in order that the global address port information of the relay apparatus 32 predicted (estimated) to be used for communication with the local communication apparatus 31 (i.e., predicted global address port information of BBB-user) is applied.
  • the user registration information management processing unit 155 updates the communication global address port information 313 contained in the user registration information 310 .
  • the process corresponds to the process at Step S 27 of FIG. 7 .
  • the local communication apparatus 11 or 31 which acquired the service providing packet requests registration of the communication source global address port information by the process at Step S 180 of FIG. 15 .
  • Step S 193 the user registration information management processing unit 155 controls the communication unit 174 to determine whether the request for registration of the communication source global address port information has been acquired.
  • Step S 194 the user registration information management processing unit 155 updates the communication source global address port information of the user registration information corresponding to the user which requested the registration of the communication source global address information, at Step S 195 , based on the instruction registered in the communication destination global address port information 313 of the user registration information of the user, acquires the user registration information of the communication destination from the user registration information database 177 , and at Step S 196 supplies the communication information of the communication destination.
  • Step S 197 the user registration information management processing unit 155 determines whether the information providing process is to be terminated. If it is determined that the information providing process is not to be terminated, the process returns to Step S 191 to repeat the succeeding processes. If it is determined at Step S 197 that the information providing process is to be terminated, at Step S 198 the user registration information management processing unit 155 executes an end process to terminate the information providing process.
  • Step S 193 If it is determined at Step S 193 that the request for registration of the communication source global address port information has not been acquired, the user registration information management processing unit 155 proceeds to Step S 199 whereat an error process is executed to thereafter return to the process at Step S 197 to repeat the succeeding processes.
  • the user service providing apparatus 41 also executes an information providing process similar to that described above for the communication information acquiring process of the local communication apparatus 31 , and manages the global address port information in response to a request from the local communication apparatus 31 .
  • the user service providing apparatus 41 manages the global address port information necessary for communications between local communication apparatuses, and supplies the information in response to a request from the local communication apparatus 11 or 31 . Accordingly, the local communication apparatus 11 or 31 can conduct communication easily even via the relay apparatus performing NAPT translation.
  • the address port information provision processing unit 204 of the apparatus service providing apparatus 51 controls the communication unit 224 to determine whether the service request packet supplied from the local communication apparatus 11 or 31 in the process at Step S 175 of FIG. 15 has been acquired, and stands by until it is determined that the packet has been acquired.
  • the address port information provision processing unit 204 proceeds the process to Step S 212 whereat it generates a service providing packet, such as shown in FIG. 21 .
  • the service providing packet 321 consists of a MAC packet for communication at the data link layer.
  • the service providing packet 321 consists of a MAC header 322 and a MAC payload 323 .
  • the MAC payload 323 consists of an IP packet for communication at the network layer and includes an IP header 324 and an IP payload 325 .
  • the IP header 324 includes a protocol number 326 , a transmission source IP address 327 and a transmission destination IP address 328 .
  • the protocol number is an identifier indicating that the service providing packet 321 is a packet corresponding to the service provided by the apparatus service providing apparatus 51 .
  • the transmission source IP address is data representative of an IP address (in this case, the global address of the apparatus service providing apparatus 51 ) of the transmission source of the service providing packet.
  • the transmission destination IP address is data representative of an IP address (in this case, the global address of the relay apparatus 12 or 32 ) of the transmission destination of the service providing packet.
  • the IP payload 325 consists of a UDP packet for communication at the transport layer, and includes a UDP header 329 and a UDP payload 330 .
  • the UDP header 329 includes a transmission source port number 331 and a transmission destination port number 332 .
  • the transmission source port number is data representative of the port number of the transmission source (i.e., the port number of the apparatus service providing apparatus 51 ) used when the service providing packet is transmitted, and an identifier indicating that the service providing packet 321 is a packet corresponding to the services provided by the service providing apparatus 51 .
  • the transmission destination port number is data representative of the port number of the transmission destination (i.e., the port number of the relay apparatus 12 ) of the service providing packet 321 .
  • the UDP payload 330 consists of a STUN packet for communication using a STUN protocol, and includes a STUN header 333 and a STUN payload 334 .
  • the STUN header 333 includes a STUN message type 335 and a transaction ID 336 .
  • the STUN message type is an identifier indicating that this packet contains a request based upon the STUN protocol and that the service providing packet 321 is a packet corresponding to the service provided by the apparatus service providing apparatus 51 .
  • the transaction ID is used for identifying a transaction.
  • the STUN payload 334 contains a transmission source port number 337 of the service request packet and a transmission source IP address 338 of the service request packet As described above, the transmission source IP address 338 and transmission source port number 337 contained in the service request packet 281 acquired by the apparatus service providing apparatus 51 indicate the global address and port number, respectively, of the relay apparatus 12 .
  • the transmission source port number 337 of the service request packet indicates the global port number of the relay apparatus 12
  • the transmission source IP address 338 indicates the global address of the relay apparatus 12 .
  • the apparatus service providing apparatus 51 acquires the global address port information of the relay apparatus 12 (corresponding to the local communication apparatus 11 ) from the service request packet, and generates the service providing packet which contains the acquired global address port information.
  • Step S 213 the apparatus service providing apparatus 51 supplies the generated service providing packet to the requesting local communication source apparatus 11 via the network 21 .
  • This process corresponds to the process at Step S 63 of FIG. 8 .
  • Step S 214 the apparatus service providing apparatus 51 determines whether the information providing process is to be terminated. If it is determined that the information providing process is not to be terminated, the process returns to Step S 211 to repeat the succeeding processes.
  • the apparatus service providing apparatus 51 proceeds to Step S 215 to execute an end process and terminate the information providing process.
  • the apparatus service providing apparatus 52 executes an information providing process similar to that for the apparatus service providing apparatus 51 . Therefore, for the details of the information providing process by the apparatus service providing apparatus 52 , the flow chart of FIG. 20 can be adopted, and for the structure of the service providing packet provided by the information providing process, FIG. 21 can be adopted, and so the descriptions thereof are omitted.
  • the apparatus service providing apparatuses 51 and 52 execute an information providing process similar to that described above for the communication information acquiring process of the local communication apparatus 31 , and supplies the service providing packet in response to a request from the local communication apparatus 31 .
  • the local communication apparatus 11 or 31 acquires the service providing packets from the apparatus service providing apparatuses 51 and 52 and predicts (estimates) the global address port information for the next communication.
  • the relay apparatus 12 is of the increment type that each time the address port information of the communication destination of the local communication apparatus 11 changes, the relay apparatus 12 increases by 1 (increments) the port number corresponding to the local communication apparatus 11 , and that the relay apparatus 32 is also of the increment type.
  • the local communication apparatus 11 supplies a service request packet first to the apparatus service providing apparatus 51 .
  • the relay apparatus 12 NAPT-translates the communication source address port information of the service request packet using a port 342 - 1 .
  • the apparatus service providing apparatus 51 supplies the service providing packet for the service request packet to the local communication apparatus 11 via the port 342 - 1 of the relay apparatus 12 .
  • the local communication apparatus 11 supplies a service request packet to the apparatus service providing apparatus 52 .
  • the relay apparatus 12 NAPT-translates the communication source address port information of the service request packet using a port 342 - 2 by increasing the port number by 1, because the address port information of the apparatus service providing apparatus 51 is different from the address port information of the apparatus service providing apparatus 52 .
  • the apparatus service providing apparatus 52 supplies the service providing packet for the service request packet to the local communication apparatus 11 via the port 342 - 2 of the relay apparatus 12 .
  • the local communication apparatus 11 acquires the global address information from the acquired service providing packets, and calculates a difference value between two pieces of the global address information, i.e., calculates a change amount in the port numbers used by the relay apparatus 12 .
  • the difference value is “1”.
  • the local communication apparatus 11 adds a value “1” to the port number of the port 342 - 2 used for later communication with the apparatus service providing apparatus 52 , and predicts (estimates) that the port 342 - 3 is the port to be used by the relay apparatus 12 for the next communication.
  • the local communication apparatus 11 adds the value “2” to the port number of the port 342 - 2 used for later communication with the apparatus service providing apparatus 52 , and predicts (estimates) that the port 342 - 4 is the port to be used by the relay apparatus 12 for the next communication
  • the local communication apparatus 11 adds the value “3” to the port number of the port 342 - 2 used for later communication with the apparatus service providing apparatus 52 , and predicts (estimates) that the port 342 - 5 is the port to be used by the relay apparatus 12 for the next communication.
  • the same port e.g., port 342 - 1
  • the local communication apparatus 11 predicts (estimates) that the same port (e.g., 342 - 1 ) is also to be used for the next communication.
  • the local communication apparatus 31 acquires the global address port information for the next communication from the two service providing packets supplied from the apparatus service providing apparatuses 51 and 52 .
  • the apparatus service providing apparatuses 51 and 52 generate service providing packets each containing the global address and port number of the relay apparatus 12 , and supply them to the local communication apparatus 11 .
  • the local communication apparatus 11 can therefore predict and (estimate) the global address port information of the relay apparatus 12 for the next communication, and can readily supply this information to the user service providing apparatus 41 .
  • the local communication apparatus 11 having completed the process at Step S 10 proceeds to Step S 11 of FIG. 10 to execute a master/slave judgment process of determining whether the local communication apparatus 11 has a master roll taking the initiative in communication with the local communication apparatus 31 or has a slave roll passing the initiative in communication to the communication partner.
  • the local communication apparatus 31 also executes the master/slave judgment process at Step S 51 of FIG. 10 .
  • the master may be either one of the local communication apparatuses 11 and 31 .
  • the local communication apparatus 11 determined to be the master executes a communication start algorithm for requesting a communication start, in order to connect the local communication apparatus 31 . Namely, the local communication apparatus 11 proceeds with the process to Step S 12 to start supplying a plurality of open request packets. Similarly, the local communication apparatus 31 determined to be the slave proceeds to Step S 52 to start supplying a plurality of open request packets.
  • the address port information of the relay apparatus 32 on the communication partner side, capable of communicating with the local communication apparatus 31 is identified. Then, the local communication apparatus 11 as the master proceeds to Step S 13 to supply an open maintenance packet to the local communication apparatus 31 using the identified address port information.
  • Step S 53 after the local communication apparatus 31 as the slave acquires the open maintenance packet from the local communication apparatus 11 , the local communication apparatus 31 proceeds to Step S 54 whereat it is determined that the communication with the local communication apparatus 11 has become open, and at Step S 55 the open maintenance packet is supplied to the local communication apparatus 11 .
  • Step S 15 As the local communication apparatus 11 acquires the open maintenance packet supplied from the local communication apparatus 31 at Step S 14 , it is determined at Step S 15 that the communication with the local communication apparatus 31 has become open.
  • the local communication apparatuses 11 and 31 process transmission/reception packets based on the UDP/IP protocol system using STUN, RTP, RTCP or the like.
  • the local communication apparatus 11 executes a communication start request process to be described below to determine the port number of the transmission source (local communication apparatus 11 ) and the port number of the transmission destination (relay apparatus 32 ) to generate the open request packet.
  • variable numSrcPriPort is the number of private ports used for transmitting from the local communication apparatus the open request packet for requesting a communication start with the communication partner
  • variable numDstGloPort is the number of global ports designated as the transmission destination of the open request packet, among the ports of the relay apparatus on the communication partner side.
  • variable timeSendInterval is the interval of transmission of each packet from the local communication apparatus, and the variable is MasterFlag indicates whether the local communication apparatus is the master (slave).
  • the inter-local communication control unit 66 of the local communication apparatus 11 substitutes a value “0” in variables i and j.
  • the inter-local communication control unit 66 retains as the variable Base-Glo-port the value of a variable Glo-port representative of the global port number of the relay apparatus 32 on the transmission destination side, and retains as the variable Base-Pri-port a variable Pri-port representative of the private port number of the local communication apparatus 11 of the transmission source.
  • Used as the initial value of the variable Glo-port is the port number of the communication destination global address information contained in the communication destination communication information acquired at Step S 181 of FIG. 15 .
  • the initial value of the variable Glo-port may be a value different from this initial port number calculated in a predetermined manner by using the initial port number.
  • Step S 233 the inter-local communication control unit 66 determines whether the value of the variable i is smaller than the variable numSrcPriPort. If it is determined that all predetermined ports of the local communication apparatus 11 are not processed and the value of the variable i is smaller than the variable numSrcPriPort, the inter-local communication control unit 66 proceeds to Step S 234 whereat the value of the variable i is added to the value of the variable Base-Pri-port and this addition result is substituted in the variable Pri-port.
  • Step S 235 the inter-local communication control unit 66 determines whether the value of the variable j is smaller than the variable numDstGloPort. If it is determined to be smaller, at Step S 236 the value of the variable j is added to the variable Base-Glo-port and this addition result is substituted in the variable Glo-port.
  • Step S 237 the inter-local communication control unit 66 generates the open request packet by using the value of the variable Pri-port as the port number of the transmission source and the value of the variable Glo-port as the port number of the transmission destination, and controls the communication unit 84 to supply the generated open request packet to the relay apparatus 32 via the relay apparatus 12 .
  • the inter-local communication control unit 66 proceeds to Step S 238 whereat it stands by for a predetermined time timeSendInterval and then proceeds to Step S 239 .
  • Step S 239 the inter-local communication control unit 66 substitutes a value (j+1) in the variable j, and at Step S 240 determines whether a termination request of the open request packet has been output. If it is determined that the termination request has been output, the communication request process is terminated.
  • Step S 233 If it is determined at Step S 233 that the value of the variable i is not smaller than the variable numSrcPriPort, the inter-local communication control unit 66 terminates the communication start request process.
  • Step S 235 If it is determined at Step S 235 that the value of the variable j is not smaller than the variable numDstGloPort, the inter-local communication control unit 66 proceeds to Step S 241 whereat the value “0” is substituted in the variable j, and at Step S 242 a value (i+1) is substituted in the variable i, and thereafter the process is returned to Step S 233 to repeat the succeeding processes.
  • Step S 240 If it is determined at Step S 240 that a termination request of the open request packet has not been output, the inter-local communication control unit 66 returns the process to Step S 235 to repeat the succeeding processes.
  • the inter-local communication control unit 66 executes the communication start request algorithm, determines the port numbers of the transmission source and destination, and generates and supplies (numSrcPriPort ⁇ numDstGloPort) open request packets.
  • the inter-local communication apparatus 11 supplies the packet to a communication destination apparatus 351 via the relay apparatus 12 - 1 and a global network 350 , and if the relay apparatus 12 - 1 is of the reuse type of relay apparatus which assigns the same port 362 - 1 to the local communication apparatus 11 even if the communication destination address port information has changed, the communication destination apparatus 351 can communicate with the local communication apparatus 11 by responding to the port 362 - 1 .
  • the relay apparatus 12 - 2 is of the increment type of relay apparatus which assigns a different port each time the communication destination address port information changes (port 363 - 1 to 363 - 5 ), the relay apparatus 12 - 2 changes use ports ( 362 - 1 to 362 - 5 ) for the communication destination ports.
  • the communication destination apparatus 351 since the communication destination apparatus 351 does not have the information necessary for selecting a port capable of being supplied to the local communication apparatus 11 , the port number of the relay apparatus 12 supplying a response cannot be identified.
  • the local communication apparatus 11 cannot determine which port of the relay apparatus 32 is accessed in order to communicate with the local communication apparatus 31 .
  • the inter-local communication control unit 66 executes the communication start request algorithm to generate open request packets for a plurality of ports near the global port number of the relay apparatus which are predicted (estimated) as being capable of communications, and controls the communication unit 84 to supply a plurality of generated open request packets to the relay apparatus 32 .
  • the local communication apparatus 31 executes similar processes.
  • the local communication apparatus 31 as the slave uses the transmission source address port information of the open request packets transmitted from the local communication apparatus 11 and was able to be received, to thereby adjust the transmission destination address port information of the open request packets to be transmitted, in order to allow the local communication apparatus 11 to receive the open request packets.
  • the local communication apparatuses 11 and 31 acquire transmission/reception open request packets so that the port number of the communication destination relay apparatus to be accessed can be identified easily.
  • the local communication apparatus 11 or 31 identifies the port number of the communication destination to be accessed by using the above-described open request packets, and transmits/receives the open maintenance packet to make the communication open and established, as previously described with reference to FIG. 10 .
  • the inter-local communication control unit 66 of the local communication apparatus 11 controls the communication unit 84 to determine whether the packet has been acquired from the exterior. If it is determined that the packet has been acquired, at Step S 262 the inter-local communication control unit 66 analyzes the acquired packet and at Step S 263 determines whether the transmission source address port information of the acquired packet coincides with the transmission destination address port information of the open request packet transmitted from the local communication apparatus 11 .
  • Step S 264 the identification information of the acquired packet is checked to determine whether the acquired packet is the open request packet.
  • the inter-local communication control unit 66 retains the transmission source address port information of the acquired packet and at Step S 266 requests termination of the open request packet to the above-described communication open request process.
  • the inter-local communication control unit 66 which requested termination of the open request packet proceeds to Step S 271 of FIG. 27 whereat it generates the open maintenance packet, and at Step S 272 supplies the generated open maintenance packet to the communication partner local communication apparatus 31 via the relay apparatus 12 .
  • the local communication apparatus 31 supplies the open maintenance packet to the local communication apparatus 11 .
  • Step S 273 the inter-local communication control unit 66 determines whether the transmission source address port information of the acquired packet coincides with the transmission destination address port information of the open maintenance packet transmitted from the local communication apparatus 11 .
  • Step S 274 the inter-local communication control unit 66 proceeds to Step S 274 to check the identifier contained in the acquired packet and determine whether the acquired packet is the open maintenance packet.
  • Step S 275 the transmission source address port information of the acquired packet is retained, at Step S 276 it stands by for a predetermined time, and thereafter at Step S 277 it generates the open maintenance packet, and supplies the generated open maintenance packet at Step S 278 .
  • the inter-local communication control unit 66 executes the processes of Steps S 273 and S 274 to determine whether the communication with the local communication apparatus 31 has become open. It is determined at Step S 273 whether the transmission source address port information of the acquired packet coincides with the transmission destination address port information of the open maintenance packet, and if it is determined at Step S 274 that the acquired packet is the open maintenance packet, the inter-local communication control unit 66 determines that communication with the local communication apparatus 31 has become open, and supplies the open maintenance packet to the local communication apparatus 31 by the process at Step S 275 and succeeding processes.
  • Step S 279 the inter-local communication control unit 66 determines whether the communication establishing process is to be terminated. If it is determined that the process is not to be terminated, the process returns to Step S 276 to repeat the succeeding processes. If it is determined at Step S 279 that the communication establishing process is to be terminated, at Step S 280 the inter-local communication control unit 66 executes a predetermined end process to terminate the communication establishing process.
  • Step S 261 of FIG. 26 If it is determined at Step S 261 of FIG. 26 that the packet has not been acquired, if it is determined at Step S 263 that the transmission source address port information of the acquired packet does not coincide with the transmission destination address port information of the open request packet, or if it is determined at Step S 264 that the acquired packet is not the open request packet, then the inter-local communication control unit 66 proceeds to Step S 267 whereat it is determined whether the communication establishing process is to be terminated. If it is determined that the process is not to be terminated, the process returns to Step S 261 to repeat the succeeding processes.
  • Step S 267 If it is determined at Step S 267 that the communication establishing process is to be terminated, the inter-local communication control unit 66 proceeds to Step S 280 of FIG. 27 whereat the end process is executed to terminate the communication establishing process.
  • Step S 273 of FIG. 27 If it is determined at Step S 273 of FIG. 27 that the transmission source address port information of the acquired packet does not coincide with the transmission destination address port information of the open maintenance packet, or if it is determined at Step S 274 that the acquired packet is not the open maintenance packet, the inter-local communication control unit 66 proceeds to Step S 281 whereat it is determined whether the communication establishing process is to be terminated. If it is determined that the process is not to be terminated, the process returns to Step S 271 to repeat the succeeding processes.
  • Step S 281 If it is determined at Step S 281 that the communication establishing process is to be terminated, the inter-local communication control unit 66 proceeds to Step S 280 whereat the end process is executed to terminate the communication establishing process.
  • the inter-local communication control unit 66 of the local communication apparatus 11 controls the communication unit 84 to determine whether the packet has been acquired from the exterior. If it is determined that the packet has been acquired, at Step S 302 the inter-local communication control unit 66 analyzes the acquired packet and at Step S 303 determines whether the transmission source address port information of the acquired packet coincides with the transmission destination address port information of the open request packet transmitted from the local communication apparatus 11 .
  • Step S 304 the identification information of the acquired packet is checked to determine whether the acquired packet is the open request packet.
  • Step S 305 the inter-local communication control unit 66 retains the transmission source address port information of the acquired packet and at Step S 306 changes the transmission destination address port information of the open request packet to be transmitted, and proceeds to Step S 311 of FIG. 29 whereat the communication unit 84 is controlled to determine whether the open maintenance packet has been acquired.
  • the inter-local communication control unit 66 determines that communication with the local communication apparatus 31 has become open, at Step S 312 retains the communication source address port information of the acquired open maintenance packet, at Step S 313 requests termination of the open request packet to the communication start request process, at Step S 314 generates the open maintenance packet, at Step S 315 supplies the generated open maintenance packet to the communication partner local communication apparatus 31 via the relay apparatus 12 , at Step S 316 stands by for a predetermined time, and thereafter at Step S 317 determines whether the communication establishing process is to be terminated. If it is determined that the process is not to be terminated, the process returns to Step S 314 to repeat the succeeding processes.
  • Step S 317 If it is determined at Step S 317 that the communication establishing process is to be terminated, at Step S 318 the inter-local communication control unit 66 executes an end process to terminate the communication establishing process.
  • Step S 311 If it is determined at Step S 311 that the open maintenance packet has not been acquired, the inter-local communication control unit 66 proceeds to Step S 319 whereat it is determined whether the communication establishing process is to be terminated. If it is determined that the process is not to be terminated, the process returns to Step S 301 of FIG. 28 to repeat the succeeding processes.
  • Step S 319 of FIG. 29 If it is determined at Step S 319 of FIG. 29 that the communication establishing process is to be terminated, the inter-local communication control unit 66 proceeds to Step S 318 to terminate the communication establishing process.
  • the local communication apparatus 31 also executes the communication establishing process by referring to the flow charts of FIGS. 26 to 29 , and so the description thereof is omitted.
  • the local communication apparatus 11 supplies the open maintenance packet relative to the address port information identified by the open request packet to thereby establish communications.
  • the local communication apparatus 11 or 31 can easily communicate with the communication partner 31 or 11 even if the communications are performed by the relay apparatuses 12 and 32 having the NAPT translation function.
  • a UDP packet 370 includes a header field (Message Header) 371 and a data field (Message Attribute) 372 and consists of 28 bytes.
  • the header field 371 consists of a message type 373 of 2 bytes, a message length 374 of 2 bytes and a transaction ID 375 of 16 bytes.
  • the data field 372 consists of a data payload 376 of 8 bytes.
  • the local communication apparatuses 11 and 31 and apparatus service providing apparatuses 51 and 52 transfer various messages.
  • the message to be transferred in the above-described processes will be described. The description will be made when necessary with reference to FIGS. 32 to 36 .
  • the processes to be executed by the apparatus service providing apparatus 52 are similar to those of the apparatus service providing apparatus 51 , the description thereof is omitted.
  • Step S 331 of FIG. 31 the local communication apparatus 11 supplies as the service request packet a mapped address inquiry message of the STUN message, such as shown in FIG. 32 , to the apparatus service providing apparatus 51 .
  • This process corresponds to Step S 4 of FIG. 8 .
  • the data field 372 of the UDP packet 370 as the service request packet includes a message type 381 , a data length 382 and a message value 383 .
  • the value of the type is “0x0001” representative of a mapped address
  • the data length 382 indicates that the message is 4 bytes (0x0004)
  • the message value 383 is “0x00000000”.
  • Step S 351 the apparatus service providing apparatus 51 acquires the mapped address inquiry message at Step S 351 , and supplies an answered mapped address message of the STUN message, such as shown in FIG. 33 , to the local communication apparatus 11 at Step S 352 .
  • Step S 61 and S 63 of FIG. 8 These processes correspond to Steps S 61 and S 63 of FIG. 8 .
  • the data field 372 of the UDP packet 370 as the service providing packet providing the address port information of the relay apparatus 12 includes a padding 391 , a family 392 , a port 393 and an address 394 .
  • the value of the padding 391 is “0x0001”
  • the family 392 indicates the address port information of “IPv4” (0x01)
  • the port 393 and address 394 indicate the address port information of the relay apparatus 12 .
  • Step S 332 the local communication apparatus 11 acquires the UDP packet containing the above-described STUN messages.
  • the local communication apparatus 31 supplies the service request packet shown in FIG. 32 to the apparatus service providing apparatus 51 .
  • the apparatus service providing apparatus 51 supplies the service providing packet, such as shown in FIG. 33 , to the local communication apparatus 31 at Step S 354 .
  • the local communication apparatus 31 acquires the service providing packet.
  • Step S 333 the local communication apparatus 11 supplies as the open request packet an opening port notification message of the STUN message, such as shown in FIG. 34 , to the local communication apparatus 31 .
  • This process corresponds to Step S 12 of FIG. 10 .
  • the type 381 in the data field 372 of the UDP packet 370 as the open request message indicates a flags request of the STUN message (0x0003), and the data length 382 is 4 bytes (0x0004).
  • the local communication apparatus 31 acquires the open request packet. Similarly, at Step S 374 the local communication apparatus 31 supplies the open request packet, such as shown in FIG. 34 , to the local communication apparatus 11 which acquires the open request packet at Step S 334 .
  • Step S 335 the local communication apparatus 11 supplies as the open maintenance packet a keep-alive message of the STUN message, such as shown in FIG. 32 . Similar to the mapped address inquiry message, the keep-alive request message uses the mapped address request of the STUN message. This process corresponds to Step S 13 of FIG. 10 .
  • the local communication apparatus 31 acquires the open maintenance packet at Step S 375 , the local communication apparatus 31 supplies at Step S 376 as the open maintenance packet a keep-alive response message of the STUN message, such as shown in FIG. 33 . Similar to the answered mapped address message, the keep-alive response message uses the mapped address message of the STUN message. This process corresponds to Step S 55 of FIG. 10 .
  • the local communication apparatus 11 supplies as the open maintenance packet for maintaining the open communication a heartbeat message of the STUN message, such as shown in FIG. 34 . Similar to the opening port notification message, the heartbeat message uses the flags request of the STUN message. In this case, the message value 383 is “1” for bitA and bitB, and “0” for other cases (0x00000005).
  • the local communication apparatus 31 acquires the open maintenance packet.
  • the local communication apparatus 31 supplies the open maintenance packet to the local communication apparatus 11 which in turn acquires the open maintenance packet at Step S 338 .
  • the transaction ID 375 in the header field 371 has the value such as shown in FIG. 35
  • the transaction ID 375 in the heartbeat message has the value such as shown in FIG. 36 .
  • the service request packet, service providing packet, open request packet and open maintenance packet may obviously be packets having a structure different from the above-described structure, and protocols other than the STUN protocol may be used.
  • the local communication apparatuses 11 and 31 acquire the predicted (estimated) address port information of the transmission destination by using the service request packet and service providing packet, supply a plurality of open request packets based on the address port information to search a port enabling actual communication to become open, and maintain the port by the open maintenance packet. In this manner, even in communications via the relay apparatuses, the local communication apparatuses 11 and 31 can conduct communications in a network system consisting of already existing facilities.
  • the relay apparatus on the local communication apparatus 11 side is a relay apparatus 12 - 1 of the reuse type
  • the relay apparatus on the local communication apparatus 31 side is a relay apparatus 32 - 1 of the reuse type.
  • the relay apparatus 12 - 1 relays the UDP packet supplied from the local communication apparatus 11 by using a port 402 - 1 independently from the address port information of the supply side. Namely, as shown in FIG. 37 , a packet transmitted from the local communication apparatus 11 and having the port number of the transmission source address port information set to a port 401 - 1 of the local communication apparatus is NAPT-translated at the relay apparatus 12 - 1 to translate the port number of the transmission source address port information into the port 402 - 1 , and thereafter supplied to ports 403 - 1 to 403 - 5 of the apparatus service providing apparatus 51 or 52 or the relay apparatus 32 - 1 .
  • the local communication apparatus 11 predicts (estimates) that the relay apparatus 12 - 1 will use the port 402 - 1 for the local communication apparatus 11 for the next communication, i.e., when the open request packet is supplied to the relay apparatus 32 - 1 .
  • the relay apparatus 32 - 1 relays the UDP packet supplied from the local communication apparatus 31 by using a port 403 - 1 independently from the address port information of the supply side. Namely, as shown in FIG. 37 , a packet transmitted from the local communication apparatus 31 and having the port number of the transmission source address port information set to a port 404 - 1 of the local communication apparatus is-NAPT translated at the relay apparatus 32 - 1 to translate the port number of the transmission source address port information into the port 403 - 1 , and thereafter supplied to ports 402 - 1 to 402 - 5 of the apparatus service providing apparatus 51 or 52 or the relay apparatus 12 - 1 .
  • the local communication apparatus 31 predicts (estimates) that the relay apparatus 32 - 1 will use the port 403 - 1 for the local communication apparatus 31 for the next communication, i.e., when the open request packet is supplied to the relay apparatus 12 - 1 .
  • the local communication apparatuses 11 and 31 exchange the predicted address port information by using the user service providing apparatus 41 and utilize the exchanged information as the transmission destination address port information when the open request packet is transmitted.
  • the local communication apparatus 11 supplies the open request packet via the port 403 - 1
  • the local communication apparatus 31 supplies the open request packet via the port 402 - 1 .
  • communications become open via the port 401 - 1 of the local communication apparatus 11 , the port 402 - 1 of the relay apparatus 12 - 1 , the port 403 - 1 of the relay apparatus 32 - 1 and the port 404 - 1 of the local communication apparatus 31 .
  • the relay apparatus on the local communication apparatus 11 side is a relay apparatus 12 - 2 of the increment type that relays by increasing the port number by 1 each time the address port information of the packet supply destination changes
  • the relay apparatus on the local communication apparatus 31 side is a relay apparatus 32 - 2 of the same increment type.
  • the relay apparatus 12 - 2 relays the UDP packet supplied from the local communication apparatus 11 by increasing the port number by 1 each time the supply destination address port information changes. Namely, as shown in FIG. 38 , as the relay apparatus 12 - 2 acquires the service request packet having the transmission source address port information indicating a port 401 - 1 of the local communication apparatus 11 and the transmission destination address port information indicating the apparatus service providing apparatus 51 , the relay apparatus NAPT-translates the service request packet to translate the communication source address into a port 402 - 1 of the relay apparatus 12 - 2 and thereafter supplies it to the apparatus service providing apparatus 51 .
  • the relay apparatus 12 - 2 acquires the service request packet having the transmission source address port information indicating the port 401 - 1 of the local communication apparatus 11 and the transmission destination address port information indicating the apparatus service providing apparatus 52 , the relay apparatus 12 - 2 NAPT-translates the service request packet to translate the transmission source address into a port 402 - 2 of the relay apparatus 12 - 2 and thereafter supplies it to the apparatus service providing apparatus 51 .
  • the local communication apparatus 11 predicts (estimates) that the relay apparatus 12 - 2 will use a port 402 - 3 next to the port 402 - 2 for the local communication apparatus 11 for the next communication, i.e., when the open request packet is supplied to the relay apparatus 32 - 2 .
  • the relay apparatus 32 - 2 executes the processes similar to the case of the above-described relay apparatus 12 - 2 to relay the UDP packet supplied from the local communication apparatus 31 by increasing the port number by 1 each time the supply destination address port information changes.
  • the local communication apparatus 31 predicts (estimates) that the relay apparatus 32 - 2 will use a port 403 - 3 next to the port 403 - 2 for the local communication apparatus 31 for the next communication, i.e., when the open request packet is supplied to the relay apparatus 12 - 2 .
  • the local communication apparatuses 11 and 31 exchange the predicted address port information by using the user service providing apparatus 41 and utilize the exchanged information as the transmission destination address port information when the open request packet is transmitted.
  • the local communication apparatus 11 supplies the open request packet via the port 403 - 3
  • the local communication apparatus 31 supplies the open request packet via the port 402 - 3 .
  • communications become open via the port 401 - 1 of the local communication apparatus 11 , the port 402 - 3 of the relay apparatus 12 - 1 , the port 403 - 3 of the relay apparatus 32 - 2 and the port 404 - 1 of the local communication apparatus 31 .
  • the local communication apparatuses 11 and 31 can make the communications readily become open even via NAPT.
  • the relay apparatus of the increment type relays by increasing the port number by 1 each time the address port information of the packet supply destination changes
  • the invention is not limited thereto, and the number of port numbers to be increased by the relay apparatus may be two or more.
  • the communication start request algorithm to be executed by the master side communication apparatus and the communication start request algorithm to be executed by the slave side communication apparatus may contain different processes.
  • the inter-local communication control unit 66 of the local communication apparatus 11 determines whether the local communication apparatus 11 is the master of communications. If it is determined as the master, at Step S 392 a second communication request process is executed as the communication start request algorithm. The details of the second communication start request process will be described later with reference to the flow chart of FIG. 40 .
  • the inter-local communication control unit 66 that executes the process at Step S 392 terminates the control process.
  • Step S 391 If it is determined at Step S 391 that the local communication apparatus 11 is the slave, the inter-local communication control unit 66 proceeds to Step S 393 whereat a first communication request process similar to the flow chart shown in FIG. 23 is executed as the communication start request algorithm. Since the flow chart of FIG. 23 can be adopted, a description of the details of the first communication start request process is omitted.
  • the inter-local communication control unit 66 that executes the process at Step S 393 terminates the control process.
  • the inter-local communication control unit 66 of the local communication apparatus 11 substitutes a value “0” in the variables i and j.
  • the inter-local communication control unit 66 retains as the variable Base-Glo-port the value of the variable Glo-port representative of the global port of the relay apparatus 12 on the transmission destination side, and retains as the variable Base-Pri-port the variable Pri-port representative of the port of the local communication apparatus 11 .
  • the inter-local communication control unit 66 determines whether the value of the variable i is smaller than the variable numSrcPriPort. If it is determined that the value of the variable i is smaller than the variable numSrcPriPort, the inter-local communication control unit 66 proceeds to Step S 414 whereat the value of the variable i is added to the value of the variable Base-Pri-Port and this addition result is substituted in the variable Pri-port.
  • the inter-local communication control unit 66 determines whether the value of the variable j is smaller than twofold the variable numDstGloPort. If it is determined to be smaller, at Step S 416 the value of the variable j is added to the variable Base-Glo-Port and this addition result is substituted in the variable Glo-port.
  • the inter-local communication control unit 66 generates the open request packet by using the value of the variable Pri-port as the port number of the transmission source and the value of the variable Glo-port as the port number of the transmission destination, and controls the communication unit 84 to supply the generated open request packet to the relay apparatus 32 via the relay apparatus 12 .
  • the inter-local communication control unit 66 proceeds to Step S 418 and stands by for a predetermined time timeSendInterval. Thereafter at Step S 419 a value (j+2) is substituted in the value of the variable j, and at Step S 420 it is determined whether a termination request of the open request packet has been output in response to a user operation or the like. If it is determined that the termination request has been output, the second communication start request process is terminated to terminate the control process of FIG. 39 .
  • Step S 413 If it is determined at Step S 413 that the value of the variable i is not smaller than the variable numSrcPriPort, the inter-local communication control unit 66 terminates the second communication start request process to terminate the control process of FIG. 39 .
  • Step S 415 If it is determined at Step S 415 that the value of the variable j is not smaller than twofold of the variable numSrcDstPort, the inter-local communication control unit 66 proceeds to Step S 421 whereat the value “0” is substituted in the variable j, and to Step S 422 whereat a value (i+1) is substituted in the variable i, and thereafter the process is returned to Step S 413 to repeat the succeeding processes.
  • Step S 420 If it is determined at Step S 420 that the termination request of the open request packet has not been output, the inter-local communication control unit 66 returns the process to Step S 415 to repeat the succeeding processes.
  • the inter-local communication control unit 66 supplies open request packets to a consecutive port group of the relay apparatus 32 on the communication destination side, at every second port starting from the predicted (estimated) port number (supplies open request packets by shifting the port number by 2). If the local communication apparatus 11 is on the slave side, the inter-local communication control unit 66 supplies open request packets to the ports of the relay apparatus 32 on the communication destination side, by shifting the port number by 1 starting from the predicted (estimated) port number.
  • the local communication apparatus 31 executes the control process similar to the case of the local communication apparatus 11 to execute the communication start request process.
  • the relay apparatus on the local communication apparatus 11 side is a relay apparatus 12 - 2 of the increment type that relays by increasing the port number by 1 each time the address port information of the packet supply destination changes
  • the relay apparatus on the local communication apparatus 31 side is a relay apparatus 32 - 1 of the reuse type.
  • a port of the relay apparatus 12 - 2 predicted (estimated) to be assigned to the local communication apparatus 11 when the open request packet is transmitted from the local communication apparatus 11 is a port 402 - 3 similar to that described with reference to FIG. 38
  • a port of the relay apparatus 32 - 1 predicted (estimated) to be assigned to the local communication apparatus 31 when the open request packet is transmitted from the local communication apparatus 31 is a port 403 - 1 similar to that described with reference to FIG. 37 .
  • the local communication apparatus 11 supplies the open request packet to a plurality of ports at every second port starting from the port 403 - 1
  • the local communication apparatus 31 supplies the open request packet to a plurality of consecutive ports starting from the port 402 - 3 .
  • communications become open via the port 401 - 1 of the local communication apparatus 11 , the port 402 - 3 of the relay apparatus 12 - 2 , the port 403 - 1 of the relay apparatus 32 - 1 and the port 404 - 1 of the local communication apparatus 31 .
  • the relay apparatus on the local communication apparatus 11 side is a relay apparatus 12 - 1 of the reuse type and the relay apparatus on the local communication apparatus 31 side is a relay apparatus 32 - 2 of the increment type that relays by increasing the port number by 1 each time the address port information of the packet supply destination changes.
  • a port of the relay apparatus 12 - 1 predicted (estimated) to be assigned to the local communication apparatus 11 when the open request packet is transmitted from the local communication apparatus 11 is a port 402 - 1 similar to that described with reference to FIG. 37
  • a port of the relay apparatus 32 - 2 predicted (estimated) to be assigned to the local communication apparatus 31 when the open request packet is transmitted from the local communication apparatus 31 is a port 403 - 3 similar to that described with reference to FIG. 38 .
  • the local communication apparatus 11 supplies the open request packet to a plurality of ports at every second port starting from the port 403 - 3
  • the local communication apparatus 31 supplies the open request packet to a plurality of consecutive ports starting from the port 402 - 1 .
  • communications become open via the port 401 - 1 of the local communication apparatus 11 , the port 402 - 1 of the relay apparatus 12 - 1 , the port 403 - 3 of the relay apparatus 32 - 2 and the port 404 - 1 of the local communication apparatus 31 .
  • the local communication apparatuses 11 and 31 can make the communications readily become open even via NAPT.
  • the local communication apparatus as the master supplies the open request packet at every second port number
  • the local communication apparatus as the slave may supply the open request packet in this manner.
  • the local communication apparatus as the master supplies the open request packet at consecutive port numbers.
  • the local communication apparatus as the master and the local communication apparatus as the slave use different algorithms for supplying the open request packet.
  • the local communication apparatus may supply the open request packet to the communication destination relay apparatus at every second or more port numbers.
  • the local communication apparatus may supply the open request packets output from respective ports to the transmission destination apparatus at different ports.
  • the control process by the local communication apparatus 11 in this case. The description will be made when necessary with reference to the flow charts of FIGS. 44 and 45 .
  • the inter-local communication control unit 66 of the local communication apparatus 11 determines whether the local communication apparatus 11 is the master of communications. If it is determined to be the master, at Step S 442 a third communication request process is executed as the communication start request algorithm. The details of the third communication start request process will be described later with reference to the flow chart of FIG. 44 .
  • the inter-local communication control unit 66 that executes the process at Step S 442 terminates the control process.
  • Step S 441 If it is determined at Step S 441 that the local communication apparatus 11 is the slave, the inter-local communication control unit 66 proceeds to Step S 443 whereat a fourth communication request process is executed as the communication start request algorithm.
  • a fourth communication request process is executed as the communication start request algorithm. The details of the fourth communication start request process will be described later with reference to the flow chart of FIG. 45 .
  • the inter-local communication control unit 66 that executes the process at Step S 443 terminates the control process.
  • variable numDstGloPort 2 is the number of open request packets supplied from one port (i.e., the number of ports of the communication destination relay apparatus to which the open request packet is supplied from one port).
  • the inter-local communication control unit 66 of the local communication apparatus 11 substitutes a value “0” in the variables i and j.
  • the inter-local communication control unit 66 retains as the variable Base-Glo-port the value of the variable Glo-port representative of the global port of the relay apparatus 12 , and retains as the variable Base-Pri-port the variable Pri-port representative of the port of the local communication apparatus 11 .
  • Step S 463 the inter-local communication control unit 66 determines whether the value of the variable i is smaller than the variable numSrcPriPort. If it is determined that the value of the variable i is smaller than the variable numSrcPriPort, the inter-local communication control unit 66 proceeds to Step S 464 whereat the value of the variable i is added to the value of the variable Base-Pri-Port and this addition result is substituted in the variable Pri-port.
  • the inter-local communication control unit 66 determines whether the value of the variable j is smaller than (numDstGloPort 2 ⁇ i+numDstGloPort 2 ⁇ 1). If it is determined to be smaller, at Step S 466 the value of the variable j is added to the variable Base-Glo-Port and this addition result is substituted in the variable Glo-port.
  • Step S 467 the inter-local communication control unit 66 generates the open request packet by using the value of the variable Pri-port as the port number of the transmission source and the value of the variable Glo-port as the port number of the transmission destination, and controls the communication unit 84 to supply the generated open request packet to the relay apparatus 32 via the relay apparatus 12 .
  • the inter-local communication control unit 66 proceeds to Step S 468 and stands by for a predetermined time timeSendInterval. Thereafter at Step S 469 a value (j+1) is substituted in the value of the variable j, and at Step S 470 it is determined whether a termination request of the open request packet has been output in response to a user operation or the like. If it is determined that the termination request has been output, the third communication start request process is terminated to terminate the control process of FIG. 43 .
  • Step S 463 If it is determined at Step S 463 that the value of the variable i is not smaller than the variable numSrcPriPort, the inter-local communication control unit 66 terminates the third communication start request process to terminate the control process of FIG. 43 .
  • Step S 465 If it is determined at Step S 465 that the value of the variable j is not smaller than the value of (numDstGloPort 2 ⁇ i+numDstGloPort 2 ⁇ 1), the inter-local communication control unit 66 proceeds to Step S 471 whereat the value “0” is substituted in the variable j, and to Step S 472 whereat a value (i+1) is substituted in the variable i, and thereafter the process is returned to Step S 463 to repeat the succeeding processes.
  • Step S 470 If it is determined at Step S 470 that the termination request of the open request packet has not been output, the inter-local communication control unit 66 returns the process to Step S 465 to repeat the succeeding processes.
  • the inter-local communication control unit 66 of the local communication apparatus 11 substitutes a value “0” in the variables i and j.
  • the inter-local communication control unit 66 retains as the variable Base-Glo-port the value of the variable Glo-port representative of the global port of the relay apparatus 12 , and retains as the variable Base-Pri-port the variable Pri-port representative of the port of the local communication apparatus 11 .
  • Step S 493 the inter-local communication control unit 66 determines whether the value of the variable i is smaller than the variable numSrcPriPort. If it is determined that the value of the variable i is smaller than the variable numSrcPriPort, the inter-local communication control unit 66 proceeds to Step S 494 whereat the value of the variable i is added to the value of the variable Base-Pri-Port and this addition result is substituted in the variable Pri-port.
  • the inter-local communication control unit 66 determines whether the value of the variable j is smaller than ⁇ (numDstGloPort 2 ⁇ 1) ⁇ i+numDstGloPort 2 ⁇ 1 ⁇ . If it is determined to be smaller, at Step S 496 the value of the variable j is added to the variable Base-Glo-Port and this addition result is substituted in the variable Glo-port.
  • Step S 497 the inter-local communication control unit 66 generates the open request packet by using the value of the variable Pri-port as the port number of the transmission source and the value of the variable Glo-port as the port number of the transmission destination, and controls the communication unit 84 to supply the generated open request packet to the relay apparatus 32 via the relay apparatus 12 .
  • the inter-local communication control unit 66 proceeds to Step S 498 and stands by for a predetermined time timeSendInterval. Thereafter at Step S 499 a value (j+1) is substituted in the value of the variable j, and at Step S 500 it is determined whether a termination request of the open request packet has been output in response to a user operation or the like. If it is determined that the termination request has been output, the fourth communication start request process is terminated to terminate the control process of FIG. 43 .
  • Step S 493 If it is determined at Step S 493 that the value of the variable i is not smaller than the variable numSrcPriPort, the inter-local communication control unit 66 terminates the fourth communication start request process to terminate the control process of FIG. 43 .
  • Step S 495 If it is determined at Step S 495 that the value of the variable j is not smaller than the value of ⁇ (numDstGloPort 2 ⁇ 1) ⁇ i+numDstGloPort 2 ⁇ 1 ⁇ , the inter-local communication control unit 66 proceeds to Step S 501 whereat the value (i+1) is substituted in the variable i, and thereafter the process is returned to Step S 493 to repeat the succeeding processes.
  • Step S 500 If it is determined at Step S 500 that the termination request of the open request packet has not been output, the inter-local communication control unit 66 returns the process to Step S 495 to repeat the succeeding processes.
  • the inter-local communication control unit 66 sets a plurality of groups each having (numDstGloPort 2 ⁇ 1) consecutive ports of the relay apparatus 32 of the communication destination and one port, and supplies (numDstPort 2 ⁇ 1) open request packets to different groups of the relay apparatus 32 from each port of the local communication apparatus 11 . If the local communication apparatus 11 is the slave, the inter-local communication control unit 66 sets a plurality of consecutive groups each having (numDstGloPort 2 ⁇ 1) consecutive ports of the relay apparatus 32 of the communication destination, and supplies (numDstPort 2 ⁇ 1) open request packets to different groups of the relay apparatus 32 from each port of the local communication apparatus 11 .
  • the local communication apparatus 31 executes a control process similar to the above-described case of the local communication apparatus 11 to execute the communication start request process.
  • the relay apparatus on the local communication apparatus 11 side is a relay apparatus 12 - 2 of the increment type that relays by increasing the port number by 1 each time the address port information of the packet supply destination changes, and the relay apparatus on the local communication apparatus 31 is also a relay apparatus 32 - 2 of the increment type.
  • a port of the relay apparatus 12 - 2 predicted (estimated) to be assigned to the local communication apparatus 11 when the open request packet is transmitted from the local communication apparatus 11 is a port 402 - 3 similar to that described with reference to FIG. 38
  • a port of the relay apparatus 32 - 2 predicted (estimated) to be assigned to the local communication apparatus 31 when the open request packet is transmitted from the local communication apparatus 31 is a port 403 - 3 similar to that described with reference to FIG. 38 .
  • the local communication apparatus 11 supplies the open request packet to a plurality of consecutive ports starting from the port 403 - 3
  • the local communication apparatus 31 supplies the open request packet to a plurality of consecutive ports starting from the port 402 - 3 .
  • the relay apparatus 32 - 2 on the communication destination side increments the port to be used by passing the port 403 - 3 because of some reason, the port numbers of the communication sources of the open request packet supplied from the local communication apparatus 11 shift by 1. Even in this case, communications become open via the port 401 - 2 of the local communication apparatus 11 , the port 402 - 6 of the relay apparatus 12 - 2 , the port 403 - 7 of the relay apparatus 32 - 2 and the port 404 - 2 of the local communication apparatus 31 .
  • the relay apparatus 12 - 2 on the communication source side increments the port to be used by passing the port 402 - 3 because of some reason, the port numbers of the communication sources of the open request packet supplied from the local communication apparatus 11 shift by 1. Even in this case, communications become open via the port 401 - 2 of the local communication apparatus 11 , the port 402 - 7 of the relay apparatus 12 - 2 , the port 403 - 7 of the relay apparatus 32 - 2 and the port 404 - 2 of the local communication apparatus 31 .
  • the open request packet supplied from each port of the local communication apparatus is supplied to different ports of the communication destination relay apparatus, and the different open request packet supply methods are used for the master and slave.
  • the local communication apparatuses can conduct communications easily in a network system consisting of already existing facilities and in many other cases.
  • the local communication apparatuses it is sufficient if different algorithms for supplying the open request packet are used for the local communication apparatuses as the master and slave. If the local communication apparatus is the master, the fourth communication start request process may be executed, whereas if the local communication apparatus is the slave, the third communication start request process may be executed.
  • variable numSrcPriPort is set to “3” and the value of the variable numSrcPriPort 2 is set to “4”, other values may be set.
  • the inter-local communication control unit 66 supplies (numDstGloPort 2 ⁇ 1) open request packets from each port, whereas if the local communication apparatus 11 is the slave, the inter-local communication control unit 66 supplies (numDstGloPort 2 ⁇ 1) open request packets from each port.
  • the number of open request packets supplied from each port may be equal to or larger or smaller than this value.
  • any other algorithms may be used.
  • a combination of all the first to fourth communication start request processes described above may be used as the communication start request algorithm.
  • Step S 521 the inter-local communication control apparatus 66 of the local communication apparatus 11 executes the first communication start request process similar to that described with reference to the flow chart of FIG. 23 .
  • Step S 522 the inter-local communication control unit 66 determines whether communications have become open by the first communication start request process. If it is determined that communications are not open, the process proceeds to Step S 523 whereat it is determined whether the local communication apparatus 11 is the master.
  • Step S 524 the inter-local communication control unit 66 proceeds to Step S 524 whereat the second communication start request process similar to that described with reference to the flow chart of FIG. 40 is executed.
  • the inter-local communication control unit 66 that completes the first communication start request process proceeds to Step S 526 .
  • Step S 523 If it is determined at Step S 523 that the local communication apparatus 11 is the master of communications, the inter-local communication control unit 66 proceeds to Step S 525 whereat it executes the first communication start request process similar to that at Step S 521 .
  • the inter-local communication control unit 66 that completes the first communication start request process proceeds to Step S 526 .
  • Step S 526 the inter-local communication control unit 66 determines whether communications have become open by the first or second communication start request process. If it is determined that communications are not open, the process proceeds to Step S 527 whereat it is determined whether the local communication apparatus 11 is the master.
  • Step S 528 the inter-local communication control unit 66 proceeds to Step S 528 whereat the third communication start request process similar to that described with reference to the flow chart of FIG. 44 is executed.
  • the inter-local communication control unit 66 that completes the third communication start request process terminates the control process.
  • Step S 527 If it is determined at Step S 527 that the local communication apparatus 11 is the communication slave, the inter-local communication control unit 66 proceeds to Step S 529 to execute the fourth communication start request process similar to that described with reference to the flow chart of FIG. 45 .
  • the inter-local communication control unit 66 that completes the fourth communication start request process terminates the control process.
  • Step S 522 or Step S 526 If it is determined at Step S 522 or Step S 526 that communications have become open, the inter-local communication control unit 66 terminates the control process.
  • the local communication apparatus 11 can conduct communications with the communication partner communication apparatus 31 easily in a network system consisting of already existing facilities and in many other cases.
  • the local communication apparatus 11 executes the control process
  • the local communication apparatus 31 may execute a control process similar to the above-described control process.
  • the control process to be executed by the local communication apparatus 11 and the control process to be executed by the local communication apparatus 31 it is obvious that different combinations of a plurality of communication start request processes and different orders of combinations may be used.
  • the relay apparatus of the communication destination may execute the communication start request process such as that described above.
  • the local communication apparatus 11 connected to the network 21 via the relay apparatus 12 can easily start communicating with the communication apparatus.
  • the local communication apparatus 11 communicates with the local communication apparatus 31 via the two relay apparatuses 12 and 32
  • this is not limiting and communications may be conducted via three or more relay apparatuses.
  • the global port number on the communication partner local communication apparatus 31 side can be predicted so that communications with the local communication apparatus 31 can be conducted easily.
  • the local communication apparatus 11 can predict the global port number on the communication partner local communication apparatus 31 side so that communications with the local communication apparatus 31 can be conducted easily.
  • the local communication apparatus 11 , relay apparatus 12 , local communication apparatus 31 , relay apparatus 32 , user service providing apparatus 41 , apparatus service providing apparatus 51 or apparatus service providing apparatus 52 described above may have a portion or all of the above-described structure integrated with another apparatus, or may consist of a plurality of apparatuses.
  • the apparatus service providing apparatuses 51 and 52 among others are used for describing that the same processes are executed twice, and have different pieces of address port information.
  • a single apparatus service providing apparatus having a plurality of ports may be used by changing ports to be used and repeating the same processes a plurality of times so that processes similar to the above-described processes can be realized easily.
  • the local communication apparatus 11 or 31 supplies the service request packet to the apparatus service providing apparatuses 51 and 52 like Step S 4 and S 6 or Step S 44 and S 46 of FIG. 8 , it is desired to execute in succession (continuously) the processes at Step S 4 and S 6 (or processes at Step S 44 and S 46 ) in order not to permit another communication to be established between two communications.
  • the local communication apparatus 11 may execute the processes at Step S 4 and S 6 of FIG. 8 (Step S 44 and S 46 ) at any timings.
  • the process at Step S 4 (Step S 44 ) may be executed and after a stand-by for a predetermined time, the process at Step S 6 (Step S 46 ) is executed.
  • Each of the above-described processes may be executed by any one of the above-described apparatuses or may be executed by an apparatus other than the above-described apparatuses.
  • the local communication apparatuses 11 and 31 communicate in one-to-one correspondence by using the IM services
  • the invention is not limited thereto, but three or more users (three or more local communication apparatuses) may communicate at the same time.
  • one of the local communication apparatuses is determined as the communication master, and processes similar to those described above are executed between the master local communication apparatus and other slave local communication apparatuses.
  • a series of processes described above may be executed by hardware, or software as described above. If a series of processes is executed by software, the programs constituting the software are installed from recording media or the like into a computer assembled by dedicated hardware or for example a general personal computer which is installed with various programs and can execute various functions.
  • the recording media consist of, as shown in FIGS. 3 to 6 , not only the removable media 91 , 131 , 181 or 231 including package media made of a magnetic disc, (including a flexible disc), an optical disc (including CD-ROM (Compact Disc-Read Only Memory) and DVD (Digital Versatile Disc)), a magneto-optical disc (including MD (Mini-Disc) (registered trademark)), a semiconductor memory or the like, respectively distributed for supplying users with programs and recorded with the programs, but also a hard disc built in a computer beforehand and provided to users, including ROM 62 , 102 , 152 or 202 and the storage unit 83 , 123 , 173 or 223 .
  • package media made of a magnetic disc, (including a flexible disc), an optical disc (including CD-ROM (Compact Disc-Read Only Memory) and DVD (Digital Versatile Disc)), a magneto-optical disc (including MD (Mini-Disc) (registered trademark)), a
  • steps describing programs provided by media include obviously the processes to be executed time sequentially in the description order and the processes not necessarily executed time sequentially but executed parallel or individually.
  • system is intended to mean the whole apparatus consisting of a plurality of apparatuses.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
US10/515,642 2003-03-28 2004-03-12 Network system and communication method, information processing apparatus and method, and program Expired - Fee Related US7716368B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003-092396 2003-03-28
JP2003092396A JP3741312B2 (ja) 2003-03-28 2003-03-28 ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム
PCT/JP2004/003340 WO2004088941A1 (fr) 2003-03-28 2004-03-12 Systeme de reseau, procede de communication et dispositif, procede et programme de traitement de donnees,

Publications (2)

Publication Number Publication Date
US20050177646A1 US20050177646A1 (en) 2005-08-11
US7716368B2 true US7716368B2 (en) 2010-05-11

Family

ID=33127318

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/515,642 Expired - Fee Related US7716368B2 (en) 2003-03-28 2004-03-12 Network system and communication method, information processing apparatus and method, and program

Country Status (6)

Country Link
US (1) US7716368B2 (fr)
EP (1) EP1610504A4 (fr)
JP (1) JP3741312B2 (fr)
KR (1) KR20050109897A (fr)
CN (1) CN1698323B (fr)
WO (1) WO2004088941A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080294718A1 (en) * 2007-05-21 2008-11-27 Olympus Corporation Information processing apparatus, client apparatus, information processing system and service connection method

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875580A (zh) 2003-10-27 2006-12-06 松下电器产业株式会社 通信系统、信息处理装置、服务器及通信方法
US8234383B2 (en) 2003-11-07 2012-07-31 Panasonic Corporation Bubble packet port identification using detection packets
JP3933183B2 (ja) 2003-11-07 2007-06-20 松下電器産業株式会社 通信システム、情報処理装置、サーバ、および通信方法
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
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 カシオ計算機株式会社 通信機器、通信システム及び通信方法

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930477A (en) * 1995-05-08 1999-07-27 Fujitsu Limited Header converting method
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 通信ネットワークシステム、データ通信方法、および通信中継装置、並びにプログラム提供媒体
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
US20020029288A1 (en) * 1995-07-12 2002-03-07 Dobbins Kurt A. Internet protocol (IP) work group routing
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
JP2002290472A (ja) 2001-03-23 2002-10-04 E-Withyou Inc 通信接続先管理システム
US20030115367A1 (en) * 2001-12-18 2003-06-19 Brother Kogyo Kabushiki Kaisha Address deducing system for deducing network settings
WO2003101048A1 (fr) 2002-05-23 2003-12-04 Matsushita Electric Industrial Co., Ltd. Systeme de traitement d'information
JP2004180003A (ja) 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
US20040139228A1 (en) * 2003-01-15 2004-07-15 Yutaka Takeda Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
US20040177146A1 (en) * 2003-02-25 2004-09-09 Kabushiki Kaisha Toshiba Router apparatus, communication apparatus, network address management system, network address management method and network address management program
US7039051B2 (en) * 1999-08-18 2006-05-02 Fujitsu Limited Data sending system
US7173928B2 (en) * 2001-02-20 2007-02-06 Innomedia Pte, Ltd System and method for establishing channels for a real time streaming media communication system
US7243141B2 (en) * 2002-05-13 2007-07-10 Sony Computer Entertainment America, Inc. Network configuration evaluation
US7281036B1 (en) * 1999-04-19 2007-10-09 Cisco Technology, Inc. Method and apparatus for automatic network address assignment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002936A (en) * 1998-03-09 1999-12-14 Ericsson Inc. System and method for informing network of terminal-based positioning method capabilities
CN1129272C (zh) * 2000-12-15 2003-11-26 华为技术有限公司 以太网接入网中的虚拟局域网接入方法

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930477A (en) * 1995-05-08 1999-07-27 Fujitsu Limited Header converting method
US20020029288A1 (en) * 1995-07-12 2002-03-07 Dobbins Kurt A. Internet protocol (IP) work group routing
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
US7039051B2 (en) * 1999-08-18 2006-05-02 Fujitsu Limited Data sending system
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
US7173928B2 (en) * 2001-02-20 2007-02-06 Innomedia Pte, Ltd System and method for establishing channels for a real time streaming media communication system
JP2002290472A (ja) 2001-03-23 2002-10-04 E-Withyou Inc 通信接続先管理システム
US20030115367A1 (en) * 2001-12-18 2003-06-19 Brother Kogyo Kabushiki Kaisha Address deducing system for deducing network settings
US7243141B2 (en) * 2002-05-13 2007-07-10 Sony Computer Entertainment America, Inc. Network configuration evaluation
WO2003101048A1 (fr) 2002-05-23 2003-12-04 Matsushita Electric Industrial Co., Ltd. Systeme de traitement d'information
JP2004180003A (ja) 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
US20040139228A1 (en) * 2003-01-15 2004-07-15 Yutaka Takeda Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
US20040177146A1 (en) * 2003-02-25 2004-09-09 Kabushiki Kaisha Toshiba Router apparatus, communication apparatus, network address management system, network address management method and network address management program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nikkei Network 2001 Nen 12 Gatsu Go, pp. 66-73, Nov. 22, 2001.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080294718A1 (en) * 2007-05-21 2008-11-27 Olympus Corporation Information processing apparatus, client apparatus, information processing system and service connection method
US7979583B2 (en) * 2007-05-21 2011-07-12 Olympus Corporation Information processing apparatus, client apparatus, information processing system and service connection method

Also Published As

Publication number Publication date
WO2004088941A1 (fr) 2004-10-14
EP1610504A4 (fr) 2012-08-08
JP2004304317A (ja) 2004-10-28
KR20050109897A (ko) 2005-11-22
CN1698323A (zh) 2005-11-16
JP3741312B2 (ja) 2006-02-01
CN1698323B (zh) 2010-09-29
US20050177646A1 (en) 2005-08-11
EP1610504A1 (fr) 2005-12-28

Similar Documents

Publication Publication Date Title
US7716368B2 (en) Network system and communication method, information processing apparatus and method, and program
US7542466B2 (en) System and method of information communication, information processing apparatus and information processing method, program and recording medium
US7729366B2 (en) Method, apparatus and system for network mobility of a mobile communication device
US8312532B2 (en) Connection supporting apparatus
JP5327832B2 (ja) ノード識別子と位置指示子とを用いたパケットの通信方法
US7631181B2 (en) Communication apparatus and method, and program for applying security policy
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
US7657642B2 (en) IP network node and middleware for establishing connectivity to both the IPv4 and IPv6 networks
US20040006573A1 (en) Data transmission apparatus, data transmission method, and data transmission method program
US20040153858A1 (en) Direct peer-to-peer transmission protocol between two virtual networks
JP4222397B2 (ja) 中継サーバ
JP2003249942A (ja) インターネットプロトコルアドレス変換装置及びこれを用いたホームネットワークシステム並びにその通信方法
US8874911B2 (en) Terminal device, system, connection management server, and computer readable medium
US20090043889A1 (en) Communication system, data processing apparatus, server, data processing method, program that executes the data processing method, and recording medium to record the program
JP2011077804A (ja) 通信装置およびその通信方法
JP2003258838A (ja) 通信装置およびネットワークシステム
CN100464540C (zh) 一种跨网关通信的方法
US7499448B2 (en) Method for data exchange between network elements in networks with different address ranges
US20080198851A1 (en) Information processing system including information processing apparatus and terminals, and information processing method for the same
KR100552475B1 (ko) 서로 다른 사설망에 위치한 네트워크 장치들 사이의통신을 지원하는 망접속장치
JP4186676B2 (ja) ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム
JP5054666B2 (ja) Vpn接続装置、パケット制御方法、及びプログラム
JP2005197936A (ja) 通信システム、登録装置及び通信装置
CN101557336B (zh) 一种建立网络隧道的方法,数据处理方法及相关设备
JP5084716B2 (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム

Legal Events

Date Code Title Description
AS Assignment

Owner name: SONY CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KAWANO, SHINICHI;AOKI, YUKIHIKO;ADACHIHARA, TADASHI;AND OTHERS;REEL/FRAME:015529/0570;SIGNING DATES FROM 20041019 TO 20041021

Owner name: SONY CORPORATION,JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KAWANO, SHINICHI;AOKI, YUKIHIKO;ADACHIHARA, TADASHI;AND OTHERS;SIGNING DATES FROM 20041019 TO 20041021;REEL/FRAME:015529/0570

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.)

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362