IP Library › Granted Patent US 12,323,316
Granted Patent B2
US 12,323,316 · App. 17/710,923 · Granted Jun 3, 2025

Methods, systems, and computer readable media for service communication proxy (SCP) routing

Inventors: Rajiv Krishan (Bangalore, IN); Sonal Jain (Bangalore, IN)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L45/02H04L45/34
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,323,316
App. No.
17/710,923
Granted
Jun 3, 2025
Kind
B2
Abstract

Methods, systems, and computer readable media for service communication proxy (SCP) routing are disclosed. One example method for SCP routing comprises: at a first SCP associated with a first domain, the first SCP including at least one processor: receiving a first request destined for a network function; determining that the first request lacks routing path information for the first request; generating, using SCP domain routing information obtained from a network function repository function (NRF), a sequence of domains usable for routing the first request to the network function; adding, to the first request, the routing path information indicating the sequence of domains; determining, using the routing path information or the sequence of domains, a second SCP for routing the first request; and sending the first request comprising the routing path information to the second SCP.

Claims (84)

1. A method for inter-service communication proxy (SCP) routing, the method comprising:

at a first service communication proxy (SCP) associated with a first domain, the first SCP including at least one processor:

receiving, by the first SCP, a first request destined for a producer network function (NF);

determining, by the first SCP, that the first request lacks a list comprising a sequence of domain identifiers identifying, in sequence, domains for routing the first request to the producer NF;

determining, by the first SCP, a domain associated with the producer NF;

determining, by the first SCP and using the domain associated with the producer NF, the list comprising the sequence of domain identifiers identifying, in sequence, the domains for routing the first request to the producer NF;

adding, by the first SCP and to the first request, the list comprising the sequence of domain identifiers identifying domains for routing the first request to the producer NF;

determining, by the first SCP and using the list comprising the sequence of domain identifiers identifying the domains for routing the first request to the producer NF, a second SCP for routing the first request; and

sending, by the first SCP and to the second SCP, the first request including the list comprising the sequence of domain identifiers identifying the domains for routing the first request to the producer NF; and

at the second SCP:

receiving, by the second SCP, the first request;

reading, by the second SCP, the list comprising the sequence of domain identifiers in the first request;

using, by the second SCP, the list comprising the sequence of domain identifiers to determine a next hop for the first request without contacting the NRF; and

forwarding, by the second SCP, the first request to the next hop.

2. The method of claim 1 comprising:

at the first SCP:

receiving a second request including a list comprising a sequence of domain identifiers identifying, in sequence, domains for routing the second request to the producer NF;

determining that the second request includes the list comprising the sequence of domain identifiers identifying the domains for routing the second request to the producer NF;

determining, using the list comprising the sequence of domain identifiers identifying the domains for routing the second request to the producer NF and the first domain associated with the first SCP, a next domain for routing the second request to the producer NF; and

sending the second request to a third SCP associated with the next domain.

3. The method of claim 2 wherein determining, using the list comprising the sequence of domain identifiers identifying the domains for routing the second request to the producer NF and the first domain associated with the first SCP, the next domain for routing the second request to the producer NF includes:

identifying, by searching, in a reverse order, the list comprising the sequence of domain identifiers identifying the domains for routing the second request to the producer NF, for a domain in the list that matches the first domain associated with the first SCP; and

after identifying the matching domain, determining, using the original order, the next domain in the list after the matching domain.

4. The method of claim 1 comprising:

at the first SCP:

receiving a third request including a list comprising a sequence of domain identifiers identifying, in sequence, domains for routing the third request to the producer NF;

determining that the third request includes the list comprising the sequence of domain identifiers identifying, in sequence, the domains for routing the third request to the producer NF;

determining, using the list comprising the sequence of domain identifiers identifying the domains for routing the third request to the producer NF and the first domain associated with the first SCP, that the first domain is the last domain in the list comprising the sequence of domain identifiers identifying the domains for routing the third request to the producer NF; and

sending the third request to the producer NF.

