WO2013143395A1 - 一种在线应用的实现方法、装置及*** - Google Patents

一种在线应用的实现方法、装置及*** Download PDF

Info

Publication number
WO2013143395A1
WO2013143395A1 PCT/CN2013/072569 CN2013072569W WO2013143395A1 WO 2013143395 A1 WO2013143395 A1 WO 2013143395A1 CN 2013072569 W CN2013072569 W CN 2013072569W WO 2013143395 A1 WO2013143395 A1 WO 2013143395A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
application
virtual machine
identifier
request message
Prior art date
Application number
PCT/CN2013/072569
Other languages
English (en)
French (fr)
Inventor
秦晋
党沛
狄龙
Original Assignee
华为技术有限公司
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
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2013143395A1 publication Critical patent/WO2013143395A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Definitions

  • the present invention relates to the field of communications, and in particular, to a method, an apparatus, and a system for implementing an online application.
  • Single-user multi-user refers to a client program that installs an application only on one terminal, and multiple users manipulate applications through different input devices connected to the terminal. That is to say, there is only one application, and there is no case where all users have to install the client program.
  • each online game application has a client program to be installed; each terminal needs to install a client program corresponding to each network game application, and different terminals of different users control different client programs. All client programs connect to the same online application server.
  • the online application platform can implement multi-user simultaneous use of the application by supporting multiple different input devices of one terminal, and the specific implementation manner is as follows.
  • the online application platform establishes a mapping between the input device of the terminal and the virtual input unit for each application.
  • Each input device of the terminal corresponds to a virtual input unit.
  • the input command carries an input device identifier
  • the virtual input unit receives the input command according to the input device identifier and stores the virtual input instruction. Enter the buffer in the unit.
  • the application server reads the input instructions and data from the buffers of each virtual input unit in turn by polling.
  • a terminal can only manage terminal input devices in an area. This causes users to interact with the same terminal in the same area in the same application, which reduces the user experience.
  • An embodiment of the present invention provides a method, an apparatus, and a system for implementing an online application, which are used to implement the same application for a single-machine multi-user in an online application platform, and the user can implement interaction in different areas through different terminals. Improve the user experience.
  • An implementation method of an online application comprising: receiving a first connection request message sent by a terminal; the first connection request message carries the a user identifier of the terminal and a device identifier of the first input device of the terminal that is activated; selecting a first virtual input unit for the first input device of the terminal, the first virtual input unit being a virtual virtual machine in the virtual machine
  • the mapping unit establishes a mapping relationship between the first virtual input unit and the first input device of the terminal according to the user identifier of the terminal and the device identifier of the first input device of the terminal; a connection response message to notify the terminal that the connection is complete; to send an application preparation completion message to the terminal connected to the virtual machine, so that the virtual machine and the terminal connected to the virtual machine perform instruction and/or data transmission.
  • An implementation method of an online application comprising: sending, by a terminal, a first connection request message to a virtual machine; the first connection request message carrying a user identifier of the terminal and a first input device of the terminal that is activated by the terminal a device identifier, so that the virtual machine establishes a mapping relationship between the first virtual input unit and the first input device of the first terminal according to the user identifier of the terminal and the device identifier of the first input device of the terminal, where
  • the first virtual input unit is an idle virtual input unit in the virtual machine; receiving a first connection response message sent by the virtual machine; receiving an application preparation completion message sent by the virtual machine, so that the terminal performs the virtual machine with the virtual machine Transmission of instructions and/or data.
  • An implementation method of an online application comprising: receiving, by a virtual machine manager, a first application start request message sent by a first terminal; where the first application start request message carries a first identifier, an application identifier, and a terminal of the first terminal The first identifier is used to indicate whether the other input device can be added to the application; the virtual machine is selected according to the application identifier in the first application start request message and the terminal performance information of the first terminal; The virtual machine sends a second application start request message, where the second application start request message carries a first identifier and an application identifier, so that the virtual machine starts according to the second application.
  • the first application start response message carries the virtual machine address information, so that the first terminal sends a first connection request message to the virtual machine according to the virtual machine address information;
  • a connection request message carries the user identifier of the first terminal and the device identifier of the first input device of the first terminal that has been activated.
  • a virtual machine comprising: a first receiving module, configured to receive a first connection request message sent by a terminal; where the first connection request message carries a user identifier of the terminal and a first end of the activated terminal a device identifier of the input device, a selection module, configured to select a first virtual input unit for the first input device of the terminal; the first virtual input unit is a virtual input unit that is idle in the virtual machine; Establishing, according to the user identifier of the terminal and the device identifier of the first input device of the terminal, the first sending a first connection response message to the terminal, to notify the terminal that the connection is completed; and connecting to the terminal
  • the terminal to the virtual machine sends an application preparation completion message for the virtual machine to transmit instructions and/or data to the terminal connected to the virtual machine.
  • a terminal comprising: an input device, configured to input an instruction and/or data; a recording unit, configured to record a device identifier of the input device; a first sending unit, configured to send a first connection request message to the virtual machine;
  • a connection request message carries a user identifier of the terminal and a device identifier of the first input device of the terminal that is activated, so that the virtual machine is based on the user identifier of the terminal and the first input of the terminal.
  • the device identifier of the device establishes a mapping relationship between the first virtual input unit and the first input device; the first virtual input unit is a virtual input unit that is idle in the virtual machine; and the first receiving unit is configured to receive the virtual machine Sending a first connection response message; and receiving an application preparation completion message sent by the virtual machine, so that the terminal and the virtual machine perform instruction and/or data transmission; and a processing unit, configured to perform with the virtual machine Transmission of instructions and/or data.
  • a virtual machine manager comprising: a first receiving unit, configured to receive a first application start request message sent by the first terminal; the first application start request message carries a first identifier, an application identifier, and terminal performance information The first identifier is used to indicate whether other input devices can be added to the application; the selecting unit is configured to be used according to the application of the first terminal Identifying the terminal performance information of the first terminal and selecting the virtual machine; the first sending unit is configured to send a second application start request message to the virtual machine; the second application start request message carries the first identifier and the application Identifying, in order for the virtual machine to establish at least one virtual input unit according to the first identifier in the second application start request message, and launching an application according to the application identifier; and a second receiving unit, configured to receive the virtual machine Sending a second application start response message; the second sending unit is configured to send a first application start response message to the first terminal, where the first application start response message carries virtual machine address information, so as to facilitate the first The terminal
  • An implementation system for an online application comprising: a virtual machine, a virtual machine manager, and a terminal; the virtual machine is the virtual machine, the virtual machine manager is the virtual machine manager, and the terminal is the terminal.
  • the embodiment of the invention provides a method, a device and a system for implementing an online application.
  • the mapping between the idle virtual input unit and the input device of the terminal is established by the user identifier of the terminal and the device identifier of the input device of the terminal, which may enable multiple Users connect to the same application in the online application platform through different terminals, and realize the same application for multiple users in the online application platform.
  • Different users implement application interactions in different areas through different terminals, or different The user realizes the interaction of the application through different input devices of the same terminal, thereby improving the user experience.
  • FIG. 1 is a schematic diagram of an implementation method of an online application according to an embodiment of the present invention
  • FIG. 2 is a second schematic diagram of an implementation method of an online application according to an embodiment of the present invention
  • 3 is a third schematic diagram of an implementation method of an online application according to an embodiment of the present invention
  • FIG. 4 is a fourth schematic diagram of an implementation method of an online application according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a method for implementing an online application according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a method for implementing an online application according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a virtual machine according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of another virtual machine according to an embodiment of the present invention
  • FIG. 9 is a schematic structural diagram of another virtual machine according to an embodiment of the present invention
  • FIG. 10 is another virtual machine according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a virtual machine manager according to an embodiment of the present invention
  • FIG. 13 is a schematic structural diagram of another virtual machine manager according to an embodiment of the present invention.
  • FIG. 14 is a schematic diagram of an implementation system of an online application according to an embodiment of the present invention.
  • the embodiment of the invention provides an implementation method of an online application, as shown in FIG. 1 , which includes:
  • the first connection request sent by the virtual machine receiving terminal is cancelled, and the packet is received.
  • the first connection request message carries the user identifier of the terminal and the device identifier of the first input device of the terminal that has been activated.
  • the user identifier of the terminal may be an identifier of the terminal (such as an IP address of the terminal, a mobile phone number, an IMEI number, etc.), or The user's account of the terminal, or other identifier of the user who can uniquely identify the terminal or terminal, is not described in detail herein.
  • the virtual machine receives the first connection request message sent by at least one terminal.
  • one terminal may correspond to multiple input devices.
  • the set top box is a terminal
  • the handle installed in the set top box is an input device.
  • Multiple handles can be installed in a set top box.
  • the handle is called the input device of the set top box.
  • the first input device refers to an input device that triggers the terminal to initiate the application; or when the other terminal has initiated the application, when the relationship is initiated, the first trigger terminal joins the application.
  • the connection request message carrying the device identifier of the activated first input device in the connection request message sent by the terminal to the virtual machine is referred to as a first connection request message.
  • pressing a key on the handle causes the handle to trigger the set-top box to launch the application, which is referred to as the activated first input device.
  • Started means that the input device sent a trigger to the terminal.
  • the virtual machine selects a first input unit for the first input device of the terminal.
  • the first input unit is a virtual input unit that is idle in the virtual machine, that is, has not been allocated to the input device, is not established with the input device and the terminal, or is not established with the user of the input device and the terminal.
  • a virtual input unit that maps relationships.
  • the virtual machine selects a first virtual input unit for the first input device of the terminal in the at least one virtual input unit that has been established, and establishes a selection according to the user identifier of the terminal and the device identifier of the first input device of the terminal.
  • the virtual machine detects, in the at least one virtual input unit that has been established, whether at least one virtual input unit has been mapped with the input device, and if the virtual input unit does not establish a mapping relationship with the input device, the virtual input unit As an idle virtual input unit, the idle virtual input unit is used as the first virtual input unit.
  • virtual machine Establishing a mapping relationship between the user identifier of the terminal and the device identifier of the first input device of the terminal and the unit identifier of the first virtual input unit, so that the first virtual input unit corresponds to the first input device, so that the virtual machine will receive the first
  • An input device stores instructions and/or data transmitted by the terminal into the first virtual input unit.
  • the virtual machine may record or change the state of the virtual input unit to indicate whether the mapping relationship between the virtual input unit and the input device of the terminal has been established, and the input of the virtual input unit and the terminal may be established by using a specific standard.
  • the mapping relationship of the device may be established by using a specific standard.
  • the terminal performs data packet encapsulation processing on the instruction and/or data sent by the first input device, where the header information of the data packet includes a field for identifying the identifier of the terminal user, and a field for identifying the first input device of the terminal. .
  • the terminal sends the data packet to the virtual machine, and the virtual machine determines, according to the field identifying the terminal user identifier in the packet header information of the data packet and the field identifying the first input device of the terminal, sending the instruction and/or the data information in the data packet to the Corresponding to the first virtual input unit.
  • the method for the virtual machine to detect whether at least one virtual input unit has been mapped to the input device may be that the virtual machine detects, from the first virtual input unit, whether the virtual input unit has been established with the input device.
  • the mapping relationship may also be other methods to detect whether the virtual input unit has been mapped with the input device.
  • the virtual machine may record or change the state of the virtual input unit to indicate whether the virtual input unit and the terminal input have been established.
  • the mapping relationship of the device may also indicate that the mapping relationship between the virtual input unit and the input device of the terminal has been established by using a specific standard. The invention is not limited thereto.
  • the virtual machine sends a first connection response message to the terminal, to notify the first terminal that the connection is completed.
  • the virtual machine sends an application preparation completion message to the terminal connected to the virtual machine, so that the virtual machine and the terminal connected to the virtual machine are ready to transmit instructions and/or data.
  • the virtual machine detects whether the at least one virtual input unit is established after sending the first connection response message to the terminal. An idle virtual input unit; if there is no idle virtual input unit, the virtual machine sends an application preparation completion message to the terminal connected to the virtual machine. If the virtual machine knows that the type of the application is to support the application of adding the user during the running of the application, the virtual machine sends an application preparation completion message to the terminal directly after sending the first connection response message to the terminal.
  • An embodiment of the present invention provides a method for implementing an online application, where a virtual machine receives a first connection request message sent by a terminal, a user identifier of the terminal in the first connection request message, and a first input device of the activated terminal.
  • the device identifier is configured, and the virtual machine establishes a mapping relationship between the virtual input unit and the first input device of the terminal according to the first connection request message, and sends the first connection response message to the terminal.
  • the virtual machine can send instructions and/or data sent by different input devices of different terminals or different input devices of the same terminal to the corresponding virtual input unit, thereby realizing multiple for the same application in the online application platform. Users can use different terminals to implement application interactions in different areas. You can also implement application interaction through different input devices of the same terminal to improve user experience.
  • the embodiment of the invention provides an implementation method of an online application, as shown in FIG. 2, which includes:
  • the terminal sends a first connection request message to the virtual machine.
  • the first connection request message carries the user identifier of the terminal and the device identifier of the first input device of the terminal that is activated, so that the virtual machine is based on the user identifier of the terminal and the
  • the device identifier of the first input device of the terminal establishes a mapping relationship between the first virtual input unit and the first input device of the terminal, where the first virtual input unit is a virtual input unit that is idle in the virtual machine.
  • the first connection request message carries the user identifier of the terminal and the device identifier of the first input device of the terminal that has been started.
  • the user identifier of the terminal may be the identifier of the terminal (such as the IP address of the terminal, the mobile phone number, the IMEI number, etc.), or the account of the user of the terminal, or other identifier of the user who can uniquely identify the terminal or the terminal. The invention is not described in detail herein.
  • the first input device of the terminal triggers the terminal to initiate an application or join the application. After the terminal obtains the virtual machine address information, the terminal sends a first connection request message to the virtual machine.
  • the terminal records the device identifier of the first input device.
  • the virtual machine if the virtual machine learns that the type of the application is not supporting the application of adding the user during the application running, the virtual machine sends the first connection response message to the terminal, and then checks Detecting whether there is an idle virtual input unit in the at least one virtual input unit; if there is no idle virtual input unit, the virtual machine sends an application preparation completion message to the terminal connected to the virtual machine, and the terminal receives the application preparation sent by the virtual machine. Complete the message. If the virtual machine knows that the type of the application is to support the application of the user during the running of the application, the virtual machine sends the application preparation completion message to the terminal directly after sending the first connection response message to the terminal, and the terminal receives the first message. After the connection response message is received, the application preparation completion message is received.
  • the embodiment of the present invention provides a method for implementing an online application, where the terminal sends a first connection request message carrying the user identifier of the terminal and the device identifier of the input device of the activated terminal to the virtual machine, so that the virtual machine is based on the terminal.
  • the user identifier and the device identifier of the input device of the activated terminal establish a mapping relationship between the virtual input unit and the first input device of the terminal. In this way, the use of multiple users in the same application in the online application platform can be realized. Different users can implement application interaction in different areas through different terminals, and can also implement application interaction through different input devices of the same terminal. To enhance the user experience.
  • the embodiment of the invention provides an implementation method of an online application, as shown in FIG. 3, which includes:
  • the virtual machine manager receives a first application start request message sent by the first terminal.
  • the first application start request message carries the first identifier and the application identifier.
  • the first identifier is used to indicate whether other input devices can be added to the application.
  • the first application start request message further carries the user information of the terminal and the terminal performance information.
  • the first application start request message further carries the number of connectable input devices set by the first terminal.
  • the user information includes a user identifier of the terminal and user login password information.
  • the terminal performance information indicates the performance that the terminal has. For example, whether the terminal has a touch screen function, whether it has a keyboard function or the like.
  • the first terminal sends the first application start request message to the virtual machine manager after performing data packet encapsulation processing.
  • the field used to identify the message type in the packet header information of the data packet is filled in the code corresponding to the first application start request message, so that the virtual machine manager knows the first terminal sends the message; , the package, initiates a request message for the first application.
  • the virtual machine manager obtains the first application start request message by performing the decapsulation process by checking the field of the identifier message type of the packet header information, and obtaining the first application start request message.
  • the virtual machine manager may establish a user information table for the user of the first terminal, or may create a separate table for each user, or add an entry in the established user information table.
  • the information of the user of a terminal is not limited by the present invention.
  • the virtual machine manager selects the virtual machine according to the application identifier and the terminal performance information of the first terminal.
  • the specific selection method is prior art, and the embodiments of the present invention are not limited and discussed in detail herein.
  • the second application start request message carries the first identifier and the application identifier.
  • the first identifier is used to indicate that other input devices can be added to the application.
  • the virtual machine manager sends a second application start request message to the selected virtual machine.
  • the virtual machine manager sets the connectable The number of input devices is added to the second application launch request message and sent to the selected virtual machine.
  • the virtual machine manager checks the application profile according to the application identifier. The maximum number of connections allowed by the application is known, and the maximum number of connections allowed by the application is added to the second application start request message and sent to the selected virtual machine.
  • the maximum number of connections allowed by the application is stored in the application's configuration file.
  • the virtual machine manager can view the maximum number of connections allowed by the application by viewing the file.
  • the application's configuration file records information about the application, such as the number of maximum terminal input devices that the application is allowed to access, and the type of application.
  • the virtual machine receives the second application start request message, and if the first identifier indicates that other input devices are not allowed to join the application, the virtual machine establishes a virtual input unit.
  • the second application start request message carries the number of connectable input devices set by the first terminal, and the first The number of connectable input devices set by the terminal is not greater than the maximum number of connections allowed by the application, or the second application start request message carries the maximum number of connections allowed by the application, and the virtual machine is according to the first The number of connectable input devices set by the terminal, or the same number of virtual input units based on the maximum number of connections allowed by the application.
  • the virtual machine knows the maximum number of connections allowed by the application by viewing the application's configuration file, and establishes the same number of virtual input units according to the maximum number of connections allowed by the application.
  • the number of connectable input devices set by the first terminal is greater than the maximum number of connections allowed by the application, and the virtual machine establishes the same number of virtual input units according to the maximum number of connections allowed by the application.
  • launch the application to send a second application launch response message to the virtual machine manager.
  • the application's configuration file records the application information, such as the maximum number of connections allowed by the application, and the type of application.
  • the virtual machine manager detects whether the second application response start message carries the virtual machine address information after receiving the second application start response message, and if the second application start response message does not carry the virtual machine address information, the virtual machine virtual The machine manager adds the virtual machine address information to the second application start response message, adds the carried virtual machine address information to the second application start response message as the first application start response message, and adds the virtual machine address information to the In the user information table.
  • the embodiment of the invention provides an implementation method of an online application, and the virtual machine manager
  • the first application start request message sent by the first terminal is received, the virtual machine is selected, and the second application start request message is sent to the selected virtual machine.
  • Receiving a second application start response message sent by the virtual machine and sending a first application start response message carrying the virtual machine address information to the first terminal.
  • a mapping relationship between the first terminal and the virtual machine can be established. It is used to implement the use of multiple users in the same application in the online application platform. Different users can implement application interaction in different areas through different terminals, and can also implement application interaction through different input devices of the same terminal. To enhance the user experience.
  • An embodiment of the present invention provides an implementation method of an online application, including:
  • step 301 the embodiments of the present invention are not described in detail herein.
  • step 302 The same as step 302, and is not described in detail herein.
  • both virtual machine 1 and virtual machine 2 have an application with application ID 3 installed, and the application with ID 3 is not started.
  • the screen resolution of the terminal supported by the virtual machine 1 is 320*480
  • the resolution of the terminal screen supported by the virtual machine 2 is 320*640.
  • the virtual machine manager receives the first application start request message of the application identifier 3 sent by the first terminal, and the screen resolution of the first terminal is 320*640, and the virtual machine manager receives the first application start request message.
  • the application in the virtual machine 2 will be selected as the application initiated by the first terminal.
  • step 303 The same as step 303, and is not described in detail herein.
  • a second application start request message is sent to the virtual machine 2.
  • the virtual machine establishes at least one virtual input unit according to the first identifier in the second application start request message, and starts the application by using the application identifier.
  • the virtual machine establishes a virtual input unit. If the first identifier indicates that the other input device is allowed to join the application, the second application start request message carries the number of connectable input devices set by the first terminal, and the first The number of connectable input devices set by the terminal is not greater than the maximum number of connections allowed by the application, or the second application start request message carries the maximum number of connections allowed by the application, and the virtual machine is according to the first The number of connectable input devices set by the terminal, or the same number of virtual input units are established according to the maximum number of connections allowed by the application.
  • the virtual machine knows the maximum number of connections allowed by the application by viewing the application's configuration file, and establishes the same number of virtual input units according to the maximum number of connections allowed by the application.
  • the number of connectable input devices set by the first terminal is greater than the maximum number of connections allowed by the application, and the same number of virtual input units are established according to the maximum number of connections allowed by the application. And launch the app.
  • the maximum number of terminal input devices allowed to be accessed by the application is stored in the configuration file of the application, and the virtual machine manager can view the file to know the maximum number of terminal input devices that the application allows access.
  • the application's configuration file records information about the application, such as the number of maximum terminal input devices that the application is allowed to access, the type of application, and so on.
  • the virtual machine sends a second application start response message to the virtual machine manager, so that the virtual machine manager sends a first application start response message carrying the virtual machine address information to the terminal, so that the terminal sends the The virtual machine sends a first connection request message.
  • the virtual machine adds its address information to the second application start response message.
  • step 304 The same as step 304, and is not described in detail herein.
  • step 305 The same as step 305, and is not described in detail herein.
  • the first terminal sends a first connection request message to the virtual machine according to the virtual machine address information in the first application start response message.
  • the first terminal learns and stores the virtual machine address information and the application identifier, and the first connection request message sent by the first terminal and the virtual machine address information to the virtual machine carries the first a user identifier of the terminal and a device identifier of the first input device of the first terminal that is activated, so that the virtual machine establishes an idle virtual input unit according to the user identifier of the first terminal and the device identifier of the first input device of the first terminal.
  • a mapping relationship with the first input device of the first terminal is mapped to the first input device of the first terminal.
  • the user identifier of the first terminal may be an identifier of the first terminal (such as an IP address of the first terminal, a mobile phone number, an IMEI number, etc.), or may be an account of the user of the first terminal, or another unique identifier.
  • the identity of a user of a terminal or a first terminal, the invention is here Not detailed.
  • the virtual machine selects a first virtual input unit for the first input device of the first terminal, and establishes the according to the user identifier of the first terminal and the device identifier of the first input device of the first terminal. a mapping relationship between the first virtual input unit and the first input device of the first terminal.
  • the first input unit is a virtual input unit that is idle in the virtual machine, that is, has not been allocated to the input device, is not established with the input device and the terminal, or is not established with the user of the input device and the terminal.
  • a virtual input unit that maps relationships.
  • the virtual machine detects, in the at least one virtual input unit that has been established, whether at least one virtual input unit has been mapped with the input device, and if the virtual input unit does not establish a mapping relationship with the input device, the virtual input unit As an idle virtual input unit, the idle virtual input unit is used as the first virtual input unit.
  • the virtual machine establishes a mapping relationship between the user identifier of the first terminal and the device identifier of the first input device of the first terminal and the unit identifier of the first virtual input unit, so that the first virtual input unit corresponds to the first input device of the first terminal In order to store the received instruction and/or data sent by the first input device by the first terminal to the corresponding first virtual input unit.
  • the virtual machine sends a first connection response message to the first terminal, to notify the first terminal that the connection is complete.
  • the virtual machine learns whether to allow other input devices to join the application initiated by the first terminal according to the first identifier in the second application start request message. If the first identifier indicates that other input devices are not allowed to join the application, after performing step 410, steps 510, 511 are performed, as shown in FIG. If the first identification indicates that other input devices are allowed to join the application, after step 410 is performed, step 411 is performed.
  • the application of the single-machine multi-user can be divided into two types of applications that do not support the application, add the user during the running process, and support the application that adds the user during the running of the application.
  • the virtual machine searches for the configuration file of the application according to the application identifier, and the type of the application obtained from the configuration file of the application is not supported by the application that adds the user during the application running process.
  • the type is also the type that supports the application that adds the user during the application run.
  • the number of connections required is the number of connectable input devices set by the first terminal initiating the application, or the maximum number of connections allowed by the application.
  • steps 501a-504a and/or 501b-508b, 509-511 are performed, as shown in FIG.
  • the application is configured to support the application of the user during the running of the application
  • the virtual machine sends an application preparation complete message to the first terminal, so that the first terminal receives the application preparation.
  • data and/or instructions can be directly transmitted to the virtual machine.
  • steps 601, 602, 603a-608a and/or 603b-614b are performed, as shown in FIG.
  • the user who joins other input devices of the application may be a user from another input device having the same terminal as the user who originated the input device of the application, or may be another user different from the user of the input device that originated the application.
  • the following process for adding the user of the other input device having the same terminal as the user who initiated the application is as shown in FIG. 5 with steps 501a-504a.
  • the adding process for the users of other input devices different from the user who initiated the application is as shown in Fig. 5, as shown in Fig. 5 .
  • the second input device of the first terminal triggers the first terminal to add the second input device to the application.
  • the second input device of the first terminal refers to other input devices of the activated first terminal except the first input device. Started means that the input device sent a trigger action to the terminal.
  • the second input device may be multiple or multiple, and the present invention does not limit this.
  • the first terminal sends a second connection request message to the virtual machine according to the virtual machine address information of the application stored by the first terminal.
  • the second connection request message carries the user identifier of the first terminal and the device identifier of the second input device of the first terminal that is activated, so that the virtual machine is based on the user identifier of the first terminal and the first
  • the device identifier of the second input device of the terminal establishes a mapping relationship between the idle virtual input unit and the second input device of the first terminal.
  • the first terminal when the first terminal has multiple second input devices, the first terminal is divided into Do not send a second connection request message to the virtual machine. That is, the first terminal has several second input devices, and sends a second connection request message to the virtual machine several times.
  • connection request message sent when the second input device of the terminal is added to the application is referred to as a second connection request message.
  • the user identifier of the first terminal carried in the second connection request message is the user identifier of the terminal that originated the application.
  • the virtual machine selects a second virtual input unit for the second input device of the first terminal, and establishes the according to the user identifier of the first terminal and the device identifier of the second input device of the first terminal. a mapping relationship between the second virtual input unit and the second input device of the first terminal.
  • the second virtual input unit is a virtual input unit that is idle in the virtual machine.
  • the first terminal is a set top box
  • the input device is a handle.
  • the first handle of the set top box has been mapped to the first virtual input unit of the virtual machine.
  • the second handle and the third handle are to be added to this application.
  • the set top box sends a second connection request message to the virtual machine according to the stored virtual machine address information, where the second connection request message carries the user identifier of the organic set top box and the handle identifier of the second handle.
  • the virtual machine After receiving the second connection request message, the virtual machine selects a second virtual input unit for the second handle of the set top box, and selects the second virtual according to the user identifier of the set top box and the handle identifier of the second handle in the second connection request message. Entering a unit identifier of the unit, establishing a mapping relationship between the second handle of the set top box and the selected second virtual input unit, so that the selected second virtual input unit corresponds to the second handle of the set top box, so as to receive the first
  • the instructions and/or data sent by the two handles through the set top box are stored in the corresponding second virtual input unit.
  • the set-top box sends a second connection request message to the virtual machine again according to the virtual machine address information, where the second connection request message carries the user identifier of the organic top box and the handle identifier of the third handle, and after the virtual machine receives the second connection request message, Selecting a second virtual input unit for the third handle of the set top box, establishing a third set of the set top box according to the user identifier of the set top box and the handle identifier of the third handle in the second connection request message, the unit identifier of the selected second virtual input unit a mapping relationship between the handle and the selected second virtual input unit, such that the selected second virtual input unit corresponds to the third handle of the set top box, so as to receive instructions and/or data sent by the virtual machine through the set top box Stored in the corresponding second virtual input unit. 504a.
  • the virtual machine sends a second connection response message to the first terminal.
  • the first input device of the second terminal triggers the second terminal to join the application.
  • the user of the first input device of the second terminal learns the user identifier and the application identifier of the user of the terminal connected to the virtual machine by communicating with the user of the terminal connected to the virtual machine, and then the first input device of the second terminal The user triggers the second terminal to join the application corresponding to the learned application identifier by using the first input device.
  • the second terminal sends an application join request message to the virtual machine manager.
  • the application join request message carries the user identifier of the application identifier and the terminal connected to the virtual machine.
  • the application join request message further carries user information of the second terminal and terminal performance information of the second terminal.
  • the second terminal is referred to as a class at this time, indicating that it is added to multiple terminals of the application.
  • the user information of the second terminal includes a user identifier and a user login password.
  • the terminal capability information of the second terminal indicates the performance of the second terminal. For example, whether the second terminal has a touch screen function, whether it has a keyboard function or the like.
  • the second terminal After the second terminal adds the application join request message to the data packet encapsulation process, it sends it to the virtual machine manager.
  • the second terminal performs the data packet encapsulation, the field used to identify the message type in the packet header information of the data packet is filled in the code corresponding to the application join request message, so that the virtual machine manager knows that the message sent by the second terminal is added by the application. Request message.
  • the user of the first input device of the second terminal learns the user identifier of the terminal connected to the virtual machine when communicating with the user of the terminal connected to the virtual machine, and the second terminal sends the application to the virtual machine manager.
  • the request message is added, the obtained user identifier of the terminal connected to the virtual machine is added to the application join request message and sent to the virtual machine manager.
  • the user identifier of the terminal that has been connected to the virtual machine may be obtained by the user who is connected to the terminal of the virtual machine running the application, or may be obtained by other means, and the present invention obtains the second terminal.
  • the method of connecting to the end user ID of the virtual machine is not limited.
  • the virtual machine manager receives an application join request message sent by the second terminal.
  • the virtual machine manager establishes a user information table for the user of the second terminal according to the user information of the second terminal and the second terminal performance information in the application join request message. It should be noted that, if there are multiple second terminals, the virtual machine manager establishes a user information table for each second terminal.
  • the first application start request message or the send application join request message needs to first perform data packet encapsulation processing.
  • the header information of this packet it is useful to identify the field of the message type.
  • the virtual machine management can know the type of the message according to the field in the header information. For example, the first application start request message is indicated by 01 in the field of the packet identification message type, and the application join request message is indicated by 10 in the field of the identification message type of the packet header information, if the virtual machine manager receives the data packet If the header is set to 10, the virtual machine manager knows that the packet is encapsulated as an application join request message.
  • the virtual machine manager obtains the virtual machine address information according to the application identifier carried in the application join request message and the user identifier of the terminal connected to the virtual machine.
  • the virtual machine manager searches for the established user information table according to the application identifier carried in the application join request message and the user identifier of the terminal connected to the virtual machine, and obtains the corresponding virtual machine in the found user information table. Address information, and this virtual machine address information is added to the user information table for the user of the second terminal.
  • 505b Send an application join response message carrying virtual machine address information to the second terminal.
  • the virtual machine manager adds the obtained virtual machine address information to the application join response message.
  • An application join response message is sent to the second terminal to join the application.
  • the second terminal sends a first connection request message to the virtual machine by using the virtual machine address information in the application join response message.
  • the second terminal After receiving the application join response message, the second terminal stores the virtual machine address information and the application identifier, and sends a first connection request message to the virtual machine according to the virtual machine address information in the application join response message.
  • the user identifier of the second terminal in the first connection request message sent by the second terminal and the device identifier of the first input device of the second terminal that have been activated are identifiers of the second terminal in the first connection request message sent by the second terminal and the device identifier of the first input device of the second terminal that have been activated.
  • the user identifier of the second terminal may be an identifier of the second terminal (such as an IP address of the second terminal, a mobile phone number, an IMEI number, etc.), or may be an account of the user of the second terminal.
  • the identity of the user, or other user who can uniquely identify the second terminal or the second terminal, is not described in detail herein.
  • the virtual machine selects a first virtual input unit for the first input device of the second terminal, and according to the user identifier of the second terminal and the device identifier of the first input device of the second terminal that is activated, Establishing a mapping relationship between the first virtual input unit and the first input device of the second terminal.
  • the virtual machine sends an application connection response message to the second terminal, to notify the second terminal that the connection is complete.
  • the process of joining the second input device of the second terminal to the application is the same as the process of joining the second input device of the first terminal to the application, and the steps 501a-504a may be referred to as follows.
  • the second input device of the second terminal triggers the second terminal to add the second input device to the application.
  • the second terminal sends a second connection request message to the virtual machine according to the virtual machine address information of the application stored by itself.
  • the second connection request message sent by the second terminal carries the user identifier of the second terminal and the device identifier of the second input device of the second terminal that is activated, so that the virtual machine is configured according to the second terminal.
  • the user identifier and the device identifier of the second input device of the second terminal establish a mapping relationship between the second virtual input unit and the second input device of the second terminal.
  • the virtual machine receives the second connection request message.
  • the virtual machine selects a second virtual input unit for the second input device of the second terminal, and establishes the second according to the user identifier of the second terminal and the device identifier of the second input device of the second terminal.
  • the virtual machine sends a second connection response message to the second terminal.
  • the virtual machine detects whether there is an idle virtual input unit.
  • step 510 is performed.
  • the virtual machine sends an application preparation completion message to the terminal that is connected to the virtual machine, so that the virtual machine and the terminal connected to the virtual machine are ready to transmit instructions and/or data.
  • the terminal receives the preparation completion message sent by the virtual machine, and refers to the virtual machine. Transmission of commands and / or data.
  • the specific process of transmitting instructions and/or data with the virtual machine is as follows: the virtual machine receives instructions and/or data sent by the input device through the terminal, and sends the received input device to the command sent by the terminal and / or data is stored to the corresponding virtual input unit.
  • the virtual input unit sends the stored instructions and/or data to the processing module of the virtual machine.
  • the processing module of the virtual machine does not recognize the instruction and/or data sent by the terminal, the received instruction and/or data is converted into an instruction and/or data recognized by the processing module of the virtual machine.
  • processing module of the virtual machine refers to a unit in the virtual machine that processes the instructions and/or data of the application.
  • the virtual machine may convert the received instructions and/or data into application specific instructions and/or data according to the logic of the program, and update the application according to the converted instructions and/or data. For example, if the input device of the terminal is a keyboard, and the default input of the application is a handle axis event, the virtual machine needs to convert the key event of the keyboard into the axis event of the handle, and throw it to the application to control the execution of the application.
  • the virtual machine updates the program of the application according to the instructions and/or data, and obtains application processing response information, wherein the application processing response information includes response video and/or audio data information.
  • the virtual machine respectively determines an encoding mode of the terminal connected to the virtual machine, performs corresponding encoding according to the encoding manner, and sends the encoded application processing response information to the corresponding terminal.
  • the virtual machine encodes the application processing response information according to an encoding manner that can be processed by the terminal connected to the virtual machine, and sends the encoded application processing response information to each terminal, and each terminal receives the application.
  • the response information is processed and decoded, and the decoded application processing response information is transmitted to the output device.
  • the virtual machine when the virtual machine encodes the application processing response information according to an encoding manner that can be processed by the terminal connected to the virtual machine, the virtual machine applies the processing response information to the same encoding mode of different terminals.
  • the encoding method only performs encoding once, and sends the encoded application processing response information to different terminals of the same encoding mode.
  • the application for adding users during the running of the application is as follows. As shown in FIG. 6, after step 411, steps 510 and 511 are directly executed, and the processes and steps added for other input devices are performed. Steps 501a-504a and 501b-509b are the same. After the mapping relationship between the other input device and the virtual machine establishes the virtual machine input unit, the command and/or data interaction can be directly performed with the virtual machine.
  • the specific operation process is as follows:
  • step 601 the same as step 511, is not detailed.
  • step 602 the same as step 512, is not detailed.
  • 603a-606a are the same as steps 501a-504a and are not described in detail.
  • step 510 which is the same as step 510, is not described in detail.
  • step 608a which is the same as step 511, is not described in detail.
  • step 510 the same as step 510, is not detailed.
  • step 612b the same as step 511, is not detailed.
  • An embodiment of the present invention provides a method for implementing an online application, which establishes a mapping relationship between an idle virtual input unit and an input device of the terminal by using a user identifier of the terminal and a device identifier of the input device of the terminal, so that multiple users can pass different
  • the terminal is connected to the same application in the online application platform, and the same application is used for multiple users in the online application platform, and different users implement application interaction in different areas through different terminals, or different users pass the same application.
  • a different input device of a terminal implements application interaction, thereby improving the user experience.
  • the embodiment of the present invention provides a virtual machine, as shown in FIG. 7, including: a first receiving module 801, configured to receive a first connection request message sent by a terminal; where the first connection request message carries the terminal The user identifier and the device identifier of the first input device of the terminal that has been activated.
  • the selecting module 802 is configured to select a first virtual input unit for the first input device of the terminal; the first virtual input unit is a virtual input unit that is idle in the virtual machine.
  • the first establishing module 803 is configured to establish a mapping relationship between the first virtual input unit and the input device of the terminal according to the user identifier of the terminal and the device identifier of the first input device of the terminal.
  • a first sending module 804 configured to send a first connection response message to the terminal, to notify the terminal that the connection is completed; and send an application preparation completion message to the terminal connected to the virtual machine, so that the virtual machine and the virtual machine are connected
  • the terminal performs the transmission of instructions and/or data.
  • the first receiving module 801 is further configured to receive a second connection request message sent by the terminal, where the second connection request message carries a user identifier of the terminal and a second input device of the terminal that is activated. Equipment Identity.
  • the selection module 802 is further configured to select a second virtual input unit for the second input device of the first terminal.
  • the first establishing module 803 is further configured to establish, according to the user identifier of the terminal and the device identifier of the second input device of the terminal that is activated, the second virtual input unit and the second input device of the terminal. Mapping relations.
  • the first sending module 804 is further configured to send a second connection response message to the first terminal.
  • the above virtual machine as shown in Figure 8, also includes:
  • the first receiving module 801 is further configured to receive a second application start request message sent by the virtual machine manager, where the second application start request message carries a first identifier and an application identifier, where the first identifier is used to indicate Whether other input devices can be added to the app.
  • the second application start request message further carries the number of connectable input devices set by the terminal.
  • the startup module 805 is configured to start an application according to the application identifier.
  • the second establishing module 806 is configured to establish at least one virtual input unit according to the first identifier in the second application start request message.
  • a virtual input unit is established.
  • the first terminal sets the number of connectable input devices to the same number of virtual input units.
  • the second application start request message does not carry the number of connectable input devices set by the first terminal or the first terminal settings
  • the number of connectable input devices is greater than the maximum number of connections allowed by the application, and the virtual input unit is established according to the maximum number of connections allowed by the application.
  • the first sending module 804 is further configured to send a second application startup response message to the virtual machine And a manager, configured to cause the virtual machine manager to send a first application initiation response carrying the virtual machine address information to the terminal, so that the terminal sends a first connection request message to the virtual machine.
  • the above virtual machine as shown in FIG. 9, further includes:
  • the determining module 807 is configured to determine a type of the application according to the application identifier in the second application start request message.
  • the detecting module 808 is configured to detect whether there is a virtual virtual input unit.
  • the first sending module 804 is specifically configured to: if the determining module 807 determines that the type of the application is that the application does not support the type of the user added during the application running, and the detecting module 808 detects that there is no idle virtual input unit, Sending a preparation completion message to the terminal connected to the virtual machine; if the determining module 807 determines that the type of the application is a type of the user added during the application support application running, sending the application to the terminal connected to the virtual machine Prepare to complete the message.
  • the above virtual machine as shown in FIG. 10, further includes:
  • the first receiving module 801 is further configured to receive an instruction sent by the input device through the terminal, and
  • the processing module 809 is configured to update a program of the application according to the instruction and/or data, and obtain application processing response information, where the application processing response information includes response video and/or audio data information.
  • the encoding module 810 is configured to respectively determine encoding manners of all terminals connected to the application, and perform corresponding encoding according to the encoding manner.
  • the first sending module 804 is further configured to send the encoded application processing response information to the corresponding terminal.
  • the above virtual machine as shown in FIG. 10, further includes:
  • the conversion module 811 is configured to convert the received instructions and/or data into instructions and/or data recognized by the virtual machine processing module 809 if the processing module 809 does not recognize the instructions and/or data.
  • An embodiment of the present invention provides a terminal, as shown in FIG. 11, including:
  • An input device 121 for inputting instructions and/or data.
  • the recording unit 122 is configured to record the device identification of the input device 121.
  • the first sending unit 123 is configured to send a first connection request message to the virtual machine.
  • the first connection request message carries the user identifier of the terminal and has been
  • the device identifier of the first input device of the terminal is activated, so that the virtual machine establishes a first virtual input unit and the first according to the user identifier of the terminal and the device identifier of the first input device of the terminal Entering a mapping relationship of the device, the first virtual input unit is a virtual input unit that is idle in the virtual machine.
  • the first receiving unit 124 is configured to receive a first connection response message sent by the virtual machine.
  • the first receiving unit 124 is further configured to receive an application preparation completion message sent by the virtual machine, so that the terminal and the virtual machine perform instruction and/or data transmission.
  • the processing unit 125 is configured to perform instruction and/or data transmission with the virtual machine.
  • the first sending unit 123 is configured to send the first application start request message or the application join request message to the virtual machine manager.
  • the first application start request message carries a first identifier and an application identifier.
  • the first application start request message further carries user information and terminal performance information of the terminal.
  • the first identifier is used to indicate whether other input devices can be added to the application;
  • the application join request message carries the application identifier and the user identifier of the terminal connected to the virtual machine.
  • the first application start request message carries the number of connectable input devices set by the terminal.
  • the first receiving unit 124 is configured to receive a first application response message or an application join response message sent by the virtual machine manager, where the first application response message or the application join response message carries virtual machine address information.
  • the first sending unit 123 is further configured to send, according to the virtual machine address information, a second connection request message to the virtual machine, where the second connection request message carries the user identifier of the terminal and the activated terminal.
  • the device identifier of the input device is configured to enable the virtual machine to establish a mapping relationship between the second virtual input unit and the second input device of the terminal according to the user identifier of the terminal and the device identifier of the second input device of the terminal.
  • the second virtual input unit is a virtual input unit that is idle in the virtual machine.
  • the first receiving unit 124 is further configured to receive a second connection response message sent by the virtual machine.
  • the embodiment of the present invention provides a virtual machine manager, as shown in FIG. 12, including: a first receiving unit 131, configured to receive a first application start request message sent by the first terminal.
  • the first application start request message carries a first identifier and an application identifier.
  • the first application start request message further carries user information and terminal performance information of the terminal; the first identifier is used to indicate whether other input devices can be added to the application.
  • the first application start request message carries the number of connectable input devices set by the first terminal
  • the selecting unit 132 is configured to select a virtual machine according to the application identifier and terminal performance information of the first terminal.
  • the first sending unit 133 is configured to send a second application start request message to the virtual machine, where the second application start request message carries a first identifier and an application identifier, so that the virtual machine is configured according to the second At least one virtual input unit is established by the first identifier in the application start request message, and the application identifier is used to launch the application.
  • the second application start request message carries the number of connectable input devices set by the first terminal, or carries the maximum number of connections allowed by the application.
  • the second receiving unit 134 is configured to receive a second application start response message sent by the virtual machine.
  • the second sending unit 135 is configured to send a first application start response message to the first terminal, where the first application start response message carries virtual machine address information, so that the first terminal according to the virtual machine address information Sending a first connection request message to the virtual machine; the first connection request message sent by the first terminal carries the user identifier of the first terminal and the device identifier of the first input device of the first terminal that is started. .
  • the above virtual machine manager as shown in FIG. 13, further includes:
  • the first receiving unit 131 is configured to receive an application join request message sent by the at least one second terminal, where the application join request message carries an application identifier, and a user identifier of the terminal that is connected to the virtual machine.
  • the application join request message further carries user information and terminal performance information of the terminal.
  • the obtaining unit 136 is configured to obtain virtual machine address information according to the application identifier of the application join request message and the user identifier of the terminal connected to the virtual machine.
  • the adding unit 137 is configured to add the obtained virtual machine address information to the application join response message.
  • the first sending unit 133 is further configured to send an application join response message to the second terminal, where the application join response message carries the acquired virtual machine address information, so that the The second terminal sends a first connection request message to the virtual machine according to the virtual machine address information.
  • the first connection request message sent by the second terminal carries the user identifier of the second terminal and the device identifier of the first input device of the second terminal that has been activated.
  • An embodiment of the present invention provides an apparatus for implementing an online application, which establishes a mapping relationship between an idle virtual input unit and an input device of the terminal by using a user identifier of the terminal and a device identifier of the input device of the terminal, so that multiple users can pass different
  • the terminal is connected to the same application in the online application platform, and the same application is used for multiple users in the online application platform, and different users implement application interaction in different areas through different terminals, or different users pass the same application.
  • a different input device of a terminal implements application interaction, thereby improving the user experience.
  • the embodiment of the present invention provides a single-user multi-user implementation system, as shown in FIG. 14, including: a virtual machine 151, a virtual machine manager 152, and a terminal 153.
  • the virtual machine 151 is configured to receive the first connection request message sent by the terminal 153.
  • the first connection request message carries the user identifier of the terminal 153 and the device identifier of the first input device of the terminal 153 that has been activated. Selecting a first virtual input unit for the first input device of the terminal 153, the first virtual input unit being a virtual input unit that is idle in the virtual machine; according to the user identifier of the terminal 153 and the terminal 153 a device identifier of the input device, establishing a mapping relationship between the first virtual input unit and the first input device of the terminal 153; sending a first connection response message to the terminal 153, to notify the terminal 153 that the connection is completed;
  • the application preparation completion message is transmitted to the terminal 153 that has been connected to the virtual machine 151, so that the virtual machine 151 and the terminal 153 connected to the virtual machine 151 perform transmission of instructions and/or data.
  • the terminal 153 is configured to send a first connection request message to the virtual machine 151.
  • the first connection request message carries the user identifier of the terminal 153 and the device of the first input device of the terminal 153 that has been activated.
  • the mapping is performed to enable the virtual machine 151 to establish a mapping relationship between the first virtual input unit and the first input device of the first terminal 153 according to the user identifier of the terminal 153 and the device identifier of the first input device of the terminal 153.
  • the first virtual input unit is a virtual input unit that is idle in the virtual machine 151; receiving a first connection response message sent by the virtual machine 151; receiving an application preparation completion message sent by the virtual machine 151, so that the terminal 153 and the virtual machine 151 perform transmission of instructions and/or data.
  • the virtual machine manager 152 is configured to receive the first application sent by the first terminal 153.
  • the first application start request message carries the first identifier, the application identifier, and the terminal performance information of the first terminal 153; the first identifier is used to indicate whether other input devices can be added to the application;
  • the application identifier in the first application start request message and the terminal performance information of the first terminal 153 select the virtual machine 151; send a second application start request message to the virtual machine 151; and the second application start request message Carrying the first identifier and the application identifier, so that the virtual machine 151 establishes at least one virtual input unit according to the first identifier in the second application start request message, and starts an application according to the application identifier; and receives the virtual
  • the second application initiates the response message sent by the machine 151, and sends a first application start response message to the first terminal 153, where the first application start response message carries virtual machine address information, so that the first terminal 153 can
  • the virtual machine address information
  • the virtual machine and the virtual machine manager may be hardware devices such as a computer, and the method for performing the above functions may be a processor of the computer, and the virtual unit and the virtual machine manager may also be operated on the computer.
  • the terminal can be any terminal device, such as a mobile phone, a PDA, a notebook computer, a computer, a set top box, etc., and the present invention is not limited thereto.
  • Each functional unit of the terminal can be a processor of the terminal.
  • An embodiment of the present invention provides an online application implementation system, which establishes a mapping relationship between an idle virtual input unit and an input device of the terminal by using a user identifier of the terminal and a device identifier of the input device of the terminal, so that multiple users can pass different
  • the terminal is connected to the same application in the online application platform, and the same application is used for multiple users in the online application platform, and different users implement application interaction in different areas through different terminals, or different users pass the same application.
  • a different input device of a terminal implements application interaction, thereby improving the user experience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供了一种在线应用的实现方法、装置及***,涉及通信领域,用以实现在在线应用平台中对于单机多用户的同一个应用,用户可以通过不同的终端,实现应用的交互,提升用户体验。所述方法包括:接收终端发送的第一连接请求消息;所述第一连接请求消息中携带有所述终端的用户标识和已启动的所述终端的第一输入设备的设备标识;为所述终端的第一输入设备选择第一虚拟输入单元;根据所述终端的用户标识和所述终端的第一输入设备的设备标识,建立所述第一虚拟输入单元与所述终端的第一输入设备的映射关系;向所述终端发送第一连接响应消息;向已连接到虚拟机的终端发送应用准备完成消息。本发明适用于在线应用的场景。

