Proxy device, proxy method and program

The proxy device in the 5G Core architecture addresses the issue of increased processing delays by selecting NF instances based on network delay considerations, enhancing efficiency and load balancing in geographically distributed setups.

JP7809032B2Active Publication Date: 2026-01-30KDDI CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022136009
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-29
Publication Date
2026-01-30
Estimated Expiration
2042-08-29

AI Technical Summary

Technical Problem

The selection of a Network Function (NF) instance in a 5G Core (5GC) service-based architecture is conventionally based solely on load information, leading to increased processing delays due to the placement of Service Communication Proxies (SCPs) between NF instances, which are often geographically redundant.

Method used

A proxy device and method that considers network delay in selecting an NF instance by calculating an estimated transfer timeout value, taking into account the processing delay from the client to the server via the proxy device, and selecting instances that can complete the process within a specified timeout value.

Benefits of technology

This approach improves efficiency by reducing processing delays and enabling load balancing across geographically distributed NF instances, ensuring timely and effective service delivery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007809032000011
    Figure 0007809032000011
  • Figure 0007809032000012
    Figure 0007809032000012
  • Figure 0007809032000013
    Figure 0007809032000013
Patent Text Reader

Abstract

To provide a proxy device which can increase the efficiency by selecting an NF instance on the basis of network delay.SOLUTION: The proxy device includes: a request acquisition unit for acquiring a request from an NF instance of a client; and an NF instance selection unit for selecting an NF instance of a server on the basis of the processing delay including the network delay according to the request acquired by the request acquisition unit.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a proxy device, a proxy method, and a program. [Background technology]

[0002] 5GC (5G Core) adopts a service-based architecture (SBA) (see, for example, Non-Patent Documents 1-2). Techniques for selecting an instance of a network function (NF) within an SBA are known. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] 3GPP (registered trademark) TS 23.501 “System architecture for the 5G System (5GS)” [Non-patent document 2] Tulja Vamshi Kiran Buyakar et al., “Prototyping and Load Balancing the Service Based Architecture of 5G Core using NFV”, 2019 IEEE Conference on Network Softwarization (Netsoft), p.228-232 [Non-patent document 3] Liang Bao et al.,“Performance Modeling and Workflow Scheduling of Microservice-Based Applications in Clouds”,IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,VOL.30,NO.9,SEPTEMBER 2019 Summary of the Invention [Problem to be solved by the invention]

[0004] However, conventionally, the selection of an instance of an NF (NF instance) is performed by a producer based only on the load information of the NF. Note that an NF instance must be selected from a set of multiple NF instances called an NF set, and the NF instances within an NF set may be configured in a geographically redundant manner. Furthermore, since a proxy device called a Service Communication Proxy (SCP) is placed between NF instances, it is conceivable that the processing delay between NF instances will increase.

[0005] The present disclosure has been made in consideration of these circumstances, and aims to provide a proxy device, a proxy method, and a program that can improve efficiency by selecting an NF instance taking network delay into consideration. [Means for solving the problem]

[0006] As one configuration example, the device includes a request acquisition unit that acquires a request from an NF instance of a client, and an NF instance selection unit that selects an NF instance of a server based on a processing delay including a network delay in response to the request acquired by the request acquisition unit, wherein the NF instance selection unit acquires, as the processing delay, a processing delay of the entire process in which the request is transmitted from the NF instance of the client to its own device, the request is transferred from its own device to the NF instance of the server, and a response is transmitted from the NF instance of the server to the NF instance of the client via its own device, and selects an NF instance of the server that can process the entire process within a timeout value of the request based on the acquired processing delay of the entire process. the NF instance selection unit calculates an estimated value of a transfer timeout value by subtracting the time at which the request is sent from the NF instance of the client from the time at which the request is transferred from the own device, and subtracting the result from the timeout value of the request, and selects the NF instance of the server for which the sum of the network delay time at which the request is transferred from the own device to the NF instance of the server, the processing time at the server, and the network delay time at which the response is sent from the NF instance of the server to the own device is smaller than the calculated estimated value. It is a proxy device. As one configuration example, the apparatus includes a request acquisition unit that acquires a request from an NF instance of a client, and an NF instance selection unit that selects an NF instance of a server based on a processing delay including a network delay in response to the request acquired by the request acquisition unit, and the NF instance selection unit acquires, as the processing delay, a processing delay of the entire process in which the request is transmitted from the NF instance of the client to its own device, the request is transferred from its own device to the NF instance of the server, and a response is transmitted from the NF instance of the server to the NF instance of the client via its own device, and selects the entire process based on the acquired processing delay of the entire process. a proxy device that selects an NF instance of the server that can process the request within a timeout value, and the NF instance selection unit calculates an estimate of a transfer timeout value by subtracting from the timeout value of the request the sum of the network delay time when the request is transferred from the NF instance of the client to the device itself, the processing time at the device itself, and the network delay time when the response is transmitted from the device itself to the NF instance of the client, and the result is compared with the calculated estimate and selects the NF instance of the server for which the sum of the network delay time when the request is transferred from the device itself to the NF instance of the server, the processing time at the server, and the network delay time when the response is transmitted from the NF instance of the server to the device itself is smaller than the calculated estimate. [Effects of the Invention]

