Method and device for managing at least one communication of a terminal device in a communication network

By detecting the status function on the network path on the terminal device and optimizing the frequency of the keep-alive messages, the resource waste caused by frequent keep-alive messages in QUIC communication is solved, which extends the working time of the terminal device and improves communication efficiency.

CN114303346BActive Publication Date: 2025-01-14ORANGE SA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080060495.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-06-28
Filing Date
2020-06-24
Publication Date
2025-01-14
Estimated Expiration
2040-06-24

AI Technical Summary

Technical Problem

When the existing QUIC communication protocol has state functions (such as NAT, firewall) on the network path, it is necessary to send keep-alive messages frequently to avoid connection interruption, resulting in waste of resources and increased energy consumption, especially in mobile terminal devices, which affects them. Working hours and battery life.

Method used

By detecting whether the status function exists on the network path on the terminal device, the keep-alive mechanism is activated only when it exists, and the sending frequency of the keep-alive message is optimized based on the life of the detected state function to reduce unnecessary resource consumption.

Benefits of technology

It effectively reduces the power consumption and battery consumption of terminal equipment, extends the working time of mobile terminal equipment, and improves communication efficiency and resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114303346B_ABST
    Figure CN114303346B_ABST
Patent Text Reader

Abstract

The present invention relates to a method for managing at least one communication according to a transmission protocol of a terminal device in a communication network, the terminal device being able to access the communication network via at least one IP resource, each IP resource comprising an IP address and a port number, the method comprising: detecting (22) the presence of at least one status function on at least one path, the at least one path allowing the terminal device to be reached via the communication network at an IP address of the terminal device referred to as a second IP address, the at least one status function being configured to maintain in a table a status associated with the communication on the path during a predetermined lifespan, comprising: sending a first message in the communication network from at least one first IP resource of the terminal device to a second IP resource of the terminal device, the first IP resource comprising a first IP address and a first port number, the second IP resource comprising the second IP address and a second port number, and determining the presence of at least one status function on the at least one path based on data received by the second IP resource in response to the sending of the first message, and triggering (23) an action for managing the communication of the terminal device on the at least one path, the at least one path allowing the terminal device to be reached via the communication network at the second IP address.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The field of the invention is that of communication networks and more particularly the management of communications of terminal devices in such a network.

[0002] The present invention has particular application in communication networks implementing value-added IP services. Background Art

[0003] The communication protocol called QUIC is designed to reduce the delays observed during TCP (Transmission Control Protocol)-based communications, in particular the time it takes to establish communication between a first terminal device, called a client or sending terminal or simply a terminal, and a second terminal device, called a server or receiving terminal, via a communication network. To this end, the QUIC protocol is based on the User Datagram Protocol (UDP). In fact, for example, unlike the TCP protocol, the UDP transport protocol does not use a 3-way handshake signaling mechanism, so that the terminal can adapt the data transmission frequency to the network bandwidth conditions. Specifically, under certain conditions, the QUIC protocol makes it possible to send useful data as soon as the first packet of the communication is sent, without the QUIC client having to wait for a reply from its communicating party. This reduces delays and signaling times between clients.

[0004] In order to support any IP address changes without having to terminate ongoing QUIC communications, the QUIC transport protocol does not rely on transport addresses, more specifically, on the quadruplet {source IP address, source port number, destination IP address, destination port number}, but on a connection identifier called a CID. The QUIC specification defines two types of CIDs: destination CID and source CID.

[0005] Currently, the QUIC protocol supports a connection migration mechanism that allows QUIC communications to be maintained in the event of a change in one of the addresses (or port numbers) of the participants, including changes associated with the use of addresses assigned by a Network Address Translation (NAT) intermediate device. The receipt of a message associated with an ongoing communication presenting a new source address is an indication of a connection migration. Thus, a connection migration includes moving from one quadruple {source address, source port number, destination address, destination port number} to another quadruple.

[0006] However, the presence of stateful functions (such as NAT, firewall or proxy functions) on the network path used by QUIC communications can be a source of problems that impair the quality of communication. In practice, in a known manner, such stateful functions are typically hosted by an intermediate device and maintain a table that specifically includes entries associated with the internal source addresses and external source addresses of outgoing data packets. They use this table to filter incoming packets by discarding those that do not match valid table entries. Entries are typically kept for a period of time (called a predetermined lifetime), after which, in the absence of new outgoing data packets or sufficient control messages to extend the lifetime, the entry is invalidated and removed from the table. This lifetime can be very short, on the order of seconds.

[0007] In order to overcome this shortcoming, communication protocols including QUIC use a "keepalive" mechanism for communication, which specifically can check whether the link on which the communication is established is still active, or prevent the link from being interrupted. In the case of establishing communication on a link including an intermediate device (for example, NAT type), for the terminal device, this mechanism is to send signaling messages to the remote terminal device at a regular frequency so that the entries in the table maintained by the intermediate device will not be suddenly deleted to avoid the risk of interrupting the communication between the terminals while the data exchange has not been completed. For example, the IPsec protocol uses a message called "NAT-keepalive" with a default sending frequency of 20 seconds.

[0008] Today, this "keep-alive" mechanism, as a feature of some communication protocols including the QUIC protocol, is applied indiscriminately by an end device to all paths that the end device can use to access the communication network, regardless of whether there is stateful functionality on that path.

[0009] However, this mechanism is expensive in terms of resources, both for the network it overloads and for the end devices whose computing resources it requires, and in the case of battery-powered end devices (such as mobile terminals) even increases energy consumption.

[0010] In this regard, disabling this "keep alive" mechanism can increase the operating time of battery-powered terminal devices (such as mobile terminals) by 5 or 6 times. It should also be noted that reducing the frequency of "keep alive" messages significantly helps to increase the battery life of terminal devices. In fact, the terminal device may embed several applications, each of which sends its own "keep alive" message. As the number of "keep alive" messages required to send each embedded application in the terminal device is reduced, the potential gain becomes greater.

[0011] Therefore, there is a need for a technique that makes it possible to avoid unnecessary activation of a keep-alive mechanism or to optimize its use (for example, by optimizing the frequency of sending messages related to the activation of the keep-alive mechanism), in particular when the mechanism is used to maintain entries of characteristics of communications established on a path including the intermediate device in a table provided for this purpose and managed by at least one intermediate device. Summary of the invention

[0012] The present invention responds to this need by proposing a method for managing at least one communication established on a transmission protocol of a terminal device in a communication network, the terminal device being able to access the communication network via at least one IP resource, each IP resource comprising an IP address and a port number, the method comprising:

[0013] - detecting the presence of at least one state function on at least one path, the at least one path allowing the terminal device to be reached via the communication network at an IP address of the terminal device referred to as a second IP address, the at least one state function being configured to maintain in a table a state associated with communications on the path during a predetermined lifetime, comprising: sending a first message in the communication network from at least one first IP resource of the terminal device to a second IP resource of the terminal device, the first IP resource comprising a first IP address and a first port number, the second IP resource comprising the second IP address and a second port number, and determining the presence of the at least one state function on the at least one path based on data received by the second IP resource in response to the sending of the first message, and

[0014] - triggering, as a function of said detection, an action for managing the communication of a terminal device on said at least one path, said at least one path allowing reaching said terminal device via said communication network at said second IP address.

[0015] The present invention relates to the management of the communication of terminal devices in a communication network, which includes intermediate devices embedded with state functions (such as NAT or firewall). These state functions only allow data packets exchanged by terminal devices via communication to pass if they correspond to valid entries in their state tables, and this validity is only guaranteed within a certain time period. As a result, it may be complicated to manage the communication of terminal devices on such a network. In order to improve this situation, the present invention is based on a completely new and creative method, which consists in discovering the existence of state functions on the path linking various resources that terminal devices can use to access the communication network, and taking into account the results of this discovery in order to determine the communication management actions to be triggered. One principle of the present invention is to send a message from at least one first IP resource of a terminal device to a second IP resource of the terminal device, and after the sending of the message, determine the existence of state functions on the path linking the first resource and the second resource based on the data received by the terminal device on its second IP resource. In other words, the present invention proposes to discover the possible existence of state functions by utilizing the local IP resources of the terminal device. The detection of the state function on one of the paths that allows the terminal device to reach the second IP address is considered for the management of the communication involving this second IP address of the terminal device.

[0016] The present invention is also applicable when the terminal device has only one IP address to access the network (the first IP resource and the second IP resource are characterized by having exactly the same IP address but different port numbers).

[0017] The present invention is applicable to any type of transmission protocol, in particular, the QUIC protocol.

[0018] According to one aspect of the invention, the presence of at least one status function on the path is determined when the received data includes an error message or when the second IP resource does not receive data in response to at least one of the first IP resources sending a first message.

[0019] According to another aspect of the present invention, the first message includes a request for establishing communication between the at least one first IP resource and the second IP resource of the terminal device, and when the data received by the second IP resource of the terminal device includes the first message, it is determined that there is no state function on the path connecting the at least one first IP resource to the second IP resource via the network.

[0020] One principle of the present invention is to exploit the different network access resources available to a terminal device to discover the state functions present on the path connecting these resources. For example, in order to be able to detect the presence of a state function on the path associated with a second IP address of a terminal device, new communications are established from the resource comprising the IP address of the terminal device to the resource comprising the second IP address. These new communications do not correspond to any valid entries in the table maintained by any state function present on the path of the exchange of messages.

[0021] According to yet another aspect, the detecting step comprises, prior to sending, masking routing information associated with the second IP resource and contained in the request for establishing the communication.

[0022] One advantage is that only one interface is used to emulate the terminal device.Thus, the second IP resource is not identified as a local address of the sending terminal device, and the communication request is sent via the output interface of the terminal device.

[0023] Alternatively, the detecting step comprises, before sending of the communication establishment request, recording an identification information item of at least one routing device of the communication network associated with said at least one first IP resource.

[0024] Another option for forcing the communication request to be sent over the network is source routing, ie explicit specification of a router device of the communication network which is responsible for routing the data packets sent by the first terminal device over a path corresponding to the first IP resource.

