Patent application number | Description | Published |
20090089341 | DISTRIUTED STORAGE FOR COLLABORATION SERVERS - Distributed storage of collaboration data is managed over internal and external data stores in a collaboration service environment based on categorization of the data. The categorization may be based on type of data (e.g. structured vs. unstructured), how the data is accessed, an expected storage life for the data, back-up requirements, and the like. Data that can be stored externally according to its category is then directed to the external storage through a storage provider. A unique identifier associated with the location of the externally stored data is saved in one of the internal data stores for seamless retrieval of data in a transparent manner to the user. | 04-02-2009 |
20090282041 | Caching Infrastructure - Example systems and methods are directed at maintaining and retrieving presence metadata. One example method includes receiving a request from a first client to edit a document file, and sending short-term check out metadata to the first client to begin an editing session. The method also includes writing the transition ID to a transition table stored in a cache, wherein the presence of another transition ID in the cache indicates that a document has switched from a single-client mode to a multi-client mode. An example system includes a processing unit operative to receive a document, the document including short-term check out metadata indicating an editing session has begun, ping a cache to determine if another transition ID is stored in the cache, and send a transition ID to a transition table stored in a cache to switch from a single-client mode to a multi-client mode. | 11-12-2009 |
20090282462 | Controlling Access to Documents Using File Locks - Examples are related to systems and methods for controlling access to document files on a document server. One example system includes document files stored on a document server, at least one of the document files referencing a file lock, and a document access processing module. The example document access processing module includes a file sharing processing module that determines a coauthoring status of a software application of a client computer requesting access to the document file, and a file lock processing module that stores one or more file locks and that controls the setting and resetting of file locks. The example document access processing module uses the coauthoring status of the software application and the file lock status of a document file to determine whether a software application is permitted to have write access to the document file. | 11-12-2009 |
20100185629 | INDEXING AND QUERYING DATA STORES USING CONCATENATED TERMS - Tools and techniques for indexing and querying data stores using concatenated terms are provided. These tools may receive input queries that include at least two query terms. The query terms are correlated respectively with fields contained within records within a data store, with these fields being populated with respective field values. The query terms are arranged according to an indexing priority according to which the fields are ranked within an indexing table, which is associated with the data store. The tools then concatenate the query terms as arranged according to the indexing priority. In turn, the tools search the index table for any entries that are responsive to the concatenated query terms | 07-22-2010 |
20110010360 | RESTRICTING QUERIES BASED ON COST OF PERFORMANCE - Queries that are determined to be too expensive to perform are prevented from being executed. Queries are determined to be too expensive based on the resources that are required to perform the query. For example, the query may be determined to be too expensive to perform based a length of a list the query requires to access, a number of lookups that may be performed relating to the query, a number of unique permissions accessed by the query, and the like. Queries that are deemed to expensive during normal operation may be performed during other times such that the impact of performing the query on other users is limited. | 01-13-2011 |
20120174210 | Trusted Communications With Child Processes - A method to identify a child process to a parent process in an operating system includes obtaining a token and login identifier from the operating system. The parent process creates a remote procedure call communications endpoint to communicate with the child process. Thereafter, a child process is spawned by the parent process. A child-initiated request to communicate with the parent process is then received by the parent process. In order to verify the identity of the child-initiated request, the parent process impersonates the child process and receives as identifier that identifies the requestor child process. The requestor process identifier and the spawned child identifier are compared. Based on the comparison, the parent process responds to the child-initiated request. In another embodiment, process identifiers are used by the parent process to verify the identity of a child process the requests communication with the parent process. | 07-05-2012 |
20120239708 | DISTRIBUTED STORAGE FOR COLLABORATION SERVERS - Distributed storage of collaboration data is managed over internal and external data stores in a collaboration service environment based on categorization of the data. The categorization may be based on type of data (e.g. structured vs. unstructured), how the data is accessed, an expected storage life for the data, back-up requirements, and the like. Data that can be stored externally according to its category is then directed to the external storage through a storage provider. A unique identifier associated with the location of the externally stored data is saved in one of the internal data stores for seamless retrieval of data in a transparent manner to the user. | 09-20-2012 |
20120254315 | CACHING INFRASTRUCTURE - Example systems and methods are directed at maintaining and retrieving presence metadata. One example method includes receiving a request from a first client to edit a document file, and sending short-term check out metadata to the first client to begin an editing session. The method also includes writing the transition ID to a transition table stored in a cache, wherein the presence of another transition ID in the cache indicates that a document has switched from a single-client mode to a multi-client mode. An example system includes a processing unit operative to receive a document, the document including short-term check out metadata indicating an editing session has begun, ping a cache to determine if another transition ID is stored in the cache, and send a transition ID to a transition table stored in a cache to switch from a single-client mode to a multi-client mode. | 10-04-2012 |
20130151466 | CONTROLLING ACCESS TO DOCUMENTS USING FILE LOCKS - Examples are related to systems and methods for controlling access to document files on a document server. One example system includes document files stored on a document server, at least one of the document files referencing a file lock, and a document access processing module. The example document access processing module includes a file sharing processing module that determines a coauthoring status of a software application of a client computer requesting access to the document file, and a file lock processing module that stores one or more file locks and that controls the setting and resetting of file locks. The example document access processing module uses the coauthoring status of the software application and the file lock status of a document file to determine whether a software application is permitted to have write access to the document file. | 06-13-2013 |