Methods, devices and system for controlling communication in a network

WO2025061515A1PCT designated stage expired Publication Date: 2025-03-27ORANGE SA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/075172
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-18
Filing Date
2024-09-10
Publication Date
2025-03-27

Smart Images

  • Figure EP2024075172_27032025_PF_FP_ABST
    Figure EP2024075172_27032025_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a method for establishing communication between a terminal and a server via a communication network providing at least one control interface, the method comprising a step (200) of obtaining characteristic information of at least one control interface provided by the network, a configuration step (202) during which the terminal transmits to the application server at least a portion of the information obtained, and a communication step (204) during which the terminal exchanges data packets with the server by querying resources of the network invoked by the server via the control interface indicated by the terminal. Correlatively, the invention relates to a method for controlling, by an application server, communication established according to the establishment method, as well as to devices for implementing these methods.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, devices and system for controlling communication in a network

[0001] The invention belongs to the field of telecommunications, and more particularly to the field of value-added IP services. More specifically, the invention relates to methods and devices for applying differentiated processing to data packets exchanged between a terminal and a server via a communication network. Prior art

[0002] Modern communications networks expose application programming interfaces (or APIs) that allow all or part of the services they support to be invoked. For example, 5G networks support the Network Exposure Function (NEF), which is designed to expose the functional capabilities of 5G core networks to third parties, including to "non-3GPP" environments such as fixed IP / MPLS networks. Such APIs allow, for example, service developers (or providers) to dynamically adapt the quality of service policy implemented in a network according to the services they offer or the needs of the customers accessing these services.

[0003] Existing methods for invoking these APIs generally require prior contractual agreements between the network operator and third parties wishing to access them. The need to establish such agreements a priori presents limitations, in particular because it appears difficult for a service provider to know a priori all the networks likely to be used by its customers to connect to a service. For example, an operator of a video-on-demand platform can hardly reach a prior agreement with all the operators of the networks likely to be used by its customers to access the service.

[0004] Furthermore, such agreements do not easily allow for maintaining an up-to-date list of addresses for invoking a particular network API (for example, if the alias or IP address for reaching an API changes or when different APIs are used depending on the functional scope of that API).

[0005] Thus, there is a need for a method that allows a service provider to offer personalized quality of service to its customers by means of APIs exposed by the different networks they use, and which does not suffer from the limitations mentioned above.

[0006] To this end, a method is proposed for establishing communication between a terminal and a server via a communication network exposing at least one control interface, the method comprising the following steps, implemented by the terminal: A step of obtaining information characteristic of the at least one control interface exposed by the network, A configuration step during which the terminal transmits to the application server at least part of said information obtained, A communication step during which the terminal exchanges data packets with the server by requesting resources of said network invoked by the server via the control interface indicated by the terminal.

[0007] In this way, a server (e.g., an application server or a remote terminal) can discover and invoke an API (or control interface) of the network to which a particular client connects in order to offer this client differentiated treatment such as a quality of service adapted to the service exposed by said application server. Of course, other differentiated treatments can be envisaged, such as isolation of traffic characteristic of the service accessed by a client, special protection of said traffic, routing of said traffic via secure tunnels, or which exploits redundant paths, etc.

[0008] The terminal obtains the characteristics of one or more interfaces exposed by one or more networks to which said terminal is connected and indicates them to an application server which it wishes to access by transmitting this information in a message. Thus, the server does not have to know in advance the characteristics of the APIs exposed by all the networks likely to be used by its clients to contact it.

[0009] Based on the received characteristics, the application server can invoke an API exposed by a network used by a particular client and request particular resources offered by this network in order to adapt the quality of service policy provided by said application server for this particular client, for example.

[0010] The packets sent and / or received by the terminal when it communicates with the server then benefit from differentiated treatment by the network, allowing for example the optimization of certain transmission characteristics (latency, flow rate, priority, etc.) or even the use of a particular network slice.

[0011] In a particular embodiment, the terminal obtains the characteristic information of at least one control interface exposed by the network in a DHCP message, a PCO (Protocol Configuration Option) information element or a “Neighbor Discovery” message.

[0012] Such an arrangement advantageously allows a terminal to obtain information characteristic of at least one network control interface upon its attachment to the network or upon its configuration by the network. The information characteristic of the API exposed by the network may advantageously be transmitted in a network attachment message, a terminal configuration message or a discovery message. Preferably, the information is transmitted in an optional header, so that the information may be ignored when it is not supported by a terminal.

[0013] The transmission of information in a PCO (Protocol Configuration Option) information element of a NAS (Non-Access Stratum) message as defined by the 3GPP (3rd Partnership Project) or the transmission of information in an IPv6 Neighbor Discovery message as defined in the RFC4861 standard allows the information to be communicated as soon as a session is established.

[0014] According to a particular embodiment, the method is such that the information characteristic of at least one control interface exposed by the network comprises at least one element selected from the following elements: A network API identifier, At least one access address to a network API, A type of network API, One or more rules governing the conditions of application of a configuration, An opaque identification data of the terminal.

[0015] The identifier, address and / or type of network API received allows the terminal to know how to access the API.