[0007] According to the proxy device, proxy method, and program of the present disclosure, efficiency can be improved by selecting an NF instance taking network delay into consideration. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating a schematic configuration example of the 5GC architecture. [Figure 2A] FIG. 1 illustrates an example of a communication model for NF / NF service interaction. [Figure 2B] FIG. 1 illustrates an example of a communication model for NF / NF service interaction. [Figure 2C] FIG. 1 illustrates an example of a communication model for NF / NF service interaction. [Figure 2D] FIG. 1 illustrates an example of a communication model for NF / NF service interaction. [Figure 3]FIG. 1 is a diagram illustrating a schematic example of an overall configuration using an SCP. [Figure 4] FIG. 2 is a diagram illustrating a schematic functional block configuration of a proxy device according to an embodiment. [Figure 5] FIG. 2 is a diagram showing a schematic configuration of a first model according to the embodiment. [Figure 6] FIG. 4 is a diagram showing a schematic configuration of a second model according to the embodiment. [Figure 7] FIG. 2 is a diagram illustrating a schematic configuration of an assumed model according to the embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of an instance processing delay retention table according to the embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of a processing delay holding table of the proxy agent according to the embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of an instance registration request according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, embodiments will be described with reference to the drawings.

[0010] [5GC Architecture] FIG. 1 is a diagram illustrating a schematic configuration example of 5GC architecture 1 (for details, see Non-Patent Document 1). Figure 1 shows the Network Slice Selection Function (NSSF) 11, Network Exposure Function (NEF) 12, Network Repository Function (NRF) 13, Policy Control Function (PCF) 14, Unified Data Management (UDM) 15, Application Function (AF) 16, Edge Application Server Discovery Function (EASDF) 17, Network Slice-specific and SNPN Authentication and Authorization Function (NSSAAF) 18, Authentication Server Function (AUSF) 19, Access and Mobility Management Function (AMF) 20, Session Management Function (SMF) 21, SCP 22, Network Slice Admission Control Function (NSSACF) 23, User Equipment (UE) 24, (Radio) Access Network (R)AN 25, User Plane Function (UPF) 26, and Data Network (DN) 27.

[0011] In 5G, SBA is adopted as the control plane (C-Plane) configuration. In SBA, the C-Plane is divided into NFs based on its functional units. Each NF is loosely coupled, and communication between NFs is achieved using an API (Application Programming Interface).

[0012] 2A to 2D, an example of a communication model between NFs is shown. 2A and 2B are examples of the Direct method, and FIGS. 2C and 2D are examples of the Indirect method. 2A, 2B, 2C, and 2D are diagrams each showing an example of a communication model of NF / NF service interaction.

[0013] In the example of FIG. 2A, a consumer 111 sends a service request to a producer 112, the producer 112 sends a service response to the consumer 111, and the consumer 111 sends a subsequent request to the producer 112.

[0014] In the example of FIG. 2B, the consumer 131 sends a discovery to the network repository function (NRF) 133, and the NRF 133 sends NF profiles (NF profile(s)) to the consumer 131. Here, the NF profile can hold the load status of the target NF instance, and based on this information, load balancing and selection of the NF instance of the producer 132 can be performed. A consumer 131 selects an NF set or an NF instance, which in turn selects a producer 132. Communication between the consumer 131 and the selected producer 132 is generally similar to that in Figure 2A.

[0015] In the example of FIG. 2C, the consumer 151 sends a discovery to the NRF 153, and the NRF 153 sends an NF profile to the consumer 151. The consumer 151 selects an NF set or an NF instance, which in turn selects a producer 152. The consumer 151 sends a service request to the SCP 154, and the SCP 154 sends the service request to the producer 152. At this time, the SCP 154 may obtain parameters from the NRF 153. The producer 152 sends a response to the SCP 154 , and the SCP 154 sends the response to the consumer 151 . The consumer 151 sends subsequent requests to the SCP 154, which in turn sends subsequent requests to the producer 152.

[0016] In the example of Fig. 2D, the consumer 171 sends a service request and parameters to the SCP 174, and the SCP 174 sends the service request to the producer 172. At this time, the SCP 174 uses the parameters to send a discovery to the NRF 173 and receives an NF profile from the NRF 173. The SCP 174 then selects an NF instance. The producer 172 sends the response to the SCP 174, which in turn sends the response to the consumer 171. The consumer 171 sends subsequent requests to the SCP 174, which in turn sends subsequent requests to the producer 172.

[0017] As a result of reviewing the Service Framework with the aim of improving collaboration between NFs and enabling flexible scale-out, the following functions have been added in Rel16: First, the indirect method has been added as shown in Figures 2C and 2D. Then, the SCP performs NF discovery and signal routing, simplifying the NF consumer. Second, NF sets / NF service sets have been added. All instances in an NF set have the same context, so if one instance becomes unavailable, other instances can take over. NFs in the same NF set may be deployed in different data centers (DCs) or different geographic locations to increase service availability.

