Legal claims defining the scope of protection, as filed with the USPTO.
1. An address translation device comprising: a receiver that receives a packet that is from a communication apparatus on a private network to a communication apparatus on a global network; a processor; a memory which stores a plurality of instructions, which when executed by the processor, cause the processor to execute: determining whether a destination address of a first packet received by the receiver matches a destination address of a second packet that was received before the first packet; translating, when the determining makes a determination of no matching, a source private address of the first packet to a source global address that has been allocated to the second packet; a transmitter that transmits the first packet that has been translated by the translator, wherein translating, when the determining makes a determination of no matching, a source private port number of the first packet to a source global port number of the second packet; determining whether the destination address and a destination port number of the first packet match the destination address and a destination port number of the second packet, and whether the source private address and the source private port number of the first packet match a source private address and a source private port number of the second packet; and translating, when it is determined that the destination address of the first packet matches the destination address of the second packet and it is determined that the destination port number of the first packet is different from the destination port number of the second packet or it is determined that the source private address of the first packet is different from the source private address of the second packet or it is determined that the source private port number of the first packet is different from the source private port number of the second packet, the source private address of the first packet to the source global address of the second packet and the source private port number of the first packet to a global port number that is in a global port number group corresponding the source global address and that is different from the source global port number of the second packet; and a transmitter that transmits the first packet that has been translated.
2. The address translation device according to claim 1 , wherein the processor further executes: determining whether the destination address and a destination port number of the first packet match the destination address and a destination port number of the second packet, and whether the source private address and the source private port number of the first packet match a source private address and a source private port number of the second packet, translating, when the determining makes a determination of respective matching, the source private address and the source private port number of the first packet to the source private address and the source private port number of the second packet.
3. The address translation device according to claim 1 , wherein the processor further executes: setting the destination address of the second packet and the source global address of the second packet as a combination; determining whether the combination set by the setting is among a series of combinations that were set before the combination and are associated in a first list structure; associating with a tail of the first list structure of the associated series of combinations, the combination determined to not be among the series of combinations; determining whether a node having the source global port number that has been allocated to the second packet is among a series of nodes associated in a second list structure that indicates ports that have been allocated for each combination set by the setting; generating, when the it is determined that a node having the source global port number that has been allocated to the second packet is not among the series of nodes, a node having the source global port number that has been allocated to the second packet; and associating with a tail of the second list structure of the associated series of nodes, the node generated by the node generator.
4. The address translation device according to claim 3 , wherein the processor further executes: associating, based on the global port number allocated to the second packet and global port numbers of the series of nodes in the second list structure, with the second list structure and in sequence of global port number, the node generated by the generating.
5. The address translation device according to claim 3 , wherein the processor further executes: first sequentially searching the first list structure for the combination including the global address that is of the second packet and matches the destination address of the first packet; and second sequentially searching global port numbers of the series of nodes in the second list structure corresponding to the combination retrieved by the first sequentially searching, for an available global port number in the global port number group, wherein translating the source private address of the first packet to the source global address of the second packet and translating the source private port number of the first packet to a global port number retrieved by the second sequentially searching.
6. The address translation device according to claim 5 , wherein the processor further executes: third sequentially searching the series of nodes in the second list structure corresponding to the combination retrieved by the first searcher, up to a given number of nodes, translating the source private address of the first packet to the source global address of the second packet and translating the source private port number of the first packet to a global port number retrieved by the second sequentially searching.
7. The address translation device according to claim 6 , wherein the processor further executes: translating, when no available global port number is retrieved by the second sequentially searching the source private address of the first packet to a source global address that is different from the source global address that has been allocated to the second packet and translating the source private port number of the first packet to a global port number selected from a global port group corresponding to the source global address that is different from the source global address that has been allocated to the second packet.
8. The address translation device according to claim 1 , wherein the receiver receives a packet that is from the communication apparatus on the global network and to the communication apparatus on the private network, the processor further executes: determining whether a destination address and a destination port number of a third packet received by the receiver match the source global address and a source global port number of the first packet that has been translated, and whether a source global address and a source global port number of the third packet match the destination address and the destination port number of the first packet, translating, when the determining makes a determination of matching, the destination address and the destination port number of the third packet to the source private address and a source private port number of the first packet, and the transmitter transmits the third packet that that has been translated.
9. An address translation method executed by a computer, the address translation method comprising: receiving a packet that is from a communication apparatus on a private network and to a communication apparatus on a global network; determining whether a destination address of a first packet received at the receiving matches a destination address of a second packet that was received before the first packet; translating, when at the determining a determination of no matching is made, a source private address of the first packet to a source global address that has been allocated to the second packet; translating, when the determining makes a determination of no matching, a source private port number of the first packet to a source global port number of the second packet; determining whether the destination address and a destination port number of the first packet match the destination address and a destination port number of the second packet, and whether the source private address and the source private port number of the first packet match a source private address and a source private port number of the second packet; translating, when the determining determines that the destination address of the first packet matches the destination address of the second packet and, determines that the destination port number of the first packet is different from the destination port number of the second packet or determines that the source private address of the first packet is different from the source private address of the second packet or determines that the source private port number of the first packet is different from the source private port number of the second packet, the source private address of the first packet to the source global address of the second packet and the source private port number of the first packet to a global port number that is in a global port number group corresponding the source global address and that is different from the source global port number of the second packet; and transmitting the first packet that has been translated at the translator.
10. A non-transitory computer-readable medium storing therein an address translation program that causes a computer to execute a process, the process comprising: receiving a packet that is from a communication apparatus on a private network and to a communication apparatus on a global network; determining whether a destination address of a first packet received at the receiving matches a destination address of a second packet that was received before the first packet; translating, when at the determining a determination of no matching is made, a source private address of the first packet to a source global address that has been allocated to the second packet; translating, when the determining makes a determination of no matching, a source private port number of the first packet to a source global port number of the second packet; determining whether the destination address and a destination port number of the first packet match the destination address and a destination port number of the second packet, and whether the source private address and the source private port number of the first packet match a source private address and a source private port number of the second packet; translating, when the determining determines that the destination address of the first packet matches the destination address of the second packet and, determines that the destination port number of the first packet is different from the destination port number of the second packet or determines that the source private address of the first packet is different from the source private address of the second packet or determines that the source private port number of the first packet is different from the source private port number of the second packet, the source private address of the first packet to the source global address of the second packet and the source private port number of the first packet to a global port number that is in a global port number group corresponding the source global address and that is different from the source global port number of the second packet; and transmitting the first packet that has been translated at the translator.
Unknown
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.