Selection of a cache-assisted service contact instance for computational-aware traffic steering networks

By integrating cache metrics into the CATS framework, the selection of service contact instances is optimized to utilize cached content, reducing redundant computing and enhancing network efficiency and response times.

JP7852102B2Active Publication Date: 2026-04-27NOKIA SOLUTIONS & NETWORKS OY
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NOKIA SOLUTIONS & NETWORKS OY
Filing Date
2025-02-13
Publication Date
2026-04-27

AI Technical Summary

Technical Problem

The existing CATS framework lacks a caching element to optimize traffic steering by avoiding redundant computing on the network, as the selection of service contact instances does not consider cached content availability, leading to potential inefficiencies.

Method used

Incorporating cache metrics into the CATS framework by using a CATS-Cache Metric Agent (C-CMA) to evaluate cache size, type, creation time, and validity of cached data, alongside network and computation metrics to select the optimal service contact instance.

Benefits of technology

This approach optimizes traffic steering by prioritizing cached content, reducing redundant computing and enhancing response times by selecting service contact instances that already have the required content, thus improving network efficiency and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007852102000001
    Figure 0007852102000001
  • Figure 0007852102000002
    Figure 0007852102000002
  • Figure 0007852102000003
    Figure 0007852102000003
Patent Text Reader

Abstract

To provide a method and device for cache-assisted service contact instance selection for computing-aware traffic steering networks.SOLUTION: In a computing-aware traffic steering (CATS) network, such as those conforming to an IETF proposal, a service contact instance for a requested service is selected based on at least cache metrics associated with data cached at one or more egress nodes of the CATS network. In some embodiments, the selection is also based on compute and network metrics. In one implementation, the selection is based only on cache metrics unless that selection is too costly in terms of compute and / or network load. In this way, cache metrics are prioritized over compute and network metrics as long as the cache-based selection is not too costly.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to communication networks, and more specifically, without limitation, to the selection of service contact instances in communication networks that employ computing-aware traffic steering.

Background Art

[0002] This section introduces aspects that can help facilitate a better understanding of the present disclosure. Therefore, the description in this section should be read from this perspective and should not be construed as an admission as to what is prior art or what is not prior art.

[0003] The Internet Engineering Task Force (IETF) has chartered a so-called Computing-Aware Traffic Steering (CATS) working group to examine how the network edge can steer traffic between service clients and sites providing services. This working group intends to bridge the gap between network metrics such as bandwidth, latency, etc. and computing metrics (also known as service metrics) such as processing, storage capacity, etc. when finding solutions that can optimize how network edge nodes steer traffic based on appropriate these metrics according to the service.

[0004] The CATS Working Group has proposed a CATS framework. This framework consists of components such as a CATS-Route Selector (C-PS) that receives assistance from a CATS-Traffic Classifier (C-TC) to route user / client traffic to the optimal service contact instance via a CATS router (i.e., edge site). To determine the optimal service contact instance, the C-PS collects and uses network metrics from the CATS-Network Metric Agent (C-NMA) and computer resource metrics from the CATS-Service Metric Agent (C-SMA). [Overview of the project]

[0005] The service contact instance selected by C-PS, proposed by evaluating network and computing resources, may not be the optimal instance if cached content is already available at a nearby service contact instance. Prioritizing existing cached content could potentially avoid additional computing on the service contact instance, resulting in faster response times. The current IETF CATS framework lacks a caching element in its functional architecture. A caching element interface is needed in the CATS framework to further optimize traffic steering by avoiding redundant computing on the network.

[0006] Embodiments of this disclosure will become more fully apparent from the following detailed description, the attached claims, and the attached drawings in which the same reference numerals identify similar or identical elements. [Brief explanation of the drawing]

[0007] [Figure 1] This is a block diagram of a basic CATS communication network according to an embodiment of the disclosure.

[0008] [Figure 2] Figure 1 shows a flowchart of one implementable algorithm performed by the C-PS of the ingress node to select a service contact instance for a specific service.