[0018] FIG. 3 is a diagram showing a schematic example of the overall configuration using an SCP. In the example of FIG. 3, in a region 231 (Region A), a producer 271 of an NF is formed in a data center 251 (DC1), and a producer 272 of an NF is formed in a data center 252 (DC2). In the region 232 (Region B), a producer 281 of an NF is formed in a data center 261 (DC1), and a producer 282 of an NF is formed in a data center 262 (DC2). SCP 211 has access to each of the producers 271, 272, 281, and 282.

[0019] Currently, communication between NF instances is typically performed in the format shown in Figure 2B. However, in the future, it is expected that communication between NF instances will generally be performed in the formats shown in Figures 2C and 2D. As the number of NF sets increases, and in order to achieve high availability, it is expected that the method of installing each NF will be adopted, in which NFs are installed in different DCs in different locations, as shown in Figure 3. For this reason, it is expected that the variance of the expected (round-trip) transmission time for each NF when viewed from a certain SCP will become large enough to be non-negligible. In addition, in the future, it is expected that NF instances will become more stateless in order to flexibly expand SBA.

[0020] Two models will be exemplified as models according to the embodiment. In the first model, the proxy device inquires about information about a server instance from a repository instance, and the proxy device selects the server instance. In the second model, a client instance queries a repository instance for information about server instances, and the client instance selects the server instance.

[0021] In this embodiment, the proxy device and / or repository instance stores a table that holds processing delay values ​​and network delay values ​​for each instance. In this embodiment, the HTTP header customization function is used to add the following header options: That is, the HTTP2 header customization function is used to add specified optional headers (parameters), and when using other protocols, specified parameters are also added. Here, the added parameters include, for example, send time (transmission time), load information (instance processing delay time), and request timeout value. The send time (transmission time) is the request transmission time when a request is sent, and is the response transmission time when a response is sent. Note that for such information, the header options described in 3GPP (registered trademark) 29.500 may be used.

[0022] FIG. 4 is a diagram showing a schematic functional block configuration of the proxy device 311 according to the embodiment. The proxy device 311 is an example of an SCP. The proxy device 311 includes a communication unit 331 , a storage unit 332 , and a control unit 333 . The control unit 333 includes a request acquisition unit 351 , a query unit 352 , a delay calculation unit 353 , and an NF instance selection unit 354 . The delay calculation unit 353 includes a delay acquisition unit 371 .

[0023] The communication unit 331 communicates with an external device. Note that the communication may be, for example, wired communication or wireless communication. The storage unit 332 stores various types of information. The control unit 333 executes various controls and processes.

[0024] In this embodiment, the proxy device 311 is configured using a computer. The control unit 333 has a processor such as a CPU (Central Processing Unit), and executes a predetermined program using the processor to perform various controls and processes. The program may be stored in the storage unit 332, for example.

[0025] The request acquisition unit 351 acquires a request for a service. The inquiry unit 352 makes an inquiry about the NF based on the request. The delay acquisition unit 371 acquires information about delays in the processing in response to the request. In this embodiment, the delays include network delays. The delay calculation unit 353 calculates a delay (for example, a delay time) based on the acquired information about the delay. The NF instance selection unit 354 selects an NF instance based on the calculated delay. The function of the proxy device 311 may be configured as an instance, for example.

[0026] (Example of the first model) FIG. 5 is a diagram showing a schematic configuration of a first model (first model configuration 401) according to the embodiment. In the first model, the proxy device 311A ​​inquires about server instance information from the repository instance 413, and the proxy device 311A ​​selects a server instance.

[0027] FIG. 5 shows a client instance 411, a proxy device 311A, a server instance 412, and a repository instance 413. Here, the first model is applicable to the configuration of FIG. 2D, where the client instance 411 corresponds to the consumer, the proxy device 311A ​​corresponds to the SCP, the server instance 412 corresponds to the producer, and the repository instance 413 corresponds to the NRF.

[0028] The proxy device 311A ​​is an example of the proxy device 311 shown in FIG. 4, and will be described using the same reference numerals as the respective functional units shown in FIG. The client instance 411 sends a service request to the proxy device 311A. The request may include parameters and the like. In the proxy device 311A, the communication unit 331 communicates with the client instance 411, and the request acquisition unit 351 acquires the request received from the client instance 411. In the proxy device 311A, the communication unit 331 communicates with the repository instance 413, and based on the request acquired by the request acquisition unit 351, the inquiry unit 352 makes an inquiry to the repository instance 413 about the server instance.

[0029] Here, in the proxy device 311A, information related to the processing time is acquired by the delay acquisition unit 371. In the proxy device 311A, the delay calculation unit 353 calculates the delay related to the server instance based on the information acquired by the delay acquisition unit 371, and acquires information related to the delay (for example, the processing time). In the proxy device 311A, the communication unit 331 communicates with the server instance 412 based on the calculation result by the delay calculation unit 353, and transfers the request to the server instance 412. Then, the response is sent from the server instance 412 to the client instance 411 via the proxy device 311A.

[0030] In the first model, the proxy device 311A ​​queries the repository instance 413 for a server instance, so the processing delay of the proxy device 311A ​​includes the processing time of the repository instance 413 and the network delay time between the repository instance 413 and the proxy device 311A.