[0025] According to another aspect of the present invention, communication is established between the at least one first IP resource of a terminal device and the IP resource of a second terminal device, the first message is sent to the IP resource of the second terminal device via the communication, the first message includes at least one command for sending a response to the second IP resource and a command for inserting a security information item in the at least one response, and when data received on the second IP resource of the terminal device (T1) includes the response, it is determined that there is no state function on a path allowed to reach the terminal device via the communication network on the second IP resource.

[0026] An advantage of this embodiment is that it utilizes the communication already established by the terminal device from one of its network accesses to test its other network accesses.

[0027] According to another aspect of the present invention, when the presence of at least one state function is detected on the at least one path, the method includes determining a time period for sending a keep-alive message of the status of the communication established by the at least one state function on the at least one path, storing the determined time period, and considering the determined time period when determining a management action on the communication via the path.

[0028] An advantage of knowing this time period is that it is used to optimize communication management. For example, the communication on the path whose state function has the highest time period can be selected and the keep-alive mechanism activated by configuring the message sending according to said time period to limit the power consumption of the terminal device.

[0029] According to another aspect of the present invention, the determining comprises:

[0030] - establishing, on said path associated with the second IP address, from an IP resource comprising an IP address of the terminal device different from the second IP address, a communication associated with a path allowing to reach said terminal device via said network, for which path the presence of a stateful function is not detected;

[0031] - sending data via the established communication at a series of moments, two consecutive moments of the series being separated by a time interval having a current value initialized to zero and doubling at each new data transmission, as long as the communication is not lost; and

[0032] - determining a parameter representing said transmission time period which is smaller than said current value.

[0033] For example, the selected parameter value is equal to half the current value of the time interval.The advantage of this determination is that it allows to obtain an optimal sending frequency of keep-alive messages of the status function in a simple manner, which saves energy resources.

[0034] According to another aspect of the invention, the method comprises updating the state of the configuration of the keep-alive mechanism representing the state function, depending on the at least one decision made for the at least one path, the state being associated with the at least one path allowing the terminal device to be reached via the communication network at the IP address of the second IP resource of the terminal device.

[0035] For example, when no state function is detected on the path, the state is set to an "optimized" value, since in this case it is not necessary to activate the keep-alive mechanism of the table, or after determining the lifetime associated with the detected state function, the state is set to an "optimized" value. Conversely, in particular when a state function is detected, it is additionally set to an "unoptimized" value to indicate that the keep-alive mechanism of the state function table must be activated and its configuration must be optimized. One advantage of associating such a state with the IP resources of the terminal device is that it facilitates the management of communications via the network, in particular allowing the terminal device to establish resource-saving communications.

[0036] According to another aspect of the present invention, the triggered management action includes: when no state function is detected on the path, establishing communication via the path of the terminal device without activating a keep-alive mechanism of the state associated with the communication; and when the state function is detected on the path, establishing communication via the path by activating a keep-alive mechanism of the state associated with the communication. Therefore, with the present invention, the keep-alive mechanism of the state associated with the communication can be activated only when necessary (i.e. when the state function is detected on the path involved in the communication), thereby saving terminal and network resources.

[0037] According to another aspect of the present invention, when communication with another terminal device is established from the IP address of a second IP resource of the terminal device, the triggered management action includes sending the status of the at least one path associated with the IP address and / or the determined time period in a request for establishing the communication or during the communication.

[0038] Thus, according to the invention, a terminal device comprises its own path table (usually identified by the local IP address of the terminal device) and copies of the path tables of other terminal devices with which it communicates (usually identified by the IP addresses of the remote terminal devices). It will be appreciated that the states and lifetimes associated with the paths over which communications are established may be different. Their mutual knowledge allows the terminals to negotiate between themselves the best choice of paths and lifetimes to be applied to the keep-alive mechanisms of the states maintained by the state functions that may be present on the communication paths. In this way, the optimization is more efficient because it is implemented by all participants in the communication.

[0039] The invention also relates to a computer program product comprising program code instructions for implementing the method for managing at least one communication as described above when executed by a processor.

[0040] The invention also relates to a computer-readable storage medium having stored thereon a computer program comprising program code instructions for implementing the steps of the management method according to the invention as described above.

[0041] Such a storage medium may be any entity or device capable of storing a program. For example, the medium may include a storage device such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording device, for example a USB flash drive or a hard drive.

[0042] On the other hand, such a storage medium may be a transmissible medium such as an electrical or optical signal, which may be carried by radio or other means via an electrical or optical cable so that the computer program contained therein may be remotely executed. The program according to the invention may be downloaded over a network (e.g., the Internet).

[0043] Alternatively, the storage medium may be an integrated circuit in which a program is embedded, the circuit being adapted to execute or be used to execute the above-mentioned management method.

[0044] The invention also relates to a device for managing at least one communication of a terminal device in a communication network, the terminal device being able to access the communication network via at least one IP resource, characterised in that the device is configured to:

[0045] - detecting the presence of at least one state function on at least one path that allows reaching the terminal device via the communication network at an IP address of the terminal device, referred to as a second IP address, the at least one state function being configured to maintain in a table a state associated with communications on the path during a predetermined lifetime, comprising sending a first message in the communication network from at least one first IP resource of the terminal device to a second IP resource of the terminal device, the first IP resource comprising a first IP address and a first port number, the second IP resource comprising the second IP address and a second port number, and determining the presence of the at least one state function on the at least one path based on data received by the second IP resource in response to the sending of the first message, and

[0046] - Based on said detection, triggering an action for managing the communication of a terminal device on said at least one path allowing to reach said terminal device via said communication network on said second IP address.

[0047] More generally, such a device is capable of implementing a method for managing at least one communication as previously described.

[0048] Advantageously, the device is integrated in a terminal device capable of accessing a communication network from at least one IP resource comprising an IP address and a port number.

[0049] The device may also be integrated in a proxy device of a communication network, the proxy device being able to relay data sent by terminal devices connected to said network.

[0050] The aforementioned corresponding items of terminal equipment, means for managing at least one communication and computer program have at least the same advantages as provided by the management method according to the invention.

[0051] Relatedly, the present invention also relates to a method for processing a communication established on a transmission protocol between a first terminal device and a second terminal device in a communication network via at least one IP resource of the first terminal device, each IP resource comprising an IP address and a port number, the method comprising:

[0052] - receiving from the first IP resource a message comprising an IP address, referred to as the first IP address, and a port number, referred to as the first port number, of the first IP resource, the message comprising a command for sending a response to at least one second IP resource of the first terminal device, a command for inserting a security information item in the response, the second IP resource being different from the first IP resource and comprising a second IP address and a second port number;

[0053] - extracting said at least one second IP resource and said security information item from said command;

[0054] - sending at least one response comprising said security information item to said at least one second IP address and said second port number.

[0055] The response from the second terminal device to the message sent by the first terminal device is used by the method for managing at least one communication implemented by the first terminal device to detect the presence of a state function on the path associated with the second IP address. Advantageously, a confirmation message is sent to the first terminal device. The first terminal device thus receives a confirmation that the second terminal device has received its command. Thus, if it does not receive a response including a security information item, the first terminal device will be able to infer the presence of a state function on the test path.

[0056] Relatedly, the present invention also relates to a method for processing a communication established on a transmission protocol between a first terminal device and a second terminal device in a communication network via at least one IP resource of the first terminal device, each IP resource comprising an IP address and a port number, characterized in that the method comprises:

[0057] - receiving, on an IP resource of the second terminal device, called the destination IP resource, a message relating to a communication established or to be established from an IP resource of the first terminal device, called the source IP resource, said message comprising a state of the configuration of a keep-alive mechanism representing an entry of a table maintained by a state function, said entry associating a state with a communication on a path to reach said first terminal device via said communications network at the IP address of the source IP resource within a predetermined lifetime, and a time period representing a frequency of sending state keep-alive messages for the communication, said state being associated with said IP address;

[0058] - adjusting the state and time period according to the state and time period values ​​stored in memory in association with the destination IP address;

[0059] - Send a response including the adjusted value.

[0060] Therefore, with the present invention, two terminal devices negotiate the activation / deactivation of the "keep-alive" mechanism and the optimal sending frequency of the keep-alive messages.

[0061] The invention also relates to a computer program product comprising program code instructions for implementing the method for processing communications as described above when executed by a processor.

[0062] The invention also relates to a computer-readable storage medium having stored thereon a computer program comprising program code instructions for implementing the steps of the processing method according to the invention as described above.

[0063] Such a storage medium may be any entity or device capable of storing a program. For example, the medium may include a storage device such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording device, for example a USB flash drive or a hard drive.

[0064] On the other hand, such a storage medium may be a transmissible medium such as an electrical or optical signal, which may be carried by radio or other means via an electrical or optical cable so that the computer program contained therein may be remotely executed. The program according to the invention may be downloaded over a network (e.g., the Internet).

[0065] Alternatively, the storage medium may be an integrated circuit in which a program is embedded, the circuit being adapted to execute or be used to execute the above-mentioned management method.

[0066] The present invention also relates to a device for processing communication between a first terminal device and a second terminal device via a communication network through a transmission protocol, characterized in that the device is configured to implement the above-mentioned method for processing communication.

[0067] Advantageously, the device is integrated in a terminal device capable of accessing a communication network from at least one IP resource comprising an IP address and a port number. It can also be integrated into the aforementioned proxy device.

[0068] The aforementioned corresponding terminal device, device for processing at least one communication and computer program have at least the same advantages as provided by the processing method according to the invention.

[0069] Finally, the invention relates to a node device of a communication network capable of receiving data on at least one IP resource comprising an IP address and a port number and capable of retransmitting them from said at least one IP resource, the data coming from a communication between an IP resource of a first terminal device, called a source IP resource, and an IP resource of a second terminal device, called a destination IP resource. Such a device is configured to:

[0070] - detecting the presence of at least one state function on at least one path, the at least one path allowing the node device to be reached via the communication network on an IP resource of the terminal device, referred to as a second IP resource, the at least one state function being configured to maintain in a table a state associated with communications on the path over the determined lifetime, comprising sending a first message from at least one first IP resource of the node device to the second IP address of the terminal device in the communication network, and determining the presence of at least one state function on the at least one path based on data received by the second IP resource in response to the sending of the first message;

[0071] - Based on said detection, triggering an action for managing the communication of a terminal device on said communication network via said path.

[0072] Therefore, the present invention is recursively implemented by different node devices involved in the test path. BRIEF DESCRIPTION OF THE DRAWINGS

[0073] Other objects, features and advantages of the present invention will become more apparent upon reading the following description, which is given here as an illustrative and non-limiting example in relation to the accompanying drawings, in which:

[0074] [ Figure 1 ]: The figure schematically shows an example of a terminal device having several paths connected to a communication network;

[0075] [ Figure 2 ]: The figure shows in the form of a flow chart the steps of a method for managing at least one communication of a terminal device in a communication network according to an embodiment of the present invention;

[0076] [ Figure 3A ]: This figure schematically shows a first construction example of a candidate communication list between two different addresses of the same terminal device;

[0077] [ Figure 3B ]: This figure schematically shows a second construction example of a candidate communication list between two different addresses of the same terminal device;

[0078] [ Figure 4 ]: the figure details in the form of a flow chart the individual sub-steps of the step of discovering at least one status function on the path of a terminal device according to a first embodiment of the method for managing at least one communication according to the invention;

[0079] [ Figure 5 ]: The figure schematically shows a first example of a state function present on a path of a terminal device in a communication network;

[0080] [ Figure 6]: This figure schematically shows a second example of a state function present on a path of a terminal device in a communication network;

[0081] [ Figure 7 ]: This figure schematically shows a third example of a status function present on a path of a terminal device in a communication network;

[0082] [ Fig. 8A ]: the figure schematically shows a first option of the invention for forcing the sending of a communication request intended for the address of a sending terminal device in a communication network;

[0083] [ Figure 8B ]: This figure schematically illustrates receiving a communication request at a destination address of a sending terminal device according to this first option;

[0084] [ Fig. 9 ]: This figure schematically shows a second option of the invention for forcing the sending of a communication request intended for the address of a sending terminal device in a communication network;

[0085] [ Fig.10 ]: This figure schematically shows a direct communication established by a terminal device between its two interfaces according to a first embodiment of the present invention;

[0086] [ Fig.11 ]: This figure schematically shows a direct communication established by a terminal device between its two interfaces according to a second embodiment of the present invention;

[0087] [ Fig.12 ]: This figure schematically shows direct communication established by a terminal device between its two interfaces according to a third embodiment of the present invention when the terminal device is connected to a network via an access device;

[0088] [ Fig.13 ]: This figure shows an embodiment of the present invention when the terminal device has been configured with a proxy device located in the communication network;

[0089] [ Fig.14 ]: the figure details in the form of a flow chart the individual sub-steps of the step for discovering at least one status function on the path of a terminal device according to a second embodiment of the method for managing at least one communication according to the invention;

[0090] [ Fig.15 ]: This figure schematically shows an example of the structure of a command message (referred to as a mirror message) sent by a terminal device to a second terminal device via established communication according to an embodiment of the present invention;

[0091] [ Fig.16]: This figure schematically shows a first embodiment of a function for detecting a presence status on a path of a first terminal device using communication already established with a second terminal device according to a second embodiment of the present invention;

[0092] [ Fig.17 ]: This figure schematically shows a second embodiment of a function for detecting a presence status on a path of a first terminal device using communication already established with a second terminal device according to a second embodiment of the present invention;

[0093] [ Fig.18 ]: This figure schematically illustrates the determination of the lifetime of an input to a state function detected on a path to a terminal device according to a third embodiment of the invention;

[0094] [ Fig.19A ]: This figure schematically shows a first example of the structure of a control message of the life of a status function detected on a path of a terminal device according to a third embodiment of the present invention;

[0095] [ Fig.19B ]: This figure schematically shows a second example of the structure of a control message of the life of a state function detected on a path of a terminal device according to a third embodiment of the present invention;

[0096] [ Fig. 20 ]: This figure schematically shows an example of a terminal device sending a control message to a second terminal device according to a third embodiment of the present invention;

[0097] [ Fig.21 ]: The figure shows a schematic diagram of a device for managing at least one communication of a terminal device in a communication network according to the present invention; and

[0098] [ Fig. 22 ]: The figure shows an overview of an apparatus for processing communications of a terminal device in a communications network according to the present invention. DETAILED DESCRIPTION

[0099] General principles

[0100] The general principle of the invention is based on the discovery of state functions present on one or more paths that allow reaching an interface of a terminal device via a communication network, and on the decision, based on said discovery, to trigger a management action for communication with another terminal device on one of these paths. For example, one possible action is to establish communication by selecting a path without an intermediate state function and not activating a keep-alive mechanism for entries in a table maintained by such a state function. Thus, the invention makes it possible to manage the communications of terminal devices via a communication network more efficiently and to optimize the energy resources involved in these communications.

[0101] The present invention is applicable to any type of terminal equipment: a single-interface terminal equipment or a multi-interface multi-purpose terminal equipment, which can establish communications on multiple paths while maintaining the continuity of corresponding (multiple) services when the terminal equipment is in a mobile state.

[0102] In the following description, a terminal device (or sometimes simply referred to as a "terminal") is any entity capable of establishing or accepting the establishment of communications based on the use of one or more transport protocols (such as TCP, UDP, or QUIC). It can be a physical entity, a virtual entity, or a software application embedded in the terminal device.

[0103] "QUIC protocol" or simply "QUIC" refers to any protocol that conforms to a version of the QUIC protocol specification or draft specification, such as the IETF draft specification entitled "QUIC: Multiplexing and Secure Transport over UDP", or the "Quick UDP Internet Connections" protocol specification known as the "QUIC" protocol, including existing versions of these specifications or draft specifications and their development. More generally, QUIC is used here to refer to any transport protocol encapsulated on top of another UDP or UDP-lite (Lightweight User Datagram Protocol) transport protocol but whose primitives and payload are encrypted.

[0104] The present invention is applicable to any type of terminal equipment, fixed or mobile, including one or more interfaces for communicating with a communication network. These interfaces can be wired (such as ADSL or optical fiber interfaces) or wireless (such as WLAN, Bluetooth, Zigbee or other interfaces).

[0105] A communication network is generally defined as an Internet-type communication network that can be accessed by terminal devices via one or more access networks.

[0106] The terminal device that initiates the communication establishment is usually called the sending terminal or client, while the terminal to which the establishment request is directed is called the remote terminal or server. Therefore, a single terminal can act as both a client and a server.

[0107] It is assumed that one or more paths of the terminal are available for establishing communication, and communication may be established via the one or more paths.

[0108] Stateful functions (such as network address translation or NAT or firewalls) may exist on all or part of the available paths that terminal devices can use to access the network, either in the access network of the sending terminal, or in the access network of the remote terminal, or in both. NAT functions may be of different kinds, such as NAT44, NAT64, DS-Lite, NPTv6, L2NAT, NAT 66, etc. Several NAT functions may exist on a given path, such as in a "double NAT" deployment.

[0109] A network path may involve both NAT and firewall functions, with no restrictive assumptions about the number of functions present or the order in which they work.

[0110] An incoming state function is a state function located in the access network to which the destination terminal of the communication is connected. An outgoing state function represents a state function located in the access network to which the terminal device sending the communication establishment request is connected. Therefore, depending on the direction of the traffic, a state function can act as an inbound state function or an outbound state function.

[0111] One or more addresses or prefixes may be assigned to a terminal device by the access network.

[0112] An IP resource designation includes a pair of an IP address and a port number.

[0113] In the following description, the case of communication established with the QUIC protocol will be described in more detail, in particular the signaling message structure adapted to the QUIC protocol, but the present invention is not limited to this example, but more broadly relates to any other transport protocol used by a sending terminal device to establish communication with a remote terminal device via a communication network, such as the TLS (Transport Layer Security) protocol. In the example described below, the case of a NAT state function is specifically considered, but the present invention is more generally applicable to any type of state function.

[0114] Combination Figure 1 , presents a terminal device T1 having several paths for accessing a communication network RC (such as the Internet) via interfaces allowing the terminal T1 to connect to different access networks: a first path C1 associated with the IP address @T11 of the terminal device T1 via the access network N11 to the network RC, a second path C2 associated with the address @T12 of the terminal device T1 via the access network N12, an i-th path Ci associated with the address @T1i of the terminal device T1 via the access network N1i, where i is a non-zero integer.

[0115] Figure 2 The main steps which are implemented by a method for managing at least one communication of a terminal in a communication network RC are shown.

[0116] In step 20, for example at the start-up of the terminal T1, it is verified whether it has several network paths C1i for accessing the network RC and an ACAL list of addresses associated with these paths (i.e. a "candidate list of addresses") is obtained. Preferably, for the IP address @T1i of the terminal T1, such an ACAL list comprises an entry associating at least one STATUS value with the address @T1i. By default, this parameter is set to OKOFF, which means that for this address no optimization is implemented for the management of the large number of messages sent by the keep-alive mechanism of the status function.

[0117] In 21, based on the ACAL list, a list of candidate communications CCs called PCL (path candidate list) is constructed between two different resources of the terminal device T1, i.e. between the first pair (first IP address, first port number) and the second pair (second IP address, second port number). It should be understood that these candidate communications are intended to connect two different resources of the same terminal device T1.

[0118] Optionally, the PCL list may not include private IPv4 addresses, as described in document RFC1918, published by the IETF in February 1996 and accessible via the following URL: https: / / tools.ietf.org / html / rfc1918, IPv4 prefixes reserved by IANA for shared address space addresses; as specified in document RFC6598, published by the IETF in April 2012 and accessible via the following URL: https: / / tools.ietf.org / html / rfc6598, LLA ("Link-Local Address") or ULA ("Unique Local Address") IPv6 addresses. Note that the exclusive allocation of such addresses to terminal devices indicates that an address translation mechanism is implemented in the communication network to allow global connectivity.