[0009] [Figure 3] Figure 1 is a schematic hardware block diagram of an exemplary node that can be used to implement either an ingress node or an egress node. [Modes for carrying out the invention]

[0010] Detailed exemplary embodiments of the present disclosure are disclosed herein. However, certain structural and functional details disclosed herein are merely representative for the purpose of describing exemplary embodiments of the present disclosure. The present disclosure can be embodied in many alternative forms and should not be construed as being limited only to the embodiments described herein. Furthermore, the terms used herein are for the purpose of describing specific embodiments and are not intended to limit the exemplary embodiments of the present disclosure.

[0011] Where used herein, the singular forms “a,” “an,” and “the” are intended to include the plural form unless the context clearly indicates otherwise. Furthermore, it will be understood that the terms “equipped,” “equipped,” “contains,” “contains,” and / or “contains” identify the presence of the described feature, step, or component, but do not exclude the presence or addition of one or more other features, steps, or components. It should also be noted that in some alternative embodiments, the described functions / operations may occur in a different order than that shown in the figures. For example, two figures shown consecutively may actually be performed substantially simultaneously, or, depending on the functions / operations involved, may be performed in reverse order in some cases.

[0012] Figure 1 is a block diagram of a basic CATS communication network 100 according to an embodiment of the present disclosure. The network 100 includes multiple clients 110 that receive services from multiple service contact instances 120 via a communication infrastructure 130. Examples of services may include streaming video / audio content from the service contact instances 120 to the clients 110.

[0013] In the basic embodiment of Figure 1, the infrastructure 130 includes (i) two ingress nodes 140(1) and 140(2), each communicating with one or more different clients 110; (ii) two egress nodes 150(1) and 150(2), each communicating with one or more service contact instances 120; and (iii) an underlay infrastructure 160, which may be a mesh network of routers (not shown in Figure 1) that provides configurable communication paths between the ingress nodes 140 and egress nodes 150. Those skilled in the art will understand that the infrastructure of the present disclosure may generally have any suitable number of ingress nodes 140 and any suitable number of egress nodes 150.

[0014] As shown in Figure 1, each ingress node 140 has a CATS-Path Selector (C-PS) 144 which is responsible for (a) selecting a service contact instance 120 for each service requested by one of the clients 110, and (b) determining a path through the underlay infrastructure 160 to support that service. To accomplish these functions for a specific service requested by a particular client 110, the C-PS 144 receives and uses (i) computed metrics from CATS-Service Metric Agent (C-SMA) 152 at each egress node 150 connected to the service contact instance 120 corresponding to the requested service, and (ii) network metrics from CATS-Network Metric Agent (C-NMA) 162 which monitors the underlay infrastructure 160.

[0015] In addition to these two types of metrics, in order to select a specific service contact instance 120 for a particular requested service, the C-PS 144 also receives and uses cache metrics from the CATS-Cache Metric Agent (C-CMA) 154 at each egress node 150 connected to the service contact instance 120 corresponding to the requested service. Depending on the particular embodiment, the cache metrics may include one or more of the following: the size of the cached data, the type of the cached data, the creation time of the cached data, the validity period of the cached data (i.e., the expiration time), and the cache hits (i.e., the number of times a particular cached data has been queried / consumed).

[0016] Thus, C-PS144 selects a service contact instance 120 using (i) computation metrics from one or more C-SMA152s, (ii) network metrics from C-NMA162, and (iii) cache metrics from one or more C-CMA154s.

[0017] Figure 2 is a flowchart of one implementable algorithm 200 for selecting a service contact instance 120 in response to the reception of a request for a specific service from a specific client 110 associated with the ingress node 140 in Figure 1, which is implemented by the C-PS 144 of the ingress node 140 in Figure 1.

