Hardware assisted software versioning of clustered applications

US2017132000A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017132000-A1
Application numberUS-201415301969-A
CountryUS
Kind codeA1
Filing dateApr 29, 2014
Priority dateApr 29, 2014
Publication dateMay 11, 2017
Grant date

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.

Examples relate to providing hardware assisted software versioning for clustered applications. In one example, virtualized global memory is accessible to application servers that provide a clustered application, where the clustered application includes multiple versions of a common data structure. After one of the application servers stores an element that is compatible with one version of the common data structure, other versions of the common data structure are located in the virtualized global memory. The element is then invalidated in the other versions of the common data structure to prevent access and translated directly in the virtualized global memory to the other versions of the common data structure. At this stage, the element can be validated in the other versions of the common data structure for access.

First claim

Opening claim text (preview).

We claim: 1 . A system for providing hardware assisted software versioning for clustered applications, the system comprising: virtualized global memory accessible to a plurality of application servers that provides a clustered application, wherein the clustered application comprises a plurality of versions of a common data structure; and a controller operatively connected to the virtualized global memory, the controller to: after one of the plurality of application servers stores an element that is compatible with one version of the common data structure, locate other versions of the common data structure in the virtualized global memory; invalidate the element in the other versions of the global data structure to prevent access; translate the element directly in the virtualized global memory to the other versions of the common data structure; and validate the element in the other versions of the common data structure for access. 2 . The system of claim 1 , wherein the element is translated in response to a request to access the element from a requesting server of the plurality of application servers. 3 . The system of claim 1 , wherein the controller is a hardware processor that is physically connected to the virtualized global memory. 4 . The system of claim 3 , wherein the element is translated directly in the virtualized global memory by performing an arithmetic derivation of the element at a memory address in the virtualized global memory. 5 . The system of claim 3 , wherein the element s translated in the virtualized global memory by invoking a translation interrupt that triggers a software function to translate the element. 6 . The system of claim 1 , wherein the element is translated to each version of the other versions of the common data structure in the virtualized global memory by invoking a selected translation, and wherein the controller is further to: identify the selected translation from a plurality of translators based on the one version of the common data structure and a target version of the other versions of the common data structure, wherein the plurality of translators comprises an arithmetic derivation translator and a function translator. 7 . A method for providing hardware assisted software versioning for clustered applications, the method comprising: receiving a notification that one of a plurality of application servers has stored an element that is compatible with one version of a common data structure, wherein the plurality of application servers provides a clustered application that comprises a plurality of versions of the common data structure; locating other versions of the common data structure in virtualized global memory of the clustered application; invalidating the other versions of the common data structure to prevent access; translating the element directly in the virtualized global memory to the other versions of the common data structure; and validating the element in the other versions of the common data structure for access. 8 . The method of claim 7 , wherein the element is translated in response to a request to access the element from a requesting server of the plurality of application servers. 9 . The method of claim 7 , wherein the element is translated directly in the virtualized global memory by performing an arithmetic derivation of the element at a memory address in the virtualized global memory. 10 . The method of claim 7 , wherein the element is translated in the virtualized global memory by invoking a translation interrupt that triggers a software function to translate the element. 11 . The method of claim 7 , wherein the element is translated to each version of the other versions of the common data structure in the virtualized global memory by invoking a selected translation, and wherein the method further comprises: identifying the selected translation from a plurality of translators based on the one version of the common data structure and a target version of the other versions of the common data structure, wherein the plurality of translators comprises an arithmetic derivation translator and a function translator. 12 . A non-transitory machine-readable storage medium encoded with instructions executable by a processor for providing hardware assisted software versioning for clustered applications, the machine-readable storage medium comprising instructions to: receive a notification that an initial server of a plurality of application servers has stored an element that is compatible with one version of a common data structure, wherein the plurality of application servers provides a clustered application that comprises a plurality of versions of the common data structure; locate other versions of the common data structure in virtualized global memory; invalidate the element in the other versions of the global data structure to prevent access; in response to a request to access the element from a requesting server of the plurality of application servers, translate the element directly in the virtualized global memory to the other versions of the common data structure; and validate the element in the other versions of the common data structure for access. 13 . The non-transitory machine-readable storage medium of claim 12 , wherein the element is translated directly in the virtualized global memory by performing an arithmetic derivation of the element at a memory address in the virtualized global memory. 14 . The non-transitory machine-readable storage medium of claim 12 , wherein the element is translated in the virtualized global memory by invoking a translation interrupt that triggers a software function to translate the element. 15 . The non-transitory machine-readable storage medium of claim 12 , wherein the element is translated to each version of the other versions of the common data structure in the virtualized global memory by invoking a selected translation, and wherein the machine-readable storage medium further comprises instructions to: identify the selected translation from a plurality of translators based on the one version of the common data structure and a target version of the other versions of the common data structure, wherein the plurality of translators comprises an arithmetic derivation translator and a function translator.

Assignees

Inventors

Classifications

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

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 US2017132000A1 cover?
Examples relate to providing hardware assisted software versioning for clustered applications. In one example, virtualized global memory is accessible to application servers that provide a clustered application, where the clustered application includes multiple versions of a common data structure. After one of the application servers stores an element that is compatible with one version of the …
Who is the assignee on this patent?
Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 11 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).