Description

一种在线应用的实现方法、 装置及*** 本申请要求于 2012年 3月 31 日提交中国专利局、 申请号为
201210092700. 9 , 发明名称为 "一种在线应用的实现方法、 装置及***", 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信领域, 尤其涉及一种在线应用的实现方法、 装置 及***。
背景技术
随着硬件设备的发展及用户不同需要的提升,应用的种类也越来 越丰富。 在线应用场景中, 在线应用平台中可以部署各种第三方开发 的应用,终端可以远程连接到在线应用平台上体验在在线应用平台上 部署的应用。
单机多用户, 指的是只在一个终端安装应用的客户端程序, 多个 用户通过连接到此终端的不同输入设备操控应用。也就是说只有一个 应用程序, 不存在所有用户都要安装客户端程序的情况。 而对于在线 的网络游戏应用, 每个网络游戏应用都有需要安装的客户端的程序; 各终端都需要安装与各网络游戏应用对应的客户端程序,不同用户不 同的终端控制不同的客户端程序。所有客户端程序连接到同一在线应 用服务器。
目前,对于单机多用户的应用, 在线应用平台可以通过支持一个 终端多个不同输入设备的方式实现多用户同时使用此应用,具体实现 方式如下所述。
在线应用平台对于每一个应用都会建立终端的输入设备与虚拟 输入单元的映射。 终端的每个输入设备都对应一个虚拟输入单元, 当 用户通过终端输入设备发送输入指令时,输入指令中携带有输入设备 标识符,虚拟输入单元根据输入设备标识符接收输入指令并存储在此 虚拟输入单元的緩冲区中。应用服务器会釆用轮询的方式依次从各个 虚拟输入单元的緩冲区中读取输入指令和数据。
在实现上述在线应用平台支持单机多用户应用的过程中,由于一 个终端只能管理一个区域内的终端输入设备,这样就造成在同一个应 用中用户必须在同一区域内通过同一个终端进行交互,降低了用户体 验。
发明内容
本发明的实施例提供一种在线应用的实现方法、装置及***, 用 以实现在在线应用平台中对于单机多用户的同一个应用,用户可以通 过不同的终端, 在不同区域内对实现交互, 提升用户体验。
为达到上述目的, 本发明的实施例釆用如下技术方案: 一种在线应用的实现方法, 包括: 用于接收终端发送的第一连接 请求消息;所述第一连接请求消息中携带有所述终端的用户标识和已 启动的所述终端的第一输入设备的设备标识;为所述终端的第一输入 设备选择第一虚拟输入单元,所述第一虚拟输入单元为虚拟机中空闲 的虚拟输入单元;根据所述终端的用户标识和所述终端的第一输入设 备的设备标识,建立所述第一虚拟输入单元与所述终端的第一输入设 备的映射关系; 向所述终端发送第一连接响应消息, 以便通知所述终 端连接完成; 向已连接到虚拟机的终端发送应用准备完成消息, 以便 虚拟机与连接到虚拟机的终端进行指令和 /或数据的传输。
一种在线应用的实现方法, 包括: 终端向虚拟机发送第一连接请 求消息;所述第一连接请求消息中携带有所述终端的用户标识和已启 动的所述终端的第一输入设备的设备标识,以使得所述虚拟机根据所 述终端的用户标识和终端的第一输入设备的设备标识 ,建立第一虚拟 输入单元与所述第一终端的第一输入设备的映射关系,所述第一虚拟 输入单元为虚拟机中空闲的虚拟输入单元;接收所述虚拟机发送的第 一连接响应消息; 接收所述虚拟机发送的应用准备完成消息, 以便所 述终端与所述虚拟机进行指令和 /或数据的传输。
一种在线应用的实现方法, 包括: 虚拟机管理器接收第一终端发 送的第一应用启动请求消息;所述第一应用启动请求消息中携带有第 一标识、应用标识和第一终端的终端性能信息; 所述第一标识用于指 示其他输入设备是否可加入到应用中;根据所述第一应用启动请求消 息中的应用标识和第一终端的终端性能信息, 选择虚拟机; 向所述虚 拟机发送第二应用启动请求消息;所述第二应用启动请求消息中携带 有第一标识和应用标识,以便于所述虚拟机根据所述第二应用启动请 求消息中的第一标识建立至少一个虚拟输入单元,并根据所述应用标 识启动应用; 接收所述虚拟机发送的第二应用启动响应消息, 并发送 第一应用启动响应消息至所述第一终端,所述第一应用启动响应消息 中携带有虚拟机地址信息,以便于第一终端根据所述虚拟机地址信息 向所述虚拟机发送第一连接请求消息;第一终端发送的所述第一连接 请求消息中携带有所述第一终端的用户标识和已启动的所述第一终 端的第一输入设备的设备标识。
一种虚拟机, 包括: 第一接收模块, 用于接收终端发送的第一连 接请求消息;所述第一连接请求消息中携带有所述终端的用户标识和 已启动的所述终端的第一输入设备的设备标识; 选择模块, 用于为所 述终端的第一输入设备选择第一虚拟输入单元;所述第一虚拟输入单 元为虚拟机中空闲的虚拟输入单元; 第一建立模块, 用于根据所述终 端的用户标识和所述终端的第一输入设备的设备标识,建立所述第一 于向所述终端发送第一连接响应消息, 以便通知所述终端连接完成; 以及向已连接到虚拟机的终端发送应用准备完成消息,以便虚拟机与 连接到虚拟机的终端进行指令和 /或数据的传输。
一种终端, 包括: 输入设备, 用于输入指令和 /或数据; 记录单 元, 用于记录输入设备的设备标识; 第一发送单元, 用于向虚拟机发 送第一连接请求消息;所述第一连接请求消息中携带有所述终端的用 户标识和已启动的所述终端的第一输入设备的设备标识,以使得所述 虚拟机根据所述终端的用户标识和所述终端的第一输入设备的设备 标识建立第一虚拟输入单元与所述第一输入设备的映射关系;所述第 一虚拟输入单元为虚拟机中空闲的虚拟输入单元; 第一接收单元, 用 于接收所述虚拟机发送的第一连接响应消息;以及用于接收所述虚拟 机发送的应用准备完成消息, 以便终端与所述虚拟机进行指令和 /或 数据的传输; 处理单元, 用于与所述虚拟机进行指令和 /或数据的传 输。
一种虚拟机管理器, 包括: 第一接收单元, 用于接收第一终端发 送的第一应用启动请求消息;所述第一应用启动请求消息中携带有第 一标识、应用标识和终端性能信息; 所述第一标识用于指示其他输入 设备是否可加入到应用中; 选择单元, 用于根据所述第一终端的应用 标识和第一终端的终端性能信息, 选择虚拟机; 第一发送单元, 用于 向所述虚拟机发送第二应用启动请求消息;所述第二应用启动请求消 息中携带有第一标识和应用标识,以便于所述虚拟机根据所述第二应 用启动请求消息中的第一标识建立至少一个虚拟输入单元,并根据所 述应用标识启动应用; 第二接收单元, 用于接收所述虚拟机发送的第 二应用启动响应消息; 第二发送单元, 用于发送第一应用启动响应消 息至所述第一终端,所述第一应用启动响应消息中携带有虚拟机地址 信息,以便于第一终端根据所述虚拟机地址信息向所述虚拟机发送第 一连接请求消息;第一终端发送的所述第一连接请求消息中携带有所 述第一终端的用户标识和已启动的所述第一终端的第一输入设备的 设备标识。
一种在线应用的实现***, 包括: 虚拟机,虚拟机管理器, 终端; 所述虚拟机为上述虚拟机, 所述虚拟机管理器为上述虚拟机管理器, 所述终端为上述终端。
本发明实施例提供了一种在线应用的实现方法、装置及***, 通 过终端的用户标识和终端的输入设备的设备标识建立空闲虚拟输入 单元与终端的输入设备间的映射关系,可以使得多个用户通过不同的 终端连接到在线应用平台中的同一个应用,实现了在在线应用平台中 对于多用户使用同一个应用, 不同的用户通过不同的终端, 在不同区 域内实现应用的交互,或者不同的用户通过同一个终端的不同输入设 备, 实现应用的交互, 从而提升用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员 来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附 图。
图 1 为本发明实施例提供的一种在线应用的实现方法的示意图 之一;
图 2 为本发明实施例提供的一种在线应用的实现方法的示意图 之二; 图 3 为本发明实施例提供的一种在线应用的实现方法的示意图 之三;
图 4 为本发明实施例提供的一种在线应用的实现方法的示意图 之四;
图 5 为本发明实施例提供的一种在线应用的实现方法的示意图 之五;
图 6 为本发明实施例提供的一种在线应用的实现方法的示意图 之六;
图 7为本发明实施例提供的一种虚拟机的结构示意图;
图 8为本发明实施例提供的另一种虚拟机的结构示意图; 图 9为本发明实施例提供的另一种虚拟机的结构示意图; 图 10为本发明实施例提供的另一种虚拟机的结构示意图; 图 11为本发明实施例提供的一种终端的结构示意图;
图 12为本发明实施例提供的一种虚拟机管理器的结构示意图; 图 13 为本发明实施例提供的另一种虚拟机管理器的结构示意 图;
图 14 为本发明实施例提供的一种在线应用的实现***的示意 图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没 有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的 范围。
本发明实施例提供了一种在线应用的实现方法, 如图 1所示, 包 括:
101、 虚拟机接收终端发送的第一连接请求消 ,包、。
其中,所述第一连接请求消息中携带有所述终端的用户标识和已 启动的所述终端的第一输入设备的设备标识。所述终端的用户标识可 以为终端的标识 (如终端的 IP地址, 手机号, IMEI号等) , 也可以 为终端的用户的帐户, 或其它的能唯一标识终端或终端的用户的标 识, 本发明在此不在详述。
需要说明的是,虚拟机接收至少一个终端发送的第一连接请求消 息。
需要说明的是, 在本发明所有实施例中,一个终端可以对应多个 输入设备。 例如, 机顶盒为一个终端, 安装在机顶盒中的手柄为输入 设备。 一个机顶盒中可以安装多个手柄。 将手柄称为机顶盒的输入设 备。
需要说明的是, 在本发明所有实施例中, 第一输入设备是指触发 终端发起此应用的一个输入设备; 或者在其他终端已发起此应用时, 关系时, 第一个触发终端加入此应用, 与此应用所在虚拟机的虚拟输 入单元建立映射关系的输入设备。将终端向虚拟机发送的连接请求消 息中携带有已启动的第一输入设备的设备标识的连接请求消息称为 第一连接请求消息。 例如, 按动手柄的某个键, 使得手柄触发机顶盒 发起应用, 此时称手柄称为已启动的第一输入设备。 已启动是指输入 设备向终端发送了触发操作。
102、 虚拟机为所述终端的第一输入设备选择第一输入单元。 其中, 所述第一输入单元为虚拟机中空闲的虚拟输入单元, 即还 没有被分配给输入设备, 也没有被建立与输入设备和终端, 或也没有 被建立与输入设备和终端的用户有映射关系的虚拟输入单元。
103、 根据所述终端的用户标识和所述终端的第一输入设备的设 备标识,建立所述第一虚拟输入单元与所述第一终端的第一输入设备 的映射关系。
其中,虚拟机在已建立的至少一个虚拟输入单元中, 为所述终端 的第一输入设备选择第一虚拟输入单元,根据终端的用户标识和终端 的第一输入设备的设备标识建立选择的第一虚拟输入单元与已启动 的第一终端的第一输入设备之间对应的映射关系。
具体的 ,虚拟机在已建立的至少一个虚拟输入单元中检测至少一 个虚拟输入单元是否都已与输入设备建立了映射关系,若有虚拟输入 单元没有与输入设备建立映射关系,则此虚拟输入单元为空闲的虚拟 输入单元, 则将此空闲的虚拟输入单元作第一虚拟输入单元。 虚拟机 建立终端的用户标识和终端的第一输入设备的设备标识与第一虚拟 输入单元的单元标识的映射关系,使得第一虚拟输入单元与第一输入 设备对应,以便于虚拟机将接收到的第一输入设备通过终端发送的指 令和 /或数据存储至第一虚拟输入单元中。 具体的, 虚拟机可以记录 或改变虚拟输入单元的状态,以表示是否已经建立了虚拟输入单元与 终端的输入设备的映射关系,也可以用特定的标准表示已经建立了虚 拟输入单元与终端的输入设备的映射关系。
需要说明的是, 终端将第一输入设备发送的指令和 /数据进行数 据包封装处理,在此数据包的包头信息中有用于标识终端用户标识的 字段, 有用于标识终端第一输入设备的字段。 终端将此数据包发送至 虚拟机,虚拟机根据数据包的包头信息中的标识终端用户标识的字段 和标识终端第一输入设备的字段确定将此数据包中的指令和 /或数据 信息发送至相应的第一虚拟输入单元中。
需要说明的是,虚拟机检测至少一个虚拟输入单元是否都已与输 入设备建立了映射关系的方法可以是虚拟机每次从第一个虚拟输入 单元开始检测虚拟输入单元是否都已与输入设备建立了映射关系,也 可以是其他方法检测虚拟输入单元是否都已与输入设备建立了映射 关系, 例如虚拟机可以记录或改变虚拟输入单元的状态, 以表示是否 已经建立了虚拟输入单元与终端的输入设备的映射关系,也可以用特 定的标准表示已经建立了虚拟输入单元与终端的输入设备的映射关 系。 本发明对此不作限定。
1 04、 虚拟机向所述终端发送第一连接响应消息, 以便通知所述 第一终端连接完成。
1 05、 虚拟机向已连接到虚拟机的终端发送应用准备完成消息, 以便虚拟机与连接到虚拟机的终端备进行指令和 /或数据的传输。
具体的, 若虚拟机获知应用的类型为不支持应用运行过程中添加 用户的应用, 则虚拟机在向所述终端发送第一连接响应消息后, 先检 测建立的至少一个虚拟输入单元中是否有空闲的虚拟输入单元;若没有空 闲的虚拟输入单元,则虚拟机向已连接到虚拟机的终端发送应用准备完成 消息。 若虚拟机获知应用的类型为支持应用运行过程中添加用户的应用, 则虚拟机在向终端发送完第一连接响应消息后,直接向所述终端发送应用 准备完成消息。 本发明实施例提供了一种在线应用的实现方法,虚拟机通过接收 终端发送的第一连接请求消息,第一连接请求消息中所述终端的用户 标识和已启动的终端的第一输入设备的设备标识,虚拟机根据第一连 接请求消息建立虚拟输入单元与终端的第一输入设备的映射关系,并 发送第一连接响应消息至终端。虚拟机通过此映射关系能够将不同终 端的不同输入设备或相同终端的不同输入设备发送的指令和 /或数据 发送至相应的虚拟输入单元,从而可以实现在在线应用平台中对于同 一应用的多个用户的使用, 不同的用户可以通过不同的终端, 在不同 区域内, 实现应用的交互, 也可以通过相同终端的不同输入设备实现 应用的交互, 从而提升用户体验。
本发明实施例提供了一种在线应用的实现方法, 如图 2所示, 包 括:
201、 终端向虚拟机发送第一连接请求消息。
其中,所述第一连接请求消息中携带有所述终端的用户标识和已 启动的所述终端的第一输入设备的设备标识,以使得所述虚拟机根据 所述终端的用户标识和所述终端的第一输入设备的设备标识,建立第 一虚拟输入单元与所述终端的第一输入设备的映射关系,所述第一虚 拟输入单元为虚拟机中空闲的虚拟输入单元。
其中,所述第一连接请求消息中携带有所述终端的用户标识和已 启动的所述终端的第一输入设备的设备标识。所述终端的用户标识可 以为终端的标识 (如终端的 IP地址, 手机号, IMEI号等) , 也可以 为终端的用户的帐户, 或其它的能唯一标识终端或终端的用户的标 识, 本发明在此不在详述。
终端的第一输入设备触发终端发起应用或是加入应用,在终端获 取到虚拟机地址信息后, 终端向虚拟机发送第一连接请求消息。
需要说明的是, 终端的第一输入设备在连接到终端时, 终端会记 录第一输入设备的设备标识。
202、 接收所述虚拟机发送的第一连接响应消息。
203、 接收所述虚拟机发送的应用准备完成消息, 以便所述终端 与所述虚拟机进行指令和 /或数据的传输。
具体的, 若虚拟机获知应用的类型为不支持应用运行过程中添加 用户的应用, 则虚拟机在向所述终端发送第一连接响应消息后, 先检 测建立的至少一个虚拟输入单元中是否有空闲的虚拟输入单元;若没有空 闲的虚拟输入单元,则虚拟机向已连接到虚拟机的终端发送应用准备完成 消息, 终端接收虚拟机发送的应用准备完成消息。 若虚拟机获知应用的类 型为支持应用运行过程中添加用户的应用,则虚拟机在向终端发送完第一 连接响应消息后, 直接向所述终端发送应用准备完成消息, 则终端接收 完第一连接响应消息后, 接收应用准备完成消息。
本发明实施例提供了一种在线应用的实现方法,终端向虚拟机发 送携带有终端的用户标识和已启动的终端的输入设备的设备标识的 第一连接请求消息,以使得虚拟机根据终端的用户标识和已启动的终 端的输入设备的设备标识,建立虚拟输入单元与终端的第一输入设备 的对应的映射关系。这样能够实现在在线应用平台中对于同一应用的 多个用户的使用, 不同的用户可以通过不同的终端, 在不同区域内, 实现应用的交互,也可以通过相同终端的不同输入设备实现应用的交 互, 从而提升用户体验。
本发明实施例提供了一种在线应用的实现方法, 如图 3所示, 包 括:
301、虚拟机管理器接收第一终端发送的第一应用启动请求消息。 其中, 所述第一应用启动请求消息中携带有第一标识和应用标 识。 所述第一标识用于指示其他输入设备是否可加入到应用中。
进一步的,第一应用启动请求消息中还携带有终端的用户信息和 和终端性能信息。
可选的,所述第一应用启动请求消息中还携带有所述第一终端设 定的可连接的输入设备的数量。
具体的, 用户信息包括终端的用户标识和用户登录密码信息。 终 端性能信息指示终端所具有的性能。例如,终端是否具有触摸屏功能, 是否具体带有键盘功能等。
需要说明的是,第一终端将第一应用启动请求消息进行数据包封 装处理后, 发送至虚拟机管理器。 第一终端在进行数据包封装时, 将 数据包的包头信息中用于标识消息类型的字段填写为第一应用启动 请求消息对应的编码,以使得虚拟机管理器获知第一终端发送的;肖 ,包、 为第一应用启动请求消息。 虚拟机管理器接收到数据包后,通过查看数据包包头信息的标识 消息类型的字段获知第一终端发送的消息为第一应用启动请求消息, 进行解封装处理后得到第一应用启动请求消息,并根据第一应用启动 消息中的用户信息为发起应用的第一终端的用户建立用户信息表,在 用户信息表中记录有第一终端的用户标识和第一终端的终端性能信 息和第一终端要启动的应用的应用标识。
需要说明的是,虚拟机管理器为第一终端的用户建立用户信息表 可以是为每个用户建立一张单独的表,也可以是在已建立的用户信息 表中添加一个表项, 记录第一终端的用户的信息, 本发明对此不作限 定。
302、 根据所述应用标识和第一终端的终端性能信息, 选择虚拟 机。
具体的,虚拟机管理器根据应用标识和第一终端的终端性能信息 选择虚拟机。 具体的选择方法为现有技术, 本发明实施例在此不做限 定和详细论述。
303、 向所述虚拟机发送第二应用启动请求消息。
其中, 所述第二应用启动请求消息中携带有第一标识和应用标 识。 所述第一标识用于指示其他输入设备可加入到应用中。
具体的,虚拟机管理器将第二应用启动请求消息发送至选择的虚 拟机。 可选的, 若虚拟机管理器接收到的第一应用启动请求消息中携 带有第一终端设定的可连接的输入设备的数量,则虚拟机管理器将第 一终端设定的可连接的输入设备的数量添加至第二应用启动请求消 息中发送至选择的虚拟机。 进一步可选的, 若虚拟机管理器接收到的 第一应用启动请求消息中没有携带第一终端设定的可连接的输入设 备的数量,则虚拟机管理器根据应用标识通过查看应用的配置文件获 知应用允许接入的最大连接数量,并将应用允许接入的最大连接数量 添加至第二应用启动请求消息中发送至选择的虚拟机。
需要说明的是,应用允许接入的最大连接数量存储在应用的配置 文件中,虚拟机管理器可以通过查看此文件获知应用允许接入的最大 连接数量。 应用的配置文件中记录有应用的信息, 例如记录应用允许 接入的最大终端输入设备的数量, 记录应用的类型等信息。 虚拟机接收第二应用启动请求消息,若所述第一标识指示不允许 其他输入设备加入到该应用中, 则虚拟机建立一个虚拟输入单元。 若 所述第一标识指示允许其他输入设备加入到该的应用中, 可选的, 所 述第二应用启动请求消息中携带有第一终端设定的可连接的输入设 备的数量,且第一终端设定的可连接的输入设备的数量不大于应用允 许接入的最大连接数量, 或者, 第二应用启动请求消息中携带有应用 允许接入的最大连接数量,则虚拟机根据所述第一终端设定的可连接 的输入设备数量, 或者, 根据应用允许接入的最大连接数量建立相同 数量的虚拟输入单元。若所述第一标识指示允许其他输入设备加入到 该的应用中,且所述第二应用启动请求消息中没有携带所述第一终端 设定的可连接的输入设备的数量,也没有携带所述应用允许接入的最 大连接数量,则虚拟机通过查看应用的配置文件获知此应用允许接入 的最大连接数量,根据应用允许接入的最大连接数量建立相同数量的 虚拟输入单元。 或者, 所述第一终端设定的可连接的输入设备的数量 大于应用允许接入的最大连接数量,则虚拟机根据应用允许接入的最 大连接数量建立相同数量的虚拟输入单元。 并启动应用, 将第二应用 启动响应消息发送至虚拟机管理器。
需要说明的是,应用的配置文件中记录有应用的信息, 例如记录 应用允许接入的最大连接数量, 应用的类型等信息。
304、 接收所述虚拟机发送的第二应用启动响应消息。
具体的,虚拟机管理器将接收到第二应用启动响应消息后检测第 二应用响应启动消息中是否携带有虚拟机地址信息,若第二应用启动 响应消息中没有携带虚拟机地址信息,则虚拟机管理器将虚拟机地址 信息添加至第二应用启动响应消息中,并将携带有虚拟机地址信息添 加至第二应用启动响应消息作为第一应用启动响应消息,并将虚拟机 地址信息添加至用户信息表中。
305、 发送第一应用启动响应消息至所述第一终端, 所述第一应 用启动响应消息中携带有虚拟机地址信息,以便于第一终端根据所述 虚拟机地址信息向所述虚拟机发送第一连接请求消息;第一终端发送 的所述第一连接请求消息中携带有所述第一终端的用户标识和已启 动的所述第一终端的第一输入设备的设备标识。
本发明实施例提供了一种在线应用的实现方法,虚拟机管理器通 过接收第一终端发送的第一应用启动请求消息, 选择虚拟机, 并向选 择的虚拟机发送第二应用启动请求消息。接收到虚拟机发送的第二应 用启动响应消息,并将携带有虚拟机地址信息的第一应用启动响应消 息发送至第一终端。 这样, 能使第一终端与虚拟机之间建立连接, 以 的映射关系。用于实现在在线应用平台中对于同一应用的多个用户的 使用, 不同的用户可以通过不同的终端, 在不同区域内, 实现应用的 交互, 也可以通过相同终端的不同输入设备实现应用的交互, 从而提 升用户体验。
本发明实施例提供了一种在线应用的实现方法, 包括:
401、 与步骤 301相同, 本发明实施例在此不在详述。
402、 与步骤 302相同, 在此不在详述。
举例说明 ,虚拟机 1和虚拟机 2都安装有应用标识为 3的应用程 序, 应用标识为 3的应用程序并未启动。 并且, 虚拟机 1支持的终端 的屏幕分辨率为 320*480 , 虚拟机 2 支持的终端屏幕分辨率为 320*640。 虚拟机管理器接收到第一终端发送的应用标识为 3的第一 应用启动请求消息, 并且第一终端的屏幕分辨率为 320*640 , 则虚拟 机管理器在接收第一应用启动请求消息后,将选择虚拟机 2中的应用 程序作为第一终端发起的应用。
403、 与步骤 303相同, 在此不在详述。
如上例所述, 向虚拟机 2发送第二应用启动请求消息。
404、 虚拟机根据第二应用启动请求消息中的第一标识建立至少 一个虚拟输入单元, 并 居所述应用标识启动应用。
具体的,若所述第一标识指示不允许其他输入设备加入到该应用 中, 则虚拟机建立一个虚拟输入单元。 若所述第一标识指示允许其他 输入设备加入到该的应用中, 可选的, 所述第二应用启动请求消息中 携带有第一终端设定的可连接的输入设备的数量,且第一终端设定的 可连接的输入设备的数量不大于应用允许接入的最大连接数量, 或 者, 第二应用启动请求消息中携带有应用允许接入的最大连接数量, 则虚拟机根据所述第一终端设定的可连接的输入设备的数量, 或者, 根据应用允许接入的最大连接数量建立相同数量的虚拟输入单元。若 所述第一标识指示允许其他输入设备加入到该的应用中,且所述第二 应用启动请求消息中没有携带所述第一终端设定的可连接的输入设 备的数量, 也没有携带所述应用允许接入的最大连接数量, 则虚拟机 通过查看应用的配置文件获知此应用允许接入的最大连接数量,根据 应用允许接入的最大连接数量建立相同数量的虚拟输入单元。 或者, 所述第一终端设定的可连接的输入设备的数量大于应用允许接入的 最大连接数量,根据应用允许接入的最大连接数量建立相同数量的虚 拟输入单元。 并启动应用。
需要说明的是,应用允许接入的最大终端输入设备的数量存储在 应用的配置文件中,虚拟机管理器可以通过查看此文件获知应用允许 接入的最大终端输入设备的数量。应用的配置文件中记录有应用的信 息, 例如记录应用允许接入的最大终端输入设备的数量, 应用的类型 等信息。
405、 虚拟机将第二应用启动响应消息发送至虚拟机管理器, 以 使得虚拟机管理器发送携带有所述虚拟机地址信息的第一应用启动 响应消息至所述终端,以便所述终端向所述虚拟机发送第一连接请求 消息。
可选的, 虚拟机将其地址信息添加至第二应用启动响应消息。
406、 与步骤 304相同, 在此不在详述。
407、 与步骤 305相同, 在此不在详述。
408、 第一终端根据第一应用启动响应消息中的虚拟机地址信息 向虚拟机发送第一连接请求消息。
具体的, 第一终端接收到第一应用启动响应消息后, 获知并存储 虚拟机地址信息与应用标识,第一终端跟虚拟机地址信息向虚拟机发 送的第一连接请求消息中携带有第一终端的用户标识和已启动的第 一终端的第一输入设备的设备标识,以使得虚拟机根据第一终端的用 户标识和第一终端的第一输入设备的设备标识,建立空闲的虚拟输入 单元与第一终端的第一输入设备的映射关系。
其中, 第一终端的用户标识可以为第一终端的标识(如第一终端 的 IP地址, 手机号, IMEI号等), 也可以为第一终端的用户的帐户, 或其它的能唯一标识第一终端或第一终端的用户的标识,本发明在此 不在详述。
409、 虚拟机为所述第一终端的第一输入设备选择第一虚拟输入 单元,并根据所述第一终端的用户标识和所述第一终端的第一输入设 备的设备标识,建立所述第一虚拟输入单元与所述第一终端的第一输 入设备的映射关系。
其中, 所述第一输入单元为虚拟机中空闲的虚拟输入单元, 即还 没有被分配给输入设备, 也没有被建立与输入设备和终端, 或也没有 被建立与输入设备和终端的用户有映射关系的虚拟输入单元。
具体的 ,虚拟机在已建立的至少一个虚拟输入单元中检测至少一 个虚拟输入单元是否都已与输入设备建立了映射关系,若有虚拟输入 单元没有与输入设备建立映射关系,则此虚拟输入单元为空闲的虚拟 输入单元, 则将此空闲的虚拟输入单元作第一虚拟输入单元。 虚拟机 建立第一终端的用户标识和第一终端的第一输入设备的设备标识与 第一虚拟输入单元的单元标识的映射关系,使得第一虚拟输入单元与 第一终端的第一输入设备对应,以便于将虚拟机将接收到的第一输入 设备通过第一终端发送的指令和 /或数据存储至相应的第一虚拟输入 单元中。
410、 虚拟机向所述第一终端发送第一连接响应消息, 以便通知 所述第一终端连接完成。
需要说明的是,虚拟机根据所述第二应用启动请求消息中的第一 标识获知是否允许其他输入设备加入到第一终端发起的应用中。若第 一标识指示不允许其他输入设备加入到该应用中, 则执行完步骤 410 之后, 执行步骤 510 , 511 , 如图 4所示。 若第一标识指示允许其他 输入设备加入到该应用中, 则在执行完步骤 410后, 执行步骤 411。
411、 根据所述第二应用启动请求消息中的应用标识确定此应用 的类型。
其中, 在在线应用平台中, 单机多用户的应用可以分为不支持应用 运行过程中添加用户的应用和支持应用运行过程中添加用户的应用两种 应用类型。
具体的, 虚拟机根据应用标识查找应用的配置文件,从应用的配 置文件总获取应用的类型是不支持应用运行过程中添加用户的应用的 类型还是支持应用运行过程中添加用户的应用的类型。
若应用的类型为应用不支持应用运行过程中添加用户的类型, 则需 要在应用运行前, 将其他输入设备加入到该应用中, 达到要求的连接数量 后才能运行此应用。要求的连接数量为由发起此应用的第一终端设定的可 连接的输入设备的数量, 或者是应用允许接入的最大连接数量。 在步骤
411后, 执行步骤 501a-504a和 /或 501b-508b, 509-511 , 如图 5所示。 若 应用的类型为支持应用运行过程中添加用户的应用,则虚拟机向第一终端 发送第一连接响应消息后, 直接向第一终端发送应用准备完成消息, 使得 第一终端接收到应用准备完成消息后即可直接与虚拟机进行数据和 /或指 令的传输,其他输入设备的加入可在应用运行过程中加入。在步骤 411后, 执行步骤 601 , 602, 603a-608a和 /或 603b-614b, 如图 6所示。
需要说明的是,加入到应用的其他输入设备的用户可以是来自与 发起应用的输入设备的用户有相同终端的其他输入设备的用户,也可 以是与发起应用的输入设备的用户不同终端的其他输入设备的用户, 下面对于与发起应用的用户有相同终端的其他输入设备的用户的添 加过程如步骤 501a-504a参考图 5所示。对于与发起应用的用户不同终 端的其他输入设备的用户的添加过程如步骤 501b-508b, 参考图 5所 示。
501a、第一终端的第二输入设备触发第一终端将第二输入设备加 入到应用中。
需要说明的是,第一终端的第二输入设备是指除了第一输入设备 之外的已启动的第一终端的其他输入设备。已启动是指输入设备向终 端发送了触发操作。 第二输入设备可以是多个, 也可以是一个, 本发 明对此不做限定。
502a、第一终端根据自身存储的应用的虚拟机地址信息向虚拟机 发送第二连接请求消息。
其中, 第二连接请求消息中携带有第一终端的用户标识和已启 动的第一终端的第二输入设备的设备标识,以使得所述虚拟机根据所 述第一终端的用户标识和第一终端的第二输入设备的设备标识,建立 空闲的虚拟输入单元与所述第一终端的第二输入设备的映射关系。
需要说明的是, 当第一终端有多个第二输入设备时, 第一终端分 别向虚拟机发送第二连接请求消息。 即第一终端有几个第二输入设 备, 向虚拟机发送几次第二连接请求消息。
需要说明的是,将终端的第二输入设备加入应用时发送的连接请 求消息称为第二连接请求消息。
需要说明的是,第二连接请求消息中携带的第一终端的用户标识 为发起此应用的终端的用户标识。
503a ,虚拟机为所述第一终端的第二输入设备选择第二虚拟输入 单元,并根据所述第一终端的用户标识和所述第一终端的第二输入设 备的设备标识,建立所述第二虚拟输入单元与所述第一终端的第二输 入设备的映射关系。
其中, 所述第二虚拟输入单元为虚拟机中空闲的虚拟输入单元。 举例说明, 第一终端为一个机顶盒, 输入设备为手柄。 机顶盒的 第一手柄已与虚拟机的第一虚拟输入单元建立了映射关系。第二手柄 和第三手柄要加入此应用中。 首先, 机顶盒根据存储的虚拟机地址信 息, 向虚拟机发送第二连接请求消息, 第二连接请求消息中携带有机 顶盒的用户标识和第二手柄的手柄标识。虚拟机接收到第二连接请求 消息后, 为机顶盒的第二手柄选择一个第二虚拟输入单元, 根据第二 连接请求消息中的机顶盒的用户标识和第二手柄的手柄标识,选择的 第二虚拟输入单元的单元标识,建立机顶盒的第二手柄与选择的第二 虚拟输入单元的映射关系,使得选择的第二虚拟输入单元与机顶盒的 第二手柄对应,以便于将虚拟机将接收到的第二手柄通过机顶盒发送 的指令和 /或数据存储至相应的第二虚拟输入单元中。 然后, 机顶盒 根据虚拟机地址信息再次向虚拟机发送第二连接请求消息,第二连接 请求消息中携带有机顶盒的用户标识和第三手柄的手柄标识,虚拟机 接收到第二连接请求消息后,为机顶盒的第三手柄选择一个第二虚拟 输入单元,根据第二连接请求消息中的机顶盒的用户标识和第三手柄 的手柄标识, 选择的第二虚拟输入单元的单元标识, 建立机顶盒的第 三手柄与选择的第二虚拟输入单元的映射关系,使得选择的第二虚拟 输入单元与机顶盒的第三手柄对应,以便于将虚拟机将接收到的第三 手柄通过机顶盒发送的指令和 /或数据存储至相应的第二虚拟输入单 元中。 504a, 虚拟机向所述第一终端发送第二连接响应消息。
501b , 第二终端的第一输入设备触发第二终端加入此应用。 例如,第二终端的第一输入设备的用户通过与已连接到虚拟机的 终端的用户通信获知已连接到虚拟机的终端的用户的用户标识和应 用标识,则第二终端的第一输入设备的用户通过第一输入设备触发第 二终端加入获知的应用标识对应的应用中。
502b , 第二终端向虚拟机管理器发送应用加入请求消息。
其中,应用加入请求消息中携带有应用标识、 已连接到虚拟机的 终端的用户标识。应用加入请求消息中还携带有所述第二终端的用户 信息和第二终端的终端性能信息。 第二终端在此次做为类指, 表示后 续加入到应用的多个终端。
具体的, 所述第二终端的用户信息包括用户标识和用户登录密 码。 第二终端的终端性能信息指示第二终端所具有的性能。 例如, 第 二终端是否具有触摸屏功能, 是否具体带有键盘功能等。
第二终端将应用加入请求消息进行数据包封装处理后,发送至虚 拟机管理器。 第二终端在进行数据包封装时, 将数据包的包头信息中 用于标识消息类型的字段填写为应用加入请求消息对应的编码,以使 得虚拟机管理器获知第二终端发送的消息为应用加入请求消息。
如上例所述,第二终端的第一输入设备的用户与已连接到虚拟机 的终端的用户通信时获知了已连接到虚拟机的终端的用户标识,第二 终端向虚拟机管理器发送应用加入请求消息时,将获得的已连接到虚 拟机的终端的用户标识添加至应用加入请求消息中 ,发送至虚拟机管 理器。
需要说明的是,第二终端获取已连接到虚拟机的终端的用户标识可 以通过已连接到运行此应用的虚拟机的终端的用户获取,也可以通过 其他方式获取,本发明对第二终端获取已连接到虚拟机的终端用户标 识的方法不做限定。
503b、 虚拟机管理器接收所述第二终端发送的应用加入请求消 息。
其中,虚拟机管理器根据应用加入请求消息中的第二终端的用户 信息和第二终端性能信息为所述第二终端的用户建立用户信息表。 需要说明的是, 若第二终端为多个, 则虚拟机管理器为每一个第 二终端都建立一个用户信息表。
需要说明的是,终端向虚拟机管理器发送第一应用启动请求消息 或发送应用加入请求消息都需先将第一应用启动请求消息或发送应 用加入请求消息进行数据包封装处理。在此数据包的包头信息中有用 于标识消息类型的字段,虚拟机管理接收到数据包后根据查看包头信 息中此字段便可获知消息的类型。 例如, 第一应用启动请求消息在数 据包标识消息类型的字段用 01表示, 应用加入请求消息在数据包包 头信息的标识消息类型的字段用 10表示, 若虚拟机管理器在接收到 数据包后查看包头此字段为 10 , 则虚拟机管理器获知此数据包封装 的为应用加入请求消息。
504b、虚拟机管理器根据应用加入请求消息中携带的应用标识和 已连接到虚拟机的终端的用户标识获取虚拟机地址信息。
具体的,虚拟机管理器根据应用加入请求消息中携带的应用标识 和已连接到虚拟机的终端的用户标识查找已建立的用户信息表,并在 查找到的用户信息表中获取相应的虚拟机地址信息,并将此虚拟机地 址信息添加至为第二终端的用户建立用户信息表中。
505b、将携带有虚拟机地址信息的应用加入响应消息发送至所述 第二终端。
具体的,虚拟机管理器将获取的虚拟机地址信息添加至应用加入 响应消息中。将应用加入响应消息发送给要加入此应用的所述第二终 端。
506b、所述第二终端 居应用加入响应消息中的虚拟机地址信息 向虚拟机发送第一连接请求消息。
第二终端接收到应用加入响应消息后存储虚拟机地址信息与应 用标识,根据应用加入响应消息中的虚拟机地址信息向虚拟机发送第 一连接请求消息。
其中,第二终端发送的第一连接请求消息中第二终端的用户标识 和已启动的所述第二终端的第一输入设备的设备标识。
具体的, 第二终端的用户标识可以为第二终端的标识(如第二终 端的 IP地址, 手机号, IMEI号等) , 也可以为第二终端的用户的帐 户, 或其它的能唯一标识第二终端或第二终端的用户的标识, 本发明 在此不在详述。
507b、虚拟机为所述第二终端的第一输入设备选择第一虚拟输入 单元,并根据所述第二终端的用户标识和已启动的所述第二终端的第 一输入设备的设备标识,建立所述第一虚拟输入单元与所述第二终端 的第一输入设备的映射关系。
508b ,虚拟机向所述第二终端发送应用连接响应消息, 以便通知 所述第二终端连接完成。
需要说明的是,第二终端的第二输入设备加入此应用时的过程与 上述第一终端的第二输入设备加入此应用的过程相同,可参考上述步 骤 501a-504a, 具体如下所述。
第二终端的第二输入设备触发第二终端将第二输入设备加入到 应用中。第二终端根据自身存储的应用的虚拟机地址信息向虚拟机发 送第二连接请求消息。
其中, 第二终端发送的第二连接请求消息中携带有第二终端的 用户标识和已启动的第二终端的第二输入设备的设备标识 ,以使得所 述虚拟机根据所述第二终端的用户标识和第二终端的第二输入设备 的设备标识,建立第二虚拟输入单元与所述第二终端的第二输入设备 的映射关系。
虚拟机接收第二连接请求消息。虚拟机为所述第二终端的第二输 入设备选择第二虚拟输入单元,并根据所述第二终端的用户标识和所 述第二终端的第二输入设备的设备标识,建立所述第二虚拟输入单元 与所述第二终端的第二输入设备的映射关系。虚拟机向所述第二终端 发送第二连接响应消息。
509、 虚拟机检测是否有空闲的虚拟输入单元。
具体的, 若没有空闲的虚拟输入单元, 则执行步骤 510。
若有空闲的虚拟输入单元,则说明加入应用的终端的用户还没有 达到要求的连接数量, 则需要等待其他输入设备加入到该应用中。
510、 虚拟机向已连接到虚拟机的终端发送应用准备完成消息, 以便虚拟机与连接到虚拟机的终端备进行指令和 /或数据的传输。
511、 终端接收到虚拟机发送的准备完成消息, 与虚拟机进行指 令和 /或数据的传输。
具体的, 与虚拟机进行指令和 /或数据的传输的具体的过程如下: 虚拟机接收输入设备通过终端发送的指令和 /或数据, 并将接收 到的输入设备通过所述终端发送的指令和 /或数据存储至相应的虚拟 输入单元。 虚拟输入单元将存储的指令和 /或数据发送至虚拟机的处 理模块。
若虚拟机的处理模块 不识别所述终端发送的指令和 /或数据时, 将接收到的所述指令和 /或数据转换为虚拟机的处理模块 识别的指 令和 /或数据。
需要说明的是, 虚拟机的处理模块 是指虚拟机中处理应用的指 令和 /或数据的单元。
进一步的, 虚拟机有可能根据程序的逻辑, 将接收到的指令和 / 或数据转换为应用特定的指令和 /或数据, 并根据转换后的指令和 /或 数据更新应用程序。 例如, 终端的输入设备为键盘, 而应用的默认输 入为手柄轴事件,就需要虚拟机将键盘的按键事件转换为手柄的轴事 件, 抛送给应用, 控制应用的执行。
虚拟机根据所述指令和 /或数据更新所述应用的程序, 并获取应 用处理响应信息, 所述应用处理响应信息中包括响应的视频和 /或音 频数据信息。
虚拟机分别确定连接到所述虚拟机的终端的编码方式,将所述应 用处理响应信息根据所述编码方式进行相应的编码,并将编码后的所 述应用处理响应信息发送至相应的终端。
其中,虚拟机根据已连接到虚拟机的终端可处理的编码方式对所 述应用处理响应信息进行编码,并将编码后的所述应用处理响应信息 相应的发送到各个终端,各个终端接收到应用处理响应信息并进行解 码, 将解码后的应用处理响应信息发送至输出设备。
需要说明的是,虚拟机在根据以连接到虚拟机的终端可处理的编 码方式对所述应用处理响应信息进行编码时,对于不同终端的相同编 码方式, 虚拟机对应用处理响应信息按此种编码方式只进行一次编 码, 将编码后的应用处理响应信息发送至同种编码方式的不同终端。
以下对支持应用运行过程中添加用户的应用, 如图 6 所示, 在步骤 411之后, 直接执行步骤 510和 511 , 对于其他输入设备添加的过程与步 骤 501a-504a和 501b-509b相同, 在其他输入设备与虚拟机建立完虚 拟机输入单元的映射关系后, 便直接可以与虚拟机进行指令和 /数据 的交互。 具体的运行过程如下:
601、 与步骤 511相同, 不在详述。
602、 与步骤 512相同, 不在详述。
603a-606a、 与步骤 501a-504a相同, 不在详述。
607a, 与步骤 510相同, 不在详述。
608a, 与步骤 511相同, 不在详述。
603b-610b、 与步骤 501b-508b相同, 不在详述。
611b , 与步骤 510相同, 不在详述。
612b , 与步骤 511相同, 不在详述。
本发明实施例提供了一种在线应用的实现方法,通过终端的用户 标识和终端的输入设备的设备标识建立空闲虚拟输入单元与终端的 输入设备间的映射关系,可以使得多个用户通过不同的终端连接到在 线应用平台中的同一个应用,实现了在在线应用平台中对于多用户使 用同一个应用, 不同的用户通过不同的终端, 在不同区域内实现应用 的交互, 或者不同的用户通过同一个终端的不同输入设备, 实现应用 的交互, 从而提升用户体验。
本发明实施例提供了一种虚拟机, 如图 7所示, 包括: 第一接收模块 801 , 用于接收终端发送的第一连接请求消息; 所 述第一连接请求消息中携带有所述终端的用户标识和已启动的所述 终端的第一输入设备的设备标识。
选择模块 802 , 用于为所述终端的第一输入设备选择第一虚拟输 入单元; 所述第一虚拟输入单元为虚拟机中空闲的虚拟输入单元。
第一建立模块 803 , 用于根据所述终端的用户标识和所述终端的 第一输入设备的设备标识,建立所述第一虚拟输入单元与所述终端的 输入设备的映射关系。
第一发送模块 804 , 用于向所述终端发送第一连接响应消息, 以 便通知所述终端连接完成;以及向已连接到虚拟机的终端发送应用准 备完成消息, 以便虚拟机与连接到虚拟机的终端进行指令和 /或数据 的传输。 上述第一接收模块 801 , 还用于接收所述终端发送的第二连接请 求消息;所述第二连接请求消息携带有所述终端的用户标识和已启动 的所述终端的第二输入设备的设备标识。
上述选择模块 802 , 还用于为所述第一终端的第二输入设备选择 第二虚拟输入单元。
上述第一建立模块 803 , 还用于根据所述终端的用户标识和已启 动的所述终端的第二输入设备的设备标识建立所述第二虚拟输入单 元与所述终端的第二输入设备的映射关系。
上述第一发送模块 804 , 还用于向所述第一终端发送第二连接响 应消息。
上述虚拟机, 如图 8所示, 还包括:
第一接收模块 801 , 还用于接收虚拟机管理器所发送的第二应用 启动请求消息;所述第二应用启动请求消息中携带有第一标识和应用 标识; 所述第一标识用于指示其他输入设备是否可加入到应用中。
其中, 可选的, 所述第二应用启动请求消息中还携带有所述终端 设定的可连接的输入设备的数量。
启动模块 805 , 用于根据所述应用标识启动应用。
第二建立模块 806 , 用于根据所述第二应用启动请求消息中的第 一标识建立至少一个虚拟输入单元。
具体的,若所述第一标识指示不允许其他输入设备加入到该应用 中, 则建立一个虚拟输入单元。
若所述第一标识指示允许其他输入设备加入到该应用中,且所述 第二应用启动请求消息中携带有所述第一终端设定的可连接的输入 设备的数量, 则建立与所述第一终端设定的可连接的输入设备的数 量相同数量的虚拟输入单元。
若所述第一标识指示允许加添加其他输入设备,且所述第二应用 启动请求消息中没有携带所述第一终端设定的可连接的输入设备的 数量或所述第一终端设定的可连接的输入设备的数量大于应用允许 接入的最大连接数量,则根据应用允许接入的最大连接数量建立虚拟 输入单元。
第一发送模块 804 , 还用于发送第二应用启动响应消息至虚拟机 管理器,以使得虚拟机管理器发送携带有所述虚拟机地址信息的第一 应用启动响应消至所述终端,以便所述终端向所述虚拟机发送第一连 接请求消息。
上述虚拟机, 如图 9所示, 还包括:
确定模块 807 , 用于根据所述第二应用启动请求消息中的应用标 识确定此应用的类型。
检测模块 808 , 用于检测是否有空闲的虚拟输入单元。
所述第一发送模块 804具体用于:若确定模块 807确定所述应用 的类型为应用不支持应用运行过程中添加用户的类型, 且所述检测模块 808检测到没有空闲的虚拟输入单元, 则向所述已连接到虚拟机的终 端发送准备完成消息;若确定模块 807确定所述应用的类型为应用支 持应用运行过程中添加用户的类型, 则向所述已连接到虚拟机的终端发 送应用准备完成消息。
上述虚拟机, 如图 10所示, 还包括:
第一接收模块 801 , 还用于接收输入设备通过终端发送的指令和
/或数据。
处理模块 809 , 用于根据所述指令和 /或数据更新所述应用的程 序, 并获取应用处理响应信息, 所述应用处理响应信息中包括响应的 视频和 /或音频的数据信息。
编码模块 810 , 用于分别确定已连接到应用的所有终端的编码方 式, 将所述应用处理响应信息根据所述编码方式进行相应的编码。
第一发送模块 804 , 还用于将编码后的所述应用处理响应信息发 送至相应的终端。
上述虚拟机, 参考图 10所示, 还包括:
转换模块 811 , 用于若处理模块 809不识别所述指令和 /或数据, 则将接收到的所述指令和 /或数据转换为虚拟机处理模块 809识别的 指令和 /或数据。
本发明实施例提供了一种终端, 如图 11所示, 包括:
输入设备 121 , 用于输入指令和 /或数据。
记录单元 122 , 用于记录输入设备 121的设备标识。
第一发送单元 123 , 用于向虚拟机发送第一连接请求消息。
其中,所述第一连接请求消息中携带有所述终端的用户标识和已 启动的所述终端的第一输入设备的设备标识,以使得所述虚拟机根据 所述终端的用户标识和所述终端的第一输入设备的设备标识建立第 一虚拟输入单元与所述第一输入设备的映射关系,所述第一虚拟输入 单元为虚拟机中空闲的虚拟输入单元。
第一接收单元 124 , 用于接收所述虚拟机发送的第一连接响应消 息。
第一接收单元 124 , 还用于接收所述虚拟机发送的应用准备完成 消息, 以便终端与所述虚拟机进行指令和 /或数据的传输。
处理单元 125 , 用于与所述虚拟机进行指令和 /或数据的传输。 上述第一发送单元 123 , 用于向虚拟机管理器发送所述第一应用 启动请求消息或应用加入请求消息。
其中,所述第一应用启动请求消息中携带有第一标识、应用标识。 第一应用启动请求消息中还携带有所述终端的用户信息和终端性能 信息。 所述第一标识用于指示其他输入设备是否可加入到应用中; 所 述应用加入请求消息中携带有应用标识、已连接到虚拟机的终端的用 户标识。
可选的,第一应用启动请求消息中携带有终端设定的可连接的输 入设备的数量。
第一接收单元 124 , 用于接收虚拟机管理器发送的第一应用响应 消息或应用加入响应消息,所述第一应用响应消息或应用加入响应消 息中携带有虚拟机地址信息。
上述第一发送单元 123 , 还用于根据所述虚拟机地址信息向所述 虚拟机发送第二连接请求消息;所述第二连接请求消息中携带有终端 的用户标识和已启动的终端的第二输入设备的设备标识;以使得所述 虚拟机根据所述终端的用户标识和终端的第二输入设备的设备标识 建立第二虚拟输入单元与所述终端的第二输入设备的映射关系,所述 第二虚拟输入单元为虚拟机中空闲的虚拟输入单元。
所述第一接收单元 124 , 还用于接收所述虚拟机发送的第二连接 响应消息。
本发明实施例提供了一种虚拟机管理器, 如图 12所示, 包括: 第一接收单元 131 , 用于接收第一终端发送的第一应用启动请求 消息。 其中,所述第一应用启动请求消息中携带有第一标识、应用标识。 第一应用启动请求消息中还携带有所述终端的用户信息和终端性能 信息; 所述第一标识用于指示其他输入设备是否可加入到应用中。
可选的,第一应用启动请求消息中携带有第一终端设定的可连接 的输入设备的数量,
选择单元 132 , 用于根据所述应用标识和第一终端的终端性能信 息, 选择虚拟机。
第一发送单元 133 , 用于向所述虚拟机发送第二应用启动请求消 息; 所述第二应用启动请求消息中携带有第一标识和应用标识, 以便 于所述虚拟机根据所述第二应用启动请求消息中的第一标识建立至 少一个虚拟输入单元, 并 居所述应用标识启动应用。
可选的,第二应用启动请求消息中携带有第一终端设定的可连接 的输入设备的数量, 或携带有应用允许接入的最大连接数量。
第二接收单元 134 , 用于接收所述虚拟机发送的第二应用启动响 应消息。
第二发送单元 135 , 用于发送第一应用启动响应消息至所述第一 终端, 所述第一应用启动响应消息中携带有虚拟机地址信息, 以便于 第一终端根据所述虚拟机地址信息向所述虚拟机发送第一连接请求 消息;第一终端发送的所述第一连接请求消息中携带有第一终端的用 户标识和已启动的所述第一终端的第一输入设备的设备标识。
上述虚拟机管理器, 如图 13所示, 还包括:
第一接收单元 131 , 用于接收至少一个第二终端发送的应用加入 请求消息, 所述应用加入请求消息中携带有应用标识、 已连接到虚拟 机的终端的用户标识。
其中,应用加入请求消息中还携带有所述终端的用户信息和终端 性能信息。
获取单元 136 , 用于根据所述应用加入请求消息的应用标识和所 示已连接到虚拟机的终端的用户标识获取虚拟机地址信息。
添加单元 137 , 用于将获取到的虚拟机地址信息添加至应用加入 响应消息中。
第一发送单元 133 , 还用于向所述第二终端发送应用加入响应消 息, 所述应用加入响应消息携带有获取的虚拟机地址信息, 以使得所 述第二终端根据所述虚拟机地址信息向所述虚拟机发送第一连接请 求消息。第二终端发送的所述第一连接请求消息携带有第二终端的用 户标识和已启动的所述第二终端的第一输入设备的设备标识。
本发明实施例提供了一种在线应用的实现装置,通过终端的用户 标识和终端的输入设备的设备标识建立空闲虚拟输入单元与终端的 输入设备间的映射关系,可以使得多个用户通过不同的终端连接到在 线应用平台中的同一个应用,实现了在在线应用平台中对于多用户使 用同一个应用, 不同的用户通过不同的终端, 在不同区域内实现应用 的交互, 或者不同的用户通过同一个终端的不同输入设备, 实现应用 的交互, 从而提升用户体验。
本发明实施例提供了一种单机多用户的实现***,如图 14所示, 包括: 虚拟机 151, 虚拟机管理器 152, 终端 153。
所述虚拟机 151, 用于接收终端 153发送的第一连接请求消息; 所述第一连接请求消息中携带有终端 153 的用户标识和已启动的所 述终端 153的第一输入设备的设备标识;为所述终端 153的第一输入 设备选择第一虚拟输入单元,所述第一虚拟输入单元为虚拟机中空闲 的虚拟输入单元;根据所述终端 153的用户标识和所述终端 153的第 一输入设备的设备标识, 建立所述第一虚拟输入单元与所述终端 153 的第一输入设备的映射关系; 向所述终端 153 发送第一连接响应消 息, 以便通知所述终端 153连接完成; 向已连接到虚拟机 151的终端 153发送应用准备完成消息, 以便虚拟机 151与连接到虚拟机 151的 终端 153进行指令和 /或数据的传输。
所述终端 153, 用于向虚拟机 151发送第一连接请求消息; 所述 第一连接请求消息中携带有所述终端 153 的用户标识和已启动的所 述终端 153的第一输入设备的设备标识,以使得所述虚拟机 151根据 所述终端 153的用户标识和终端 153的第一输入设备的设备标识,建 立第一虚拟输入单元与所述第一终端 153 的第一输入设备的映射关 系, 所述第一虚拟输入单元为虚拟机 151中空闲的虚拟输入单元; 接 收所述虚拟机 151 发送的第一连接响应消息; 接收所述虚拟机 151 发送的应用准备完成消息,以便所述终端 153与所述虚拟机 151进行 指令和 /或数据的传输。
所述虚拟机管理器 152, 用于接收第一终端 153发送的第一应用 启动请求消息; 所述第一应用启动请求消息中携带有第一标识、应用 标识和第一终端 153的终端性能信息;所述第一标识用于指示其他输 入设备是否可加入到应用中;根据所述第一应用启动请求消息中的应 用标识和第一终端 153的终端性能信息, 选择虚拟机 151 ; 向所述虚 拟机 151发送第二应用启动请求消息;所述第二应用启动请求消息中 携带有第一标识和应用标识,以便于所述虚拟机 151根据所述第二应 用启动请求消息中的第一标识建立至少一个虚拟输入单元,并根据所 述应用标识启动应用;接收所述虚拟机 151发送的第二应用启动响应 消息, 并发送第一应用启动响应消息至所述第一终端 153 , 所述第一 应用启动响应消息中携带有虚拟机地址信息, 以便于第一终端 153 根据所述虚拟机地址信息向虚拟机发送第一连接请求消息;第一终端 153发送的所述第一连接请求消息中携带有第一终端 153的用户标识 和已启动的所述第一终端 153的第一输入设备的设备标识。
本发明以上实施例中虚拟机和虚拟机管理器可以为计算机等硬件设 备, 而执行上述功能的方法可以为计算机的处理器, 虚拟机和虚拟机管理 器上述的功能单元也可以为运行于计算机的处理器中的单元。 终端可以为 任何终端设备, 如手机, PDA, 笔记本电脑, 计算机, 机顶盒等, 本发明 在此不做限定。 终端的各功能单元都可以为终端的处理器。
本发明实施例提供了一种在线应用的实现***,通过终端的用户 标识和终端的输入设备的设备标识建立空闲虚拟输入单元与终端的 输入设备间的映射关系,可以使得多个用户通过不同的终端连接到在 线应用平台中的同一个应用,实现了在在线应用平台中对于多用户使 用同一个应用, 不同的用户通过不同的终端, 在不同区域内实现应用 的交互, 或者不同的用户通过同一个终端的不同输入设备, 实现应用 的交互, 从而提升用户体验。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并 不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范 围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围应以所述权利要求的保护范围为准。

