WO2015055040A1 - 应用执行方法、设备和系统 - Google Patents
应用执行方法、设备和系统 Download PDFInfo
- Publication number
- WO2015055040A1 WO2015055040A1 PCT/CN2014/084200 CN2014084200W WO2015055040A1 WO 2015055040 A1 WO2015055040 A1 WO 2015055040A1 CN 2014084200 W CN2014084200 W CN 2014084200W WO 2015055040 A1 WO2015055040 A1 WO 2015055040A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- server
- client
- bandwidth
- current network
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000011022 operating instruction Methods 0.000 claims 1
- 238000009877 rendering Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Definitions
- the present invention relates to the field of the Internet, and in particular, to an application execution method, device, and system. Background technique
- an application execution device resident at a client, the client The terminal is connected to the server via a network, and the application execution device includes:
- the application launcher is configured to receive an application running instruction input by the user, and send the indication to the server, so as to start the corresponding application and run on the server side;
- a picture receiver configured to receive, by using a first portion of a current network bandwidth between the client and the server, an application screen that is rendered by the server;
- an application execution device which resides at a server, and the server is connected to each client via a network, the application execution device comprising:
- the application runner is configured to receive an application running instruction from a certain client, start the corresponding application, and run;
- a picture transmitter configured to use the first part of the current network bandwidth between the client and the server to send the server-completed application screen
- An application transmitter configured to transmit the application to the client using a second portion of the current network bandwidth.
- an application execution system including the application execution device residing on the client, and the application execution device residing on the server side.
- an application execution method for a client, the client connecting to a server via a network, including:
- an application execution method is provided, which is applied to a server, and the server is connected to each client via a network, including:
- the application is sent to the client using a second portion of the current network bandwidth.
- a computer program comprising computer readable code is provided When the computer readable code is run on a computing device, causing the computing device to perform an application execution method according to any of the above.
- a computer readable medium storing the above computer program is provided.
- FIG. 1 is a block diagram showing the structure of an application executing device residing on a client according to an embodiment of the present invention
- FIG. 2 is a block diagram showing the structure of an application execution device residing on a server side according to an embodiment of the present invention
- FIG. 4 is a flow chart showing the processing of an application execution method on the client side according to an embodiment of the present invention.
- FIG. 5 is a flowchart showing the processing of an application execution method on the server side according to an embodiment of the present invention
- Figure 6 is a schematic block diagram of a computing device for performing an application execution method in accordance with the present invention
- Fig. 7 schematically shows a storage unit for holding or carrying program code implementing an application execution method according to the present invention.
- the application launcher 120 which resides in the client, receives the application running indication input by the user, and sends a running instruction input by the user to the server.
- the picture receiver 130 utilizes the first portion of the current network bandwidth between the client and the server where the user is located to receive the application picture rendered by the server.
- the display 140 displays the received application picture.
- the current network bandwidth is divided into two parts. Since the application execution device 100 residing on the client may need to download the application according to the running instruction input by the user, on the other hand, the user needs to experience the application in advance. Therefore, in the embodiment of the present invention, the first part of the current network bandwidth is used to receive the rendered image of the server, so that the user experiences the application in advance. Additionally, the application downloader 150 utilizes the second portion of the current network bandwidth to download the application from the server based on the indication of the application launcher 120. In the embodiment of the present invention, the current network bandwidth is divided into two parts for use, and the current network bandwidth can be utilized more reasonably to perform the operation indication input by the user.
- the speed indicator 110 measures the current network bandwidth value, and determines whether the current network bandwidth value is greater than a threshold of the preset bandwidth.
- One side of the speed detector 110 is coupled to the application downloader 150. If the current bandwidth value is not greater than the threshold of the preset bandwidth, the amount of bandwidth is insufficient to support the task of downloading the application while the application is running, so the current network bandwidth cannot be used.
- the purpose of downloading the application while running the application can only be used to provide an application download operation.
- the speedometer 110 only triggers the application downloader 150.
- the application downloader 150 receives the message that the server cannot start the application, and then downloads the application from the server side in combination with the first part and the second part of the current network bandwidth.
- the other side of the speedometer 110 is coupled to the application enabler 120, and if the current network bandwidth value is greater than the threshold of the preset bandwidth, the application launcher 120 is triggered.
- the application launcher 120 receives the application execution indication input by the user, sends the indication to the server side to launch the corresponding application on the server side and runs, and triggers the picture receiver 130 coupled to the other end.
- the screen receiver 130 After receiving the application running instruction sent by the application launcher 120, the screen receiver 130 receives the server-rendered application screen by using the first part of the current network bandwidth between the client and the server. Further, the display 140 displays the application screen received by the screen receiver 130.
- the application downloader 150 is coupled to the application launcher 120 and, based on its indication, utilizes the second portion of the current network bandwidth to download the application from the server side.
- the application launcher 120 receives all the operation instructions from the user about the above application, and sends the received operation instructions to the server to facilitate the server to perform the corresponding operations.
- the application screen generated after the server performs the corresponding operation is received by the screen receiver 130.
- the bandwidth releaser 160 coupled to the application downloader 150 receives a prompt message from the server end of the application trial run, releasing the first portion of the bandwidth occupied by the picture receiver 130. After the first portion of the bandwidth is released, the bandwidth releaser 160 instructs the application downloader 150 to download the application in conjunction with the first portion of the bandwidth and the second portion of the bandwidth. That is, when the trial run ends, the current network bandwidth is used to download the current application, ensuring that the application is downloaded in a minimum amount of time, saving user time and improving download efficiency. After the application is downloaded, the bandwidth releaser 160 is responsible for releasing the bandwidth used by the downloading application, so that the user can use the current network bandwidth to process other applications that need to occupy the network bandwidth in time after the current application is downloaded. It should be noted that, in the embodiment of the present invention, the client where the user is located is connected to the server via a network.
- the application launcher that resides in the application execution device of the client sends the application running indication to the server, ensuring that the server can promptly follow up the user to perform corresponding operations.
- the picture receiver receives the application picture rendered by the server, and can immediately feed back the operation performed by the user server according to the operation instruction, thereby ensuring that all running instructions input by the user can be executed in a timely and effective manner, and is more beneficial to the user for the application. Further experience and download.
- the current network bandwidth value is first measured, and the current network bandwidth is divided.
- the current network bandwidth can be used to perform operations on the application, and the running instruction of the client can be better utilized by the current network resource, and the application can be operated or downloaded more efficiently.
- the application executing device that resides on the client may receive the prompt message sent by the server, and release the available bandwidth in time, so that the bandwidth of the first part and the second part are combined.
- the application downloads to make full use of current network resources. That is, when the trial run ends, the current network bandwidth is used to download the current application, ensuring that the application is downloaded in a minimum amount of time, saving user time and improving download efficiency.
- the application execution device residing on the client provided by the embodiment of the present invention can automatically release the bandwidth used by the downloading application, so that the user can use the current network bandwidth to process other needs in time after the current application is downloaded. The application of network bandwidth, thereby improving the user experience.
- Fig. 2 is a diagram showing the structure of an application executing device residing on a server side according to an embodiment of the present invention.
- the application execution device 200 residing on the server side at least includes: a buffer 210, an application runner 220, a screen sender 230, an application transmitter 240, a timer 250, and a prompter 260.
- the application running device 220 receives the application running indication, but the server presets that the running time of the application is full, the server end temporarily fails to start the application.
- the application runner 220 can place the client into the buffer 210 through the buffer 210 coupled thereto.
- the buffer 210 caches the client in the form of a queue.
- the application transmitter 240 coupled with the application runner 220 sends the application to the first part of the bandwidth and the second part of the bandwidth to the application. Client.
- the application runner 220 triggers the previously received operational indication.
- the embodiment of the present invention can perform all operations performed according to the application operation indication input by the user more efficiently by caching the client when the server cannot start the application, and triggering the previous application running indication when the client sorts out the queue.
- the screen sender 230 uses the application screen between the client and the server according to the instruction of the application runner 220. The first part of the current network bandwidth is sent out.
- the application screen that is sent is an application screen obtained after the corresponding operation is performed.
- the timer 250 resident in the application execution device 200 on the server side starts the application execution instruction from the client from the application runner 220, and counts the application runtime.
- the prompter 260 coupled to the timer 250 transmits a prompt message that the application trial run has ended to the client.
- the timer 250 in the application execution device 200 residing on the server side times the time required for the application runner 220 to execute an operation instruction from the client, and the prompter 260 sends the timing result to the client.
- the time required for the application execution device residing on the server to operate the application running instruction input by the user, and the time according to the application execution device residing on the server may reflect whether the current network bandwidth is sufficient to support downloading the application. Running, ensuring that the application execution device residing on the client can more reasonably utilize the current network bandwidth to perform user input application execution indication.
- the timer 250 restarts timing. If the time displayed by the timer 250 exceeds the preset second time, the prompter 260 sends a prompt message that the application trial run has ended to the client.
- the first time value is the total time that the application executing device that resides on the server side runs and downloads the application
- the second time value is that the application executing device that resides on the server side runs and downloads the application during the download, when the user inputs
- the other application running indication is that the application that resides on the server side performs the operation of the device. Therefore, in the embodiment of the present invention, the second time value is smaller than the first time value.
- the server is connected to each client via a network.
- the application running device residing in the application executing device of the server end receives the application running instruction of the client, and ensures that the server end can promptly follow up the user instruction to perform corresponding operations.
- the picture sender sends the application picture rendered by the server, and can timely feedback to the user server according to the operation of the operation instruction, ensuring that all running instructions input by the user can be executed in a timely and effective manner, which is more conducive to the user's further application.
- the application can be downloaded while running, saving user time, enabling the user to have a complete understanding of the application in the shortest time, understanding the application content in advance, and selecting the application according to the application, thereby improving the user experience.
- the application execution device provided by the embodiment of the present invention can download and run the application without downloading the core file of the application, so as to ensure the efficiency of the download, so that the user can experience the content of the application in advance, according to the user.
- the embodiment of the present invention has no hard requirements for the running terminal, and has high scalability.
- the server when the server presets the number of times the application runs, the application executing device that resides on the server side caches the client in the cache, and the client sorts the queue. Then, the operation is performed to ensure that the resources of the server are utilized to the maximum extent, so that the client receives the operation performed by the server in the shortest time, so that the running instruction of the client can be better utilized by the current network resource.
- the application execution device residing on the server side times the application running process.
- the application execution device residing on the server sends a prompt message that the application trial run has ended, so that the application execution device residing on the client can release the available bandwidth in time, download the application, and fully utilize the current network resources.
- the application execution device residing on the client provided by the embodiment of the present invention can automatically release the used application for downloading the application according to the prompt message that the application execution device sent by the server is terminated.
- the bandwidth enables the user to use the current network bandwidth to process other applications that need to occupy network bandwidth in time after the current application is downloaded, thereby improving the user experience.
- the embodiment of the present invention provides an application execution system for solving the technical problem that is not solved by the prior art.
- FIG. 3 shows a schematic structural diagram of an application execution system according to an embodiment of the present invention.
- an application execution system according to an embodiment of the present invention includes a client 310, a server 320, an application execution device 100 residing at the client, and an application execution device 200 residing at the server.
- the application executing device 100 residing on the client may be disposed inside the client 310 or may be used alone, and the present invention does not limit the same.
- the application execution device 100 residing on the client in order to explain the connection relationship of each part more clearly, it is preferable that the application execution device 100 residing on the client is located outside the client 310, and the architecture is the same as the application resident on the client shown in FIG. 1 above.
- the device 100 is similar and will not be described here.
- the application execution device 200 residing on the server may be integrated into the server 320 or may be used separately. The present invention does not limit this.
- the application execution device 200 residing on the server side is located outside the server end 320, and the architecture is the same as that of the application residing on the server end shown in FIG. 2 above.
- the device 200 is similar and will not be described here.
- the number of the clients 310 in FIG. 3 is displayed as three, and the three in the figure are not the specific number of the clients 310, but are used to illustrate the existence of multiple clients 310. In actual applications, the specificity of the client 310 is The number may be any integer value, depending on the situation.
- the architecture of each client 310 is similar and plays the same role in embodiments of the present invention.
- the number of application execution devices 100 residing on the client in FIG. 3 is also displayed as three, for example only, there are multiple application execution devices 100 residing on the client, in actual applications, resident
- the specific number of application execution devices 100 at the client may be any integer value, as the case may be.
- the architecture of each application execution device 100 residing on the client is similar and will not be described here.
- each client 310 preferably corresponds to an application execution device 100.
- each client 310 may also be coupled to multiple application execution devices 100 residing on the client, which is not limited by the present invention.
- the client 310 receives the application running indication input by the user, the application running indication is sent to the application executing device 100 residing on the client coupled thereto.
- the tachometer 110 resident in the application execution device 100 of the client measures the current network bandwidth and determines whether the current network bandwidth is greater than a preset bandwidth threshold. If the current network bandwidth is not greater than the preset bandwidth threshold, the current network bandwidth is insufficient to support the task of downloading the application while the application is running. Therefore, the current network bandwidth cannot be used to download the application and run the application.
- the speedometer 110 only triggers the application downloader 150 coupled to one end thereof, and the application downloader 150 receives the message that the server cannot start the application, and then combines the application with the first part and the second part of the current network bandwidth. download. If the current network bandwidth value is greater than the preset bandwidth threshold, the tachometer 1 10 triggers the application launcher 120 coupled to the other end thereof.
- the application launcher 120 is triggered by the speed controller 110, receives an application running instruction input by the user, and sends the indication to the server 320 so that the server 320 starts the corresponding application and runs, and the application launcher 120 triggers the screen coupled with the other end.
- Receiver 130 After receiving the application running indication sent by the application launcher 120, the screen receiver 130 receives the server-rendered application screen by using the first part of the current network bandwidth between the client 310 and the server 320. Further, display 140 coupled to picture receiver 130 presents an application screen received by picture receiver 130.
- the application launcher 120 receives all the operation instructions from the user about the currently running application, and sends the received operation instruction to the server 320, so that the server 320 can perform the corresponding operation.
- the operation ensures that all running instructions input by the user can be executed in a timely and effective manner, which is more beneficial to the user's further experience and downloading of the application.
- the application screens generated after the server 320 performs the corresponding operations are all received by the screen receiver 130.
- the application runner 220 resident in the server-side application execution device 200 receives the application execution indication from a certain client 310, launches the corresponding application, and runs. At this time, if the application of the application preset by the server 320 is full at this time, the server 320 cannot start the application. To ensure that when the server 320 can launch the application, the application running indication of the client 310 is executed for the first time, and the application runner 220 places the client 310 into the buffer 210 coupled thereto. The buffer 210 caches the client 310 in the form of a queue.
- the application transmitter 240 transmits the application to the client 310 in combination with the first part and the second part of the current network bandwidth.
- the application runner 220 triggers the previously received operational indication.
- the client 310 is cached when the server 320 is unable to start the application, and the previous application running indication is triggered in time when the client 310 sorts the queue.
- the embodiment of the present invention can perform the application running instruction according to the user input more efficiently. Everything is done.
- the application runner 220 is coupled to the screen transmitter 230, and the screen sender 230 transmits the application screen using the first portion of the current network bandwidth between the client 310 and the server 320 according to the instruction of the application runner 220, where The transmitted application screen is the rendered image obtained after the corresponding operation is performed.
- the prompting unit 260 sends the timing result to the client 310, and timely feedbacks the time required by the application executing device residing on the server to operate the application running instruction input by the user, and operates according to the application executing device residing on the server end.
- the time may reflect whether the current network bandwidth is sufficient to support the download operation while the application is running, and ensure that the application execution device 100 residing on the client can more appropriately utilize the current network bandwidth to perform the application operation indication input by the user.
- the timer 250 restarts timing. If the time displayed by the timer 250 exceeds the preset second time, the prompter 260 sends a prompt message that the application trial run has ended to the client 310.
- the first time value is the total time that the application executing device that resides on the server side runs and downloads the application
- the second time value is that the application executing device that resides on the server side runs and downloads the application during the download, when the user inputs
- the other application running indication the time required for the application executing on the server to perform the operation of the device is performed. Therefore, in the embodiment of the present invention, the second time value is smaller than the first time value.
- the application execution device residing on the client may be used to send the indication of the client to the server, and the server operates according to the instruction of the client, so as to ensure that the application can be operated according to the user requirement.
- the application can be downloaded while running, saving user time, and enabling the user to have a complete understanding of the application in the shortest time, thereby improving the user experience.
- the application execution device residing at the client measures the current network bandwidth, and divides the current network bandwidth into two parts, and utilizes the current network bandwidth according to the running instruction input by the user and the specific bandwidth.
- the application performs the operation, and when the server presets the number of times the application runs, the application execution device residing on the server side will cache the client in the form of a queue, and then execute the queue when the client sorts out the queue.
- the components of the above system ensure that the resources of the server are utilized to the maximum extent, so that the client receives the operations performed by the server in the shortest time, so that the running instructions of the client can be better utilized by the current network resources.
- the application execution device residing on the server side times the application running process.
- the application execution device residing on the server sends a prompt message that the application trial run has ended, so that the application execution device residing on the client can release the available bandwidth in time, download the application, and fully utilize the current network resources.
- the application execution device residing on the server provided by the embodiment of the present invention can automatically release the bandwidth used by the download application. The user can use the current network bandwidth to process other applications that need to occupy network bandwidth in time after the current application is downloaded, thereby improving the user experience.
- an embodiment of the present invention provides an application execution method for implementing the foregoing device and system.
- the client receives the application running indication input by the user, and sends the indication to the server to start the corresponding application and run on the server.
- the server can temporarily disable the application.
- the client is set to the queue waiting state.
- the application is downloaded from the server in combination with the first part of the bandwidth and the second part of the bandwidth of the current network bandwidth. If the server can be enabled, step S404 is performed, and the screen receiver resident in the application execution device of the client uses the first part of the current network bandwidth between the client and the server to receive the application image that is rendered by the server, and the screen is displayed. The application screen received by the receiver is presented to the user.
- the current network bandwidth is divided into two parts, which is more flexible and more rational and effective to utilize the current network bandwidth.
- the first part of the bandwidth is used to receive the rendered image of the server, so that the user can experience the application in advance, and the second part of the current network bandwidth can be used to perform step S406 to download the application.
- the application can be downloaded only by performing step S406 in combination with the two parts of the current network bandwidth.
- the application execution device residing on the client When the application is running, the application execution device residing on the client receives all operation instructions from the user about the current application, and sends the instruction to the server for the server to perform the corresponding operation. After the server performs the corresponding operation, the picture receiver residing in the application execution device of the client receives the application picture generated by the server after performing the corresponding operation. When the trial run ends, the application execution device residing on the client receives a prompt message from the server end of the application trial run, releases the first part of the bandwidth occupied by the picture receiver, and then utilizes the first part and the second part of the current network bandwidth. Download the app from the server side.
- the current network bandwidth is used to download the current application, ensuring that the application is downloaded in a minimum amount of time, saving user time and improving download efficiency.
- the application executing device that resides on the server releases the bandwidth used for downloading the current application, so that the user can use the current network bandwidth to process other applications that need to occupy the network bandwidth in time after the current application is downloaded.
- the application launcher that resides in the application execution device of the client sends an application running indication to the server, so that the server can promptly follow up the user to perform corresponding operations.
- the picture receiver receives the application picture rendered by the server, and can immediately feed back to the user server according to the operation of the operation instruction, ensuring that all running instructions input by the user can be executed in a timely and effective manner, which is more beneficial to the user for further application.
- the application execution device residing on the client sends the client's indication to the server, and the server operates according to the instructions of the client, so that the application can be operated according to the user's requirements.
- the application execution device residing on the client can download and run the application according to the running instruction input by the user, save the user time, enable the user to have a complete understanding of the application in the shortest time, understand the application content in advance, and perform the application according to the application. Choose to improve the user experience.
- the embodiment of the present invention can download and run the application while downloading the core file of the application, saving user time and ensuring the efficiency of downloading, so that the user can experience the application in advance.
- the content is selected according to the needs of the user, and the embodiment of the present invention has no hard requirements on the running terminal, and has strong scalability.
- the application executing device that resides on the client may receive the prompt message sent by the server, and release the available bandwidth in time, so that the bandwidth of the first part and the second part are combined.
- the application downloads to make full use of current network resources. That is, when the trial run ends, the current network bandwidth is used to download the current application, ensuring that the application is downloaded in a minimum amount of time, saving user time and improving download efficiency.
- the application execution device residing on the server provided by the embodiment of the present invention can automatically release the bandwidth used by the downloading application, so that the user can use the current network bandwidth to process other needs in time after the current application is downloaded. Application of network bandwidth to improve user body Test.
- FIG. 5 is a flow chart showing the processing of an application execution method on the server side according to an embodiment of the present invention.
- the process starts in step S502.
- the server receives the application operation indication input by the user, starts the corresponding application, and runs. If the server is unable to start the application due to the preset number of times the application is running, the application running instruction of the client is executed when the server can start the application.
- the client is cached in the form of a queue.
- the application is triggered according to the application running instruction of the client and combined with the current network bandwidth, and the application is sent to the client in combination with the first part and the second part of the current network bandwidth.
- step S504 the server sends the rendered application screen obtained by performing the corresponding operation to the client by using the first part of the current network bandwidth between the client and the server.
- the current network bandwidth is divided into two parts. Since the application execution device residing on the client may be different according to the running instruction input by the user, on the other hand, the user needs to experience the application in advance. Therefore, in the embodiment of the present invention, the first part of the bandwidth is used to receive the rendered image of the server, so that the user experiences the application in advance.
- the server receives an operation instruction from the client, and performs a corresponding operation in the application according to the received operation instruction.
- the server side uses the first part of the current network network bandwidth between the client and the server to send the server-completed application screen, including the application screen obtained after performing the corresponding operation.
- the first portion of the current network bandwidth transmits the rendered application screen as described in step S504, and the second portion of the current network bandwidth is used to perform step S506 to send the application to the client.
- the current network bandwidth is divided into two parts, and the current network bandwidth can be utilized more reasonably to perform the operation indication input by the user.
- the running time of the application is timed. If the timing duration exceeds the preset first time, a prompt message that the application trial operation has ended is sent to the client, ensuring that the application execution device residing on the client can more appropriately utilize the current network bandwidth to perform the user-input application running indication.
- the application executing device residing on the server side is re-timed. If the duration of the timer exceeds the preset second time, a prompt message that the application trial run has ended is sent to the client.
- the first time value is the total time that the application executing device that resides on the server side runs and downloads the application
- the second time value is that the application executing device that resides on the server side runs and downloads the application during the download, when the user inputs
- the other application running indication the time required for the application executing on the server to perform the operation of the device is performed. Therefore, in the embodiment of the present invention, the second time value is smaller than the first time value.
- the application execution device residing on the client may be used to make an indication of the client. Sended to the server, the server operates according to the instructions of the client, ensuring that the application can be operated according to the user's needs. In the embodiment of the present invention, the application can be downloaded while running, saving user time, and enabling the user to have a complete understanding of the application in the shortest time, thereby improving the user experience.
- the application execution device residing at the client measures the current network bandwidth, and divides the current network bandwidth into two parts, and utilizes the current network bandwidth according to the running instruction input by the user and the specific bandwidth.
- the application performs the operation, and when the server presets the number of times the application runs, the application execution device residing on the server side will cache the client in the form of a queue, and then execute the queue when the client sorts out the queue.
- the components of the above system ensure that the resources of the server are utilized to the maximum extent, so that the client receives the operations performed by the server in the shortest time, so that the running instructions of the client can be better utilized by the current network resources.
- the embodiment of the present invention can download and run the application without downloading the core file of the application, save user time, ensure the efficiency of downloading, and enable the user to experience the content of the application in advance.
- the application is selected according to different needs of the user, and the embodiment of the present invention has no hard requirement for the running terminal, and has strong scalability.
- the application execution device residing on the server side times the application running process.
- the application execution device residing on the server sends a prompt message that the application trial run has ended, so that the application execution device residing on the client can release the available bandwidth in time, download the application, and fully utilize the current network resources.
- the application execution device residing on the server provided by the embodiment of the present invention can automatically release the bandwidth used by the downloading application, so that the user can use the current network bandwidth to process other needs in time after the current application is downloaded. The application of network bandwidth, thereby improving the user experience.
- modules in the devices in the embodiments can be adaptively modified. They are changed and placed in one or more devices different from this embodiment.
- the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
- any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
- Each feature disclosed in the specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
- the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
- a microprocessor or digital signal processor may be used in practice to implement some or all of the functionality of some or all of the components of an application executing device in accordance with embodiments of the present invention.
- the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
- a program implementing the present invention may be stored on a computer readable medium or may have the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
- Figure 6 illustrates a computing device that can implement an application execution method in accordance with the present invention.
- the computing device conventionally includes a processor 610 and a computer program product or computer readable medium in the form of a memory 620.
- Memory 620 can be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, hard disk, or ROM.
- Memory 620 has a memory space 630 for program code 631 for performing any of the method steps described above.
- storage space 630 for program code may include various program code 631 for implementing various steps in the above methods, respectively.
- the program code can be read from or written to one or more computer program products.
- Such computer program products include program code carriers such as hard disks, compact disks (CDs), memory cards or floppy disks.
- Such a computer program product is typically a portable or fixed storage unit as described with reference to FIG.
- the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 620 in the computing device of FIG.
- the program code can be compressed, for example, in an appropriate form.
- the storage unit comprises computer readable code 63, ie code that can be read by a processor, such as 610, which, when executed by a computing device, causes the computing device to perform various steps in the methods described above. .
- any reference signs placed between parentheses shall not be construed as a limitation.
- the word “comprising” does not exclude the presence of the elements or steps that are not in the claims.
- the word “a” or “an” preceding a component does not exclude the presence of a plurality of such elements.
- the invention can be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means can be embodied by the same hardware item.
- the use of the words first, second, and third does not indicate any order. These words can be interpreted as names.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种应用执行方法、设备和系统。该方法应用于客户端,包括:接收用户输入的应用运行指示,并将该指示发送至服务器端,以便在服务器端启动相应应用并运行;利用该客户端与服务器之间的当前网络带宽中的第一部分来接收服务器渲染完毕的应用画面,并将画面接收器接收的应用画面展现给用户;利用当前网络带宽中的第二部分来从服务器下载应用。采用本发明能够节省用户时间,使得用户在最短时间内对应用有完整了解,从而提高用户体验。
Description
应用执行方法、 设备和系统 技术领域
本发明涉及互联网领域, 尤其涉及一种应用执行方法、 设备和系统。 背景技术
随着互联网技术的快速发展, 越来越人性化的设计被人们运用于互联网领域。 比如, 很多电影下载资源支持边下载边观看。 同样, 对于网络上热门的网络游戏, 很多玩家也期盼着可以边下边玩。 游戏边下边玩技术是一种在下载前或下载过程中 即可体验到游戏内容, 同时也可以执行游戏完整版下载的技术。
就现有技术而言, 大多数网络游戏中, 多数玩家在进行游戏前, 需要从游戏官 网上下载占用内存非常大的游戏客户端。 玩家耗费大量时间将游戏客户端下载后, 还需要将其安装之后才能进入游戏, 体验游戏内容。 这种方式不仅所需下载时间长, 还会造成玩家经过漫长的下载之后, 发现所下载的游戏并不适合自己, 只能将花费 了大量时间下载的游戏删除, 不仅浪费了用户的时间, 同时用户还没有找到自己满 意的游戏。 为解决这种情况, 提升游戏体验, 游戏边下边玩技术出现。 但目前的游 戏边下边玩技术需要玩家完成游戏运行的核心文件的下载, 只有在下载其他非必要 文件时可以执行边下边玩。 这种技术需要游戏厂商自行深度定制核心文件及确实启 动的校验逻辑, 并且这种技术可扩展性较差。
随着用户对于互联网体验的要求越来越高, 整个市场对于软件应用可以边下载 边运行的呼声也越来越高。 但现有技术中大多数应用不能做到边下载边运行, 其余 可以边下载边运行的应用也需要用户首先将应用的核心文件下载完成, 仍旧需要用 户花费大量的时间在单纯的下载上, 并没有从根本上解决应用边下载边运行的技术 问题。 用户不能在打开应用时直接进入边下载边运行, 也就无法首先对所要下载的 应用有直接具体的了解, 无法提升用户对应用体验的感知, 同时也间接影响了应用 的下载机率, 无法增加应用用户的数量。 发明内容
鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决 上述问题的应用交互系统、 设备和相应的应用交互方法。
根据本发明的一个方面, 提供了一种应用执行设备, 驻留在客户端处, 该客户
端经由网络连接到服务器, 该应用执行设备包括:
应用启动器, 配置为接收用户输入的应用运行指示, 并将该指示发送至服务器 端, 以便在服务器端启动相应应用并运行;
画面接收器, 配置为利用该客户端与服务器之间的当前网络带宽中的第一部分 来接收所述服务器渲染完毕的应用画面;
显示器, 配置为将所述画面接收器接收的应用画面展现给所述用户; 应用下载器, 配置为利用所述当前网络带宽中的第二部分来从所述服务器下载 所述应用。
根据本发明的另一方面, 提供了一种应用执行设备, 驻留在服务器处, 该服务 器经由网络与各客户端相连, 该应用执行设备包括:
应用运行器, 配置为接收来自某一客户端的应用运行指示, 启动相应应用并运 行;
画面发送器, 配置为利用该客户端与服务器之间的当前网络带宽中的第一部分 发送服务器渲染完毕的应用画面;
应用发送器, 配置为利用所述当前网络带宽的第二部分将所述应用发送至所述 客户端。
根据本发明的另一方面, 提供了一种应用执行系统, 包括所述的驻留在客户端 的应用执行设备, 还包括所述的驻留在服务器端的应用执行设备。
根据本发明的另一方面, 提供了一种应用执行方法, 应用于客户端, 该客户端 经由网络连接到服务器, 包括:
接收用户输入的应用运行指示, 并将该指示发送至服务器端, 以便在服务器端 启动相应应用并运行;
利用该客户端与服务器之间的当前网络带宽中的第一部分来接收所述服务器渲 染完毕的应用画面, 并将所述画面接收器接收的应用画面展现给所述用户;
利用所述当前网络带宽中的第二部分来从所述服务器下载所述应用。
根据本发明的另一方面, 提供了一种应用执行方法, 应用于服务器处, 该服务 器经由网络与各客户端相连, 包括:
接收来自某一客户端的应用运行指示, 启动相应应用并运行;
利用该客户端与服务器之间的当前网络带宽中的第一部分发送服务器渲染完毕 的应用画面;
利用所述当前网络带宽的第二部分将所述应用发送至所述客户端。
根据本发明的又一个方面, 提供了一种计算机程序, 其包括计算机可读代码,
当所述计算机可读代码在计算设备上运行时, 导致所述计算设备执行根据上文任一 个所述的应用执行方法。
根据本发明的再一个方面, 提供了一种计算机可读介质, 其中存储了上述的计 算机程序。
本发明的有益效果为- 根据本发明的应用执行方法、 设备和系统, 可以对应用进行边下载边运行, 由 此解决了无法在对应用下载前完整认识此应用的问题。 在本发明实施例中, 可以利 用应用执行设备使得客户端的指示发送到服务器, 服务器根据客户端的指示进行操 作, 进而可以准确根据用户需求对应用进行操作。 可以对应用进行边运行边下载, 取得了节省用户时间, 使得用户在最短时间内对应用有完整了解, 从而提高用户体 验的有益效果。 另外, 本发明实施例提供的应用执行设备不需要下载完应用的核心 文件就可以对应用进行边运行边下载, 取得了可扩展性强的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优 点能够更明显易懂, 以下特举本发明的具体实施方式。 附图说明
通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普 通技术人员将变得清楚明了。 附图仅用于示出优选实施方式的目的, 而并不认为是 对本发明的限制。 而且在整个附图中, 用相同的参考符号表示相同的部件。 在附图 中- 图 1示出了根据本发明一个实施例的驻留在客户端的应用执行设备的结构示意 图;
图 2示出了根据本发明一个实施例的驻留在服务器端的应用执行设备的结构示 意图;
图 3示出了根据本发明一个实施例的应用执行系统的结构示意图;
图 4 示出了根据本发明一个实施例的客户端一侧的应用执行方法的处理流程 图;
图 5示出了根据本发明一个实施例的服务器端一侧的应用执行方法的处理流程 图;
图 6示意性地示出了用于执行根据本发明的应用执行方法的计算设备的框图; 以及
图 7示意性地示出了用于保持或者携带实现根据本发明的应用执行方法的程序 代码的存储单元。 具体实施方式
下面结合附图和具体的实施方式对本发明作进一步的描述。
相关技术中提及, 大多数应用软件并不能支持对应用进行边下载边运行。 即使 可以, 也需要首先下载应用的大部分核心文件之后, 才能边下载边使用, 不能做到 使用户在下载应用的过程中提前体验到应用内容, 可扩展性较差。
为解决上述技术问题, 本发明实施例提供了一种应用执行设备。 图 1示出了根 据本发明一个实施例的驻留在客户端的应用执行设备的结构示意图。 如图 1 所示, 驻留在客户端的应用执行设备 100至少包括: 测速器 1 10、 应用启动器 120、 画面接 收器 130、 显示器 140、 应用下载器 150以及带宽释放器 160。
现介绍驻留在客户端的应用执行设备 100中各器件或组成的功能以及各部分间 的连接关系。 驻留在客户端的应用执行设备 100 中应用启动器 120接收用户输入的 应用运行指示, 并将用户输入的运行指示发送至服务器端。 经服务器端响应, 画面 接收器 130 利用用户所在的客户端与服务器之间的当前网络带宽中的第一部分来接 收服务器渲染完毕的应用画面。 画面接收器 130 接收到服务器发送的画面之后, 显 示器 140对所接收到的应用画面进行展示。
需要注意的是, 本发明实施例中, 当前网络带宽被分为两个部分。 由于根据用 户输入的运行指示不同, 驻留在客户端的应用执行设备 100 可能一方面需要按照用 户输入的运行指示对应用进行下载, 另一方面需要提前让用户体验到应用。 所以, 本发明实施例中, 利用当前网络带宽的第一部分来接收服务器渲染完毕的画面, 使 用户提前体验应用。 另外, 应用下载器 150根据应用启动器 120 的指示, 利用当前 网络带宽中的第二部分来从服务器下载应用。 本发明实施例中将当前网络带宽分成 两部分来使用, 可以更加合理地利用当前网络带宽来执行用户输入的运行指示。
具体地, 首先, 测速器 110测量当前网络带宽值, 并判断当前网络带宽值是否 大于预设带宽的阈值。 测速器 110 的一侧与应用下载器 150耦合, 若当前带宽的值 不大于预设带宽的阈值, 带宽量不足以支撑在运行应用的同时执行下载应用的任务, 所以利用当前网络带宽无法实现边下载应用边运行应用的目的, 仅能用于提供应用 下载操作, 此时, 测速器 110仅触发应用下载器 150。 应用下载器 150接收到服务器 无法启动应用的消息, 则结合当前网络带宽中的第一部分和第二部分从服务器端下 载应用。
另外, 测速器 110的另一侧与应用启动器 120耦合, 若当前网络带宽值大于预 设带宽的阈值, 则触发应用启动器 120。应用启动器 120接收到用户输入的应用运行 指示, 将该指示发送至服务器端以便在服务器端启动相应应用并运行, 并且触发与 其另一端耦合的画面接收器 130。画面接收器 130接收到应用启动器 120发送的应用 运行指示之后, 利用客户端与服务器之间的当前网络带宽中的第一部分来接收服务 器渲染完毕的应用画面。 进一步, 显示器 140对画面接收器 130接收到的应用画面 进行展示。 另外, 应用下载器 150与应用启动器 120相耦合, 并根据其指示利用当 前网络带宽中的第二部分从服务器端下载应用。
在此过程中, 应用启动器 120接收一切来自用户的、关于上述应用的操作指令, 并且将接收到的操作指令发送至服务器端, 方便服务器执行相应操作。 而服务器执 行相应操作之后生成的应用画面由画面接收器 130进行接收。
当应用试运行结束, 与应用下载器 150相耦合的带宽释放器 160会接收到来自 服务器端的应用试运行结束的提示消息, 释放画面接收器 130占用的第一部分带宽。 第一部分带宽释放之后, 带宽释放器 160会指示应用下载器 150结合第一部分带宽 和第二部分带宽对应用进行下载。 即当试运行结束, 当前网络带宽全部被用来下载 当前应用, 保证以最少的时间下载完应用, 节省用户时间, 提高下载效率。 当应用 下载结束后, 带宽释放器 160 负责释放下载应用所使用的带宽, 使得用户在当前应 用下载完毕后及时利用当前网络带宽处理其他需要占用网络带宽的应用。 需要注意 的是, 本发明实施例中, 用户所在的客户端经由网络连接到服务器。
在本发明实施例中, 驻留在客户端的应用执行设备中的应用启动器将应用运行 指示发送至服务器端, 保证了服务器端能够及时跟进用户指示做出相应操作。 而画 面接收器接收经服务器渲染完毕的应用画面, 能够即时反馈给用户服务器根据运行 指示所做出的操作, 从而保证用户输入的一切运行指示能够得到及时有效地执行, 更有利于用户对于应用的进一步体验及下载。
驻留在客户端的应用执行设备根据用户输入的运行指示可以对应用进行边运行 边下载, 节省用户时间, 使得用户在最短时间内对应用有完整了解, 提前了解应用 内容, 并据此对应用进行选择, 从而提高用户体验。 相对于现有技术, 本发明实施 例不需要下载应用的核心文件就可以对应用进行边运行边下载, 节省用户时间, 保 证下载的效率, 使得用户可以提前体验到应用的内容。 本发明实施例中, 用户可以 根据不同的需要对应用进行选择, 并且本发明实施例对运行终端没有硬性要求, 可 扩展性强。
另外, 在本发明实施例中, 首先测量当前网络带宽值, 并且将当前网络带宽分
为两部分, 根据用户输入的运行指示结合具体带宽情况, 合理利用当前网络带宽对 应用执行操作, 可以更好地利用当前网络资源执行客户端的运行指示, 更加高效地 对应用进行运行或者下载。
需要注意的是, 本发明实施例中, 应用试运行结束时, 驻留在客户端的应用执 行设备可以收到服务器发送的提示消息, 及时释放可用带宽, 使得第一部分和第二 部分带宽相结合对应用进行下载, 充分利用当前网络资源。 即当试运行结束, 当前 网络带宽全部被用来下载当前应用, 保证以最少的时间下载完应用, 节省用户时间, 提高下载效率。 并且, 在应用完全下载完毕后, 本发明实施例提供的驻留在客户端 的应用执行设备可以自动释放下载应用所使用的带宽, 使得用户在当前应用下载完 毕后及时利用当前网络带宽处理其他需要占用网络带宽的应用, 从而提高用户体验。
图 2示出了根据本发明一个实施例的驻留在服务器端的应用执行设备的结构示 意图。 参见图 2, 驻留在服务器端的应用执行设备 200至少包括: 缓存器 210、 应用 运行器 220、 画面发送器 230、 应用发送器 240、 计时器 250以及提示器 260。
现介绍驻留在服务器端的应用执行设备 200中各器件或组成的功能以及各部分 间的连接关系。 首先, 驻留在服务器端的应用执行设备 200 中的应用运行器 220接 收来自某一客户端的应用运行指示, 启动相应应用并运行。 其次, 画面发送器 230 收到应用运行器 220 的指示, 利用该客户端与服务器之间的当前网络带宽中的第一 部分发送服务器渲染完毕的应用画面。 而应用发送器 240 则利用当前网络带宽的第 二部分将应用发送至上述客户端。 本发明实施例中将当前网络带宽分成两部分来使 用, 可以更加合理地利用当前网络带宽来执行用户输入的运行指示。
具体地, 当应用运行器 220接收到应用运行指示, 但服务器预设的、 该应用的 运行次数已满, 此时服务器端暂时无法启动应用。 为保证当服务器可以启动应用时, 第一时间执行客户端的应用运行指示, 应用运行器 220通过与其耦合的缓存器 210, 可以将客户端置入缓存器 210。缓存器 210接收到应用运行器 220发送的客户端数据 之后, 以队列的形式缓存客户端。 当客户端在队列中排队时, 根据客户端的应用运 行指示, 同时结合当前网络带宽的具体情况, 与应用运行器 220 相耦合的应用发送 器 240结合第一部分带宽和第二部分带宽将应用发送至客户端。
待客户端排序出队列时, 应用运行器 220触发之前所接收到的运行指示。 通过 在服务器无法启动应用时将客户端缓存, 并且在客户端排序出队列时及时触发之前 的应用运行指示, 本发明实施例可以更加高效地完成根据用户输入的应用运行指示 所进行的一切操作。 当应用运行器 220 触发所接收到的应用运行指示之后, 画面发 送器 230根据应用运行器 220 的指示, 将应用画面利用上述客户端与服务器之间的
当前网络带宽中的第一部分发送出去。 其中, 所发送的应用画面为执行了相应操作 后得到的应用画面。
由于根据用户输入的运行指示不同, 驻留在客户端的应用执行设备可能一方面 需要按照用户输入的运行指示对应用进行下载, 另一方面需要提前让用户体验到应 用。 为满足用户对于应用不同的运行指示, 本发明实施例中, 将当前网络带宽分为 两部分, 更加灵活并且更加合理有效利用当前网络带宽。 本发明实施例中, 利用带 宽的第一部分来接收服务器渲染完毕的画面, 使用户可以对应用进行提前体验, 同 时可以利用当前网络带宽的第二部分对应用进行下载。 另外, 若当前网络带宽值不 足以支撑对应用同时进行运行及下载时, 或者用户对于当前应用的试运行已结束, 则可以结合当前网络带宽的两部分仅对应用进行下载。
当应用执行设备 200接收到来自客户端的应用运行指令, 驻留在服务器端的应 用执行设备 200 中的计时器 250从应用运行器 220接受来自客户端的应用运行指令 开始, 对应用运行时间进行计时。 当计时器 250显示的时间超出预设的第一时间时, 与计时器 250相耦合的提示器 260发送应用试运行已结束的提示消息至客户端。 本 发明实施例中, 驻留在服务器端的应用执行设备 200 中的计时器 250对应用运行器 220执行来自客户端的操作指令需要的时间计时,并由提示器 260将计时结果发送给 客户端, 及时反馈驻留在服务器端的应用执行设备对用户输入的应用运行指示进行 操作所需要的时间, 根据驻留在服务器端的应用执行设备进行操作的时间可以反映 当前网络带宽是否足够支撑对应用进行边下载边运行, 保证驻留在客户端的应用执 行设备可以更加合理地利用当前网络带宽执行用户输入的应用运行指示。
另外, 当应用运行器 220再次收到新的操作指令, 计时器 250则重新开始计时。 若计时器 250显示的时间超过预设的第二时间, 则提示器 260发送应用试运行已结 束的提示消息至客户端。 其中, 第一时间值为驻留在服务器端的应用执行设备对应 用进行运行以及下载的全部时间, 而第二时间值为驻留在服务器端的应用执行设备 对应用进行运行及下载期间, 当用户输入其他应用运行指示, 驻留在服务器端的应 用执行设备进行操作所需要的时间, 所以, 本发明实施例中, 第二时间值小于上述 第一时间值。 需要注意的是, 本发明实施例中, 服务器经由网络与各客户端相连。
在本发明实施例中, 驻留在服务器端的应用执行设备中的应用运行器接收客户 端的应用运行指示, 保证服务器端能够及时跟进用户指示做出相应操作。 而画面发 送器发送经服务器渲染完毕的应用画面, 能够及时反馈给用户服务器根据运行指示 所做出的操作, 保证用户输入的一切运行指示能够得到及时有效地执行, 更有利于 用户对于应用的进一步体验及下载。
本发明实施例可以对应用进行边运行边下载, 节省用户时间, 使得用户在最短 时间内对应用有完整了解, 提前了解应用内容, 并据此对应用进行选择, 从而提高 用户体验。 相对于现有技术, 本发明实施例提供的应用执行设备不需要下载应用的 核心文件就可以对应用进行边运行边下载, 保证下载的效率, 使得用户可以提前体 验到应用的内容, 根据用户不同的需要对应用进行选择, 并且本发明实施例对运行 终端没有硬性要求, 可扩展性强。
另外, 在本发明实施例中, 当服务器预设的、 应用的运行次数已满, 驻留在服 务器端的应用执行设备会将客户端置入缓存器以队列的形式缓存, 当客户端排序出 队列时, 再执行操作, 保证最大程度利用服务器的资源, 使得客户端在最短时间内 接收服务器执行的操作, 这样可以更好地利用当前网络资源执行客户端的运行指示。
需要注意的是, 本发明实施例中, 驻留在服务器端的应用执行设备对应用运行 过程进行计时。 在应用试运行结束时, 驻留在服务器端的应用执行设备发送应用试 运行已结束的提示消息, 使得驻留在客户端的应用执行设备可以及时释放可用带宽, 对应用进行下载, 充分利用当前网络资源, 并且在应用完全下载完毕后, 根据驻留 在服务器端的应用执行设备发送的试运行已结束的提示消息, 本发明实施例提供的 驻留在客户端的应用执行设备可以自动释放下载应用所使用的带宽, 使得用户在当 前应用下载完毕后及时利用当前网络带宽处理其他需要占用网络带宽的应用, 从而 提高用户体验。
基于上文各优选实施例提供的应用执行的设备, 基于同一发明构思, 本发明实 施例提供一种应用执行系统, 用于解决现有技术未解决的技术问题。
图 3示出了根据本发明一个实施例的应用执行系统的结构示意图。 参见图 3, 本发明实施例的应用执行系统包括客户端 310、 服务器端 320、 驻留在客户端的应用 执行设备 100以及驻留在服务器端的应用执行设备 200。
需要注意的是, 本发明中, 驻留在客户端的应用执行设备 100可以设置在客户 端 310 内部, 也可以单独使用, 本发明并不对此加以限定。 在本发明实施例中, 为 更加清晰地阐述各部分的连接关系, 优选驻留在客户端的应用执行设备 100 位于客 户端 310外部, 其架构同上文图 1所示的驻留在客户端的应用执行设备 100是相似 的, 在此不做赘述。 同理可知, 驻留在服务器端的应用执行设备 200 可以集成于服 务器端 320内部, 也可以单独使用, 本发明并不对此加以限定。 在本发明实施例中, 为更加清晰地阐述各部分的连接关系, 优选驻留在服务器端的应用执行设备 200 位 于服务器端 320外部,其架构同上文图 2所示的驻留在服务器端的应用执行设备 200 是相似的, 在此不做赘述。
另外, 图 3中客户端 310的数量显示为 3个, 图中的 3个并不是客户端 310的 具体数量, 而是用于示例存在多个客户端 310, 实际应用中, 客户端 310的具体数量 可能是任意整数值, 根据具体情况设定。 每个客户端 310 的架构是相似的, 在本发 明实施例中所起到的作用相同。 与客户端 310相对应, 图 3 中驻留在客户端的应用 执行设备 100 的数量也显示为 3个, 仅用于示例存在多个驻留在客户端的应用执行 设备 100, 实际应用中, 驻留在客户端的应用执行设备 100的具体数量可能是任意整 数值, 根据具体情况设定。 每个驻留在客户端的应用执行设备 100 中的架构是相似 的, 在此不做赘述。
如图 3所示, 本发明实施例中, 优选每个客户端 310与一个应用执行设备 100 相对应, 但在实际应用中, 若一个应用执行设备 100 仅能够适用一个应用, 那么, 对于同时执行多个应用的客户端 310而言, 每个客户端 310也可能与多个驻留在客 户端的应用执行设备 100相耦合, 本发明并不对此加以限定。
现介绍图 3所示的应用执行系统中各器件或组成的功能以及各部分间的连接关 系。 当客户端 310 接收到用户输入的应用运行指示之后, 将该应用运行指示发送给 与其耦合的驻留在客户端的应用执行设备 100。驻留在客户端的应用执行设备 100中 的测速器 110 对当前网络带宽进行测量, 并判断当前网络带宽是否大于预设带宽阈 值。 若当前网络带宽值并不大于预设带宽阈值, 表明当前网络带宽不足以支撑在运 行应用的同时执行下载应用的任务, 所以利用当前网络带宽无法实现边下载应用边 运行应用的目的, 仅能用于提供应用下载操作, 则测速器 110 仅触发与其一端耦合 的应用下载器 150, 应用下载器 150接收到服务器无法启动应用的消息, 则结合当前 网络带宽中的第一部分和第二部分对应用进行下载。 若当前网络带宽值大于预设带 宽阈值, 则测速器 1 10触发与其另一端耦合的应用启动器 120。
应用启动器 120经测速器 1 10触发, 接收用户输入的应用运行指示, 并将该指 示发送给服务器端 320以便服务器端 320启动相应应用并运行,并且应用启动器 120 触发与其另一端耦合的画面接收器 130。画面接收器 130接收到应用启动器 120发送 的应用运行指示之后, 利用客户端 310与服务器 320之间的当前网络带宽中的第一 部分来接收服务器渲染完毕的应用画面。 进一步, 与画面接收器 130 耦合的显示器 140对画面接收器 130接收到的应用画面进行展示。
本发明实施例中, 当前网络带宽被分为两个部分。 由于根据用户输入的运行指 示不同, 驻留在客户端的应用执行设备 1 10 可能一方面需要按照用户输入的运行指 示对应用进行下载, 另一方面需要提前让用户体验到应用。 所以, 本发明实施例中, 利用带宽的第一部分来接收服务器渲染完毕的画面, 使用户提前体验应用。 另外,
应用下载器 150与应用启动器 120相耦合, 并根据其指示利用当前网络带宽中的第 二部分从服务器端 320 下载应用。 本发明实施例中, 将当前网络带宽分成两部分来 使用, 可以更加合理地利用当前网络带宽来执行用户输入的运行指示。
需要注意的是, 本发明实施例中, 应用启动器 120接收一切来自用户的、 关于 当前所运行的应用的操作指令, 并且将接收到的操作指令发送至服务器端 320, 方便 服务器端 320 执行相应操作, 从而保证用户输入的一切运行指示能够得到及时有效 地执行, 更有利于用户对于应用的进一步体验及下载。 另外, 服务器端 320 执行相 应操作之后生成的应用画面均由画面接收器 130进行接收。
客户端 310经由网络连接到服务器端 320。 客户端 310接收用户输入的应用运 行指示, 并将此应用运行指示发送至服务器端 320, 服务器端 320将该应用运行指示 发送到驻留在服务器端的应用执行设备 200,驻留在服务器端的应用执行设备 200根 据应用运行指示启动相应应用并运行。
具体地, 驻留在服务器端的应用执行设备 200中的应用运行器 220接收来自某 一客户端 310 的应用运行指示, 启动相应应用并运行。 此时, 若服务器端 320预设 的、 该应用的运行此时已满, 服务器端 320 无法启动应用。 为保证当服务器端 320 可以启动应用时, 第一时间执行客户端 310 的应用运行指示, 应用运行器 220将客 户端 310置入与其相耦合的缓存器 210。 缓存器 210以队列的形式缓存客户端 310。 客户端 310在队列中排队时, 根据客户端 310 的应用运行指示, 同时结合当前网络 带宽的具体情况, 应用发送器 240 结合当前网络带宽第一部分和第二部分将应用发 送至客户端 310。
待客户端 310排序出队列时, 应用运行器 220触发之前所接收到的运行指示。 通过在服务器端 320无法启动应用时将客户端 310缓存, 并且在客户端 310排序出 队列时及时触发之前的应用运行指示, 本发明实施例可以更加高效地完成根据用户 输入的应用运行指示所进行的一切操作。 应用运行器 220与画面发送器 230相耦合, 画面发送器 230根据应用运行器 220的指示, 将应用画面利用客户端 310与服务器 端 320 之间的当前网络带宽中的第一部分发送出去, 其中, 所发送的应用画面为执 行了相应操作后得到的渲染完毕的画面。
与应用运行器 220另一端相耦合的计时器 250从应用运行器 220接收来自客户 端 310 的操作指令时开始对应用运行时间进行计时。 当计时器 250显示的时间超出 预设的第一时间时, 计时器 250触发提示器 260, 提示器 260发送应用试运行已结束 的提示消息至客户端 310。本发明实施例中, 驻留在服务器端的应用执行设备 200中 的计时器 250对应用运行器 220执行来自客户端 310的操作指令需要的时间计时,
并由提示器 260将计时结果发送给客户端 310,及时反馈驻留在服务器端的应用执行 设备对用户输入的应用运行指示进行操作所需要的时间, 根据驻留在服务器端的应 用执行设备进行操作的时间可以反映当前网络带宽是否足够支撑对应用进行边下载 边运行, 保证驻留在客户端的应用执行设备 100 可以更加合理地利用当前网络带宽 执行用户输入的应用运行指示。
需要注意的是, 当应用运行器 220再次接收到新的操作指令, 计时器 250则重 新开始计时。 若计时器 250显示的时间超过预设的第二时间, 则提示器 260发送应 用试运行已结束的提示消息至客户端 310。 其中, 第一时间值为驻留在服务器端的应 用执行设备对应用进行运行以及下载的全部时间, 而第二时间值为驻留在服务器端 的应用执行设备对应用进行运行及下载期间, 当用户输入其他应用运行指示, 驻留 在服务器端的应用执行设备进行操作所需要的时间, 所以, 本发明实施例中, 第二 时间值小于第一时间值。
在本发明实施例中, 可以利用驻留在客户端的应用执行设备使得客户端的指示 发送到服务器, 服务器根据客户端的指示进行操作, 保证可以准确根据用户需求对 应用进行操作。 本发明实施例可以对应用进行边运行边下载, 节省用户时间, 使得 用户在最短时间内对应用有完整了解, 从而提高用户体验。
另外, 在本发明实施例中, 驻留在客户端的应用执行设备测量当前网络带宽的 大小, 并且将当前网络带宽分为两部分, 根据用户输入的运行指示结合具体带宽情 况合理利用当前网络带宽对应用执行操作, 而当服务器预设的、 应用的运行次数已 满, 驻留在服务器端的应用执行设备会将客户端置入缓存器以队列的形式缓存, 当 客户端排序出队列时, 再执行操作, 上述系统的组成均保证最大程度地利用服务器 的资源, 使得客户端在最短时间内接收服务器执行的操作, 这样可以更好地利用当 前网络资源执行客户端的运行指示。
相对于现有技术中提及的情况, 本发明实施例不需要下载应用的核心文件就可 以对应用进行边运行边下载, 节省用户时间, 保证下载的效率, 使得用户可以提前 体验到应用的内容, 根据用户不同的需要对应用进行选择, 并且本发明实施例对运 行终端没有硬性要求, 可扩展性强。
需要注意的是, 本发明实施例中, 驻留在服务器端的应用执行设备对应用运行 过程进行计时。 在应用试运行结束时, 驻留在服务器端的应用执行设备发送应用试 运行已结束的提示消息, 使得驻留在客户端的应用执行设备可以及时释放可用带宽, 对应用进行下载, 充分利用当前网络资源, 并且在应用完全下载完毕后, 本发明实 施例提供的驻留在服务器端的应用执行设备可以自动释放下载应用所使用的带宽,
使得用户在当前应用下载完毕后及时利用当前网络带宽处理其他需要占用网络带宽 的应用, 从而提高用户体验。
基于上文各优选实施例提供的应用执行的设备和系统, 基于同一发明构思, 本 发明实施例提供一种应用执行方法, 用于实现上述设备和系统。
图 4示出了根据本发明一个实施例的客户端一侧的应用执行方法处理流程图。 如图 4所示, 该流程起始于步骤 S402, 首先, 在客户端接收到用户输入的应用运行 指示之前, 驻留在客户端的应用执行设备中的测速器测量当前网络带宽, 并判断当 前网络带宽是否大于预设带宽阈值。 若小于预设带宽阈值, 带宽量不足以支撑在运 行应用的同时执行下载应用的任务, 所以利用当前网络带宽无法实现边下载应用边 运行应用的目的, 仅能用于提供应用下载操作, 则利用当前网络带宽的第一部分与 第二部分对应用仅进行下载。 若大于预设带宽阈值, 则提供接口接收应用运行指示。
其次, 当网络带宽值大于预设带宽阈值,客户端接收用户输入的应用运行指示, 并将该指示发送至服务器端, 以便在服务器端启动相应应用并运行。 若接收到用户 输入的应用运行指示之后, 服务器端暂时无法启用应用, 为保证当服务器可以启动 应用时, 第一时间执行客户端的应用运行指示, 则将客户端设置为排队等待状态。 此时, 结合当前网络带宽中第一部分带宽和第二部分带宽从服务器下载应用。 若服 务器端可以启用, 执行步骤 S404, 驻留在客户端的应用执行设备中的画面接收器利 用客户端与服务器之间的当前网络带宽中的第一部分来接收服务器渲染完毕的应用 画面, 并将画面接收器接收的应用画面展现给用户。
由于根据用户输入的运行指示不同, 驻留在客户端的应用执行设备可能一方面 需要按照用户输入的运行指示对应用进行下载, 另一方面需要提前让用户体验到应 用。 为满足用户对于应用不同的运行指示, 本发明实施例中, 将当前网络带宽分为 两部分, 更加灵活并且更加合理有效利用当前网络带宽。 本发明实施例中, 利用带 宽的第一部分来接收服务器渲染完毕的画面, 使用户可以对应用进行提前体验, 同 时可以利用当前网络带宽的第二部分执行步骤 S406, 对应用进行下载。 另外, 若当 前网络带宽值不足以支撑对应用同时进行运行及下载时, 或者用户对于当前应用的 试运行已结束, 则可以结合当前网络带宽的两部分仅执行步骤 S406, 对应用进行下 载。
当应用在运行时, 驻留在客户端的应用执行设备接收来自用户的、 关于当前应 用的一切操作指令, 并将该指令发送至服务器端, 以便服务器端执行相应操作。 当 服务器执行完相应操作之后, 驻留在客户端的应用执行设备中的画面接收器接收服 务器执行相应操作后生成的应用画面。
当试运行结束, 驻留在客户端的应用执行设备接收到来自服务器端的应用试运 行结束的提示消息, 释放画面接收器占用的第一部分带宽, 然后利用当前网络带宽 中的第一部分和第二部分来从服务器端下载应用。 即当试运行结束, 当前网络带宽 全部被用来下载当前应用, 保证以最少的时间下载完应用, 节省用户时间, 提高下 载效率。 当应用下载结束后, 驻留在服务器端的应用执行设备释放下载当前应用所 使用的带宽, 使得用户在当前应用下载完毕后及时利用当前网络带宽处理其他需要 占用网络带宽的应用。
在本发明实施例中, 驻留在客户端的应用执行设备中的应用启动器将应用运行 指示发送至服务器端, 保证服务器端能够及时跟进用户指示做出相应操作。 而画面 接收器接收经服务器渲染完毕的应用画面, 能够即时反馈给用户服务器根据运行指 示所做出的操作, 保证用户输入的一切运行指示能够得到及时有效地执行, 更有利 于用户对于应用的进一步体验及下载。 驻留在客户端的应用执行设备将客户端的指 示发送到服务器, 服务器根据客户端的指示进行操作, 进而可以准确根据用户需求 对应用进行操作。 驻留在客户端的应用执行设备根据用户输入的运行指示可以对应 用进行边运行边下载, 节省用户时间, 使得用户在最短时间内对应用有完整了解, 提前了解应用内容, 并据此对应用进行选择, 从而提高用户体验。
另外, 在本发明实施例中, 首先测量当前网络带宽的大小, 并且将当前网络带 宽分为两部分, 根据用户输入的运行指示结合具体带宽情况合理利用当前网络带宽 对应用执行操作, 可以更好地利用当前网络资源执行客户端的运行指示, 更加高效 地对应用进行运行或者下载的操作。 本发明实施例可以对应用进行边运行边下载, 节省用户时间, 使得用户在最短时间内对应用有完整了解。
相对于现有技术中提及的情况, 本发明实施例不需要下载完应用的核心文件就 可以对应用进行边运行边下载, 节省用户时间, 保证下载的效率, 使得用户可以提 前体验到应用的内容, 根据自己的需要对应用进行选择, 并且本发明实施例对运行 终端没有硬性要求, 可扩展性强。
需要注意的是, 本发明实施例中, 应用试运行结束时, 驻留在客户端的应用执 行设备可以收到服务器发送的提示消息, 及时释放可用带宽, 使得第一部分和第二 部分带宽相结合对应用进行下载, 充分利用当前网络资源。 即当试运行结束, 当前 网络带宽全部被用来下载当前应用, 保证以最少的时间下载完应用, 节省用户时间, 提高下载效率。 并且, 在应用完全下载完毕后, 本发明实施例提供的驻留在服务器 端的应用执行设备可以自动释放下载应用所使用的带宽, 使得用户在当前应用下载 完毕后及时利用当前网络带宽处理其他需要占用网络带宽的应用, 从而提高用户体
验。
图 5示出了根据本发明一个实施例的服务器端一侧的应用执行方法的处理流程 图。 如图 5所示, 该流程起始于步骤 S502, 首先, 服务器端接收用户输入的应用运 行指示, 启动相应应用并运行。 如果接收到应用运行指示时, 服务器端由于预设的、 该应用的运行次数已满的原因而暂时无法启动上述应用时, 为保证当服务器可以启 动应用时, 第一时间执行客户端的应用运行指示, 则以队列的形式缓存客户端。 当 客户端排序出队列时, 根据客户端的应用运行指示, 同时结合当前网络带宽的具体 情况, 触发该应用运行, 结合当前网络带宽中的第一部分及第二部分将上述应用发 送至客户端。
其次, 执行步骤 S504 , 服务器利用客户端与服务器之间的当前网络带宽中的第 一部分, 将执行相应操作后得到的渲染完毕的应用画面发送至客户端。 本发明实施 例中, 当前网络带宽被分为两个部分。 由于根据用户输入的运行指示不同, 驻留在 客户端的应用执行设备可能一方面需要按照用户输入的运行指示对应用进行下载, 另一方面需要提前让用户体验到应用。 所以, 本发明实施例中, 利用带宽的第一部 分来接收服务器渲染完毕的画面, 使用户提前体验应用。
另外, 在应用运行的过程中, 服务器接收来自客户端的操作指令, 并且根据接 收到的操作指令在应用中执行相应的操作。 服务器端利用该客户端与服务器之间的 当前网络网络带宽中的第一部分发送服务器渲染完毕的应用画面, 包括上述执行相 应操作后得到的应用画面。 当前网络带宽中的第一部分如步骤 S504所述, 发送渲染 完毕的应用画面, 而当前网络带宽中的第二部分用来执行步骤 S506, 将应用发送至 客户端。 本发明实施例中将当前网络带宽分成两部分来使用, 可以更加合理地利用 当前网络带宽来执行用户输入的运行指示。
进一步, 当应用开始运行时, 对应用的运行时间进行计时。 如果计时时长超出 预设的第一时间, 发送应用试运行已结束的提示消息至客户端, 保证驻留在客户端 的应用执行设备可以更加合理地利用当前网络带宽执行用户输入的应用运行指示。 当再次接收到新的操作指令, 则驻留在服务器端的应用执行设备重新计时。 如果计 时时长超过了预设的第二时间, 则发送应用试运行已结束的提示消息至客户端。 其 中, 第一时间值为驻留在服务器端的应用执行设备对应用进行运行以及下载的全部 时间, 而第二时间值为驻留在服务器端的应用执行设备对应用进行运行及下载期间, 当用户输入其他应用运行指示, 驻留在服务器端的应用执行设备进行操作所需要的 时间, 所以, 本发明实施例中, 第二时间值小于第一时间值。
在本发明实施例中, 可以利用驻留在客户端的应用执行设备使得客户端的指示
发送到服务器, 服务器根据客户端的指示进行操作, 保证可以准确根据用户需求对 应用进行操作。 本发明实施例可以对应用进行边运行边下载, 节省用户时间, 使得 用户在最短时间内对应用有完整了解, 从而提高用户体验。
另外, 在本发明实施例中, 驻留在客户端的应用执行设备测量当前网络带宽的 大小, 并且将当前网络带宽分为两部分, 根据用户输入的运行指示结合具体带宽情 况合理利用当前网络带宽对应用执行操作, 而当服务器预设的、 应用的运行次数已 满, 驻留在服务器端的应用执行设备会将客户端置入缓存器以队列的形式缓存, 当 客户端排序出队列时, 再执行操作, 上述系统的组成均保证最大程度地利用服务器 的资源, 使得客户端在最短时间内接收服务器执行的操作, 这样可以更好地利用当 前网络资源执行客户端的运行指示。
相对于现有技术中提及的情况, 本发明实施例不需要下载应用的核心文件就可 以对应用进行边运行边下载, 节省用户时间, 保证下载的效率, 使得用户可以提前 体验到应用的内容, 根据用户不同的需要对应用进行选择, 并且本发明实施例对运 行终端没有硬性要求, 可扩展性强。
需要注意的是, 本发明实施例中, 驻留在服务器端的应用执行设备对应用运行 过程进行计时。 在应用试运行结束时, 驻留在服务器端的应用执行设备发送应用试 运行已结束的提示消息, 使得驻留在客户端的应用执行设备可以及时释放可用带宽, 对应用进行下载, 充分利用当前网络资源, 并且在应用完全下载完毕后, 本发明实 施例提供的驻留在服务器端的应用执行设备可以自动释放下载应用所使用的带宽, 使得用户在当前应用下载完毕后及时利用当前网络带宽处理其他需要占用网络带宽 的应用, 从而提高用户体验。
在此处所提供的说明书中, 说明了大量具体细节。 然而, 能够理解, 本发明的实施 例可以在没有这些具体细节的情况下实践。 在一些实例中, 并未详细示出公知的方法、 结构和技术, 以便不模糊对本说明书的理解。
类似地, 应当理解, 为了精简本公开并帮助理解各个发明方面中的一个或多个, 在 上面对本发明的示例性实施例的描述中, 本发明的各个特征有时被一起分组到单个实施 例、 图、 或者对其的描述中。 然而, 并不应将该公开的方法解释成反映如下意图: 即所 要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说, 如下面的权利要求书所反映的那样, 发明方面在于少于前面公开的单个实施例的所有特 征。 因此, 遵循具体实施方式的权利要求书由此明确地并入该具体实施方式, 其中每个 权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改
变并且把它们设置在与该实施例不同的一个或多个设备中。 可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件, 以及此外可以把它们分成多个子模块或子单元 或子组件。 除了这样的特征和 /或过程或者单元中的至少一些是相互排斥之外, 可以采用 任何组合对本说明书 (包括伴随的权利要求、 摘要和附图) 中公开的所有特征以及如此 公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包 括伴随的权利要求、 摘要和附图) 中公开的每个特征可以由提供相同、 等同或相似目的 的替代特征来代替。
此外, 本领域的技术人员能够理解, 尽管在此所述的一些实施例包括其它实施例中 所包括的某些特征而不是其它特征, 但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。 例如, 在下面的权利要求书中, 所要求保护的实施例 的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的 软件模块实现, 或者以它们的组合实现。 本领域的技术人员应当理解, 可以在实践中使 用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的应用执行设备中的一 些或者全部部件的一些或者全部功能。 本发明还可以实现为用于执行这里所描述的方法 的一部分或者全部的设备或者装置程序 (例如, 计算机程序和计算机程序产品) 。 这样 的实现本发明的程序可以存储在计算机可读介质上, 或者可以具有一个或者多个信号的 形式。 这样的信号可以从因特网网站上下载得到, 或者在载体信号上提供, 或者以任何 其他形式提供。
例如, 图 6示出了可以实现根据本发明的应用执行方法的计算设备。 该计算设备传 统上包括处理器 610和以存储器 620形式的计算机程序产品或者计算机可读介质。 存储 器 620可以是诸如闪存、 EEPROM (电可擦除可编程只读存储器) 、 EPR0M、 硬盘或者 ROM 之类的电子存储器。存储器 620具有用于执行上述方法中的任何方法步骤的程序代码 631 的存储空间 630。例如,用于程序代码的存储空间 630可以包括分别用于实现上面的方法 中的各种步骤的各个程序代码 631。这些程序代码可以从一个或者多个计算机程序产品中 读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘, 紧致盘 (CD ) 、 存储卡或者软盘之类的程序代码载体。 这样的计算机程序产品通常为如 参考图 7所述的便携式或者固定存储单元。 该存储单元可以具有与图 6的计算设备中的 存储器 620类似布置的存储段、 存储空间等。 程序代码可以例如以适当形式进行压缩。 通常,存储单元包括计算机可读代码 63 , 即可以由例如诸如 610之类的处理器读取的 代码, 这些代码当由计算设备运行时, 导致该计算设备执行上面所描述的方法中的各个 步骤。
本文中所称的 "一个实施例" 、 "实施例"或者 "一个或者多个实施例"意味着, 结合实施例描述的特定特征、 结构或者特性包括在本发明的至少一个实施例中。 此外, 请注意, 这里 "在一个实施例中" 的词语例子不一定全指同一个实施例。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域 技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。 在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。 单词 "包含"不排除存 在未列在权利要求中的元件或步骤。 位于元件之前的单词 "一"或 "一个"不排除存在 多个这样的元件。 本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的 计算机来实现。 在列举了若干装置的单元权利要求中, 这些装置中的若干个可以是通过 同一个硬件项来具体体现。 单词第一、 第二、 以及第三等的使用不表示任何顺序。 可将 这些单词解释为名称。
此外, 还应当注意, 本说明书中使用的语言主要是为了可读性和教导的目的而选择 的, 而不是为了解释或者限定本发明的主题而选择的。 因此, 在不偏离所附权利要求书 的范围和精神的情况下, 对于本技术领域的普通技术人员来说许多修改和变更都是显而 易见的。 对于本发明的范围, 对本发明所做的公开是说明性的, 而非限制性的, 本发明 的范围由所附权利要求书限定。
Claims
1、 一种应用执行设备, 驻留在客户端处, 该客户端经由网络连接到服务器, 该 应用执行设备包括:
应用启动器, 配置为接收用户输入的应用运行指示, 并将该指示发送至服务器 端, 以便在服务器端启动相应应用并运行;
画面接收器, 配置为利用该客户端与服务器之间的当前网络带宽中的第一部分 来接收所述服务器渲染完毕的应用画面;
显示器, 配置为将所述画面接收器接收的应用画面展现给所述用户;
应用下载器, 配置为利用所述当前网络带宽中的第二部分来从所述服务器下载 所述应用。
2、 根据权利要求 1所述的设备, 其中, 所述应用下载器还配置为: 若接收到指 示服务器端无法启用所述应用的消息, 则结合所述第一部分带宽和所述第二部分带 宽从所述服务器下载所述应用。
3、 根据权利要求 1或 2所述的设备, 其中, 所述设备还包括:
带宽释放器, 配置为接收到来自所述服务器端的应用试运行结束的提示消息, 释放所述画面接收器占用的第一部分带宽; 以及指示所述应用下载器结合所述第一 部分带宽和所述第二部分带宽对所述应用进行下载。
4、 根据权利要求 3所述的设备, 其中, 所述带宽释放器还配置为: 在所述应用 下载结束后, 释放下载所述应用所使用的带宽。
5、 根据权利要求 1至 4任一项所述的设备, 其中, 所述应用启动器还配置为: 接收来自所述用户的、关于所述应用的操作指令, 并将该指令发送至服务器端, 以便所述服务器端执行相应操作;
所述画面接收器还配置为: 接收所述服务器执行相应操作后生成的应用画面。
6、 根据权利要求 1至 5任一项所述的设备, 其中, 所述设备还包括: 测速器, 配置为测量所述当前网络带宽, 并判断所述当前网络带宽是否大于预 设带宽阈值;
若是, 则触发权利要求 1至 5任一项所述的设备中的各器件;
若否, 则仅触发所述应用下载器。
7、 一种应用执行设备, 驻留在服务器处, 该服务器经由网络与各客户端相连, 该应用执行设备包括:
应用运行器, 配置为接收来自某一客户端的应用运行指示, 启动相应应用并运
行;
画面发送器, 配置为利用该客户端与服务器之间的当前网络带宽中的第一部分 发送服务器渲染完毕的应用画面;
应用发送器, 配置为利用所述当前网络带宽的第二部分将所述应用发送至所述 客户端。
8、 根据权利要求 7所述的设备, 其中, 所述设备还包括:
缓存器, 配置为若所述应用运行器接收到所述应用运行指示, 但是所述服务器 端暂时无法启动所述应用时, 以队列的形式缓存所述客户端; 以及
所述应用发送器还配置为: 在所述客户端在队列中排队时, 结合所述第一部分 带宽和所述第二部分带宽将所述应用发送至该客户端。
9、 根据权利要求 8所述的设备, 其中, 所述应用运行器还配置为:
若所述服务器预设的、 该应用的运行次数已满, 则将所述客户端置入所述缓存 器中; 以及
待所述客户端排序出所述队列时, 触发该应用运行。
10、 根据权利要求 7至 9任一项所述的设备, 其中,
所述应用运行器还配置为: 接收来自所述客户端的操作指令; 以及, 根据所述 操作指令在所述应用中执行相应操作;
所述画面发送器还配置为: 将执行相应操作后得到的应用画面发送至所述客户
¾ °
11、 根据权利要求 7至 10任一项所述的设备, 其中, 所述设备还包括: 计时器, 配置为对所述应用的运行时间进行计时;
提示器, 配置为当所述计时器显示的时间超出预设的第一时间时, 发送所述应 用试运行已结束的提示消息至所述客户端。
12、 根据权利要求 1 1所述的设备, 其中,
所述计时器, 还配置为接收来自所述客户端的操作指令时开始计时, 若再次接 收到新的操作指令, 则重新计时;
所述提示器, 还配置为若所述计时器显示的时间超过预设的第二时间, 则发送 所述应用试运行已结束的提示消息至所述客户端, 其中, 所述第二时间值小于所述 第一时间值。
13、 一种应用执行系统, 包括权利要求 1至 6任一项所述的驻留在客户端的应 用执行设备,还包括权利要求 7至 12任一项所述的驻留在服务器端的应用执行设备。
14、 一种应用执行方法, 应用于客户端, 该客户端经由网络连接到服务器, 包
括- 接收用户输入的应用运行指示, 并将该指示发送至服务器端, 以便在服务器端 启动相应应用并运行;
利用该客户端与服务器之间的当前网络带宽中的第一部分来接收所述服务器渲 染完毕的应用画面, 并将所述画面接收器接收的应用画面展现给所述用户;
利用所述当前网络带宽中的第二部分来从所述服务器下载所述应用。
15、 根据权利要求 14所述的方法, 其中,
接收所述应用运行指示之后, 还包括: 若在服务器端暂时无法启用所述应用, 将所述客户端设置为排队等待状态; 此时
利用所述当前网络带宽中的第二部分来从所述服务器下载所述应用, 包括: 结 合所述第一部分带宽和所述第二部分带宽从所述服务器下载所述应用。
16、 根据权利要求 14或 15所述的方法, 其中, 还包括:
接收到来自所述服务器端的应用试运行结束的提示消息, 释放所述画面接收器 占用的第一部分带宽; 以及
利用所述当前网络带宽中的第二部分来从所述服务器下载所述应用, 包括: 结 合所述第一部分带宽和所述第二部分带宽对所述应用进行下载。
17、 根据权利要求 16所述的方法, 其中, 还包括:
在所述应用下载结束后, 释放下载所述应用所使用的带宽。
18、 根据权利要求 14至 17任一项所述的方法, 其中, 所述应用在运行时, 包 括:
接收来自所述用户的、关于所述应用的操作指令, 并将该指令发送至服务器端, 以便所述服务器端执行相应操作;
接收所述服务器执行相应操作后生成的应用画面。
19、 根据权利要求 14至 18任一项所述的方法, 其中, 接收用户输入的应用运 行指示之前, 还包括:
测量所述当前网络带宽, 并判断所述当前网络带宽是否大于预设带宽阈值; 若是, 则提供接口接收所述应用运行指示;
若否, 则仅利用所述当前网络带宽对所述应用进行下载。
20、 一种应用执行方法, 应用于服务器处, 该服务器经由网络与各客户端相连, 包括:
接收来自某一客户端的应用运行指示, 启动相应应用并运行;
利用该客户端与服务器之间的当前网络带宽中的第一部分发送服务器渲染完毕
的应用画面;
利用所述当前网络带宽的第二部分将所述应用发送至所述客户端。
21、根据权利要求 20所述的方法,其中,接收来自某一客户端的应用运行指示, 启动相应应用并运行, 包括: 若接收到所述应用运行指示, 但是所述服务器端暂时 无法启动所述应用时, 以队列的形式缓存所述客户端; 以及
利用所述当前网络带宽的第二部分将所述应用发送至所述客户端, 包括: 在所 述客户端在队列中排队时, 结合所述第一部分带宽和所述第二部分带宽将所述应用 发送至该客户端。
22、 根据权利要求 21所述的方法, 其中, 所述服务器端暂时无法启动所述应用 的原因包括: 若所述服务器预设的、 该应用的运行次数已满; 以及
待所述客户端排序出所述队列时, 触发该应用运行。
23、 根据权利要求 20至 22任一项所述的方法, 其中, 在所述应用的运行过程 中, 还包括- 接收来自所述客户端的操作指令; 以及, 根据所述操作指令在所述应用中执行 相应操作;
利用该客户端与服务器之间的当前网络带宽中的第一部分发送服务器渲染完毕 的应用画面, 包括:
利用该客户端与服务器之间的当前网络带宽中的第一部分, 将执行相应操作后 得到的应用画面发送至所述客户端。
24、 根据权利要求 20至 23任一项所述的方法, 其中, 还包括:
对所述应用的运行时间进行计时;
若计时时长超出预设的第一时间时, 发送所述应用试运行已结束的提示消息至 所述客户端。
25、 根据权利要求 24所述的方法, 其中, 还包括:
接收来自所述客户端的操作指令时开始计时, 若再次接收到新的操作指令, 则 重新计时;
若计时时长超过预设的第二时间, 则发送所述应用试运行已结束的提示消息至 所述客户端, 其中, 所述第二时间值小于所述第一时间值。
26、 一种计算机程序, 包括计算机可读代码, 当所述计算机可读代码在计算设 备上运行时, 导致所述计算设备执行根据权利要求 14-19 中的任一个所述的应用执 行方法, 和 /或, 执行根据权利要求 20-25中的任一个所述的应用执行方法。
27、 一种计算机可读介质, 其中存储了如权利要求 26所述的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310492093.XA CN103561062B (zh) | 2013-10-18 | 2013-10-18 | 应用执行方法、设备和系统 |
CN201310492093.X | 2013-10-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015055040A1 true WO2015055040A1 (zh) | 2015-04-23 |
Family
ID=50015212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/084200 WO2015055040A1 (zh) | 2013-10-18 | 2014-08-12 | 应用执行方法、设备和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103561062B (zh) |
WO (1) | WO2015055040A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561062B (zh) * | 2013-10-18 | 2017-04-05 | 北京奇虎科技有限公司 | 应用执行方法、设备和系统 |
CN107977272A (zh) * | 2016-10-25 | 2018-05-01 | 腾讯科技(深圳)有限公司 | 应用运行的方法及装置 |
KR102360462B1 (ko) * | 2018-01-10 | 2022-02-14 | 후지쯔 가부시끼가이샤 | 시스템 정보를 송신 및 취득하기 위한 방법, 디바이스 및 통신 시스템 |
CN113296851A (zh) * | 2020-12-14 | 2021-08-24 | 阿里巴巴(中国)有限公司 | 应用运行、游戏运行及游戏快照方法、装置和系统 |
CN113395338B (zh) * | 2021-06-03 | 2022-10-21 | 天翼阅读文化传播有限公司 | 一种基于云化VR Launcher的云化VR应用分发系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238156A (zh) * | 2010-05-07 | 2011-11-09 | 盛乐信息技术(上海)有限公司 | 网络游戏客户端资源下载方法 |
WO2012037170A1 (en) * | 2010-09-13 | 2012-03-22 | Gaikai, Inc. | Dual mode program execution and loading |
CN102571900A (zh) * | 2010-12-08 | 2012-07-11 | 中国电信股份有限公司 | 一种实现远端实时操控的系统和方法 |
CN103023872A (zh) * | 2012-11-16 | 2013-04-03 | 杭州顺网科技股份有限公司 | 一种云游戏服务平台 |
CN103561062A (zh) * | 2013-10-18 | 2014-02-05 | 北京奇虎科技有限公司 | 应用执行方法、设备和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127780A (zh) * | 2007-08-20 | 2008-02-20 | 阳术国 | 将在线视频进行下载、保存、再播放的方法及其在线视频网络的构造 |
WO2010052857A1 (ja) * | 2008-11-06 | 2010-05-14 | パナソニック株式会社 | 再生装置、再生方法、再生プログラム、及び集積回路 |
JP5500460B2 (ja) * | 2011-11-29 | 2014-05-21 | コニカミノルタ株式会社 | 印刷システム及びプレビュー表示制御プログラム並びにプレビュー表示制御方法 |
CN102625165A (zh) * | 2012-03-29 | 2012-08-01 | 深圳市茁壮网络股份有限公司 | 数据处理的方法、应用服务器、机顶盒及系统 |
-
2013
- 2013-10-18 CN CN201310492093.XA patent/CN103561062B/zh active Active
-
2014
- 2014-08-12 WO PCT/CN2014/084200 patent/WO2015055040A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238156A (zh) * | 2010-05-07 | 2011-11-09 | 盛乐信息技术(上海)有限公司 | 网络游戏客户端资源下载方法 |
WO2012037170A1 (en) * | 2010-09-13 | 2012-03-22 | Gaikai, Inc. | Dual mode program execution and loading |
CN102571900A (zh) * | 2010-12-08 | 2012-07-11 | 中国电信股份有限公司 | 一种实现远端实时操控的系统和方法 |
CN103023872A (zh) * | 2012-11-16 | 2013-04-03 | 杭州顺网科技股份有限公司 | 一种云游戏服务平台 |
CN103561062A (zh) * | 2013-10-18 | 2014-02-05 | 北京奇虎科技有限公司 | 应用执行方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103561062B (zh) | 2017-04-05 |
CN103561062A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015055040A1 (zh) | 应用执行方法、设备和系统 | |
JP6272864B2 (ja) | ゲーム移動 | |
US9075648B2 (en) | Virtual machine switching based on measured network delay | |
WO2017092422A1 (zh) | 基于安卓平台的多媒体处理方法、装置及移动终端设备 | |
WO2017107542A1 (zh) | 视频节目获取方法、设备及系统 | |
US12047233B2 (en) | Mobile application for monitoring and configuring second device | |
JP2015531629A6 (ja) | ゲーム移動 | |
WO2016034130A1 (zh) | 智能终端及其快速频道切换方法和装置 | |
US11284160B2 (en) | Start-up performance improvement for remote application | |
JP2009503681A5 (zh) | ||
CN111582924B (zh) | 一种云游戏的广告投放系统、方法及装置 | |
WO2017113708A1 (zh) | 视频播放方法及装置 | |
US20240214635A1 (en) | Computing device upgrading system over a wireless network | |
JP2018532202A (ja) | クラウドファイル処理方法および装置 | |
CN105323315A (zh) | 基于移动终端的应用下载方法、服务器及客户端 | |
TWI493362B (zh) | 針對多媒體內容支援瀏覽器之服務 | |
CN105760377A (zh) | 一种信息处理方法和装置 | |
WO2017185632A1 (zh) | 数据传输的方法及电子设备 | |
WO2017193544A1 (zh) | 资源下载方法、装置及电子设备 | |
US20200107073A1 (en) | Usb-based media device upgrading system | |
JP7162019B2 (ja) | データストリーミング方法、データストリーミング装置、及びコンピュータプログラム | |
WO2019026687A1 (ja) | 情報処理装置およびダウンロード処理方法 | |
WO2022048037A1 (zh) | 技能效果修改方法、装置、设备和存储介质 | |
EP4182791A1 (en) | Pre-launching an application using interprocess communication | |
JP6124096B1 (ja) | 情報処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14853253 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14853253 Country of ref document: EP Kind code of ref document: A1 |