[0018] In step 202, C-PS144 fetches network metrics from C-NMA162. In step 204, C-PS144 fetches compute metrics from C-SMA152 of each egress node 150 connected to the service contact instance 120 corresponding to the requested service. In step 206, C-PS144 fetches cache metrics from C-CMA154 of each egress node 150 connected to the service contact instance 120 corresponding to the requested service.

[0019] In step 208, C-PS144 generates two viable (i.e., candidate) selections of service contact instance 120. The first candidate selection (SE-1) is based on the network metrics and computation metrics received in steps 202 and 204, respectively, and does not depend on any of the cache metrics received in step 204. Network metrics of the service contact instance, such as latency, bandwidth, and jitter (but not limited to these), and computation metrics for the service contact instance, such as CPU utilization and memory load (but not limited to these), are evaluated to select an instance as a candidate for delivering the service. In some embodiments, a service contact instance having the most preferred network metrics (e.g., lower latency, bandwidth, and jitter) and computation metrics (e.g., lower CPU utilization and memory load) is selected. Of the two sets of metrics, the network metrics take precedence. If the network metrics are preferred, a service contact instance having acceptable limits for computation metrics is selected as a candidate for providing the service, where acceptable limits may mean CPU percentage and memory load below specified thresholds.

[0020] The second candidate selection (SE-2) is based on the cache metrics received in step 204, and does not depend on either the network and computation metrics received in steps 202 and 204, respectively. Cache metrics such as (but not limited to) cache size and cache creation time are evaluated to select a service contact instance as a candidate for delivering the service. When a user requests specific content (audio / video), C-PS144 selects the nearest service contact instance (in terms of physical / logical distance by counting hops) that has cached content that the user can consume.

[0021] In step 210, C-PS144 determines whether the two candidate selections are the same service contact instance 120. If so, in step 212, C-PS144 determines that the selected service contact instance 120 is the optimal node for the requested service, and in step 214, C-PS144 notifies C-TC142 to route client traffic to the selected SE-1 service contact instance 120 for the requested service.

[0022] In step 210, if C-PS144 determines that the two candidate selections SE-1 and SE-2 are not identical, in step 216, C-PS144 fetches computation metrics for SE-2, and in step 218, C-PS144 determines whether the computation load based on these SE-2 computation metrics is below a specified computation load threshold. The computation load threshold can vary for different form factors of contact service instances. For example, an instance with 64 cores / vCPU may have a higher computation load threshold compared to another instance with 4 cores / vCPU. Therefore, the network administrator pre-sets the computation load threshold based on the form factor of the contact service instance. In some embodiments, the comparison in step 218 includes multiple parallel comparisons between different computation metrics, such as CPU utilization and memory load, and different corresponding thresholds, such as one threshold for CPU utilization and different thresholds for memory load. The result of step 218 is "No" if any one of the different computation metrics exceeds the corresponding threshold. In that case, in step 212, C-PS144 determines that SE-1 is the best service contact instance 120 for the requested service, and processing proceeds to step 214 as before. However, if in step 218 C-PS144 determines that the computational load is below the computational load threshold (i.e., all computational metrics are not greater than the corresponding threshold), processing proceeds to step 220.

[0023] In step 220, C-PS144 fetches network metrics for SE-2, and in step 222, C-PS144 determines whether the network load based on these SE-2 network metrics is below a specified network load threshold. Network congestion can degrade the user experience. To ensure service level agreements (SLAs) on the network, network congestion is detected using predetermined thresholds. Network congestion (bandwidth, latency, etc.) depends on the type of application / service consumed by the service contact instance. Due to the dynamic nature of the network, network metric thresholds are also pre-configured by the network administrator, and each different network metric, such as latency, bandwidth, and jitter, has a corresponding threshold. Similar to the comparison in step 218, the comparison in step 222 may include a parallel comparison of different network metrics and their corresponding thresholds. Again, if any one of the different network metrics exceeds its corresponding threshold, the result in step 222 is "No". If so, in step 212, C-PS144 determines that SE-1 is the optimal service contact instance 120 for the requested service, and processing proceeds to step 214 as before. However, if in step 222 C-PS144 determines that the network load is below the network load threshold (i.e., all network metrics are not greater than the corresponding threshold), processing proceeds to step 224.

