JP7809032B2 - Proxy device, proxy method and program - Google Patents
Proxy device, proxy method and programInfo
- Publication number
- JP7809032B2 JP7809032B2 JP2022136009A JP2022136009A JP7809032B2 JP 7809032 B2 JP7809032 B2 JP 7809032B2 JP 2022136009 A JP2022136009 A JP 2022136009A JP 2022136009 A JP2022136009 A JP 2022136009A JP 7809032 B2 JP7809032 B2 JP 7809032B2
- Authority
- JP
- Japan
- Prior art keywords
- instance
- request
- server
- time
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本開示は、プロキシ装置、プロキシ方法およびプログラムに関する。 This disclosure relates to a proxy device, a proxy method, and a program.
5GC(5G Core)でサービスベースドアーキテクチャー(SBA:Service-Based Architecture)が採用されている(例えば、非特許文献1-2参照)。
SBA内のネットワークファンクション(NF:Network Function)のインスタンスの選択に関する技術が知られている。
5GC (5G Core) adopts a service-based architecture (SBA) (see, for example, Non-Patent Documents 1-2).
Techniques are known for selecting an instance of a Network Function (NF) within an SBA.
しかしながら、従来のNFのインスタンス(NFインスタンス)の選択は、プロデューサー(Producer)によりNFの負荷情報のみに基づいて行われていた。
なお、NFインスタンスはNFセット(NF set)と呼ばれる複数のNFインスタンスの集合から選択される必要があるが、NFセット内のNFインスタンスは地理的に冗長な構成が組まれる場合がある。
また、NFインスタンス間にサービスコミュニケーションプロキシ(SCP:Service Communication Proxy)と呼ばれるプロキシ装置が配置されるため、NFインスタンス間の処理遅延が増加することが考えられる。
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 in 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 the NF instances, it is conceivable that the processing delay between the NF instances will increase.
本開示は、このような事情を考慮してなされたもので、ネットワーク遅延を考慮してNFインスタンスの選択を行うことで効率化を図ることができるプロキシ装置、プロキシ方法およびプログラムを提供することを課題とする。 The present disclosure has been made in consideration of these circumstances, and aims to provide a proxy device, proxy method, and program that can improve efficiency by selecting an NF instance while taking network delay into consideration.
一構成例として、クライアントのNFインスタンスからリクエストを取得するリクエスト取得部と、前記リクエスト取得部によって取得された前記リクエストに応じて、ネットワーク遅延を含む処理遅延に基づいて、サーバのNFインスタンスを選択するNFインスタンス選択部と、を備え、前記NFインスタンス選択部は、各ネットワークのネットワーク遅延時間および各NFインスタンスの処理時間から、前記処理遅延として、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信され、自装置から前記サーバのNFインスタンスへ前記リクエストが転送され、前記サーバのNFインスタンスから自装置を経由して前記クライアントのNFインスタンスへレスポンスが送信される処理全体の処理遅延を取得し、取得した前記処理全体の処理遅延に基づいて、前記処理全体が前記リクエストのタイムアウト値内で処理可能な前記サーバのNFインスタンスを選択し、前記NFインスタンス選択部は、自装置から前記リクエストを転送する時刻から前記クライアントのNFインスタンスから前記リクエストを送信する時刻を減算した結果を前記リクエストのタイムアウト値から減算した結果を、転送のタイムアウト値の推定値として計算し、計算した前記推定値と比べて、自装置から前記サーバのNFインスタンスへ前記リクエストが転送されるネットワーク遅延時間と、前記サーバでの処理時間と、前記サーバのNFインスタンスから自装置へ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果が小さい値となる前記サーバのNFインスタンスを選択する、プロキシ装置である。
一構成例として、クライアントのNFインスタンスからリクエストを取得するリクエスト取得部と、前記リクエスト取得部によって取得された前記リクエストに応じて、ネットワーク遅延を含む処理遅延に基づいて、サーバのNFインスタンスを選択するNFインスタンス選択部と、を備え、前記NFインスタンス選択部は、各ネットワークのネットワーク遅延時間および各NFインスタンスの処理時間から、前記処理遅延として、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信され、自装置から前記サーバのNFインスタンスへ前記リクエストが転送され、前記サーバのNFインスタンスから自装置を経由して前記クライアントのNFインスタンスへレスポンスが送信される処理全体の処理遅延を取得し、取得した前記処理全体の処理遅延に基づいて、前記処理全体が前記リクエストのタイムアウト値内で処理可能な前記サーバのNFインスタンスを選択し、前記NFインスタンス選択部は、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信されるネットワーク遅延時間と、自装置での処理時間と、自装置から前記クライアントのNFインスタンスへ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果を前記リクエストのタイムアウト値から減算した結果を、転送のタイムアウト値の推定値として計算し、計算した前記推定値と比べて、自装置から前記サーバのNFインスタンスへ前記リクエストが転送されるネットワーク遅延時間と、前記サーバでの処理時間と、前記サーバのNFインスタンスから自装置へ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果が小さい値となる前記サーバのNFインスタンスを選択する、プロキシ装置である。
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 accordance with 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 a proxy device that selects an NF instance of the server that can process the entire process within the timeout value of the request based on a processing delay, and the NF instance selection unit calculates an estimate of the transfer timeout value by subtracting the time to send the request from the NF instance of the client from the time to transfer the request from the device itself, and subtracting the result from the timeout value of the request, and selects an NF instance of the server that produces a smaller result than the calculated estimated value by adding the network delay time for the request to be transferred from the device itself to the NF instance of the server, the processing time at the server, and the network delay time for the response to be sent from the NF instance of the server to the device itself .
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 accordance with 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 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 sent from the device itself to the NF instance of the client, and the result is compared with the calculated estimated value to select the NF instance of the server that produces a smaller result of adding 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 sent from the NF instance of the server itself to the device itself.
本開示に係るプロキシ装置、プロキシ方法およびプログラムによると、ネットワーク遅延を考慮してNFインスタンスの選択を行うことで効率化を図ることができる。 The proxy device, proxy method, and program disclosed herein can improve efficiency by selecting an NF instance taking network delay into consideration.
以下、図面を参照し、実施形態について説明する。 The following describes the embodiments with reference to the drawings.
[5GC アーキテクチャ]
図1は、5GC アーキテクチャ1の概略的な構成例を示す図である(詳細は、非特許文献1参照)。
図1には、NSSF(Network Slice Selection Function)11、NEF(Network Exposure Function)12、NRF(Network Repository Function)13、PCF(Policy Control Function)14、UDM(Unified Data Management)15、AF(Application Function)16、EASDF(Edge Application Server Discovery Function)17、NSSAAF(Network Slice-specific and SNPN Authentication and Authorization Function)18、AUSF(Authentication Server Function)19、AMF(Access and Mobility Management Function)20、SMF(Session Management Function)21、SCP22、NSACF(Network Slice Admission Control Function)23、UE(User Equipment)24、(R)AN((Radio) Access Network)25、UPF(User Plane Function)26、DN(Data Network)27が示されている。
[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 NSSF (Network Slice Selection Function) 11, NEF (Network Exposure Function) 12, and NRF (Network Repository). Function) 13, PCF (Policy Control Function) 14, UDM (Unified Data Management) 15, AF (Application Function) 16, EASDF (Edge Application Server Discovery Function) 17, NSSAAF (Network Slice-specific and SNPN Authentication and Authorization Function) 18, AUSF (Authentication Server Function) 19, AMF (Access and Mobility) Management Function) 20, SMF (Session Management Function) 21, SCP 22, NSACF (Network Slice Admission Control) Function) 23, UE (User Equipment) 24, (R)AN ((Radio) Access Network) 25, UPF (User Equipment) 25, A Plane Function 26 and a Data Network (DN) 27 are shown.
5Gにおいて、コントロールプレーン(C-Plane)の構成として、SBAが採用されている。SBAでは、C-Planeの機能単位でNFに分割される。そして、それぞれのNFが疎結合し、NF間ではAPI(Application Programming Interface)を利用して連携することが行われる。 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 APIs (Application Programming Interfaces).
図2A~図2Dを参照して、NF間のコミュニケーションモデルの例を示す。
図2Aおよび図2BはDirect方式の例であり、図2Cおよび図2DはIndirect方式の例である。
図2A、図2B、図2C、図2Dは、それぞれ、NF/NFサービスインタラクションのコミュニケーションモデルの一例を示す図である。
2A-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 for NF/NF service interaction.
図2Aの例では、コンシューマー(Consumer)111がプロデューサー112にサービスリクエスト(Service Request)を送信し、プロデューサー112がコンシューマー111にサービスレスポンス(Service Response)を送信し、コンシューマー111がプロデューサー112に後続のリクエスト(Subsequent Request)を送信する。 In the example of Figure 2A, consumer 111 sends a service request to producer 112, producer 112 sends a service response to consumer 111, and consumer 111 sends a subsequent request to producer 112.
図2Bの例では、コンシューマー131がネットワークレポジトリファンクション(NRF)133にディスカバリ(Discovery)を送信し、NRF133がコンシューマー131にNFプロファイル(NF profile(s))を送信する。
ここで、NFプロファイルには、対象のNFインスタンスの負荷状態を保持することができ、この情報に基づいて負荷分散およびプロデューサー132のNFインスタンスの選択を実行することが可能である。
コンシューマー131はNFセットまたはNFインスタンスを選択する。これによりプロデューサー132が選択される。コンシューマー131と選択されたプロデューサー132との通信は、概略的に、図2Aの場合と同様である。
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, it is possible to perform load balancing and selection of the NF instance of the producer 132.
The 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 FIG. 2A.
図2Cの例では、コンシューマー151がNRF153にディスカバリを送信し、NRF153がコンシューマー151にNFプロファイルを送信する。
コンシューマー151はNFセットまたはNFインスタンスを選択する。これによりプロデューサー152が選択される。
コンシューマー151はSCP154にサービスリクエスト(Service Request)を送信し、SCP154はプロデューサー152にサービスリクエストを送信する。この際、SCP154は、NRF153からパラメーターを取得してもよい。
プロデューサー152はSCP154にレスポンス(Response)を送信し、SCP154はコンシューマー151にレスポンスを送信する。
コンシューマー151は、SCP154に後続のリクエストを送信し、SCP154はプロデューサー152に後続のリクエストを送信する。
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 .
Consumer 151 sends subsequent requests to SCP 154 , which in turn sends subsequent requests to producer 152 .
図2Dの例では、コンシューマー171はSCP174にサービスリクエスト(Service Request)およびパラメーターを送信し、SCP174はプロデューサー172にサービスリクエストを送信する。この際、SCP174は、当該パラメーターを用いて、NRF173にディスカバリを送信し、NRF173からNFプロファイルを受信する。そして、SCP174は、NFインスタンスを選択する。
プロデューサー172はSCP174にレスポンスを送信し、SCP174はコンシューマー171にレスポンスを送信する。
コンシューマー171は、SCP174に後続のリクエストを送信し、SCP174はプロデューサー172に後続のリクエストを送信する。
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. Then, the SCP 174 selects an NF instance.
The producer 172 sends the response to the SCP 174 , which sends the response to the consumer 171 .
Consumer 171 sends subsequent requests to SCP 174 , which in turn sends subsequent requests to producer 172 .
ここで、NF間の連携向上と、柔軟なスケールアウトを目的に、サービスフレームワーク(Service Framework)の見直しが行われた結果、Rel16より以下の機能が追加されている。
第1に、図2Cおよび図2Dのように、Indirect方式が追加されている。そして、SCPがNFのディスカバリなどを実行し、信号のルーティング処理を実行することで、NFのコンシューマーが簡素化されている。
第2に、NFセット/NFサービスセットが追加されている。NFセット内のすべてのインスタンスは同一のコンテキストを保持するため、1つのインスタンスが処理不可になった際に他のインスタンスでカバーすることができる。
同一のNFセット内のNFは、サービスの可用性を高めるために、異なるデータセンター(DC)または異なる対地にデプロイされてもよい。
Here, the service framework was reviewed with the aim of improving cooperation between NFs and enabling flexible scale-out, and as a result, the following functions have been added from Rel16 onwards.
First, as shown in Figures 2C and 2D, an Indirect method is added, and the SCP performs NF discovery and signal routing processing, thereby simplifying the NF consumer.
Second, NF Set/NF Service Set has been added. All instances in an NF Set maintain 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.
図3は、SCPを利用した全体構成の概略的な一例を示す図である。
図3の例では、リージョン231(RegionA)において、データセンター251(DC1)にNFのプロデューサー271が形成されており、データセンター252(DC2)にNFのプロデューサー272が形成されている。
また、リージョン232(RegionB)において、データセンター261(DC1)にNFのプロデューサー281が形成されており、データセンター262(DC2)にNFのプロデューサー282が形成されている。
SCP211は、それぞれのプロデューサー271、272、281、282にアクセスすることが可能である。
FIG. 3 is a diagram showing a schematic example of the overall configuration using an SCP.
In the example of FIG. 3, in the region 231 (Region A), an NF producer 271 is formed in a data center 251 (DC1), and an NF producer 272 is formed in a data center 252 (DC2).
In the region 232 (Region B), an NF producer 281 is formed in the data center 261 (DC1), and an NF producer 282 is formed in the data center 262 (DC2).
The SCP 211 has access to each of the producers 271, 272, 281, and 282.
ここで、現在、一般的なNFインスタンス間のコミュニケーションは、図2Bの形態で行われている。しかし、今後は、図2Cおよび図2Dの形態で、NFインスタンス間のコミュニケーションが行われることが一般的になると考えられる。
各NFの設置手法として、NFセット化が進み、高可用性を求めるために、図3に示されるように、異なる対地の異なるDCにNFが設置される手法が用いられると考えられる。このため、あるSCPから見た際にNFごとに期待される(往復の)伝送時間は無視できないほど分散値が大きくなることが想定される。また、将来的には、柔軟にSBAを拡張してくために、NFインスタンスはステートレス化が進んでいくと考えられる。
Currently, communication between NF instances is generally performed in the form shown in Fig. 2B. However, in the future, it is expected that communication between NF instances will generally be performed in the forms shown in Fig. 2C and Fig. 2D.
As the installation method for each NF progresses, and in order to achieve high availability, it is expected that a method will be used 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 in the (round-trip) transmission time expected for each NF when viewed from a certain SCP will become so large that it cannot be ignored. In addition, in the future, it is expected that NF instances will become more stateless in order to flexibly expand SBA.
実施形態に係るモデルとして、2つのモデルを例示する。
第1のモデルは、プロキシ装置がレポジトリインスタンスにサーバインスタンスの情報を照会し、プロキシ装置がサーバインスタンスを選択するモデルである。
第2のモデルは、クライアントインスタンスがレポジトリインスタンスにサーバインスタンスの情報を照会し、クライアントインスタンスがサーバインスタンスを選択するモデルである。
Two models will be exemplified as models according to the embodiment.
In the first model, the proxy device queries the repository instance for information about a server 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.
本実施形態では、プロキシ装置およびレポジトリインスタンスの両方または一方が、インスタンスごとの処理遅延値およびネットワーク遅延値を保持するテーブルを記憶する。
本実施形態では、httpのヘッダーカスタマイズ機能を利用し、次のようなヘッダーオプションを追加する。すなわち、http2のヘッダーカスタマイズ機能により、所定のオプショナルヘッダー(パラメーター)を追加することを行い、また、それ以外のプロトコルを利用する際も、所定のパラメーターを追加することを行う。
ここで、追加されるパラメーターは、例えば、send time(送信時刻)、負荷情報(インスタンスの処理遅延時間)、リクエストのタイムアウト値を含む。send time(送信時刻)は、リクエスト送信時にはリクエスト送信時刻であり、レスポンス送信時にはレスポンス送信時刻である。なお、このような情報について、3GPP(登録商標)29.500に記載されたヘッダーオプションが利用されてもよい。
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 header customization function of http is used to add the following header options: That is, the header customization function of http2 is used to add a specified optional header (parameter), 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 a 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, a header option described in 3GPP (registered trademark) 29.500 may be used.
図4は、実施形態に係るプロキシ装置311の概略的な機能ブロックの構成を示す図である。
プロキシ装置311は、SCPの一例である。
プロキシ装置311は、通信部331と、記憶部332と、制御部333と、を備える。
制御部333は、リクエスト取得部351と、照会部352と、遅延演算部353と、NFインスタンス選択部354と、を備える。
遅延演算部353は、遅延取得部371を備える。
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 .
通信部331は、外部の装置と通信を行う。なお、通信としては、例えば、有線の通信が用いられてもよく、あるいは、無線の通信が用いられてもよい。
記憶部332は、各種の情報を記憶する。
制御部333は、各種の制御および処理を実行する。
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.
本実施形態では、プロキシ装置311は、コンピューターを用いて構成されている。
制御部333は、CPU(Central Processing Unit)などのプロセッサーを有しており、当該プロセッサーによって所定のプログラムを実行することで、各種の制御および処理を実行する。
当該プログラムは、例えば、記憶部332に記憶されていてもよい。
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.
リクエスト取得部351は、サービスのリクエストを取得する。
照会部352は、当該リクエストに基づいて、NFの照会を行う。
遅延取得部371は、当該リクエストに応じた処理に関して、遅延に関する情報を取得する。本実施形態では、当該遅延には、ネットワーク遅延が含まれる。
遅延演算部353は、取得された遅延に関する情報に基づいて、遅延(例えば、遅延時間)を演算する。
NFインスタンス選択部354は、演算された遅延に基づいて、NFインスタンスの選択を行う。
なお、プロキシ装置311の機能は、例えば、インスタンスとして構成されてもよい。
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.
(第1モデルの例)
図5は、実施形態に係る第1モデルの概略的な構成(第1モデル構成401)を示す図である。
第1モデルは、プロキシ装置311Aがレポジトリインスタンス413にサーバインスタンスの情報を照会し、プロキシ装置311Aがサーバインスタンスを選択するモデルである。
(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.
図5には、クライアントインスタンス411と、プロキシ装置311Aと、サーバインスタンス412と、レポジトリインスタンス413と、を示してある。
ここで、第1モデルは図2Dの構成に適用可能であり、この場合、クライアントインスタンス411はコンシューマーに対応し、プロキシ装置311AはSCPに対応し、サーバインスタンス412はプロデューサーに対応し、レポジトリインスタンス413はNRFに対応する。
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.
プロキシ装置311Aは図4に示されるプロキシ装置311の一例であり、図4に示される各機能部と同じ符号を用いて説明する。
クライアントインスタンス411は、プロキシ装置311Aにサービスのリクエストを送信する。当該リクエストには、パラメーターなどが含められてもよい。
プロキシ装置311Aでは、通信部331によってクライアントインスタンス411と通信を行い、リクエスト取得部351によってクライアントインスタンス411から受信したリクエストを取得する。
プロキシ装置311Aでは、通信部331によってレポジトリインスタンス413と通信を行い、リクエスト取得部351によって取得されたリクエストに基づいて、照会部352によってレポジトリインスタンス413に対してサーバインスタンスの照会を行う。
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 311 A, 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 the query unit 352 queries the repository instance 413 for a server instance based on the request acquired by the request acquisition unit 351.
ここで、プロキシ装置311Aでは、遅延取得部371によって処理時間に関する情報を取得する。プロキシ装置311Aでは、遅延取得部371によって取得された情報に基づいて、遅延演算部353によって、サーバインスタンスに関する遅延を演算し、当該遅延に関する情報(例えば、処理時間)を取得する。
プロキシ装置311Aでは、遅延演算部353による演算結果に基づいて、通信部331によってサーバインスタンス412と通信を行い、サーバインスタンス412にリクエストを転送する。
そして、サーバインスタンス412からプロキシ装置311Aを経由してクライアントインスタンス411にレスポンスが送られる。
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 (e.g., the processing time).
In the proxy device 311 A, 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 server instance 412 sends a response to the client instance 411 via the proxy device 311A.
第1モデルの場合、プロキシ装置311Aが、レポジトリインスタンス413にサーバインスタンスの照会を行うため、プロキシ装置311Aの処理遅延内に、レポジトリインスタンス413の処理時間、および、レポジトリインスタンス413とプロキシ装置311Aとの間のネットワーク遅延時間が含められる。 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.
(第2モデルの例)
図6は、実施形態に係る第2モデルの概略的な構成(第2モデル構成501)を示す図である。
第2モデルは、クライアントインスタンス511がレポジトリインスタンス513にサーバインスタンスの照会を実行し、クライアントインスタンス511がサーバインスタンス(例えば、1つのサーバインスタンス、または、複数のサーバインスタンスのセット)を選択するモデルである。
(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 (e.g., one server instance or a set of multiple server instances).
図6には、クライアントインスタンス511と、プロキシ装置311Bと、サーバインスタンス512と、レポジトリインスタンス513と、を示してある。
ここで、第2モデルは図2Cの構成に適用可能であり、この場合、クライアントインスタンス511はコンシューマーに対応し、プロキシ装置311BはSCPに対応し、サーバインスタンス512はプロデューサーに対応し、レポジトリインスタンス513はNRFに対応する。
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.
プロキシ装置311Bは図4に示されるプロキシ装置311の一例であり、図4に示される各機能部と同じ符号を用いて説明する。なお、第2モデルでは、図4に示される照会部352の機能はプロキシ装置311Bに備えられていなくてもよい。
クライアントインスタンス511は、レポジトリインスタンス513に対してサーバインスタンスの照会を行う。
ここで、この照会は、例えば、以降の処理のタイミングとは別に、事前に行われてもよい。
The proxy device 311B 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. 4. Note that in the second model, the function of the query unit 352 shown in Fig. 4 does not necessarily have to be provided in the 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.
クライアントインスタンス511は、プロキシ装置311Bにサービスのリクエストを送信する。当該リクエストには、サーバインスタンスの照会の結果が含められてもよい。
プロキシ装置311Bでは、通信部331によってクライアントインスタンス511と通信を行い、リクエスト取得部351によってクライアントインスタンス511から受信したリクエストを取得する。
The client instance 511 sends a request for service to the proxy device 311B, which may include the results of a query of a 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.
ここで、プロキシ装置311Bでは、遅延取得部371によって処理時間に関する情報を取得する。プロキシ装置311Bでは、遅延取得部371によって取得された情報に基づいて、遅延演算部353によって、サーバインスタンスに関する遅延を演算し、当該遅延に関する情報(例えば、処理時間)を取得する。
プロキシ装置311Bでは、遅延演算部353による演算結果に基づいて、通信部331によってサーバインスタンス512と通信を行い、サーバインスタンス512にリクエストを転送する。
そして、サーバインスタンス512からプロキシ装置311Bを経由してクライアントインスタンス511にレスポンスが送られる。
ここで、第2モデルの場合、例えば事前にサーバインスタンスの照会が実行されるため、レポジトリインスタンス513への問い合わせ処理の遅延を考慮しなくてもよい。
Here, in the proxy device 311B, information related 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 related to the server instance based on the information acquired by the delay acquisition unit 371, and acquires information related to the delay (e.g., the processing time).
In the proxy device 311 B, 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 .
図7は、実施形態に係る想定モデルの概略的な構成(想定モデル構成601)を示す図である。
図7の例では、複数であるn個のクライアントインスタンス611-1~611-nと、プロキシ装置311Cと、複数であるm個のサーバインスタンス612-1~612-mと、レポジトリインスタンス613と、を示してある。
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.
プロキシ装置311Cは、プロキシエージェント711(プロキシエージェントa)と、プロキシエージェント712(プロキシエージェントb)と、プロキシコントロールプレーン713と、プロキシ記憶部714と、を備える。
プロキシ装置311Cは、図4に示されるプロキシ装置311の一例である。プロキシエージェント711、712およびプロキシコントロールプレーン713は例えば図4に示される通信部331および制御部333の機能により構成され、プロキシ記憶部714は例えば図4に示される記憶部332の機能により構成される。
図7の例では、プロキシ装置311Cの内部において、プロキシエージェント同士で通信を実行するため、プロキシエージェント間通信についても考慮する。
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.
The proxy device 311C is an example of the proxy device 311 shown in Fig. 4. The proxy agents 711 and 712 and the proxy control plane 713 are configured, for example, by the functions of the communication unit 331 and the control unit 333 shown in Fig. 4, and the proxy storage unit 714 is configured, for example, by the functions of the 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.
プロキシエージェント711は、レポジトリインスタンス613にサーバインスタンスの照会を行う機能を有する。
プロキシエージェント712は、サーバインスタンス612-1~612-mにアクセスする機能を有する。
なお、図7の例では、説明の便宜上、プロキシエージェント711の機能およびプロキシエージェント712の機能に区別して説明するが、必ずしも本例の区別に限られない。
The proxy agent 711 has the function of querying the repository instance 613 for server instances.
The proxy agent 712 has the function of accessing 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.
トータルリクエスト処理遅延RDtotal(t)は(式1)で表される。
なお、本実施形態では、2つのインスタンス等の間の通信に要する処理時間は、一方から他方への処理時間と、他方から一方への処理時間と、で同じであるとして説明するが、他の例として、これらが別々に異なり得る値として決定されてもよい。
The 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.
式(1)について定義を示す。
リクエスト処理遅延時間をRD(t)で表している。
インスタンス間のネットワーク遅延時間をND(t)で表している。
クライアント(例えば、クライアントインスタンス611-1など)とプロキシ装置311Cとの間のネットワーク遅延時間をNDcliant-Proxy(t)で表している。
プロキシ装置311Cとサーバ(例えば、サーバインスタンス612-1など)との間のネットワーク遅延時間をNDProxy-server(t)で表している。
プロキシ装置311Cでの処理時間をRDproxy(t)で表している。
サーバでの処理時間をRDserver(t)で表している。
The definition of formula (1) is as follows.
The request processing delay time is represented by RD(t).
The network delay time between instances is represented as ND(t).
The network delay time between a client (such as client instance 611-1) and proxy device 311C is represented as ND client-Proxy (t).
The network delay time between the proxy device 311C and a server (eg, server instance 612-1) is represented as ND Proxy-server (t).
The processing time in the proxy device 311C is represented by RD proxy (t).
The processing time at the server is represented by RD server (t).
式(2)について定義を示す。
プロキシ装置311Cのプロキシエージェント711での処理時間をRDproxy_agent_a(t)で表している。
プロキシ装置311Cのプロキシエージェント712での処理時間をRDproxy_agent_b(t)で表している。
プロキシエージェント711とプロキシエージェント712との間の処理時間(通信による遅延時間)をNDproxy_agent_ab(t)で表している。
The definition of formula (2) is as follows.
The processing time in the proxy agent 711 of the proxy device 311C is represented by RD proxy_agent_a (t).
The processing time in the proxy agent 712 of the proxy device 311C is represented by RD proxy_agent_b (t).
The processing time (delay time due to communication) between the proxy agent 711 and the proxy agent 712 is represented by ND proxy_agent_ab (t).
ここで、Request send timeは、各インスタンスがリクエストを送信する時刻を表す。本実施形態では、クライアントインスタンスは、リクエストを送信する際の時刻をhttp2のヘッダー内部のsend timeパラメーターに打刻する。
Request received timeは、各インスタンスあるいはプロキシ装置311Cがリクエストを受信した時刻を表す。各インスタンスあるいはプロキシ装置311は、リクエスト受信時刻を取得する。
Request transferred timeは、プロキシ装置311がリクエストを転送する際の時刻を表す。プロキシ装置311Cは、当該時刻をhttp2のヘッダー内部のsend timeパラメーターに打刻する。また、プロキシ装置311Cは、この値を更新することも可能である。
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 reception 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 header of http2. The proxy device 311C can also update this value.
Response send timeは、サーバあるいはプロキシエージェントがレスポンスを送信する時刻を表す。サーバあるいはプロキシエージェントは、レスポンスを送信する際の時刻をhttp2のヘッダー内部のsend timeパラメーターに打刻する。
Response received timeは、プロキシエージェントがレスポンスを受信する時刻を表す。プロキシ装置311では、レスポンスを受信した時刻を取得する。
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 in 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.
Request received timeproxy_agent_aは、プロキシエージェント711(プロキシエージェントa)がリクエストを受信した時刻を表す。
Request transferred timeproxy_agent_aは、プロキシエージェント711(プロキシエージェントa)がリクエストを転送する時刻を表す。
Request received time proxy_agent_a indicates the time when the proxy agent 711 (proxy agent a) received the request.
Request transferred time proxy_agent_a indicates the time when the proxy agent 711 (proxy agent a) transfers the request.
Request send timeproxy_agent_aは、プロキシエージェント711(プロキシエージェントa)がリクエストを送信する時刻を表す。
Request received timeproxy_agent_bは、プロキシエージェント712(プロキシエージェントb)がリクエストを受信した時刻を表す。
Request send time proxy_agent_a indicates the time when the proxy agent 711 (proxy agent a) sends a request.
Request received time proxy_agent_b indicates the time when the proxy agent 712 (proxy agent b) received the request.
Response send timeserverは、サーバ(サーバインスタンス)がレスポンスを送信する時刻を表す。
Response received timeproxy_agent_bは、プロキシエージェント712(プロキシエージェントb)がレスポンスを受信した時刻を表す。
Response send time server indicates the time when the server (server instance) sends the response.
Response received time proxy_agent_b indicates the time when the proxy agent 712 (proxy agent b) received the response.
Request send timeCliantは、クライアント(クライアントインスタンス)がリクエストを送信する時刻を表す。 Request send time Client indicates the time when the client (client instance) sends a request.
Request transferred timeproxy_agent_bは、プロキシエージェント712(プロキシエージェントb)がリクエストを転送する際の時刻を表す。 Request transferred time proxy_agent_b indicates the time when the proxy agent 712 (proxy agent b) transfers the request.
タイムアウト値(Timeout値)を考慮したインスタンスの選択方式について説明する。
インスタンスの選択において、リクエストのタイムアウト値に基づいて判定(判断)が行われてもよい。
プロキシ装置311では、クライアントインスタンスからリクエストを受信した際に、制御部333によって、次のような処理を実行してもよい。リクエスト転送の判定は、サーバ側のプロキシエージェント712が実行する。
A method for selecting an instance that takes into consideration a timeout value will be described.
The selection of the 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.
第1に、プロキシ装置311では、当該リクエスト内のタイムアウト値(request timeout value)を確認する。 First, the proxy device 311 checks the timeout value in the request.
第2に、プロキシ装置311では、転送のタイムアウト値の推定値(Estimation transferred timeout value)の計算を実行する。
Estimation transferred timeout valueは、クライアントインスタンスから転送されて来たリクエストが生成されてから所定処理に到達するまでに経過した時間をタイムアウト値から引いた値である。当該タイムアウト値は、クライアントインスタンスによって設定される。
Second, the proxy device 311 performs a calculation of an estimated transferred timeout value.
The Estimation transferred timeout value is the timeout value minus the time elapsed from when a request transferred from a client instance was generated until it reached the predetermined processing. The timeout value is set by the client instance.
ここで、Estimation transferred timeout valueの計算方法として、2つの例(第1計算方法、第2計算方法)を示す。
第1計算方法を式(8)で示す。
第2計算方法を式(9)で示す。
第2計算方法に関しては、各インスタンス間の処理時間、および、各インスタンスの処理時間を考慮することができるため、将来消費するクライアント-プロキシ間の時間も考慮することができる。
Here, two examples (first calculation method and second calculation method) will be 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 it is possible to take into account the processing time between each instance and the processing time of each instance, it is also possible to take into account the time consumed in the future between the client and the proxy.
Request send timeproxy_agent_bは、プロキシエージェント712(プロキシエージェントb)がリクエストを送信する時刻を表す。 Request send time proxy_agent_b indicates the time when the proxy agent 712 (proxy agent b) sends the request.
第3に、プロキシ装置311では、Estimation transferred timeout valueと自装置が記憶等している処理遅延時間およびネットワーク遅延時間を比較し、必要な処理時間がEstimation transferred timeout valueよりも小さい値となるサーバインスタンスを選択し、選択したサーバインスタンスにリクエストを転送する。
サーバインスタンスが選択される条件は、例えば、式(10)により表される。
Third, the proxy device 311 compares the Estimation transferred timeout value with the processing delay time and network delay time stored in the proxy 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, expression (10).
第4に、プロキシ装置311では、Estimation transferred timeout valueをリクエスト転送時のリクエストのタイムアウト値に上書きする。 Fourth, the proxy device 311 overwrites the Estimation transferred timeout value with the request timeout value when the request is transferred.
なお、プロキシ装置311では、式(10)の計算結果により、複数のサーバインスタンスの候補(対象のサーバインスタンス)を検出した場合には、例えば、最も大きい遅延値のサーバインスタンスにリクエストを転送するように制御してもよい。この理由は、例えば、遅延値が最小であるサーバインスタンスのみにリクエスト転送が発生することにならないようにするためである。
また、プロキシ装置311では、対象のサーバインスタンスを検出することができなかった場合には、クライアントインスタンス側にエラーを返す。
ここで、サーバインスタンスの候補は、タイムアウトしないサーバインスタンスである。
If the proxy device 311 detects multiple candidate server instances (target server instances) based on the calculation result of equation (10), the proxy device 311 may, for example, control the request to be forwarded to the server instance with the largest delay value, in order to prevent the request from being forwarded 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 side.
Here, the candidate server instances are server instances that do not time out.
各インスタンスの処理遅延、および、各インスタンス間のネットワーク遅延について、説明する。
プロキシ装置311では、プロキシエージェント711、712が、配下のインスタンスの処理遅延の情報と、自己が通信するプロキシエージェント間の処理遅延の情報などをテーブルとして記憶(保持)する。
サーバインスタンスの処理遅延の取得手法として、例えば、プロキシサーバ(プロキシ装置311)は、レスポンスヘッダー内の負荷情報に関して、インスタンスの処理遅延時間を参照することで、サーバインスタンスの処理遅延を検出(判定)することができる。
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 obtaining 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.
図8は、実施形態に係るインスタンスの処理遅延保持テーブル2011の一例を示す図である。
プロキシ装置311では、例えば、記憶部332に、処理遅延保持テーブル2011を記憶してもよい。処理遅延保持テーブル2011の値は、例えば、固定的に設定されてもよく、あるいは、可変に更新されてもよい。
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 retention table 2011. The values in the processing delay retention table 2011 may be set to be fixed, or may be variably updated, for example.
処理遅延保持テーブル2011では、インスタンスの識別情報(ID)ごとに、NDinstance-Proxy(t)と、RDinstance(t)を示してある。
図8の例では、インスタンスIDとして、インスタンス_A、インスタンス_B、インスタンス_Cを示してある。
ここで、プロキシ装置311と各インスタンスとの間のネットワーク遅延をNDinstance-Proxy(t)で表している。
各インスタンスでの処理時間をRDinstance(t)で表している。
インスタンスとしては、例えば、クライアントインスタンス、サーバインスタンス、レポジトリインスタンスがある。
In the processing delay holding table 2011, ND instance-Proxy (t) and RD instance (t) are shown for each instance identification information (ID).
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 represented as ND instance-Proxy (t).
The processing time for each instance is represented by RD instance (t).
Examples of instances include a client instance, a server instance, and a repository instance.
図9は、実施形態に係るプロキシエージェントの処理遅延保持テーブル2021の一例を示す図である。
プロキシ装置311では、例えば、記憶部332に、処理遅延保持テーブル2021を記憶してもよい。処理遅延保持テーブル2021の値は、例えば、固定的に設定されてもよく、あるいは、可変に更新されてもよい。
FIG. 9 is a diagram showing an example of the processing delay holding 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 retention table 2021. The values in the processing delay retention table 2021 may be set to be fixed, or may be variably updated, for example.
処理遅延保持テーブル2021では、プロキシエージェントのインスタンスの識別情報(ID)ごとに、NDProxy_agent(t)と、RDproxy_agent(t)を示してある。
図9の例では、インスタンスIDとして、Proxy agent b(プロキシエージェントb)、Proxy agent c(プロキシエージェントc)、Proxy agent d(プロキシエージェントd)を示してある。
ここで、プロキシエージェント711(プロキシエージェントa)と各プロキシエージェントとの間(プロキシエージェント間)のネットワーク遅延をNDProxy_agent(t)で表している。
各インスタンス(各プロキシエージェント)での処理時間をRDproxy_agent(t)で表している。
The processing delay holding table 2021 shows ND Proxy_agent (t) and RD proxy_agent (t) for each identification information (ID) of a proxy agent instance.
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 represented by ND Proxy_agent (t).
The processing time in each instance (each proxy agent) is represented by RD proxy_agent (t).
なお、図8に示される処理遅延保持テーブル2011の内容および図9に示される処理遅延保持テーブル2021の内容などのような処理時間の情報は、例えば、レポジトリインスタンスにおいて管理(記憶)されてもよく、あるいは、プロキシ装置311とレポジトリインスタンスとの両方において管理(記憶)されてもよい。 In addition, processing time information such as the contents of the processing delay retention table 2011 shown in FIG. 8 and the contents of the processing delay retention table 2021 shown in FIG. 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.
各インスタンスの処理遅延、および、各インスタンス間ネットワーク遅延の更新について説明する。
プロキシ装置311では、例えば、テーブルの値の更新に関して、リクエストが正常終了した際にのみ更新を実行してもよい。この理由は、リクエストが異常終了した際の値を使用してしまうと、誤った値を格納する可能性があるためである。
それぞれの処理遅延時間の値は、例えば、1つのリクエストのみを参考にして設定あるいは更新などされてもよく、あるいは、複数のリクエストの結果を基に計算した値(平均値など)を用いるように設定あるいは更新などされてもよい。
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 (such as an average value) calculated based on the results of multiple requests.
各インスタンスの処理遅延、および、各インスタンス間のネットワーク遅延の初期値について説明する。
各インスタンスの処理遅延については、任意の値が指定されてもよい。
また、例えば、マイクロサービスの予測モデルが利用されてもよい(例えば、非特許文献3参照)。
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 microservices may be used (see, for example, Non-Patent Document 3).
各インスタンス間のネットワーク遅延については、NFインスタンスの生成(作成)時は自己の情報をSCP経由でNRFに登録することが行われ、その際のリクエストを利用して計算することが行われてもよい。 When an NF instance is generated (created), its information is registered with the NRF via the SCP, and the network delay between each instance can be calculated using the request made at that time.
図10は、実施形態に係るインスタンス登録リクエストの一例を示す図である。
図10の例では、生成されたインスタンス(生成インスタンス821)と、プロキシ装置311Dと、サーバインスタンス822と、を示してある。
ここで、プロキシ装置311Dは、図4に示されるプロキシ装置311の一例である。
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.
図10の例では、生成インスタンス821は、インスタンス登録のリクエスト(インスタンス登録リクエスト)をプロキシ装置311Dに送信する。
プロキシ装置311Dでは、生成インスタンス821からインスタンス登録リクエストが送信された時刻(Request send time)と、インスタンス登録リクエストを受信した時刻(Request received time)に基づいて、ネットワーク遅延の検出(判定)を行ってもよい。
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).
プロキシエージェント間のネットワーク遅延について説明する。
各インスタンスの処理遅延については、任意の値が指定されてもよい。
プロキシ装置311Dでは、例えば、プロキシエージェント間で通信等を実行した値を参考に、ネットワーク遅延を設定してもよい。当該通信は、例えば、ICMP(Internet Control Message Protocol)通信であってもよい。
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, for example. The communication may be, for example, ICMP (Internet Control Message Protocol) communication.
サーバインスタンスが、リクエストを処理する際に、さらに別のインスタンスへリクエストを転送することが必要な際の処理について説明する。
第1に、サーバインスタンスは、直列処理が必要な場合には、リクエスト内のタイムアウト値(request timeout value)の確認を行う。
第2に、サーバインスタンスは、Estimation transferred timeout valueの計算を実行する。ここで、当該計算の手法としては、例えば、式(8)を使用する手法、または、式(9)を使用する手法が用いられてもよい。
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).
第3に、サーバインスタンスは、Estimation transferred timeout valueをリクエスト転送時のリクエストタイムアウト値に上書きし、そのリクエストをプロキシサーバ(プロキシ装置311)に転送する。
第4に、当該プロキシサーバ(プロキシ装置311)は、受信したリクエストに基づいて、タイムアウト値を考慮したインスタンスの選択方式の処理を実行する。
上記を繰り返すことで、タイムアウト値を更新し、各インスタンス間の処理で、データ更新等の不整合が起きないようにすることが可能である。
Third, the server instance overwrites the Estimation transferred timeout value with the request timeout value at the time of request transfer, and transfers the request to the proxy server (proxy device 311).
Fourth, the proxy server (proxy device 311) executes processing for selecting an instance based on the received request, taking into account the timeout value.
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.
次に、並列処理が必要な場合に別のインスタンスへ転送する際の処理について説明する。
並列処理を実行する際に、リクエスト処理のために同期処理が必要な場合について説明する。
ここで、同期処理とは、例えば、あるインスタンスにリクエストを送信して当該リクエストの応答を受信した後に、他のインスタンスにリクエストを送信する処理である。
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.
第1に、サーバインスタンスは、リクエスト内のタイムアウト値(request timeout value)の確認を行う。
第2に、サーバインスタンスは、Estimation transferred timeout valueの計算を実行する。ここで、当該計算の手法としては、例えば、式(8)を使用する手法、または、式(9)を使用する手法が用いられてもよい。
First, the server instance checks the timeout value in the request.
Second, the server instance performs a calculation of the Estimation transferred timeout value, for example, using equation (8) or equation (9).
第3に、サーバインスタンスは、Estimation transferred timeout valueをリクエスト転送時のリクエストタイムアウト値に上書きし、そのリクエストをプロキシサーバ(プロキシ装置311)に転送する。この際、サーバインスタンスは、転送時刻、Estimation transferred timeout valueを記憶する。
第4に、サーバインスタンスは、転送後、レスポンス受信時の時刻(レスポンス時刻)を記憶する。
第5に、サーバインスタンスは、記憶しているレスポンス時刻と、転送時刻を基に、リクエスト処理遅延時間を計算し、その値を記憶していたEstimation transferred timeout valueから引くことによって、次のリクエストのタイムアウト値を決める。
Third, the server instance overwrites the Estimation transferred timeout value with the request timeout value at the time of request transfer, 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 the transfer, the server instance stores the time when the response is received (response time).
Fifth, the server instance calculates the request processing delay time 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.
並列処理を実行する際に、リクエスト処理を非同期で実行することが可能な場合がある。
このような場合には、直列処理と同様な処理を実行する。
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.
以上のように、本実施形態に係るプロキシ装置311では、ネットワーク遅延を考慮してNFインスタンスの選択を行うことで効率化を図ることができる。
本実施形態に係るプロキシ装置311では、NFインスタンスの選択時に、NFインスタンス間のネットワーク遅延を考慮することができ、また、SCPの処理遅延を考慮することもできる。これにより、本実施形態に係るプロキシ装置311では、インスタンスの処理遅延だけでなく、インスタンス間のネットワーク遅延に基づいて、ロードバランシングを実行することができ、また、インスタンスの選択を実行するプロキシの処理遅延についても考慮して、リクエストを依頼する対象とするインスタンスを選択することができる。
本実施形態に係るプロキシ装置311では、複数のエージェントの間における通信処理遅延を考慮してNFインスタンスの選択を行うことができる。
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 a plurality of agents.
本実施形態に係るプロキシ装置311では、例えば、SBA内全体の遅延値を把握することによって、各NFインスタンスのリクエストについて最適なNFインスタンスを利用してリクエストを処理することができる。
本実施形態に係るプロキシ装置311では、例えば、高可用性のために、各NFインスタンスが異なるロケーションあるいは異なるデータセンター(DC)に設置された場合においても、適切なNFインスタンスを選択することができる。
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 the NF instance.
In the proxy device 311 according to this embodiment, for example, for high availability, an appropriate NF instance can be selected even when each NF instance is installed in a different location or a different data center (DC).
本実施形態に係るプロキシ装置311では、タイムアウト値を動的に更新することができる。
本実施形態に係るプロキシ装置311では、各インスタンスの処理遅延値およびネットワーク遅延値を保持することができる。
本実施形態に係るプロキシ装置311あるいは各インスタンスでは、リクエスト送信時に、自己のリクエスト送信時刻およびタイムアウト値を保持して、リクエストを送信することができる。
本実施形態に係るプロキシ装置311では、リクエストの転送時に、タイムアウト値およびリクエスト転送時刻を更新することができる。
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 store 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.
本実施形態に係るプロキシ装置311では、タイムアウト値と各処理遅延を比較して、インスタンスを選択することができる。
各インスタンスでは、各インスタンスの処理遅延をレスポンス内に保持して、プロキシ装置311に転送することができる。
本実施形態に係るプロキシ装置311では、例えば、新規にインスタンスが追加された際に、自立的に処理遅延時間を計算することができる。
本実施形態に係るプロキシ装置311では、例えば、タイムアウトを減らして、エラー終了となることを減らすことができる。
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 each instance in the response and transfer it to the proxy device 311 .
The proxy device 311 according to this embodiment can autonomously calculate the processing delay time when, for example, a new instance is added.
In the proxy device 311 according to this embodiment, for example, it is possible to reduce the timeout and reduce the occurrence of error termination.
本実施形態に係るプロキシ装置311において行われる処理の方法をプロキシ方法として実施することも可能である。 The processing method performed by the proxy device 311 in this embodiment can also be implemented as a proxy method.
なお、これにより、例えば無線ネットワークにおける総合的なサービス品質の向上を実現することができることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 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."
以上に説明した任意の装置における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、オペレーティングシステムあるいは周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disc)-ROM(Read Only Memory)等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバあるいはクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。当該揮発性メモリーは、例えば、RAM(Random Access Memory)であってもよい。記録媒体は、例えば、非一時的記録媒体であってもよい。 A program for implementing the functions of any of the components of any of the devices described above may be recorded on a computer-readable recording medium, and the program may be loaded and executed by a computer system. 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 CD (Compact Disc)-ROMs (Read Only Memory), 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 over a network such as the Internet or over a communication line such as a telephone line. Such volatile memory may be, for example, RAM (Random Access Memory). The recording medium may also be, for example, a non-transitory recording medium.
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワークあるいは電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイルであってもよい。差分ファイルは、差分プログラムと呼ばれてもよい。
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.
また、以上に説明した任意の装置における任意の構成部の機能は、プロセッサーにより実現されてもよい。例えば、実施形態における各処理は、プログラム等の情報に基づき動作するプロセッサーと、プログラム等の情報を記憶するコンピューター読み取り可能な記録媒体により実現されてもよい。ここで、プロセッサーは、例えば、各部の機能が個別のハードウェアで実現されてもよく、あるいは、各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサーはハードウェアを含み、当該ハードウェアは、デジタル信号を処理する回路およびアナログ信号を処理する回路のうちの少なくとも一方を含んでもよい。例えば、プロセッサーは、回路基板に実装された1または複数の回路装置、あるいは、1または複数の回路素子のうちの一方または両方を用いて、構成されてもよい。回路装置としてはIC(Integrated Circuit)などが用いられてもよく、回路素子としては抵抗あるいはキャパシターなどが用いられてもよい。 Furthermore, the functions of any of the components in any of the devices described above may be implemented by a processor. For example, each process in the embodiments may be implemented by a processor that operates based on information such as a program, and a computer-readable recording medium that stores information such as the program. Here, the functions of each unit of the processor may be implemented by separate hardware, or the functions of each unit may be implemented by integrated hardware. For example, the processor may include hardware, and this 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 IC (Integrated Circuit) or the like may be used as the circuit device, and a resistor or capacitor may be used as the circuit element.
ここで、プロセッサーは、例えば、CPUであってもよい。ただし、プロセッサーは、CPUに限定されるものではなく、例えば、GPU(Graphics Processing Unit)、あるいは、DSP(Digital Signal Processor)等のような、各種のプロセッサーが用いられてもよい。また、プロセッサーは、例えば、ASIC(Application Specific Integrated Circuit)によるハードウェア回路であってもよい。また、プロセッサーは、例えば、複数のCPUにより構成されていてもよく、あるいは、複数のASICによるハードウェア回路により構成されていてもよい。また、プロセッサーは、例えば、複数のCPUと、複数のASICによるハードウェア回路と、の組み合わせにより構成されていてもよい。また、プロセッサーは、例えば、アナログ信号を処理するアンプ回路あるいはフィルター回路等のうちの1以上を含んでもよい。 Here, the processor may be, for example, a CPU. However, the processor is not limited to a CPU, and various types of processors may be used, such as a GPU (Graphics Processing Unit) or a DSP (Digital Signal Processor). The processor may also be a hardware circuit, such as an ASIC (Application Specific Integrated Circuit). The processor may also be configured, for example, by multiple CPUs, or by a hardware circuit made up of multiple ASICs. The processor may also be configured, for example, by a combination of multiple CPUs and a hardware circuit made up of multiple ASICs. The processor may also include, for example, one or more amplifier circuits or filter circuits that process analog signals.
以上、この開示の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この開示の要旨を逸脱しない範囲の設計等も含まれる。 The above describes in detail an embodiment of this disclosure with reference to the drawings, but the specific configuration is not limited to this embodiment and includes designs that do not deviate from the gist of this disclosure.
1…5GC アーキテクチャ、311、311A~311D…プロキシ装置、331…通信部、332…記憶部、333…制御部、351…リクエスト取得部、352…照会部、353…遅延演算部、354…NFインスタンス選択部、371…遅延取得部、401…第1モデル構成、411、511、611-1~611-n…クライアントインスタンス、412、512、612-1~612-m、822…サーバインスタンス、413、513、613…レポジトリインスタンス、501…第2モデル構成、601…想定モデル構成、711、712…プロキシエージェント、713…プロキシコントロールプレーン、714…プロキシ記憶部、821…生成インスタンス、2011、2021…処理遅延保持テーブル 1...5GC architecture, 311, 311A-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 instance, 413, 513, 613...repository instance, 501...second model configuration, 601...assumed model configuration, 711, 712...proxy agent, 713...proxy control plane, 714...proxy storage unit, 821...generated instance, 2011, 2021...processing delay retention table
Claims (8)
前記リクエスト取得部によって取得された前記リクエストに応じて、ネットワーク遅延を含む処理遅延に基づいて、サーバのNFインスタンスを選択するNFインスタンス選択部と、
を備え、
前記NFインスタンス選択部は、各ネットワークのネットワーク遅延時間および各NFインスタンスの処理時間から、前記処理遅延として、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信され、自装置から前記サーバのNFインスタンスへ前記リクエストが転送され、前記サーバのNFインスタンスから自装置を経由して前記クライアントのNFインスタンスへレスポンスが送信される処理全体の処理遅延を取得し、取得した前記処理全体の処理遅延に基づいて、前記処理全体が前記リクエストのタイムアウト値内で処理可能な前記サーバのNFインスタンスを選択し、
前記NFインスタンス選択部は、自装置から前記リクエストを転送する時刻から前記クライアントのNFインスタンスから前記リクエストを送信する時刻を減算した結果を前記リクエストのタイムアウト値から減算した結果を、転送のタイムアウト値の推定値として計算し、計算した前記推定値と比べて、自装置から前記サーバのNFインスタンスへ前記リクエストが転送されるネットワーク遅延時間と、前記サーバでの処理時間と、前記サーバのNFインスタンスから自装置へ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果が小さい値となる前記サーバのNFインスタンスを選択する、
プロキシ装置。 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.
前記リクエスト取得部によって取得された前記リクエストに応じて、ネットワーク遅延を含む処理遅延に基づいて、サーバのNFインスタンスを選択するNFインスタンス選択部と、
を備え、
前記NFインスタンス選択部は、各ネットワークのネットワーク遅延時間および各NFインスタンスの処理時間から、前記処理遅延として、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信され、自装置から前記サーバのNFインスタンスへ前記リクエストが転送され、前記サーバのNFインスタンスから自装置を経由して前記クライアントのNFインスタンスへレスポンスが送信される処理全体の処理遅延を取得し、取得した前記処理全体の処理遅延に基づいて、前記処理全体が前記リクエストのタイムアウト値内で処理可能な前記サーバのNFインスタンスを選択し、
前記NFインスタンス選択部は、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信されるネットワーク遅延時間と、自装置での処理時間と、自装置から前記クライアントのNFインスタンスへ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果を前記リクエストのタイムアウト値から減算した結果を、転送のタイムアウト値の推定値として計算し、計算した前記推定値と比べて、自装置から前記サーバのNFインスタンスへ前記リクエストが転送されるネットワーク遅延時間と、前記サーバでの処理時間と、前記サーバのNFインスタンスから自装置へ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果が小さい値となる前記サーバのNFインスタンスを選択する、
プロキシ装置。 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.
請求項1または請求項2に記載のプロキシ装置。 a query unit that queries a repository instance for an NF instance of the server;
3. The proxy device according to claim 1.
前記処理全体の処理遅延は、前記エージェント間の通信処理遅延を含む、
請求項1または請求項2に記載のプロキシ装置。 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 .
NFインスタンス選択部が、前記リクエスト取得部によって取得された前記リクエストに応じて、ネットワーク遅延を含む処理遅延に基づいて、サーバのNFインスタンスを選択し、
前記NFインスタンス選択部は、各ネットワークのネットワーク遅延時間および各NFインスタンスの処理時間から、前記処理遅延として、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信され、自装置から前記サーバのNFインスタンスへ前記リクエストが転送され、前記サーバのNFインスタンスから自装置を経由して前記クライアントのNFインスタンスへレスポンスが送信される処理全体の処理遅延を取得し、取得した前記処理全体の処理遅延に基づいて、前記処理全体が前記リクエストのタイムアウト値内で処理可能な前記サーバのNFインスタンスを選択し、
前記NFインスタンス選択部は、自装置から前記リクエストを転送する時刻から前記クライアントのNFインスタンスから前記リクエストを送信する時刻を減算した結果を前記リクエストのタイムアウト値から減算した結果を、転送のタイムアウト値の推定値として計算し、計算した前記推定値と比べて、自装置から前記サーバのNFインスタンスへ前記リクエストが転送されるネットワーク遅延時間と、前記サーバでの処理時間と、前記サーバのNFインスタンスから自装置へ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果が小さい値となる前記サーバのNFインスタンスを選択する、
プロキシ方法。 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.
NFインスタンス選択部が、前記リクエスト取得部によって取得された前記リクエストに応じて、ネットワーク遅延を含む処理遅延に基づいて、サーバのNFインスタンスを選択し、
前記NFインスタンス選択部は、各ネットワークのネットワーク遅延時間および各NFインスタンスの処理時間から、前記処理遅延として、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信され、自装置から前記サーバのNFインスタンスへ前記リクエストが転送され、前記サーバのNFインスタンスから自装置を経由して前記クライアントのNFインスタンスへレスポンスが送信される処理全体の処理遅延を取得し、取得した前記処理全体の処理遅延に基づいて、前記処理全体が前記リクエストのタイムアウト値内で処理可能な前記サーバのNFインスタンスを選択し、
前記NFインスタンス選択部は、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信されるネットワーク遅延時間と、自装置での処理時間と、自装置から前記クライアントのNFインスタンスへ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果を前記リクエストのタイムアウト値から減算した結果を、転送のタイムアウト値の推定値として計算し、計算した前記推定値と比べて、自装置から前記サーバのNFインスタンスへ前記リクエストが転送されるネットワーク遅延時間と、前記サーバでの処理時間と、前記サーバのNFインスタンスから自装置へ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果が小さい値となる前記サーバのNFインスタンスを選択する、
プロキシ方法。 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.
クライアントのNFインスタンスからリクエストを取得するリクエスト取得機能と、
取得された前記リクエストに応じて、ネットワーク遅延を含む処理遅延に基づいて、サーバのNFインスタンスを選択するNFインスタンス選択機能と、
を実現させるためのプログラムであって、
前記NFインスタンス選択機能は、各ネットワークのネットワーク遅延時間および各NFインスタンスの処理時間から、前記処理遅延として、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信され、自装置から前記サーバのNFインスタンスへ前記リクエストが転送され、前記サーバのNFインスタンスから自装置を経由して前記クライアントのNFインスタンスへレスポンスが送信される処理全体の処理遅延を取得し、取得した前記処理全体の処理遅延に基づいて、前記処理全体が前記リクエストのタイムアウト値内で処理可能な前記サーバのNFインスタンスを選択し、
前記NFインスタンス選択機能は、自装置から前記リクエストを転送する時刻から前記クライアントのNFインスタンスから前記リクエストを送信する時刻を減算した結果を前記リクエストのタイムアウト値から減算した結果を、転送のタイムアウト値の推定値として計算し、計算した前記推定値と比べて、自装置から前記サーバのNFインスタンスへ前記リクエストが転送されるネットワーク遅延時間と、前記サーバでの処理時間と、前記サーバのNFインスタンスから自装置へ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果が小さい値となる前記サーバのNFインスタンスを選択する、
プログラム。 On the computer that configures the proxy device,
A request acquisition function that acquires requests 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.
クライアントのNFインスタンスからリクエストを取得するリクエスト取得機能と、
取得された前記リクエストに応じて、ネットワーク遅延を含む処理遅延に基づいて、サーバのNFインスタンスを選択するNFインスタンス選択機能と、
を実現させるためのプログラムであって、
前記NFインスタンス選択機能は、各ネットワークのネットワーク遅延時間および各NFインスタンスの処理時間から、前記処理遅延として、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信され、自装置から前記サーバのNFインスタンスへ前記リクエストが転送され、前記サーバのNFインスタンスから自装置を経由して前記クライアントのNFインスタンスへレスポンスが送信される処理全体の処理遅延を取得し、取得した前記処理全体の処理遅延に基づいて、前記処理全体が前記リクエストのタイムアウト値内で処理可能な前記サーバのNFインスタンスを選択し、
前記NFインスタンス選択機能は、前記クライアントのNFインスタンスから自装置へ前記リクエストが送信されるネットワーク遅延時間と、自装置での処理時間と、自装置から前記クライアントのNFインスタンスへ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果を前記リクエストのタイムアウト値から減算した結果を、転送のタイムアウト値の推定値として計算し、計算した前記推定値と比べて、自装置から前記サーバのNFインスタンスへ前記リクエストが転送されるネットワーク遅延時間と、前記サーバでの処理時間と、前記サーバのNFインスタンスから自装置へ前記レスポンスが送信されるネットワーク遅延時間と、を加算した結果が小さい値となる前記サーバのNFインスタンスを選択する、
プログラム。 On the computer that configures the proxy device,
A request acquisition function that acquires requests 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.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022136009A JP7809032B2 (en) | 2022-08-29 | 2022-08-29 | Proxy device, proxy method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022136009A JP7809032B2 (en) | 2022-08-29 | 2022-08-29 | Proxy device, proxy method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024032389A JP2024032389A (en) | 2024-03-12 |
| JP7809032B2 true JP7809032B2 (en) | 2026-01-30 |
Family
ID=90193035
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022136009A Active JP7809032B2 (en) | 2022-08-29 | 2022-08-29 | Proxy device, proxy method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7809032B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022046106A1 (en) | 2020-08-31 | 2022-03-03 | Nokia Solutions And Networks Oy | Analytics and path selection |
| WO2022050987A1 (en) | 2020-09-01 | 2022-03-10 | Oracle International Corporation | Methods, systems, and computer readable media for service communications proxy (scp)-specific prioritized network function (nf) discovery and routing |
| WO2022090803A1 (en) | 2020-11-02 | 2022-05-05 | Swarmio Inc. | Methods and apparatus for network delay and distance estimation, computing resource selection, and related techniques |
-
2022
- 2022-08-29 JP JP2022136009A patent/JP7809032B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022046106A1 (en) | 2020-08-31 | 2022-03-03 | Nokia Solutions And Networks Oy | Analytics and path selection |
| WO2022050987A1 (en) | 2020-09-01 | 2022-03-10 | Oracle International Corporation | Methods, systems, and computer readable media for service communications proxy (scp)-specific prioritized network function (nf) discovery and routing |
| WO2022090803A1 (en) | 2020-11-02 | 2022-05-05 | Swarmio Inc. | Methods and apparatus for network delay and distance estimation, computing resource selection, and related techniques |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024032389A (en) | 2024-03-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114303347B (en) | Methods, devices and machine-readable media related to machine learning in communication networks | |
| EP3701735B1 (en) | Methods and apparatus for use in reducing signal latency in a mobile network with use of localized unified data management (udm) entities | |
| EP3656108B1 (en) | Unstructured data storage function (udsf) services | |
| JP2020537449A (en) | Service registration in communication network | |
| EP3571890A1 (en) | Network registration and network slice selection system and method | |
| KR102796634B1 (en) | Processing service requests | |
| CN102301760A (en) | Method and apparatus for tracking device management data changes | |
| WO2019001562A1 (en) | Model loading method and apparatus, storage medium, and computer device | |
| US12086772B2 (en) | Systems and methods for cross-chain feature sets for digital assets | |
| CN116806424A (en) | Methods, apparatus and computer program products for wireless communication | |
| CN111066339B (en) | System and method for distributed mobile network | |
| JP7809032B2 (en) | Proxy device, proxy method and program | |
| US20100257256A1 (en) | Method for downloading file in parallel | |
| KR20240123398A (en) | A first node, a third node, a fifth node, and a method executed thereby for processing an ongoing distributed machine-learning or federated learning process | |
| WO2019061400A1 (en) | Enhanced service discovery for network function binding | |
| JP7837932B2 (en) | Control device, communication system, and control method | |
| US20260040254A1 (en) | Smart registration and discovery of network functions | |
| US20250380209A1 (en) | Service continuity during network repository function (nrf) outage in model d communication in a 5th generation network | |
| JP7785715B2 (en) | Communication control device and communication control method | |
| US20250380163A1 (en) | Service continuity during network repository function (nrf) outage in a 5th generation network | |
| EP4518274A1 (en) | Electronic device and method for upgrading virtualized network function in network function virtualization environment | |
| WO2023127146A1 (en) | Information processing system and information processing method | |
| JP5107836B2 (en) | Connection server device and server system | |
| CN120224361A (en) | Data synchronization method, device, storage medium and electronic device | |
| CN120434294A (en) | A distributed remote imaging consultation system and method based on Spring Cloud |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240619 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250310 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250311 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250507 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250902 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251022 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20260106 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260120 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7809032 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |