Communication terminal, session control device, and gateway device

By generating and transmitting instruction-based resource allocation, the gateway device ensures efficient packet forwarding, the gateway device effectively manages processor resources to prevent packet reordering, ensuring smooth communication in high-capacity scenarios.

JP7789711B2Active Publication Date: 2025-12-22KDDI CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023029690
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-02-28
Publication Date
2025-12-22
Estimated Expiration
2043-02-28

AI Technical Summary

Technical Problem

The use of multiple CPU cores for packet forwarding in gateway devices can lead to packet reordering, disrupting normal communication, especially in high-capacity communications exceeding 100 Gbps, and existing control methods fail to address this issue effectively.

Method used

A communication terminal generates and transmits instruction information to a session control device, which in turn controls a gateway device to allocate appropriate processor resources, such as CPU cores, for forwarding processing based on the communication requirements, ensuring packet order is maintained or allowed to be reordered as necessary.

Benefits of technology

This approach allows for appropriate control of processor resources in the gateway device, preventing packet reordering and ensuring smooth communication by aligning resource allocation with communication demands, thereby enhancing communication efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007789711000001
    Figure 0007789711000001
  • Figure 0007789711000002
    Figure 0007789711000002
  • Figure 0007789711000003
    Figure 0007789711000003
Patent Text Reader

Abstract

To enable a gateway device to appropriately control processor resources used for transfer processing.SOLUTION: A terminal 1 transmits instruction information regarding the processor resources to be used by a gateway device 4 for forwarding processing of data traffic on a session between the terminal 1 and a data network N via the gateway device to a session control device 3 that controls the gateway device 4 during the session establishment processing.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a communication terminal, a session control device, and a gateway device. [Background technology]

[0002] Non-Patent Document 1 and Non-Patent Document 2 specify control means for terminal communication in conventional mobile systems. In mobile communications, a device that connects an operator's network with the Internet is called a "gateway (GW) device." For example, the UPF in the 5G communication standard may correspond to a GW device. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] 3GPP TS 23.501 V18.0.0, “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; System architecture for the 5G System (5GS); Stage 2 (Release 18)”

[0004] [Non-patent document 2] 3GPP TS 23.502 V18.0.0, “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Procedures for the 5G System (5GS); Stage 2 (Release 18)”

[0005] [Non-patent document 3] Intel, Samsung, “White Paper: Samsung Achieves 305 Gbps on 5G UPF Core Utilizing Intel(R) Architecture”, 2020 Summary of the Invention [Problem to be solved by the invention]

[0006] When a gateway device uses resources such as multiple CPU cores for packet forwarding processing, the use of the control methods described in Non-Patent Documents 1 to 3 may result in a change in the packet forwarding order, which may prevent normal communication from continuing.

[0007] An object of the present invention is to enable a gateway device to appropriately control processor resources used for transfer processing. [Means for solving the problem]

[0008] A communication terminal of a first aspect of the present invention includes a generation unit that generates instruction information regarding processor resources to be used by a gateway device for forwarding processing of data traffic on a session between the communication terminal and a data network via the gateway device, and a transmission unit that transmits the instruction information to a session control device that controls the gateway device during the session establishment processing.

[0009] The instruction information may indicate whether or not the gateway device is permitted to use the processor resources in a manner that would result in a change in the transfer order of the user traffic in the transfer process.

[0010] The instruction information may indicate the number of cores of the processor resource that the gateway device is permitted to use.

[0011] A communication terminal of a second aspect of the present invention includes a generation unit that generates a data signal addressed to a data network in a session established between the communication terminal and a data network via a gateway device, and a transmission unit that transmits to the gateway device instruction information regarding processor resources to be used by the gateway device for forwarding processing to forward data traffic on the session.

[0012] A session control device of a third aspect of the present invention comprises a receiving unit that receives, from a communication terminal during a session establishment process, instruction information regarding processor resources to be used by the gateway device for forwarding processing of data traffic on a session via a gateway device between the communication terminal and a data network, and a transmitting unit that transmits the instruction information to the gateway device when the instruction information is received.

[0013] The instruction information may indicate the number of cores of the processor resource that the gateway device is allowed to use, and the transmitting unit may transmit to the gateway device the number of cores of the processor resource that the gateway device will use for the transfer processing based on the received instruction information.

[0014] The instruction information indicates the content of the application to be executed by the communication terminal, and the session control device further includes a determination unit that determines the number based on the content of the application indicated by the instruction information by referring to determination data that associates the content of the application with the number of cores available to the processor resource, and the transmission unit may transmit the number determined by the determination unit to the gateway device.

[0015] The receiving unit may receive a terminal identifier capable of identifying the communication terminal from the communication terminal during the session establishment process, and the transmitting unit may transmit mapping information to the gateway device that associates the number of cores determined by the determining unit with the terminal identifier.

[0016] The instruction information indicates the number of cores of the processor resource that the gateway device is allowed to use, and the transmitting unit transmits the instruction information to the gateway device during the session establishment process as information used by the gateway device to determine the number of cores of the processor resource.

[0017] A gateway device of a fourth aspect of the present invention comprises a forwarding processing unit that performs forwarding processing of data traffic on a session between a communication terminal and a data network via the gateway device, a receiving unit that receives instruction information regarding processor resources to be used for the forwarding processing from a session control device that controls the establishment of the session during the session establishment processing, and a control unit that controls allocation of the processor resources to the forwarding processing based on the received instruction information.

[0018] The instruction information may indicate the number of cores of the processor resource that the gateway device is allowed to use, and the receiving unit may receive core number information from the session control device during the session establishment process, the core number information indicating the number of cores of the processor resource that the session control device has determined based on the instruction information, and the control unit may allocate the number of cores indicated by the core number information to the transfer process.

