US9395970B2 - Method and apparatus for providing a time period for starting an application - Google Patents

Method and apparatus for providing a time period for starting an application Download PDF

Info

Publication number
US9395970B2
US9395970B2 US14501831 US201414501831A US9395970B2 US 9395970 B2 US9395970 B2 US 9395970B2 US 14501831 US14501831 US 14501831 US 201414501831 A US201414501831 A US 201414501831A US 9395970 B2 US9395970 B2 US 9395970B2
Authority
US
Grant status
Grant
Patent type
Prior art keywords
application
time
user
computer
playgo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US14501831
Other versions
US20160092187A1 (en )
Inventor
Edward Adam Lerner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment America LLC
Original Assignee
Sony Interactive Entertainment America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATIONS NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATIONS NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Abstract

Disclosed are methods and systems for determining the time for a remote computer to begin executing an application downloaded over a network. A portion of the application to begin execution of the application is determined. The portion is less than the entirety of the application. The time to start the application on a remote computer is calculated and displayed. The time to start can be calculated based on an obtained a speed of the network to the remote computer, a time to transmit the portion of the application to the remote computer based on the portion of the application and the obtained connection speed, and a loading time for the portion of the application to load on the remote computer.

Description

BACKGROUND

1. Field of the Invention

This disclosure relates generally to data processing, and more specifically to methods and systems for acquiring new software applications.

2. Description of the Related Art

Software traditionally was distributed on disk. Acquiring additional software required either a trip to the store or waiting for a package with a disk to be delivered. Then the disk would be inserted into the computer and after a few clicks an installation process would begin. Depending on the number of disks and other factors, the installation process could be long and annoying.

With the rise of the Internet, software increasingly is distributed electronically, over the Internet. In particular mobile devices have made installing software very convenient, with mobile manufacturers mandating relatively small installation packages so that consumers could quickly go from ordering software in the application store to running the software.

However there are applications that require more storage. Download times for games and other content rich media software can be far larger than say a weather application. For instance a large game can require 10-50 Gigabytes of file installs. On a low grade Internet connection this can require a download lasting hours or even days. Thus, the delay between ordering a large application and the time to start using the application becomes increasingly long and annoying to the user.

To minimize this annoyance the downloading and installation of applications has been moved to the background, so that use of the device can continue while a new, large application is being delivered and installed.

Hiding the installation does not solve one concern of the customer, which is, “when will I be able to play this game, or use this application?” If a consumer wants to play a game in twenty minutes and the acquisition process takes five hours, they will be unhappy if they sit around and start waiting.

As games and other large applications have grown larger than our Internet connections have increased in speed, the problem of delays before start of play has also increased. Today many expensive games or applications can take hours from the time they are purchased to the time that a user can start to play the desired game or use the application.

One solution is for large application makers to modify their applications so that only a part, the first part, must be downloaded and installed before the end user can start to use that application. This solution leads to interesting situation. Two applications, both of the same size, say fifty gigabytes, can have very different times to start use, if one application is modified to be split into functional parts, and the other is not. If the modified application first functional part is only one gigabyte then it may take only one-fiftieth as long to start using that one versus the un-modified application.

For the end user eager to begin using an application this time savings is important, and may influence their purchasing decision, somewhat analogous to how movie watchers may choose certain movies based on when they are starting that evening or how long the movie will run. That is, a consumer's desire may be based on how long before the consumer must wait to have that desire fulfilled.

As happy end-users are important to any business, we wish to show end-users how long they will have to wait to use an application if they determine to acquire that application.

SUMMARY OF THE DISCLOSURE

The disclosure describes an apparatus and methods for providing an estimate of the time it would take to start using an application if that consumer ordered that application now, thus kicking off the download and install process, and is a time period less than an estimate of time to download the entire application. The phrase used in this application for this time estimate is “Playgo,” “Playgo time,” or “Playgo rating.” That is, the Playgo time is for an application that does not need to completely download to start running and is the amount of time from the start of downloading the application until that application can start running. This PlayGo rating could be displayed along with the price and other information about the game to enable the consumer to make an appropriate buying decision.

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

