# US 10,313,182 B2 · Apparatus and method to detect a fault in a communication path by using a detection packet

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

- Number: US 10,313,182 B2
- Document ID: US10313182B2
- Status: Granted
- Kind: B2
- Application number: 15/385,134
- Filed: 2016-12-20
- Published: 2017-06-29
- Granted: 2019-06-04
- Earliest claimed: 2015-12-25
- Assignees: Fujitsu Limited
- Applicants: Fujitsu Limited
- Inventors: Osamu Shiraki
- Web page: https://patentgrep.com/patent/US10313182B2

## CPC

- H04L 41/0677: Localisation of faults
- H04L 41/0668: by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 45/26: {Route discovery packet}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An apparatus calculates, from information included in a packet, a first value that is used to select a path through which the packet is to be transmitted to a destination apparatus. When the packet is a detection packet used to detect a fault in a communication path to the destination apparatus, the apparatus obtains a second value by performing calculation on the first value and a variable value that is changed each time the detection packet is transmitted, and adds an outer header including the second value to the packet. The apparatus adds an outer header including the first value to the packet when the packet is not a detection packet. The apparatus transmit the packet to which the outer header has been added, to the destination apparatus.

## Claims

### Claim 1

A non-transitory, computer-readable recording medium having stored therein a program for causing a computer to execute a process comprising:
calculating, from information included in a packet received, a first value that is used to select a communication path through which the received packet is to be transmitted to a destination apparatus;
in response to detecting that the received packet is a detection packet used to detect a fault in a communication path to the destination apparatus,
obtaining a second value by performing a calculation on the first value and a variable value that is changed each time a detection packet is detected to be transmitted, and adding an outer header including the second value to the packet, and
transmitting the detection packet to which the outer header including the second value has been added, to the destination apparatus; and
in response to detecting that the received packet is not a detection packet,
adding an outer header including the first value to the received packet, and
transmitting the received packet to which the outer header including the first value has been added, to the destination apparatus.

### Claim 2 (depends on 1)

The non-transitory, computer-readable recording medium of claim 1, wherein in response to the detecting that the received packet is the detection packet,
reproducing a plurality of detection packets according to a reproductions count, a reproduced detection packet including a corresponding second value to be included, as the second value, in an outer header to be added to the reproduced detection packet, the corresponding second value obtained by performing a calculation on the first value and a corresponding variable value selected as the variable value.

### Claim 3 (depends on 2)

The non-transitory, computer-readable recording medium of claim 2, the process further comprising:
calculating a predicted number of receptions of reply packets responsive to the plurality of reproduced detection packets by using the reproductions count;
suspending output of a reply packet to a source apparatus from which the detection packet was received until a number of receptions of reply packets reaches the predicted number of receptions of reply packets; and
when the number of receptions of reply packets is equal to the predicted number of receptions of reply packets, outputting one of the reply packets to the source from which the detection packet was received.

### Claim 4 (depends on 2)

The non-transitory, computer-readable recording medium of claim 2, the process further comprising:
determining the reproductions count by using a total number of paths from a transmission source of the detection packet to the destination apparatus and a probability that at least one of reproduced detection packets passes through each of the total number of paths.

### Claim 5 (depends on 2)

The non-transitory, computer-readable recording medium of claim 2, the process further comprising:
calculating the first value as a source port number in the outer header to be added to the detection packet;
setting a source port number in the outer header to be added to the reproduced detection packet to the corresponding second calculation value.

### Claim 6

An apparatus comprising:
a processor configured to:
calculate, from information included in a packet received, a first value that is used to select a communication path through which the received packet is to be transmitted to a destination apparatus;
in response to detecting that the received packet is a detection packet used to detect a fault in a communication path to the destination apparatus,
obtain a second value by performing a calculation on the first value and a variable value that is changed each time a detection packet is detected to be transmitted, and add an outer header including the second value to the packet, and
transmit the detection packet to which the outer header including the second value has been added, to the destination apparatus; and
in response to the detecting that the received packet is not a detection packet,
add an outer header including the first value to the received packet, and
transmit the received packet to which the outer header including the first value has been added, to the destination apparatus; and
a memory coupled to the processor and configured to store information used for determining whether the received packet is a detection packet.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the processor is further configured to:
in response to the detecting that the received packet is the detection packet, reproducing a plurality of detection packets according to a reproductions count, a reproduced detection packet including a corresponding second value to be included, as the second value, in an outer header to be added to the reproduced detection packet, the corresponding second value obtained by performing a calculation on the first value and a corresponding variable value selected as the variable value.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the processor is further configured to:
calculate a predicted number of receptions of reply packets responsive to the plurality of reproduced detection packets by using the reproductions count,
suspend output of a reply packet to a source apparatus from which the detection packet was received until a number of receptions of reply packets reaches the predicted number of receptions of reply packets, and
when the number of receptions of reply packets is equal to the predicted number of receptions of reply packets, outputting one of the reply packets to the source from which the detection packet was received.

### Claim 9 (depends on 7)

The apparatus of claim 7, wherein the processor is further configured to:
determine the reproductions count by using a total number of paths from a transmission source of the detection packet to the destination apparatus and a probability that at least one of reproduced detection packets passes through each of the total number of paths.

### Claim 10 (depends on 7)

The apparatus of claim 7, wherein the processor is further configured to:
calculate the first value as a source port number in the outer header to be added to the detection packet;
set a source port number in the outer header to be added to the reproduced detection packet, to the corresponding second calculation value.

### Claim 11

A method comprising:
causing an information processing apparatus to:
calculate, from information included in a packet received, a first value that is used to select a communication path through which the received packet is to be transmitted to a destination apparatus;
in response to detecting that the received packet is a detection packet used to detect a fault in a communication path to the destination apparatus,
obtain a second value by performing a calculation on the first value and a variable value that is changed each time a detection packet is detected to be transmitted, and add an outer header including the second value to the packet, and
transmit the detection packet to which the outer header including the second value has been added, to the destination apparatus;
in response to the detecting that the received packet is not a detection packet, add an outer header including the first value to the received packet, and
transmit the received packet to which the outer header including the first value has been added, to the destination apparatus; and
detect a fault by determining whether a reply packet to the detection packet is obtained.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
causing a management apparatus operable to communicate with apparatuses including the information processing apparatus in a network, to:
determine candidate communication paths from the information processing apparatus to the destination apparatus,
obtain a passing state based upon notified passing information of a packet reproduced by adding the outer header to the detection packet, from the information processing apparatus, the destination apparatus, and a forwarding apparatus that forwards the reproduced packet transmitted and received between the information processing apparatus and the destination apparatus, and
detect an occurrence of the fault for a candidate communication path among the candidate communication paths by determining, from the passing state obtained from at least the forwarding apparatus disposed on the candidate communication path, whether the reproduced packet arrived at the destination apparatus through the candidate communication path.

### Claim 13 (depends on 12)

The method of claim 12, wherein
the passing information of which the management apparatus is notified as the passing state includes a value that has been set in the outer header in the detection packet as the second value; and
when a first calculation value obtained by performing a calculation on the first value and the variable value is set as the second value in an outer header of a first detection packet, and
when a second calculation value obtained from a calculation on the first value and a second variable value is set as the second value in an outer header of a second detection packet,
the management apparatus,
determines that the first detection packet has passed through candidate communication path among the candidate communication paths on which at least a forwarding apparatus disposed on the candidate communication path and that has notified the management apparatus of the passing information including the first calculation value, and
determines that the second detection packet has passed through another candidate communication path among the candidate communication paths on which another forwarding apparatus disposed on the another candidate communication path and that has notified the management apparatus of the passing information including the second calculation value is disposed.
