Systems and methods for caching SNMP data in multi-core and cluster systems

US9817789B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9817789-B2
Application numberUS-201313861731-A
CountryUS
Kind codeB2
Filing dateApr 12, 2013
Priority dateApr 13, 2012
Publication dateNov 14, 2017
Grant dateNov 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The SNMP cache of the present solution supports multi-core/multi-node environment by recalculating the SNMP ordering of the entities in the response from multiple cores/nodes at insertion time. The most significant gain is achieved by prefetching or augmenting the cache, wherein while requesting an entity and its stat information, next few entities in SNMP order are requested from the owner processes. SNMP Management systems extensively utilize repeated GETNEXT (such as via a SNMP WALK) and few next responses may be served from the cache directly. Further performance improvements are obtained by introducing another level of cache on top of the existing cache. This auxiliary cache ensures a high hit ratio for repeated SNMP GETNEXT request (SNMP WALK operation) by caching last accessed entity within the main cache. This auxiliary cache also aids in insertion in the larger main cache by maintaining pointers to last accessed entity before the main cache miss. Cache implements other features like new stat inclusion/updating of the already cached entity.

First claim

Opening claim text (preview).

What is claimed: 1. A method for providing a Simple Network Management Protocol (SNMP) cache, the method comprising: (a) establishing, by a device comprising a processor, coupled to memory, and intermediary to a plurality of clients and one or more servers, a Simple Network Management Protocol (SNMP) cache, the SNMP cache storing managed objects representing entities in a predetermined lexicographic order of SNMP object identifiers for one or more entities and corresponding next entities; (b) transmitting, by a cache manager of the SNMP cache responsive to receiving a SNMP GET request for a managed object identified by an object identifier, one or more SNMP GETNEXT requests to one or more managed information bases to get one or more managed objects identified by one or more object identifiers next in lexicographical order with respect to the object identifier, wherein a value of a managed object for an entity is one of a scalar data type or a tabular data type; (c) storing, by the cache manager, the one or more managed objects in locations arranged in order according to their predetermined lexicographic order of a sequence of SNMP object identifiers for at least an entity and a next entity within the SNMP object identifier hierarchy in the SNMP cache; (d) receiving, by the cache manager a SNMP GETNEXT request from a client of the plurality of clients to the one or more servers; and (e) serving, by the cache manager, to the client a managed object corresponding to a next entity in lexicographical order within the SNMP object identifier hierarchy in the SNMP cache instead of from the server. 2. The method of claim 1 , wherein step (a) further establishing the SNMP cache by the device intermediary to the plurality of clients and the plurality of servers, the device responding to SNMP GETNEXT requests with managed objects stored in the SNMP cache. 3. The method of claim 1 , wherein step (a) further comprises ordering, by the cache manager, the managed objects in one of memory or storage locations of the cache by the predetermined lexicographic order based on their corresponding object identifiers. 4. The method of claim 1 , wherein step (b) further comprises transmitting, by the cache manager, the one or more SNMP GETNEXT requests to prefetch a predetermined set of managed objects. 5. The method of claim 1 , further comprising receiving, by the device, the SNMP GETNEXT request subsequent to a SNMP GET request. 6. The method of claim 5 , further comprising determining, by the device responsive to the SNMP GETNEXT request, that the managed object corresponding to the next entity in lexicographical order is stored in a memory location of the SNMP cache that is one of adjacent to or subsequent to a second memory location of the managed object stored for the SNMP GET REQUEST and serving the managed object from the SNMP cache as a response to the SNMP GETNEXT request. 7. The method of claim 1 , wherein step (b) further comprises receiving, by the cache manager, a SNMP GET request for a managed object identified by an object identifier. 8. The method of claim 7 , further comprising transmitting, by the cache manager responsive to the SNMP GET request, the one or more SNMP GETNEXT requests to the one or more managed information bases for the one or more managed objects next in the lexicographical order. 9. The method of claim 1 , further comprising establishing, by the device, an auxiliary cache in association with the SNMP cache, the auxiliary cache storing one or more pointers to managed objects stored in the SNMP cache. 10. The method of claim 9 , further comprising maintaining in the auxiliary cache one or more pointers to the managed objects that were last accessed in the SNMP cache over a predetermined time period. 11. A system for providing a Simple Network Management Protocol (SNMP) cache, the system comprising: a device comprising a processor, coupled to memory and, intermediary to a plurality of clients and one or more servers, configured to establish a Simple Network Management Protocol (SNMP) cache, the SNMP cache storing managed objects representing entities in a predetermined lexicographic order of SNMP object identifiers for one or more entities and corresponding next entities; a cache manager of the SNMP cache configured to transmit, responsive to receiving a SNMP GET request for a managed object identified by an object identifier, one or more SNMP GETNEXT requests to one or more managed information bases to get one or more managed objects identified by one or more object identifiers next in lexicographical order with respect to the object identifier, wherein a value of a managed object for an entity is one of a scalar data type or a tabular data type; and wherein the cache manager is configured to store the one or more managed objects in locations arranged in order according to_their predetermined lexicographic order of a sequence of SNMP object identifiers for at least an entity and a next entity within the SNMP object identifier hierarchy in the SNMP cache; wherein the cache manager is configured to receive a SNMP GETNEXT request from a client of the plurality of clients to the one or more servers and serve to the client a managed object corresponding to a next entity in lexicographical order within the SNMP object identifier hierarchy in the SNMP cache instead of from the server. 12. The system of claim 11 , wherein the device is configured to be deployed intermediary to the plurality of clients and the plurality of servers, the device responding to SNMP GETNEXT requests with managed objects stored in the SNMP cache. 13. The system of claim 11 , wherein the cache manager is configured to order the managed objects in one of memory or storage locations of the cache by the predetermined lexicographic order based on their corresponding object identifiers. 14. The system of claim 11 , wherein the cache manager is configured to transmit the one or more SNMP GETNEXT requests to prefetch a predetermined set of managed objects. 15. The system of claim 11 , wherein the device is further configured to receive the SNMP GETNEXT request subsequent to a SNMP GET request. 16. The system of claim 15 , wherein the device is further configured, responsive to the SNMP GETNEXT request, to determine that the managed object corresponding to the next entity in lexicographical order is stored in a memory location of the SNMP cache that is one of adjacent to or subsequent to a second memory location of the managed object stored for the SNMP GET REQUEST and serve the managed object from the SNMP cache as a response to the SNMP GETNEXT request. 17. The system of claim 11 , wherein the cache manager is configured to receive a SNMP GET request for a managed object identified by an object identifier. 18. The system of claim 17 , wherein the cache manager is configured to, responsive to the SNMP GET request, to transmit the one or more SNMP GETNEXT requests to the one or more managed information bases for the one or more managed objects next in the lexicographical order. 19. The system of claim 11 , wherein the device is configured to establish an auxiliary cache in association with the SNMP cache, the auxiliary cache storing one or more pointers to managed objects stored in the SNMP cache. 20. The system of claim 19 , wherein the auxiliary cache is further configured to maintain one or more pointers to the managed objects that were last accessed in the SNMP cache over a predetermined time period.

Assignees

Inventors

Classifications

  • comprising network management agents or mobile agents therefor · CPC title

  • Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA] · CPC title

  • Standardised network management protocols, e.g. simple network management protocol [SNMP] · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9817789B2 cover?
The SNMP cache of the present solution supports multi-core/multi-node environment by recalculating the SNMP ordering of the entities in the response from multiple cores/nodes at insertion time. The most significant gain is achieved by prefetching or augmenting the cache, wherein while requesting an entity and its stat information, next few entities in SNMP order are requested from the owner pro…
Who is the assignee on this patent?
Citrix Systems Inc, Citrix & Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L41/0213. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).