The PlayGo time could be represented in hours:minutes, or minutes:seconds, for instance 1:33, or visually as a clock, bar, etc. This time could be displayed near the purchase or download button. If a download-install process is in progress the representation of the Playgo time could be updated to reflect progress made so far or could show an estimate left till the application can begin to run.

The PlayGo time estimate could be based on several factors as discussed herein below.

One factor is the size of initial download required to start using the application. This size could be calculated in a variety of methods, for instance counting the download size until the application actually starts (in a test environment) or simply stored as metadata about the game package.

What is initially downloaded might vary based on language (English, Mandarin, etc.) or resolution (720p, 1080p) and other settings. If this is the case, then the PlayGo time could be recalculated based on the end user choices or system settings in effect at the time that the PlayGo time needs to be displayed for a particular product.

The expected speed of the download is also a factor in the Playgo time. The expected speed could be based on a brief speed test, or based on the previous downloads to the connected machine and location, or based on other downloads from similar or nearby locations. As the download proceeds the PlayGo time remaining could be adjusted by both the download size remaining and the recent speed of the connection from store to end user equipment. That is, the Playgo time can be dynamically recalculated as the download process is occurring to provide, for example, an estimate of the time remaining till the application can begin to run.

Once both the size and speed are known it is straightforward to calculate download time. These time calculations can be verified on test machines or by any means known in the art.

An additional factor is the time to install the downloaded package. For a console or other known set of hardware, this install time can either be calculated or measured by installs on a known or ‘standard’ machine. If end user machines vary in installation speed, then, as with downloading the application discussed above, the installation time could be calculated based on a brief speed test, based on previous downloads, or based on similar machines elsewhere. As the install proceeds the PlayGo time remaining-could be adjusted by the amount of application remaining to be installed and the current speed of the end user machine.

As downloading and installation may proceed in parallel this effect can be measured on test machines, or calculated based on known speeds and sizes.

If information about specific download speed to or installation speed for an end-user machine is unavailable the system could use an average based on the region or machines of that type.

In accordance with one embodiment of the disclosure, a system for indicating how much time it would take before an application can start to be used on an end-user machine is provided. The system may comprise a processor and a database. The processor may be configured to register an application with application store to create a downloadable ready application. Additionally, the processor may be configured to register a user with the application store to create a user account.

When the application is registered with the application store, the application may be measured for the time required to download and install on a standard machine with standard connectivity. This can become the default PlayGo time. That is, the Playgo time comprises the time to download at least a portion of the application sufficient to start the application to run plus the time for the portion of the application to be installed.

When users register with the application store their machine(s) may also measured for download or installation speed. If their machines are faster or slower than normal, this factor is stored in the database, and used to calculate a more precise PlayGo time, to be presented as necessary to the user. In this embodiment, the Playgo time presented to a registered user is a function of the registered user's information stored in the database. That is, the Playgo time for each user can be different.

To the accomplishment of the foregoing and related ends, the one or more embodiments comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the drawings set forth in detail certain illustrative features of the one or more embodiments. These features are indicative, however, of but a few of the various ways in which the principles of various embodiments may be employed, and this description is intended to include all such embodiments and their equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:

FIG. 1 is a block diagram showing an environment within which a method and system for PlayGo time can be implemented, in accordance with an example embodiment.

FIGS. 2 and 3 show a flow chart of a method for processing PlayGo time, in accordance with some example embodiments.

FIG. 4 shows a diagrammatic representation of a computing device for a machine in the exemplary electronic form of a computer system, within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein, can be executed.

DETAILED DESCRIPTION

The following detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show illustrations in accordance with exemplary embodiments. These exemplary embodiments, which are also referred to herein as “examples,” are described in enough detail to enable those skilled in the art to practice the present subject matter. The embodiments can be combined, other embodiments can be utilized, or structural, logical, and electrical changes can be made without departing from the scope of what is claimed. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope is defined by the appended claims and their equivalents.