[0031] (Example of the second model) FIG. 6 is a diagram showing a schematic configuration of a second model (second model configuration 501) according to the embodiment. In the second model, the client instance 511 queries the repository instance 513 for server instances, and the client instance 511 selects a server instance (eg, one server instance or a set of multiple server instances).

[0032] FIG. 6 shows a client instance 511, a proxy device 311B, a server instance 512, and a repository instance 513. Here, the second model is applicable to the configuration of FIG. 2C, where the client instance 511 corresponds to the consumer, the proxy device 311B corresponds to the SCP, the server instance 512 corresponds to the producer, and the repository instance 513 corresponds to the NRF.

[0033] Proxy device 311B is an example of proxy device 311 shown in Fig. 4, and will be described using the same reference numerals as the respective functional units shown in Fig. 4. In the second model, the function of query unit 352 shown in Fig. 4 does not necessarily have to be provided in proxy device 311B. The client instance 511 queries the repository instance 513 for the server instance. Here, this inquiry may be made in advance, for example, separately from the timing of the subsequent processing.

[0034] The client instance 511 sends a request for service to the proxy device 311B, which may include the results of the query to the server instance. In the proxy device 311B, the communication unit 331 communicates with the client instance 511, and the request acquisition unit 351 acquires the request received from the client instance 511.

[0035] Here, in the proxy device 311B, information relating to the processing time is acquired by the delay acquisition unit 371. In the proxy device 311B, the delay calculation unit 353 calculates the delay relating to the server instance based on the information acquired by the delay acquisition unit 371, and acquires information relating to the delay (for example, the processing time). In the proxy device 311B, the communication unit 331 communicates with the server instance 512 based on the calculation result by the delay calculation unit 353, and transfers the request to the server instance 512. Then, the server instance 512 sends a response to the client instance 511 via the proxy device 311B. Here, in the case of the second model, for example, a query to the server instance is executed in advance, so there is no need to consider delays in query processing to the repository instance 513.

[0036] FIG. 7 is a diagram showing a schematic configuration of an assumed model (an assumed model configuration 601) according to the embodiment. In the example of FIG. 7, a plurality of n client instances 611-1 to 611-n, a proxy device 311C, a plurality of m server instances 612-1 to 612-m, and a repository instance 613 are shown.

[0037] The proxy device 311C includes a proxy agent 711 (proxy agent a), a proxy agent 712 (proxy agent b), a proxy control plane 713, and a proxy storage unit 714. Proxy device 311C is an example of proxy device 311 shown in Fig. 4. Proxy agents 711 and 712 and proxy control plane 713 are configured, for example, by the functions of communication unit 331 and control unit 333 shown in Fig. 4, and proxy storage unit 714 is configured, for example, by the functions of storage unit 332 shown in Fig. 4. In the example of FIG. 7, communication between proxy agents is performed inside the proxy device 311C, so communication between proxy agents is also taken into consideration.

[0038] The proxy agent 711 has the function of querying the repository instance 613 for server instances. The proxy agent 712 has a function to access the server instances 612-1 to 612-m. In the example of FIG. 7, for convenience of explanation, the functions of the proxy agent 711 and the proxy agent 712 are distinguished from each other, but the distinction is not necessarily limited to this example.

[0039] Total request processing delay RD total (t) is expressed by (Equation 1). In this embodiment, the processing time required for communication between two instances, etc. is described as being the same for the processing time from one to the other and the processing time from the other to the one, but as another example, these may be determined as values ​​that can be different from each other.

[0040]

number

[0041] The definition of formula (1) is as follows. The request processing delay time is represented as RD(t). The network delay between instances is represented as ND(t). The network delay time between the client (for example, the client instance 611-1) and the proxy device 311C is ND. cliant-Proxy It is represented by (t). The network delay time between the proxy device 311C and the server (for example, the server instance 612-1) is calculated as ND. Proxy-server It is represented by (t). The processing time in the proxy device 311C is proxy It is represented by (t). Server processing time RD server It is represented by (t).

[0042]

number

[0043] The definition of formula (2) is as follows. The processing time in the proxy agent 711 of the proxy device 311C is expressed as RD proxy_agent_a It is represented by (t). The processing time in the proxy agent 712 of the proxy device 311C is expressed as RD proxy_agent_b It is represented by (t). The processing time (delay time due to communication) between the proxy agent 711 and the proxy agent 712 is expressed as ND proxy_agent_ab It is represented by (t).

[0044] Here, Request send time represents the time when each instance sends a request. In this embodiment, the client instance stamps the time when it sends a request in the send time parameter in the http2 header. The Request received time indicates the time when each instance or the proxy device 311C receives the request. Each instance or the proxy device 311 acquires the request received time. The request transferred time indicates the time when the proxy device 311 transfers the request. The proxy device 311C stamps this time in the send time parameter in the http2 header. The proxy device 311C can also update this value.

[0045] Response send time indicates the time when the server or proxy agent sends the response. The server or proxy agent stamps the time when the response is sent into the send time parameter in the HTTP2 header. Response received time indicates the time when the proxy agent receives the response. The proxy device 311 acquires the time when the response is received.

