Patent ID: 8677083

Claim:
A method, comprising: performing, by a computer system that stores a plurality of objects in a memory, wherein each of the plurality of objects comprises a user key and a version identifier value, and wherein at least some of the plurality of objects further comprise object data: prior to enabling an object versioning feature for the memory: receiving a request to store data in the memory, wherein the request includes a data object and specifies a given user key; and in response to receiving the request to store data prior to the object versioning feature being enabled, storing the data object in the memory in an object that further comprises the given user key and a version identifier value that is a special sentinel version identifier value, wherein the special sentinel version identifier value is a pre-defined, reserved value, wherein said storing comprises overwriting a data object portion of an existing object stored in the memory that comprises the given user key and the special sentinel version identifier value; enabling the object versioning feature for the memory; and subsequent to enabling the object versioning feature for the memory: receiving a second request to store data in the memory, wherein the second request to store data includes a second data object and specifies the given user key; and in response to receiving the second request to store data while the object versioning feature is enabled: generating a new, unique version identifier value; creating a new object that comprises the second data object, the given user key, and the new, unique version identifier value; and storing the new object in the memory.