The approaches and principles disclosed herein relate to computer-implemented methods and systems for processing of the time to begin using or playing an Application delivered online through, for example, an online application store or other network connected provider.

FIG. 1 is a block diagram showing an example environment 100 within which a method and system for processing of PlayGo time can be implemented. The example environment 100 may include an application 110, application PlayGo data 111, user PlayGO data 112, application metadata 120, a graphical user interface 130, network 140, PlayGo display 150, user 160, application store 170, store application programming interface 180, store graphical user interface 190.

The application 110 may include a game for a PC, mobile device or a game console such as Sony's PlayStation® (PS4), an expansion pack, add-on, patch or map for a game, or a non-game application.

The application PlayGo data 111 may include information on the application or application package, what application code, data or patches have already been requested, downloaded or installed and what is left to download and install, what map or screen resolutions or languages have been requested, downloaded or installed, how to divide up the application 110 into smaller components, and how to sequence the installation of these additional components.

The user PlayGo data 112 may include information about the user's hardware and preferences including free hard disk space, type of connection, speed of connection, level of subscription, preferences about language, multiplayer, etc.

The application metadata data 120 may include additional information about the application 110 or application package or download including package size and download and disk rate information, which languages or screen resolutions are available, how many packages are available and what size, etc.

The PlayGo display 150 may include how much time remains before the user can begin playing. This display can be represented digitally or in an analog fashion. It may include suggestions to reduce this time (e.g., by changing languages or resolution). If no time remains, the PlayGo display can be used to start or cancel the start of the application.

The store graphical user interface 190 and store application programming interface 180 may be associated with a server system for processing PlayGo time calculations 300 enabling accurate display of the time to start an application associated with an application store 170. The store graphical user interface 190 is for communicating with individuals, whereas the store application programming interface 180 is for communicating with networked computers. User 160 may access an online resource associated with the application 110, via a network 140, through a user device 175.

The network 140 may include the Internet or any other network capable of communicating data between electronic devices.

The user device 175 may include a mobile telephone, a computer, a laptop, a smart phone, a tablet PC, and so forth. The user 160, in some embodiments, may be a person interacting with the graphical user interface (GUI) 130 via one of the user devices 170. The user 160 may be registered with the system for processing of PlayGo time calculation 300 and have information on available sizes and times of the applications in the application store stored in a database 320 of the system for calculating PlayGo time 300.

FIG. 2 shows a flow chart of a method 200 for processing of a PlayGo time calculation. The method 200 may be performed by processing logic that may comprise hardware such as a processor (e.g., dedicated logic, programmable logic, and microcode), software (such as computer code executable on a general-purpose computer system or a specifically configured computer system), or a combination of both. In one example embodiment, the processing logic resides at the system 300 illustrated in FIG. 3. The method 200 may be performed by the various modules discussed above with reference to FIG. 3. Each of these modules may comprise processing logic.

As shown in FIG. 2, the method 200 may commence at operation 210 with registering an application with an application store to add the application to the application store. Then the process system analyzers the just added application to determine the number and size of its discrete parts, and any dependency from part to part at operation 220. Users must also register with the Application store in order to access digital products in the store at operation 230. When the user sign into the Application store, the store can send a request to the user's machine to determine how fast the connection is to that machine at operation 240, and any other information related to calculating download or installation speed. Once the properties of both the application and end point hardware and connectivity are know then the PlayGo calculator can do the math to determine the expected download and install speed, assuming there are no other changes at operation 250, and then calculate the PlayGo time based at operation 260 and finally send the PlayGo estimated time to the User's GUI at operation 270.

As shown in FIG. 3, the method 400 may commence at operation 270 as the user begins to download and install their new application. The system begins to check if the actual progress speed matches the estimated progress speed at operation 410. If the download rate is below previous estimates the estimated time is increased proportionally, or if the download rate exceeds previous estimates the estimated time is decreased proportionally, at FIGS. 420 and 430 respectively. These revised estimates are displayed at operation 440. This monitoring process continues at operation 460, or terminates upon completion of the download and install at operation 450.