[0046]

number

[0047] Request received time proxy_agent_a represents the time when the proxy agent 711 (proxy agent a) receives the request. Request transferred time proxy_agent_a represents the time when the proxy agent 711 (proxy agent a) transfers the request.

[0048]

number

[0049] Request send time proxy_agent_a represents the time when the proxy agent 711 (proxy agent a) transmits the request. Request received time proxy_agent_b represents the time when the proxy agent 712 (proxy agent b) receives the request.

[0050]

number

[0051] Response send time server indicates the time when the server (server instance) sends the response. Response received time proxy_agent_b represents the time when the proxy agent 712 (proxy agent b) receives the response.

[0052]

number

[0053] Request send time Cliant represents the time when the client (client instance) sends a request.

[0054]

number

[0055] Request transferred time proxy_agent_b represents the time when the proxy agent 712 (proxy agent b) transfers the request.

[0056] Explains how to select an instance taking into consideration the timeout value. The selection of an instance may be determined based on the timeout value of the request. In the proxy device 311, when a request is received from a client instance, the control unit 333 may execute the following process: The proxy agent 712 on the server side determines whether to transfer the request.

[0057] First, the proxy device 311 checks the timeout value in the request.

[0058] Second, the proxy device 311 performs a calculation of an estimation transferred timeout value. The Estimation transferred timeout value is the timeout value minus the time elapsed from when the request transferred from the client instance was generated until it reached the specified processing. The timeout value is set by the client instance.

[0059] Here, two examples (first calculation method and second calculation method) are shown as methods for calculating the Estimation transferred timeout value. The first calculation method is shown in equation (8). The second calculation method is shown in equation (9). Regarding the second calculation method, since the processing time between each instance and the processing time of each instance can be taken into consideration, the time consumed in the future between the client and the proxy can also be taken into consideration.

[0060]

number

[0061] Request send time proxy_agent_b represents the time when the proxy agent 712 (proxy agent b) sends the request.

[0062]

number

[0063] Third, the proxy device 311 compares the Estimation transferred timeout value with the processing delay time and network delay time stored in the device, selects a server instance whose required processing time is smaller than the Estimation transferred timeout value, and transfers the request to the selected server instance. The condition for selecting a server instance is expressed by, for example, equation (10).

[0064]

number

[0065] Fourth, the proxy device 311 overwrites the Estimation transferred timeout value with the timeout value of the request at the time of request transfer.

[0066] If the proxy device 311 detects multiple candidate server instances (target server instances) based on the calculation result of equation (10), it may control the proxy device 311 to transfer the request to the server instance with the largest delay value, for example, in order to prevent the request from being transferred only to the server instance with the smallest delay value. Furthermore, if the proxy device 311 is unable to find the target server instance, it returns an error to the client instance. Here, the candidate server instances are server instances that do not time out.

[0067] The processing delay of each instance and the network delay between each instance will be explained. In the proxy device 311, the proxy agents 711 and 712 store (hold) information on processing delays of subordinate instances and information on processing delays between proxy agents with which they communicate, as a table. As a method of acquiring the processing delay of a server instance, for example, a proxy server (proxy device 311) can detect (determine) the processing delay of a server instance by referring to the processing delay time of the instance in relation to the load information in the response header.

[0068] FIG. 8 is a diagram showing an example of the instance processing delay retention table 2011 according to the embodiment. In the proxy device 311, for example, the storage unit 332 may store a processing delay holding table 2011. The values ​​in the processing delay holding table 2011 may be set to be fixed, or may be variably updated, for example.

[0069] In the processing delay retention table 2011, for each instance identification information (ID), instance-Proxy (t) and RD instance (t) is shown. In the example of FIG. 8, instance IDs are shown as instance_A, instance_B, and instance_C. Here, the network delay between the proxy device 311 and each instance is expressed as ND instance-Proxy It is represented by (t). The processing time for each instance is calculated by RD. instance It is represented by (t). Examples of instances include a client instance, a server instance, and a repository instance.

[0070] FIG. 9 is a diagram showing an example of the processing delay retention table 2021 of the proxy agent according to the embodiment. In the proxy device 311, for example, the storage unit 332 may store a processing delay holding table 2021. The values ​​in the processing delay holding table 2021 may be set to be fixed, or may be variably updated, for example.

[0071] In the processing delay retention table 2021, for each proxy agent instance identification information (ID), Proxy_agent (t) and RD proxy_agent (t) is shown. In the example of FIG. 9, Proxy agent b, Proxy agent c, and Proxy agent d are shown as instance IDs. Here, the network delay between the proxy agent 711 (proxy agent a) and each proxy agent (between proxy agents) is expressed as ND Proxy_agent It is represented by (t). The processing time for each instance (each proxy agent) is calculated as follows: proxy_agent It is represented by (t).

[0072] In addition, information on processing time such as the contents of the processing delay retention table 2011 shown in Figure 8 and the contents of the processing delay retention table 2021 shown in Figure 9 may be managed (stored), for example, in the repository instance, or may be managed (stored) in both the proxy device 311 and the repository instance.