[0119] Note also that for the same candidate communication in an element, i.e., PCL list, the source address and the destination address must be of the same type or address family, e.g., IPv4 or IPv6, but the list may contain candidate communications involving addresses of different types, e.g., a candidate communication between two IPv4 addresses and a candidate communication between two IPv6 addresses.

[0120] In 22, the presence of at least one state function is detected on at least one path allowing the terminal T1 to be reached via the communication network RC at the IP address of said terminal device, called the second IP address. Advantageously, this step is repeated for all the paths listed in the ACAL list.

[0121] To perform this detection, candidate communications from the PCL list are used.

[0122] For example, consider a candidate communication involving a second IP address. A first message is sent in the communication network from at least one first IP resource of the terminal device to a second IP resource of the terminal device, the second IP resource comprising a second IP address and a port number. The terminal T1 then determines the presence of at least one state function on the path taken by the communication connecting the terminal T1 to the network RC via the second IP resource based on the data received on the second IP resource in response to the sending of the first message. Advantageously, this step is repeated for all candidate communications involving the second IP address of the terminal T1.

[0123] It will be appreciated that the detection of the presence of the stateful functionality for one of the candidate communications is sufficient to conclude that the stateful functionality exists on the path connecting the terminal T1 to the network RC via the second IP address.

[0124] In 23, based on said detection, a management action is triggered for the communication of the terminal device T1 on a path allowed to reach said terminal device via said communication network at said second IP address.

[0125] For example, the management action of step 23 includes selecting a path for establishing communication with the remote terminal according to the result obtained in 22. Examples of management actions will be described in detail in the remainder of the description.

[0126] The step 21 for obtaining a PCL list of candidate communications from the paths in the ACAL list, referred to as LISTPCL, will now be described in detail.

[0127] PCL LIST Steps

[0128] The purpose of this step is to create a PCL list based on the ACAL list.

[0129] If the addresses in the ACAL list are not all of the same type, for example, if the list includes elements of different types, such as IPv4 addresses and IPv6 addresses, a sublist is created for each address type: ACAL(v4) and ACAL(v6).

[0130] Note that the ACAL list of paths available at the terminal T1 to access the network RC may include IP addresses or prefixes, but also network interface names (eg eth1, wlan0), network names, etc. In the following the elements of the ACAL list will be mentioned.

[0131] According to the present invention, the PCL list includes candidate communication CCs between two elements of the ACAL list. It is created considering the following restrictions:

[0132] - Each entry in the PCL list consists of two elements in the ACAL list;

[0133] -The first element of a PCL entry is called "source". The port number of terminal T1 (called source port) is associated with it;

[0134] -The second element of the PCL entry is called "destination". The port number of terminal T1 (called destination port) is associated with it;

[0135] - Each element of the ACAL list must appear as a "destination" in at least one PCL entry;

[0136] - Two ACAL elements can belong to only one and only one PCL entry;

[0137] - Elements in an ACAL list may appear as "sources" in several PCL entries;

[0138] Some elements of the ACAL list may not appear as "sources" in any PCL entry;

[0139] - Sort the PCL list;

[0140] - The entry with source SRC1 does not have to precede the entry with destination SRC1. In fact, this configuration will create an entry in a possible intermediate state function of element SRC1. When testing a communication destined for SRC1, this state function can let through the data packets used to perform the test, thus hiding the presence of this state function on the path associated with SRC1.

[0141] Figure 3A and Figure 3B Two examples of constructing a PCL list from an ACAL list comprising elements N11, N12, ..., N1i are shown. These two examples satisfy the constraints listed above.

[0142] Figure 3A The example in generates the following PCL listing:

[0143] {N11,N12}, {N12,N13}, {N13,N14},…, {N1i-1,N1i}, {N1i,N11}.

[0144] Figure 3B The example in generates the following PCL listing:

[0145] {N11,N12}, {N11,N13}, {N11,N14},…, {N1i,N1i-2}, {N1i,N1i-1}, {N1i,N11}.

[0146] about Figure 4 , step 22 of detecting the presence of a status function according to the first embodiment of the present invention will now be described in detail.

[0147] MULT1 Implementation or "Standalone" Mode

[0148] like Figure 4 As shown, in 220, the communication to be established is selected from the candidate communications in the PCL list. During this selection, care is taken not to select a source IP resource that has just been used as the source or destination of a previous communication to avoid the entry corresponding to the resource being maintained as valid in the state function table existing on the test path.

[0149] In 221, the selected communication is established by forcing a communication establishment request between the source address, source port number and the destination address and destination port number to be sent in the communication network so that the request is not processed locally at the terminal T1. Advantageously, the source port number selected for the candidate communication is different from the source port number that has been used to test the candidate communication previously listed. This condition is necessary to detect the presence of an EIF / EIM (endpoint-independent filtering / mapping) NAT function or a firewall.

[0150] In fact, if Figure 5 As shown, if communication from the new address @T1i to another address @T2 has been previously established (and maintained by the NAT function), communication from that address @T1i can be established with address @T11 even in the presence of NAT. Figure 5 , assuming that the NAT function supports the "EIF / EIM" mode. When terminal T11 establishes communication with remote terminal T1i, the NAT function assigns an external address and external port number (212.25.26.25:1234) to the communication, and rewrites the internal source address and internal port number (192.168.0.2:7856) of the packet sent by T11 to T1i. The NAT function then stores an entry in its table to associate the internal and external information of the communication. The entry does not contain information about T1i. Therefore, by rewriting the destination address and port number (192.168.0.2:7856) according to the instructions in the above table, any incoming communication to (212.25.26.25:1234) will be routed to T11. In other words, the NAT function does not check the source address and port number to process incoming packets.

[0151] Note that other types of filtering are more restrictive and easier to detect. Examples include ADM / ADF (Address Dependent Filtering), such as Figure 6 As shown, or APDM / APDF (address port dependent filtering), such as Figure 7 In fact, unlike the EIM / EIF mode, in the ADM / ADF mode ( Figure 6) must save in memory the destination address of outgoing packets in addition to the source information. Therefore, only received packets whose source address is present in the NAT table entry will be routed to the internal terminal. For example, if T11 establishes communication with the remote terminal T1i (35.26.25.25:4545), the NAT function assigns an external address and an external port number (11.11.11.11:1234) and rewrites the internal source address and internal port number (192.168.0.2:7856) of the packet sent by T11 to T1i. The NAT function then stores an entry in its table associating the internal and external information and the destination address characteristics of this communication (internal source: 192.168.0.2:7856, external source: 11.11.11.11:1234, destination: 35.26.25.25). The NAT function will deny all incoming traffic destined for 1.1.1.1:1234 if the source address of the traffic is not equal to 35.26.25.25.

[0152] Figure 7 The example in is similar to Figure 6 , except for NAT function Figure 6 In addition to the information maintained in the state table in the example of , the destination port number (4545) of the outgoing call sent from T11 (192.168.0.2:7856) is also recorded. The NAT function rejects all incoming calls to 1.1.1.1:1234 with a source address and source port number that are not equal to 35.26.25.25:4545.

[0153] In 222, it is verified whether the communication establishment request sent from the source address and source port number has been received by the destination IP resource of terminal T1. If so, it is declared at 223 that the candidate communication (@T11, PS, @T1i, PD) follows a path that does not include a state function, and the PATH-STATUS state of the candidate communication is updated to OK.

[0154] If not, we determine that the path (@T11, PS, @T1i, PD) is unavailable in the absence of outgoing communication, and the associated PATH_STATUS state is set to NOP.

[0155] Finally, if an error message is received, such as an ICMP type error message with an unreachable destination or protocol indication, the path taken by the selected candidate communication is declared unusable and the PATH_STATUS state of that communication is set to the value NOP.

[0156] Note that the decision to update the state of the path taken by the candidate communication being tested may be made immediately after a single setup attempt, or alternatively after several attempts.

[0157] The sequence of steps 220-223 is repeated as long as there are candidate communications to test.

[0158] According to the first option, all candidate communications are tested. The advantage of the systematic approach is that it allows the terminal to evaluate the feasibility of all available paths (and decide on the traffic routing strategy accordingly).

[0159] According to a second option, only a portion of the communication is established according to a local policy at the terminal T1. The advantage of the selective approach is that it is less costly in terms of computing resources and potentially better adapted to a specific context, for example, according to which the choice of path is indexed by the nature of the traffic that will be carried by the communication. For example, Internet traffic is routed through NAT, while voice traffic is routed through a non-NAT path.

[0160] Advantageously, in 220, candidate communications are selected according to the order in which they appear in the PCL list, and the candidate communications are sequentially established to avoid the NAT function registering entries on the path expected to be tested. However, it should be noted that if no IP resource of the terminal appears as both the source and the destination in the candidate communications in the PCL list, multiple candidate communications can be established simultaneously.

[0161] However, if the PCL list is constructed as follows: [(@T11, @T12), (@T12, @T13), ..., (@T1i-1, @T1i), ..., (@T1i, @T11)], the candidate communications will necessarily be established sequentially.

[0162] At 224, the status of the IP addresses associated with the paths listed in the ACAL list is updated as follows:

[0163] - if all candidate communications to the IP address @T1k tested have their status set to OK (k being an integer between 1 and i), it is determined that the path associated with the address @T1k of the terminal T1 does not include a state function, and the status of this IP address is updated to an "optimized" value or "OKON" (i.e. "Optimized Keepalive On"), which indicates that for this path, a process for optimizing the keepalive mechanism of the input maintained by the state function is activated;

[0164] - Otherwise, if at least one of the candidate communications tested to the resource comprising the IP address @T1k has its state set to NOP, it is determined that the path associated with the IP address @T1k of the terminal T1 comprises an intermediate state function and the state of this resource STATUS is updated to a "not optimized" value or "OKOFF" to indicate that the optimization of the keep-alive mechanism of the entries maintained by the state function is not activated on this path and it will be necessary to determine the frequency of sending "keep-alive" messages in order to optimize this mechanism. After this additional processing step, the state can be changed to "OKON" with an optimized frequency.