[0024] In step 224, C-PS144 determines that SE-2 is the optimal service contact instance 120 for the requested service, and in step 226, C-PS144 notifies C-TC142 to route client traffic to the selected SE-2 service contact instance 120 for the requested service.

[0025] Generally, algorithm 200 of FIG. 2 prioritizes the generated selection SE-2 based only on the cache metric, as long as the selected SE-2 is not overly costly in terms of computational load and network load. If either the computational load or the network load of the selection SE-2 is too costly, the selection SE-1 generated based only on the computational metric and the network metric is used.

[0026] Those skilled in the art will understand that in an alternative embodiment of algorithm 200, steps 220 and 222 may be executed before steps 216 and 218.

[0027] In another alternative embodiment of algorithm 200, C-PS144 does not generate SE-1 until after C-PS144 determines that the cost of SE-2 is too high. In such an embodiment, steps 202 and 204, and the first half of step 208, can be deferred until after step 222, and step 210 can be omitted.

[0028] In other embodiments of the present disclosure, C-PS144 selects the service contact instance 120 of the requested service using other algorithms that consider the cache metric, with or without considering the network metric and / or the computational metric.

[0029] Figure 3 is a schematic hardware block diagram of an exemplary node 300 that can be used to implement either the ingress node 140 or the egress node 150 in Figure 1. As shown in Figure 3, node 300 includes (i) communication hardware (e.g., wireless, wired, and / or optical transceivers (TRX)) 302 that supports communication with other elements, (ii) a processor (e.g., a CPU microprocessor) 304 that controls the operation of node 300, and (iii) memory (e.g., RAM, ROM) 306 that stores code executed by the processor 304 and / or data generated and / or received by node 300. If node 300 is the ingress node 140 in Figure 1, the processor 304 implements both the corresponding C-TC142 and the corresponding C-PS144. Similarly, if node 300 is the egress node 150 in Figure 1, the processor 304 implements both the corresponding C-SMA152 and the corresponding C-CMA154.

[0030] In certain embodiments, the Disclosure provides a method for determining a selected service contact instance for a requested service in a Computational Aware Traffic Steering (CATS) network. The method includes an ingress node in the CATS network (a) receiving cache metrics for one or more performable service contact instances for the requested service; (b) determining a selected service contact instance for the requested service based on the cache metrics; and (c) performing the requested service based on the selected service contact instance.

[0031] In at least some of the embodiments described above, the method further includes the ingress node receiving compute metrics for one or more actionable service contact instances and receiving network metrics for one or more actionable service contact instances, wherein the ingress node determines a selected service contact instance for the requested service based on the compute metrics, network metrics and cache metrics.

[0032] In at least some of the embodiments described above, determining a selected service contact instance includes selecting a cache metric candidate service contact instance based on a cache metric, determining whether the cache metric candidate service contact instance satisfies at least one of (i) one or more computed metric threshold tests and (ii) one or more network metric threshold tests; if so, determining the cache metric candidate service contact instance as the selected service contact instance; and if so, determining the computed and network metric candidate service contact instance as the selected service contact instance.

[0033] In at least some of the embodiments described above, a cache metric candidate service contact instance is determined to be a selected service contact instance if it is determined that the cache metric candidate service contact instance satisfies both (i) one or more compute metric threshold tests and (ii) one or more network metric threshold tests; and a compute and network metric candidate service contact instance is determined to be a selected service contact instance if it is determined that the cache metric candidate service contact instance fails at least one compute metric threshold test or a network metric threshold test.

[0034] In at least some of the embodiments described above, the computation and network metric candidate service contact instances are selected based on computation metrics and network metrics, but not on cache metrics.

[0035] In at least some of the embodiments described above, the computation and network metric candidate service contact instances are selected before determining whether the cache metric candidate service contact instance fails at least one of the computation metric threshold test and the network metric threshold test.

