IP Library › Granted Patent US 12,574,305
Granted Patent B2
US 12,574,305 · App. 18/594,471 · Granted Mar 10, 2026

Network- and compute-aware service contact point selection based on global-utility values

Inventors: Sabine Randriamasy (Meudon, FR); Bernard Sales (Biewart/Fernelmont, BE); Frédéric Faucheux (Paris, FR)
Assignee: Nokia Solutions and Networks Oy
H04L43/065H04L43/04H04L67/1008H04L67/101
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,574,305
App. No.
18/594,471
Granted
Mar 10, 2026
Kind
B2
Abstract

An off-path or in-path connection-ordering update (COU) function enables the relative priorities of network and compute metrics to be fine-tuned when generating global utility values used to generate a re-ordered list from an initial list of Internet Protocol (IP) addresses corresponding to a domain name identified by an application client. The initial list may contain IP addresses of edge servers corresponding to the domain name. The re-ordered list may contain either (i) the (re-ordered) edge-server IP addresses or (ii) IP address pairs identifying the (re-ordered) edge-server IP addresses and IP addresses of corresponding egress edge routers of an intervening routing network also having an ingress edge router connected to the application client.

Claims (64)

1 . In a system comprising an application client selectively connectable to any one of multiple edge servers by a routing network comprising (i) an ingress edge router connected to the application client and (ii) multiple egress edge routers connected variously to the multiple edge servers, a method for identifying one of the multiple edge servers for the application client, each edge server of the multiple edge servers represented by a corresponding service contact point, the method comprising:

receiving an initial list of Internet Protocol (IP) addresses for the application client from a name resolution function of the system;

generating, for each IP address in the initial list, a global utility value based on (i) a corresponding set of one or more network metrics and (ii) a corresponding set of one or more compute metrics; and

re-ordering the initial list based on corresponding global utility values to generate a re-ordered list of the IP addresses for the application client, wherein an edge server for the client application is selectable based on the re-ordered list, wherein generating the global utility value for each IP address in the initial list comprises:

generating a corresponding relative network utility measure based on the corresponding set of one or more network metrics;

generating a corresponding relative compute utility measure based on the corresponding set of one or more compute metrics:

generating a corresponding joint utility vector based on the corresponding relative network utility measure and the corresponding relative compute utility measure;

generating a corresponding weighted joint utility vector based on the corresponding joint utility vector; and

generating the global utility value based on the corresponding weighted joint utility vector.

2 . The method of claim 1 , wherein:

each item in the re-ordered list is an IP address pair comprising (i) an IP address for one of the multiple egress edge routers and (ii) an IP address for one of the multiple edge servers; and

an egress edge router and the edge server for the client application are selectable based on the re-ordered list.

3 . The method of claim 1 , wherein, for each IP address in the initial list:

the corresponding set of one or more network metrics comprises two or more different network metrics;

the corresponding relative network utility measure is generated using the two or more different network metrics as vector elements in a network-metric-vector-based evaluation;

the corresponding set of one or more compute metrics comprises two or more different compute metrics;

the corresponding relative compute utility measure is generated using the two or more different compute metrics as vector elements in a compute-metric-vector-based evaluation; and

the network-metric-vector-based evaluation is separate from the compute-metric-vector-based evaluation.

4 . The method of claim 1 , wherein, for each IP address in the initial list:

the corresponding joint utility vector is generated by:

generating a normalized network utility measure based on (i) the corresponding relative network utility measure and (ii) a best relative network utility measure for all of the IP addresses in the initial list; and

generating a normalized compute utility measure based on (i) the corresponding relative compute utility measure and (ii) a best relative compute utility measure for all of the IP addresses in the initial list;

the corresponding weighted joint utility vector is generated by:

multiplying the normalized network utility measure by a network weight factor; and

multiplying the normalized compute utility measure by a compute weight factor; and

the global utility value is generated based on length of the corresponding weighted joint utility vector.