[0165] The step 221 of sending a request for establishing the selected candidate communication will now be detailed. As previously mentioned, since the source and destination IP addresses belong to the same terminal T1, it is necessary to force routing of the data packets comprising the request through the output interface so that they are not processed locally by the terminal.

[0166] To do this, consider two options:

[0167] MULT1.1 Option: MP-BLIND Filter

[0168] according to Fig. 8A and Figure 8B In the first variant shown, the communication establishment request comprises a parameter MP_BLIND(@T1D) for masking the interface corresponding to the destination IP address of the candidate communication @T1D of the terminal T1.

[0169] The MP_BLIND (interface alias / address) parameter allows the terminal T1 to be used as if it had only one IP address or one output interface (interface alias interface identifier or address interface address).

[0170] This new parameter proposed by the invention, when called to trigger the sending of packets through the network to a given interface, has the effect of applying the filter to all other interfaces of the terminal, which has the effect of retaining only the information related to the unfiltered interfaces.

[0171] In doing so, a request to establish communications between addresses {@T1S, @T1D} invoked with the MP_BLIND parameter causes the packet containing the request to be sent to the default router associated with the source IP address @T1S.

[0172] Therefore, terminal T1 maintains a global routing table (Table 1) including two routing tables associated with each of its "eth0" interface and "eth1" interface, respectively.

[0173] t1:~#ip rule show

[0174] 0:from ail lookup local

[0175] 32764:from 1.2.3.2lookup 2

[0176] 32765:from 10.20.30.2lookup 1

[0177] 32766:from ail lookup main

[0178] 32767:from ail lookup default

[0179] t1:~# ip route 1.2.3.0 / 24 dev eth0 proto kernel scope link src1.2.3.2

[0180] 10.20.30.0 / 24 dev ethl proto kernel scope link src 10.20.30.2

[0181] default via 1.2.3.1dev eth0

[0182] Table 1

[0183] For example, suppose a terminal wants to establish communication between a source IP address and a destination IP address {@T1S=1.2.3.2, @T1D=10.20.30.2}. This communication is intended to be handled locally because the destination address is the address of the "eth1" interface.

[0184] In order to force the sending of a data packet containing a request to establish communication via the communication network RC to the destination IP address @T1D corresponding to the "eth1" interface, the terminal simulates a single interface behavior by using the MP_BLIND(eth1) parameter. The called routing table (Table 2) is shown below. Then, as Fig. 8A As shown, the packet is sent to routing device R1.

[0185] t1:#ip route show table 2

[0186] 1.2.3.0 / 24 dev ethO scope link

[0187] default via 1.2.3.1dev ethO

[0188] Table 2

[0189] If there is no state function on the path from the terminal T1 to the network RC via the "eth1" interface, the data packet will be received by the terminal T1 via the routing device R2, such as Figure 8B shown.

[0190] MULT1.2 Option: Source Routing

[0191] according to Fig. 9 The second variation shown uses source routing techniques to force a request to establish communication between source IP address @ T1S and destination IP address @ T1D at 221. Such techniques known to those skilled in the art may be implemented in various ways, such as Segment Routing (SR) extensions, IPv4 Loose Source and Record Routing (LSRR) options, or any other similar source routing functionality.

[0192] The source routing option includes associating additional information with each entry in the PCL candidate communication list to indicate, for each candidate communication, the default router associated with its @T1S source IP address. For example, the PCL list updated by terminal T1 is: {@T11, PS11@T12, PD12, default_router=R11}, ..., {@T1n, PS1n, @T11, PD11, default_router=R1n}.

[0193] In the following, it is assumed that the SR option is used, for example.

[0194] With this option, the decision to route a data packet including the selected communication establishment request is based on the content of the SR option. Thus, the terminal sends the communication establishment request to the default router identified in the corresponding entry of the PCL table. After receiving the packet, the default router removes the SR option and continues to send the data packet to the next hop in the communication network.

[0195] Therefore, packets are routed from nearest to nearest, or are dropped when no route is found.

[0196] about Fig.10 , terminal T1 attempts to establish candidate communication CCs listed in its PCL table in 221: {@T11, PS11, @T12, PD12}, {@T12, PS12, @T1i, PD1i} and {@T1i, PS1i, @T11, PD11}. Fig.10 In the example shown, all of these communications are established without difficulty. Therefore, the ACAL table is updated to set the STATUS parameter of each path associated with the destination IP address being tested to the value "OKON".

[0197] about Fig.11, terminal T1 attempts to establish the following candidate communications on its network access path: {@T11, PS11, @T12, PD12}, {@T12, PS12, @T1i, PD1i} and {@T1i, PS1i, @T11, PD11}. Fig.11 In the example shown in FIG. 1 , except for the candidate communication {@T12, PS12, @T1i, PD1i}, all of these communications are successfully established because the NAT function exists on the corresponding path. Then, the ACAL table is updated to update the STATUS parameters of the IP addresses of the access path to the network of terminal T1. It sets the status of all available IP addresses in the ACAL list to "OKON", except for the @T1i address whose STATUS parameter remains "OKOFF".

[0198] about Fig.12 , the terminal is connected to the communication network by means of an access device (Customer Premises Equipment) of the CPE type. This can be, for example, a residential gateway. In this case, the process just described can advantageously be implemented by means of this CPE device.

[0199] refer to Fig.13 Now let's describe what we just said. Figure 4 An alternative embodiment of the method described, according to which the terminal T1 has been configured to connect to the network via a proxy device P located in the communication network RC.

[0200] MULT2 Implementation or "Proxy" Mode

[0201] According to the example of the QUIC protocol, this proxy device P implements a "QUIC proxy" function that is responsible for performing operations on QUIC communications sent by or intended for terminal T1. The present invention does not impose restrictions on the operations performed by such a proxy function.

[0202] This embodiment of the invention is applicable regardless of the location of the "QUIC Proxy" functionality in the communication network.

[0203] The "QUIC Proxy" can usually be configured on the terminal by using the DHCP protocol, PCO (PDP Configuration Option), etc.

[0204] The QUIC protocol communication establishment requests sent by the terminal T1 are intercepted by this "QUIC proxy" P, which then relays them to their destination. As an example, we assume that an IP-in-IP encapsulation scheme or GRE (Generic Routing Encapsulation) is used between the terminal and the QUIC proxy function, as described in the document RFC 2784 published by the IETF in March 2000.

[0205] If there are several "QUIC" proxy functions in the network, the terminal can select one or more instances of this function, or use all instances to establish communication in the network.

[0206] According to the present invention, terminal T1 builds a PCL list of candidate communications in 21 according to the ACAL list according to the LIST step described above. For example, the PCL list built for terminal T1 is: {@T11, PS11, @T12, PD12}, ..., {@T1n, PS1n, @T11, PD11}.

[0207] Next, in 221, as already combined Figure 4 As described, terminal T1 attempts to establish QUIC communication for each element of the PCL list, but this time via at least one "QUIC proxy" function.

[0208] For example, Fig.13 As shown in the example in , terminal T1 sends a request for establishing QUIC communication to proxy P, including the destination IP address @T1i. To do this, it encapsulates the establishment request (formatted according to the QUIC frame) in an IP packet whose destination address is the destination address of proxy P. After proxy P receives the packet, proxy P extracts the QUIC frame. It then tries to route the communication establishment request to the @T1i IP address. If it has a route to the @T1i address, it sends the packet on that route. If no route is found, proxy P responds to the terminal with an ICMP message to indicate that the IP address is unreachable.

[0209] If the proxy P receives the communication establishment request, it retransmits it to the terminal by encapsulating it in an IP packet.

[0210] The previously described steps 222 to 224 remain unchanged.

[0211] about Fig.14 , step 22 of detecting the presence of a status function according to the second embodiment of the present invention will now be described in detail.

[0212] MULT3 Implementation or "Assist" Mode

[0213] Recall that at 21, a PCL list of candidate calls to be established on the network paths available at terminal equipment T1 is constructed.

[0214] During a step 220', the terminal selects at least one candidate communication CC from the PCL list. Note that it may select several or all candidate communications from the PCL list.

[0215] At 220b', it obtains information about the communication CE12 it has established with a second terminal device T2 in the communication network RC via one of its network paths. For example, the communication is established between an IP resource comprising the address @T11 assigned to the terminal T1 by the access network N11 and an IP resource comprising the address @T2 of the terminal T2.

[0216] At 221', terminal T1 sends a message called "mirror frame" to terminal T2 via communication CE12. This frame is intended to command terminal T2 to send a response message according to the conditions specified in the fields of the mirror frame. In the case of the QUIC protocol, this is the new QUIC frame structure proposed by the present invention.

[0217] This frame includes:

[0218] - at least one destination IP address of the terminal T1 to which the terminal T2 must send data. Advantageously, this field comprises the destination IP address of the candidate communication selected in 220 ′;

[0219] - Each destination IP address has at least one destination port number. Note that if the frame does not contain a port number, the remote terminal T2 must randomly generate a port number to associate with each destination IP address;

[0220] - an additional token to be included in the response message to be sent to the indicated destination address(es).

[0221] Fig.15 An example of a mirrored frame is shown.

[0222] According to the invention, a terminal T2 connected to the terminal T1 via a communication CE12 implements a method for processing communications comprising the following steps: Fig.14 shown.

[0223] In 300, it receives a mirrored frame sent by T1 via communication CE1. In 301, it extracts from this frame the destination IP address it contains, possibly associated with a destination port number, and the token. Recall that if the mirrored frame does not contain a destination port number, terminal T2 generates as many addresses as the number of extracted destination addresses, for example randomly. In 302, terminal T2 sends to each pair (destination IP address, destination port number) of terminal T1 specified in the mirrored frame a frame TV, known as a blank frame, since it does not carry any application data, only a token. Note that terminal T2 does not need to establish a new QUIC communication with T1. In fact, as previously mentioned, QUIC communication is independent of the source IP resources and the destination IP resources, but relies on a security association.

