Systems and methods for application installation platforms

Information

  • Patent Grant
  • 10089098
  • Patent Number
    10,089,098
  • Date Filed
    Tuesday, February 7, 2017
    7 years ago
  • Date Issued
    Tuesday, October 2, 2018
    5 years ago
Abstract
Systems and methods for providing an application marketplace configured to install applications outside of an application store provided by the entity providing the operating system of a computing device in accordance with embodiments of the invention are illustrated. In one embodiment, a system obtains device data from a computing device, wherein the device data identifies a computing device and includes metadata describes the characteristics of the computing device, generates application marketplace data based on the obtained device data, wherein the application marketplace data includes metadata describing at least one application installer, provides the application marketplace data to the computing device, obtains selected application data from the computing device, generates application installer data based on the device data and the selected application data by signing application data identified by the selected application data using OEM key data, and provides the application installer data to the computing device.
Description
FIELD OF THE INVENTION

The present invention is generally related to applications and more specifically to applications that manage and install application on a computing device.


BACKGROUND

An application store is a type of digital distribution platform for software, often provided as a component of an operating system on a personal computer or mobile device. Application stores typically take the form of an online store, where users can browse through different categories and genres of applications and automatically download and install the application on their device. Some application stores may also include a system to automatically remove an installed program from devices under certain conditions, such as to protect the user against a malicious program. A variety of application stores exist, such as the Google Play service provided by Google, Inc. of Mountain View, Calif. and the App Store provided by Apple, Inc. of Cupertino, Calif.


SUMMARY OF THE INVENTION

Systems and methods for providing an application marketplace configured to install applications outside of an application store provided by the entity providing the operating system of a computing device in accordance with embodiments of the invention are illustrated. In one embodiment, a system includes a processor and a memory readable by the processor and storing instructions, wherein the instructions, when read by the processor, direct the processor to obtain device data from a computing device, wherein the device data identifies a computing device and includes metadata describes the characteristics of the computing device, generate application marketplace data based on the obtained device data, wherein the application marketplace data includes metadata describing at least one application installer, provide the application marketplace data to the computing device, obtain selected application data from the computing device, generate application installer data based on the device data and the selected application data by signing application data identified by the selected application data using OEM key data, and provide the application installer data to the computing device.


In another embodiment of the invention, the metadata describing the characteristics of the computing device describes characteristics selected from the group consisting of demographic information related to the user of the computing device, the hardware capabilities of the computing device, operating system software installed on the computing device, and applications installed on the computing device.


In an additional embodiment of the invention, the application marketplace data is utilized by the computing device to generate at least one touchpoint for browsing the application marketplace data.


In yet another additional embodiment of the invention, at least one of the at least one generated touchpoints includes advertising data.


In still another additional embodiment of the invention, the advertising data is provided by a third-party advertising server system.


In yet still another additional embodiment of the invention, the device data further includes a timestamp identifying when the device data was provided and the instructions further direct the processor to optimize the application marketplace data based on the timestamp.


In yet another embodiment of the invention, the instructions further direct the processor to generate analytics data based on the obtained device data, the application marketplace data, the selected application data, and the generated application installer data.


In still another embodiment of the invention, the instructions further direct the processor to provide an interface for displaying the generated analytics data.


In yet still another embodiment of the invention, an application platform application are installed on the computing device prior to a first boot of the system and the application platform application directs the application install platform to install application data using application install data during the first boot of the system.


In yet another additional embodiment of the invention, the application platform application directs the computing device to display the application marketplace data during the first boot of the computing device.


Yet another embodiment of the invention includes a method for installing applications including obtaining device data from a computing device using a system, wherein the device data identifies a computing device and includes metadata describes the characteristics of the computing device and the system includes a processor and a memory connected to the processor, generating application marketplace data based on the obtained device data using the system, wherein the application marketplace data includes metadata describing at least one application installer, providing the application marketplace data to the computing device using the system, obtaining selected application data from the computing device using the system, generating application installer data based on the device data and the selected application data by signing application data identified by the selected application data using OEM key data using the system, and providing the application installer data to the computing device using the system.


In yet another additional embodiment of the invention, the metadata describing the characteristics of the computing device describes characteristics selected from the group consisting of demographic information related to the user of the computing device, the hardware capabilities of the computing device, operating system software installed on the computing device, and applications installed on the computing device.


In still another additional embodiment of the invention, the application marketplace data is utilized by the computing device to generate at least one touchpoint for browsing the application marketplace data.


In yet still another additional embodiment of the invention, at least one of the at least one generated touchpoints includes advertising data.


In yet another embodiment of the invention, the advertising data is provided by a third-party advertising server system.


In still another embodiment of the invention, the device data further includes a timestamp identifying when the device data was provided and the instructions further direct the processor to optimize the application marketplace data based on the timestamp.


In yet still another embodiment of the invention, the instructions further direct the processor to generate analytics data based on the obtained device data, the application marketplace data, the selected application data, and the generated application installer data.


In yet another additional embodiment of the invention, the instructions further direct the processor to provide an interface for displaying the generated analytics data.


In still another additional embodiment of the invention, an application platform application are installed on the computing device prior to a first boot of the system and the application platform application directs the application install platform to install application data using the application install data during the first boot of the system.


In yet still another additional embodiment of the invention, the application platform application directs the computing device to display the application marketplace data during the first boot of the computing device.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A is a network diagram illustrating an application installation platform in accordance with an embodiment of the invention.



FIG. 1B is a conceptual illustration of a computing device in accordance with an embodiment of the invention.



FIG. 1C is a conceptual illustration of a platform management server system in accordance with an embodiment of the invention.



FIG. 2A is a conceptual rendering of an application installation platform executing on a variety of computing devices in accordance with an embodiment of the invention.



FIG. 2B is a flowchart illustrating a process for generating application platform applications in accordance with an embodiment of the invention.



FIG. 3A is a conceptual rendering of a computing device having pre-installed applications in an application platform installer in accordance with an embodiment of the invention.



FIG. 3B is a flowchart illustrating a process for preloading applications on a device using an application install platform in accordance with an embodiment of the invention.



FIGS. 4A-C are conceptual renderings of interfaces for managing applications across a variety of computing devices using an application installation platform in accordance with an embodiment of the invention.



FIG. 5 is a flowchart illustrating a process for presenting application recommendations in accordance with an embodiment of the invention.



FIG. 6 is a flowchart illustrating a process for installing and updating applications provided via an application installation platform in accordance with an embodiment of the invention.



FIGS. 7A-C are conceptual renderings of interfaces for managing application installer data that can be presented using a computing device in accordance with an embodiment of the invention.



FIGS. 8A-B are flowcharts illustrating processes for obtaining and presenting advertising using an application platform application in accordance with an embodiment of the invention.



FIG. 9 is a conceptual rendering of an interface for measuring and viewing performance metrics for one or more applications distributed using an application installation platform in accordance with an embodiment of the invention.





DETAILED DESCRIPTION

Turning now to the drawings, systems and methods for application installation platforms in accordance with embodiments of the invention are illustrated. A major problem facing OEM computing device providers is that the OEM's struggle to monetize and differentiate devices through applications provided on the computing devices. The OEMs do not have access to the same class of solutions that developers do—for example, there are no advertising platforms to help OEMs monetize applications or performance metric measuring platforms to provide OEMs analytics of the applications. Therefore, OEMs are forced to hard bundle applications on devices in order to make up for low margins and stand out in a crowded space. For example, OEMs preload many (up to 40 or more) applications on their computing devices. They do so to differentiate their products and of course, to boost margins, as application developers pay to be preloaded. However, the current method of manually bundling applications is completely broken. It is not ideal for OEMs, it does not work for the application developers, and users hate it. In fact, a recent study of users showed that they completely ignore the company's pre-bundled software offerings, which means it is not working for any of the stakeholders. The preloading application model is broken for several reasons, including an inability to segment different applications for different SKUs in different geographies, languages, and channels. In other words, no ability to try to deliver the right applications by device type, device mode (tablet or PC mode), customer segment (SMB vs. gamer), timing (tax application during tax season), etc. . . . Instead, it is a spray-and-pray approach. Today, OEMs manually manage and deploy a master software image onto all their devices during the manufacturing process, which is why they have to stuff so many applications onto each image. Additionally, there is no way to recommend applications on an ongoing basis. Today, they have one shot to get you to use one of the generic applications they preloaded 6 months ago based on a limited number of application partnerships the OEMs have entered into with application providers. Today, OEMs have a handful of big global application deals with the top 0.1% of application providers because of their inability to segment, as well as the inability to recommend applications over the lifetime of the device. The OEMs cannot work with the 99.9% of developers who would kill to be promoted on new devices to the right users. They cannot promote a hot game the day it comes out or a tax application during tax season. Moreover, OEMs lack analytics tools to know what users like and what they do not. Today, OEMs know when their devices leave the factory and get some reports back from the retail distribution chain but do not have insights into their devices, the applications on their devices, and the customers of their devices to help them make better decisions.


Application install platforms provide an environment for application developers and original equipment manufacturers (OEMs) to differentiate and monetize any computing device by combining several distribution capabilities along with analytics, advertising networks, and device controls. Applications and/or application installers can be provided to computing devices in a variety of manners, including dynamically preloading applications, making smart application recommendations tailored to particular computing devices, and/or providing third party touchpoints within the computing environment provided on a computing device. In many embodiments, application platform applications can be automatically generated for specific computing devices. As described in more detail below, application platform applications can execute within the computing environment created by the operating system of the computing device and/or create the computing environment itself. The application platform applications can be utilized to install a variety of applications; these applications can be tailored by the OEMs to dynamically pre-load the latest applications on a computing device, thereby eliminating the need to have a specific device image for a computing device that is commonly out-of-date by the time a computing device is activated. In addition to providing applications and application installers, application installation platforms can track and analyze a variety of computing devices and provide advertising and recommendations tailored to specific computing devices.


Application Installation Platforms


Application installation platforms in accordance with embodiments of the invention are designed to combat and solve the problems associated with preloading applications on computing devices. The application installation platform provides OEMs a way to improve the user satisfaction as well as the differentiation and monetization of their devices. In a variety of embodiments, application installation platforms include an platform management server system that gives OEMs ability to control, track and manage applications delivered to computing devices in real-time, an ad network system that powers contextually relevant application install recommendations, an analytics console that offers performance metrics and insight into applications and their devices, and white-label touchpoints installed on computing devices to plug application install ads and present those advertisements to users. In a variety of embodiments, a platform management server system can generate application data and/or metadata associated with the application data that can be utilized to customize the display and installation of applications to a specific (class of) computing devices as described in more detail below.


Turning now to FIG. 1A, an application install platform in accordance with an embodiment of the invention is conceptually illustrated. The application installation platform 100 includes computing devices 106, an advertising server 110, a platform management server system 104, and an officially sanctioned marketplace 112. Computing devices 106 include, but are not limited to, personal computers, tablets, mobile phones, and any other computing device capable of installing and executing software applications. Mobile phones include, but are not limited to, devices running iOS provided by Apple, Inc., Android provided by Google, Inc., and Windows Phone OS provided by Microsoft, Inc. of Redmond, Wash. The network 108 is any of a variety of networks that provide connectivity between the different systems within the application installation platform 100, including but not limited to the Internet. In this way, the application installation platform provides cloud-based services that provide OEMs application install capabilities they have never had before in their manually bundled images.


The advertising server 110 can configure, control, and optimize the applications that are promoted in any customer-facing touchpoint in real-time managed through a secure, web-based console. This reduces the costs, complexities, and inefficiencies behind the old preload model. Additionally, applications can be targeted to particular segments and distribution on SKUs by variables such as geography, language, device type, device mode, customer segment, and timing. Advertising server 110 deploys applications from a dynamic cloud-based solution rather than manually bundling applications during manufacturing and promotes applications through engaging white-label interfaces not only at first boot, but also throughout the lifetime of the device. Additionally, the advertising server 110 provides a marketplace of applications from application developers vying to be promoted on a variety of computing devices.


The platform management server system 104 and/or the advertising server system 110 can also generate application platform applications for a variety of computing devices. As described in more detail below, an application platform application can be created based on the capabilities of a particular computing device or class of computing device. In this way, the application platform application can be tailored to the specific hardware and/or software available on the computing device. In many embodiments, the platform management server system and/or advertising server system obtains metadata describing a computing device and generates fingerprint data describing the capabilities of the computing device. In a number of embodiments, the fingerprint data is utilized in the creation of the application platform application.


In a variety of embodiments, the computing devices 106, advertising server 110, platform management server system 104, and/or officially sanctioned marketplace 112 provides a user interface allowing for visualizing and interacting with the data. In several embodiments, the computing devices 106, advertising server 110, OEM application provider 104, and/or officially sanctioned marketplace 112 provides an interface, such as an application programming interface (API) or web service that provides some or all of the data to third-party systems for further processing. Access to the interface can be open and/or secured using any of a variety of techniques, such as by using client authorization keys, as appropriate to the requirements of specific applications of the invention.


Although a specific architecture for an application installation platform 100 in accordance with an embodiment of the invention is conceptually illustrated in FIG. 1A, any of a variety of architectures, including those that store data or applications on disk or some other form of storage and are loaded into memory at runtime, can also be utilized. It should be appreciated that any of the systems described above can be combined and/or divided to perform the described functionality. Additionally, any of the data utilized within the system can be cached and transmitted once a network connection (such as a wireless network connection via a communications interface) becomes available.


A conceptual illustration of a computing device in accordance with an embodiment of the invention is shown in FIG. 1B. The computing device 140 includes a processor 142 in communication with memory 146. The computing device 140 can also include a network interface 144 sends and receives data over a network connection. In a number of embodiments, the network interface 144 is in communication with the processor 142 and/or the memory 146. In several embodiments, the memory 146 is any form of storage capable of storing a variety of data, including, but not limited to, an operating system 150, application platform application 152, application data 154, application installer data 156, and device capability data 158. In many embodiments, operating system 150, application platform application 152, application data 154, application installer data 156, and/or device capability data 158 are stored using an external server system and received by the computing device 140 using the network interface 144. The processor 142 can be directed by the application platform application 152 to perform a variety of processes as described in more detail below. In embodiments where the application platform applications executes within the computing environment created by an operating system installed on the computing device 140, the application platform application 152 can execute as a system level application, a user level application, a system-signed application, or as any other run level as appropriate to the requirements of specific applications of embodiments of the invention. In a number of embodiments, the run level at which the application platform application 152 executes provides a higher level of access to operating system resources than applications installed on the computing device using the application platform application 152.


A conceptual illustration of a platform management server system in accordance with an embodiment of the invention is shown in FIG. 1C. The platform management server system 170 includes a processor 172 in communication with memory 176. The platform management server system 170 can also include a network interface 174 sends and receives data over a network connection. In a number of embodiments, the network interface 174 is in communication with the processor 172 and/or the memory 176. In several embodiments, the memory 176 is any form of storage capable of storing a variety of data, including, but not limited to, a platform management application 180, application platform data 182, and fingerprint data 184. In many embodiments, platform management application 180, application platform data 182, and/or fingerprint data 184 are stored using an external server system and received by the platform management server system 170 using the network interface 174. The processor 172 can be directed by the platform management application 180 to perform a variety of processes as described in more detail below.


Although specific architectures for computing devices and platform management server systems in accordance with embodiments of the invention are conceptually illustrated in FIGS. 1B and 1C, any of a variety of architectures, including those which store data or applications on disk or some other form of storage and are loaded into memory at runtime and systems that are distributed across multiple physical servers, can also be utilized in accordance with embodiments of the invention. In a variety of embodiments, memory includes circuitry such as, but not limited to, memory cells constructed using transistors, that store instructions. Similarly, a processor can include logic gates formed from transistors (or any other device) that dynamically perform actions based on the instructions stored in the memory. In several embodiments, the instructions are embodied in a configuration of logic gates within the processor to implement and/or perform actions described by the instructions. In this way, the systems and methods described herein can be performed utilizing both general-purpose computing hardware and by single-purpose devices.


Generating Application Install Platform Applications


A variety of applications and/or advertisements can be provided to computing devices by an application platform application. The application platform application can execute within the computing environment created by an operating system installed on the computing device and/or provide the computing environment of the computing device as appropriate to the requirements of specific applications of embodiments of the invention. In several embodiments, the application platform application is automatically generated for a computing device (and/or a class of computing devices) based on the hardware and/or software present in the computing device. In a variety of embodiments, the generation of the application platform application is further based on the manufacturer, such as the OEM, providing the computing device.


Each computing device and/or class of computing device can be identified using fingerprint data describing the (class of) computing device. In many embodiments, device capability data can be obtained that describes the hardware and/or software capabilities of a (class of) computing devices. Hardware and software that can be described in the device capability data and/or fingerprint data can include, but is not limited to, the processor, memory, network interface, modem, firmware version, operating system version, amount of random access memory (RAM), amount of storage space, camera manufacturer, camera resolution, camera zoom capability, presence of camera flash, screen size, screen resolution, screen orientation, presence of hardware alert indicators (such as a single-color LED or a multi-color LED), and any other hardware and/or software as appropriate to the requirements of specific applications of embodiments of the invention. The fingerprint data can be utilized to identify the appropriate drivers for the specific (class of) computing device for inclusion in the application platform application along with tailoring the application platform application for the specific capabilities of the computing device. Additionally, the fingerprinting data can be utilized to ensure compatibility in the applications and/or advertisements provided to a particular (class of) computing devices. By automatically generating an application platform application for each (class of) computing device, the application platform application itself can be utilized to track the computing devices. In a variety of embodiments, a new computing device can be compared it to prior fingerprinted devices to see whether a device is the same as prior devices that have included the application install platform application.


Turning now to FIG. 2A, an application platform application executing on a plurality of computing devices 200 in accordance with an embodiment of the invention is conceptually illustrated. The application platform application can includes an online console that allows OEMs to, asynchronously and/or in real-time, customize, optimize, and track the applications that are delivered and installed on any specific computing device, both at the out-of-box experience and then throughout the lifetime of the device as described in more detail below. In many embodiments, the display of the various applications that can be installed within the application platform application is rendered based on metadata associated with the applications that customizes the appearance of the displayed applications based on the characteristics of the computing device. In a variety of embodiments, the metadata also includes tracking data identifying on which computing devices the application is advertised and/or installed.


Turning now to FIG. 2B, a process for generating application platform applications in accordance with an embodiment of the invention is shown. The process 250 can include obtaining (260) platform creation request data. Device capability data is determined (262), device fingerprint data is generated (264), compatibility data is calculated (266), and an application platform application is generated (268). In several embodiments, the application platform application is provided (270). Although specific processes for generating application platform applications in accordance with embodiments of the invention are described above with respect to FIG. 2B, any number of processes can be utilized as appropriate to the requirements of a specific application in accordance with embodiments of the invention.


Pre-Loading Application Data


Application platform applications allow a variety of application data and/or application installer data to be dynamically preloaded onto a computing device. As described in more detail below, the application data and/or application installer data can be optimized for a specific computing device based on the capabilities of the computing device, the location of the device, the language of the device, advertising channel, and any of a variety of other data as appropriate to the requirements of specific applications of embodiments of the invention. By customizing application data and/or application installer data for specific (classes of) computing devices, the amount of testing necessary to verify the compatibility of a particular application can be reduced. In a variety of embodiments, the application data and/or application installer data can be further customized to include specific advertisement data and/or be modified to receive advertisement data from particular advertisement systems. The application data and/or application installer data can be pre-loaded onto a computing device and/or be dynamically transmitted to a computing device. The dynamic transmission of the application data and/or application installer data can be on first boot of the computing device, on initial setup of the computing device, or any other time as appropriate to the requirements of specific applications of embodiments of the invention. Application data includes the specific executable data and other resources necessary to execute an application within the computing environment created by the operating system of the computing device. Application installer data can include the application data along with a variety of other metadata utilized to install the application data on the computing device. The application installer data, when executed by an application installer application, can cause some or all of the associated application data be obtained from a remote server system. In many embodiments, the applications available to a specific computing device (or class of computing device) can be determined by specification data provided by an OEM, user preference data obtained from a specific computing device, capability data and/or fingerprint data describing the hardware and/or software installed on the computing device, or any combination thereof.


Turning now to FIG. 3A, a conceptual illustration of a computing device executing an application platform application and having a variety of pre-loaded application data in accordance with an embodiment of the invention is shown. The computing device 300 includes advertising supported applications 310, free applications 312, applications with built-in microtransactions 314, and built-in applications 316. Free applications include those applications that are not modified when provided via or installed by an application platform application. Built-in applications 316 include those applications that are included with the operating system of the computing device and are not managed using an application platform application. Applications with advertising support 310 and/or microtransactions 314 (or both) can present advertising and/or process transactions utilizing a variety of techniques described in more detail below. In several embodiments, metadata associated with the displayed applications is utilized in the rendering of the display of the applications on the computing device 300 and/or tracking the display and installation of the applications on the computing device.


Turning now to FIG. 3B, a process for pre-loading application data in accordance with an embodiment of the invention is shown. The process 350 includes obtaining (360) device fingerprint data, OEM specification data (362), and, in a number of embodiments, user preference data (364). Application installer data can be generated (366) and transmitted (368). Although specific processes for pre-loading application data in accordance with embodiments of the invention are described above with respect to FIG. 3B, any number of processes, including those that provide application data directly without an installer, can be utilized as appropriate to the requirements of a specific application in accordance with embodiments of the invention.


Managing Installed Application Data


Turning now to FIG. 4A, an application platform application executing on a tablet device 400 is conceptually illustrated. In a variety of embodiments, the OEM can select a specific device type, model number, serial number, or however they wish to segment their computing devices. In many embodiments, the OEM can also determine desired countries and/or languages to target specific applications. The application platform application can be further configured with respect to the applications that appear when a device first powers on, e.g. a dynamic preload of applications as described above. In a number of embodiments, the applications that appear are an available catalog of applications based on the filtering options set by the OEM. These applications can come from a variety of sources, such as the OEM's catalog of deals they have done with developers and/or applications provided through the application installation platform. For example, tax-related applications can be promoted during tax season. Without the application installation platform, OEMs would have to hard-bundle a generic collection of applications 6+ months in advance during the manufacturing process. The application installation platform allows the OEMS to dynamically control their preinstalled content and dramatically reduce the time, cost, while also increasing the flexibility in loading applications on the computing devices. This fundamentally change the way OEMs can deliver content on their devices, but also ends up in a better user experience as more timely and relevant applications can be delivered to the right users.


Additionally, the application installation platform provides OEMs a way to complement or even replace the preload model by dynamically offering applications during first boot as well as over the lifetime of the device. The application installation platform can provide a variety of techniques to present touchpoints to the users to browse and install applications, such as consumer-facing touchpoints and/or a SDK to plug into any consumer-facing touchpoint that can display application install ads, including white-label widgets, and other applications like launchers. OEMs can use our touchpoints, their own touchpoints, or, in the future, even plug into third party touchpoints from developers. A variety of categories of applications can be presented to the user. A large portion of application installs happen on brand new devices. This opens up an opportunity for the OEMs to capitalize on this initial application install burst by recommending the right applications for a new device. Application platform applications can recommend applications over the lifetime of the device. Turning now to FIG. 4B, an application platform application executing on a personal computer 420 is conceptually illustrated. In the illustrated embodiment, the illustrated computing device has a variety of applications previously installed using an application platform application.


The application installation platform can optimize the applications that ultimately appear in the widget. This optimization can be based on those applications that resonate with users, device characteristics (e.g. device form factor, model, specs), user characteristics (e.g. geography, language, time), and/or (anonymous) application install behavior. Based on the optimizations, applications can be targeted and delivery of those applications can be improved. For example, if we know that a computing device has at 10-inch screen, is located in the US, and is being used in landscape mode at 9 pm, the application installation platform can recommend entertainment applications like Netflix as the recorded performance data indicates that applications utilized to consume video content have a high degree of user engagement in those conditions. With more targeted and relevant application install ads, user satisfaction, and thus conversion improves and OEMs make more money utilizing the application installation platform. Turning now to FIG. 4C, an example of an application platform application presenting application recommendations to a user of a computing device that have been optimized based on recorded application performance metrics 440 in accordance with an embodiment of the invention is conceptually illustrated.


Turning now to FIG. 5, a process for presenting applications via an application installation platform in accordance with an embodiment of the invention is illustrated. The process 900 includes loading (910) the application platform application on one or more computing devices. Computing device characteristics are identified (912), user data is determined (914), and/or installed applications are determined (916). As described above, user data can include any demographic information related to the user of a computing device, computing device characteristics include any properties of the hardware and/or software included in the computing device, and installed applications include any applications installed on the computing device, including applications installed via the application installation platform or outside of the application installation platform. Any other data can be utilized as appropriate to the requirements of specific applications of embodiments of the invention. Recommended applications are determined (918) and presented (920) on the computing device. In a variety of embodiments, metadata associated with the recommended applications is utilized to control the rendered display of the applications. This metadata can include, but is not limited to, icon data, image data, video data, audio data, text data describing the application (e.g. title, description, reviews, etc. . . . ), the time and/or date the application is being recommended, version data, and any other data as appropriate to the requirements of specific applications of embodiments of the invention.


Once one or more applications have been identified to install on a computing device, the applications must then be actually installed. In many embodiments, computing devices do not allow for application data to be installed outside of an officially sanctioned marketplace provided by the operating system of the computing device. In several embodiments, applications can be installed outside of the officially sanctioned marketplace only if the user takes several steps to disable security measures in place to prevent such installations; these steps are often cumbersome and outside the abilities of the average computing device user. Application installation platforms in accordance with embodiments of the invention utilize OEM-specific installation keys, often times provided by the entity providing the operating system of the computing device, that allow applications to be installed outside of the sanctioned marketplace. This allows users to seamlessly install applications using the application platform application. In a variety of embodiments, the installed applications can be automatically maintained and updated using the officially sanctioned marketplace. In many embodiments, metadata including tracking data associated with each application is used to track the installation and/or update of the applications.


Turning now to FIG. 6, a process for installing and updating an application using an application installation platform in accordance with an embodiment of the invention is illustrated. The process 1000 includes obtaining (1010) an application request and obtaining (1012) the requested application from an application server. The application server can be hosted by the OEM and/or a third party. The requested application is signed (1014) using the OEM's key and the signed application is transmitted (1016) to a computing device. The application is installed (1018) on the computing device and, in a number of embodiments, the application is updated (1020). As described above, this update can be performed using the application installation platform and/or a using a third-party service, such as an officially sanctioned marketplace.


Although specific processes for recommending and installing application data on a computing device in accordance with embodiments of the invention are described above with respect to FIGS. 5 and 6, any number of processes, including those that provide application data directly without an installer, can be utilized as appropriate to the requirements of a specific application in accordance with embodiments of the invention.


Managing Pre-Loaded Application Data


In a variety of embodiments, application installations can be managed and coordinated across a variety of computing devices. In this way, the application installation platform can identify the appropriate version of an application for each computing device so that the user experience is optimized based on the properties of each particular computing device. Turning now to FIG. 7A, an application installed on a personal computer being additionally installed on a tablet device 700 in accordance with an embodiment of the invention is conceptually illustrated. Additionally, applications that a user has expressed an interest in can be automatically distributed to all of a particular user's computing devices, providing the user with a unified experience across devices. Turning to FIG. 7B, the management of applications installed on a mobile phone being controlled by a listing of applications installed on a personal computer 720 in accordance with an embodiment of the invention is conceptually illustrated. In this way, application platform applications promote applications through multiple customer-facing touchpoints, including white-label applications and widgets that integrate into the out-of-box experience as well throughout the lifetime of a device.


As described above, application data can be installed on a computing device, including during the first boot of the device. In accordance with embodiments of the invention, pre-loaded application data is often installed on the first boot (or first initialization) of the computing device to ensure that the latest application data is installed. In this way, the usefulness of the application data to both the user of the computing device and the OEM providing the computing device can be improved. Turning now to FIG. 7C, a process for initializing a device and determining application data to be installed during the first boot of a computing device is shown. The process 750 includes starting (760) the computing device initialization process. Stock processes can be initialized (762) and pre-load application data can be selected (764). In many embodiments, additional application recommendation data is displayed (766) and the selected applications can be installed (768). In a variety of embodiments, metadata associated with the application data can be utilized to control how the pre-load application data is displayed as described above.


Although specific processes for installing pre-load application data on a computing device in accordance with embodiments of the invention are shown and described above with respect to FIGS. 7A-C, any number of processes, including those that provide application data directly without an installer, can be utilized as appropriate to the requirements of a specific application in accordance with embodiments of the invention.


Advertising


As described above, a variety of advertising data can be provided within an application platform application and/or within the applications installed via an application platform application. In many embodiments, advertising servers and/or platform management server systems within an application installation platform provide advertising data and/or transaction processing capabilities. In this way, applications distributed via the application installation platform can be readily monetized, thereby incentivizing application developers to publish their applications via the application installation platform, OEMs to provide the application platform application on their computing devices, and advertisers to provide campaign data. In several embodiments, campaign data includes one or more advertising creatives that can be displayed within an application. The campaign data can also be utilized to generate specific application recommendation data recommending particular applications to be displayed using an application platform application as described in more detail above. Similarly, the application data for applications providing microtransactions can be written and/or modified to use the transaction services provided within the application install platform. In this way, the revenue generated within the application installation platform can be captured and distributed according to the appropriate revenue sharing agreements.


The advertising data provided to a particular (class of) computing device can be customized based on fingerprint data and/or capability data describing the computing device, user preference data, location data, time data, and/or any of a variety of data as described in more detail above as appropriate to the requirements of specific applications of embodiments of the invention. Once the advertising data (i.e. application recommendations) has been presented and one or more applications have be selected for installation, the application data and/or application installer data for the selected application can be prepared and provided to a computing device as described above. The engagement with the displayed advertising and/or the microtransaction opportunities within the applications themselves can be measured and utilized to determine the revenue generated for a particular recommendation and/or application. Additionally, the engagement data can be utilized to determine the particular revenue share depending on the specifics of the engagement described in the engagement, such as location, time, duration, computing device, and any other data as appropriate to the requirements of specific applications of embodiments of the invention.


Turning now to FIG. 8A, a process for developing advertising inventory in accordance with an embodiment of the invention is shown. The process 800 includes obtaining (810) campaign data, generating (312) recommendation data, and providing (814) recommendation data. Selected recommendation data can be obtained (816) and the requested data can be provided (818). Turning now to FIG. 8B, a process for obtaining engagement and revenue sharing in accordance with an embodiment of the invention is shown. The process 850 includes obtaining (360) engagement data, calculating (862) revenue data, and calculating (864) revenue sharing data.


Although specific processes for providing advertising data and revenue sharing in accordance with embodiments of the invention are shown and described above with respect to FIGS. 8A and 8B, any number of processes, including those that coordinate with third-party systems to obtain advertising data and/or process transactions, can be utilized as appropriate to the requirements of a specific application in accordance with embodiments of the invention.


Device Analytics


With the right data, insight and intelligence, application installation platforms can optimize the delivery of applications to the right users on the right devices by measuring application and computing device performance metrics down to the specific device SKU. As described above, application installation platforms track and provide access to a variety of metrics associated with the presentation, installation, and/or usage of applications. In a number of embodiments, the application installation platform provides a reporting console that displays real-time analytics to help measure and report on application install ad performance, application usage, and computing device insights. Turning now to FIG. 9, an analytics interface 950 displaying a variety of usage metrics recorded during the presentation, installation, and usage of applications within the application installation platform in accordance with an embodiment of the invention is conceptually illustrated. The analytics interface can provide a feedback loop so that OEMs can learn and make informed decisions about their business and customers. In several embodiments, application analytics provide data regarding what applications resonate most with the users of the computing devices, what content (i.e. application data) to preload and recommend on which computing devices, and how computing device characteristics influences application engagement. In many embodiments, device analytics track end-to-end channel metrics to provide data regarding when and where computing devices are activated along with measuring performance of marketing programs, retailer performance, and any other metrics. In many embodiments, the analytics data is based on metadata and/or tracking data associated with the installed applications across one or more computing devices.


Although the present invention has been described in certain specific aspects, many additional modifications and variations would be apparent to those skilled in the art. In particular, any of the various processes described above can be performed in alternative sequences and/or in parallel (on the same or on different computing devices) in order to achieve similar results in a manner that is more appropriate to the requirements of a specific application. It is therefore to be understood that the present invention can be practiced otherwise than specifically described without departing from the scope and spirit of the present invention. Thus, embodiments of the present invention should be considered in all respects as illustrative and not restrictive. It will be evident to the person skilled in the art to freely combine several or all of the embodiments discussed here as deemed suitable for a specific application of the invention. Throughout this disclosure, terms like “advantageous”, “exemplary” or “preferred” indicate elements or dimensions which are particularly suitable (but not essential) to the invention or an embodiment thereof, and may be modified wherever deemed suitable by the skilled person, except where expressly required. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents.

Claims
  • 1. A system, comprising: a processor; anda memory readable by the processor and storing instructions;wherein the instructions, when read by the processor, direct the processor to: obtain device data from a computing device, wherein the device data identifies a computing device and comprises metadata describes the characteristics of the computing device;calculate fingerprint data based on the obtained device data, where the fingerprint data identifies the computing device;generate application marketplace data based on the obtained device data and the fingerprint data, wherein the application marketplace data comprises metadata describing at least one application installer;provide the application marketplace data to the computing device;obtain selected application data from the computing device;generate application installer data based on the device data and the selected application data by signing application data identified by the selected application data using OEM key data; andprovide the application installer data to the computing device.
  • 2. The system of claim 1, wherein the metadata describing the characteristics of the computing device describes characteristics selected from the group consisting of demographic information related to the user of the computing device, the hardware capabilities of the computing device, operating system software installed on the computing device, and applications installed on the computing device.
  • 3. The system of claim 1, wherein the application marketplace data is utilized by the computing device to generate at least one touchpoint for browsing the application marketplace data.
  • 4. The system of claim 3, wherein at least one of the at least one generated touchpoints comprises advertising data.
  • 5. The system of claim 4, wherein the advertising data is provided by a third-party advertising server system.
  • 6. The system of claim 1, wherein: the device data further comprises a timestamp identifying when the device data was provided; andthe instructions further direct the processor to optimize the application marketplace data based on the timestamp.
  • 7. The system of claim 1, wherein the instructions further direct the processor to generate analytics data based on the obtained device data, the application marketplace data, the selected application data, and the generated application installer data.
  • 8. The system of claim 7, wherein the instructions further direct the processor to provide an interface for displaying the generated analytics data.
  • 9. The system of claim 1, wherein: an application platform application are installed on the computing device prior to a first boot of the system; andthe application platform application directs the application install platform to install application data using application install data during the first boot of the system.
  • 10. The system of claim 9, wherein the application platform application directs the computing device to display the application marketplace data during the first boot of the computing device.
  • 11. A method for installing applications, comprising: obtaining device data from a computing device using a system, wherein: the device data identifies a computing device and comprises metadata describes the characteristics of the computing device; andthe system comprises a processor and a memory connected to the processor;calculating fingerprint data based on the obtained device data using the system, where the fingerprint data identifies the computing device;generating application marketplace data based on the obtained device data and the fingerprint data using the system, wherein the application marketplace data comprises metadata describing at least one application installer;providing the application marketplace data to the computing device using the system;obtaining selected application data from the computing device using the system;generating application installer data based on the device data and the selected application data by signing application data identified by the selected application data using OEM key data using the system; andproviding the application installer data to the computing device using the system.
  • 12. The method of claim 11, wherein the metadata describing the characteristics of the computing device describes characteristics selected from the group consisting of demographic information related to the user of the computing device, the hardware capabilities of the computing device, operating system software installed on the computing device, and applications installed on the computing device.
  • 13. The method of claim 11, wherein the application marketplace data is utilized by the computing device to generate at least one touchpoint for browsing the application marketplace data.
  • 14. The method of claim 13, wherein at least one of the at least one generated touchpoints comprises advertising data.
  • 15. The method of claim 14, wherein the advertising data is provided by a third-party advertising server system.
  • 16. The method of claim 11, wherein: the device data further comprises a timestamp identifying when the device data was provided; andthe instructions further direct the processor to optimize the application marketplace data based on the timestamp.
  • 17. The method of claim 11, wherein the instructions further direct the processor to generate analytics data based on the obtained device data, the application marketplace data, the selected application data, and the generated application installer data.
  • 18. The method of claim 17, wherein the instructions further direct the processor to provide an interface for displaying the generated analytics data.
  • 19. The method of claim 11, wherein: an application platform application are installed on the computing device prior to a first boot of the system; andthe application platform application directs the application install platform to install application data using the application install data during the first boot of the system.
  • 20. The method of claim 19, wherein the application platform application directs the computing device to display the application marketplace data during the first boot of the computing device.