[0073] The processing delay of each instance and the update of the network delay between each instance will be explained. In the proxy device 311, for example, updating of table values ​​may be performed only when a request has ended normally, because if a value when a request has ended abnormally is used, an incorrect value may be stored. The value of each processing delay time may be set or updated, for example, based on only one request, or may be set or updated using a value calculated based on the results of multiple requests (such as an average value).

[0074] The initial values ​​of the processing delay of each instance and the network delay between each instance will be explained. Any value may be specified for the processing delay of each instance. Also, for example, a prediction model of a microservice may be used (for example, see Non-Patent Document 3).

[0075] Regarding the network delay between each instance, when an NF instance is generated (created), its information is registered with the NRF via the SCP, and the request made at that time may be used to calculate the delay.

[0076] FIG. 10 is a diagram illustrating an example of an instance registration request according to the embodiment. In the example of FIG. 10, a generated instance (generated instance 821), a proxy device 311D, and a server instance 822 are shown. Here, the proxy device 311D is an example of the proxy device 311 shown in FIG.

[0077] In the example of FIG. 10, the created instance 821 transmits a request for instance registration (instance registration request) to the proxy device 311D. The proxy device 311D may detect (determine) a network delay based on the time when the instance registration request is sent from the created instance 821 (Request send time) and the time when the instance registration request is received (Request received time).

[0078] Account for network delays between proxy agents. Any value may be specified for the processing delay of each instance. The proxy device 311D may set the network delay by referring to values ​​obtained by executing communication between proxy agents, etc. The communication may be, for example, Internet Control Message Protocol (ICMP) communication.

[0079] This section describes a process when a server instance needs to transfer a request to another instance when processing the request. First, the server instance checks the request timeout value if serialization is required. Second, the server instance performs a calculation of the Estimation transferred timeout value, for example, using equation (8) or equation (9).

[0080] Third, the server instance overwrites the request timeout value at the time of transferring the request with the Estimation transferred timeout value, and transfers the request to the proxy server (proxy device 311). Fourth, the proxy server (proxy device 311) executes processing of an instance selection method that takes into account a timeout value based on the received request. By repeating the above, it is possible to update the timeout value and prevent inconsistencies such as data updates in the processing between each instance.

[0081] Next, a process for transferring data to another instance when parallel processing is required will be described. A case where synchronous processing is required for request processing while executing parallel processing is explained. Here, synchronous processing is, for example, processing in which a request is sent to a certain instance, a response to the request is received, and then a request is sent to another instance.

[0082] First, the server instance checks the request timeout value. Second, the server instance performs a calculation of the Estimation transferred timeout value, for example, using equation (8) or equation (9).

[0083] Third, the server instance overwrites the request timeout value at the time of request transfer with the Estimation transferred timeout value, and transfers the request to the proxy server (proxy device 311). At this time, the server instance stores the transfer time and the Estimation transferred timeout value. Fourth, after forwarding, the server instance stores the time when the response was received (response time). Fifth, the server instance calculates the request processing delay based on the stored response time and transfer time, and determines the timeout value for the next request by subtracting this value from the stored Estimation transferred timeout value.

[0084] When performing parallel processing, it is sometimes possible to execute request processing asynchronously. In such a case, a process similar to the serial process is executed.

[0085] As described above, the proxy device 311 according to this embodiment can improve efficiency by selecting an NF instance taking network delay into consideration. The proxy device 311 according to this embodiment can take into account the network delay between NF instances and can also take into account the processing delay of the SCP when selecting an NF instance. As a result, the proxy device 311 according to this embodiment can perform load balancing based on not only the processing delay of the instance but also the network delay between the instances, and can select an instance to which a request is to be sent, taking into account the processing delay of the proxy that selects the instance. The proxy device 311 according to this embodiment can select an NF instance taking into consideration communication processing delays between multiple agents.

[0086] In the proxy device 311 according to this embodiment, for example, by grasping the delay value of the entire SBA, it is possible to process a request by using the most suitable NF instance for each request of an NF instance. In the proxy device 311 according to this embodiment, for example, for high availability, it is possible to select an appropriate NF instance even when each NF instance is installed in a different location or a different data center (DC).

[0087] In the proxy device 311 according to this embodiment, the timeout value can be dynamically updated. The proxy device 311 according to this embodiment can hold the processing delay value and the network delay value of each instance. The proxy device 311 or each instance according to this embodiment can transmit a request while retaining its own request transmission time and timeout value. In the proxy device 311 according to this embodiment, the timeout value and the request transfer time can be updated when a request is transferred.

[0088] The proxy device 311 according to this embodiment can select an instance by comparing the timeout value with each processing delay. Each instance can retain the processing delay of the instance in the response and transfer it to the proxy device 311 . In the proxy device 311 according to this embodiment, for example, when a new instance is added, the proxy device 311 can autonomously calculate the processing delay time. In the proxy device 311 according to this embodiment, for example, it is possible to reduce the timeout and reduce the number of error terminations.

[0089] The processing method performed in the proxy device 311 according to this embodiment can also be implemented as a proxy method.