[0016] The rules governing the conditions for applying a configuration correspond, for example, to filters dependent on the destination address, the protocol used (e.g. UDP, TCP, QUIC, HTTP, or SIP), etc.

[0017] The opaque parameter is, for example, a token generated by the network that allows the terminal to be identified in the network without disclosing to third parties information specific to the terminal or its user, and therefore potentially confidential. In doing so, the network operator does not disclose information that is likely to be used by third parties for tracking or profiling purposes.

[0018] The characteristic information received may be stored by the terminal in association with a network identifier and transmitted to an application server in order to configure the network for the service which the terminal wishes to access.

[0019] According to a particular embodiment, the terminal transmits the information characteristic of at least one control interface exposed by the network to the server in a TCP (Transmission Control Protocol) or UDP (User Datagram Protocol) option field, a QUIC frame, a DCCP (Datagram Congestion Control Protocol) option, an HTTP (Hypertext Transfer Protocol) or SIP (Session Initiation Protocol) header.

[0020] By transmitting the information concerning the control interface exposed by the network in a field or header of a communication establishment message according to a transport layer protocol, for example in a TCP option, a UDP extension, a DCCP extension, a QUIC frame, or an application layer protocol such as an HTTP or SIP header, the terminal ensures that the application server discovers the network control interfaces as early as possible in order to configure access to the service. In addition, the use of optional message headers makes it possible to implement the method of the invention with existing technical means, thus facilitating the deployment of the solution called TANIT (for "Terminal-Assisted dissimeNation of application programming Interfaces locaTors for network exposure" in English).

[0021] According to a particular embodiment, the method further comprises a step of receiving a message transmitted by the server, the message comprising at least one packet identification instruction obtained by the server via at least one network control interface whose characteristics have been transmitted to the server by the terminal, the communication step comprising the generation of at least one data packet in accordance with said identification instructions.

[0022] When the server invokes a control interface of a network whose characteristics have been transmitted by the terminal, the server obtains instructions for generating data packets comprising an identifier from which the network can apply differentiated processing to said packets, and transmits these instructions to the terminal. For example, an identification instruction may consist of a marking identifier, a token, a particular tag or any other information suitable for the network to be able to identify the packet and apply particular processing to it according to the configuration requested by the server. In this way, the network can apply differentiated processing to the data packets transmitted by the terminal to the server.

[0023] Correspondingly to the method of establishing a communication, there is also proposed a method of controlling a communication between a terminal and a server via a communication network exposing at least one control interface, the method comprising the following steps, implemented by the server: Reception of a message transmitted by the terminal, said message comprising at least one piece of information characteristic of a control interface exposed by a network to which the terminal is connected, Invocation of at least one control interface identified from said characteristic information, Sending at least one data packet to the terminal and / or reception of at least one data packet from the terminal, the packets being routed by requesting resources of said network invoked via said control interface.

[0024] In this way, an application server receives indications allowing it to invoke an API exposed by a particular communication network used by the terminal to contact the server and thus control the configuration of this network to apply differentiated processing to the data packets exchanged between the terminal and the server. These indications are obtained by the terminal from a dedicated function of the network, for example when it attaches to the network, and transmitted to the server so that the network can carry out a network configuration adapted to the service that the server provides to this terminal. The method advantageously allows an application server to invoke a particular network configuration without knowing a priori the characteristics of the networks likely to be used by the terminals to connect to the service.Data packets can thus be exchanged between the terminal and the server, benefiting from differentiated treatment.

[0025] According to a particular embodiment, the control method further comprises a step of obtaining, from the invoked control interface, at least one identification instruction for the packets exchanged with the terminal, the packets sent during the sending step being generated in accordance with said identification instructions obtained.

[0026] The server thus obtains instructions enabling it to generate data packets comprising an identifier from which the network can apply differentiated processing. For example, an identification instruction may consist of a marking identifier, a token, a particular tag or any other suitable information that the server can insert into the data packets sent to the terminal so that they are transmitted via the network by requesting particular resources invoked via the control interface of said network.

[0027] According to a particular embodiment, the control method is such that it further comprises a step of obtaining, from the invoked control interface, at least one identification instruction for the packets exchanged with the terminal, and a step of receiving at least one data packet transmitted by the terminal by requesting resources of said network invoked via said control interface, the packets received being generated by the terminal in accordance with said transmitted identification instructions.

[0028] In this way, the terminal has the identification instruction allowing it to generate packets comprising identification information allowing the network to apply differentiated treatment according to the identification information. Thus, the server receives data packets to which the network has applied differentiated treatment on the basis of the identification information inserted into the packets by the terminal.

[0029] According to a particular embodiment, the control method is such that the information characteristic of at least one control interface exposed by the network comprises at least one element selected from the following elements: A network API identifier, At least one access address to a network API, A type of network API, One or more rules governing the conditions of application of a configuration, An opaque identification data of the terminal.

[0030] In a particular embodiment, the control method is such that the information characteristic of at least one control interface exposed by the network is received in a TCP or UDP option field, a QUIC frame, a DCCP option, an HTTP or SIP header.