CROSS-REFERENCE TO RELATED APPLICATIONS

The instant application is a continuation in part of U.S. patent application Ser. No. 14/714,095, filed May 15, 2015, which application claims priority to U.S. Provisional Patent Application No. 61/994,033, filed May 15, 2014, the disclosures of which are hereby incorporated by reference in their entirety.

US Referenced Citations (271)
Number Name Date Kind
5021949 Morten et al. Jun 1991 A
5548704 Steiner et al. Aug 1996 A
5848396 Gerace Dec 1998 A
5916310 Mccain Jun 1999 A
5987471 Bodine et al. Nov 1999 A
6018343 Wang et al. Jan 2000 A
6023698 Lavey et al. Feb 2000 A
6094671 Chase et al. Jul 2000 A
6098108 Sridhar et al. Aug 2000 A
6115039 Karren et al. Sep 2000 A
6182141 Blum et al. Jan 2001 B1
6216141 Straub et al. Apr 2001 B1
6233609 Mittal May 2001 B1
6282567 Finch, II et al. Aug 2001 B1
6327628 Anuff et al. Dec 2001 B1
6363409 Hart et al. Mar 2002 B1
6456307 Bates et al. Sep 2002 B1
6697838 Jakobson Feb 2004 B1
6718516 Claussen et al. Apr 2004 B1
6810410 Durham Oct 2004 B1
6909992 Ashley Jun 2005 B2
6959320 Shah et al. Oct 2005 B2
6981212 Claussen Dec 2005 B1
6992589 Marsh Jan 2006 B2
7051288 Bennett et al. May 2006 B2
7207000 Shen et al. Apr 2007 B1
7272786 McCullough Sep 2007 B1
7401325 Backhouse et al. Jul 2008 B2
7614018 Ohazama et al. Nov 2009 B1
7636683 Mills et al. Dec 2009 B1
7681134 Grechishkin et al. Mar 2010 B1
7734583 Vitanov et al. Jun 2010 B2
7925988 Abernethy, Jr. et al. Apr 2011 B2
7950026 Urbach May 2011 B1
7996785 Neil Aug 2011 B2
8046672 Hegde et al. Oct 2011 B2
8176321 Perry et al. May 2012 B1
8181254 Kay et al. May 2012 B1
8209598 Pandey Jun 2012 B1
8260845 Colton et al. Sep 2012 B1
8296643 Vasilik Oct 2012 B1
8296684 Duarte et al. Oct 2012 B2
8335817 Dayan Dec 2012 B1
8346222 Zubas et al. Jan 2013 B2
8429546 Hilerio et al. Apr 2013 B2
8434135 Hilerio et al. Apr 2013 B2
8453065 Chaudhrl et al. May 2013 B2
8458612 Chatterjee et al. Jun 2013 B2
8555155 Harrison et al. Oct 2013 B2
8566697 Meredith et al. Oct 2013 B2
8613070 Borzycki Dec 2013 B1
8634821 Raleigh Jan 2014 B2
8756488 Meredith et al. Jun 2014 B2
8775275 Pope Jul 2014 B1
8775917 Bourke et al. Jul 2014 B2
8775925 Bourke et al. Jul 2014 B2
8782033 Jiang et al. Jul 2014 B2
8788955 Quine Jul 2014 B2
8799771 Bourke et al. Aug 2014 B2
8806333 Bourke et al. Aug 2014 B2
8900054 Patel Dec 2014 B2
8954989 Paul et al. Feb 2015 B1
9021469 Posey et al. Apr 2015 B2
9069735 Bourke et al. Jun 2015 B2
9081757 Bourke et al. Jul 2015 B2
9083566 Pearson et al. Jul 2015 B1
9141266 McCormick et al. Sep 2015 B2
9235803 Claux et al. Jan 2016 B2
9268466 Momchilov et al. Feb 2016 B2
9547725 Chu et al. Jan 2017 B2
9628574 Bourke et al. Mar 2017 B2
9749440 Bourke Aug 2017 B2
9792265 Bourke et al. Oct 2017 B2
20010047394 Kloba et al. Nov 2001 A1
20020109704 Rajarajan et al. Aug 2002 A1
20020129064 Guthrie Sep 2002 A1
20040019683 Lee et al. Jan 2004 A1
20040081310 Lueckhoff Apr 2004 A1
20040177327 Kieffer Sep 2004 A1
20040205531 Innes Oct 2004 A1
20040220926 Lamkin et al. Nov 2004 A1
20040221170 Colvin et al. Nov 2004 A1
20040268146 Oberst et al. Dec 2004 A1
20040268225 Walsh et al. Dec 2004 A1
20050005234 Chen Jan 2005 A1
20050021977 Oberst et al. Jan 2005 A1
20050027704 Hammond et al. Feb 2005 A1
20050097522 Backhouse et al. May 2005 A1
20050102374 Moragne et al. May 2005 A1
20050108678 Goodwin et al. May 2005 A1
20050210412 Matthews Sep 2005 A1
20050223086 Raverdy et al. Oct 2005 A1
20050273759 Lucassen et al. Dec 2005 A1
20060005187 Neil Jan 2006 A1
20060026438 Stern Feb 2006 A1
20060031785 Raciborsk Feb 2006 A1
20060059422 Wu et al. Mar 2006 A1
20060136964 Diez et al. Jun 2006 A1
20060161631 Lira Jul 2006 A1
20060224989 Pettiross et al. Oct 2006 A1
20060265280 Nakada et al. Nov 2006 A1
20070050777 Hutchinson et al. Mar 2007 A1
20070061700 Kothari et al. Mar 2007 A1
20070083356 Brunet et al. Apr 2007 A1
20070244919 Wells et al. Oct 2007 A1
20070245238 Fugitt et al. Oct 2007 A1
20070255576 Patterson Nov 2007 A1
20070255814 Green et al. Nov 2007 A1
20070277109 Chen et al. Nov 2007 A1
20070300068 Rudelic Dec 2007 A1
20080021696 Bartelt et al. Jan 2008 A1
20080040226 Roker Feb 2008 A1
20080082565 Chang et al. Apr 2008 A1
20080108333 Jemison et al. May 2008 A1
20080120129 Seubert et al. May 2008 A1
20080140529 Agarwal et al. Jun 2008 A1
20080154718 Flake et al. Jun 2008 A1
20080172487 Brunet et al. Jul 2008 A1
20080172736 Barr et al. Jul 2008 A1
20080208589 Cross et al. Aug 2008 A1
20080256636 Gassoway Oct 2008 A1
20090019371 Audet Jan 2009 A1
20090019436 Hartz et al. Jan 2009 A1
20090025063 Thomas et al. Jan 2009 A1
20090037452 Baitalmal et al. Feb 2009 A1
20090037492 Baitalmal et al. Feb 2009 A1
20090070228 Ronen Mar 2009 A1
20090077174 Janssen et al. Mar 2009 A1
20090125833 Abernethy, Jr. et al. May 2009 A1
20090132556 Gupta et al. May 2009 A1
20090171974 Arthursson et al. Jul 2009 A1
20090171993 Arthursson Jul 2009 A1
20090187928 Mark Jul 2009 A1
20090216775 Ratliff et al. Aug 2009 A1
20090217179 Mons et al. Aug 2009 A1
20090249188 Dube et al. Oct 2009 A1
20090249238 Chudy et al. Oct 2009 A1
20090271394 Allen et al. Oct 2009 A1
20090280907 Larsen Nov 2009 A1
20090282333 Olsen et al. Nov 2009 A1
20100017701 Bargeron Jan 2010 A1
20100023582 Pedersen et al. Jan 2010 A1
20100023855 Hedbor et al. Jan 2010 A1
20100023884 Brichford et al. Jan 2010 A1
20100054128 O'Hern Mar 2010 A1
20100057884 Brownell et al. Mar 2010 A1
20100094878 Soroca et al. Apr 2010 A1
20100114887 Conway et al. May 2010 A1
20100146529 Heath et al. Jun 2010 A1
20100205523 Lehota et al. Aug 2010 A1
20100211906 Kanai Aug 2010 A1
20100228594 Chweh et al. Sep 2010 A1
20100233996 Herz et al. Sep 2010 A1
20100306762 Lindberg et al. Dec 2010 A1
20100318608 Huang et al. Dec 2010 A1
20110016169 Cahill et al. Jan 2011 A1
20110041003 Pattar et al. Feb 2011 A1
20110055005 Lang Mar 2011 A1
20110093900 Patel et al. Apr 2011 A1
20110099558 Patrick et al. Apr 2011 A1
20110099627 Proudler Apr 2011 A1
20110119571 Decker et al. May 2011 A1
20110138295 Momchilov et al. Jun 2011 A1
20110138314 Mir et al. Jun 2011 A1
20110153806 Bagasra Jun 2011 A1
20110173098 Lee Jul 2011 A1
20110185354 Tanner et al. Jul 2011 A1
20110209047 Olsen et al. Aug 2011 A1
20110225178 Ingrassia Sep 2011 A1
20110231280 Farah Sep 2011 A1
20110238501 Almeida Sep 2011 A1
20110282700 Cockcroft Nov 2011 A1
20110289422 Spivack et al. Nov 2011 A1
20110302510 Harrison et al. Dec 2011 A1
20110302524 Forstall Dec 2011 A1
20110307738 Hilerio et al. Dec 2011 A1
20110307880 Hilerio et al. Dec 2011 A1
20110307883 Hilerio et al. Dec 2011 A1
20110307946 Hilerio et al. Dec 2011 A1
20110314389 Meredith et al. Dec 2011 A1
20120005346 Burckart Jan 2012 A1
20120010995 Skirpa et al. Jan 2012 A1
20120021774 Mehta et al. Jan 2012 A1
20120030617 Louch Feb 2012 A1
20120047442 Nicolaou et al. Feb 2012 A1
20120054841 Schultz et al. Mar 2012 A1
20120066583 Priestley et al. Mar 2012 A1
20120066634 Kim et al. Mar 2012 A1
20120079126 Evans et al. Mar 2012 A1
20120084292 Liang et al. Apr 2012 A1
20120084713 Desai et al. Apr 2012 A1
20120096396 Ording et al. Apr 2012 A1
20120131683 Nassar et al. May 2012 A1
20120150963 Horowitz et al. Jun 2012 A1
20120151368 Tam Jun 2012 A1
20120166956 Hilerio et al. Jun 2012 A1
20120166959 Hilerio et al. Jun 2012 A1
20120173312 Kern Jul 2012 A1
20120174075 Carteri et al. Jul 2012 A1
20120179671 Turner Jul 2012 A1
20120233243 Ashkenazy et al. Sep 2012 A1
20120235912 Laubach Sep 2012 A1
20120246291 Wong et al. Sep 2012 A1
20120266186 Parzygnat Oct 2012 A1
20120278127 Kirakosyan et al. Nov 2012 A1
20120290919 Melnyk et al. Nov 2012 A1
20120290950 Rapaport et al. Nov 2012 A1
20120291022 Mehta et al. Nov 2012 A1
20120296959 Momchilov et al. Nov 2012 A1
20120297291 Fainberg et al. Nov 2012 A1
20120297377 Chen et al. Nov 2012 A1
20120303801 Raschke et al. Nov 2012 A1
20120311419 Kwak et al. Dec 2012 A1
20120323995 Bourke et al. Dec 2012 A1
20120324338 Meredith et al. Dec 2012 A1
20130024696 Rudelic Jan 2013 A1
20130024763 Nemati et al. Jan 2013 A1
20130024851 Firman et al. Jan 2013 A1
20130073401 Cook Mar 2013 A1
20130081081 Wang Mar 2013 A1
20130111341 Bier May 2013 A1
20130111559 Lomille et al. May 2013 A1
20130124211 McDonough May 2013 A1
20130124557 Goode et al. May 2013 A1
20130139146 Bickle et al. May 2013 A1
20130145348 Agovic et al. Jun 2013 A1
20130160111 Orr et al. Jun 2013 A1
20130173319 Thomas et al. Jul 2013 A1
20130191242 Daniel Jul 2013 A1
20130191445 Gayman et al. Jul 2013 A1
20130197972 Taguchi et al. Aug 2013 A1
20130204975 Keith, Jr. Aug 2013 A1
20130227646 Haggerty Aug 2013 A1
20130238999 Helms et al. Sep 2013 A1
20130246906 Haman Sep 2013 A1
20130247030 Kay et al. Sep 2013 A1
20130262168 Makanawala et al. Oct 2013 A1
20130268837 Braithwaite Oct 2013 A1
20130282798 McCarthy et al. Oct 2013 A1
20130290879 Greisson Oct 2013 A1
20130304581 Soroca et al. Nov 2013 A1
20130304608 Mehta et al. Nov 2013 A1
20140019958 Sherman Jan 2014 A1
20140053107 Patel Feb 2014 A1
20140068419 Bourke et al. Mar 2014 A1
20140068420 Bourke et al. Mar 2014 A1
20140068421 Bourke et al. Mar 2014 A1
20140095886 Futral Apr 2014 A1
20140114901 Pradhan Apr 2014 A1
20140172915 Herbach et al. Jun 2014 A1
20140189546 Hilerio et al. Jul 2014 A1
20140229520 Scott et al. Aug 2014 A1
20140236756 Bourke et al. Aug 2014 A1
20140250105 Shankar Sep 2014 A1
20140258845 Machado et al. Sep 2014 A1
20140297516 Brown et al. Oct 2014 A1
20140325344 Bourke et al. Oct 2014 A1
20140358657 Smullen et al. Dec 2014 A1
20140365602 Hillary Dec 2014 A1
20140365962 Lee Dec 2014 A1
20150020126 Kegel et al. Jan 2015 A1
20150051972 Chweh et al. Feb 2015 A1
20150106801 Agrawal Apr 2015 A1
20150163549 Suh Jun 2015 A1
20150172374 Chaudhry Jun 2015 A1
20150186999 Wei Jul 2015 A1
20150188980 Bourke Jul 2015 A1
20150331685 Bourke et al. Nov 2015 A1
20150332287 Arroyo et al. Nov 2015 A1
20160110066 McCormick et al. Apr 2016 A1
20170310784 Bourke Oct 2017 A1
Foreign Referenced Citations (13)
Number Date Country
1322325 Nov 2001 CN
3090357 Nov 2016 EP
2004185083 Jul 2004 JP
9952056 Oct 1999 WO
2006120280 Nov 2006 WO
2011160139 Dec 2011 WO
2012154501 Nov 2012 WO
2012177664 Dec 2012 WO
2013074713 May 2013 WO
2014025544 Feb 2014 WO
2014035580 Mar 2014 WO
2014130875 Aug 2014 WO
2015103233 Jul 2015 WO
Non-Patent Literature Citations (35)
Entry
International Search Report and Written Opinion for International Application No. PCT/US2009/036069, Search Completed Jun. 23, 2009, dated Jul. 7, 2009, 8 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2012/065136, Search Completed Jan. 29, 2013, dated Feb. 8, 2013, 8 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2013/052562, Search Completed Jan. 30, 2014, dated Feb. 7, 2014, 5 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2013/052861, Search Completed Jan. 29, 2014, dated Feb. 21, 2014, 8 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2013/057087, Search Completed Feb. 27, 2014, dated Mar. 19, 2014, 11 pgs.
International Search Report and Written Opinion for International Application PCT/US2011/041129, Search Completed Sep. 22, 2011, dated Mar. 9, 2011, 15 pgs.
International Search Report and Written Opinion for International Application PCT/US2014/072707, Search Completed Apr. 9, 2015, dated Apr. 24, 2015, 5 pgs.
Extended European Search Report for European Application EP09718357.8, report completed Oct. 2, 2014, dated Oct. 10, 2014, 5 Pgs.
“How to Use the Remote Shutdown Tool to Shut Down and Restart a computer in Windows 2000”, Retrieved from http://support.microsoft.com/kb/317371, Jul. 5, 2006, 2 pages.
Heino et al., “Developing Semantic Web Applications with the OntoWiki Framework”, Springer, 2009, pp. 61-77.
Laufer, “A Hike through Post-EJB J2EE Web Application Architecture”, IEEE, Computing in Science & Engineering, 2005, pp. 80-88.
Lee et al., “Integrating Service Composition Flow with User Interactions”, 2008 IEEE International Symposium on Service-Oriented System Engineering, 2008, pp. 103-108.
Mikkonen et al., “Towards a Uniform Web Application Platform for Desktop Computers and Mobile Devices”, Sun Microsystems, Inc., Oct. 2008, pp. 1-29.
OREN, “SemperWiki: A Semantic Personal Wiki”, Proceedings of the 2005 International Conference on Semantic Desktop Workshop: Next Generation Information Management D Collaboration Infrastructure, vol. 175, Nov. 6, 2005, pp. 107-122.
STEARN, “XULRunner: A New Approach for Developing Rich Internet Applications”, IEEE Computer Society, May/Jun. 2007, pp. 67-73.
Sugawara et al., “A Novel Intuitive GUI Method for User-friendly Operation”, Knowledge-Based Systems, vol. 22, 2009, pp. 235-246.
Extended European Search Report for European Application No. 13847844.1 , Search completed Nov. 15, 2016, dated Nov. 24, 2016, 8 pgs.
Extended European Search Report for European Application No. 14754141.1, Search completed Aug. 9, 2016, dated Aug. 18, 2016, 8 Pgs.
Extended European Search Report for European Application No. 14876001.0, Search completed Apr. 21, 201, dated May 5, 2017, 11 Pgs.
International Preliminary Report on Patentability for International Application PCT/US14/17806, Report Issued Aug. 25, 2015, dated Sep. 3, 2015, 4 Pgs.
International Preliminary Report on Patentability for International Application PCT/US2013/052042, Report Issued Feb. 10, 2015, dated Feb. 19, 2015, 10 Pgs.
International Preliminary Report on Patentability for International Application PCT/US2013/052562, Report Issued Mar. 3, 2015, dated Mar. 12, 2015, 4 Pgs.
International Preliminary Report on Patentability for International Application PCT/US2013/052861, Report Issued Apr. 21, 2015 , dated Apr. 30, 2015, 7 Pgs.
International Preliminary Report on Patentability for International Application PCT/US2013/057087, Report Issued Mar. 3, 2015, dated Mar. 12, 2015, 10 Pages.
International Preliminary Report on Patentability for International Application PCT/US2014/072707, Report issued Jul. 5, 2016, dated Jul. 14, 2016, 4 Pgs.
International Search Report and Written Opinion for International Application No. PCT/US13/52042, International Filing Date Jul. 25, 2013, Search Completed Dec. 13, 2013, dated Dec. 23, 2013, 12 pgs.
International Search Report and Written Opinion for International Application PCT/US2012/43189, International Filing Date Jun. 19, 2012, Report Completed Aug. 12, 2012, dated Sep. 4, 2012, 6 pgs.
International Search Report and Written Opinion for International Application PCT/US2014/072707, Report Completed Apr. 9, 2015, dated Apr. 24, 2015, 5 pgs.
Written Opinion of the International Searching Authority for International Application No. PCT/US2009/36069, date completed Jun. 27, 2009, dated Jul. 7, 2009, 5 pgs.
Written Opinion Report for International Application PCT/US2011/041129, Report completed Sep. 22, 2011; 12 pgs.
International Search Report and Written Opinion for International Application PCT/US14/17806, report completed May 28, 2014, dated Jun. 17, 2014, 5 Pgs., dated Jun. 17, 2014.
Davidyuk et al., “Context-Aware Middleware for Mobile Multimedia Applications”, ACM, Jan. 1, 2004, pp. 213-220.
DLNA, “Overview and Vision White Paper”, Jun. 1, 2004, 16 pgs.
POKKI, Download Free Desktop Apps and games. available at http://web.archive.org/web/20150105201753/https://www.pokki.com/, 3 pgs., Jan. 15, 2013.
Sen et al., “Feed Me: A Collaboration Alert Filtering System”, ACM 2006, Nov. 8, 2006, 11 pgs.
Related Publications (1)
Number Date Country
20170147318 A1 May 2017 US
Provisional Applications (1)
Number Date Country
61994033 May 2014 US
Continuation in Parts (1)
Number Date Country
Parent 14714095 May 2015 US
Child 15426986 US