[0090] This will enable, for example, improvements to the overall quality of services in wireless networks, thereby contributing to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), which is to "Build resilient infrastructure, promote sustainable industrialization and foster innovation."

[0091] A program for implementing the functions of any of the components of any of the above-described devices may be recorded on a computer-readable recording medium and loaded into a computer system for execution. Note that the term "computer system" as used herein includes hardware such as an operating system or peripheral devices. Furthermore, "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and compact discs (CDs)-read-only memories (ROMs), as well as storage devices such as hard disks built into computer systems. Furthermore, "computer-readable recording medium" also includes devices that retain a program for a certain period of time, such as volatile memory within a computer system that acts as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. Such volatile memory may be, for example, random access memory (RAM). The recording medium may also be, for example, a non-transitory recording medium.

[0092] The above program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by transmission waves in the transmission medium. Here, the "transmission medium" that transmits the program refers to a medium that has the function of transmitting information, such as a network such as the Internet or a communication line such as a telephone line. The above program may also be one that realizes part of the above-mentioned functions. Furthermore, the above program may be a so-called differential file that can realize the above-mentioned functions in combination with a program already recorded in a computer system. A differential file may also be called a differential program.

[0093] Furthermore, the functions of any of the components in any of the above-described devices may be implemented by a processor. For example, each process in the embodiments may be implemented by a processor operating based on information such as a program and a computer-readable recording medium storing information such as the program. Here, the functions of each unit of the processor may be implemented by, for example, individual hardware, or may be implemented by integrated hardware. For example, the processor may include hardware, and the hardware may include at least one of a circuit for processing digital signals and a circuit for processing analog signals. For example, the processor may be configured using one or more circuit devices mounted on a circuit board, or one or both of one or more circuit elements. An integrated circuit (IC) or the like may be used as the circuit device, and a resistor or a capacitor may be used as the circuit element.

[0094] Here, the processor may be, for example, a CPU. However, the processor is not limited to a CPU, and various types of processors such as a GPU (Graphics Processing Unit) or a DSP (Digital Signal Processor) may be used. The processor may also be, for example, a hardware circuit such as an ASIC (Application Specific Integrated Circuit). The processor may also be, for example, composed of multiple CPUs, or may be, for example, composed of a hardware circuit such as a multiple ASIC. The processor may also be, for example, composed of a combination of multiple CPUs and a hardware circuit such as a multiple ASIC. The processor may also include, for example, one or more of an amplifier circuit or a filter circuit that processes analog signals.

[0095] The embodiments of this disclosure have been described in detail above with reference to the drawings, but the specific configuration is not limited to this embodiment, and includes designs within the scope that do not deviate from the gist of this disclosure. [Explanation of symbols]

[0096] 1...5GC architecture, 311, 311A ​​to 311D...proxy device, 331...communication unit, 332...storage unit, 333...control unit, 351...request acquisition unit, 352...query unit, 353...delay calculation unit, 354...NF instance selection unit, 371...delay acquisition unit, 401...first model configuration, 411, 511, 611-1 to 611-n...client instances, 412, 512, 612-1 to 612-m, 822...server instances, 413, 513, 613...repository instances, 501...second model configuration, 601...assumed model configuration, 711, 712...proxy agent, 713...proxy control plane, 714...proxy storage unit, 821...generated instances, 2011, 2021...processing delay retention table

Claims

1. a request acquisition unit that acquires a request from an NF instance of a client; an NF instance selection unit that selects an NF instance of a server based on a processing delay including a network delay in response to the request acquired by the request acquisition unit; Equipped with the NF instance selection unit acquires, as the processing delay, a processing delay of the entire process in which the request is transmitted from the NF instance of the client to its own device, the request is transferred from its own device to the NF instance of the server, and a response is transmitted from the NF instance of the server to the NF instance of the client via its own device, based on the acquired processing delay of the entire process, and selects an NF instance of the server that can process the entire process within a timeout value of the request; the NF instance selection unit calculates an estimated value of a transfer timeout value by subtracting the time when the request is transmitted from the NF instance of the client from the time when the request is transferred from its own device, and subtracting the result from the timeout value of the request, and selects the NF instance of the server for which the sum of the network delay time when the request is transferred from its own device to the NF instance of the server, the processing time at the server, and the network delay time when the response is transmitted from the NF instance of the server to its own device is smaller than the calculated estimated value. Proxy device.

2. a request acquisition unit that acquires a request from an NF instance of a client; an NF instance selection unit that selects an NF instance of a server based on a processing delay including a network delay in response to the request acquired by the request acquisition unit; Equipped with the NF instance selection unit acquires, as the processing delay, a processing delay of the entire process in which the request is transmitted from the NF instance of the client to its own device, the request is transferred from its own device to the NF instance of the server, and a response is transmitted from the NF instance of the server to the NF instance of the client via its own device, based on the acquired processing delay of the entire process, and selects an NF instance of the server that can process the entire process within a timeout value of the request; the NF instance selection unit calculates an estimated value of a transfer timeout value by subtracting from a timeout value of the request the sum of a network delay time when the request is transmitted from the NF instance of the client to the own device, a processing time in the own device, and a network delay time when the response is transmitted from the own device to the NF instance of the client, and comparing the sum with the calculated estimated value, the NF instance selection unit selects the NF instance of the server for which the sum of a network delay time when the request is transmitted from the own device to the NF instance of the server, a processing time in the server, and a network delay time when the response is transmitted from the NF instance of the server to the own device is smaller. Proxy device.

