Patent application number | Description | Published |
20140279825 | EXTENSIBILITY MODEL FOR DOCUMENT-ORIENTED STORAGE SERVICES - A document service may be provided by many document service packages, each presenting a particular set of service characteristics (e.g., the performance achievable on various storage device types; the available indexing models; and the types of transactions, scripts, and queries supported by the document service). For a particular project, an administrator may endeavor to select a document service package exhibiting characteristics that match some criteria of the project and to configure or adapt the document service for other criteria, but the range of adaptability for each document service package may be limited. Presented herein are architectures for document services involving a composable set of components respectively providing a service feature with a service characteristic. The document service may be automatically composed by, for each service feature of the document service, selecting a service component for the service feature that matches the service criteria specified in a service level agreement. | 09-18-2014 |
20140279844 | AVAILABLE, SCALABLE, AND TUNABLE DOCUMENT-ORIENTED STORAGE SERVICES - An application on a device may interact with a document service that provides access to a document service. The interaction may occur in a variety of contexts, such as a device context (e.g., the document service and the application provided on the same device), a local context (e.g., via a LAN), and a remote context (e.g., over the Internet). It may be advantageous to adapt the interaction to the current context, while also providing a consistent application interface that alleviates the application from context-specific implementations, and also achieving this adaptation in a performant manner. These considerations may be achieved in a balanced manner by providing a set of runtimes, where each runtime mediates the application/document service interaction between the application and the document service in a contextually adapted manner. The device may automatically detect the context of the interaction and select a contextually suitable runtime to service the application. | 09-18-2014 |
20140280047 | SCALABLE, SCHEMALESS DOCUMENT QUERY MODEL - Query models for document sets (such as XML documents or records in a relational database) typically involve a schema defining the structure of the documents. However, rigidly defined schemas often raise difficulties with document validation with even inconsequential structural variations. Additionally, queries developed against schema-constrained documents are often sensitive to structural details and variations that are not inconsequential to the query, resulting in inaccurate results and development complications, and that may break upon schema changes. Instead, query models for hierarchically structured documents that enable “twig” queries specifying only the structural details of document nodes that are relevant to the query (e.g., students in a student database having a sibling named “Lee” and a teacher named “Smith,” irrespective of unrelated structural details of the document). Such “twig” query models may enable a more natural query development, and continued accuracy of queries in the event of unrelated schema variations and changes. | 09-18-2014 |
20140280707 | ELASTICALLY SCALABLE DOCUMENT-ORIENTED STORAGE SERVICES - A server set may provide a document service to one or more clients, and may be configured to do so in view of various considerations such as availability, fault tolerance, flexibility, and performance. Presented herein are document service architectures that involve partitioning the document set into at least two document ranges, and configuring respective servers of the server set to host one or more agents to which are respectively assigned one or more document ranges. A request for an operation involving at least one document may be routed to a server hosting an agent managing the document ranges of the documents involved in the operation. Moreover, respective servers may retain detailed information about neighboring servers (e.g., according to a logical or physical proximity) and scant information about distant servers, thereby avoiding both the extensive information exchange of highly informed network architectures and the inefficiency of uninformed routing algorithms. | 09-18-2014 |
20140282392 | PROGRAMMING MODEL FOR PERFORMANT COMPUTING IN DOCUMENTORIENTED STORAGE SERVICES - Object-oriented application languages often provide resources to applications for accessing objects stored in the volatile application memory region, and, separately, for packaging objects for persistent storage and network transport by serialization and deserialization involving a storage format. However, this design creates discrepancies between the application language and storage format, and depends on affirmative serialization and deserialization by the application. Presented herein are techniques for providing object access to objects involving persisting the objects as documents in a document store, where such persistence occurs automatically upon object creation and updating, and where such objects are stored in a language format integral to the application language (e.g., when a JavaScript application creates an object, the objects are automatically stored as documents of the document store in a JavaScript Object Notation (JSON) format). This design enables various advantages in efficiency, flexibility, and seamless interaction between the application and the objects. | 09-18-2014 |
Patent application number | Description | Published |
20090112870 | MANAGEMENT OF DISTRIBUTED STORAGE - Systems and methods of distributed storage are disclosed herein. A request to store data in a client computer is received. A request is sent from the client computer to a storage service to create a core object such that the core object can be created with a member entry to a member feed in the core object. The member feed can be indicative of one or more entities that are permitted to access to the core object. A message is received at the client computer with the core object. A replica of the core object on the client computer is created. The client computer can add the data as a data entry to a data feed in the core object. An updating message is sent to the storage service. The message can include a copy of the replica of the core object including the data entry. | 04-30-2009 |
20090248695 | ONLINE AND OFFLINE APPLICATIONS - Systems and methods for implementing online and offline applications are described. Such systems and methods may in some cases provide the same programming interface, regardless of whether the application is online or offline. Such systems and methods may also or instead in some cases provide additional or other possible capabilities, including installation without elevated privileges, simplified data synchronization, sharing of applications and application data, access to data from other applications, and richer client functionality than may be provided by an application such as a web browser. | 10-01-2009 |
20100093310 | DEVICE AUTHENTICATION WITHIN DEPLOYABLE COMPUTING ENVIRONMENT - A deployable computing environment may facilitate interaction and data sharing between users and devices. Users, devices, and relationships between the users and devices may be represented within the deployable computing environment. A relationship between a user and a device may specify that the device is owned by the user and that the device is authorized to perform operations within the deployable computing environment on behalf of the user. Secure authentication of devices and users for interaction within the deployable computing environment is achieved by authenticating tickets corresponding to the user, the device, and the relationship. A device identification ticket and a user identification ticket are used to authenticate the device and user for interaction within the deployable computing environment. A device claim ticket allows the device to perform delegated operations (e.g., data synchronization, peer connectivity, etc.) on behalf of the user without the user's credentials (e.g., user identification ticket). | 04-15-2010 |
20100274910 | HOSTED APPLICATION SANDBOX MODEL - An application host (such as a web application server) may execute a set of applications on behalf of a set of users. Such applications may not be fully trusted, and a two-way isolation of the distributed resources of an application (e.g., the executing application, the application user interface on the user's computer, and server- and client-side stored resources) from other applications may be desirable. This isolation may be promoted utilizing the cross-domain restriction policies of each user's computer by allocating a distinct subdomain of the application host for each application. The routing of network requests to a large number of distinct subdomains may be economized by mapping all distinct subdomains to the address of the domain of the application host. Moreover, the application user interfaces may be embedded in an isolation construct (e.g., an IFRAME HTML element) to promote two-way isolation among application user interfaces and client-side application resources. | 10-28-2010 |
20100306000 | UNIFIED MODEL FOR AUTHORING AND EXECUTING FLOW-BASED AND CONSTRAINT-BASED WORKFLOWS - Designing and executing a workflow having flow-based and constraint-based regions. A user selects one or more activities to be part of a constraint-based region. Each constraint-based region has a constraint associated therewith. The workflow is executed by executing the flow-based region and the constraint-based region. The flow-based region executes sequentially. The constraint is evaluated, and the constraint-based region executes responsive to the evaluated constraint. | 12-02-2010 |
20120078677 | UNIFIED MODEL FOR AUTHORING AND EXECUTING FLOW-BASED AND CONSTRAINT-BASED WORKFLOWS - Designing and executing a workflow having flow-based and constraint-based regions. A user selects one or more activities to be part of a constraint-based region. Each constraint-based region has a constraint associated therewith. The workflow is executed by executing the flow-based region and the constraint-based region. The flow-based region executes sequentially. The constraint is evaluated, and the constraint-based region executes responsive to the evaluated constraint. | 03-29-2012 |
20130212652 | DEVICE AUTHENTICATION WITHIN DEPLOYABLE COMPUTING ENVIRONMENT - A deployable computing environment may facilitate interaction and data sharing between users and devices. Users, devices, and relationships between the users and devices may be represented within the deployable computing environment. A relationship between a user and a device may specify that the device is owned by the user and that the device is authorized to perform operations within the deployable computing environment on behalf of the user. Secure authentication of devices and users for interaction within the deployable computing environment is achieved by authenticating tickets corresponding to the user, the device, and the relationship. A device identification ticket and a user identification ticket are used to authenticate the device and user for interaction within the deployable computing environment. A device claim ticket allows the device to perform delegated operations (e.g., data synchronization, peer connectivity, etc.) on behalf of the user without the user's credentials (e.g., user identification ticket). | 08-15-2013 |