Maintaining and updating software versions via hierarchy
First Claim
1. A method comprising:
- maintaining, by a system comprising a processor, a hierarchy of software entities, including different sub-hierarchies corresponding to different versions of at least some of the software entities;
receiving, by the system, from a requestor a version identifier and a request for a software entity set comprising one or more software entities corresponding to that version identifier;
accessing, by the system, the hierarchy of software entities to select a version-based software entity set selected at least in part via the version identifier, wherein the accessing comprises;
obtaining, by the system, a version-based template for a software entity of the version-based software entity set corresponding to the version identifier,obtaining, by the system, a generic version of the software entity, andcustomizing, by the system, the generic version of the software entity using the version-based template to generate version-based software entity corresponding to the version identifier; and
returning, by the system, information corresponding to the selected software entity set to the requestor, the information comprising the version-based software entity corresponding to the version identifier.
1 Assignment
0 Petitions
Accused Products
Abstract
The described technology is directed towards maintaining and using a version-based hierarchy of software resources (e.g., file system files) to return version-specific responses to clients. A client sends its version information with each data request, and gets back a response based upon that version. Version changes are made by maintaining the current version of each software code resource and overriding the current version with a previous version for clients as needed. The technology allows updates (e.g., for new devices and new software resource versions) to be supported by inserting resources into the resource hierarchy and moving resources therein based upon versioning. A system based on deltas is also contemplated, in which only parts of a file may be changed relative to a different version, instead of overriding the entire file.
77 Citations
22 Claims
-
1. A method comprising:
-
maintaining, by a system comprising a processor, a hierarchy of software entities, including different sub-hierarchies corresponding to different versions of at least some of the software entities; receiving, by the system, from a requestor a version identifier and a request for a software entity set comprising one or more software entities corresponding to that version identifier; accessing, by the system, the hierarchy of software entities to select a version-based software entity set selected at least in part via the version identifier, wherein the accessing comprises; obtaining, by the system, a version-based template for a software entity of the version-based software entity set corresponding to the version identifier, obtaining, by the system, a generic version of the software entity, and customizing, by the system, the generic version of the software entity using the version-based template to generate version-based software entity corresponding to the version identifier; and returning, by the system, information corresponding to the selected software entity set to the requestor, the information comprising the version-based software entity corresponding to the version identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
a processor; and a memory communicatively coupled to the processor, the memory having stored therein computer-executable components, comprising; request handling logic of a data service, the request handling logic configured to receive a client request for a requested data item, in which the request is associated with a client version identifier; resource selection logic, the resource selection logic coupled to the request handling logic, the resource selection logic configured to access a hierarchy of resource files arranged in version-based sub-hierarchies to obtain a resource set comprising one or more resources that correspond to the requested data item and the client version identifier; response generation logic coupled to the resource selection logic, the response generation logic configured to; use the resource set to obtain a version-based template file corresponding to the client version identifier, obtain a generic version of the requested data item, customizing the generic version of the requested data item using the version-based template file to generate version-based requested data item corresponding to the client version identifier, and generate a response for the requested data item that includes the version-based requested data item corresponding to the client version identifier; and the request handling logic configured to return the response in response to the client request. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium having instructions stored thereon that, in response to execution, cause a system including a processor to perform operations, the operations comprising:
-
receiving a client request for a requested data item, in which the client request is associated with a client version identifier; selecting a resource set from a hierarchy of resource data structures, in which the resource data structures are arranged in version-based sub-hierarchies; using the resource set to obtain a version-based template file corresponding to the client version identifier; obtain a generic version of the requested data item; customizing the generic version of the requested data item using the version-based template file to generate version-based requested data item corresponding to the version identifier; and returning the version-based requested data item corresponding to the version identifier in response to the client request. - View Dependent Claims (20, 21, 22)
-
Specification