5 . The method of claim 1 , wherein the method is performed by an off-path function of the system.

6 . The method of claim 5 , wherein the off-path function (i) selects the edge server for the application client based on a first item in the re-ordered list and (ii) sends a message to the application client identifying the selected edge server.

7 . The method of claim 5 , wherein the off-path function (i) selects an egress edge router and the edge server for the application client based on a first IP address pair in the re-ordered list, (ii) sends a message to the application client with the initial list of IP addresses, and (iii) sends a message to the ingress edge router identifying the selected egress edge router and the selected edge server or a corresponding routing policy.

8 . The method of claim 5 , wherein the off-path function sends the re-ordered list to the application client.

9 . The method of claim 5 , wherein the method is performed upon receipt of a request sent by an in-path client implemented at the ingress edge router.

10 . An apparatus for a system comprising an application client selectively connectable to any one of multiple edge servers by a routing network comprising (i) an ingress edge router connected to the application client and (ii) multiple egress edge routers connected variously to the multiple edge servers, each edge server of the multiple edge servers represented by a corresponding service contact point, the apparatus comprising:

at least one processor; and

at least one memory storing instructions that, upon being executed by the at least one processor, cause the apparatus at least to:

receive an initial list of Internet Protocol (IP) addresses for the application client from a name resolution function of the system;

generate, for each IP address in the initial list, a global utility value based on (i) a corresponding set of one or more network metrics and (ii) a corresponding set of one or more compute metrics; and

re-order the initial list based on corresponding global utility values to generate a re-ordered list of the IP addresses for the application client, wherein an edge server for the client application is selectable based on the re-ordered list, wherein generating the global utility value for each IP address in the initial list comprises:

generating a corresponding relative network utility measure based on the corresponding set of one or more network metrics;

generating a corresponding relative compute utility measure based on the corresponding set of one or more compute metrics;

generating a corresponding joint utility vector based on the corresponding relative network utility measure and the corresponding relative compute utility measure;

generating a corresponding weighted joint utility vector based on the corresponding joint utility vector; and

generating the global utility value based on the corresponding weighted joint utility vector.

11 . The apparatus of claim 10 , wherein:

each item in the re-ordered list is an IP address pair comprising (i) an IP address for one of the multiple egress edge routers and (ii) an IP address for one of the multiple edge servers; and

an egress edge router and the edge server for the client application are selectable based on the re-ordered list.

12 . The apparatus of claim 10 , wherein, for each IP address in the initial list:

the corresponding set of one or more network metrics comprises two or more different network metrics;

the apparatus is adapted to generate the corresponding relative network utility measure using the two or more different network metrics as vector elements in a network-metric-vector-based evaluation;

the corresponding set of one or more compute metrics comprises two or more different compute metrics;

the apparatus is adapted to generate the corresponding relative compute utility measure using the two or more different compute metrics as vector elements in a compute-metric-vector-based evaluation; and

the network-metric-vector-based evaluation is separate from the compute-metric-vector-based evaluation.

13 . The apparatus of claim 10 , wherein, for each IP address in the initial list:

the apparatus is adapted to generate the corresponding joint utility vector by:

generating a normalized network utility measure based on (i) the corresponding relative network utility measure and (ii) a best relative network utility measure for all of the IP addresses in the initial list; and

generating a normalized compute utility measure based on (i) the corresponding relative compute utility measure and (ii) a best relative compute utility measure for all of the IP addresses in the initial list;

the apparatus is adapted to generate the corresponding weighted joint utility vector by:

multiplying the normalized network utility measure by a network weight factor; and

multiplying the normalized compute utility measure by a compute weight factor; and

the apparatus is adapted to generate the global utility value based on length of the corresponding weighted joint utility vector.

14 . The apparatus of claim 10 , wherein the apparatus is adapted to operate as an off-path function of the system.