[0019] The receiving unit may receive mapping information associating the core number information with the terminal identifier from the session control device that received a terminal identifier capable of identifying the communication terminal during the session establishment process, and the control unit may allocate the number of cores indicated by the core number information to the forwarding process of the data traffic corresponding to the terminal identifier based on the mapping information.

[0020] The instruction information indicates the number of cores of the processor resource that the gateway device is allowed to use, the receiving unit receives the instruction information from the session control device during the session establishment process, the gateway device further includes a determination unit that determines the number of cores to use for the transfer process based on the instruction information, and the control unit may allocate the number of cores determined by the determination unit to the transfer process.

[0021] The instruction information indicates the content of the application to be executed by the communication terminal, the receiving unit receives the instruction information from the session control device during the session establishment process, the gateway device further includes a determination unit that determines the number of cores to be used for the transfer process based on the instruction information by referring to decision data that associates the content of the application with the number of cores available to the processor resources, and the control unit may allocate the number of cores determined by the determination unit to the transfer process.

[0022] A gateway device of a fifth aspect of the present invention comprises a forwarding processing unit that performs forwarding processing of data traffic on a session between a communication terminal and a data network via the gateway device, a detection unit that detects instruction information regarding processor resources to be used for the forwarding processing from a data signal in the data traffic that is transmitted by the communication terminal to the data network, and a control unit that controls allocation of the processor resources to the forwarding processing based on the detected instruction information. [Effects of the Invention]

[0023] The present invention provides an advantage that the processor resources used by the gateway device for the transfer process can be appropriately controlled. [Brief explanation of the drawings]

[0024] [Figure 1] 1 is a block diagram showing an example of the configuration of a wireless communication system; [Figure 2]FIG. 2 is a block diagram showing an example of the configuration of a terminal according to the first embodiment. [Figure 3] 1 is a block diagram showing an example of the configuration of a session control device according to a first embodiment. [Figure 4] 1 is a block diagram showing a configuration example of a gateway (GW) device according to a first embodiment. [Figure 5] FIG. 3 is a sequence diagram showing an example of operation of the wireless communication system according to the first embodiment. [Figure 6] FIG. 10 is a sequence diagram showing an example of operation of a wireless communication system according to a modified example of the first embodiment. [Figure 7] FIG. 10 is a sequence diagram showing an example of operation of the wireless communication system according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0025] Hereinafter, embodiments will be described with reference to the drawings as appropriate. The same elements throughout this specification will be designated by the same reference numerals unless otherwise specified. The matters described below together with the accompanying drawings are intended to explain exemplary embodiments and are not intended to represent the only embodiments. For example, when an order of operations is indicated in an embodiment, the order of operations may be changed as appropriate within the scope of the overall operation.

[0026] <System configuration example> Fig. 1 is a block diagram showing an example of the configuration of a wireless communication system. As shown in Fig. 1, the wireless communication system S includes a terminal 1 such as user equipment (UE), a base station 2 constituting a radio access network (RAN), a session control device 3 and a GW device 4 constituting a mobile core, and a network N such as the Internet or a local area network. The network N corresponds to a data network abbreviated as "DN" in the 5G communication standard, for example.

[0027] In the following description, a "communication terminal" may be referred to as a "user terminal" or simply as a "terminal," and a "base station device" may be referred to simply as a "base station." A "base station" may be read as an "access point (AP)." The base station 2, session control device 3, and GW device 4 may correspond to, for example, a gNB, SMF, and UPF in the 5G communication standard, respectively. "SMF" is an abbreviation for "Session Management Function," and "UPF" is an abbreviation for "User Plane Function." In the wireless communication system S, a plurality of terminals 1, base stations 2, session control devices 3, and GW devices 4 may each be provided.

[0028] In FIG. 1, the path shown by the dotted line connecting the terminal 1, base station 2, session control device 3, and GW device 4 represents the control plane path (C-plane path) along which control information is transmitted, and the path shown by the solid line connecting the terminal 1, base station 2, GW device 4, and network N represents the user plane path (U-plane path) along which user data traffic is transmitted. User data is transmitted over the user plane path in the form of packets, for example. Hereinafter, "user data packets" may be abbreviated as "user packets" or "packets," and "user traffic" may be abbreviated as "traffic."

[0029] As described above, the wireless communication system S has an architecture in which the signal transmission system is separated into a control plane that transmits control information and a user plane that transmits user signals. This architecture makes it possible, for example, to individually enhance the control plane function and the user plane function according to traffic characteristics, or to geographically distribute and allocate the user plane function to reduce delay. Furthermore, the terminal 1 can communicate by accessing different base stations 2 for the control plane and the user plane.

[0030] When terminal 1 wishes to start communication with network N, it transmits a user plane session establishment request to base station 2. An example of a user plane session is a protocol data unit (PDU) session in the 5G communication standard. Base station 2 transmits the session establishment request received from terminal 1 to session control device 3.

[0031] In response to receiving the session establishment request, the session control device 3 establishes a PDU session between the terminal 1 and the network N by communicating in the control plane with, for example, a GW device 4 that performs traffic forwarding processing between the base station 2 and the network N. The terminal 1 communicates with the network N in the PDU session established via the base station 2 and the GW device 4.

[0032] Incidentally, in the Beyond-5G era, an increase in communication capacity per user (for example, 100 Gbps class) is expected. As an example of wireless section architecture in the Beyond-5G era, a "cell-free architecture" is envisioned. In the cell-free architecture, a single terminal 1 connects to multiple APs 2, which is expected to increase communication capacity in wireless sections.

[0033] On the other hand, it is expected that the GW device 4 that processes user plane data transmission in the mobile core section will be increasingly implemented as software in the future due to reasons such as ease of scaling in or out, or ease of customization.

