# US 2014/0156870 A1 · Communication system and server

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0156870 A1
- Document ID: US20140156870A1
- Status: Published application
- Kind: A1
- Application number: 14/092,316
- Filed: 2013-11-27
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: Yamaha Corporation
- Applicants: Yamaha Corporation
- Inventors: Takahiro HARA
- Web page: https://patentgrep.com/patent/US20140156870A1

## CPC

- H04L 45/74: Address processing for routing
- H04L 61/2557: Translation policies or rules
- H04L 61/2589: over a relay server, e.g. traversal using relay for network address translation [TURN]
- H04L 61/2575: using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In a communication system, using source address, source port number, destination address and destination port number, terminals A and B located behind NAT routers A and B, respectively, communicate with each other through the NAT routers A and B. A server SV which is not located behind any NAT routers identifies the NAT router A as a NAT router of a certain type which translates the source port number into a different source port number if the destination port number is changed. The server SV then guesses a port number obtained by adding (or subtracting) a value to (or from) the source port number used for transmission of data from the terminal A through the NAT router A as a port number of the terminal A in a case where the NAT router has been identified as the certain type, and informs the terminal B of the guessed port number.

## Claims

### Claim 1

A server included in a communication system which is formed of a first terminal located behind a first NAT router, a second terminal located behind a second NAT router, and the server which is not located behind any NAT routers, and in which the first terminal and the second terminal communicate with each other through the first NAT router and the second NAT router by use of a source address, a source port number, a destination address and a destination port number, the server comprising:
a NAT type identifying portion for identifying the first NAT router as a NAT router of a certain type which translates the source port number into a different source port number if the destination port number is changed;
a port number guessing portion for defining, in response to reception of data transmitted from the first terminal through the first NAT router in order to inform the second terminal of a source port number which the first terminal is to use for communication between the first terminal and the second terminal in a case where the first NAT router has been identified as the certain type by the NAT type identifying portion, a port number obtained by adding a value to the source port number used for transmission of the received data or by subtracting a value from the source port number used for transmission of the received data as a guessed port number; and
a guessed port informing portion for informing the second terminal of the guessed port number defined by the port number guessing portion.

### Claim 2 (depends on 1)

The server according to claim 1, wherein
the certain type is a type of NAT router which sequentially changes source port number if the destination port number is changed in a case where data is transmitted by use of the same source address and source port number.

### Claim 3 (depends on 2)

The server according to claim 2, wherein
the port number guessing portion defines a port number obtained by adding “+1” to the source port number used for transmission of the received data as a guessed port number.

### Claim 4 (depends on 1)

The server according to claim 1, wherein
when the server has received first data and second data which had been transmitted from the first terminal through the first NAT router for identification of the type of the first NAT router such that each of the data has a different destination port number, the NAT type identifying portion identifies the first NAT router as the certain type on condition that a source port number used for transmission of the received first data is different from a source port number used for transmission of the received second data.

### Claim 5 (depends on 4)

The server according claim 4, wherein
when the server has received the first and second data for identification of the type of the first NAT router, the NAT type identifying portion identifies the first NAT router as a type other than the certain type on condition that the source port number used for transmission of the received first data is the same as the source port number used for transmission of the received second data; and
in a case where the first NAT router has been identified by the NAT type identifying portion as the type other than the certain type, when the server has received data for informing the second terminal of source port number which the first terminal is to use for communication between the first terminal and the second terminal, the port number guessing portion defines the source port number used for transmission of the received data as the guessed port number.

### Claim 6 (depends on 5)

The server according to claim 5, wherein
the type other than the certain type is a type which will not change source port number even if the destination address and the destination port are changed in data transmission using the same source address and source port number, or a type which sequentially changes source port number if the destination address is changed in data transmission using the same source address and source port number.

### Claim 7

A method for informing a port number, the method applied to a server included in a communication system which is formed of a first terminal located behind a first NAT router, a second terminal located behind a second NAT router, and the server which is not located behind any NAT routers, and in which the first terminal and the second terminal communicate with each other through the first NAT router and the second NAT router by use of a source address, a source port number, a destination address and a destination port number, the method comprising the steps of:
identifying the first NAT router as a NAT router of a certain type which translates the source port number into a different source port number if the destination port number is changed;
defining, in response to reception of data transmitted from the first terminal through the first NAT router in order to inform the second terminal of a source port number which the first terminal is to use for communication between the first terminal and the second terminal in a case where the first NAT router has been identified as the certain type, a port number obtained by adding a value to the source port number used for transmission of the received data or by subtracting a value from the source port number used for transmission of the received data as a guessed port number; and
informing the second terminal of the guessed port number defined by the port number guessing step.

### Claim 8