3. a query unit that queries a repository instance for an NF instance of the server; 3. The proxy device according to claim 1.

4. It has multiple agents The processing delay of the entire process includes a communication processing delay between the agents.

3. The proxy device according to claim 1.

5. The request acquisition unit acquires a request from the client's NF instance, an NF instance selection unit selects an NF instance of a server based on a processing delay including a network delay in response to the request acquired by the request acquisition unit; the NF instance selection unit acquires, as the processing delay, a processing delay of the entire process in which the request is transmitted from the NF instance of the client to its own device, the request is transferred from its own device to the NF instance of the server, and a response is transmitted from the NF instance of the server to the NF instance of the client via its own device, based on the acquired processing delay of the entire process, and selects an NF instance of the server that can process the entire process within a timeout value of the request; the NF instance selection unit calculates an estimated value of a transfer timeout value by subtracting the time when the request is transmitted from the NF instance of the client from the time when the request is transferred from its own device, and subtracting the result from the timeout value of the request, and selects the NF instance of the server for which the sum of the network delay time when the request is transferred from its own device to the NF instance of the server, the processing time at the server, and the network delay time when the response is transmitted from the NF instance of the server to its own device is smaller than the calculated estimated value. Proxy method.

6. The request acquisition unit acquires a request from the client's NF instance, an NF instance selection unit selects an NF instance of a server based on a processing delay including a network delay in response to the request acquired by the request acquisition unit; the NF instance selection unit acquires, as the processing delay, a processing delay of the entire process in which the request is transmitted from the NF instance of the client to its own device, the request is transferred from its own device to the NF instance of the server, and a response is transmitted from the NF instance of the server to the NF instance of the client via its own device, based on the acquired processing delay of the entire process, and selects an NF instance of the server that can process the entire process within a timeout value of the request; the NF instance selection unit calculates an estimated value of a transfer timeout value by subtracting from a timeout value of the request the sum of a network delay time when the request is transmitted from the NF instance of the client to the own device, a processing time in the own device, and a network delay time when the response is transmitted from the own device to the NF instance of the client, and comparing the sum with the calculated estimated value, the NF instance selection unit selects the NF instance of the server for which the sum of a network delay time when the request is transmitted from the own device to the NF instance of the server, a processing time in the server, and a network delay time when the response is transmitted from the NF instance of the server to the own device is smaller. Proxy method.

7. On the computer that configures the proxy device, A request acquisition function that acquires a request from the client's NF instance; an NF instance selection function that selects an NF instance of a server based on a processing delay including a network delay in response to the acquired request; A program for realizing the above, the NF instance selection function acquires, as the processing delay, a processing delay of the entire process in which the request is transmitted from the NF instance of the client to its own device, the request is transferred from its own device to the NF instance of the server, and a response is transmitted from the NF instance of the server to the NF instance of the client via its own device, and selects an NF instance of the server that can process the entire process within a timeout value of the request based on the acquired processing delay of the entire process; the NF instance selection function calculates an estimated value of a transfer timeout value by subtracting the time when the request is transmitted from the NF instance of the client from the time when the request is transferred from the own device, and subtracting the result from the timeout value of the request, and selects the NF instance of the server for which the sum of the network delay time when the request is transferred from the own device to the NF instance of the server, the processing time at the server, and the network delay time when the response is transmitted from the NF instance of the server to the own device is smaller than the calculated estimated value; program.

8. On the computer that configures the proxy device, A request acquisition function that acquires a request from the client's NF instance; an NF instance selection function that selects an NF instance of a server based on a processing delay including a network delay in response to the acquired request; A program for realizing the above, the NF instance selection function acquires, as the processing delay, a processing delay of the entire process in which the request is transmitted from the NF instance of the client to its own device, the request is transferred from its own device to the NF instance of the server, and a response is transmitted from the NF instance of the server to the NF instance of the client via its own device, and selects an NF instance of the server that can process the entire process within a timeout value of the request based on the acquired processing delay of the entire process; The NF instance selection function calculates an estimated value of a transfer timeout value by subtracting from a timeout value of the request the sum of a network delay time when the request is transmitted from the NF instance of the client to the own device, a processing time in the own device, and a network delay time when the response is transmitted from the own device to the NF instance of the client, and comparing the sum with the calculated estimated value, the NF instance of the server is selected, which produces a smaller sum of a network delay time when the request is transmitted from the own device to the NF instance of the server, a processing time in the server, and a network delay time when the response is transmitted from the NF instance of the server to the own device. program.

Citation Information

Patent Citations

  • Analytics and path selection

    WO2022046106A1

  • Methods, systems, and computer readable media for service communications proxy (SCP)-specific prioritized network function (NF) discovery and routing

    WO2022050987A1

  • Methods and apparatus for network delay and distance estimation, computing resource selection, and related techniques

    WO2022090803A1