[0034] However, because the evolution of CPU core clock performance has stagnated in recent years, there is a concern that, for example, if the user traffic of one user application is processed by one of multiple CPU cores, the processing in the GW device will become a bottleneck, making it impossible to achieve bit rate requirements such as 100 Gbps or more.

[0035] On the other hand, when a gateway device uses multiple CPU cores to forward a single traffic (e.g., an Internet Protocol (IP) flow) in order to speed up communication, packet reordering may occur during forwarding processing in the gateway device. Packet reordering can lead to disruptions in normal communication when using protocols that do not control packet order (e.g., UDP). Therefore, it is advisable not to use multiple CPU cores for forwarding processing when using protocols that do not control packet order.

[0036] Even in communications using protocols that control packet ordering, such as TCP (Transmission Control Protocol) or QUIC, the more packets are reordered, the more performance degradation can occur. For example, unnecessary retransmissions can occur frequently, application layer delays due to deterioration of jitter characteristics, or data loss can occur.

[0037] Therefore, in this embodiment, for example, instruction information regarding processor resources to be used by the GW device 4 for packet forwarding processing is transmitted (this may also be referred to as "notification") from the terminal 1 to the GW device 4 via the session control device 3, or without via the session control device 3. This makes it possible to control, for example, the resources (for example, the number of CPU cores) of a multi-core processor to be used by the GW device 4 for packet forwarding processing.

[0038] First Embodiment In the first embodiment, a mode will be described in which, in a session establishment process, instruction information regarding processor resources that the GW device 4 uses for packet forwarding process is transmitted from the terminal 1 to the GW device 4 via the session control device 3. Below, configuration examples of the terminal 1, the session control device 3, and the GW device 4 will be described separately.

[0039] <Example of terminal 1 configuration> Fig. 2 is a block diagram showing an example of the configuration of the terminal 1 according to the first embodiment. As shown in Fig. 2, the terminal 1 includes, for example, a receiving unit 11, a transmitting unit 12, a storage unit 13, and a CPU (Central Processing Unit) 14.

[0040] The receiver 11 receives a downlink signal transmitted by the base station 2 by radio under the control of the CPU 14, for example, and outputs the received signal to the CPU 14. The downlink signal includes, for example, one or both of control information for controlling the operation of the terminal 1 in the control plane and a user packet transmitted to the terminal 1 in the user plane.

[0041] The transmitter 12, for example, under the control of the CPU 14, wirelessly transmits an uplink signal to the base station 2. The uplink signal includes, for example, control information addressed to the session control device 3, such as a session establishment request used in the session establishment process of the control plane, and / or a user packet transmitted to the network N in the session established by the session establishment process.

[0042] In the session establishment process, the transmitter 12 transmits, as an example of control information, the instruction information generated by the CPU 14. The instruction information may be included in a session establishment request addressed to the session control device 3, or may be transmitted from the transmitter 12 as control information separate from the session establishment request.

[0043] The memory unit 13 stores, for example, data related to settings or controls that define the operation of the terminal 1, applications executed by the terminal 1, data used in accordance with the execution of the applications, information or data transmitted by the terminal 1, and information or data received by the terminal 1.

[0044] The CPU 14 controls, for example, the operation of the terminal 1. For example, the CPU 14 controls the transmission of uplink signals by the transmitter 12 and the reception of downlink signals by the receiver 11 based on data related to settings or control stored in the memory unit 13.

[0045] Furthermore, when the CPU 14 detects, for example, that the order of packets has been changed based on the sequence numbers of the received user packets, it temporarily stores the received packets in the memory unit 13, rearranges the order of the received packets in the order of the sequence numbers, and outputs the received packets to the application.

[0046] In addition, the CPU 14 functions as an example of a generation unit, and generates instruction information to indicate to the GW device 4, via or without the session control device 3, whether or not packet reordering is acceptable in the communication of the application executed by the CPU 14.

[0047] For example, if the instruction information indicates that packet reordering is acceptable, the GW device 4 uses a multi-core processor (multiple CPU cores) for packet forwarding processing. On the other hand, if the instruction information indicates that packet reordering is not acceptable, the GW device 4 does not use multiple CPU cores for packet forwarding processing, but uses a single CPU core.

[0048] In this way, the instruction information corresponds to an example of an instruction regarding the processor resources used by the GW device 4 for the transfer processing of data traffic on the session between the terminal 1 and the network N via the GW device 4.

[0049] Here, communication that allows packet reordering in terminal 1 refers to communication that supports packet sequence control, such as TCP, for example. Conversely, communication that does not allow packet reordering refers to communication that does not support packet sequence control, such as UDP (User Datagram Protocol).

[0050] For example, when terminal 1 (CPU 14) executes an application that performs high-capacity TCP communication such as 100 Gbps or more, it generates instruction information (hereinafter also referred to as "high-capacity communication instruction information") indicating that packet reordering is permitted. The instruction information is, for example, information indicating the content or type of the application executed by terminal 1. Note that an application that performs communication of three-dimensional hologram data is considered as an example of an application that is expected to perform high-capacity communication such as 100 Gbps or more.

[0051] By indicating the above-described instruction information to the GW device 4, for example, the processor resources (for example, the number of CPU cores) that the GW device 4 uses for packet forwarding processing can be controlled according to the content or type of application executed by the terminal 1.

[0052] The instruction information may be notified from the terminal 1 to the GW device 4 via the session control device 3 during the session establishment process, or may be notified from the terminal 1 to the GW device after the session is established without going through the session control device 3. The first embodiment will be described focusing on the former case, and the latter case will be described later in the second embodiment.

[0053] In the former case, the CPU 1 of the terminal 1, for example, includes "instruction information" in a session establishment request addressed to the session control device 3 during the session establishment process. The instruction information may indicate the number of CPU cores (hereinafter also referred to as "the number of CPU cores") that are permitted to be used for packet forwarding processing in the GW device 4.