[0031] The characteristic information can thus be transmitted in a message of a transport layer protocol (TCP, UDP, QUIC or DCCP for example) or in a message of an application layer protocol (such as SIP or HTTP for example). Other embodiments can be considered such as the use of an IPv4 option or an IPv6 extension header ("Extension Header" in English). Note that the use of the IP layer to convey the characteristic information of at least one control interface exposed by the network is more robust in the case of communications limited to a single domain (e.g. "Limited Domains", "controlled environment", or "managed networks").

[0032] According to another aspect, the invention relates to a device for establishing communication with a server via a communication network exposing at least one control interface, the device comprising a processor coupled to a memory in which instructions are recorded suitable for implementing the following steps: A step of obtaining information characteristic of the at least one control interface exposed by the network, A configuration step during which the terminal transmits to the application server at least part of said information obtained, A communication step during which the terminal exchanges data packets with the server by requesting resources of said network invoked by the server via a control interface indicated by the terminal.

[0033] The invention also relates to a communication terminal comprising a device for establishing a communication as described previously.

[0034] According to yet another aspect, the invention relates to a device for controlling a communication established with a terminal via a communication network exposing at least one control interface, the device comprising a processor coupled to a memory in which instructions are recorded suitable for implementing the following steps: Reception of a message transmitted by the terminal, said message comprising at least one item of information characteristic of a control interface exposed by the communication network, Invocation of at least one control interface identified from said characteristic information, Sending at least one data packet to the terminal and / or reception of at least one data packet from the terminal, the packets being routed by requesting resources of said network invoked via said control interface.

[0035] The invention also relates to a server comprising a device for controlling a communication as described above.

[0036] There is also provided a communication system comprising at least one communication terminal and a server respectively comprising a communication establishment device and a control device as described above.

[0037] In a particular embodiment, the different steps of the method for establishing communication and of the control method are determined by computer program instructions.

[0038] Consequently, the invention also relates to a computer program comprising instructions adapted to the implementation of the steps of a communication method and / or a control method as described above, when the program is executed by a processor.

[0039] This program may use any programming language, and may be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.

[0040] The invention also relates to a recording medium readable by a computer on which is recorded a computer program comprising instructions for executing the steps of a method for establishing communication and / or a control method.

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

[0042] On the other hand, the information carrier may be a transmissible carrier such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention may in particular be downloaded from a network such as the Internet.

[0043] Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to perform or to be used in performing the methods in question.

[0044] The various embodiments or features mentioned above may be added independently or in combination with each other, to the steps of the communication establishment and / or control methods.

[0045] The devices, systems and programs have advantages similar to those of the processes to which they correspond. Brief description of the figures

[0046] Other features and advantages will become apparent upon reading a preferred embodiment described with reference to the appended drawings, among which:represents an environment suitable for implementing the methods of establishing a communication and controlling a communication according to a particular embodiment,is a flowchart representing the main steps of a method of establishing a communication according to a particular embodiment,is a flowchart representing the main steps of a method of controlling a communication according to a particular embodiment,is a combined diagram showing the main steps of the methods of establishing and controlling a communication and the exchanges of messages suitable for implementing these methods in a particular embodiment,lais an example of a data structure suitable for conveying information characteristic of a control interface exposed by the network according to a particular embodiment,lashows an example of a data structure suitable for transmitting to a server a description of a control interface exposed by the network according to a particular embodiment,lais a block diagram showing an architecture of a device suitable for implementing the method of establishing a communication according to a particular embodiment, andlais a block diagram showing an architecture of a device suitable for implementing the method of controlling a communication according to a particular embodiment., Detailed description

[0047] It represents a network architecture allowing terminals to access services.

[0048] The environment comprises a terminal 100 and a terminal 101 which are, for example, communication terminals such as smartphones, computers, connected televisions, or any other equipment suitable for accessing a service. A terminal within the meaning of this description may thus be a UE (“User Equipment” in English), a service function instance, a CPE (for “Customer Premises Equipment” in English), etc. The terminal may be mobile or fixed.

[0049] The environment comprises one or more application servers AS hosted in a communication network 103. An AS server hosts, for example, one or more services, such as audiovisual broadcasting and / or online storage services to which users of the terminals 100 and 101 have subscribed and can access. Of course, an AS can host any type of service without it being necessary to modify the invention. Furthermore, the service can be offered by the AS server which is in contact with the terminal or by other servers not visible to the client ("back-end"). No assumption is made as to the structure of the service. In the example of the, the AS servers are operated by an operator distinct from the operators of the communication networks 102 and 104 via which the terminals 100 and 101 are respectively connected.

[0050] The network 102 is for example a cellular access network, such as a 3G, 4G, 5G or B5G (“Beyond 5G” in English) network, or a Wi-Fi® or WiMax® network which the terminal 100 can access.

[0051] The network 104 is for example a fixed network, such as an IP / MPLS network (Internet Protocol / Multiprotocol Label Switching). In the example of the, the terminal 100 and the terminal 101 can access the network 104.

[0052] The interconnection of the networks 102, 104 and 103 allows the terminal 100 to access an application server AS of the network 103 via the network 102 and / or the network 104, and allows the terminal 101 to access an application server AS of the network 103 via the access network 104.

