IP Library › Granted Patent US 10,225,132
Granted Patent B2
US 10,225,132 · App. 15/472,646 · Granted Mar 5, 2019

Serving channelized interactive data collection requests from cache

Inventors: Yang Yang (Newton, MA); Gerald L. Reno, Jr. (Grafton, MA)
Assignee: CA, Inc.
H04L41/0213H04L41/0853H04L67/2842H04L41/0233H04L41/0266
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 10,225,132
App. No.
15/472,646
Granted
Mar 5, 2019
Kind
B2
Abstract

Expressions to calculate values from data collection can often involve additional data collection queries causing duplicate requests for SNMP data collection. The duplicate requests can lead to increased latency or even data loss as SNMP data collection requests are throttled in a network. To eliminate duplicate requests, data collection channels for variable SNMP data collection can be managed with a queue for duplicate requests. Channels for which a data collection request has already been submitted can be locked while the request is pending. Additional requests for the locked channel are considered duplicate requests and are queued until a value is returned for the initial request. The returned value is then supplied to each of the queued requests, and the channel is unlocked.

Claims (64)

1. A method comprising:

after receipt of a first request for a simple network management protocol (SNMP) data collection,

identifying a first data collection channel indicated in the first request, wherein the first data collection channel is indicated by a device address and an object identifier;

locking the first data collection channel; and

submitting the first request for SNMP data collection;

after receipt of a second request for an SNMP data collection,

determining that the second request indicates the first data collection channel; and

based on determining that the first data collection channel is locked, blocking the second request; and

adding the second request to a queue;

upon receipt of a value in response to submitting the first request for SNMP data collection,

supplying the value in response to the first request; and

based on determining that the second request is in the queue, supplying the value in response to the second request.

2. The method of claim 1 further comprising:

after receipt of a third request for an SNMP data collection,

identifying a second data collection channel indicated in the third request; and

based on determining that the second data collection channel is unlocked, submitting the third request for SNMP data collection.

3. The method of claim 1 further comprising, after supplying the value in response to the first request or the second request, unlocking the first data collection channel.

4. The method of claim 1 , wherein locking the first data collection channel comprises indicating the device address and the object identifier in a list of locked channels.

5. The method of claim 1 further comprising, upon receipt of a value in response to the first request, storing the value in a cache.

6. The method of claim 5 , wherein the value is supplied in response to the second request from the cache.

7. The method of claim 5 further comprising:

identifying an expiration time associated with the value stored in the cache;

responding to requests for the first data collection channel with the value from the cache until the expiration time; and

unlocking the first data collection channel after the expiration time.

8. The method of claim 7 , wherein the expiration time corresponds to an SNMP polling interval for the first data collection channel.

9. The method of claim 1 , wherein identifying a first data collection channel indicated in the first request comprises parsing the first request to identify the device address and the object identifier.

10. One or more non-transitory machine-readable media comprising program code for collection of network management data from networked devices, the program code to:

based on a request to collect network management data from a device in a network, record a combination of at least an address of the device and an object identifier indicated in the request;

while response to the request is pending, determine whether each subsequent request indicates a device address and an object identifier that match the recorded combination and enqueue each subsequent request determined as matching;

based on a response to the request that indicates a set of one or more values, determine which of the enqueued requests is satisfied with the set of one or more values;

supply the set of one or more values in response to those of the enqueued requests satisfied with the set of one or more values; and

dequeue one of the enqueued requests not satisfied by the set of one or more values.

11. The machine-readable media of claim 10 further comprising program code to:

store the set of one or more values in a cache, wherein the set of one or more values in the cache are associated with an expiration time corresponding to a polling interval for the device; and

based on a request received prior to the expiration time which indicates the recorded combination, supply a value in the set of one or more values from the cache.

12. An apparatus comprising:

a processor; and

a machine-readable medium having program code executable by the processor to cause the apparatus to,

after receipt of a first request for a simple network management protocol (SNMP) data collection,

identify a first data collection channel indicated in the first request, wherein the first data collection channel is indicated by a device address and an object identifier;

lock the first data collection channel; and

submit the first request for SNMP data collection;

after receipt of a second request for an SNMP data collection,

determine that the second request indicates the first data collection channel; and

based on a determination that the first data collection channel is locked,

block the second request; and

add the second request to a queue;

upon receipt of a value in response to submitting the first request for SNMP data collection,

supply the value in response to the first request; and

based on a determination that the second request is in the queue, supply the value in response to the second request.

13. The apparatus of claim 12 further comprising program code executable by the processor to cause the apparatus to:

after receipt of a third request for an SNMP data collection,

identify a second data collection channel indicated in the third request; and

based on a determination that the second data collection channel is unlocked, submit the third request for SNMP data collection.

14. The apparatus of claim 12 further comprising program code executable by the processor to cause the apparatus to, after supplying the value in response to the first request or the second request, unlock the first data collection channel.

15. The apparatus of claim 12 , wherein the program code executable by the processor to cause the apparatus to lock the first data collection channel comprises program code executable by the processor to cause the apparatus to indicate the device address and the object identifier in a list of locked channels.

16. The apparatus of claim 12 further comprising program code executable by the processor to cause the apparatus to, upon receipt of a value in response to the first request, store the value in a cache.

17. The apparatus of claim 16 , wherein the value is supplied in response to the second request from the cache.

18. The apparatus of claim 16 further comprising program code executable by the processor to cause the apparatus to:

identify an expiration time associated with the value stored in the cache;

respond to requests for the first data collection channel with the value from the cache until the expiration time; and

unlock the first data collection channel after the expiration time.

19. The apparatus of claim 18 , wherein the expiration time corresponds to an SNMP polling interval for the first data collection channel.

20. The apparatus of claim 12 , wherein the program code executable by the processor to cause the apparatus to identify a first data collection channel indicated in the first request comprises program code executable by the processor to cause the apparatus to parse the first request to identify the device address and the object identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2017
From: YANG, YANG; RENO, GERALD L., JR.
To: CA, INC.
Reel/Frame 041783/0907 →
Continuity (2)
Continuation In Part 15199715 · Jun 30, 2016
Related Publication 20180006871A1 · Jan 4, 2018
Cited By (1)
US 12,301,531