[0054] For example, the CPU 14 generates instruction information indicating the number of CPU cores requested by the terminal 1 (hereinafter referred to as the "requested number of CPU cores") according to the application executed by the terminal 1. When the instruction information indicates the "requested number of CPU cores," the session control device 3 that receives the instruction information interprets this as indicating that the use of multiple CPU cores for packet forwarding processing in the GW device 4 is permitted, and operates accordingly.

[0055] The required number of CPU cores is determined by the CPU 14, for example, based on the content of the application executed by the CPU 14. For example, the CPU 14 determines the number of CPU cores that the GW device 4 is permitted to use for packet forwarding processing in accordance with the execution of an application for high-volume communication such as 100 Gbps or more.

[0056] The instruction information indicating the required number of CPU cores may be a single value indicating the required number of CPU cores, or may include information indicating one or both of a lower limit and an upper limit of the required number of CPU cores. The lower limit is, for example, the minimum number of cores required for packet forwarding processing in the GW device 4 depending on the application executed by the terminal 1.

[0057] On the other hand, the upper limit is determined based on, for example, the processing capacity of packet sequence control that rearranges the order of packets generated by the packet forwarding process in the GW device 4 into the correct order (in other words, the order of sequence numbers) in the terminal 1. For example, the CPU 14 determines the upper limit of the required number of CPU cores based on the processing capacity of packet sequence control that uses hardware resources related to the order control of received packets.

[0058] The instruction information indicating the required number of CPU cores indicates that the GW device 4 is permitted to use multiple CPU cores for packet forwarding processing, but when packet forwarding processing is performed using a large number of CPU cores, the probability of packet reordering occurring increases in proportion to the number of CPU cores used. Therefore, specifying an upper limit value for the number of CPU cores in the instruction information indicating the "required number of CPU cores" has the effect of reducing the probability of packet reordering occurring in a way that exceeds the processing capacity of packet reordering.

[0059] Instead of the "requested number of CPU cores," the CPU 14 may generate instruction information indicating a transmission rate requested by the terminal 1 in accordance with an application executed by the terminal 1, such as a "desired average bit rate," and notify the session control device 3. In this case, the session control device 3 determines the number of CPUs according to the notified instruction information indicating the "requested transmission rate" as the number of CPU cores that the GW device 4 will use for packet forwarding processing.

[0060] The "instruction information" may be in any format as long as it can be uniquely interpreted between the terminal 1 and the session control device 3 or the GW device 4. The CPU 14 may also notify the session control device 3 of the "instruction information" by including the instruction information in an extended portion of existing information that is specified to be included in a session establishment request. Alternatively, the CPU 14 may implicitly notify the session control device 3 of the "instruction information" by transmitting existing information associated with the "instruction information."

[0061] An example of implicit notification is associating "indication information" with a slice identifier used in network slicing technology. For example, if a specific slice is assigned to terminal 1 by network slicing technology, terminal 1 is supposed to include a slice identifier that identifies the slice in a session establishment request.

[0062] Therefore, the CPU 14 realizes (implicit) notification of the "instruction information" to the session control device 3, for example, by adding a new value indicating the "instruction information" to the slice identifier. Note that an example of a slice identifier is S-NSSAI in the 5G communication standard. "S-NSSAI" is an abbreviation for "single-network slice selection assistance information."

[0063] <Configuration example of session control device 3> 3 is a block diagram showing an example of the configuration of the session control device 3 according to the first embodiment. As shown in FIG. 3, the session control device 3 includes, for example, a receiving unit 31, a transmitting unit 32, a storage unit 33, and a CPU 34.

[0064] The receiving unit 31 receives control information transmitted by the terminal 1 on the control plane, for example, under the control of the CPU 34. For example, the receiving unit 31 receives a session establishment request including instruction information generated by the terminal 1 in the session establishment process. The receiving unit 31 also receives control information transmitted by the GW device 4 to the session control device 3 through the control plane, for example, in the session establishment process. An example of the control information transmitted by the GW device 4 to the session control device 3 is a response to the control information received by the GW device 4 from the session control device 3.

[0065] The transmitter 32 transmits, for example, control information addressed to the GW device 4 or control information addressed to the terminal 1 on the control plane under the control of the CPU 34. For example, when a session establishment request including instruction information is received by the receiver 31 during the session establishment process, the transmitter 32 transmits the instruction information addressed to the GW device 4.

[0066] The instruction information is sent to the GW device 4, for example, by being included in a connection request requesting the GW device 4 to establish or connect sessions between the terminal 1 and the GW device 4 and between the GW device 4 and the network N, or separately from the connection request.

[0067] Furthermore, for example, in the session establishment process, the transmitter 32 transmits a response to a session establishment request received via the base station 2 to the terminal 1 that is the sender of the request.

[0068] The storage unit 33 stores, for example, data related to settings or controls that define the operations of the session control device 3, programs related to session control executed by the session control device 3, data used in response to the execution of the programs, information or data transmitted by the session control device 3, and information or data received by the session control device 3.

[0069] The CPU 34 controls, for example, the operations of the session control device 3. For example, based on the data related to settings or controls stored in the storage unit 13, the CPU 34 controls the transmission of control information to the GW device 4 by the transmission unit 12 and the reception of control information by the reception unit 11.

[0070] Also, when the "bulk communication instruction information" is received in the reception unit 31, the CPU 34 generates a connection request including the "bulk communication instruction information" and causes the transmission unit 32 to transmit the connection request to the GW device 4 that supports the multi-CPU core.

[0071] <Determination of the number of CPU cores> The CPU 34 functions as an example of a determination unit. For example, when the instruction information indicating the "required number of CPU cores" is received in the reception unit 31 from the terminal 1, the CPU 34 determines the number of CPU cores allowed to be used for packet transfer processing in the GW device 4 based on the "required number of CPU cores" indicated by the instruction information.

[0072] When the instruction information indicates the content of the application executed by the terminal 1, the CPU​​​​​​ In such a case, the CPU 34 determines, for example, the GW device 4 that supports packet transfer processing by multiple CPU cores as the destination of the "instruction information" indicating the number of CPU cores. Information on the GW device 4 that supports packet transfer processing by multiple CPU cores is, for example, stored in advance in the storage unit 33. Also, when there are multiple GW devices 4 with different numbers of CPU cores, the CPU 34 selects, for example, the GW device 4 that can use the determined number of CPU cores as the destination of the "instruction information".

[0075] When the instruction information indicating the "required number of CPU cores" is not received by the receiving unit 31, the CPU 34 determines, for example, a predetermined number of CPU cores as the number of CPU cores that allows the GW device 4 to use for packet transfer processing. The predetermined number of CPU cores may be, for example, the number set by the operator of the wireless communication system S, or the number of all CPU cores that the GW device 4 can use.

[0076] The CPU 34 generates mapping information associating the instruction information indicating the number of CPU cores determined as described above with a user identifier that can identify the terminal 1 that is the source of the session establishment request, and causes the generated mapping information to be transmitted from the transmitting unit 42 to the GW device 4. The mapping information may be included in the connection request to the GW device 4, or may be transmitted to the GW device 4 separately from the connection request. An example of the user identifier is an IP address, a TEID (Tunnel End Point Identifier), or the aforementioned slice identifier.

[0077] <Configuration Example of GW Device 4> FIG. 4 is a block diagram showing a configuration example of the GW device 4 according to the first embodiment. As shown in FIG. 4, the GW device 4 includes, for example, a receiving unit 41, a transmitting unit 42, a storage unit 43, a control unit 44, and a transfer processing unit 45.The transfer processing unit 45 includes, for example, a base station communication unit 451, a network communication unit 452, and a multi-core processor 453.

[0078] The receiver 41 receives, for example, control information transmitted from the session control device 3 to the GW device 4. For example, the receiver 41 receives a connection request including the above-described mapping information as an example of the control information. The transmitter 42 transmits, for example, control information (for example, a response to the connection request) to the session control device 3.

[0079] The memory unit 43 stores, for example, data related to settings or controls that define the operation of the GW device 4, programs related to packet forwarding processing executed by the GW device 4, data used in accordance with the execution of the programs, information or data sent by the GW device 4, and information or data received by the GW device 4.

[0080] The control unit 44 controls resources (e.g., the number of CPU cores) of the multi-core processor 453 to be allocated to packet forwarding processing in the forwarding processing unit 45, for example, based on the mapping information received by the receiving unit 41. For example, the control unit 44 identifies user traffic to be forwarded in the forwarding processing unit 45 based on a user identifier indicated by the mapping information, and allocates the number of CPU cores indicated by the mapping information to the forwarding processing of the identified user traffic. Note that the user identifier is detected, for example, by the base station communication unit 451 or the network communication unit 452 of the forwarding processing unit 45, as will be described below, and notified to the control unit 44.

[0081] The control unit 44 may allocate a plurality of CPU cores to packet forwarding processing in a round robin manner, or may monitor the processing load of each CPU core and allocate a CPU core with a lighter load to packet forwarding processing preferentially.

[0082] The forwarding processing unit 45 performs forwarding processing of packets of user traffic transmitted over a session established between the terminal 1 connected to the base station 2 and the network N. In the forwarding processing unit 45, the base station communication unit 451 transmits, for example, downlink packets addressed to the terminal 1 from the multi-core processor 453 to the base station 2.

[0083] Furthermore, the base station communication unit 451 receives, for example, an uplink packet whose sender is terminal 1, and outputs the received uplink packet to the multi-core processor 453. Furthermore, the base station communication unit 451 detects, for example, a user identifier in the header field of the received uplink packet, and notifies the control unit 44 of the detected user identifier.

[0084] The network communication unit 452 transmits the upstream packet input from the multi-core processor 453 to the network N. The network communication unit 452 also outputs, for example, a downstream packet received from the network N to the multi-core processor 453. Furthermore, the network communication unit 452 detects, for example, a user identifier in the header field of the downstream packet received from the network N, and notifies the control unit 44 of the detected user identifier.

[0085] The multi-core processor 453 has, for example, multiple CPU cores, and executes forwarding processing of packets input from the base station communication unit 451 or the network communication unit 452 using the number of CPU cores assigned by the control unit 44.

[0086] <Example of operation> Next, an example of operation of the wireless communication system S having the above-described configuration will be described. Fig. 5 is a sequence diagram showing an example of operation of the wireless communication system S according to the first embodiment.

[0087] 5, a terminal 1 that wishes to start large-capacity communication of 100 Gbps or more (in other words, communication requiring high-speed transfer) transmits a session establishment request requesting the establishment of a user plane session (for example, a PDU session) to the session control device 3 via the base station 2 (S11, S12). At that time, the terminal 1 includes the above-mentioned instruction information in the session establishment request.

[0088] In response to receiving a session establishment request including instruction information from the terminal 1 via the base station 2, the session control device 3 determines the number of CPU cores that are permitted to be used for forwarding processing of user traffic based on the instruction information (S13).

[0089] For example, if the instruction information indicates a required number of CPU cores, the session control device 3 determines the required number of CPU cores as the number of CPU cores that are allowed to be used for transferring user traffic. If the instruction information does not indicate a required number of CPU cores, the session control device 3 determines a predetermined number of CPU cores as the number of CPU cores that are allowed to be used for transferring user traffic.