[0053] The networks 102 and 104 offer the possibility for third parties to customize the service provided by the network by means of control interfaces (or APIs, for Application Programming Interface) through which the networks 102 and 104 expose some of their functional capabilities. The control interface makes it possible, for example, to configure a marking of the packets of certain communications within the network so as to offer a differentiated quality of service, and / or to route certain packets via secure or redundant links, for example. In the following, no assumption is made as to the nature of the differentiated treatment controlled via an API exposed by a network. The networks 102 and 104 further comprise at least one CTRL controller, for example an SDN (for "Software-Defined Network") controller, responsible for coordinating the actions necessary for the implementation of a particular configuration.In some embodiments, the control function CTRL and the NEF function are the same entity. One or more controllers may be deployed in a network. Said CTRL / NEF functions are not necessarily on the path taken by data packets exchanged between a terminal and a server.

[0054] It should be noted that in this description, the terms “network control interface”, “configuration interface” and “API” are used interchangeably to designate a set of functions made available to third parties by the network and accessible remotely in order to allow third-party services, applications or software to control a particular configuration and / or differentiated processing of flows by the network. For example, when a network implements “network slices”, the use of an API makes it possible, for example, to assign a particular slice to a given service or to the routing of a portion of the data packets exchanged for this service. A network slice can be defined as a virtual private network (VPN) deployed on a fixed or mobile infrastructure.The characteristics of a network slice are essentially expressed in terms of capacity (bandwidth) and quality of service (e.g., latency, one-way transit time, etc.), or even security (e.g., preservation of the confidentiality of information transmitted within the VPN through the use of encryption techniques).

[0055] Thus, and by way of example, the operator of the AS service can use the API exposed by the network 102 to request that a particular quality of service policy can be implemented for the benefit of the user of the terminal 100 when the latter accesses its services. Similarly, the operator of the AS service can use the API exposed by the network 104 to request that a particular quality of service policy can be implemented for the benefit of the user of the terminal 101 when the latter accesses its services.

[0056] However, as already indicated, in the current state of the art, the AS service operator must first agree on agreements with the operators of the networks 102 and 104 to discover and use the APIs offered by these networks. However, the AS service operator does not know a priori the networks that will be used by its customers to access its services.

[0057] The methods and devices that are the subject of the present invention make it possible to overcome such limitations.

[0058] A particular embodiment of the method for establishing a communication will now be described with reference to figures 2 and 4. In the following description, the terminal 100 of lamet implements a particular embodiment of the method for establishing communication and the AS server represented on lamet implements the control method according to a particular embodiment.

[0059] This is a flowchart representing the main steps of a method of establishing communication according to a particular embodiment.

[0060] This is a combined flow diagram showing message exchanges between a terminal, an application server and different entities of a network to which the terminal is connected. This diagram describes the steps of the communication establishment and control methods, according to a particular embodiment. Identical references are used in Figures 2, 3 and 4 to designate the steps of the communication establishment and control methods.

[0061] In a first step 200, the terminal 100 receives information characteristic of one or more configuration interfaces of the network to which the terminal is connected. The information received comprises, for example, one or more of the following elements: a network API identifier, at least one access address to a network API (or an alias, a domain name), a type of network API (REST, RPC, SOAP, etc.), one or more rules governing the conditions for applying a configuration (CRE, for “Classification Rule Entry” in English, for example a filtering rule based on the destination address or the protocol used), opaque identification data of the terminal, such as a token, making it possible to identify the terminal in the network without disclosing information specific to the terminal or its user.

[0062] This information is transmitted to the terminal in a message sent by a network function, for example a CTRL controller, a DHCP server or an access router. Such a message is for example sent following a request from the terminal, that is to say in response to a message sent by the terminal. Furthermore, in a particular embodiment, such a message can also be sent without prior request, that is to say the network announces this information to the terminals without waiting for an explicit request from these terminals.

[0063] In a particular embodiment, the information is obtained by the terminal when it attaches to the network. To do this, the terminal sends, for example, a DHCP request comprising a particular option to a device on the network. The reception of such a DHCP request by the network device causes the sending of a DHCP response comprising, in addition to the data traditionally included in such a message, information characteristic of the configuration interfaces exposed to third parties by the network. This information is, for example, transmitted in one or more DHCP options as defined in the RFC8415 document.

[0064] In one variant, the received information may include one or more instructions allowing the terminal to generate an opaque identifier itself. For example, the presence of a "Self_Terminal_ID" parameter set to "1" is an explicit indication that the terminal must generate a non-persistent identifier. If the network returns this parameter, then it must not include "Terminal_ID" in the same message. This variant is advantageous because it avoids exposing information that is likely invariant over time and could be used for malicious purposes (e.g., terminal tracking).

[0065] Lamontre such an exchange of messages: the terminal sends a message 400, such as a DHCP request comprising a particular option. The option is particular in that it allows the terminal to indicate that it wishes to receive indications relating to one or more control interfaces exposed by this network. When the destination network function receives this request, and when said particular option is present in the request, said network function inserts information characteristic of at least one control interface in a response 401, for example a DHCP response comprising a particular option. Of course, this information can be encoded in the same information element or be returned separately without it being necessary to modify the invention.

