IP Library › Granted Patent US 12,261,741
Granted Patent B2
US 12,261,741 · App. 18/328,550 · Granted Mar 25, 2025

Server to support client data models from heterogeneous data sources

Inventors: Chandrasekhar A (Bangalore, IN); Jayanthi R (Bangalore, IN); Cyril Margaria (Dublin, IE)
Assignee: Juniper Networks, Inc.
H04L41/0806G06F12/0866G06F16/219G06F16/2452G06F16/27
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,261,741
App. No.
18/328,550
Granted
Mar 25, 2025
Kind
B2
Abstract

Network elements are managed with a server to support client data models from heterogeneous data sources. A server receives a first query for configuration data of a network element to be returned in a first model. The server determines a model type for the configuration data of the network element. When the model type is a second model that is not the first model, the server sends a second query to the network element for the configuration data to be returned in the second model and transforms the configuration data received from the network element into the first model. Additionally, the server returns the configuration data in the first model as a response to the first query.

Claims (36)

1. A method comprising:

receiving, by a server device and from a client device, a first query for resources that specifies a query parameter and a response limit;

generating, by the server device, a first query response that includes a first list of resources that include a number of resources that satisfy the query parameter, the first number of resources being no longer than the response limit; and

storing, by the server device, a first cursor identifier that identifies the last resource on the first list of resources in the first query response.

2. The method of claim 1 , further comprising:

receiving a second query for the resources that specifies the query parameter and the response limit;

generating a second query response that includes a second list of resources that include a second number of resources that satisfy the query parameter, the second number of resources being no larger than the response limit, the second list starting with a resource selected based on the first cursor identifier; and

storing a second cursor identifier that identifies the last resource on the second list of resources.

3. The method of claim 2 , wherein a first resource on the second list corresponds to a resource after the resource associated with the first cursor identifier.

4. The method of claim 1 , further comprising determining a total number of resources that satisfy the query parameter, wherein generating the first query response comprises, when the total number of resources that satisfy the query parameter exceeds the response limit, generating the first query response to include:

a value representing the total number of resources that satisfy the query parameter; and

the first list of resources such that the number of resources included in the first list of resources is less than the total number of resources that satisfy the query parameter, and equal to the response limit.

5. A processing system comprising one or more processors implemented in circuitry, the processing system being configured to:

receive a first query for resources that specifies a query parameter and a response limit;

generate a first query response that includes a first list of resources that include a first number of resources that satisfy the query parameter, the first number of resources being no larger than the response limit; and

store a first cursor identifier that identifies a last resource on the first list of resources in the first query response.

6. The processing system of claim 5 , wherein the processing system is further configured to:

receive a second query for the resources that specifies the query parameter and the response limit;

generate a second query response that includes a second list of resources that include a second number of resources that satisfy the query parameter, the second number of resources being no larger than the response limit, the second list starting with a resource based on the first cursor identifier; and

store a second cursor identifier that identifies the last resource on the second list of resources.

7. The processing system of claim 6 , wherein a first resource on the second list corresponds to the resource after the resource associated with the first cursor identifier.

8. The processing system of claim 5 , wherein the processing system is further configured to determine a total number of resources that satisfy the query parameter, wherein to generate the first query response, the processing system is configured to include, when the total number of resources that satisfy the query parameter exceeds the response limit:

a value representing the total number of resources that satisfy the query parameter; and

the first list of resources such that the number of resources included in the first list of resources is equal to the response limit.

9. Computer-readable storage media having stored thereon instructions that, when executed, cause a processing system to:

receive a first query for resources that specifies a query parameter and a response limit;

generate a first query response that includes a first list of resources that include a first number of resources that satisfy the query parameter, the first number of resources being no larger than the response limit; and

store a first cursor identifier that identifies a last resource on the first list of resources in the first query response.

10. The computer-readable storage media of claim 9 , further comprising instructions that cause the processing system to:

receive a second query for the resources that specifies the query parameter and the response limit;

generate a second query response that includes a second list of resources that include a second number of resources that satisfy the query parameter, the second number of resources being no larger than the response limit, the second list starting with a resource based on the first cursor identifier; and

store a second cursor identifier that identifies the last resource on the second list of resources.

11. The computer-readable storage media of claim 10 , wherein a first resource on the second list corresponds to the resource after the resource associated with the first cursor identifier.