5. The method of claim 1 wherein determining that the first request lacks the list comprising the sequence of domain identifiers identifying the domains for routing the first request to the producer NF includes receiving a routing failure indication after attempting to route the first request using the list comprising the sequence of domain identifiers identifying the domains for routing the first request to the producer NF.

6. The method of claim 1 wherein determining the list comprising the sequence of domain identifiers identifying the domains includes:

obtaining the domain identifiers using an SCPDomainRoutingInfoGet or SCPDomainRoutingInfoSubscribe service associated with the NRF; and

determining the list comprising the sequence of domain identifiers identifying the domains based on one or more domains that the first request must traverse to reach the domain of the producer NF from the first domain.

7. The method of claim 1 wherein adding the list comprising the sequence of domain identifiers to the first request includes adding the list to a header portion, a hypertext transfer protocol (HTTP) header, a custom header, or a vendor_route_domain header of the first request.

8. The method of claim 1 wherein the first request includes a service based interface (SBI) request or a hypertext transfer protocol (HTTP) request.

9. A system for inter-service communication proxy (SCP) routing, the system comprising:

a first SCP including at least one processor and a memory; and

a second SCP including at least one processor and a memory, wherein the first SCP is associated with a first domain and the first SCP is configured for:

receiving a first request destined for a producer network function (NF);

determining that the first request lacks a list comprising a sequence of domain identifiers identifying, in sequence, domains for routing the first request to the producer NF;

determining, by the first SCP, a domain associated with the producer NF;

determining, using the domain associated with the producer NF, the list comprising the sequence of domain identifiers identifying, in sequence, the domains for routing the first request to the producer NF;

adding, to the first request, the list comprising the sequence of domain identifiers;

determining, using the list comprising the sequence of domain identifiers, that the second SCP can reach a next domain in the list comprising the sequence of domains to which the first request should be forwarded; and

sending the first request including the list comprising the sequence of domain identifiers to the second SCP, and

wherein the second SCP is configured for:

receiving the first request;

reading the list comprising the sequence of domain identifiers in the first request;

using the list comprising the sequence of domain identifiers to determine a next hop for the first request without contacting the NRF; and

forwarding the first request to the next hop.

10. The system of claim 9 wherein the first SCP is configured for:

receiving a second request including a sequence of domain identifiers identifying, in sequence, domains for routing the second request to the producer NF;

determining that the second request includes the list comprising the sequence of domain identifiers identifying, in sequence, the domains for routing the second request to the producer NF;

determining, using the list comprising the sequence of domain identifiers identifying the domains for routing the second request to the producer NF and the first domain associated with the first SCP, a next domain for routing the second request to the producer NF; and

sending the second request to a third SCP associated with the next domain.

11. The system of claim 10 wherein the first SCP is configured for determining the next domain for routing the second request to the producer NF by:

identifying, by searching, in a reverse order, the list comprising the sequence of domain identifiers identifying the domains for routing the second request to the producer NF, for a domain in the list that matches the first domain associated with the first SCP; and

after identifying the matching domain, determining, using the original order, the next domain in the list after the matching domain.

12. The system of claim 9 wherein the first SCP is configured for:

receiving a third request including a list comprising a sequence of domain identifiers identifying, in sequence, domains for routing the third request to the producer NF;

determining that the third request includes the list comprising the sequence of domain identifiers identifying, in sequence, the domains for routing the third request to the producer NF;

determining, using the list comprising the sequence of domain identifiers identifying the domains for routing the third request to the producer NF and the first domain associated with the first SCP, that the first domain is the last domain in the list comprising the sequence of domain identifiers identifying the domains for routing the third request to the producer NF; and

sending the third request to the producer NF.

13. The system of claim 9 wherein the second SCP is configured for determining that the first request lacks the list including the sequence of domain identifiers identifying the domains for routing the first request to the producer NF by receiving a routing failure indication after attempting to route the first request using the list comprising the sequence of domain identifiers identifying the domains for routing the first request to the producer NF.

14. The system of claim 9 wherein the first SCP is configured for:

obtaining the SCP identifiers using an SCPDomainRoutingInfoGet or SCPDomainRoutingInfoSubscribe service associated with the NRF; and