[0066] Shows an example of a DHCPv6 option header including information characteristic of a control interface exposed by the network. In this example, the type of the option "OPTION_V6_TANIT" and its length "Length" are each encoded on 16 bits. The option also includes a 16-bit "API_ID" field conveying an identifier of an API exposed by the network preceded by its length "API_ID_LENGTH", an address of a server exposing said API "API_LOCATORS" also preceded by the length of the "API_LOCATORS_Length" field, a field including a set of rules for using the API "CRE" preceded by its length "CRE_LENGTH", an API type "API_TYPE" and an opaque identifier assigned to the terminal "Terminal_ID".

[0067] Of course, the structure of the is given as a non-limiting example, and other formats may be considered for transmitting this information. In particular, the structure may include a number and types of parameters that differ from those shown in the example of the, and these parameters may be transmitted in different options and / or different messages.

[0068] In a particular embodiment, the terminal 100 stores the information received in association with a network identifier, for example a NID (Network Identifier) ​​obtained in an “Access Network Domain Name” option of a DHCP response or with an identifier of the network interface through which the information was received. This association is maintained locally by the terminal 100 as long as the attachment with the network identified by the NID is active. Thus, this information remains available as long as the terminal is attached to this network, but is deleted when the interface via which the information was received is deactivated. In this way, the information relating to the interfaces exposed by the network can be transmitted by the terminal 100 to different services which it accesses.

[0069] When information relating to at least one control interface is obtained, the terminal 100 accesses a service offered by an application server AS.

[0070] The communication establishment method comprises a step 202 during which the terminal 100 transmits the information obtained in step 200 to the application server AS.

[0071] More precisely, when the terminal 100 wishes to establish communication with the AS server via a network to which it is connected, it searches in its memory for an entry corresponding to the identifier of this network with which are associated information characteristic of one or more control interfaces exposed by the network. If information relating to a control interface is available for the identifier sought, the terminal transmits this information to the AS server in a message.

[0072] According to a particular embodiment, this information is encoded and transmitted to the application server AS in the form of a TCP option, a UDP option, a DCCP option, a QUIC frame, or an HTTP or SIP header.

[0073] According to a particular embodiment, step 202 is preceded by an optional step 201 during which the terminal 100 transmits to the AS server a message 402 comprising an indication that it has the capacity to transmit information characteristic of one or more control interfaces exposed by a network to which it is connected and receives in return a message 403 from the AS server comprising an indication relating to the fact that the AS server is willing to receive such information. In this way, the terminal knows whether the AS server to which it connects implements the control method which is the subject of the present invention and whether the AS server is willing to receive the information obtained by the terminal during step 200.

[0074] In a particular embodiment, the message 402 is a TCP SYN segment exchanged with the AS server during the TCP connection establishment phase ("handshake" in English), and the message 403 is a SYN / ACK segment exchanged during this same TCP connection establishment phase. In this way, it is possible to determine upon establishment of the connection with the server, without latency, and with a low signaling overhead, whether the AS server is suitable for receiving information concerning the interfaces exposed by the network and as transmitted by the terminal. An error message received from the server (or in an extreme manner the closure of the connection) is an indication that it is not suitable for receiving such information.

[0075] When the terminal 100 receives from the AS server the message 403, confirming that the AS server is suitable for receiving information relating to control interfaces exposed by the network 102, it implements a step 202 during which it transmits to the AS server at least one message 404 comprising an announcement of the network API associated with the network via which the communication is established. The message 404 is for example a TCP option, a UDP option, a QUIC frame, a DCCP option, etc. shows an example of a TCP option structure suitable for transmitting to the AS server a description of a control interface exposed by the network 102 according to a particular embodiment.

[0076] Thus, the terminal 100 sends the information relating to at least one control interface to the AS server in a message 404 comprising a descriptor which announces the network API associated with the network via which the communication is established. In a variant, the terminal 100 can announce the characteristic information of the APIs of the other networks via which certain flows of said communication can transit, and the terminal can also include the APIs of these other networks. For example, the message 404 can comprise descriptors relating to the control interfaces of the networks 102 and 104. In this case, the characteristic information of an API must in particular specify the identifier of the network. This identifier can be an address identifier (AddressID), an IP address, an autonomous system number (ASN), etc.

[0077] The terminal 100 may further insert a "TERMINAL_SUPPLIED_ID" token to assist the network in correlating the identifier presented by the server with an identifier of the terminal as known by the network. In one variation, "TERMINAL_SUPPLIED_ID" is a copy of the "TERMINAL_ID".

[0078] In response to the message 404 sent to the AS server, the terminal 100 may receive an optional message 410 during a step 203, comprising a marking identifier generated by the network 102. The marking identifier is intended to be inserted into the messages transmitted by the terminal 100 to the AS server so that the messages transmitted by the terminal 100 to the AS server can benefit from differentiated processing by the network 102 configured following a request from the AS server based on the information transmitted to the AS server in the message 404. Thus, depending on the identifier indicated by the terminal 100 in the messages sent to the AS server, the network applies a particular processing to these messages. This identifier may be, for example, a QUIC connection identifier (Source or Destination Connection Identifier), a DSCP value (Diffserv Code Point), a value of the Flow Label field of an IPv6 packet header, etc.The identifier can be encoded in one or more fields of a message.

