Patent application number | Description | Published |
20100138501 | END-TO-END VALIDATION IN A PUSH ENVIRONMENT - In a push environment having a communication path along which a service provides messages to a computing device via a gateway, an inactivity timeout value and a registration timeout value enable the computing device to detect failures in the communication path. An application executing on the computing device registers an application endpoint with the gateway. The application separately subscribes to the service to receive the messages. If there is inactivity in accordance with the inactivity timeout value, the application de-registers and re-registers with the gateway, and unsubscribes and re-subscribes with the service. | 06-03-2010 |
20100235321 | PROGRAMMING MODEL FOR SYNCHRONIZING BROWSER CACHES ACROSS DEVICES AND WEB SERVICES - A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact. | 09-16-2010 |
20100235829 | PROGRAMMING MODEL FOR INSTALLING AND DISTRIBUTING OCCASIONALLY CONNECTED APPLICATIONS - An application executing in a virtual environment, such as a web browser, may be serviced by an application host, such as a webserver that maintains application resources or provides runtime services to the application. However, it may be difficult to configure the application to operate suitably when the application host is unavailable. Techniques for facilitating such operation include the storing of application resources in a computing environment (such as the local file system or a deployable mesh or cloud environment) while also initiating the application within the virtual environment in the context of the application host, which may reduce difficulties with isolation policies imposed by the virtual environment (e.g., cross-domain restrictions imposed by the web browser.) This configuration may promote the servicing of the application alongside other applications and data objects, e.g., the automated deployment and synchronization of the application among all devices comprising the user's mesh environment. | 09-16-2010 |
20100235830 | PROGRAMMING MODEL FOR APPLICATION AND DATA ACCESS AND SYNCHRONIZATION WITHIN VIRTUAL ENVIRONMENTS - Applications executing on computer systems may execute in a virtual environment, such as a web application executing in a web browser. An application may access the actual computing environment (such as the filesystem), but this accessing may be complicated; e.g., the computing environment may be deployed across many computers and devices, and may be synchronized for offline access via a local cache. A computing environment component may service the complex computing environment (e.g., by managing the cache and retrieving remotely stored data objects) and expose it as a well-organized set of data objects. A virtual environment interface (e.g., a web browser plug-in) may allow applications hosted in the virtual environment to access the computing environment through the computing environment component. Programmatic interfaces may also be implemented to permit such accessing via familiar programming languages and techniques, such as JavaScript libraries exposed to web applications in the web browser. | 09-16-2010 |
20110307442 | TRANSPARENT ACCESS MECHANISM FOR LOCAL AND REMOTE DATA - A unified data access mechanism can provide transparent access to data that is either stored locally or remotely. Application programs can direct data requests and data modifications to this singular component without foreknowledge of where the data is stored. The unified data access mechanism can work in concert with a synchronization mechanism that can maintain data synchronization between local data and remote data. Requested or modified data can be identified as stored locally or remotely based on the namespace of the data. If the data is stored remotely, the user credentials associated with the user's process space within which the application program is executing can be utilized to identify, and then provide, relevant authentication information to the remote data store, should it be required. | 12-15-2011 |
20110320522 | CONTEXT-SPECIFIC NETWORK RESOURCE ADDRESSING MODEL FOR DISTRIBUTED SERVICES - A back-end locator service can be utilized to identify a specific computing device, from among multiple computing devices in a domain, that is the most appropriate computing device to handle a particular type of request for data or other resources. The data or resources hosted by the domain can be divided among multiple computing devices. The domain can expose a network-based application program interface where successive requests by a client computing device become more specific as to the data or resources requested. Responses from the computing devices in the domain can, at some point in time, be informed by the back-end locator service and can comprise location-specific resource identifiers. The client computing device can utilize such location specific resource identifiers to direct further communications to the appropriate, specific computing device without having to incur redirection inefficiencies. | 12-29-2011 |
20150046519 | PROGRAMMING MODEL FOR SYNCHRONIZING BROWSER CACHES ACROSS DEVICES AND WEB SERVICES - A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact. | 02-12-2015 |
Patent application number | Description | Published |
20080256539 | Fault Tolerant and Hang Resistant Media Processing Applications - Techniques for playing a media file in a multimedia application include launching a multimedia application as one process and automatically launching a pipeline of one or more media processing components as one or more isolated processes. In this manner, any untrustworthy components can be executed in an isolated process that is separate from the execution process of the multimedia application, thereby improving fault tolerance and hang resistance. | 10-16-2008 |
20100235743 | Incorporating Interactive Media Into a Playlist - An exemplary system includes a media control operable to begin playing a media segment automatically after buffering the media segment, and a host application operable to receive a reference to the media segment, initialize the media control with the media segment, and cause the media control to postpone playing of the media segment after the media segment is buffered. An exemplary method includes receiving a playlist referencing a first media segment and a second media segment, the second media segment operable to play automatically without a prompt after being loaded, presenting the first media segment, and prerolling the second media segment. | 09-16-2010 |
20110185078 | MEDIA SCRUBBING USING A MEDIA PROCESSOR - A system and method for a media processor separates the functions of topology creation and maintenance from the functions of processing data through a topology. The system includes a control layer including a topology generating element to generate a topology describing a set of input multimedia streams, one or more sources for the input multimedia streams, a sequence of operations to perform on the multimedia data, and a set of output multimedia streams, and a media processor to govern the passing of the multimedia data as described in the topology and govern the performance of the sequence of multimedia operations on the multimedia data to create the set of output multimedia streams. The core layer includes the input media streams, the sources for the input multimedia streams, one or more transforms to operate on the multimedia data, stream sinks, and media sinks to provide the set of output multimedia streams. | 07-28-2011 |
20110213892 | MEDIA FOUNDATION MEDIA PROCESSOR - A system and method for a media processor separates the functions of topology creation and maintenance from the functions of processing data through a topology. The system includes a control layer including a topology generating element to generate a topology describing a set of input multimedia streams, one or more sources for the input multimedia streams, a sequence of operations to perform on the multimedia data, and a set of output multimedia streams, and a media processor to govern the passing of the multimedia data as described in the topology and govern the performance of the sequence of multimedia operations on the multimedia data to create the set of output multimedia streams. The core layer includes the input media streams, the sources for the input multimedia streams, one or more transforms to operate on the multimedia data, stream sinks, and media sinks to provide the set of output multimedia streams. | 09-01-2011 |
20120185861 | MEDIA FOUNDATION MEDIA PROCESSOR - A system and method for a media processor separates the functions of topology creation and maintenance from the functions of processing data through a topology. The system includes a control layer including a topology generating element to generate a topology describing a set of input multimedia streams, one or more sources for the input multimedia streams, a sequence of operations to perform on the multimedia data, and a set of output multimedia streams, and a media processor to govern the passing of the multimedia data as described in the topology and govern the performance of the sequence of multimedia operations on the multimedia data to create the set of output multimedia streams. The core layer includes the input media streams, the sources for the input multimedia streams, one or more transforms to operate on the multimedia data, stream sinks, and media sinks to provide the set of output multimedia streams. | 07-19-2012 |
Patent application number | Description | Published |
20080275993 | Web service for user and subscription data storage - A data service that manages user and subscription data for multiple services. The data service maintains a database of the user and subscription data and provides an interface that allows the other services, that act as clients to the data service, to access that data. The data service avoids the need for the client services to implement a framework to manage the storage of user and subscription data. The data service also allows user profile data to be updated by one client service and used by all others. Further, data, such as usage history or information on policy violations, may be shared by multiple services. | 11-06-2008 |
20090292545 | CREATING, MANAGING, AND PROVISIONING PACKAGES OF ONLINE APPLICATIONS - Methods and computer-readable media are provided herein for implementing custom application programming interfaces (API) for creating, managing, and provisioning packages of online applications. An offer management service API is implemented that provides methods for creating and modifying offers for packages of online applications. An offer provisioning API is implemented that provides methods enabling the provisioning of online applications for subscribers to offers. An application provider API is published and utilized to provision and maintain individual instances of online applications provided by application providers. | 11-26-2009 |
20090327063 | Online Services Offer Management - Online services offer modeling is provided. A system for managing online offers for products and services includes a components module, an offer module, a subscription module, a billing module and a change management module. The component module defines the properties of components that may be included in an offer. The offer module defines the features of the offer, including one or more components. The components may be a base component or an add-on component. The subscription module processes the provisioning of an offer. The market module specifies countries or regions in which offers are made available. The billing module processes billing and payment actions for an offer. The change management module processes alterations to a provisioned offer, inserting the properties of an add-on component into the properties of a base component. | 12-31-2009 |
20130185253 | WEB SERVICE FOR USER AND SUBSCRIPTION DATA STORAGE - A data service that manages user and subscription data for multiple services. The data service maintains a database of the user and subscription data and provides an interface that allows the other services, that act as clients to the data service, to access that data. The data service avoids the need for the client services to implement a framework to manage the storage of user and subscription data. The data service also allows user profile data to be updated by one client service and used by all others. Further, data, such as usage history or information on policy violations, may be shared by multiple services. | 07-18-2013 |