The assignee for this patent application is
Reporters obtained the following quote from the background information supplied by the inventors: "A multi-user network-based content management environment (storage environment) allows users to upload and store content items in a data storage medium associated with an account, which the users may then access from virtually any network-enabled computing device. However, as the number of users and content items increases in such a storage environment, the complexity and quantity of data quickly scale and become difficult to manage. One way to manage these content items is by storing them in a particular directory structure that reflects content item relationships and access permissions. However, this approach can introduce problems or limitations when implementing sharing between user accounts or when attempting to increase storage efficiency."
In addition to obtaining background information on this patent application, VerticalNews editors also obtained the inventor's summary information for this patent application: "Particular features and advantages of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or can be learned by practice of the herein disclosed principles. The features and advantages of the disclosure can be realized and obtained by means of the instruments and combinations particularly pointed out hereinafter. These and other features of the disclosure will become more fully apparent from the following description and accompanying drawings, or can be learned by the practice of the principles set forth herein.
"The approaches set forth herein can be used to assign every content item in a multi-user network-based content management environment (storage environment) a Globally Unique Identifier (GUID), instead of relying solely on content item paths and/or content item names in a hierarchical directory structure. The storage environment can include one or more storage devices, one or more servers, network infrastructure, other computing devices, databases, and so forth. FIG. 9, discussed below, provides a more detailed view of an example storage environment. For example, the content management environment can store content items in virtually any data storage location or locations, and can maintain a GUID for each content item to uniquely identify that content item regardless of where it is stored. Typically the storage environment assigns a GUID to a content item at a content item creation event, and the storage environment maintains that GUID association with the content item across user-level edit operations and user-level move operations. However the server can assign a new GUID for a user-level content item copy operation or for other operations that result in a new content item. When each content item in the space is assigned a GUID, the storage environment as well as third-party developers can easily refer to a specific content item and all of its revisions without requiring knowledge of or dependency on the location of the content item in the content item system. With GUIDs, a collection of content items in a user account at the storage environment can be represented as a plain set of content item objects, regardless of their actual location. Content item paths, as represented within the user account, are represented or stored as just another attribute of a content item object, along with other attributes such as time of creation, time of last modification, author or owner, or content item size. Thus, GUIDs allow for building new organizational structures outside of the content item system. For example, GUIDs can be used to provide a way for users to participate in comment streams for a content item, photo albums, playlists, and content items or folders that are shared, such as via a public or private URL, that aren't sensitive to or dependent on a particular content item system location. Further, GUIDs allow for a richer set of functionality for document editing and sharing. With GUIDs, the storage environment can also implement aliases, symbolic links, or shortcuts.
"Systems, methods, and computer-readable storage media for ensuring data consistency and concurrency for globally unique identifiers (GUIDs) and associated content items via locking. A content management system configured to practice the method can receive, from a client device, a request to perform a content item operation in a storage environment that affects a GUID. Then the content management system can acquire a first mutex for a namespace associated with the content item operation, such as an application-level lock, and acquire a second mutex for the GUID, such as a row-level lock in a database table. After acquiring the locks, the content management system can perform the content item operation according the request, and update the GUID based on the content item operation. Then the content management system can release the mutexes and provide a confirmation to the client device in response to the request.
BRIEF DESCRIPTION OF THE DRAWINGS
"The principles of the present disclosure will become more explicitly understood from the particular description of the principles disclosed with reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:
"FIG. 1 shows an exemplary configuration of devices and a network;
"FIG. 2 shows an example client device and client application;
"FIG. 3 shows an example flowchart for determining a GUID for a local content item change operation;
"FIG. 4 shows an example method embodiment for implementing GUIDs in a multi-user network-based content management environment;
"FIG. 5 shows an example method embodiment for a client requesting a content item by GUID;
"FIG. 6 shows an example method embodiment for handling GUIDs with content item operations;
"FIG. 7 shows an example method embodiment for maintaining consistent GUIDs for content items that are accessible via a synchronous interface and an asynchronous interface;
"FIG. 8 shows an example method embodiment for inferring move and copy relationships between content items and updating GUIDs accordingly;
"FIG. 9 shows an example method embodiment for encrypting GUIDs at communication boundaries at a server side;
"FIG. 10 shows an example method embodiment for encrypting GUIDs at communication boundaries at a client side;
"FIG. 11 shows an example method embodiment for encrypting GUIDs based on communication type;
"FIG. 12 shows an example method embodiment for maintaining currency and consistency in GUID operations;
"FIG. 13A shows a conventional system bus computing system architecture; and
"FIG. 13B shows a computer system having a chipset architecture."
For more information, see this patent application: Hunter, Rian. Maintaining Concurrency and Consistency of Globally Unique Identifiers. Filed
Keywords for this news article include:
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- Stop-Start Engines Save Gas, Reduce Emissions
- Shia LaBeouf Plea Deal, Alcoholism Treatment
- Ohio State Band Chief Fired After Probe
- Hispanic Leader Goes the Extra Mile
- U.K. Economy Surpasses Pre-Crisis Peak
- Visa, Amazon Results Drag Down the Street
- World Tensions Don't Curb Enthusiasm for Stocks
- Pandora Tumbles in Late Trading
- Morgan Stanley Ponies Up $275 Million to Settle SEC Charges
- Ricky Martin Joins 'The Voice ... Mexico'