[0036] In at least some of the embodiments described above, the compute and network metric candidate service contact instance is selected after it is determined that the cache metric candidate service contact instance fails at least one of the compute metric threshold test and the network metric threshold test.

[0037] In at least some of the embodiments described above, computational metrics and cache metrics are received from one or more egress nodes of the CATS network, and network metrics are received from a network metric agent of the CATS network.

[0038] Unless explicitly stated otherwise, each number and range should be interpreted as an approximation, such as when the word “approximately” or “about” precedes the value or range.

[0039] The use of figure numbers and / or figure reference labels in the claims is intended to identify one or more implementable embodiments of the subject matter described in the claims in order to facilitate interpretation of the claims. Such use is not necessarily construed as limiting these claims to the embodiments shown in the corresponding figures.

[0040] The elements in the claims of the following methods are described in a specific order, along with corresponding labelings, where present; however, unless the description of such claims otherwise implies a specific order for carrying out some or all of these elements, these elements are not necessarily intended to be limited to being carried out in that specific order. Similarly, in the methods of various embodiments of the present disclosure, additional steps may be included in such methods, and certain steps may be omitted or combined.

[0041] In this specification, any reference to “one embodiment” or “a particular embodiment” means that any specific feature, structure, or characteristic described in relation to an embodiment may be included in at least one embodiment of this disclosure. While the phrase “in one embodiment” appears in various places in this specification, not all references necessarily refer to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive with other embodiments. The same applies to the term “embodiment.”

[0042] In this specification, unless otherwise specified, the use of ordinal adjectives such as "first," "second," "third," etc., to refer to one of several similar objects simply indicates that different instances of such similar objects are being referred to, and does not imply that the similar objects referred to in this manner must correspond in temporal, spatial, sequential, or otherwise in any order or arrangement.

[0043] Furthermore, in this specification, the terms “bonded,” “coupled,” “bonded,” “connected,” or “connected” refer to any method known or subsequently developed in the art in which energy transfer is permitted between two or more elements, and the intervention of one or more additional elements is not required but intended. Conversely, terms such as “directly bonded” or “directly connected” mean that there are no such additional elements. The same type of distinction also applies to the use of the terms “attached” and “directly attached” when applied to the description of a physical structure. For example, such “direct attachment” of two corresponding components in such a physical structure can be carried out using a relatively thin layer of adhesive or other suitable binder.

[0044] When used in this specification in reference to elements and standards, the terms “compatible” and “conforming” mean that an element is recognized as being capable of communicating with other elements in the manner specified by the standard, either entirely or partially, and that other elements are capable of communicating with other elements in the manner specified by the standard. Compatible or conforming elements are not required to operate internally in the manner specified by the standard.

[0045] The embodiments described herein are intended to be illustrative and not limiting in any respect. In particular, the scope of this disclosure is indicated by the appended claims rather than by the description and drawings herein. All modifications that fall within the meaning and scope of the claims are included therein.

[0046] Those skilled in the art will understand that any block diagram in this specification represents a conceptual diagram of an exemplary circuit embodying the principles of this disclosure. Similarly, any flowchart, flow diagram, state transition diagram, pseudocode, etc., will be understood to represent various processes that can be substantially represented in a computer-readable medium and thus executed by such a computer or processor, whether or not such a computer or processor is explicitly indicated.

[0047] As those skilled in the art will understand, the Disclosure can be implemented as apparatus (e.g., including systems, networks, machines, devices, computer program products, and / or thereafter), as methods (e.g., including business processes, computer embodiment processes, and / or thereafter), or as any combination thereof. Accordingly, embodiments of the Disclosure can take the form of entirely software-based embodiments (including firmware, resident software, microcode, etc.), entirely hardware embodiments, or embodiments combining software and hardware aspects that may be commonly referred to herein as “systems” or “networks.”