Claims

权利要求
1、 一种在线应用的实现方法, 其特征在于, 包括:
接收终端发送的第一连接请求消息;所述第一连接请求消息中携 带有所述终端的用户标识和已启动的所述终端的第一输入设备的设 备标识;
为所述终端的第一输入设备选择第一虚拟输入单元,所述第一虚 拟输入单元为虚拟机中空闲的虚拟输入单元;
根据所述终端的用户标识和所述终端的第一输入设备的设备标 识,建立所述第一虚拟输入单元与所述终端的第一输入设备的映射关 系;
向所述终端发送第一连接响应消息, 以便通知所述终端连接完 成;
向已连接到虚拟机的终端发送应用准备完成消息,以便虚拟机与 连接到虚拟机的终端进行指令和 /或数据的传输。
2、 根据权利要求 1所述的方法, 其特征在于, 还包括: 所述虚拟机还接收所述终端发送的第二连接请求消息;所述第二 连接请求消息携带有所述终端的用户标识和已启动的所述终端的第 二输入设备的设备标识;
为所述终端的第二输入设备选择第二虚拟输入单元,所述第二虚 拟输入单元为虚拟机中空闲的虚拟输入单元;
根据所述终端的用户标识和已启动的所述终端的第二输入设备 的设备标识,建立所述第二虚拟输入单元与所述终端的第二输入设备 的映射关系;
向所述终端发送第二连接响应消息。
3、 根据权利要求 1或 2所述的方法, 其特征在于, 在所述虚拟 机接收所述终端发送的第一连接请求消息之前, 该方法还包括: 接收虚拟机管理器所发送的第二应用启动请求消息;所述第二应 用启动请求消息中携带有第一标识和应用标识;所述第一标识用于指 示其他输入设备是否可加入到应用中;
根据所述第二应用启动请求消息中的第一标识建立至少一个虚 拟输入单元, 并 居所述应用标识启动应用; 发送第二应用启动响应消息至虚拟机管理器,以使得虚拟机管理 器发送携带有所述虚拟机地址信息的第一应用启动响应消息至所述 终端, 以便所述终端向所述虚拟机发送第一连接请求消息。
4、 根据权利要求 3所述的方法, 其特征在于, 所述第二应用启 动请求消息中还携带有所述终端设定的可连接的输入设备的数量。
5、 根据权利要求 4所述的方法, 其特征在于, 所述根据第二应 用启动请求消息中的第一标识建立至少一个虚拟输入单元具体为: 若所述第一标识指示不允许其他输入设备加入到该应用中,则建 立一个虚拟输入单元;
若所述第一标识指示允许其他输入设备加入到该应用中,且所述 第二应用启动请求消息中携带有所述第一终端设定的可连接的输入 设备的数量, 则建立与所述终端设定的可连接的输入设备的数量相 同数量的虚拟输入单元。
6、 根据权利要求 5所述的方法, 其特征在于, 若所述第一标识 指示允许其他输入设备加入到该应用中,且所述第二应用启动请求消 息中没有携带所述终端设定的可连接的输入设备的数量或所述终端 设定的可连接的输入设备的数量大于应用允许接入的最大连接数量, 则根据应用允许接入的最大连接数量建立虚拟输入单元。
7、 根据权利要求 3-6任一项所述的方法, 其特征在于, 所述已 向连接到虚拟机的终端发送应用准备完成消息包括:
根据所述第二应用启动请求消息中的应用标识确定此应用的类 型;
若所述应用的类型为应用不支持应用运行过程中添加用户的类型, 则检测是否有空闲的虚拟输入单元, 若没有空闲的虚拟输入单元, 则 向已连接到虚拟机的终端发送准备完成消息;
若所述应用的类型为应用支持应用运行过程中添加用户的类型,则 向已连接到虚拟机的终端发送应用准备完成消息。
8、 根据权利要求 1 -7任一项所述的方法, 其特征在于, 所述与 连接到虚拟机的终端进行指令和 /或数据的传输具体包括:
接收输入设备通过所述终端发送的指令和 /或数据;
根据所述指令和 /或数据更新应用的程序, 并获取应用处理响应 信息, 所述应用处理响应信息中包括响应的视频和 /或音频的数据信 息;
分别确定已连接到所述虚拟机的终端的编码方式,将所述应用处 理响应信息根据所述编码方式进行相应的编码,并将编码后的所述应 用处理响应信息发送至相应的终端。
9、 根据权利要求 8所述的方法, 其特征在于, 在所述根据所述 指令和 /或数据更新所述应用的程序中, 并获取应用处理响应信息, 所述应用处理响应信息中包括响应的视频和 /或音频的数据信息之 前, 该方法还包括:
若虚拟机的处理模块不识别所述终端发送的指令和 /或数据时, 将接收到的所述指令和 /或数据转换为虚拟机的处理模块 识别的指 令和 /或数据。
10、 一种在线应用的实现方法, 其特征在于, 包括:
终端向虚拟机发送第一连接请求消息;所述第一连接请求消息中 携带有所述终端的用户标识和已启动的所述终端的第一输入设备的 设备标识,以使得所述虚拟机根据所述终端的用户标识和所述终端的 第一输入设备的设备标识,建立第一虚拟输入单元与所述终端的第一 输入设备的映射关系;所述第一虚拟输入单元为虚拟机中空闲的虚拟 输入单元;
接收所述虚拟机发送的第一连接响应消息;
接收所述虚拟机发送的应用准备完成消息,以便与所述虚拟机进 行指令和 /或数据的传输。
11、 根据权利要求 10所述的方法, 其特征在于, 该方法进一步 包括:
所述终端向虚拟机管理器发送第一应用启动请求消息或应用加 入请求消息; 所述第一应用启动请求消息中携带有第一标识、应用标 识和终端性能信息;所述第一标识用于指示其他输入设备是否可加入 到应用中; 所述应用加入请求消息中携带有应用标识、 已连接到虚拟 机的终端的用户标识;
接收虚拟机管理器发送的第一应用启动响应消息或应用加入响 应消息,所述第一应用启动响应消息或应用加入响应消息中携带有虚 拟机地址信息。
12、 根据权利要求 11所述的方法, 其特征在于, 所述第一应用 启动请求消息中还携带有所述终端设定的可连接的输入设备的数量。
13、 根据权利要求 10-12任一项所述的方法, 其特征在于, 还包 括:
所述终端根据所述虚拟机地址信息向所述虚拟机发送第二连接 请求消息;所述第二连接请求消息中携带有所述终端的用户标识和已 启动的所述终端的第二输入设备的设备标识;以使得所述虚拟机根据 所述终端的用户标识和所述终端的第二输入设备的设备标识,建立第 二虚拟输入单元与所述终端的第二输入设备的映射关系;所述第二虚 拟输入单元为虚拟机中空闲的虚拟输入单元;
接收所述虚拟机发送的第二连接响应消息。
14、 一种在线应用的实现方法, 其特征在于, 包括:
虚拟机管理器接收第一终端发送的第一应用启动请求消息;所述 第一应用启动请求消息中携带有第一标识、应用标识和第一终端的终 端性能信息;所述第一标识用于指示其他输入设备是否可加入到应用 中;
根据所述第一应用启动请求消息中的应用标识和第一终端的终 端性能信息, 选择虚拟机;
向所述虚拟机发送第二应用启动请求消息;所述第二应用启动请 求消息中携带有第一标识和应用标识,以便于所述虚拟机根据所述第 二应用启动请求消息中的第一标识建立至少一个虚拟输入单元,并根 据所述应用标识启动应用;
接收所述虚拟机发送的第二应用启动响应消息,并发送第一应用 启动响应消息至所述第一终端,所述第一应用启动响应消息中携带有 虚拟机地址信息 ,以便于第一终端 居虚拟机地址信息向所述虚拟机 发送第一连接请求消息, 第一终端发送的所述第一连接请求消息中 携带有所述第一终端的用户标识和已启动的所述第一终端的第一输 入设备的设备标识。
15、 根据权利要求 14所述的方法, 其特征在于, 所述第二应用 启动请求消息中还携带有所述第一终端设定的可连接的输入设备的 数量。
16、 根据权利要求 14或 15所述的方法, 其特征在于, 若所述第 一标识指示允许其他输入设备加入到该应用中, 则所述方法还包括: 接收第二终端发送的应用加入请求消息 ,所述应用加入请求消息 中携带有应用标识、 已连接到虚拟机的终端的用户标识;
根据所述应用加入请求消息的应用标识和所述已连接到虚拟机 的终端的用户标识获取所述虚拟机地址信息;
向所述第二终端发送应用加入响应消息,所述应用加入响应消息 携带有获取的虚拟机地址信息,以使得所述第二终端根据虚拟机地址 信息向所述虚拟机发送第一连接请求消息,第二终端发送的所述第一 连接请求消息携带有所述第二终端的用户标识和已启动的所述第二 终端的第一输入设备的设备标识。
17、 一种虚拟机, 其特征在于, 包括:
第一接收模块, 用于接收终端发送的第一连接请求消息; 所述第 一连接请求消息中携带有所述终端的用户标识和已启动的所述终端 的第一输入设备的设备标识;
选择模块,用于为所述终端的第一输入设备选择第一虚拟输入单 元; 所述第一虚拟输入单元为虚拟机中空闲的虚拟输入单元;
第一建立模块,用于根据所述终端的用户标识和所述终端的第一 输入设备的设备标识,建立所述第一虚拟输入单元与所述终端的输入 设备的映射关系;
第一发送模块, 用于向所述终端发送第一连接响应消息, 以便通 知所述终端连接完成;以及向已连接到虚拟机的终端发送应用准备完 成消息, 以便虚拟机与连接到虚拟机的终端进行指令和 /或数据的传 输。
18、 根据权利要求 17所述的虚拟机, 其特征在于,
所述第一接收模块,还用于接收所述终端发送的第二连接请求消 息;所述第二连接请求消息携带有所述终端的用户标识和已启动的所 述终端的第二输入设备的设备标识;
所述选择模块,还用于为所述终端的第二输入设备选择第二虚拟 输入单元;
所述第一建立模块,还用于根据所述终端的用户标识和已启动的 所述终端的第二输入设备的设备标识建立所述第二虚拟输入单元与 所述终端的第二输入设备的映射关系;
所述第一发送模块, 还用于向所述终端发送第二连接响应消息。
19、根据权利要求 17或 18所述的虚拟机,其特征在于,还包括: 所述第一接收模块,还用于接收虚拟机管理器所发送的第二应用 启动请求消息;所述第二应用启动请求消息中携带有第一标识和应用 标识; 所述第一标识用于指示其他输入设备是否可加入到应用中; 启动模块, 用于根据所述应用标识启动应用;
第二建立模块,用于根据所述第二应用启动请求消息中的第一标 识建立至少一个虚拟输入单元;
所述第一发送模块,还用于发送第二应用启动响应消息至虚拟机 管理器,以使得虚拟机管理器发送携带有所述虚拟机地址信息的第一 应用启动响应消至所述终端,以便所述终端向所述虚拟机发送第一连 接请求消息。
20、 根据权利要求 19所述的虚拟机, 其特征在于, 所述第二应 用启动请求消息中还携带有所述终端设定的可连接的输入设备的数 量。
21、 根据权利要求 20所述的虚拟机, 其特征在于, 所述第二建 立模块具体用于:
若所述第一标识指示不允许其他输入设备加入到该应用中,则建 立一个虚拟输入单元;
若所述第一标识指示允许其他输入设备加入到该应用中,且所述 第二应用启动请求消息中携带有所述终端设定的可连接的输入设备 的数量, 则建立与所述终端设定的可连接的输入设备的数量相同数 量的虚拟输入单元;
若所述第一标识指示允许其他输入设备加入到该应用中,且所述 第二应用启动请求消息中没有携带所述终端设定的可连接的输入设 备的数量或所述终端设定的可连接的输入设备的数量大于应用允许 接入的最大连接数量,则根据应用允许接入的最大连接数量建立虚拟 输入单元。
22、 根据权利要求 19-21任一项所述的虚拟机, 其特征在于, 还 包括:
确定模块,用于根据所述第二应用启动请求消息中的应用标识确 定此应用的类型;
检测模块, 用于检测是否有空闲的虚拟输入单元; 所述第一发送模块具体用于:若所述确定单元模块所述应用的类 型为应用不支持应用运行过程中添加用户的类型, 且所述检测模块检测 到没有空闲的虚拟输入单元,则向所述已连接到虚拟机的终端发送准 备完成消息; 若所述确定模块确定应用的类型为应用支持应用运行过 程中添加用户的类型, 则向所述已连接到虚拟机的终端发送应用准备 完成消息。
23、 根据权利要求 17-22任一项所述的虚拟机, 其特征在于, 还 包括:
所述第一接收模块,还用于接收输入设备通过终端发送的指令和 /或数据;
处理模块, 用于根据所述指令和 /或数据更新所述应用的程序, 并获取应用处理响应信息,所述应用处理响应信息中包括响应的视频 和 /或音频的数据信息;
编码模块, 用于分别确定已连接到应用的终端的编码方式, 将所 述应用处理响应信息根据所述编码方式进行相应的编码;
所述第一发送模块,用于将编码后的所述应用处理响应信息发送 至相应的终端。
24、 根据权利要求 23所述的虚拟机, 其特征在于, 还包括: 转换模块, 用于若处理模块不识别所述指令和 /或数据, 则将接 收到的所述指令和 /或数据转换为处理模块识别的指令和 /或数据。
25、 一种终端, 其特征在于, 包括:
输入设备, 用于输入指令和 /或数据;
记录单元, 用于记录输入设备的设备标识;
第一发送单元, 用于向虚拟机发送第一连接请求消息; 所述第一 连接请求消息中携带有所述终端的用户标识和已启动的所述终端的 第一输入设备的设备标识,以使得所述虚拟机根据所述终端的用户标 识和所述终端的第一输入设备的设备标识建立第一虚拟输入单元与 所述第一输入设备的映射关系;所述第一虚拟输入单元为虚拟机中空 闲的虚拟输入单元;
第一接收单元, 用于接收所述虚拟机发送的第一连接响应消息; 以及用于接收所述虚拟机发送的应用准备完成消息,以便终端与所述 虚拟机进行指令和 /或数据的传输; 处理单元, 用于与所述虚拟机进行指令和 /或数据的传输。
26、 根据权利要求 25所述的终端, 其特征在于,
所述第一发送单元,还用于向虚拟机管理器发送所述第一应用启 动请求消息或应用加入请求消息;所述第一应用启动请求消息中携带 有第一标识、应用标识; 所述第一标识用于指示其他输入设备是否可 加入到应用中; 所述应用加入请求消息中携带有应用标识、 已连接到 虚拟机的终端的用户标识;
所述第一接收单元,还用于接收虚拟机管理器发送的第一应用响 应消息或应用加入响应消息,所述第一应用响应消息或应用加入响应 消息中携带有虚拟机地址信息。
27、 根据权利要求 25或 26所述的终端, 其特征在于, 所述第一 发送单元,还用于根据所述虚拟机地址信息向所述虚拟机发送第二连 接请求消息;所述第二连接请求消息中携带有所述终端的用户标识和 已启动的终端的第二输入设备的设备标识;以使得所述虚拟机根据所 述终端的用户标识和终端的第二输入设备的设备标识建立第二虚拟 输入单元与所述终端的第二输入设备的映射关系;所述第二虚拟输入 单元为虚拟机中空闲的虚拟输入单元;
所述第一接收单元,还用于接收所述虚拟机发送的第二连接响应 消息。
28、 一种虚拟机管理器, 其特征在于, 包括:
第一接收单元, 用于接收第一终端发送的第一应用启动请求消 息; 所述第一应用启动请求消息中携带有第一标识、应用标识和终端 性能信息; 所述第一标识用于指示其他输入设备是否可加入到应用 中;
选择单元, 用于根据所述应用标识和第一终端的终端性能信息, 选择虚拟机;
第一发送单元, 用于向所述虚拟机发送第二应用启动请求消息; 所述第二应用启动请求消息中携带有第一标识和应用标识,以便于所 述虚拟机根据所述第二应用启动请求消息中的第一标识建立至少一 个虚拟输入单元, 并 居所述应用标识启动应用;
第二接收单元,用于接收所述虚拟机发送的第二应用启动响应消 息; 第二发送单元, 用于发送第一应用启动响应消息至所述第一终 端, 所述第一应用启动响应消息中携带有虚拟机地址信息, 以便于第 一终端根据所述虚拟机地址信息向所述虚拟机发送第一连接请求消 息;第一终端发送的所述第一连接请求消息中携带有所述第一终端的 用户标识和已启动的所述第一终端的第一输入设备的设备标识。
29、 根据权利要求 28所述的虚拟机管理器, 其特征在于, 还包 括:
所述第一接收单元, 用于接收第二终端发送的应用加入请求消 息, 所述应用加入请求消息中携带有应用标识、 已连接到虚拟机的终 端的用户标识;
获取单元,用于根据所述应用加入请求消息的应用标识和所述已 连接到虚拟机的终端的用户标识获取所述虚拟机地址信息;
添加单元,用于将获取到的虚拟机地址信息添加至应用加入响应 消息中;
所述第一发送单元, 还用于向所述第二终端发送应用加入响应消 息, 所述应用加入响应消息携带有获取的虚拟机地址信息, 以使得所 述第二终端根据所述虚拟机地址信息向所述虚拟机发送第一连接请求 消息; 第二终端发送的所述第一连接请求消息携带有所述第二终端的 用户标识和已启动的所述第二终端的第一输入设备的设备标识。
PCT/CN2013/072569 2012-03-31 2013-03-14 一种在线应用的实现方法、装置及*** WO2013143395A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210092700.9A CN103368912B (zh) 2012-03-31 2012-03-31 一种在线应用的实现方法、装置及***
CN201210092700.9 2012-03-31

Publications (1)

Publication Number Publication Date
WO2013143395A1 true WO2013143395A1 (zh) 2013-10-03

Family

ID=49258194

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/072569 WO2013143395A1 (zh) 2012-03-31 2013-03-14 一种在线应用的实现方法、装置及***

Country Status (2)

Country Link
CN (1) CN103368912B (zh)
WO (1) WO2013143395A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632118B (zh) * 2017-03-24 2021-01-12 广州杰赛科技股份有限公司 虚拟机与终端智能配对方法和***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520738A (zh) * 2008-02-27 2009-09-02 黄歆媚 基于设备访存管理技术的虚拟机***及其设备访问方法
CN102204210A (zh) * 2011-05-18 2011-09-28 华为技术有限公司 启动应用的方法、服务器和***
CN102291452A (zh) * 2011-08-09 2011-12-21 北京星网锐捷网络技术有限公司 基于云策略的虚拟机管理方法、云管理服务器及云***
CN102298536A (zh) * 2011-06-10 2011-12-28 邵永相 一种远程控制方法、装置和***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246747A (ja) * 2003-02-17 2004-09-02 Hitachi Ltd 既存サービスのラッピング方法および装置
CN101459669A (zh) * 2008-12-29 2009-06-17 成都市华为赛门铁克科技有限公司 一种网络文件***的访问方法和装置
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US8370510B2 (en) * 2009-12-18 2013-02-05 Microsoft Corporation Remote application presentation over a public network connection
CN102244845B (zh) * 2010-05-11 2015-08-12 中兴通讯股份有限公司 访问im业务***存储服务器的方法和im业务***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520738A (zh) * 2008-02-27 2009-09-02 黄歆媚 基于设备访存管理技术的虚拟机***及其设备访问方法
CN102204210A (zh) * 2011-05-18 2011-09-28 华为技术有限公司 启动应用的方法、服务器和***
CN102298536A (zh) * 2011-06-10 2011-12-28 邵永相 一种远程控制方法、装置和***
CN102291452A (zh) * 2011-08-09 2011-12-21 北京星网锐捷网络技术有限公司 基于云策略的虚拟机管理方法、云管理服务器及云***