FIG. 4 is a diagrammatic representation of an example machine 800 in the form of a computer system within, which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein is executed. In various example embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. The machine may include its own internal database or be connected to an external database in order to provide substantially real time updates. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a cellular telephone, a portable music player (e.g., a portable hard drive audio device such as an Moving Picture Experts Group Audio Layer 3 (MP3) player), a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The example machine 800 includes a processor or multiple processors 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 806, and a static memory 808, which communicate with each other via a bus 810. The computer system 800 may further include a video display unit 830 (e.g., a liquid crystal display (LCD)). The computer system 800 may also include one or more devices 832 such as a keyboard, a cursor control device such as a mouse, a voice recognition or biometric verification unit (not shown), a disk drive unit 820, an output signal generation device 826 (e.g., a speaker), and a network interface device 812. The machine 800 may further include a data encryption module (not shown) to encrypt data.

The disk drive unit 820 includes a computer-readable medium 834 on which is stored one or more sets of instructions and data structures (e.g., instructions 822) embodying or utilizing any one or more of the methodologies or functions described herein. The instructions 822 may also reside, completely or at least partially, within the main memory 806 and/or within the processors 802 and/or static memory 808 during execution thereof by the machine 800. The main memory 808 and the processors 802 may also constitute machine-readable media.

The instructions 822 may further be transmitted or received over a network via the network interface device 812 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)). While the computer-readable medium 834 is shown in an example embodiment to be a single medium, the term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present application, or that is capable of storing, encoding, or carrying data structures utilized by or associated with such a set of instructions. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAM), read only memory (ROM), and the like. The example embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.

Thus, a system and method for processing of calculating time to start play have been described. Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the system and method described herein. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. Other embodiments are within the scope of the following claims.

Claims (11)

What is claimed is:
1. A method for calculating the time to begin using an application, the method comprising:
connecting a remote computer through a network to a server having the application;
determining a size of a portion of the application needed to begin execution of the application on the remote computer, the portion being less than the entirety of the application;
calculating the time to load the portion needed to start the application on the remote computer; and
transmitting the calculated time to begin the application to the remote computer,
wherein the calculated time is a graphic indicating the time remaining to begin execution of the application that is updated as the application is transmitted to the remote computer.
2. The method of claim 1, wherein calculating the time to start the application on the remote computer comprises:
obtaining a connection speed of the network connection to the remote computer;
determining a transmitting time to transmit the portion of the application to the remote computer based on the size of the portion of the application and the obtained connection speed; and
obtaining a loading time for the portion of the application to load on the remote computer.
3. The method of claim 2, wherein the obtained loading time is an estimate of the loading time.
4. The method of claim 2, wherein the speed of the connection and the loading time for the remote computer are obtained from a database of registered computers.
5. The method of claim 4, wherein the speed of the connection and the loading time for the remote computer are historical values from transmission of other applications to the remote computer.
6. The method of claim 1, wherein determining the connection speed of the remote computer is based on a test of the network connection speed.
7. The method of claim 1, wherein determining the size of the portion of the application to begin execution is based on information provided by an application provider.
8. The method of claim 1, wherein the displayed calculated time is provided in minutes and seconds.
9. The method of claim 1, comprising:
enabling purchase of the application on the server from the remote computer,
wherein the displayed calculated time is displayed adjacent a mechanism for initiating the purchase of the application.
10. A computer implemented method for processing of calculating the time to begin using an application, the method comprising:
registering an application with an application store, the application registration having application metadata, the metadata including an indication of a portion of the application less than the entirety of the application that enables the application to begin execution;
registering a user with the application store to create the necessary user metadata;
receiving, from the user, updated network and installation speed information;
calculating, based on the user and application metadata an initial time calculation to begin execution of the application;
updating, based on actual download characteristics, a current time to begin execution of the application; and
displaying the current time to begin execution of the application,
wherein the calculated time is a graphic indicating the time remaining to begin execution of the application that is updated as the application is transmitted to the remote computer.
11. A non-transitory computer-readable medium comprising instructions, which when executed by one or more processors, perform the following operations:
registering an application with an application store, the application registration having application metadata, the metadata including an indication of a portion of the application less than the entirety of the application that enables the application to begin execution;
registering a user with the application store to create the necessary user metadata;
receiving, from the user, updated network and installation speed information;
calculating, based on the user and application metadata an initial time calculation to begin execution of the application;
updating, based on actual download characteristics, a current time to begin execution of the application; and
displaying the current time to begin execution of the application,
wherein the calculated time is a graphic indicating the time remaining to begin execution of the application that is updated as the application is transmitted to the remote computer.
US14501831 2014-09-30 2014-09-30 Method and apparatus for providing a time period for starting an application Active US9395970B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14501831 US9395970B2 (en) 2014-09-30 2014-09-30 Method and apparatus for providing a time period for starting an application

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14501831 US9395970B2 (en) 2014-09-30 2014-09-30 Method and apparatus for providing a time period for starting an application
PCT/US2015/046486 WO2016053500A1 (en) 2014-09-30 2015-08-24 Method and apparatus for providing a time period for starting an application
CN 201510611646 CN105468402A (en) 2014-09-30 2015-09-23 Method and apparatus for providing a time period for starting an application