[0090] The session control device 3 generates mapping information that associates instruction information indicating the number of CPU cores with a user identifier (S14), and transmits a connection request including the mapping information to a GW device 4 that supports the determined number of CPU cores (S15). In response to receiving the connection request including the instruction information, the GW device 4 determines whether the number of CPU cores indicated in the mapping information is available for use (S16).

[0091] If the determination result shows that the number of CPU cores indicated in the mapping information is available and a session can be established, the GW device 4 notifies the session control device 3 of this fact by sending a connection response (YES in S16 to S18). In response to receiving the connection response from the GW device 4, the session control device 3 establishes a session between the terminal 1 and the network N via the base station 2 and the GW device 4 (S19).

[0092] Meanwhile, the GW device 4 associates the number of CPU cores indicated in the mapping information with the user identifier (S20). Thereafter, when a downstream packet including the user identifier arrives at the GW device 4 from the network N (S21), the GW device 4 allocates the number of CPU cores associated with the user identifier to the forwarding process of the packet by the forwarding processing unit 45 (S23).

[0093] The same applies to an uplink packet. For example, when an uplink packet including a user identifier arrives at the GW device 4 from the base station 2 (S22), the GW device 4 allocates the number of CPU cores associated with the user identifier to the forwarding process of the packet by the forwarding processing unit 45 (S23).

[0094] An example of a user identifier included in a packet is an IP address (a source IP address in the case of an upstream packet, and a destination IP address in the case of a downstream packet) or a TEID (Tunnel Endpoint Identifier).

[0095] Then, the GW device 4 executes packet forwarding processing using the allocated number of CPU cores in the forwarding processing unit 45 (S24), forwards the downstream packet to the terminal 1 (S25), and forwards the upstream packet to the network N (S26).

[0096] In addition, in S16, if the number of CPU cores indicated in the mapping information exceeds the number of CPU cores available in the transfer processing unit 45 of the GW device 4, the GW device, for example, sends a reject message to the session control device 3 (NO in S16).

[0097] When the session control device 3 receives a reject message from the GW device 4, it executes, for example, NG processing (S17). For example, the session control device 3 transmits a connection request including mapping information to another GW device 4 that supports multiple CPU cores. Alternatively, the session control device 3 may, for example, re-determine a number of CPU cores that is smaller than the previously determined number of CPU cores, and notify the GW device 4 that sent the reject message again, by means of a connection request, of mapping information in which the determined number of CPU cores is associated with instruction information.

[0098] As described above, according to the first embodiment, during the session establishment process, instruction information regarding the processor resources to be used by the GW device 4 for the forwarding process of data traffic on a session between the terminal 1 and the network N via the GW device 4 is indicated to the GW device 4 from the terminal 1 via the session control device 3, so that the processor resources to be used by the GW device 4 for the forwarding process can be appropriately controlled.

[0099] <Modification> In the above-described first embodiment, a description has been given of an aspect in which the decision of the number of CPU cores to be used for packet forwarding processing in the GW device 4 is performed in the session control device 3. In this modification, a description will be given of an aspect in which the decision of the number of CPU cores is performed in the GW device 4.

[0100] When the number of CPU cores is determined in the GW device 4, the function or operation of the CPU 34 in the configuration of the session control device 3 illustrated in Fig. 3 differs from that in the first embodiment, and the function or operation of the control unit 44 in the configuration of the GW device 4 illustrated in Fig. 4 differs from that in the first embodiment. Note that the configuration of the terminal 1 in the modified example may be the same as the configuration illustrated in Fig. 2.

[0101] An example of operation focusing on the differences between this modified example and the first embodiment will be described below with reference to Fig. 6. Fig. 6 is a sequence diagram showing an example of operation of a wireless communication system S according to the modified example. In Fig. 6, operations indicated with S13a to S16a indicate operations that are different from the operations illustrated in Fig. 5. The other operations indicated with S11, S12, and S17 to S26 may be understood to be the same as or similar to the operations illustrated in Fig. 5.

[0102] 6, when the session control device 3 (CPU 34) receives the instruction information transmitted by the terminal 1 in the session establishment request at the receiving unit 31, the session control device 3 does not determine the number of CPU cores based on the instruction information. Alternatively, to leave the determination of the number of CPU cores to the GW device 4, the session control device 3 transmits, for example, the received instruction information included in a connection request addressed to the GW device 4 from the transmitting unit 32 to the GW device 4 (S13a).

[0103] When the GW device 4 (control unit 44) receives a connection request including instruction information from the session control device 3 at the receiving unit 41, it determines the number of CPU cores that are allowed to be used for forwarding processing of user traffic based on the received instruction information (S14a).

[0104] For example, if the instruction information indicates a required number of CPU cores, the GW device 4 determines the required number of CPU cores as the number of CPU cores that can be used for forwarding user traffic. If the instruction information does not indicate a required number of CPU cores, the session control device 3 determines a predetermined number of CPU cores as the number of CPU cores that can be used for forwarding user traffic.

[0105] The GW device 4 determines whether the CPU cores of the determined number of CPU cores are available for use (S15a). If the result of the determination is that the CPU cores of the determined number of CPU cores are available for use and a session can be established, the GW device 4 generates mapping information that associates the determined number of CPU cores with a user identifier (YES in S15a to S16a).

[0106] The subsequent processing is the same as the operation shown in Figure 5, and the GW device 4 allocates the number of CPU cores associated with the user identifier to the packet forwarding processing by the forwarding processing unit 45, and performs packet forwarding processing for user traffic between the terminal 1 and the network N.

[0107] As described above, according to the first embodiment, the number of multiple CPU cores that the GW device 4 uses for packet forwarding processing is determined by the GW device 4 instead of the session control device 3, so that the processing load on the session control device 3 can be reduced, for example.