[0079] Identification is typically performed by an edge node such as an access router or an interconnect router. Such a node may maintain, remove, or rewrite the identification information before forwarding the packet and invoking the resources necessary to apply differentiated processing.

[0080] In step 204, the terminal 100 exchanges data packets with the AS server by requesting resources of said network invoked by the server via the control interface indicated by the terminal. For example, the network may apply particular traffic classification rules, or transmit the data packets to a particular network slice.

[0081] A particular implementation of the communication control method implemented by the lava AS server will now be described with reference to figures 3 and 4.

[0082] This is a flowchart representing the main steps of a control process according to a particular implementation.

[0083] In a particular embodiment, the method comprises a first step 300 during which the AS server receives a first message 402 from the terminal 100, the message 402 comprising an indication that the terminal 100 has the ability to transmit information characteristic of one or more control interfaces exposed by the network 102 to which it is connected. Such a message is for example a control message or a data message. For example, it may be a TCP SYN segment exchanged during a TCP connection establishment phase comprising a TCP option in which the capabilities of the terminal 100 to transmit the information relating to interfaces exposed by the network 102 are encoded. Other examples include the encoding of the information in a UDP option, a DCCP option or a QUIC transport parameter.

[0084] Upon receipt of the message 402, the AS server detects the presence in this message of an indication that the terminal 100 has the capacity to transmit information characteristic of one or more configuration interfaces exposed by the network 102. The AS server then responds to the terminal 100 with a message 403 in which it inserts a particular indication confirming that it is suitable for receiving such information. This response is for example transmitted in a TCP SYN / ACK segment of the TCP connection establishment phase, or in a UDP option, or in a DCCP option or according to a QUIC transport parameter.

[0085] This preliminary exchange of messages allows the terminal 100 and the AS server to exchange their capabilities to implement the methods according to the invention. In certain embodiments, it is however possible to dispense with this phase without modifying the invention. For example, the terminal and the server can be configured beforehand in accordance with a standard requiring support for methods in accordance with the present invention, making the preliminary step of exchanging capabilities unnecessary.

[0086] In step 301, the AS server receives a message 404 transmitted by the terminal 100, said message comprising at least one piece of information characteristic of a control interface exposed by a network 102 to which the terminal is connected. The message 404 comprises, for example, a TCP option, a UDP option, a QUIC frame, a DCCP option, etc. It may also be a signaling or data message. Receiving the message 404 thus allows the server to know the characteristics of one or more control interfaces exposed by the network to which the terminal 100 is connected. According to a particular embodiment, the message 404 comprises not only information characteristic of one or more control interfaces of the network 102 to which the terminal 100 is connected, but also one or more interface descriptors of another network through which flows are likely to transit.For example, the 404 message may comprise a descriptor corresponding to a first interface exposed by a cellular access network to which the terminal is connected, and a descriptor corresponding to a second control interface exposed by a terrestrial access network, for example an optical access network, accessible by the terminal. In this way, the AS server can anticipate a possible switching of traffic to one or other of the networks usable by the terminal according to the configuration instructions executed by the two networks.

[0087] Step 302 of the control method comprises the control of the configuration of the network 102 by the AS server from the information received in step 301. More precisely, the AS server invokes one or more functions offered by the interface exposed by the network 102 to configure and apply a particular quality of service policy for the messages exchanged with the terminal 100 through the network 102. For example, the AS server can configure the network so that the data packets exchanged with the terminal 100 use a particular network slice optimized for the service.

[0088] The AS server requests a specific configuration of the network by invoking an API whose characteristics are transmitted by the terminal 100 in the message 404. To do this, the server sends for example an HTTP POST request to a NEF server whose address and access parameters have been communicated by the terminal 100 in the message 404. The POST request includes the arguments necessary to invoke this API. These arguments are for example configured to command the network to classify certain flows under a slice, to prioritize all or part of the flows of this communication, to invoke a local service function (e.g. transcoding function), or to request to serve this terminal from a closer cache, etc. The arguments can also include the classification information to identify the packets eligible for the requested processing. The POST request can be broken down into several requests.

[0089] According to a particular embodiment, the configuration step 302 comprises a preliminary sub-step of obtaining the capabilities of the API. For this, the AS server queries, for example, the NEF server whose address is recorded in the message 404 and obtains in response the control capabilities offered by the control interface (API). More precisely, the AS server sends, for example, a request 405, such as an HTTP GET request, to retrieve the list of functions (“capabilities” in English) supported by this API using the address provided in the message 404, and receives in return a response message 406 comprising a list of capabilities. In a variant, the network API can record in the response 406 to the request 405 traffic classification information which can be communicated in advance by the server to terminals in order to facilitate the establishment of future communications under the same service.This mode aims to optimize the time required to set up differentiated treatment for these terminals when they connect to the service.

[0090] For example, upon receipt of message 407 by an NEF function of the network 102, the latter extracts the information communicated by the AS server and carries out checks (for example, the NEF function checks the availability of resources allowing the requested differentiated service to be offered, the absence of instructions to block this server, validity of the terminal identifier).