[0224] Note that for another transport protocol that may rely on the source and destination IP resources, a "mirrored" frame will generate new traffic that terminal T1 must listen to and correlate with the current presence detection test.

[0225] Upon receiving such a frame TV on one of its addresses, terminal T1 verifies in 222' that it indeed includes a token and then, if necessary, triggers in 223' the updating of the state ST by setting the state ST of the corresponding candidate communication CC in its PCL list to the value "OKON". In fact, the fact that a frame TV is received on the path associated with the destination IP address of terminal T1 proves that there is no state function on the path followed by the frame TV.

[0226] Conversely, for all destination IP addresses associated with mirrored frames that have not been received after a predetermined period of time, the terminal T1 triggers in 223 ′ the setting of the status of the associated path to the value OKOFF.

[0227] At 224', once all destination addresses corresponding to the candidate communication CCs in the PCL list have been tested, the terminal T1 updates the status of the corresponding paths in the ACAL list, as described above in connection with Figure 4 described.

[0228] about Fig.16 and Fig.17 , consider the example of a terminal T1 that uses a single communication CE12 established with a remote terminal T2 to control its different available addresses @T11, @T12, ..., @T1i, where i is a non-zero integer. Specifically, once communication CE12 is established with the remote terminal T2, the terminal T1 sends a mirrored frame listing the addresses @T11, T12, ..., @T1i and the token CS as destination IP addresses. Upon receiving the frame, the remote terminal T2 sends an acknowledgment to T1 and then sends a QUIC frame of the frame TV type including only the token CS to each IP address @T11, @T12, etc.

[0229] exist Fig.16 In the example shown, T1 successfully receives all these frames. After receiving a data packet including such a frame TV, T1 checks whether the packet contains the token CS given in the mirrored frame. If so, T1 updates its ACAL table to indicate that all addresses have a STATUS parameter equal to "OKON".

[0230] Fig.17A situation is shown in which, due to the presence of status functions on the path, T1 does not receive the data packet including the frame TV sent by T2 to the addresses @T12 and @T11 despite T2's prior confirmation. At the end of the predetermined period of time, T1 updates the status of the records of its PCL list and then updates the status of the records in its ACAL list to set the STATUS parameter associated with the addresses @T12 and @T1i to "OKOFF" and the STATUS parameter associated with @T11 to "OKON".

[0231] Now consider the case where the terminal T1 detects a new path. For example, a VPN (Virtual Private Network) tunnel is established from the physical interface of the terminal T1, for which it already has a network path.

[0232] According to one of the embodiments just described, this detection triggers the implementation of a MULT step of discovering the state function on this path. This new path is associated with the address @T1i+1.

[0233] For example, terminal T1 requests terminal T2 already connected to it by sending it a mirrored frame including the address @T1i+1 and the token CS via the communication already established with it. A destination port number different from the destination port number used for the communication already established is indicated in the mirrored frame. At the end of this step, the terminal updates the STATUS parameter of the path associated with the @T1i+1 address according to the result of the presence detection process.

[0234] Then, depending on the received response, the terminal T1 updates the status of the elements of the PCL list and the ACAL list as described above.

[0235] Finally, it can trigger communication management actions on the paths of the ACAL list in 23 (CONNECT), taking into account the values ​​of the STATUS parameters assigned to these paths.

[0236] SOLO embodiment of a single interface terminal

[0237] We now consider the case where the terminal T1 has only one access interface to the communication network RC and therefore only one path associated with only one IP address. The method according to the invention is also applicable to this terminal according to one of the preceding embodiments.

[0238] For example, a terminal may implement a MULT2 embodiment or "proxy" mode to force messages to be sent to its own IP address and a port number different from the port number used to contact the proxy:

[0239] If no response is received, it concludes that there is a stateful function on the path.

[0240] If, on the other hand, a response is received, it concludes that there is no stateful function on that path.

[0241] Furthermore, when a message sent by the proxy in response to a terminal command has been successfully routed and has not undergone a destination IP address / port number change, it is determined that no address conversion function exists on the path.

[0242] Based on the observation that the received response packet was sent from an address different from the address used to contact the proxy, it is also determined that there is no filtering functionality on the path.

[0243] Alternatively, terminal T1 implements the MULT3 embodiment or "MIRROR" mode. In this case, it sends a "mirror" frame to terminal T2 with which it is already communicating and which has several IP addresses. This frame includes the token, the IP address of terminal T1, and a destination port number different from the destination port number used by terminal T1 to send the "mirror" frame, as described in relation to Figures 15 to 17 After receiving the message, the remote terminal T2 sends a response message or frame TV to the terminal address and destination port number indicated in the mirrored frame. After receiving a data packet including such a frame TV, the latter checks whether the packet contains the token CS given in the mirrored frame. If so, T1 concludes that there is no state function on the path and updates the STATUS of the path to "OKON".

[0244] Note that, although in theory the MULT1 embodiment is suitable for single-interface terminals, there is a risk that the data packets sent by terminal T1 into the RC network will be filtered by the access network when they return. In fact, these packets sent with the address of the access network, once relayed by the intermediate nodes imposed by source routing, will likely be regarded as an attempt to spoof the IP address of the terminal and will therefore be blocked.

[0245] Receipt of such a packet indicates that the network is not protected against spoofing attacks.

[0246] about Figure 4 and Fig.18 , a method for managing at least one communication according to a third embodiment of the invention is now described, more specifically, considering the case where the terminal T1 has detected the presence of at least one state function on the path associated with the address @T1i. Therefore, it sets the state of this path to "OKOFF" in 224.

[0247] like Figure 4 As shown, the management method according to the third embodiment of the present invention implements an optional step 225 for determining a parameter KA_TIMER, which represents the lifespan of an entry instantiated by a state function present on the path.

[0248] It is assumed that the method comprises a preliminary step (not shown) of extracting elements of the ACAL list associated with the OKOFF state and a test step of checking whether at least one path has been extracted.

[0249] As an example, we consider Fig.11 for which only address @T1i is associated with the state "OKOFF" and is therefore extracted.

[0250] Then, if Fig.18 As shown, terminal T1 selects another address from the ACAL list, for example @T11, whose status is instead equal to "OKON".

[0251] It establishes communication from the extracted address @T11 to another address @T11 and initializes the KA_TIMER parameter to a predetermined value T0, for example 15 seconds, as recommended in RFC 8085, UDP Usage Guidelines published by the IETF in March 2017.

[0252] Terminal T1 then sends data via the established communication at a series of times, two consecutive times of which are separated by a time interval that is initially fixed at T0 and doubles at each new data transmission, as long as the communication is not lost or severed. Fig.18 In the example shown in FIG. 1 , communication is lost when the parameter KA_TIMER reaches the value KA_TIMER_LOSS which is equal to 960 s.

[0253] From the value obtained for KA_TIMER_LOSS, we deduce the lifetime of the input instantiated by the state function present on the path. For example, this lifetime is evaluated as half the value of the time interval that caused the loss, i.e. KA_TIMER_LOSS / 2=480s.

[0254] Advantageously, this estimated lifetime is used to manage more efficiently the communication from the terminal T1 to the communication network RC. In particular, it is used to configure the "keep alive" mechanism and the frequency of sending messages to maintain the communication entries in the status function table.

[0255] Naturally, the invention is not limited to this implementation example of lifetime evaluation, even if it provides a good compromise between the performance of the keep-alive mechanism and the risk of communication cutoff.

[0256] Reference now Fig.19A , Fig.19B and Fig. 20 An embodiment of step 23 for triggering a management action of at least one communication involving the network path of the terminal T1 is detailed.

[0257] CONNECT(23) Steps

[0258] It is now assumed that the ACAL table of the terminal T1 has been updated and that in particular it provides the value of the STATUS parameter for each address associated with each available path accessing the communication network RC at the level of the terminal T1. Advantageously, it also includes the lifetime value KA_TIMER of the status function present on the path, if any.

[0259] If several paths are available, the terminal T1 can advantageously use the information stored in the ACAL list to select a path on which the outgoing call is more efficiently established. For example, the terminal T1 can select a path that does not involve a state function, or alternatively, a path that includes a state function associated with the highest possible KA_TIMER lifetime. In fact, the lifetime of the inputs maintained by the state function has a direct impact on the frequency of sending keep-alive messages of the keep-alive mechanism, and therefore has a direct impact on the energy consumption of the terminal.

[0260] In order to establish a QUIC communication with a remote terminal T3, the terminal T1 includes in a message of the communication, such as a communication establishment request or any other message, a new control frame for the keep-alive mechanism of entries maintained by the state function (called KEEPALIVE_CONTROL). This frame is used to send to the terminal T3 information for configuring the keep-alive mechanism of the inputs maintained by the state function intended to be activated on one or more paths connecting the terminal T1 to the network.

[0261] An example of the format of this message is in Fig.19A and Fig.19B As shown in . With respect to Figure 19, we consider a simple TCS format intended to be used by a terminal with a single network interface and in particular a single network path to access the communication network RC. It can also be used to characterize a single source address used by terminal T1 to send QUIC packets.

[0262] Fig.19B The second TCM format of the keep-alive mechanism control message for a multi-interface terminal is shown, i.e., with multiple paths to the RC network. The frame of the control message includes a field representing the IP address, a prefix or IP address identifier, a STATUS field, and a KA_TIMER lifetime field. The values ​​of the STATUS and KA_TIMER parameters are taken from the ACAL table of the terminal T1. The KA_TIMER field is optional. Note that if this field is not present for an element where STATUS is equal to "OKON", this means that the keep-alive process of the input of the status function can be safely disabled.

[0263] One or more KEEPALIVE_CONTROL frames may be sent to the same remote terminal. For example, at terminal T1, one control frame is sent for each available path, or a single control frame contains all information for all available paths.