15 . The apparatus of claim 14 , wherein the off-path function is adapted to (i) select the edge server for the application client based on a first item in the re-ordered list and (ii) send a message to the application client identifying the selected edge server.

16 . The apparatus of claim 14 , wherein the off-path function is adapted to (i) select an egress edge router and the edge server for the application client based on a first IP address pair in the re-ordered list, (ii) send a message to the application client with the initial list of IP addresses, and (iii) send a message to the ingress edge router identifying the selected egress edge router and the selected edge server or a corresponding routing policy.

17 . The apparatus of claim 14 , wherein the off-path function is adapted to send the re-ordered list to the application client.

18 . The apparatus of claim 14 , wherein the off-path function is adapted to operate upon receipt of a request sent by an in-path client implemented at the ingress edge router.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: RANDRIAMASY, SABINE; FAUCHEUX, FRÉDÉRIC
To: NOKIA NETWORKS FRANCE
Reel/Frame 067396/0462 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: NOKIA BELL NV
To: NOKIA SOLUTIONS AND NETWORKS OY
Reel/Frame 067396/0465 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: NOKIA NETWORKS FRANCE
To: NOKIA SOLUTIONS AND NETWORKS OY
Reel/Frame 067396/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2024
From: SALES, BERNARD
To: NOKIA BELL NV
Reel/Frame 067315/0880 →
Continuity (1)
Related Publication 20250279947A1 · Sep 4, 2025
References Cited (32)
US 6795858B1 · Jain · 2004 [cited by examiner]
US 7284051B1 · Okano · 2007 [cited by examiner]
US 7555542B1 · Ayers · 2009 [cited by examiner]
US 8909786B2 · Lee et al. · 2014 [cited by applicant]
US 11063881B1 · Vijayasuganthan · 2021 [cited by examiner]
US 20040221061A1 · Chavez · 2004 [cited by examiner]
US 20090292824A1 · Marashi · 2009 [cited by examiner]
US 20140016467A1 · Bernstein et al. · 2014 [cited by applicant]
US 20140040478A1 · Hsu · 2014 [cited by examiner]
US 20160352631A1 · Medved et al. · 2016 [cited by applicant]
US 20180234488A1 · Lee · 2018 [cited by applicant]
US 20180278570A1 · Dhanabalan · 2018 [cited by examiner]
EP 2913979B1 · 2019 [cited by applicant]
Prabhu, Shailesh. “Cache-Assisted Service Contact Instance Selection for Computing-Aware Traffic Steering Networks.” U.S. Appl. No. 18/440,070, filed Feb. 13, 2024 (19 pages). [cited by applicant]
Transitioning to latency-based routing in Amazon Route 53, www.amazon.com, 2016 [retrieved on May 14, 2024] Retrieved from the Internet: <URL: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransition… [cited by applicant]
BGP-LS, www.nokia.com, 2022 [retrieved on May 14, 2024] Retrieved from the Internet: <URL: https://infocenter.nokia.com/public/7750SR225R1A/index.jsp?topic=/com.nokia. Unicast_Guide/bgp-ls-ai9exj5ykf.html> (1 page). [cited by applicant]
“IETF 118 Side Meeting: Exposure of Communication and Compute information to Support Edge Computing Applications.” Side Meeting Minutes, IETF 118. Prague, Czechia. <https://docs.google.com/document/d/1wCuU6uam_Yso8jPslg… [cited by applicant]
[draft-yao-cats-awareness-architecture-02] Yao, H., et al. “Computing and Network Information Awareness (CNIA) system architecture for CATS.” Internet-Draft, <https://datatracker.ietf.org/doc/draft-yao-cats-awareness-ar… [cited by applicant]
[draft-contreras-alto-service-edge-10] Contreras, L. M., et al. “Use of ALTO for Determining Service Edge.” Internet-Draft, <https://datatracker.ietf.org/doc/draft-contreras-alto-service-edge/> (Oct. 13, 2023): 1-41. [cited by applicant]
[draft-du-cats-computing-modeling-description-02] Du, Zongpeng, et al. “Computing Information Description in Computing-Aware Traffic Steering.” Internet-Draft, <https://datatracker.ietf.org/doc/draft-du-cats-computing-m… [cited by applicant]
[draft-dunbar-cats-edge-service-metrics-01] Dunbar, L., e tal. “5G Edge Services Use Cases .” Internet-Draft <https://datatracker.ietf.org/doc/draft-dunbar-cats-edge-service-metrics/> (Jul. 6, 2023): 1-19. [cited by applicant]
[draft-ietf-teas-rfc3272bis-27] Farrel, A., Ed., and Old Dog Consulting “Overview and Principles of Internet Traffic Engineering.” Internet-Draft, <https://datatracker.ietf.org/doc/html/draft-ietf-teas-rfc3272bis-27> (A… [cited by applicant]
[draft-ldbc-cats-framework-04] Li, Cheng, Ed., Du, Z., et al., “A Framework for Computing-Aware Traffic Steering (CATS)”, Work in Progress, Internet-Draft <https://datatracker.ietf.org/doc/html/draft-ldbc-cats-framework… [cited by applicant]
[draft-rcr-opsawg-operational-compute-metrics-00] Randriamasy, S., et al. “Joint Exposure of Network and Compute Information for Infrastructure-Aware Service Deployment.” Internet-Draft <https://datatracker.ietf.org/doc… [cited by applicant]
[RFC7285] Alimi, R., Ed., et al. “Application-Layer Traffic Optimization (ALTO) Protocol.” RFC 7285, DOI 10.17487/RFC7285, <https://www.rfc-editor.org/info/rfc7285> (Sep. 2014): 1-91. [cited by applicant]
[RFC7665] Halpern, J., Ed. and Pignataro, C. , Ed., “Service Function Chaining (SFC) Architecture”, RFC 7665, DOI 10.17487/RFC7665, <https://www.rfc-editor.org/rfc/rfc7665> (Oct. 2015): 1-32. [cited by applicant]
[RFC7971] Stiemerling, M., et al. “Application-Layer Traffic Optimization (ALTO) Deployment Considerations.” RFC 7971, DOI 10.17487/RFC7971, <https://www.rfc-editor.org/info/rfc7971> (Oct. 2016): 1-77. [cited by applicant]
[RFC 8189] Randriamasy, S., et al. “Multi-Cost Application-Layer Traffic Optimization (ALTO).” RFC 8189, DOI 10.17487/RFC8189 <https://datatracker.ietf.org/doc/rfc8189/> (Oct. 2017): 1-29. [cited by applicant]
[RFC 8895] Roome, W., et al. “Application-Layer Traffic Optimization (ALTO) Incremental Updates Using Server-Sent Events (SSE).” RFC 8895, DOI 10.17487/RFC8895 <https://datatracker.ietf.org/doc/html/rfc8895> (Nov. 2020)… [cited by applicant]
[RFC 8896] Randriamasy, S., et al. “Application-Layer Traffic Optimization (ALTO) Cost Calendar.” RFC 8896, DOI 10.17487/RFC8896 <https://datatracker.ietf.org/doc/rfc8896/> (Nov. 2020): 1-35. [cited by applicant]
[RFC9420] Roome, W., et al. “An Extension for Application-Layer Traffic Optimization (ALTO): Entity Property Maps.” RFC 9420, DOI 10.17487/RFC9240, <https://www.rfc-editor.org/info/rfc9240> (Jul. 2022): 1-53. [cited by applicant]
[RFC9439] Wu, Q., et al. “Application-Layer Trafc Optimization (ALTO) Performance Cost Metrics.” RFC 9439, DOI 10.17487/RFC9439 <https://datatracker.ietf.org/doc/rfc9439/> (Aug. 2023): 1-35. [cited by applicant]