A computer program for informing a port number, the program executed by a server included in a communication system which is formed of a first terminal located behind a first NAT router, a second terminal located behind a second NAT router, and the server which is not located behind any NAT routers, and in which the first terminal and the second terminal communicate with each other through the first NAT router and the second NAT router by use of a source address, a source port number, a destination address and a destination port number, the program comprising the steps of:
a NAT type identifying step of identifying the first NAT router as a NAT router of a certain type which translates the source port number into a different source port number if the destination port number is changed;
a port number guessing step of defining, in response to reception of data transmitted from the first terminal through the first NAT router in order to inform the second terminal of a source port number which the first terminal is to use for communication between the first terminal and the second terminal in a case where the first NAT router has been identified as the certain type by the NAT type identifying step, a port number obtained by adding a value to the source port number used for transmission of the received data or by subtracting a value from the source port number used for transmission of the received data as a guessed port number; and
a guessed port informing step of informing the second terminal of the guessed port number defined by the port number guessing step.

### Claim 9

A communication system which is formed of a first terminal located behind a first NAT router, a second terminal located behind a second NAT router, and a server which is not located behind any NAT routers, and in which the first terminal and the second terminal communicate with each other through the first NAT router and the second NAT router by use of a source address, a source port number, a destination address and a destination port number, wherein
the server comprises:
a NAT type identifying portion for identifying the first NAT router as a NAT router of a certain type which translates the source port number into a different source port number if the destination port number is changed;
a port number guessing portion for defining, in response to reception of data transmitted from the first terminal through the first NAT router in order to inform the second terminal of a source port number which the first terminal is to use for communication between the first terminal and the second terminal in a case where the first NAT router has been identified as the certain type by the NAT type identifying portion, a port number obtained by adding a value to the source port number used for transmission of the received data or by subtracting a value from the source port number used for transmission of the received data as a guessed port number; and
a guessed port informing portion for informing the second terminal of the guessed port number defined by the port number guessing portion;
the first terminal comprises a first data transmitting portion for transmitting data for informing the second terminal of the source port number which the first terminal is to use for communication between the first terminal and the second terminal to the server through the first NAT router; and
the second terminal communicates directly with the first terminal through the second NAT router and the first NAT router, using the guessed port number informed by the guessed port informing portion as the destination port number.

### Claim 10 (depends on 9)

The communication system according to claim 9, wherein
the certain type is a type of NAT router which sequentially changes source port number if the destination port number is changed in a case where data is transmitted by use of the same source address and source port number.

### Claim 11 (depends on 10)

The communication system according to claim 10, wherein
the port number guessing portion defines a port number obtained by adding “+1” to the source port number used for transmission of the received data as a guessed port number.

### Claim 12 (depends on 9)

The communication system according to claim 9, wherein
the first terminal further comprises a second data transmitting portion for transmitting first data and second data for identification of the type of the first NAT router to the server through the first NAT router such that each of the first data and second data has a different destination port number; and
when the server has received the first data and the second data which had been transmitted from the second data transmitting portion for identification of the type of the first NAT router, the NAT type identifying portion identifies the first NAT router as the certain type on condition that the source port number used for transmission of the received first data is different from the source port number used for transmission of the received second data.

### Claim 13 (depends on 12)

The communication system according to claim 12, wherein
when the server has received the first and second data transmitted by the second data transmitting portion for identification of the type of the first NAT router, the NAT type identifying portion identifies the first NAT router as a type other than the certain type on condition that the source port number used for transmission of the received first data is the same as the source port number used for transmission of the received second data; and
in a case where the first NAT router has been identified by the NAT type identifying portion as the type other than the certain type, when the server has received data for informing the second terminal of source port number which the first terminal is to use for communication between the first terminal and the second terminal, the port number guessing portion defines the source port number used for transmission of the received data as the guessed port number.

### Claim 14 (depends on 13)

The communication system according to claim 13, wherein
the type other than the certain type is a type which will not change source port number even if the destination address and the destination port are changed in data transmission using the same source address and source port number, or a type which sequentially changes source port number if the destination address is changed in data transmission using the same source address and source port number.

### Claim 15

A communication method applied to a communication system which is formed of a first terminal located behind a first NAT router, a second terminal located behind a second NAT router, and a server which is not located behind any NAT routers, and in which the first terminal and the second terminal communicate with each other through the first NAT router and the second NAT router by use of a source address, a source port number, a destination address and a destination port number, wherein
the server identifies the first NAT router as a NAT router of a certain type which translates the source port number into a different source port number if the destination port number is changed;
in response to reception of data transmitted from the first terminal through the first NAT router in order to inform the second terminal of a source port number which the first terminal is to use for communication between the first terminal and the second terminal in a case where the first NAT router has been identified as the certain type, the server defines a port number obtained by adding a value to the source port number used for transmission of the received data or by subtracting a value from the source port number used for transmission of the received data as a guessed port number;
the server informs the second terminal of the guessed port number;
the first terminal transmits data for informing the second terminal of a source port number which the first terminal is to use for communication between the first terminal and the second terminal to the server through the first NAT router; and
the second terminal communicates directly with the first terminal through the second NAT router and the first NAT router, using the guessed port number informed by the server as the destination port number.