Also Published As

Publication number Publication date
CN103368912A (zh) 2013-10-23
CN103368912B (zh) 2017-08-25

Similar Documents

Publication Publication Date Title
TWI457848B (zh) 提供行動裝置之線上服務的方法及系統、伺服器、行動裝置以及電腦程式產品
KR20160063343A (ko) 디바이스 페어링
CN110572469A (zh) 数据传输方法、输入设备、云端服务器及云游戏***
JP6522159B2 (ja) 音声通信処理方法及びシステム、電子装置、並びに記憶媒体
WO2018161807A1 (zh) 用户身份校验方法及装置
WO2013071766A1 (zh) 异常处理方法、装置和客户端
TW201502787A (zh) 使用配件協定經由無線傳輸之主機與配件裝置間之通信
WO2014067256A1 (zh) 一种遥控方法、智能终端及智能遥控***
US20140341366A1 (en) Call control for web calls
WO2014135050A1 (zh) 消息处理方法、装置、网关、机顶盒及网络电视***
CN110855680B (zh) 一种物联网设备对接方法及装置
JP2018502477A (ja) 複数の相互接続されたデバイス上で、ポイントツーポイント接続を介して受信されるメディアコンテンツストリームの送信およびその再生の同期化を行うためのメディア出力デバイス
JP2022527290A (ja) Bluetooth(登録商標)低エネルギー(BLE)モードで動作可能なゲームコントローラ
WO2014086222A1 (zh) 设置视频通话参数、和发送能力参数的方法及装置
WO2021042612A1 (zh) 无线投屏方法、装置、设备及存储介质
US20160285949A1 (en) Wireless login-based remote control method and device
CN113747435A (zh) 计算机可读介质和通信设备
CN113242462B (zh) 一种实现融合终端的投屏方法和装置
JP4990987B2 (ja) 携帯機器を使った電子機器の設定管理システム、管理方法、サーバ、および携帯機器
WO2014086236A1 (zh) 通信处理方法、服务器及终端
KR102289307B1 (ko) 가상 머신, 전자 장치 및 비 일시적 컴퓨터 판독 가능 저장 매체를 위한 통신 방법
WO2013143395A1 (zh) 一种在线应用的实现方法、装置及***
JP2023139032A (ja) 複数のデバイスを使用してメディアコンテンツアイテムを提示するための方法、システム、およびメディア
WO2012064317A1 (en) Application client for a gateway system
WO2015078020A1 (zh) 一种手势操作的转换方法和装置

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: 13767657

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: 13767657

Country of ref document: EP

Kind code of ref document: A1