[0108] <Second embodiment> In the above-described first embodiment and modified example, a description has been given of a mode in which, in a session establishment process, instruction information is indicated from the terminal 1 to the GW device 4 via the session control device 3. In the second embodiment, a description will be given of a mode in which, after a session is established between the terminal 1 and the network N via the GW device, instruction information is indicated from the terminal 1 to the GW device 4 without going through the session control device 3.

[0109] For example, in the system configuration example shown in Figure 1, if there is no GW device 4 that does not support multiple CPU cores, it is not necessary to check whether the GW device 4 to which instruction information is to be notified in the session establishment process supports multiple CPU cores.

[0110] Therefore, terminal 1 can issue instructions regarding the CPU core that GW device 4 will use for packet forwarding processing by, for example, including instruction information in a packet to be sent to network N in the established session, without terminal 1 notifying session control device 3 of instruction information during the session establishment process.

[0111] 2, in which instruction information is sent from the terminal 1 after the session is established, the function or operation of the CPU 14 differs from that of the first embodiment, and in the configuration of the GW device 4 shown in Fig. 4, the function or operation of the control unit 44 differs from that of the first embodiment. Note that the configuration of the session control device 3 in the second embodiment may be the same as the configuration shown in Fig. 3.

[0112] In the second embodiment, the CPU 14 of the terminal 1 includes, for example, instruction information in an optional field in the IP header of an uplink packet transmitted from the transmitter 12 to the network N via the base station 2 after the session is established.

[0113] On the other hand, when the base station communication unit 451, which functions as an example of a detection unit, detects instruction information in an optional field in the IP header of a received uplink packet, the control unit 44 of the GW device 4 controls the resources (e.g., the number of CPU cores) of the multi-core processor 453 to be allocated to packet forwarding processing in the forwarding processing unit 45 based on the instruction information.

[0114] <Example of operation> An operation example of the second embodiment will be described below with reference to Fig. 7. Fig. 7 is a sequence diagram showing an operation example of the wireless communication system S according to the second embodiment.

[0115] 7, the session control device 3 establishes a session (e.g., a PDU session) between the terminal 1 and the network N via the base station 2 and the GW device 4 (S31). Note that in the second embodiment, the process of establishing the session in S31 may or may not include notification of instruction information by the operation described in the first embodiment.

[0116] After the session is established, for example, terminal 1 wishing to start large-capacity communication includes instruction information in an optional field in the IP header of an uplink packet addressed to network N in the established session, and transmits the uplink packet to base station 2 (S32). Base station 2 transmits the uplink packet received from terminal 1 to GW device 4 (S33).

[0117] The GW device 4 receives the uplink packet at the base station communication unit 451 of the forwarding processing unit 45, and detects instruction information in the optional field in the IP header of the received uplink packet (S34). The base station communication unit 451 notifies the control unit 44 of the detected instruction information. The upstream packet in which the instruction information is detected is transferred from the multi-core processor 453 to the network communication unit 452, and is then transmitted from the network communication unit 452 to the network N (S35).

[0118] The control unit 44 of the GW device 4 determines the number of CPU cores that are permitted to be used for forwarding user traffic based on the instruction information notified from the base station communication unit 451 (S36). For example, if the instruction information indicates a requested number of CPU cores, the GW device 4 determines the requested number of CPU cores as the number of CPU cores that are permitted to be used for forwarding user traffic. If the instruction information does not indicate a requested number of CPU cores, the session control device 3 determines a predetermined number of CPU cores as the number of CPU cores that are permitted to be used for forwarding user traffic.

[0119] The GW device 4 determines whether the CPU cores of the determined number of CPU cores are available for use (S37). If the determination result shows that the CPU cores of the determined number of CPU cores are available for use in the GW device 4 (YES in S37), the GW device 4 generates mapping information that associates the determined number of CPU cores with user identifiers (YES in S37 to S40).

[0120] Furthermore, the GW device 4 associates the number of CPU cores indicated in the mapping information with the user identifier (S41). Thereafter, when a downstream packet including the user identifier arrives at the GW device 4 from the network N (S42), the GW device 4 allocates the number of CPU cores associated with the user identifier to the forwarding process of the packet by the forwarding processing unit 45 (S44).

[0121] The same applies to an uplink packet. For example, when an uplink packet including a user identifier arrives at the GW device 4 from the base station 2 (S43), the GW device 4 allocates the number of CPU cores associated with the user identifier to the forwarding process of the packet by the forwarding processing unit 45 (S44).

[0122] Then, the GW device 4 executes packet forwarding processing using the allocated number of CPU cores in the forwarding processing unit 45 (S45), forwards the downstream packet to the terminal 1 (S46), and forwards the upstream packet to the network N (S47). If the result of the determination in S37 is that the determined number of CPU cores exceeds the number of available CPU cores (NO in S37), the GW device 4 transmits, for example, a reject message to the terminal 1 in a downstream packet addressed to the terminal 1 (S38).

[0123] When terminal 1 receives a reject message in the received downstream packet, terminal 1 executes, for example, NG processing (S39). For example, when terminal 1 has transmitted instruction information indicating the requested number of CPU cores in S32, terminal 1 may re-determine a number of CPU cores that is smaller than the requested number of CPU cores and re-transmit an upstream packet including instruction information indicating the new number of CPU cores.

[0124] As described above, according to the second embodiment, after a session is established, terminal 1 indicates instruction information to GW device 4 without going through session control device 3. As a result, similar to the first embodiment, the processor resources used by GW device 4 for forwarding processing can be appropriately controlled, and delays in starting high-capacity communication between terminal 1 and network N can be suppressed.

[0125] The term "unit" used in the configurations exemplified in the above-described embodiments may be replaced with other terms such as "means," "circuit," or "device." Furthermore, the term "assign" may be replaced with "schedule."

