Patent ID: 8856088

Claim:
One or more computer memory storage components having stored thereon multiple instructions that, when executed by one or more processors of a device, cause the one or more processors to implement a versioning module of an operating system executable on the device, the versioning module configured to: receive, from an application that opens and edits a file, a request associated with an application-managed file versioning of the file to store a new version of the file, the request automatically generated by the application responsive to the application detecting an application-specific event, the versioning module configured to receive requests to store new versions of files from multiple different applications that each employ different criteria to determine when to create the new versions of files; generate a filename for the new version of the file responsive to the request, the filename including a first portion having at least a portion of a name of the file, and a second portion having data indicating that the new version of the file is a version of the file, the filename further including one or more flags designated by the application to be set in the filename by the versioning module, at least one flag indicating that auto-versioning and application-managed file versioning are to be performed by the versioning module with respect to the new version of the file, the filename further including a timestamp portion that identifies a date and time at which the new version of the file is created; store the new version of the file; and based on the at least one said flag being set in the filename, perform the auto-versioning by at least automatically generating an additional new version of the file at particular intervals of time.