determining the sequence of domains based on one or more domains that the first request must traverse to reach the destination domain from the first domain.

15. The system of claim 9 wherein the first request is received from a third SCP or a consumer NF.

16. The system of claim 9 wherein the the first SCP is configured to add the list including the sequence of domain identifiers to a header portion, a hypertext transfer protocol (HTTP) header, a custom header, or a vendor_route_domain header of the first request.

17. The system of claim 9 wherein the first request includes a service based interface (SBI) request or a hypertext transfer protocol (HTTP) request.

18. A non-transitory computer readable medium having stored thereon executable instructions that when executed by at least one processor of a computer cause at least one computer to perform steps comprising:

at a first service communication proxy (SCP) associated with a first domain:

receiving, by the first SCP, a first request destined for a producer network function (NF);

determining, by the first SCP, that the first request lacks a list comprising a sequence of domain identifiers identifying, in sequence, domains for routing the first request to the producer NF;

determining, by the first SCP, a domain associated with the producer NF;

determining, by the first SCP and using the domain associated with the producer NF, the list comprising the sequence of domain identifiers identifying, in sequence, domains for routing the first request to the producer NF;

adding, by the first SCP and to the first request, the list comprising the sequence of domain identifiers identifying the domains for routing the first request to the producer NF;

determining, by the first SCP and using the list comprising the sequence of domain identifiers identifying the domains for routing the first request to the producer NF, a second SCP for routing the first request; and

sending, by the first SCP and to the second SCP, the first request including the list comprising the sequence of domain identifiers identifying the domains for routing the first request to the producer NF; and

at the second SCP:

receiving, by the second SCP, the first request;

reading, by the second SCP, the list comprising the sequence of domain identifiers in the first request;

using, by the second SCP, the list comprising the sequence of domain identifiers to determine a next hop for the first request without contacting the NRF; and

forwarding, by the second SCP, the first request to the next hop.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2022
From: KRISHAN, RAJIV; JAIN, SONAL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 059547/0517 →
Continuity (1)
Related Publication 20230318960A1 · Oct 5, 2023
References Cited (16)
US 11864093B2 · Srivastava et al. · 2024 [cited by applicant]
US 20210306326A1 · Bykampadi et al. · 2021 [cited by applicant]
US 20220086734A1 · Aggarwal et al. · 2022 [cited by applicant]
US 20230188625A1 · Rodrigo · 2023 [cited by examiner]
US 20230217355A1 · Srivastava et al. · 2023 [cited by applicant]
US 20230254381A1 · Rodrigo · 2023 [cited by examiner]
US 20230388230A1 · Krishan · 2023 [cited by applicant]
US 20240022996A1 · Lu · 2024 [cited by examiner]
“3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Technical Realization of Service Based Architecture; Stage 3 (Release 17),” 3GPP TS 29.500, V17.5.0, pp. 1-117 (D… [cited by applicant]
“3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Network Function Repository Services; Stage 3 (Release 17),” 3GPP TS 29.510, V17.4.0, pp. 1-284 (Dec. 2021). [cited by applicant]
“3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Principles and Guidelines for Services Definition; Stage 3 (Release 17),” 3GPP TS 29.501, V17.4.1, pp. 1-79 (Dec.… [cited by applicant]
Fielding et al., “Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing,” Internet Engineering Task Force (IETF), pp. 1-89 (Jun. 2014). [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 17/569,319 (Aug. 25, 2023). [cited by applicant]
“3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; System architecture for the 5G System (5GS); Stage 2 (Release 17),” 3GPP TS 23.501, V17.2.0, pp. 1-542 (Sep. 2021). [cited by applicant]
“3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Technical Realization of Service Based Architecture; Stage 3 (Release 17),” 3GPP TS 29.500, V17.4.0, pp. 1-109 (S… [cited by applicant]
“3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; 5G System; Network Function Repository Services; Stage 3 (Release 17),” 3GPP TS 29.510, V17.1.0, pp. 1-243 (Mar. 2021). [cited by applicant]
Cited By (1)
US 12,562,986