[0126] Furthermore, this invention will make it possible to contribute to Goal 9 of the United Nations' Sustainable Development Goals (SDGs), which is "Build resilient infrastructure, promote inclusive and sustainable industrialization, and promote innovation and resilience."

[0127] The present invention has been described above using embodiments, but the technical scope of the present invention is not limited to the scope described in the above embodiments, and various modifications and changes are possible within the scope of the gist of the present invention. For example, all or part of the device can be configured by functionally or physically distributing or integrating any unit. Furthermore, new embodiments resulting from any combination of multiple embodiments are also included in the embodiments of the present invention. The effects of the new embodiments resulting from the combination also have the effects of the original embodiments. [Explanation of symbols]

[0128] 1 device 2 base station 3 Session Control Device 4. Gateway (GW) device 11,31,41 Receiver 12, 32, 42 Transmitter 13,33,43 Storage section 14,34 CPU 44 Control Unit 45 Transfer processing section 451 Base Station Communication Unit 452 Network Communications Department 453 multi-core processor S Wireless Communication System N Network

Claims

1. A communication terminal, a generation unit that generates instruction information related to processor resources used by the gateway device for forwarding processing of data traffic on a session between the communication terminal and a data network via the gateway device, the instruction information being for indicating to the gateway device whether or not reordering of packets is permitted in communication of an application executed by a processor of the communication terminal; a transmission unit that transmits the instruction information to a session control device that controls the gateway device in the session establishment process; A communication terminal comprising:

2. the instruction information indicates whether the gateway device is permitted to use the processor resources, which may result in a change in the transfer order of the data traffic in the transfer process. The communication terminal according to claim 1 .

3. the instruction information indicates the number of cores of the processor resource that the gateway device is permitted to use; The communication terminal according to claim 2.

4. A communication terminal, a generation unit that generates a data signal addressed to the data network in a session established between the communication terminal and the data network via a gateway device; a transmitter that transmits to the gateway device instruction information related to processor resources to be used by the gateway device for a transfer process for transferring data traffic on the session, the instruction information being for indicating to the gateway device whether or not a change in the order of packets is permitted in communication of an application executed by a processor of the communication terminal; A communication terminal comprising:

5. a receiving unit that receives, from the communication terminal during a session establishment process, instruction information related to processor resources used by the gateway device for a process of forwarding data traffic on a session via the gateway device, the instruction information indicating to the gateway device whether or not a change in the order of packets is permitted in communication of an application executed by a processor of the communication terminal; a transmitting unit that transmits the instruction information to the gateway device when the instruction information is received; A session control device comprising:

6. the instruction information indicates the number of cores of the processor resource that the gateway device is permitted to use, the transmitting unit transmits to the gateway device the number of cores of the processor resource to be used by the gateway device for the transfer process based on the received instruction information; The session control device according to claim 5 .

7. the instruction information indicates the content of an application to be executed by the communication terminal; the session control device further includes a determination unit that determines the number of cores based on the content of the application indicated by the instruction information by referring to determination data in which the content of the application is associated with the number of cores available to the processor resource; the transmitting unit transmits the number determined by the determining unit to the gateway device. The session control device according to claim 5 .

8. the receiving unit receives a terminal identifier capable of identifying the communication terminal from the communication terminal in the session establishment process; the transmitting unit transmits, to the gateway device, mapping information in which the number of cores determined by the determining unit is associated with the terminal identifier. The session control device according to claim 7 .

9. the instruction information indicates the number of cores of the processor resource that the gateway device is permitted to use, the transmission unit transmits the instruction information to the gateway device in the session establishment process as information used by the gateway device to determine the number of cores of the processor resource. The session control device according to claim 5 .

10. A gateway device, a forwarding processing unit that performs forwarding processing of data traffic on a session between a communication terminal and a data network via the gateway device; a receiving unit that receives instruction information relating to a processor resource to be used in the transfer process, the instruction information being for indicating to the gateway device whether or not a change in the order of packets is permitted in communication of an application executed by a processor of the communication terminal, from a session control device that controls establishment of the session during the session establishment process; a control unit that controls allocation of the processor resources to the transfer process based on the received instruction information; A gateway device comprising:

11. the instruction information indicates the number of cores of the processor resource that the gateway device is permitted to use, the receiving unit receives, from the session control device during the session establishment process, core count information indicating the number of cores of the processor resource determined by the session control device based on the instruction information; the control unit allocates the number of cores indicated by the core number information to the transfer processing. The gateway device according to claim 10.

12. the receiving unit receives mapping information in which the core count information and the terminal identifier are associated with each other from the session control device that has received a terminal identifier capable of identifying the communication terminal in the session establishment process; the control unit allocates the number of cores indicated by the core number information to the forwarding process of the data traffic corresponding to the terminal identifier based on the mapping information. The gateway device according to claim 11.

13. The instruction information indicates the number of cores of the processor resource that the gateway device is allowed to use. the receiving unit receives the instruction information from the session control device during the session establishment process; the gateway device further includes a determination unit that determines the number of cores to be used for the transfer process based on the instruction information; the control unit allocates the number of cores determined by the determination unit to the transfer processing. The gateway device according to claim 11.

14. the instruction information indicates the content of an application to be executed by the communication terminal; the receiving unit receives the instruction information from the session control device during the session establishment process; the gateway device further includes a determination unit that determines the number of cores to be used for the transfer process based on the instruction information by referring to determination data in which the content of the application is associated with the number of cores available for the processor resource; the control unit allocates the number of cores determined by the determination unit to the transfer processing. The gateway device according to claim 11.

Citation Information

Patent Citations

  • Network processing system, management method for network system, and communication device

    JP2016220126A