Publications (2)

Publication Number Publication Date
US20160092187A1 true US20160092187A1 (en) 2016-03-31
US9395970B2 true US9395970B2 (en) 2016-07-19

Family

ID=55584459

Family Applications (1)

Application Number Title Priority Date Filing Date
US14501831 Active US9395970B2 (en) 2014-09-30 2014-09-30 Method and apparatus for providing a time period for starting an application

Country Status (3)

Country Link
US (1) US9395970B2 (en)
CN (1) CN105468402A (en)
WO (1) WO2016053500A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311600A1 (en) * 2012-05-17 2013-11-21 Microsoft Corporation Event-responsive download of portions of streamed applications

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038399A (en) * 1997-07-22 2000-03-14 Compaq Computer Corporation Computer manufacturing architecture with two data-loading processes
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6279030B1 (en) * 1998-11-12 2001-08-21 International Business Machines Corporation Dynamic JAVA™ class selection and download based on changeable attributes
US6401239B1 (en) * 1999-03-22 2002-06-04 B.I.S. Advanced Software Systems Ltd. System and method for quick downloading of electronic files
US20020194325A1 (en) 2001-05-30 2002-12-19 Mazen Chmaytelli Method and apparatus for individually estimating time required to download application programs to remote modules over wireless network
US6701522B1 (en) * 2000-04-07 2004-03-02 Danger, Inc. Apparatus and method for portal device authentication
US7096465B1 (en) * 1999-05-17 2006-08-22 Invensys Systems, Inc. Process control configuration system with parameterized objects
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US7150015B2 (en) * 2000-09-01 2006-12-12 Pace Charles P Method and system for deploying an asset over a multi-tiered network
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
US20080178298A1 (en) 2001-02-14 2008-07-24 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US7562112B2 (en) * 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
US7580972B2 (en) * 2001-12-12 2009-08-25 Valve Corporation Method and system for controlling bandwidth on client and server
US7730484B2 (en) * 2004-11-12 2010-06-01 Opera Software Asa Method and device for providing interfaces that are tailored to specific devices
US20100318988A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Mitigating user interruption for partially downloaded streamed and virtualized applications.
US7870550B1 (en) * 2004-12-21 2011-01-11 Zenprise, Inc. Systems and methods for automated management of software application deployments
US7930693B2 (en) * 2005-04-04 2011-04-19 Cisco Technology, Inc. Method and system for accessing and launching a java based applet as a locally installed application
US8255894B2 (en) * 2006-07-31 2012-08-28 Seiko Epson Corporation Update data transmission method, computer program for practicing the method, host device and firmware writing system
US20130125055A1 (en) 2011-11-15 2013-05-16 Nintendo Co., Ltd. Information-processing device, information-processing system, information-processing method, and computer-readable storage medium
US8706937B2 (en) * 2011-03-02 2014-04-22 Texas Instruments Incorporated Method and system of debugging multicore bus transaction problems
US20140236493A1 (en) 2010-09-30 2014-08-21 Fitbit, Inc. Methods, Systems and Devices for Activity Tracking Device Data Synchronization With Computing Devices
US8862917B2 (en) * 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
US8869141B2 (en) * 2010-03-09 2014-10-21 Avistar Communications Corp. Scalable high-performance interactive real-time media architectures for virtual desktop environments
US8910146B2 (en) * 2012-06-09 2014-12-09 International Business Machines Corporation Automated time-to-value measurement
US8910150B2 (en) * 2008-09-25 2014-12-09 Unify Gmbh & Co. Kg Method for configuring an application
US9021471B2 (en) * 2011-05-03 2015-04-28 International Business Machines Corporation Managing change-set delivery
US9053029B2 (en) * 2012-02-06 2015-06-09 Empire Technology Development Llc Multicore computer system with cache use based adaptive scheduling

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238156A (en) * 2010-05-07 2011-11-09 盛乐信息技术(上海)有限公司 Online game client side resource downloading method
CN102340488A (en) * 2010-07-22 2012-02-01 腾讯科技(北京)有限公司 Game map downloading method, system and mobile terminal
CN103186399A (en) * 2011-12-31 2013-07-03 深圳市快播科技有限公司 Method and device for downloading large-scale game pack

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038399A (en) * 1997-07-22 2000-03-14 Compaq Computer Corporation Computer manufacturing architecture with two data-loading processes
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6279030B1 (en) * 1998-11-12 2001-08-21 International Business Machines Corporation Dynamic JAVA™ class selection and download based on changeable attributes
US6401239B1 (en) * 1999-03-22 2002-06-04 B.I.S. Advanced Software Systems Ltd. System and method for quick downloading of electronic files
US7096465B1 (en) * 1999-05-17 2006-08-22 Invensys Systems, Inc. Process control configuration system with parameterized objects
US6701522B1 (en) * 2000-04-07 2004-03-02 Danger, Inc. Apparatus and method for portal device authentication
US7150015B2 (en) * 2000-09-01 2006-12-12 Pace Charles P Method and system for deploying an asset over a multi-tiered network
US20080178298A1 (en) 2001-02-14 2008-07-24 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
US20020194325A1 (en) 2001-05-30 2002-12-19 Mazen Chmaytelli Method and apparatus for individually estimating time required to download application programs to remote modules over wireless network
US7562112B2 (en) * 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US7580972B2 (en) * 2001-12-12 2009-08-25 Valve Corporation Method and system for controlling bandwidth on client and server
US7730484B2 (en) * 2004-11-12 2010-06-01 Opera Software Asa Method and device for providing interfaces that are tailored to specific devices
US7870550B1 (en) * 2004-12-21 2011-01-11 Zenprise, Inc. Systems and methods for automated management of software application deployments
US7930693B2 (en) * 2005-04-04 2011-04-19 Cisco Technology, Inc. Method and system for accessing and launching a java based applet as a locally installed application
US8255894B2 (en) * 2006-07-31 2012-08-28 Seiko Epson Corporation Update data transmission method, computer program for practicing the method, host device and firmware writing system
US8910150B2 (en) * 2008-09-25 2014-12-09 Unify Gmbh & Co. Kg Method for configuring an application
US20100318988A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Mitigating user interruption for partially downloaded streamed and virtualized applications.
US8869141B2 (en) * 2010-03-09 2014-10-21 Avistar Communications Corp. Scalable high-performance interactive real-time media architectures for virtual desktop environments
US20140236493A1 (en) 2010-09-30 2014-08-21 Fitbit, Inc. Methods, Systems and Devices for Activity Tracking Device Data Synchronization With Computing Devices
US8706937B2 (en) * 2011-03-02 2014-04-22 Texas Instruments Incorporated Method and system of debugging multicore bus transaction problems
US9021471B2 (en) * 2011-05-03 2015-04-28 International Business Machines Corporation Managing change-set delivery
US8862917B2 (en) * 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
US20130125055A1 (en) 2011-11-15 2013-05-16 Nintendo Co., Ltd. Information-processing device, information-processing system, information-processing method, and computer-readable storage medium
US9053029B2 (en) * 2012-02-06 2015-06-09 Empire Technology Development Llc Multicore computer system with cache use based adaptive scheduling
US8910146B2 (en) * 2012-06-09 2014-12-09 International Business Machines Corporation Automated time-to-value measurement

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Ananthanarayanan et al, "COMBINE: Leveraging the Power of Wireless Peers through Collaborative Downloading", ACM, pp. 286-298, 2007. *
Bernini et al, "A Software Architecture for the Deployment of Executable Transformation Models", ACM, pp. 47-51, 2009. *
Dastidar et al, "Safe Peer-to-Peer Self-Downloading", ACM Transactions on Autonomous and Adaptive Systems,vol. 3, No. 4,Article 19, pp. 1-18, 2008. *
Dolstra, "Secure Sharing Between Untrusted Users in a Transparent Source/Binary Deployment Model", ACM, pp. 154-163, 2005. *
International Search Report issued in corresponding International Application No. PCT/US15/46486 mailed Nov. 30, 2015.
Marquardt "Patterns for Software Release Versioning" ACM, pp. 1-13, 2010. *
Tyndall, "Building an Effective Software Deployment Process", ACM, pp. 109-114, 2012. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311600A1 (en) * 2012-05-17 2013-11-21 Microsoft Corporation Event-responsive download of portions of streamed applications
US9516094B2 (en) * 2012-05-17 2016-12-06 Microsoft Technology Licensing, Llc Event-responsive download of portions of streamed applications