[0091] If the NEF function agrees to respond positively to the request 407 from the AS server for communication with the terminal 100, the NEF function defines the necessary actions to be implemented in the network to provide differentiated processing of the traffic characteristic of this communication. These actions are for example coordinated by a network controller CTRL (typically, an SDN controller). In a variant, said controller CTRL is the NEF entity that exposes the network API. For this, the NEF function can transmit a message 409 to the network controller, comprising the desired parameter setting.

[0092] In an optional step 303, the AS server receives a confirmation message 408 in response to the request 407. In a particular embodiment, the confirmation message 408 comprises information to facilitate the identification of packets eligible for differentiated treatment, for example marking information for packets sent from the AS server to the terminal 100 and / or marking information for packets sent from the terminal 100 to the AS server.

[0093] According to a particular embodiment, the AS server transmits a message 410 to the terminal 100 in which the marking information received in the message 408 is included. In this way, the terminal 100 can insert suitable marking information into the packets sent to the AS server so that the network 102 can apply to these packets the differentiated treatment requested by the AS server in step 302.

[0094] Identification is typically performed by an edge node such as an access router or an interconnect router. Such a node may maintain, remove, or rewrite the identification information before forwarding the packet and invoking the resources necessary to apply differentiated processing.

[0095] Optionally, the AS server can, during a step 305, request the network 102 to terminate the personalized processing of the data packets exchanged with the terminal 100. For this, the AS server transmits for example a message 412 to the NEF function, the message comprising a network command adapted to terminate the differentiated processing.

[0096] The represents an architecture of a device 700 adapted to implement the method of establishing a communication, according to a particular embodiment.

[0097] The device 700 comprises a data processing module composed of a storage space 701, for example a memory (MEM), a processing unit 702, equipped for example with a microprocessor (PROC), and controlled by a computer program (PGR) 703 whose instructions are configured to implement the method of establishing a communication as described previously with reference to FIGS. 2 and 4.

[0098] Upon initialization, the code instructions of the computer program 703 are for example loaded into the memory 701 before being executed by the processor of the processing unit 702. The microprocessor of the processing unit 702 implements, according to the instructions of the computer program 703, the steps of the method for establishing a communication as described previously with reference to FIGS. 2 and 4.

[0099] For this, the device 700 comprises communication means 704, for example a 3G, 4G, 5G cellular network interface, Wi-Fi® or Wimax® wireless network, an optical interface or even an Ethernet interface. The communication means allow the device 700 to connect to a communication network and exchange data with other devices.

[0100] The device 700 also comprises a module 705 for obtaining information characteristic of at least one control interface exposed by the network. For this, the module 705 cooperates with the communication means 704 to generate and transmit a message to a control entity of a network, the message comprising an indication adapted to command the control entity to insert information characteristic of at least one API exposed by said network in a response to the message. The module 705 is further configured to allow the reception of a message from the control entity comprising at least one descriptor of a control interface exposed by the network comprising at least one address making it possible to invoke said control interface. The module 705 is for example implemented by computer program instructions configured to implement step 200 of the method for establishing a communication according to a particular embodiment.

[0101] The device 700 also comprises a configuration module 706 adapted to transmit information characteristic of a network control interface received by the module 705. According to a particular embodiment, the module is implemented by computer program instructions configured to generate a message comprising a particular data structure, for example an option field in TLV (Type Length Value) format, comprising at least one address of a control interface obtained by the module 705 and an identifier of the device, and to cooperate with the communication means 704 to transmit the message to an application server hosting a service which the device wishes to access.

[0102] The device 700 further comprises a data transfer module 707 adapted to cooperate with the communication means in order to exchange data with a server by requesting network resources invoked by said server via a control interface whose characteristics have been transmitted by the module 706. The module 707 is for example implemented by computer program instructions configured to implement step 204 of the method for establishing a communication described above. In a particular embodiment, the module 707 is adapted to mark packets transmitted to the application server by the communication means 704.

[0103] According to a particular embodiment, the device is integrated into a communication terminal, for example in user equipment (UE), a mobile telephone, a computer, a video decoder, a gateway, a connected object or any other device capable of accessing services hosted by an application server.

[0104] The represents an architecture of a device 800 adapted to implement the method of controlling a communication, according to a particular embodiment.

[0105] The device 800 comprises a data processing module composed of a storage space 801, for example a memory (MEM), a processing unit 802, equipped for example with a microprocessor (PROC), and controlled by a computer program (PGR) 803 whose instructions are configured to implement the method for controlling a communication as described previously with reference to FIGS. 3 and 4.

[0106] At initialization, the code instructions of the computer program 803 are for example loaded into the memory 801 before being executed by the processor of the processing unit 802. The microprocessor of the processing unit 802 implements, according to the instructions of the computer program 803, the steps of the method for controlling a communication as described previously with reference to FIGS. 3 and 4.

[0107] For this, the device 800 comprises communication means 804, for example a 3G, 4G, 5G cellular network interface, Wi-Fi® or Wimax® wireless network, an optical interface or an Ethernet interface. The communication means allow the device 800 to connect to a communication network and exchange data with other devices.