[0048] Embodiments of the Disclosure may manifest in the form of methods and apparatus for carrying out these methods. Embodiments of the Disclosure may also manifest in the form of program code implemented on a tangible medium such as a magnetic recording medium, an optical recording medium, a solid-state memory, a floppy disk, a CD-ROM, a hard drive, or any other non-temporary machine-readable storage medium, such that when the program code is loaded into and executed by a machine such as a computer, the machine becomes an apparatus for carrying out the Disclosure. Embodiments of the Disclosure may also manifest in the form of program code stored on a non-temporary machine-readable storage medium, such as one that is loaded into and / or executed by a machine, such that when the program code is loaded into and / or executed by a machine such as a computer, the machine becomes an apparatus for carrying out the Disclosure. When implemented on a general-purpose processor, a segment of program code combines with the processor to provide a unique device that operates similarly to a particular logic circuit. The term “non-temporary” as used herein is a limitation of the medium itself (i.e., tangible and not signaling), as opposed to a limitation of data storage persistence (e.g., RAM vs. ROM).

[0049] In this specification, including any claim, the term “each” may be used to refer to one or more specified characteristics of the elements or steps described above. When used in conjunction with the open-ended term “equipped with,” the description of “each” does not exclude any additional undescribed elements or steps. Thus, it will be understood that an apparatus may have elements that are not additionally described, and a method may have steps that are not additionally described, but any elements or steps that are not additionally described may not have one or more specified characteristics.

[0050] As used herein, “at least one of the following: <list of two or more elements>” and “at least one of <list of two or more elements>” and similar expressions (where the list of two or more elements is joined by “and” or “or”) mean at least one of the elements, or at least two or more of the elements, or at least all of the elements. For example, the expressions “at least one of A and B” and “at least one of A or B” are both interpreted as having the same meaning and include the following three possibilities: 1-A only, 2-B only, 3-both A and B.

[0051] All documents referenced herein are incorporated herein by whole or in whole by citation, or provide disclosures on which they are particularly relied.

[0052] The embodiments protected by the claims in this application are limited to (1) embodiments enabled by this specification and (2) embodiments corresponding to statutory subject matter. Embodiments not enabled and embodiments corresponding to non-statutory subject matter are expressly abandoned, even if they are included in the claims.

[0053] As used herein and in the claims, the term “provide” with respect to an apparatus or a system, device, or component includes designing or manufacturing the apparatus, system, device, or component, having the apparatus, system, device, or component designed or manufactured, and / or purchasing, leasing, renting, or otherwise obtaining the apparatus, system, device, or component through a contractual arrangement.

[0054] While preferred embodiments of the present disclosure have been illustrated and described herein, it will be apparent to those skilled in the art that such embodiments are provided for illustrative purposes only. Those skilled in the art will see numerous variations, modifications, and substitutions without departing from the present disclosure. It should be understood that various alternative forms to the embodiments of the present disclosure described herein may be adopted in the practice of the present disclosure. The appended claims define the scope of the invention, and methods and structures within the scope of these claims and their equivalents are protected thereby. [Explanation of symbols]

[0055] 110 clients 140 Ingress Nodes 160 Underlay Infrastructure 150 Egress Nodes 120 Service Contact Instances

Claims

1. A method for determining a selected service contact instance for a requested service in a Computational Recognition Traffic Steering (CATS) network, wherein the ingress node of the CATS network is Receiving cache metrics for one or more executable service contact instances for the requested service, Based on the cache metrics, the selected service contact instance for the requested service is determined, Based on the selected service contact instance, perform the requested service. Methods that include...

2. The method according to claim 1, wherein the CATS network conforms to the proposals of the Internet Engineering Task Force (IETF).

3. The aforementioned ingress node, Receiving computational metrics for the one or more executable service contact instances, Receiving network metrics for one or more of the aforementioned service contact instances, It further includes, The ingress node determines the selected service contact instance for the requested service based on the computation metric, the network metric, and the cache metric. The method according to any one of claims 1 to 2.