[0264] like Fig. 20 As shown, when the remote terminal T3 receives the frame, it extracts the information it contains and saves it in a table called ACAL_PEER. It should be understood that this ACAL_PEER table is at least a partial copy of the table maintained by T1.

[0265] Remote terminal T3 advantageously uses the information in this table to determine over which path to establish communications with T1.

[0266] exist Fig. 20 In the example above, assume that for the path associated with IP address @T11, the state received by T3 is set to "OKON", but the KA-TIMER lifetime value is not set in the KEEPALIVE_CONTROL frame. When the state is set to OKON, the absence of a lifetime value indicates that there is no reportable functionality on the path. Therefore, T3 knows that it can send messages to this address of T1 without testing it first.

[0267] The remote terminal T3 shall in turn determine the value of the parameter KA_TIMER, which represents the lifetime of the input instantiated by the state function present on the path between the IP address @T11 of T1 and its own path in the access network N31, N32, ..., N3j, where j is a non-zero integer, as previously described in conjunction with Fig.15 It then sends them to the terminal with which it wishes to communicate via the communications network, such as terminal T1.

[0268] Terminal T1 may also decide to add one or more new paths to the communication established with terminal T3 based on the relative values ​​of the STATUS and KA_TIMER parameters obtained for the new paths compared to the paths already in use. For example, the terminal may decide to add a new path to the communication even if it does not receive data from remote endpoint T3 via the path.

[0269] It should be understood that for a communication established between T1 and T3, the path used for the communication may be associated with two different values ​​of the parameter KA_TIMER:

[0270] KA_TIMER(local) and KA_TIMER(peer). In this case, the terminal MUST choose the smaller of the two values. Fig. 20In the example of , each terminal sends a KEEPALIVE_CONTROL frame to the other terminal. Therefore, each terminal has its own ACAL table and the table of the remote terminal ACAL (peer).

[0271] For example, assume that a first communication is established between T1 and T3 via N11's IP address @T11 and N31's address @T31. By consulting the ACAL (peer) table, terminal T3 decides to add a new path via N3's @T3i IP address and N11's @T11 IP address to the communication. In addition, terminal T1 decides to add N1i's path @T1i and N31's path @T31 to the communication. Since the status of N11's address @T11 and N31's address @T31 is set to "OKON" without an associated lifetime value KA_TIMER, the two terminals know that no state functions are detected on these paths, and decide not to activate the "keep alive" mechanism for keeping the entries of the state functions alive for the path (N11, N31). On the other hand, for the other paths used by the communication, in the case where the KA_TIMER value is filled, they activate the optimization of the other paths according to the instructions described in their ACAL tables. Specifically, they configure the optimal sending frequency of the "keep alive" messages according to the input KA_TIMER lifetime.

[0272] Thus, both terminals can each implement the invention just described.

[0273] The terminal may send a new KEEPALIVE_CONTROL frame whenever necessary, for example, when network parameters change, such as attaching to a new access network, obtaining a new IP address, and so on.

[0274] about Fig.21, now presents the hardware structure of a device 100 for managing at least one communication of a terminal device in a communication network, the terminal device being able to access the communication network via at least two paths, one of the paths being associated with an IP resource, comprising at least one IP address and a port number. According to the present invention, the device 100 comprises a module for detecting the presence of at least one state function on at least one path, the at least one path allowing the terminal device to be reached via the communication network at an IP address of the terminal device, referred to as a second IP address, the at least one state function being configured to maintain in a table a state associated with the communication on the path during a predetermined life, comprising sending a first message in the communication network from at least one first IP resource of the terminal device to a second IP resource of the terminal device, the first IP resource comprising a first IP address and a first port number, the second IP resource comprising the second IP address and a second port number, and determining the presence of at least one state function on the at least one path according to data received by the second IP resource in response to the sending of the first message, and a module for triggering an action for managing the communication of the terminal device on the at least one path according to the detection, the at least one path allowing the terminal device to be reached via the communication network at the second IP address.

[0275] Advantageously, the device 100 includes a module for obtaining a list of paths connecting the terminal to the network via the IP address of the terminal (the second IP address), and a module for obtaining a list of candidate communications between a first resource comprising a first IP address and a first port number and a second IP resource comprising a second IP address and a second port number.

[0276] Advantageously, the device 100 also comprises means for determining, by means of said at least one state function detected on a path, a lifetime associated with a state of a communication established on said path.

[0277] Advantageously, the device 100 also includes a module for updating a state representing the presence or absence of a state function on the path based on a determination of a lifetime associated with the communication state of the detected state function (if any), and a module for triggering a management action configured to trigger the action based on the state and / or the associated lifetime.

[0278] The term "module" may correspond to a software component as well as a hardware component or a set of hardware and software components, the software component itself corresponding to one or more computer programs or subroutines, or more generally, to any element of a program capable of implementing a function or a set of functions.

[0279] More generally, such a communication management device 100 comprises a volatile memory 103 (e.g. a RAM memory), a processing unit 102, the processing unit 102 being equipped with, for example, a processor and being controlled by a computer program Pg1 stored in a read-only memory 101 (e.g. a ROM memory or a hard disk), the computer program Pg1 representing a module for detecting the presence of a status function on said at least one path, and a module for triggering at least one management action on said at least one path, and optionally a module for obtaining a path list, obtaining a candidate communication list, updating the status and determining the lifetime. At initialization, the code instructions of the computer program are loaded into the volatile memory 103, for example, before being executed by the processor of the processing unit 102. The volatile memory 103 contains, in particular, an ACAL path table, a PCL candidate communication list, and stores status parameters for each path and, if applicable, the associated KA_TIMER lifetime parameters. According to Figure 2 The processor of the processing unit 102 controls obtaining a path list, detecting the existence of a state function on the listed path, and triggering a communication management action on the listed path. Advantageously, it also stores the ACAL-PEER path table sent by other terminals.

[0280] Fig.21 Only one particular way of implementing the apparatus 100 for managing communications is shown, among several possible ways, so that it performs the same Figure 2 The steps of the method for managing the communication of a terminal device as described above, related to the various embodiments of the present invention. In practice, these steps can be implemented indifferently on a reprogrammable computing machine (PC computer, DSP processor or microcontroller) that executes a program comprising a sequence of instructions, or on a dedicated computing machine (for example, a set of logic gates, such as FPGA or ASIC or any other hardware module).

[0281] In the case where the device 100 is implemented using a reprogrammable computer, the corresponding program (i.e., instruction sequence) can be stored in a removable (such as a floppy disk, CD-ROM or DVD-ROM) or non-removable storage medium, which can be partially or completely read by the computer or processor.

[0282] Various embodiments have been described above with respect to a device 100 for managing communications integrated in a terminal device T1 (such as a mobile phone of the smartphone type, a computer of the PC type, or a tablet computer), but as described with respect to Fig.12 As described, it can also be embedded in any CPE type device (such as a residential gateway) that can access a communication network, as long as it can access a wide area network (such as the Internet).

[0283] Finally, about Fig. 22We present a hardware structure of a device 200 for processing communications established between a first terminal device and a second terminal device via a communications network, comprising at least one module for receiving a message from a first IP resource of the first terminal device, the message comprising at least one command for sending a response to at least one second IP resource of the first terminal device that is different from the first IP resource and for inserting a security information item in the response; a module for extracting the at least one second IP resource and the security information item; and a module for sending a response or frame TV including the security information item to the at least one second address.

[0284] Advantageously, the device 200 further comprises a module for storing the ACAL_PEER path table received from the first terminal device.

[0285] The term "module" may correspond to a software component as well as a hardware component or a set of hardware and software components, the software component itself corresponding to one or more computer programs or subroutines, or more generally, to any element of a program capable of implementing a function or a set of functions.

[0286] More generally, such a device 200 comprises a volatile memory 203 (e.g. a RAM memory), a processing unit 202, which is equipped with, for example, a processor and is controlled by a computer program Pg2 stored in a read-only memory 201 (e.g. a ROM memory or a hard disk), the computer program Pg2 representing a receiving module, an extraction module and a sending module. At initialization, the code instructions of the computer program are loaded into the volatile memory 203, for example, before being executed by the processor of the processing unit 32. The volatile memory 203 contains in particular the second IP resource and security information items extracted from the command message received from the first terminal device. It may also include (multiple) ACAL_PEER path tables sent by the first terminal device and possibly other terminals. According to Fig.14 According to the flowchart, the processor of the processing unit 202 controls the reception of the message, the extraction of at least one second IP resource and the security information item of the first terminal device included in the message, and the sending of a response message including the security information item to the at least one second IP resource of the first terminal device.

[0287] Fig. 22 Only one specific way among several possible ways to implement the processing device 200 is shown so that it performs the above-mentioned Fig.14 The steps of the method for processing communications are described in detail. In practice, these steps can be implemented indifferently on a reprogrammable computing machine (PC computer, DSP processor or microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (e.g. a set of logic gates, such as an FPGA or an ASIC, or any other hardware module).

[0288] In the case where the device 200 for processing communication information is implemented by a reprogrammable computer machine, the corresponding program (i.e., instruction sequence) can be stored in a removable (such as a floppy disk, CD-ROM or DVD-ROM) or non-removable storage medium, which can be partially or fully read by a computer or processor.

[0289] Various embodiments have been described above with respect to a device 200 for processing communications integrated in a terminal device T2 (such as a mobile phone of the smartphone type, a computer of the PC type, or a tablet computer), but as described with respect to Fig.12 As described, it may also be embedded in any CPE type device (such as a residential gateway) that can access a communication network, as long as it can access the network.

[0290] The invention just described proposes to dynamically detect the presence of a state function in a communication network on the access path of a terminal to the network. This presence detection is used to manage the communication accordingly, thereby improving the quality of the communication while optimizing the energy resources used by the terminal equipment.

[0291] Specifically, the present invention can be used for:

[0292] -Optimize battery consumption of mobile terminals;

[0293] - Optimize the selection of paths / addresses for communication establishment;

[0294] -Optimize the routing of traffic in the network;

[0295] - facilitate the establishment of a new communication from an address of a remote terminal, even if no data has been received from that address;

[0296] - avoid communication establishment problems related to the presence of stateful functions (such as NAT or firewall functions);

[0297] -Optimize the value of the keep-alive message sending frequency for each communication, taking into account the possible state functions on the path taken by the call.

Claims

1. A method for managing at least one communication according to a transmission protocol of a terminal device in a communication network, the terminal device being able to access the communication network via at least one IP resource, each IP resource comprising an IP address and a port number, characterized in that The method comprises: - detecting the presence of at least one state function on at least one path, the at least one path allowing the terminal device to be reached via the communication network at an IP address of the terminal device referred to as a second IP address, the at least one state function being configured to maintain in a table a state associated with communications on the at least one path during a predetermined lifetime, comprising: sending a first message in the communication network from at least one first IP resource of the terminal device to a second IP resource of the terminal device, the first IP resource comprising a first IP address and a first port number, the second IP resource comprising the second IP address and a second port number, and determining the presence of the at least one state function on the at least one path based on data received by the second IP resource in response to the sending of the first message, and - Based on said detection, triggering an action for managing the communication of the terminal device on said at least one path.

2. The method according to claim 1, characterized in that When the received data includes an error message, or when the second IP resource does not receive data in response to at least one of the first IP resources sending the first message, it is determined that at least one state function exists on the at least one path.

3. The method according to any one of claims 1 to 2, characterized in that The first message includes a request for establishing communication between the at least one first IP resource and the second IP resource of the terminal device, and when the data received by the second IP resource of the terminal device includes the first message, it is determined that there is no state function on the path connecting the at least one first IP resource to the second IP resource via the communication network.

4. The method according to claim 3, characterized in that It consists in masking, before sending it, routing information associated with said second IP resource and contained in said request for establishing said communication.

5. The method according to claim 3, characterized in that: It comprises, before sending the communication establishment request, recording an identification information item of at least one routing device of the communication network associated with the at least one first IP resource.

6. The method according to any one of claims 1 to 2, characterized in that Communication is established between the at least one first IP resource of the terminal device and the IP resource of the second terminal device, the first message is sent to the IP resource of the second terminal device via the communication, the first message includes at least one command for sending a response to the second IP resource and a command for inserting security information in the response, and when data received on the second IP resource of the terminal device includes the response, it is determined that there is no state function on a path allowed to reach the terminal device via the communication network on the second IP resource.

7. The method according to any one of claims 1, 2, 4 and 5, characterized in that When the presence of at least one state function is detected on the at least one path, the method includes determining a time period for sending keep-alive messages of a status of communications established by the at least one state function on the at least one path, storing the determined time period, and taking the determined time period into account when deciding a management action on the communications via the at least one path.

8. The method according to claim 7, characterized in that The determination includes: - establishing, on said at least one path associated with the second IP address, from an IP resource comprising an IP address of the terminal device different from the second IP address, a communication associated with a path allowed to reach the terminal device via the communications network, for which no presence of a state function is detected; - sending data via the established communication at a series of moments, two consecutive moments of the series being separated by a time interval having a current value initialized to zero and doubling at each new data transmission, as long as the communication is not lost; and - Updating the parameter representing the time period by assigning to it a value equal to half the current value of the time interval.

9. The method according to any one of claims 1, 2, 4 and 5, characterized in that The method comprises updating a state of a configuration of a keep-alive mechanism representing a stateful function, dependent upon determining that at least one stateful function exists on the at least one path, the state being associated with the at least one path allowing the terminal device to be reached via the communications network at a second IP address of the terminal device.

10. The method according to any one of claims 1, 2, 4 and 5, characterized in that: The triggered management actions include: when no state function is detected on the at least one path, establishing communication via the at least one path of the terminal device without activating a keep-alive mechanism of the state associated with the communication; and when the state function is detected on the at least one path, establishing communication via the at least one path by activating the keep-alive mechanism of the state associated with the communication.

11. The method according to claim 7, characterized in that When communication with another terminal device is established from a second IP address of a second IP resource of the terminal device, the triggered management action includes sending the status of the at least one path associated with the second IP address and / or the determined time period in a request for establishing the communication or during the communication.

12. A device for managing at least one communication of a terminal device in a communication network, the terminal device being able to access the communication network via at least one IP resource, characterized in that: The device comprises: - means for detecting the presence of at least one state function on at least one path, the at least one path allowing reaching the terminal device at an IP address of the terminal device referred to as a second IP address via the communication network, the at least one state function being configured to maintain in a table a state associated with communications on the at least one path during a predetermined lifetime, comprising sending a first message in the communication network from at least one first IP resource of the terminal device to a second IP resource of the terminal device, the first IP resource comprising a first IP address and a first port number, the second IP resource comprising the second IP address and a second port number, and determining the presence of the at least one state function on the at least one path based on data received by the second IP resource in response to the sending of the first message, and - means for triggering, as a function of said detection, an action for managing the communication of a terminal device on said at least one path allowing to reach said terminal device via said communications network on said second IP address.

13. A method for processing a communication established in accordance with a transmission protocol between a first terminal device and a second terminal device in a communication network via at least one IP resource of the first terminal device, each IP resource comprising an IP address and a port number, characterized in that: The method comprises: - receiving, from said at least one IP resource, referred to as the first IP resource, a first message sent according to the method for managing at least one communication according to claim 1, said first message comprising an IP address, referred to as the first IP address, and a port number, referred to as the first port number, of said first IP resource, said first message also comprising a command for sending a response to at least one second IP resource of the first terminal device and a command for inserting security information in the response, said second IP resource being different from the first IP resource and comprising a second IP address and a second port number of said first terminal device; - extracting at least one second IP resource and the security information from the command; - sending at least one response including said security information to at least one second IP address and said second port number.

14. A method for processing a communication established in accordance with a transmission protocol between a first terminal device and a second terminal device in a communication network via at least one IP resource of the first terminal device, each IP resource comprising an IP address and a port number, characterized in that: The method comprises: when using the method for managing at least one communication according to claim 1, it is detected that at least one state function exists on at least one path, which allows reaching the first terminal device via the communication network on an IP resource of the first terminal device, referred to as the source IP resource: - receiving, on an IP resource of a second terminal device, called the destination IP resource, a message relating to a communication established or to be established from said source IP resource of said first terminal device, said message comprising a state of a configuration of a keep-alive mechanism representing an entry of a table maintained by a state function, said entry associating a state with a communication allowed on a path to reach said first terminal device via said communications network at the IP address of the source IP resource within a predetermined lifetime, and a time period representing a frequency of sending state keep-alive messages of the communication, said state being associated with said IP address; - adjusting the state and time period according to the state and time period values ​​stored in a memory in association with an IP address referred to as the destination IP address; and - Send a response including the adjusted value.

15. A device for processing communication between a first terminal device and a second terminal device via a communication network established by a transmission protocol, the device being characterized in that the device comprises: - a module for receiving, from said at least one IP resource, referred to as the first IP resource, a first message sent according to the method for managing at least one communication according to claim 1, said first message comprising an IP address, referred to as the first IP address, and a port number, referred to as the first port number, of said first IP resource, said first message also comprising a command for sending a response to at least one second IP resource of a first terminal device and a command for inserting security information in the response, said second IP resource being different from the first IP resource and comprising a second IP address and a second port number of said first terminal device; - means for extracting from said command at least one second IP resource and said security information; and - means for sending at least one response comprising said security information to at least one second IP address and said second port number.

16. A terminal device capable of accessing a communication network from at least one IP resource including an IP address and a port number, characterized in that The terminal device comprises a device according to claim 12.

17. A terminal device, characterized in that The terminal device comprises a device according to claim 15.

18. A proxy device of a communication network, capable of connecting a terminal device to the communication network, characterized in that: It comprises a device according to claim 12.

19. A node device of a communication network capable of receiving data on at least one IP resource including an IP address and a port number and retransmitting them from the at least one IP resource, the data coming from the communication between an IP resource of a first terminal device, called a source IP resource, and an IP resource of a second terminal device, called a destination IP resource, characterized in that The node device comprises: - a module for detecting the presence of at least one state function on at least one path, the at least one path allowing the node device to be reached via the communication network on an IP resource of the terminal device, called a second IP resource, the at least one state function being configured to maintain in a table a state associated with the communication on the at least one path within the determined lifetime, comprising sending a first message from at least one first IP resource of the node device to a second IP address of the terminal device in the communication network, and determining the presence of the at least one state function on the at least one path based on data received by the second IP resource in response to the sending of the first message; and - means for triggering, based on said detection, an action for managing the communication of a terminal device over said communication network via said at least one path.

20. A computer program product comprising program code instructions for implementing the method according to any one of claims 1 to 11 and 13 to 14 when executed by a processor.

21. A device for processing a communication between a first terminal device and a second terminal device via a communication network established according to a transmission protocol, when the method for managing at least one communication according to claim 1 detects the presence of at least one state function on at least one path, the at least one path allowing reaching the first terminal device via the communication network on IP resources of the first terminal device called source IP resources, each IP resource comprising an IP address and a port number, the device being characterized in that the device comprises: - means for receiving, on an IP resource, called the destination IP resource, of a second terminal device, a message relating to a communication established or to be established from said source IP resource of said first terminal device, said message comprising a state representing a configuration of a keep-alive mechanism for an entry of a table maintained by a state function, said entry associating a state with a communication allowed on a path to reach said first terminal device via said communications network at the IP address of the source IP resource within a predetermined lifetime, and a time period representing a frequency of sending state keep-alive messages for communications, said state being associated with said IP address; - means for adjusting the state and the time period according to the state and time period values ​​stored in a memory in association with an IP address called the destination IP address; and - means for sending a response comprising the adjusted value.

Citation Information

Patent Citations

  • Communication system, resource management device, resource management method, communication management device, and communication management method

    CN101120550A

  • Method of communication by multiple paths between two terminals

    CN106233691A