12. The computer-readable storage media of claim 9 , further comprising instructions that cause the processing system to determine a total number of resources that satisfy the query parameter, wherein the instructions that cause the processing system to generate the first query response include instructions that cause the processing system to generate the first query response to include, when the total number of resources that satisfy the query parameter exceeds the response limit:

a value representing the total number of resources that satisfy the query parameter; and

the first list of resources such that the number of resources included in the first list of resources is equal to the response limit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: A, CHANDRASEKHAR; R, JAYANTHI; MARGARIA, CYRIL
To: JUNIPER NETWORKS, INC.
Reel/Frame 065532/0835 →
Continuity (2)
Division 16800545 · Feb 25, 2020
Related Publication 20230308348A1 · Sep 28, 2023
References Cited (32)
US 10516761B1 · A et al. · 2019 [cited by applicant]
US 10574750B2 · Arenas et al. · 2020 [cited by applicant]
US 20050015471A1 · Zhang et al. · 2005 [cited by applicant]
US 20050091291A1 · Kaler et al. · 2005 [cited by applicant]
US 20050234931A1 · Yip et al. · 2005 [cited by applicant]
US 20060184375A1 · Stone et al. · 2006 [cited by applicant]
US 20100287270A1 · Hashimoto et al. · 2010 [cited by applicant]
US 20180048730A1 · Knecht et al. · 2018 [cited by applicant]
US 20180129716A1 · Su · 2018 [cited by applicant]
US 20180196687A1 · Dorr et al. · 2018 [cited by applicant]
US 20180246942A1 · Chen et al. · 2018 [cited by applicant]
US 20190020544A1 · Kristjansson · 2019 [cited by applicant]
US 20190147086A1 · Pal et al. · 2019 [cited by applicant]
US 20190391980A1 · Mundar · 2019 [cited by applicant]
US 20210266220A1 · A et al. · 2021 [cited by applicant]
CN 107534671A · 2018 [cited by applicant]
CN 110505075A · 2019 [cited by applicant]
EP 3570495A1 · 2019 [cited by applicant]
Communication pursuant to Article 94(3) EPC from counterpart European Application No. 20175129.4 dated May 27, 2024, 5 pp. [cited by applicant]
Notice of Intent to Grant from counterpart Chinese Application No. 202010420746.3 dated Mar. 29, 2024, 6 pp. [cited by applicant]
“Gremlin” Apache TinkerPop, GitHub, available at https://github.com/tinkerpop/gremlin/wiki (last accessed Feb. 25, 2020), 1 p., Sep. 30, 2010. [cited by applicant]
“GremlinDocs” ApacheTinkerPop, available at http://gremlindocs.spmallette.documentup.com/ (last accessed Feb. 25, 2020), 34 pp., Aug. 26, 2015. [cited by applicant]
Bjorklund, “YANG—A Data Modeling Language for the Network Configuration Protocol (NETCONF),” Internet Engineering Task Force, RFC 6020, Oct. 2010. [cited by applicant]
Communication pursuant to Article 94(3) EPC from counterpart European Application No. 20175129.4 dated Feb. 6, 2023, 7 pp. [cited by applicant]
Extended Search Report from counterpart European Application No. 20175129.4, dated Feb. 16, 2021, 18 pp. [cited by applicant]
First Office Action and Search Report, and translation thereof, from counterpart Chinese Application No. 202010420746.3 dated Apr. 24, 2023, 31 pp. [cited by applicant]
Harrington et al., “An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks,” RFC 3411, Network Working Group, the Internet Engineering Task Force draft, Dec. 2002, 64 pp. [cited by applicant]
Partial European Search Report received in corresponding EP Application No. 20175129.4, dated Oct. 27, 2020, 15 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 16/800,545, dated Feb. 9, 2021 through Jun. 9, 2023, 125 pp. [cited by applicant]
Response to Communication pursuant to Article 94(3) EPC dated Feb. 6, 2023, from counterpart European Application No. 20175129.4 filed Jun. 6, 2023, 16 pp. [cited by applicant]
Response to Extended Search Report dated Feb. 16, 2021, from counterpart European Application No. 20175129.4 filed Mar. 1, 2022, 43 pp. [cited by applicant]
Response to Communication pursuant to Article 94(3) EPC dated May 27, 2024, from counterpart European Application No. 20175129.4 filed Nov. 20, 2024, 12 pp. [cited by applicant]