Also Published As

Publication number Publication date Type
US20160092187A1 (en) 2016-03-31 application
CN105468402A (en) 2016-04-06 application
WO2016053500A1 (en) 2016-04-07 application

Similar Documents

Publication Publication Date Title
US20080168188A1 (en) Symbiotic Smart Peripherals
US20130152070A1 (en) HTML Directed Adaptive Features for Mobile Applications
US20090199132A1 (en) Quick access to virtual applications
US20100057884A1 (en) Browser-based download manager
US20090241104A1 (en) Application management within deployable object hierarchy
US20110246290A1 (en) In application purchasing
US20130219383A1 (en) Using an Application Cache to Update Resources of Installed Applications
US20100306773A1 (en) Instant on Platform
US20150081764A1 (en) Remote Virtualization of Mobile Apps
US20110029881A1 (en) Devices and methods for providing software programs compatible with a computer system for download by a user
US20060135230A1 (en) Post-deployment spot creation
US20120278185A1 (en) Method to adapt ads rendered in a mobile device based on existence of other mobile applications
US20130332916A1 (en) System and method for updating application archive files
US8572178B1 (en) Executing applications in remotely emulated computing devices
EP2663052A1 (en) API Platform That Includes Server-Executed Client-Based Code
CN101997908A (en) Apparatuses for downloading applications via application lists
US20150082239A1 (en) Remote Virtualization of Mobile Apps with Transformed Ad Target Preview
US20140351954A1 (en) Providing limited versions of applications
US20090024482A1 (en) System and method for deploying an ad widget
US20140007057A1 (en) Evaluating application compatibility
US20140033315A1 (en) Method and system for enforcing a license dependency rule for a software application
US20120251080A1 (en) Multi-layer timeline content compilation systems and methods
US20140372511A1 (en) Content Pre-Render and Pre-Fetch Techniques
US20110113089A1 (en) Delivering media-rich-invitational content on mobile devices
US20080077784A1 (en) Electronic marketing on a computing device during select time windows

Legal Events

Date Code Title Description
AS Assignment

Owner name: SONY COMPUTER ENTERTAINMENT AMERICA LLC, CALIFORNI

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LERNER, EDWARD ADAM;REEL/FRAME:036407/0778

Effective date: 20140930

AS Assignment

Owner name: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC, CALIFO

Free format text: CHANGE OF NAME;ASSIGNOR:SONY COMPUTER ENTERTAINMENT AMERICA LLC;REEL/FRAME:038630/0154

Effective date: 20160331