1. Field of the Invention
The present invention relates to technology for relaying data transmitted and received between communication devices.
2. Description of the Related Art
By using technology such as a Virtual Private Network (VPN) and tunneling, data transmitted from a terminal located inside a private network can be relayed to a terminal located in another private network via the Internet. For example, by establishing a connection between a Local Area Network (LAN) of a headquarter office and a LAN of a branch office via the VPN, data can be relayed between terminals connected to different LANs via the Internet.
According to known technology, data is relayed between local systems connected via the Internet. According to this technology, each terminal located within a local system accesses a relay server on the Internet to establish a Transmission Control Protocol (TCP) connection, and uses the established TCP connection to transmit and receive data between the local systems.
By using the technology of the VPN and the tunneling, data can be transmitted and received between different LANs connected via the Internet. However, such technology provides a system which is constructed by a fixed setting. That is, a relay device provided on the Internet between the LANs carries out a fixed connection setting between the LANs. Therefore, there is no problem when a VPN connection is preferably established constantly between a headquarter office and a branch office of a company, for example. However, the above-described technology cannot support a case in which a connection is to be established dynamically between different private networks.
The technology such as the VPN is basically technology for establishing a connection between networks, for example, between a LAN and a LAN, and is not technology for establishing a connection between individual terminals. Therefore, the technology such as the VPN is technology for enabling communication to be carried out between networks in which the VPN is developed as an infrastructure, and is not technology for supporting a case in which an individual personally demands a communication with a specific network.
Meanwhile, when constructing a system in which a connection is established between networks in response to a request from individual terminals, performance of a relay device may decrease due to a fact that resources may become insufficient when a plurality of connections are generated according to the request from terminals.
In order to overcome the problems described above, preferred embodiments of the present invention provide a system in which relaying of data between networks connected via the Internet can be set dynamically.
Preferred embodiments of the present invention also provide a system in which relaying of data between networks connected via the Internet can be set dynamically according to a request of each terminal.
According to an aspect of the present invention, a relay device can carry out communication with a first communication device, and includes a relay unit and a holding unit. The relay unit relays data received from the first communication device to another relay device. The holding unit inquires a status of the other relay device to a server device. When the other relay device is capable of accepting a connection, the holding unit carries out a connection request to the other relay device, dynamically establishes a relay connection with the other relay device, and holds the established relay connection. The other relay device can carry out communication with a second communication device. The relay device relays the data received from the first communication device to the other relay device to further relay the data to the second communication device.
The holding unit also establishes relay connections with a plurality of relay devices, and the relay unit uses the plurality of the relay connections to relay the data to the plurality of the relay devices.
The holding unit can separately disconnect the relay connections held with the plurality of the relay devices.
According to another aspect of the present invention, a communication system for relaying data between terminals includes a first relay device that can carry out communication with a first communication device, a server device, and a second relay device that can carryout communication with a second communication device. The first relay device includes a holding unit. When the holding unit inquires a status of the second relay device to the server device and the second relay device is capable of accepting a connection, the holding unit carries out a connection request to the second relay device, dynamically establishes a relay connection with the second relay device, and holds the established relay connection. The first relay device relays data received from the first communication device to the second relay device, and the second relay device further relays the data to the second communication device.
The first communication device and the second communication device are respectively provided in different private networks. Accordingly, a connection request for a TCP connection cannot be carried out to the first communication device and the second communication device from an external network.
According to another aspect of the present invention, a relay device can carry out communication with a first communication device. The relay device includes an accepting unit and a holding unit. The accepting unit accepts a relay transmission instruction designating another relay device from the first communication device. The holding unit inquires a status of the other relay device to the server device. When the other relay device is capable of accepting a connection, the holding unit carries out a connection request to the other relay device, dynamically establishes a relay connection with the other relay device, and holds the established relay connection. The other relay device can carry out communication with a second communication device. The relay device relays data received from the first communication device to the other relay device, and the other relay device further relays the data to the second communication device.
When the other relay device is incapable of accepting a connection, the holding unit notifies such a connection impossible state to the first communication device. When the holding unit receives a notification from the server device that the other relay device has become capable of accepting a connection, the holding unit notifies a connection possible state to the first communication device.
Only data, which has the first communication device as a transmitter or a transmission destination, is relayed over the relay connection held by the holding unit.
According to another aspect of the present invention, a communication system for relaying data between terminals includes a first relay device that can carry out communication with a first communication device, a server device, and a second relay device that can carry out communication with a second communication device. The first relay device includes an accepting unit and a holding unit. The accepting unit accepts a relay instruction of data designating the second relay device from the first communication device. The holding unit inquires a status of the second relay device to the server device. When the second relay device is capable of accepting a connection, the holding unit carries out a connection request to the second relay device, dynamically establishes a relay connection with the second relay device, and holds the established relay connection. The first relay device relays data received from the first communication device to the second relay device so that the second relay device can further relay the data to the second communication device.
The first communication device and the second communication device are respectively provided in different private networks. A connection request for a TCP connection cannot be carried out to the first communication device and the second communication device from an external network.
According to another aspect of the present invention a relay device can carry out communication with a first communication device. The relay device includes an accepting unit and a holding unit. The accepting unit accepts a relay transmission instruction designating another relay device from the first communication device. When a relay connection has not been established yet with the other relay device, the holding unit inquires a status of the other relay device to the server device. When the other relay device is capable of accepting a connection, the holding unit dynamically establishes a relay connection with the other relay device, and holds the established relay connection. When a relay connection is already established with the other relay device, the holding unit sets such relay connection to be shared with the first communication device. The other relay device can carry out communication with the second communication device. The relay device relays data received from the first communication device to the other relay device, and the other relay device further relays the data to the second communication device.
When receiving a notification from the first communication device to terminate the relay transmission to the other relay device, if the other communication device is carrying out a relay transmission to the other relay device, the relay connection established between the relay device and the other relay device is maintained. When none of the communication devices is carrying out a relay transmission to the other relay device, the holding unit disconnects the relay connection held with the other relay device.
According to another aspect of the present invention, a communication system for relaying data between terminals includes a first relay device that can carry out communication with a first communication device, a server device, and a second relay device that can carry out communication with the second communication device. The first relay device includes an accepting unit and a holding unit. The accepting unit accepts a relay transmission instruction of data designating the second relay device from the first communication device. When a relay connection is yet to be established with the second relay device, the holding unit inquires a status of the second relay device to the server device. When the second relay device is capable of accepting a connection, the holding unit dynamically establishes a relay connection with the second relay device and holds the established relay connection. When a relay connection is already established with the second relay device, the holding unit sets such relay connection to be shared with the first communication device. The first relay device relays data received from the first communication device to the second relay device, and the second relay device further relays the data to the second communication device.
The first communication device and the second communication device are respectively provided in different private networks. A connection request for a TCP connection cannot be carried out to the first communication device and the second communication device from an external network.
The relay device of the present invention inquires a status of another relay device to the server device. When the other relay device is capable of accepting a connection, the relay device carries out a connection request, and establishes and holds a relay connection with the other relay device. Therefore, a communication device, which can carry out communication with the relay device, can carry out communication via the private network with a communication device, which can carry out communication with the other relay device.
The relay device of the present invention can establish a relay connection with a plurality of relay devices, and hold the established relay connections. Therefore, when communication devices to which communication is to be carried out belong to different networks, a plurality of connections can be generated independently.
The relay device of the present invention can independently disconnect each of the relay connections being held with a plurality of the relay devices. Therefore, the relay device of the present invention can maintain only the connections that are necessary for communication, and resources can be utilized efficiently.
The relay device of the present invention accepts a relay transmission instruction designating the other relay device from the first communication device, and inquires a status of the other relay device to the server device. When the other relay device is capable of accepting a connection, the relay device dynamically establishes a relay connection with the other relay device and holds the established relay connection. Therefore, by carrying out a request designating a relay destination to the relay device of the present invention, a communication device, which can carry out communication with the relay device of the present invention, can carryout communication with a communication device, which can carry out communication with the other relay device. Since a connection is established between the relay devices according to a request from the communication device, a network of a communication destination can be selected and a connection can be established more dynamically.
When receiving a notification from the server device that the other relay device has become capable of accepting a connection, the relay device notifies a connection possible state to the first communication device. Accordingly, at a point of time when a preparation is completed at the relay destination, a relay transmission can be started immediately.
Only the data having the first communication device as a transmitter or a transmission destination is relayed over the relay connection held by the holding unit. Therefore, a terminal, which has carried out a connection request to the relay device, can exclusively use the established connection.
The relay device of the present invention accepts a relay transmission instruction designating another relay device from the first communication device. When a relay connection is already established between the relay device of the present invention and the other relay device, the relay device of the present invention sets the first communication device to share the already established relay connection. Therefore, by carrying out a request designating a relay destination to the relay device of the present invention, a communication device, which can carry out communication with the relay device of the present invention, can carryout communication with a communication device, which can carry out communication with the other relay device. When a relay connection is already established between the relay device of the present invention and the designated relay device, the already established relay connection is shared. Therefore, processing load for establishing a connection can be reduced, and resources can be saved.
When receiving a notification from the first communication device to terminate the relay transmission to the other relay device, if the other communication device is carrying out a relay transmission to the other relay device, the relay connection established with the other relay device is maintained. Accordingly, an end of communication of one communication device does not influence a communication of another communication device. A communication device sharing the relay connection can use the relay connection until the communication of the communication device itself is completed.
Other features, elements, processes, steps, characteristics and advantages of the present invention will become more apparent from the following detailed description of preferred embodiments of the present invention with reference to the attached drawings.
Preferred embodiments of the present invention will be described with reference to the accompanying drawings.
As illustrated in
The communication devices 11 and 12 are terminals such as personal computers, and include a network function. Specifically, each of the communication devices 11 and 12 includes a Transmission Control Protocol/Internet Protocol (TCP/IP), and uses the TCP/IP to carry out communication with the relay device 15 and other computers or the like connected to the LAN 10. In the same manner, each of the communication devices 21 and 22 includes a TCP/IP, and uses the TCP/IP to carry out communication with the relay device 25 and other computers or the like connected to the LAN 20. The relay devices 15 and 25 and the gateways 16 and 26 can also carry out communication by the TCP/IP.
A server device 35 is connected to the WAN 30. As described above, the WAN 30 is a public network such as the Internet. Therefore, a terminal connected to the LAN 10, the LAN 20, or the WAN 30 can establish a TCP connection by designating a global IP address of the server device 35.
A private IP address is assigned to the communication devices 11 and 12 and the relay device 15 connected to the LAN 10 and the communication devices 21 and 22 and the relay device 25 connected to the LAN 20. The gateways 16 and 26 function as a firewall, and a connection cannot be established directly from an external network by designating a terminal located inside of the network. Therefore, a terminal or the like connected to the WAN 30 has restrictions when carrying out a TCP connection request to the relay device 15 or 25. In the first preferred embodiment, since the server device 35 functions as a Session Initiation Protocol (SIP) server (a proxy server and a registered server of the SIP) as to be described hereinafter, the gateways 16 and 26 are set such that communication designating a specific port corresponding to the relay servers 15 and 25 can be carried out to the gateways 16 and 26, respectively.
An IP address of each of the relay devices registered in the relay device database 351 is not an IP address in a private network, but is a global IP address converted by a gateway by a function such as a Network Address Translation (NAT) or an IP masquerade. For example, the relay device 15 is assigned with a private address in the LAN 10. When the relay device 15 accesses the server device 35, the IP address assigned to the relay device 15 is converted into a global IP address by the gateway 16.
Each of the relay devices A through C establishes a connection with the server device 35, and logs into the server device 35. A “status” field of the relay device database 351 stores information indicating whether each of the relay devices A through C is currently under a logged-in status or a logged-out status with respect to the server device 35. When each of the relay devices is under a logged-in status, the server device 35 determines that a TCP connection is prepared to be established between the logged-in relay devices. In other words, a status in which the relay device is logged in the server device 35 indicates a status in which the relay device is capable of accepting a TCP connection request transmitted from another terminal.
With reference to
Each of the relay devices 15 and 25 transmits a “REGISTER request message” of the SIP to the server device 35 at initialization or periodically to notify position information (for example, an IP address, and/or a port number) of the relay device to the server device 35. The server device 35 manages the relay device database 351 illustrated in
Under this state, when the relay device 15 carries out a notification request of the status information to the server device 35 (step S103), the server device 35 carries out a response (step S104), and notifies that the relay device 25 is logged-out (step S105). The relay device 15 responds to this notification (step S106).
Next, the relay device 25 notifies login status information to the server device 35 (step S107), and the server device 35 responds to the notification (step S108). The server device 35 executes the login processing of the relay device 25, and updates the “status” field of the relay device database 351 to “login”. Furthermore, the server device 35 notifies the relay device 15 that the relay device 25 has logged in (step S109). The relay device 15 responds to this notification (step S110).
When the relay device 15 receives a notification that the relay device 25 has logged in, the relay device 15 transmits a connection request for the relay device 25 to the server device 35 (step S111). As illustrated in
The above-described processing is executed by a network administrator of the LAN 10 or the LAN 20, for example. That is, in order to prepare such that a connection with another LAN can be carried out dynamically, a relay device in a network is logged into the server device 35 by the network administrator as illustrated at step S107. Accordingly, a preparation is completed for receiving a TCP connection request from another relay device. When the network administrator wishes to carry out a connection with another LAN, the network administrator accesses the server device 35, and acquires status of a destination relay device. When the network administrator learns that the destination relay device is under a logged-in status, the network administrator transmits a connection request to the server device 35.
That is, in the present preferred embodiment, the relay device 15 transmits an INVITE request of the SIP via the server device 35 to establish a TCP connection (media session) for relaying. In other words, since a relay channel as a media session is generated by a call control protocol, a relay communication channel can be established dynamically.
When a TCP connection is established between the relay device 15 and the relay device 25 as described above, the relay device 15 and the relay device 25 hold the established TCP connection. When the relay device 15 receives data from the communication device 11, 12 or the like to be transmitted to the communication device 21, 22 or the like, the relay device 15 relays the received data to the relay device 25 (step S116). The relay device 25 further relays the relayed data to the communication device 21, 22 or the like. Data transmitted from the communication device 21, 22 or the like is also relayed to the communication device 11, 12, or the like via the relay device 25 and the relay device 15 (step S117).
Further, in order to carry out communication between the LAN 10 and the LAN 20 via the WAN 30, each of the relay devices 15 and 25 manages a list of device names of communication devices connected to each of the LANs 10 and 20, respectively. When a TCP connection is established between the relay device 15 and the relay device 25, the relay device 15 and the relay device 25 exchange the list. When carrying out communication between a communication device connected to the LAN 10 and a communication device connected to the LAN 20, a device name of a relay device of a LAN of a transmission destination and a device name of a communication device of the transmission destination are designated. That is, since a unique device name (registered in the relay device database 351) is assigned to a relay device using such a communication system, by designating both the device name of the relay device and the device name of the communication device, the communication device of the transmission destination can be identified uniquely. For example, a name such as “communication device name@relay device name” may be used. Each relay device knows an association between a communication device name and an IP address for a communication device connected to the LAN to which the relay device itself is also connected. Therefore, the relay device can relay data to a communication device designated by “communication device name@relay device name”.
When transmission and reception of data between the communication devices end and the connection established between the relay device 15 and the relay device 25 becomes unnecessary, the network administrator disconnects the connection. First, the relay device 15 transmits a disconnection request for the relay device 25 to the server device 35 (step S118). The server device 35 relays the disconnection request to the relay device 25 (step S119). A response from the relay device 25 is transmitted to the server device 35 (step S120), and relayed to the relay device 15 (step S121).
When a determination is made at step S202 that the relay device 25 of the relay destination is logged in, the relay device 15 generates TCP connection information (step S204), and transmits a connection request (step S205). Then, the relay device 15 stands by for a response from the relay device 25 (step S206). When receiving a response (step S206: YES), the relay device 15 analyzes the TCP connection information included in the received response (step S207). That is, the relay device 15 acquires port number information or the like included in the response transmitted from the relay device 25. Then, the relay device 15 carries out a TCP connection with the relay device 25 (step S208).
Under a state in which a TCP connection is established and held, when the communication device 11 or the like transmits relay data (step S209: YES), the relay device 15 relays the data to the communication device 21 or the like (step S210). When the relay device 15 receives relay data to be relayed to the communication device 11 or the like (step S211: YES), the relay device 15 relays the data to the communication device 11 or the like of the relay destination (step S212). When the relay device 15 receives a disconnection request from the relay device 25 (step S213: YES), the relay device 15 transmits a response (step S214) and disconnects the TCP connection (step S215).
When a disconnection request is carried out by a network administrator of the LAN 10 (step S216: YES), the relay device 15 transmits a disconnection request to the relay device 25 (step S217). When the relay device 15 receives a response (step S218: YES), the relay device 15 disconnects the TCP connection (step S219).
As described above, when the relay device 25 of the relay destination is under a logged-in status, that is, when the relay device 25 is capable of accepting a connection, the relay device 15 dynamically establishes a TCP connection with the relay device 25. Accordingly, data can be transmitted and received via the WAN 30 such as the Internet. For example, in case of a headquarter office and a branch office of a company where traffic constantly generates stably, LANs may be connected fixedly by using the conventionally used VPN. Meanwhile, when carrying out data communication by establishing connections with different networks via the WAN 30 under any timing, the communication system of the present preferred embodiment can be used.
According to the communication system of the present preferred embodiment, when a connection environment (an IP address and/or a port number) of the relay device of the other party is changed, the relay device carries out a negotiation first (steps S111 through S114). Therefore, a connection for relaying data can be established reliably.
The relay devices 15 and 25 of the present preferred embodiment can establish a TCP connection with a plurality of relay devices. For example, as illustrated in
A method for disconnecting the TCP connection established with each of the relay devices 45 and 55 is also the same as the processing carried out with respect to the relay device 25. That is, a TCP connection can be established independently with each of the plurality of the relay devices 25, 45, and 55, and the TCP connection can be disconnected independently.
Conventionally, in the VPN or the like, when a plurality of LANs are connected, the plurality of the LANs are connected as one VPN. Meanwhile, according to the communication system of the present preferred embodiment, a connection is established independently with just a relay device to which a communication is to be carried out, and a connection established with a relay device to which a communication is no longer necessary to be carried out can be disconnected independently. Therefore, efficient communication system can be constituted without consuming unnecessary resources.
Next, a second preferred embodiment of the present invention will be described. In the first preferred embodiment, a connection is established dynamically between relay devices according to an instruction from a network administrator. In the second preferred embodiment, a connection is established between relay devices according to a designation from a communication device. Specifically, in the first preferred embodiment, by predicting a status of communication to be generated between the communication devices, a network administrator carries out an operation for establishing or disconnecting a connection between the relay devices. Meanwhile, in the second preferred embodiment, a control is carried out to establish or disconnect a connection between the relay devices more dynamically according to a communication processing that generates from a communication device. In the following description, a description that is the same as the first preferred embodiment will be omitted.
The relay devices 15, 25, and 45 include relay connection databases 151, 251, and 451, respectively.
The relay connection database 151 is a database for managing a TCP connection currently established by the relay device 15. A “client” field stores a setting of a device name of a communication device that has requested a connection to be established with a relay device (hereinafter referred to as a “requesting communication device”). For example, “ClientX” and “ClientY” in
In the present preferred embodiment, according to a designation from the requesting communication device, a TCP connection is established with a relay device of a communication destination. However, a device that can use such a TCP connection for carrying out communication is only the requesting communication device. That is, as illustrated in
The contents of the relay connection databases 251 and 451 are the same as the relay connection databases 151 illustrated in
Next, with reference to
In the same manner as in the first preferred embodiment, each of the relay devices 15 and 25 transmits a “REGISTER request message” of the SIP to the server device 35 at initialization or periodically to notify position information (for example, an IP address and/or a port number) of the relay device to the server device 35. In
Under this state, the communication device 11 transmits a relay transmission request of data and a status confirmation request, which designate the relay device 25, to the relay device 15 (step S403). When the relay device 15 carries out a notification request of the status information to the server device 35 (step S404), the server device 35 carries out a response (step S405) and notifies the relay device 15 that the relay device 25 is logged out (step S406). The relay device 15 responds to the notification (step S407). Furthermore, the relay device 15 notifies the communication device 11 that the relay device 25 is a logged out (step S408). Accordingly, the communication device 11 stands by until the relay device 25 logs in.
Next, the relay device 25 notifies login status information to the server device 35 (step S409), and the server device 35 responds to the notified login status information (step S410). The server device 35 executes a login processing of the relay device 25, and updates the “status” field of the relay device database 351 to “login”. The server device 35 also notifies the relay device 15 that the relay device 25 has logged in (step S411). The relay device 15 responds to the notification (step S412). Furthermore, the relay device 15 notifies the communication device 11 that the relay device 25 has logged in (step S413).
When the communication device 11, which has been on standby, receives the notification carried out at step S413, the communication device 11 carries out a relay transmission request again designating the relay device 25 (step S414). Further, in the second preferred embodiment, the communication device 11 is provided to standby until receiving a notification that the relay device 25 has logged in. However, as another preferred embodiment, without standing by for such a notification, the communication device 11 may periodically transmit a relay transmission request to the relay device 15.
When the relay device 15 receives the relay transmission request from the communication device 11, the relay device 15 transmits a connection request for the relay device 25 to the server device 35 (step S415). As described in the first preferred embodiment, the connection request is an “INVITE request message” of the SIP, and includes TCP connection information. The server device 35 relays the connection request to the relay device 25 (step S416). When receiving the connection request, the relay device 25 transmits a response to the server device 25 to permit a connection (step S417). As described in the first preferred embodiment, the response is “200 OK response message” of the SIP, and includes TCP connection information. The server device 35 relays the response to the relay device 15 (step S418). The relay device 15 and the relay device 25 exchange the TCP connection information as described above. When receiving the response, the relay device 15 transmits a TCP connection request to the relay device 25 (step S419). Accordingly, a TCP connection is established between the relay device 15 and the relay device 25.
The above-described processing is carried out dynamically, for example, when a communication processing from the communication device 11 to the communication device 21 generates. That is, the relay devices are not connected fixedly, but a connection is carried out when traffic generates. However, in order to prepare for a connection request from a relay device of another end, a network administrator is required to be prepared by logging a relay device within a network into the server device 35 as illustrated at step S409.
In the present preferred embodiment, the relay device 15 receives an instruction from the communication device 11, and the relay device 15 transmits an INVITE request of the SIP via the server device 35 to establish a relay TCP connection (media session). That is, at a point of time when a connection request from a communication device generates, since a relay channel as a media session is generated by a call control protocol, a relay communication channel can be established dynamically.
When a TCP connection is established between the relay device 15 and the relay device 25 as described above, the relay device 15 and the relay device 25 hold the established TCP connection. When the communication device 11 transmits data addressed to the communication device 21, 22 or the like (step S421), the relay device 15 relays the data to the relay device 25 (step S422). The relay device 25 further relays the relayed data to the communication device 21, 22 or the like. The data transmitted from the communication device 21, 22 or the like is relayed to the relay device 15 via the relay device 25 in the same manner (step S423) and relayed further to the communication device 11 via the relay device 15 (step S424).
When a relay transmission using the relay device 25 is completed, the communication device 11 transmits a disconnection instruction to the relay device 15 (step S425). The relay device 15 transmits a disconnection request for the relay device 25 to the server device 35 (step S426). The server device 35 relays the received disconnection request to the relay device 25 (step S427). A response from the relay device 25 is transmitted to the server device 35 (step S428) and relayed to the relay device 15 (step S429). Accordingly, the TCP connection between the relay device 15 and the relay device 25 is disconnected, and the relay device 15 notifies the communication device 11 that the TCP connection has been disconnected (step S430).
Under such a state, when another communication device 12 carries out a relay transmission request designating the relay device 25 again (step S431), a connection request is transmitted from the relay device 15 to the server device 35 (step S432). At this point of time, when the relay device 25 is under a logged-out status, the server device 35 notifies the logged-out status (step S433), and the communication device 12 is notified that the relay device 25 is under a logged-out status. In the same manner as the processing carried out by the communication device 11, when the relay device 25 logs in, the communication device 12 carries out a relay transmission request to the relay device 25 again. Accordingly, a TCP connection is established between the relay device 15 and the relay device 25.
When receiving a notification from the server device 35 indicating that the relay device of the relay destination has logged in (step S504: YES), the relay device 15 notifies the requesting communication device that the relay destination has logged in (step S505). Then, the relay device 15 stands by until receiving a relay instruction from the communication device 11, 12 or the like again (step S506). When the relay device 15 receives a relay instruction, the process proceeds onto step S508. When a determination is made at step S503 that the relay device of the relay destination is logged in, the process proceeds immediately onto step S508. When a status monitoring instruction is not included in the request from the communication device (step S502: NO), if the relay destination is logged in (step S507: YES), the process proceeds onto step S508. If the relay destination is not logged in, the process returns to step S502 and the processing is repeated. That is, when a status monitoring instruction has been received from a requesting communication device, the relay device 15 monitors the relay device of the relay destination until the relay device of the relay destination logs in. When receiving a notification that the relay device of the relay destination has logged in, the relay device 15 notifies such information also to the requesting communication device.
Next, the relay device 15 generates TCP connection information (step S508) and transmits a connection request (step S509). The relay device 15 stands by until receiving a response from the relay device 25 (step S510). When not receiving a response (step S510: NO), the relay device 15 carries out an error notification to the requesting communication device (step S511). The process returns to step S501 and the processing is repeated. When receiving a response (step S510: YES), the relay device 15 analyzes the TCP connection information included in the received response (step S512). That is, the relay device 15 acquires port number information or the like included in the response transmitted from the relay device 25. Then, the relay device 15 carries out a TCP connection to the relay device 25 (step S513). The relay device 15 notifies the requesting communication device that a connection has been established with the relay destination (step S514). Then, the relay device 15 registers information of the newly established TCP connection in the relay connection database 151 (step S515).
Under a state in which the TCP connection is established and held, in the flowchart of
As described above, according to the second preferred embodiment, when a relay instruction from a communication device generates, a TCP connection is established dynamically with the relay device of the relay destination, and communication can be carried out between private networks. Unlike the conventional VPN or the like that is fixedly set, when a request of communication generates, a connection necessary for such communication is established. Therefore, resources can be utilized efficiently.
According to the second preferred embodiment, when a communication connection is established according to a request from a certain communication device, only such a requesting communication device is permitted to use the established communication connection. For example, when a request of communication generates from the communication device 11 to the communication device 21, a TCP connection is established between the relay device 15 and the relay device 25 according to the request. The established TCP connection is used only for the communication between the communication device 11 and the communication device 21. In other words, the relay device 15 and the relay device 25 use the TCP connection just for relaying the data transmitted and received between the communication device 11 and the communication device 21. Therefore, a connection established according to a request from a certain communication device is used exclusively by such a communication device.
In the example illustrated in
Next, a description will be made of a third preferred embodiment of the present invention. Also in the third preferred embodiment, in the same manner as in the second preferred embodiment, a connection is carried out between relay devices according to a request from a communication device. However, in the third preferred embodiment, when a connection has already been established between the relay devices, another communication device shares the already established connection. This feature differs from the second preferred embodiment. In the following, a description will be made primarily of aspects that are different from the second preferred embodiment.
The contents of the relay connection databases 251 and 451 stored in the relay devices 25 and 45, respectively, are the same as the relay connection database 151 illustrated in
Next, with reference to
The processing from step S701 to step S724 in
Under such a state, a different communication device 12 carries out a relay transmission request designating the relay device 25 again (step S725). Since the TCP connection is currently being established between the relay device 15 and the relay device 25, the relay device 15 notifies the communication device 12 that a relay transmission of the data can be carried out (step S726). Accordingly, when data is transmitted from the communication device 12 (step S727), the relay device 15 uses the already established TCP connection to relay the data transmitted from the communication device 12 to the relay device 25 (step S728). The relay device 25 also uses the already established TCP connection for relaying the data, which has been transmitted from the communication device 21 or the like to the communication device 12, to the relay device 15 (step S729). The relay device 15 further transmits the received data to the communication device 12 (step S730).
As described above, in the third preferred embodiment, a TCP connection is already established between the relay devices, and when the already established TCP connection can be used for a newly generated relay transmission request, a new TCP connection is not established. A plurality of communication terminals share the same TCP connection. Accordingly, load required for establishing a TCP connection can be reduced, and communication between different networks can be carried out under higher speed. In addition, resources of the relay device can be saved. For example, when carrying out communication via the Internet between a plurality of communication terminals connected to the LAN 10 and a plurality of communication terminals connected to the LAN 20, an increase in the processing speed and saving of the resources are possible and efficient. The above-described third preferred embodiment is also efficient when data volume to be relayed from one communication device is small.
Under a state in which the communication device 11 and the communication device 12 are sharing the TCP connection and carrying out data communication as described above, the communication device 11 transmits a disconnection instruction to the relay device 15 (step S731). Since the communication device 12 is using the same TCP connection, the relay device 15 does not carry out a processing in particular with respect to the disconnection instruction of step S731, and just carries out a response (step S732).
Then, when the relay transmission using the relay device 25 ends, the communication device 12 transmits a disconnection instruction to the relay device 15 (step S733). Since the relay device 15 has already received the disconnection instruction from the communication device 11, the relay device 15 can determine that the shared TCP connection has become unnecessary. Therefore, the relay device 15 transmits a disconnection request for the relay device 25 to the server device 35 (step S734). The server device 35 relays the disconnection request to the relay device 25 (step S735). The relay device 25 transmits a response to the server device 35 (step S736). Then, the server device 35 relays the response to the relay device 15 (step S737). Accordingly, the TCP connection between the relay device 15 and the relay device 25 is disconnected, and the relay device 15 notifies the communication device 11 that the TCP connection has been disconnected (step S738).
When a connection is already established with the already instructed relay destination (step S802: YES), the relay device 15 notifies that data can be relayed to a requesting communication device (step S815). Then, the relay device 15 updates the information of the relay connection database 151 (step S816). That is, since information regarding the TCP connection is already registered in the relay connection database 151, the relay device 15 just adds a client (communication device). In the example illustrated in
When a connection is yet to be established with the designated relay destination at step S802, the relay device 15 executes the processing from step S803 to step S814. This processing corresponds to the processing from step S502 to step S513 in
Next, a description will be made with reference to
When a disconnection request is carried out by the requesting communication device (step S826: YES), the relay device 15 checks whether or not the TCP connection instructed to be disconnected is being shared with another communication device (step S827). When such a TCP connection is being shared with another communication device (step S827: YES), without disconnecting the TCP connection, a formal disconnection notification is carried out to the communication device that has carried out the disconnection instruction (step S828). Then, the relay device 15 updates the information stored in the relay connection database 151 (step S829). That is, the relay device 15 deletes information of the client (communication device) that has requested the disconnection instruction from the information of the shared TCP connection. The relay device 15 manages a currently established TCP connection and communication devices sharing the TCP connection at all times as described above.
When the TCP connection instructed to be disconnected is not shared with another communication device (step S827: NO), the relay device 15 transmits a disconnection request to the relay device 25 (step S830). When receiving a response (step S831: YES), the TCP connection is disconnected (step S832). Then, the relay device 15 notifies the requesting communication device that the connection with the relay destination has been disconnected (step S833) and deletes the information of the TCP connection registered in the relay connection database 151 (step S834).
As described above, according to the third preferred embodiment, when a relay instruction from a communication device generates, a TCP connection is dynamically established with a relay device of a relay destination, and communication can be carried out between private networks. Furthermore, when a relay instruction generates, if a TCP connection is already established with the relay destination, the already established TCP connection is shared. Accordingly, speed of the processing is increased, and resources can be utilized efficiently.
While the present invention has been described with respect to preferred embodiments thereof, it will be apparent to those skilled in the art that the disclosed invention may be modified in numerous ways and may assume many embodiments other than those specifically set out and described above. Accordingly, the appended claims are intended to cover all modifications of the present invention that fall within the true spirit and scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2006-090690 | Mar 2006 | JP | national |
2006-090691 | Mar 2006 | JP | national |
2006-090692 | Mar 2006 | JP | national |
This application is a continuation application under 37 C.F.R. §1.53 (b) of U.S. application Ser. No. 11/723,466, filed Mar. 20, 2007, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5224205 | Dinkin et al. | Jun 1993 | A |
5535375 | Eshel et al. | Jul 1996 | A |
5848134 | Sekiguchi et al. | Dec 1998 | A |
5884312 | Dustan et al. | Mar 1999 | A |
6061796 | Chen et al. | May 2000 | A |
6111883 | Terada et al. | Aug 2000 | A |
6145084 | Zuili et al. | Nov 2000 | A |
6178427 | Parker | Jan 2001 | B1 |
6215877 | Matsumoto | Apr 2001 | B1 |
6222536 | Kihl et al. | Apr 2001 | B1 |
6226692 | Miloushev et al. | May 2001 | B1 |
6237023 | Yoshimoto | May 2001 | B1 |
6324574 | Gong | Nov 2001 | B1 |
6336141 | Fujiyama et al. | Jan 2002 | B1 |
6538773 | Brossman et al. | Mar 2003 | B1 |
6546488 | Dillon et al. | Apr 2003 | B2 |
6564261 | Gudjonsson et al. | May 2003 | B1 |
6574656 | Nagaoka et al. | Jun 2003 | B1 |
6594246 | Jorgensen | Jul 2003 | B1 |
6636513 | Nishikawa et al. | Oct 2003 | B1 |
6650631 | Benash et al. | Nov 2003 | B1 |
6754212 | Terada et al. | Jun 2004 | B1 |
6757365 | Bogard | Jun 2004 | B1 |
6765686 | Maruoka | Jul 2004 | B2 |
6766373 | Beadle et al. | Jul 2004 | B1 |
6889256 | Palevich et al. | May 2005 | B1 |
6898641 | Kobayashi | May 2005 | B1 |
6938042 | Aboulhosn et al. | Aug 2005 | B2 |
6950879 | Zhou | Sep 2005 | B2 |
6988199 | Toh et al. | Jan 2006 | B2 |
7000248 | Mizukoshi | Feb 2006 | B2 |
7110393 | Tripathi et al. | Sep 2006 | B1 |
7120927 | Beyda et al. | Oct 2006 | B1 |
7139811 | Lev Ran et al. | Nov 2006 | B2 |
7152111 | Allred et al. | Dec 2006 | B2 |
7174378 | Yoon et al. | Feb 2007 | B2 |
7181542 | Tuomenoksa et al. | Feb 2007 | B2 |
7191195 | Koyama et al. | Mar 2007 | B2 |
7200642 | Hultgren et al. | Apr 2007 | B2 |
7206088 | Tanimoto | Apr 2007 | B2 |
7257638 | Celik et al. | Aug 2007 | B2 |
7299275 | Tsukidate et al. | Nov 2007 | B2 |
7412489 | Nowacki et al. | Aug 2008 | B2 |
7574523 | Traversat et al. | Aug 2009 | B2 |
7624175 | Schlesener et al. | Nov 2009 | B1 |
7647388 | Kato | Jan 2010 | B2 |
7660809 | Cortright et al. | Feb 2010 | B2 |
7701954 | Rabenko et al. | Apr 2010 | B2 |
7702726 | Grabelsky et al. | Apr 2010 | B1 |
7774495 | Pabla et al. | Aug 2010 | B2 |
7813299 | Yumoto et al. | Oct 2010 | B2 |
7860978 | Oba et al. | Dec 2010 | B2 |
8065418 | Abuan et al. | Nov 2011 | B1 |
20010044819 | Gong | Nov 2001 | A1 |
20010047414 | Yoon et al. | Nov 2001 | A1 |
20020023143 | Stephenson et al. | Feb 2002 | A1 |
20020029276 | Bendinelli et al. | Mar 2002 | A1 |
20020032616 | Suzuki et al. | Mar 2002 | A1 |
20020056003 | Goswami | May 2002 | A1 |
20020073182 | Zakurdaev et al. | Jun 2002 | A1 |
20020095506 | Tanimoto | Jul 2002 | A1 |
20020118398 | Tanimoto | Aug 2002 | A1 |
20020143855 | Traversat et al. | Oct 2002 | A1 |
20020143922 | Tanimoto | Oct 2002 | A1 |
20020143956 | Tanimoto | Oct 2002 | A1 |
20020143957 | Tanimoto | Oct 2002 | A1 |
20020143960 | Goren et al. | Oct 2002 | A1 |
20020146002 | Sato | Oct 2002 | A1 |
20020152299 | Traversat et al. | Oct 2002 | A1 |
20020156875 | Pabla | Oct 2002 | A1 |
20030021232 | Duplaix et al. | Jan 2003 | A1 |
20030055741 | Yamamoto | Mar 2003 | A1 |
20030097456 | Huh et al. | May 2003 | A1 |
20030140637 | Masui et al. | Jul 2003 | A1 |
20030144872 | Masui et al. | Jul 2003 | A1 |
20040068524 | Aboulhosn et al. | Apr 2004 | A1 |
20040073610 | Terada et al. | Apr 2004 | A1 |
20040083385 | Ahmed et al. | Apr 2004 | A1 |
20040107272 | Manukyan | Jun 2004 | A1 |
20040162871 | Pabla et al. | Aug 2004 | A1 |
20040172395 | Edelstein et al. | Sep 2004 | A1 |
20040243703 | Demmer et al. | Dec 2004 | A1 |
20040255048 | Lev Ran et al. | Dec 2004 | A1 |
20040267939 | Yumoto et al. | Dec 2004 | A1 |
20050114436 | Betarbet | May 2005 | A1 |
20050144289 | Yoshiuchi et al. | Jun 2005 | A1 |
20050216523 | Sakaguchi et al. | Sep 2005 | A1 |
20050256909 | Aboulhosn et al. | Nov 2005 | A1 |
20050281251 | Yumoto et al. | Dec 2005 | A1 |
20050287998 | Tonouchi | Dec 2005 | A1 |
20060020695 | Tantek et al. | Jan 2006 | A1 |
20060083171 | Tanaike et al. | Apr 2006 | A1 |
20060101064 | Strong et al. | May 2006 | A1 |
20060117076 | Spencer et al. | Jun 2006 | A1 |
20060149771 | Kojima et al. | Jul 2006 | A1 |
20060187902 | Birch et al. | Aug 2006 | A1 |
20060206616 | Brown | Sep 2006 | A1 |
20060256771 | Yarlagadda | Nov 2006 | A1 |
20060259553 | Kawakita | Nov 2006 | A1 |
20060282540 | Tanimoto | Dec 2006 | A1 |
20070019545 | Alt et al. | Jan 2007 | A1 |
20070022477 | Larson | Jan 2007 | A1 |
20070081530 | Nomura et al. | Apr 2007 | A1 |
20070106795 | Gilfix et al. | May 2007 | A1 |
20070174428 | Lev Ran et al. | Jul 2007 | A1 |
20070192434 | Kodama et al. | Aug 2007 | A1 |
20070201493 | Yamada et al. | Aug 2007 | A1 |
20070211713 | Koshino et al. | Sep 2007 | A1 |
20070214281 | Celik et al. | Sep 2007 | A1 |
20070274329 | Takeyoshi et al. | Nov 2007 | A1 |
20080098088 | Tamano et al. | Apr 2008 | A1 |
20090067410 | Sterman et al. | Mar 2009 | A1 |
20090177573 | Beadle et al. | Jul 2009 | A1 |
20100241711 | Ansari et al. | Sep 2010 | A1 |
20120140659 | Furukawa et al. | Jun 2012 | A1 |
Number | Date | Country |
---|---|---|
1481112 | Mar 2004 | CN |
1054547 | Nov 2000 | EP |
1139631 | Oct 2001 | EP |
1 331 587 | Jul 2003 | EP |
1526471 | Apr 2005 | EP |
1657939 | May 2006 | EP |
1667382 | Jun 2006 | EP |
1940126 | Jul 2008 | EP |
1942634 | Jul 2008 | EP |
1990974 | Nov 2008 | EP |
2350269 | Nov 2000 | GB |
2411541 | Aug 2005 | GB |
56-025880 | Mar 1981 | JP |
61-225957 | Oct 1986 | JP |
10-69412 | Mar 1989 | JP |
4-105143 | Apr 1992 | JP |
6-090236 | Mar 1994 | JP |
7-121422 | May 1995 | JP |
7-162448 | Jun 1995 | JP |
7-319784 | Dec 1995 | JP |
9-168055 | Jun 1997 | JP |
9-214486 | Aug 1997 | JP |
09-282216 | Oct 1997 | JP |
9-288608 | Nov 1997 | JP |
10-116293 | May 1998 | JP |
10-126440 | May 1998 | JP |
10-154118 | Jun 1998 | JP |
10-177548 | Jun 1998 | JP |
11-212871 | Aug 1999 | JP |
11-234270 | Aug 1999 | JP |
11-272534 | Oct 1999 | JP |
11-313059 | Nov 1999 | JP |
2000-59465 | Feb 2000 | JP |
2000-083067 | Mar 2000 | JP |
2000-099384 | Apr 2000 | JP |
2000-115167 | Apr 2000 | JP |
2000-122974 | Apr 2000 | JP |
2001-014254 | Jan 2001 | JP |
2001-027978 | Jan 2001 | JP |
2001-092702 | Apr 2001 | JP |
2001-155007 | Jun 2001 | JP |
2001-184289 | Jul 2001 | JP |
2001-306382 | Nov 2001 | JP |
2002-007182 | Jan 2002 | JP |
2002-141952 | May 2002 | JP |
2002-149519 | May 2002 | JP |
2002-199150 | Jul 2002 | JP |
2002-217938 | Aug 2002 | JP |
2002-217943 | Aug 2002 | JP |
2002-247036 | Aug 2002 | JP |
2002-269059 | Sep 2002 | JP |
2002-288415 | Oct 2002 | JP |
2002-342144 | Nov 2002 | JP |
2002-368826 | Dec 2002 | JP |
2003-006022 | Jan 2003 | JP |
2003-006032 | Jan 2003 | JP |
2003-032310 | Jan 2003 | JP |
2003-059792 | Feb 2003 | JP |
2003101565 | Apr 2003 | JP |
2003-162441 | Jun 2003 | JP |
2003-223521 | Aug 2003 | JP |
2003-258917 | Sep 2003 | JP |
2003-288247 | Oct 2003 | JP |
2004-013479 | Jan 2004 | JP |
2004-128597 | Apr 2004 | JP |
2004-133600 | Apr 2004 | JP |
2004-139291 | May 2004 | JP |
2004-201255 | Jul 2004 | JP |
2004-213533 | Jul 2004 | JP |
2004-215135 | Jul 2004 | JP |
2004-228817 | Aug 2004 | JP |
2004-265415 | Sep 2004 | JP |
2004-310371 | Nov 2004 | JP |
2004-328166 | Nov 2004 | JP |
2004-341849 | Dec 2004 | JP |
2004-362166 | Dec 2004 | JP |
2005-027040 | Jan 2005 | JP |
2005-038104 | Feb 2005 | JP |
2005-086520 | Mar 2005 | JP |
2005-115943 | Apr 2005 | JP |
2005-167608 | Jun 2005 | JP |
2005157699 | Jun 2005 | JP |
2005-210352 | Aug 2005 | JP |
2005-267658 | Sep 2005 | JP |
2005-276094 | Oct 2005 | JP |
2005-328239 | Nov 2005 | JP |
2006-013757 | Jan 2006 | JP |
2006-033105 | Feb 2006 | JP |
2006-050006 | Feb 2006 | JP |
2006-067045 | Mar 2006 | JP |
2006-172192 | Jun 2006 | JP |
2006-268138 | Oct 2006 | JP |
2006-343943 | Dec 2006 | JP |
2006337021 | Dec 2006 | JP |
2007-074035 | Mar 2007 | JP |
2007-086910 | Apr 2007 | JP |
2007-104440 | Apr 2007 | JP |
2006-033105 | Aug 2007 | JP |
2007-265135 | Oct 2007 | JP |
2007-310508 | Nov 2007 | JP |
2008-098699 | Apr 2008 | JP |
2008-098888 | Apr 2008 | JP |
2008-129991 | Jun 2008 | JP |
2008-148046 | Jun 2008 | JP |
2008-148125 | Jun 2008 | JP |
2008-148200 | Jun 2008 | JP |
2008-154101 | Jul 2008 | JP |
2008-306500 | Dec 2008 | JP |
2009-027652 | Feb 2009 | JP |
2009-031828 | Feb 2009 | JP |
2009-163300 | Jul 2009 | JP |
2009-163302 | Jul 2009 | JP |
2009-252159 | Oct 2009 | JP |
2009-265919 | Nov 2009 | JP |
00-69140 | Nov 2000 | WO |
03-012578 | Feb 2003 | WO |
2006-028850 | Mar 2006 | WO |
2006090465 | Aug 2006 | WO |
Entry |
---|
Notification of Reason for Refusal dated Apr. 15, 2009, issued in corresponding Japanese Patent Application No. 2006-090691. |
Bato et al; “Proposal of Community-Based Information-Sharing Platform Using Distributed Servers”, Proceedings of the 2007 IEICE General Conference, Mar. 20-23, 2007. |
Cappiello et al; “Mobility Amongst Heterogeneous Networks with AAA Suport”, Proceeding of IEEE International Conferences on Communications, Apr. 28-May 2, 2002, pp. 2064-2069. |
Goode; “Voice Over Internet Protocol (VoIP)”, Proceedings of the IEEE; vol. 90; No. 9; Sep. 2002; pp. 1495-1517. |
Gurbani et al; “SIP: A Routing Protocol” Bell Labs Technical Journal, 2002, vol. 6; No. 2, pp. 136-152. |
Ito; “NetworkWorld”; vol. 9, No. 12, pp. 146-151; Dec. 1, 2004. |
Izumi; “Present TCP/IP and Full Gamut of Voip Technique”, Interface ; CQ Publication Inc ,; Jun. 1, 2003; vol. 29, No. 6; pp. 66-78. |
Jin et al; “Replica Based Distributed Metadata Mangement in Grid Enviroment”, XP019033202; Coimputational Science-ICCS 2006 Lecture Notes In Computer Science; LNCS; http://www.springerlink.com/content/h2glt33m069677224/fulltext.pdf; vol. 3994; May 10, 2006; pp. 1055-1057. |
Mac Fan Internet “An Old Timer of Character Chat IRC”, Mac Fan Internet ; vol. 4, No. 6; p. 33; Jun. 1999. |
Masuda “Multicast Network Control for Streaming Data Broadcasting”, IEICE Technical Technical Report, vol. 100. No. 672; pp. 327-334; Mar. 9, 2001. Partial English translation. |
Okumura SIP (Session Initiation Protocol), Nikkei Communications, Sep. 22, 2003, pp. 150-158 (partial translation pp. 155 and 156 (Usable in IM and Presence Notification)). |
Pang. et al.; “Mobility and Session Mangement: UMTS VS. CDMA2000”, IEEE Wireless Communicationa, Aug. 2004, pp. 30-43. |
Roach et al.; “A Session Initiation Protocol (SIP) Event Notification Extension for Resource List”; Cisco Systems: Aug. 1, 2006; pp. 1-38. |
Roach A. B.; “Session Initiation Protocol (SIP)- Specific Event Notification” Dynamicsoft; Jun. 1, 2002; pp. 1-38. |
Rowstron et al. “Pastry Scalable, Decentralized Object Location, and Routing for Large- Scale Peer-to-Peer System”, Middleware 2001, Nov. 12, 2001, vol. 2218, pp. 329-350. |
Satyanarayanan “A Survey of Distributed File Systems” XP002260895: Technical Report CMU-CS-89-116; Feb. 1, 1989; 27 pages. |
Thain et al.“Separating Abstractions from Resources in a Tactical Storage System”, XP010864894; Supercomputing, 2005; Proceeding of the ACM/IEEE SC 2005 Conferences; Nov. 12, 2005; 12 pages. |
Traversat, Bernard et al. “Project JXTA 2.0 Super- Peer Virtual Network”, XP-002481407; Sun Microsystems. Project JXTA; May 25, 2003; pp. 1-20. |
USPTO Office Action dated Feb. 4, 2011, issued in U.S. Appl. No. 11/853,943. |
USPTO Office Action dated Mar. 4, 2011, issued in U.S. Appl. No. 11/862,654. |
USPTO Office Action dated Dec. 23, 2010, issued in U.S. Appl. No. 12/107,793. |
USPTO Office Action dated Jan. 14, 2011, issued in corresponding U.S. Appl. No. 12/270,883. |
USPTO Office Action dated Mar. 22, 2011, issued in corresponding U.S. Appl. No. 12/335,661. |
USPTO Office Action dated Mar. 17, 2011, issued in U.S. Appl. No. 12/340,868. |
Yasmazaki ; “P2P Network System” Japanese Society for Artificial Intelligence, vol. 16, No. 6, pp. 834-840, Nov. 2001. |
Japanese Office Action dated Apr. 8, 2011, issued in corresponding Japanese Patent Application No. 2007-339311. |
“Error & Warning Message Ways of Coping”, Nikkei Personal Computing, No. 529, Nikkei Personal Computing, Japan, Nikkei BP, Nikkei Business Publications, Inc., May 10, 2007, p. 46. |
Japanese Office Action dated Aug. 2, 2011, issued in corresponding Japanese Patent Application No. 2006-090693. |
Japanese Office Action dated Aug. 2, 2011, issued in corresponding Japanese Patent Application No. 2006-335512. |
Chinese Office Action dated Aug. 3, 2011, issued in corresponding Chinese Patent Application No. 200810096102.2. |
Digital Advantage, NetBIOS name registration, [online], Aug. 16, 2002, [Search date: Nov. 16, 2009], Internet, <URL>: http://www.atmarkit.co.jp/fwin2k/network/baswinlan005/baswinlan005—02.html. |
Japanese Office Action dated May 19, 2009, issued in corresponding Japanese Patent Application No. 2006-090690. |
Japanese Office Action dated Nov. 24, 2009, issued in corresponding Japanese Patent Application No. 2006-090690. |
Japanese Office Action dated Dec. 1, 2009, issued in corresponding Japanese Patent Application No. 2006-090691. |
Shinji Okumura et al., SIP (session initiation protocol), Nikkei Communications, Sep. 22, 2003, pp. 150-158 (partial translation pp. 155-156 (Usable in IM and Presence Notification)). |
U.S. Appl. No. 10/045,698, filed Jan. 10, 2002; inventor Y. Tanimoto. |
U.S. Appl. No. 10/045,897, filed Jan. 10, 2002; inventor Y. Tanimoto. |
U.S. Appl. No. 10/114,720, filed Apr. 1, 2002; inventor Y. Tanimoto. |
U.S. Appl. No. 10/114,963, filed Apr. 2, 2002; inventor Y. Tanimoto. |
U.S. Appl. No. 10/116,615, filed Apr. 2, 2002; inventor Y. Tanimoto. |
U.S. Appl. No. 12/340,868, filed Dec. 22, 2008; inventor Y. Tanimoto. |
U.S. Appl. No. 11/853,942, filed Sep. 12, 2007; inventor Y. Tanimoto. |
U.S. Appl. No. 11/853,943, filed Sep. 12, 2007; inventor Y. Tanimoto. |
U.S. Appl. No. 11/862,654, filed Sep. 27, 2007; inventor Y. Tanimoto. |
U.S. Appl. No. 11/870,622, filed Oct. 11, 2007; inventor Y. Tanimoto. |
U.S. Appl. No. 11/944,495, filed Nov. 23, 2007; inventor Y. Tanimoto. |
U.S. Appl. No. 11/953,351, filed Dec. 10, 2007; inventor Y. Tanimoto. |
U.S. Appl. No. 11/953,505, filed Dec. 10, 2007; inventor Y. Tanimoto. |
U.S. Appl. No. 12/103,933, filed Apr. 16, 2008; inventor Y. Tanimoto. |
U.S. Appl. No. 12/107,793, filed Apr. 23, 2008; inventor Y. Tanimoto. |
U.S. Appl. No. 12/112,127, filed Apr. 30, 2008; inventor Y. Tanimoto. |
U.S. Appl. No. 12/270,883, filed Nov. 14, 2008; inventor Y. Tanimoto. |
U.S. Appl. No. 12/335,642, filed Dec. 16, 2008; inventor Y. Tanimoto. |
U.S. Appl. No. 12/335,661, filed Dec. 16, 2008; inventor Y. Tanimoto. |
Japanese Office Action dated Feb. 3, 2012, issued in related Japanese Patent Application No. 2009-205183.(w/machine translation). |
Japanese Office Action dated Feb. 3, 2012, issued in related Japanese Patent Application No. 2009-205191.(w/machine translation). |
Japanese Office Action dated Feb. 7, 2012, issued in related Japanese Patent Application No. 2009-201775.(w/machine translation). |
United States Patent and Trademark Office Action dated Apr. 2, 2012, issued in U.S. Appl. No. 13/153,497. |
U.S. Office Action dated Jul. 31, 2012, issued in related U.S. Appl. No. 11/870,622. |
Office Action dated Jun. 26, 2012, in related Japanese Patent Application No. 2006-335539, with English-language machine translation (6 Pages). |
Number | Date | Country | |
---|---|---|---|
20120102205 A1 | Apr 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11723466 | Mar 2007 | US |
Child | 13341711 | US |