4. Determining the selected service contact instance is Based on the aforementioned cache metrics, select candidate service contact instances for the cache metrics, The determination of whether the cache metric candidate service contact instance satisfies at least one of (i) one or more computational metric threshold tests and (ii) one or more network metric threshold tests, If this condition is met, it is determined that the cache metric candidate service contact instance is the selected service contact instance, If not, it is determined that the calculation and network metric candidate service contact instance is the selected service contact instance, The method according to claim 3, including the method described in claim 3.

5. The method according to claim 4, wherein if it is determined that the cache metric candidate service contact instance satisfies both (i) one or more computed metric threshold tests and (ii) one or more network metric threshold tests, the cache metric candidate service contact instance is determined to be the selected service contact instance, and if it is determined that the cache metric candidate service contact instance fails at least one computed metric threshold test or a network metric threshold test, the computed and network metric candidate service contact instance is determined to be the selected service contact instance.

6. The method according to claim 4, wherein the calculation and network metric candidate service contact instance is selected based on the calculation metric and network metric, but not based on the cache metric.

7. The method according to claim 4, wherein the calculation and network metric candidate service contact instance is selected before determining whether the cache metric candidate service contact instance fails at least one of the calculation metric threshold test and the network metric threshold test.

8. The method according to claim 4, wherein the calculation and network metric candidate service contact instance is selected after it is determined that the cache metric candidate service contact instance fails at least one of the calculation metric threshold test and the network metric threshold test.

9. The method according to claim 3, wherein the computation metric and the cache metric are received from one or more egress nodes of the CATS network, and the network metric is received from a network metric agent of the CATS network.

10. It is a device, At least one processor, At least one memory for storing instructions, Equipped with, When the instruction is executed by the at least one processor, Receiving cache metrics for one or more executable service contact instances for the requested service, Based on the aforementioned cache metrics, the selected service contact instance for the requested service is determined, To perform the requested service based on the selected service contact instance, An apparatus that causes the aforementioned apparatus to perform at least the above.

11. The aforementioned device further, The calculated metrics are received for the one or more executable service contact instances. The network metrics are received for the one or more executable service contact instances described above. Adapted to, The device is adapted to determine the service contact instance selected for the requested service based on the computation metric, network metric, and cache metric. The apparatus according to claim 10.

12. The aforementioned device is Based on the aforementioned cache metrics, select candidate service contact instances for the cache metrics, The determination of whether the cache metric candidate service contact instance satisfies at least one of (i) one or more computational metric threshold tests and (ii) one or more network metric threshold tests, If this condition is met, it is determined that the cache metric candidate service contact instance is the selected service contact instance, If not, it is determined that the calculation and network metric candidate service contact instance is the selected service contact instance, The apparatus according to claim 11, which is adapted to determine the selected service contact instance by

13. The device is configured to determine that the cache metric candidate service contact instance is the selected service contact instance when it is determined that the cache metric candidate service contact instance satisfies both (i) one or more computed metric threshold tests and (ii) one or more network metric threshold tests. The apparatus according to claim 12, wherein if the cache metric candidate service contact instance is determined to have failed at least one compute metric threshold test or network metric threshold test, the compute and network metric candidate service contact instance is determined to be the selected service contact instance.

14. The apparatus according to any one of claims 12 to 13, wherein the apparatus is adapted to select the computation and network metric candidate service contact instances based on the computation metric and network metric, but not based on the cache metric.

15. The apparatus according to claim 11, wherein the apparatus is adapted to receive the computation metric and the cache metric from one or more egress nodes of the CATS network and to receive the network metric from the network metric agent of the CATS network.

Citation Information

Patent Citations

  • Distributed cache control method, device and system

    CN101764824A

  • Multi-entity Resource, Security, and Service Management in Edge Computing Deployments

    JP2022530580A

  • Multi-layer traffic steering for service chaining over software defined networks

    US20150372929A1

  • Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks

    US20170048144A1

  • Cache-aware load balancing

    US20230350727A1