[0108] The device 800 also comprises a module 805 for receiving a message transmitted by a terminal comprising at least one piece of information characteristic of a control interface exposed by a network to which the terminal is connected. In a particular embodiment, the module 805 cooperates with the communication means 804 to implement a data transmission protocol, for example a TCP, UDP, QUIC or other protocol, and to receive a data structure, for example a TLV field of a data packet comprising at least the address of a control interface (or API) exposed by the network to which the terminal is connected and an identifier of the terminal.

[0109] The device 800 also comprises a configuration module 806 adapted to configure particular resources in a communication network via an interface exposed by said network and indicated in a message received by the module 805. More precisely, the module 806 can be implemented by computer program instructions configured to cooperate with the communication means 804 in order to invoke one or more functions offered by an interface exposed by a network from the address received by the module 805 so as to set up a particular network configuration, and receive in return at least one information intended to mark the data packets to which the particular network configuration must apply.

[0110] The device 800 finally comprises a data transmission module 807 adapted to mark data packets intended for the terminal having transmitted the information characteristic of a network control interface received by the module 805. In a particular embodiment, the module 807 is implemented by computer program instructions and cooperates with the communication means 804 to send data packets to the terminal by requesting network resources invoked via said control interface, the packets sent being marked using the marking information obtained by the configuration module 806.

[0111] According to a particular embodiment, the device 800 is integrated into an application server.

Claims

Method for establishing communication between a terminal and a server via a communication network exposing at least one control interface, the method comprising the following steps, implemented by the terminal: A step (200) of obtaining information characteristic of at least one control interface exposed by the network, A configuration step (202) during which the terminal transmits to the application server at least part of said information obtained, A communication step (204) during which the terminal exchanges data packets with the server by requesting resources of said network invoked by the server via the control interface indicated by the terminal. Method according to claim 1 in which the terminal obtains the characteristic information of at least one control interface exposed by the network in a DHCP message, a PCO information element, or a “Neighbor Discovery” message. Method according to any one of the preceding claims in which the information characteristic of at least one control interface exposed by the network comprises at least one element selected from the following elements: A network API identifier, At least one access address to a network API, A type of network API, One or more rules governing the conditions of application of a configuration, An opaque identification data of the terminal. Method according to any one of the preceding claims in which the terminal transmits the information characteristic of at least one control interface exposed by the network to the server in an option field of a TCP or UDP header, a QUIC frame, or a DCCP option, an HTTP or SIP header. Method according to any one of the preceding claims such that it further comprises a step of receiving a message transmitted by the server, the message comprising at least one packet identification instruction obtained by the server from at least one network control interface whose characteristics have been transmitted to the server by the terminal, the communication step comprising the generation of at least one data packet in accordance with said identification instructions. Method for controlling a communication between a terminal and a server via a communication network exposing at least one control interface, the method comprising the following steps, implemented by the server: Reception (301) of a message transmitted by the terminal, said message comprising at least one piece of information characteristic of a control interface exposed by a network to which the terminal is connected, Invocation (302) of at least one control interface identified from said characteristic information, Sending at least one data packet (306) to the terminal and / or reception of at least one data packet from the terminal, the packets being routed by requesting resources of said network invoked via said control interface. Method according to claim 6 such that it further comprises a step of obtaining, from the invoked control interface, at least one identification instruction for the packets exchanged with the terminal, the packets sent and / or received being generated in accordance with said identification instructions obtained. Device for establishing communication with a server via a communication network exposing at least one control interface, the device comprising a processor (702) coupled to a memory (701) in which instructions (703) are recorded, adapted to implement the following steps: A step of obtaining information characteristic of at least one control interface exposed by the network, A configuration step during which the terminal transmits to the application server at least part of said information obtained, A communication step during which the terminal exchanges data packets with the server by requesting resources of said network invoked by the server via the control interface indicated by the terminal. Communication terminal comprising a device for establishing a communication according to claim 8. Device for controlling a communication established with a terminal via a communication network exposing at least one control interface, the device comprising a processor (803) coupled to a memory (801) in which instructions (803) are recorded, adapted to implement the following steps: Reception of a message transmitted by the terminal, said message comprising at least one piece of information characteristic of a control interface exposed by a network to which the terminal is connected, Invocation of at least one control interface identified from said characteristic information, Sending at least one data packet to the terminal and / or reception of at least one data packet from the terminal, the packets being routed by requesting resources of said network invoked via said control interface. Application server comprising a communication control device according to claim 10. Communication system comprising at least one terminal according to claim 9 and at least one server according to claim 11. Computer program product comprising instructions configured to implement a method of establishing a communication according to any one of claims 1 to 5 and / or instructions for implementing a method of controlling a communication according to any one of claims 6 to 7, when the instructions are executed by a processor. Computer-readable information medium on which are recorded code instructions for implementing a method of establishing a communication according to any one of claims 1 to 5 and / or instructions for implementing a method of controlling a communication according to any one of claims 6 to 7.

Citation Information

Patent Citations

  • Method and system for configuring API (Application Programming Interface) resource on basis of terminal type

    CN108388475A

  • Network optimisation method, server, network side device, system, and storage medium

    EP4161128A1

  • Security procedures for common API framework in next generation networks

    WO2019194242A1