This application claims priority to Taiwan Application Serial Number 100140761, filed Nov. 8, 2011, which is herein incorporated by reference.
1. Technical Field
The present invention relates to a cloud-based system for providing a virtual desktop, a method related to a virtual desktop and a computer readable storage medium applying the method. More particularly, the present invention relates to a cloud-based system for playing multimedia on a virtual desktop, a method for playing multimedia on a virtual desktop and a computer readable storage medium applying the method.
2. Description of Related Art
The computer user interface has been through great change in the past few years. User interfaces provide a command line interface to executing application programs according to character commands input by users in the beginning. Graphical User Interface (GUI) is developed subsequently and provides a user-friendly interface through graphical icons.
Recently, virtual desktop computing is very popular. Users can store their data and application in remote computers, and with a virtual desktop, they can access the stored data and application by any computer. As a result, users may own virtual computers carried with them.
Since most virtual desktops are implemented by transmitting images of the same, it is important to have a broad bandwidth for transmitting the images of virtual desktops. A huge amount of bandwidth is needed especially for playing multimedia on a virtual desktop, but it may come to that requested multimedia can not be played smoothly. Furthermore, a specific virtual desktop interface has to be installed in both remote computers and computers for requesting virtual desktop from the remote computers, which is not convenient.
According to one embodiment of this invention, a method for playing multimedia on virtual desktop is provided to receive a request for multimedia streaming from a client and to transmit the requested multimedia to the client for playing on the virtual desktop of the client through different connection. The method for playing multimedia on virtual desktop includes the following steps:
According to another embodiment of this invention, a computer-readable storage medium storing a computer program for executing the steps of the aforementioned method for playing multimedia on virtual desktop is provided. Steps of the method are as disclosed above.
According to another embodiment of this invention, a cloud-based system for providing virtual desktop is provided to receive a request for multimedia streaming from a client and to transmit the requested multimedia to the client for playing on the virtual desktop of the client through different connections. The cloud-based system for providing virtual desktop includes a virtual desktop server and a PUSH server. After receiving a virtual desktop request through a network from a client, the virtual desktop server builds a virtual desktop connection to the client through the network. The virtual desktop server provides a virtual desktop to the client through the virtual desktop connection for the client to display. The PUSH server builds a PUSH connection with the client through the network. The virtual desktop server receives a request of multimedia streaming for obtaining a target multimedia file to display on the virtual desktop of the client through the virtual desktop connection. The cloud-based system obtains the target multimedia file and transmits the target multimedia file through the PUSH connection to the client for playing the target multimedia file on the virtual desktop of the client.
The present invention can achieve many advantages. Needed bandwidth for transmitting multimedia can be reduced and as a result requested multimedia files can be played smoothly without limited by the bandwidth. In addition, without converting requested multimedia into frames, computation resource of the cloud-based system can be saved. Moreover, if clients utilize different VDI to request a same cloud-based system for virtual desktops and multimedia files, the cloud-based system may convert the requested multimedia according to environment parameters of clients. In other words, one embodiment of this invention is compatible with clients with different environment parameters.
These and other features, aspects, and advantages of the present invention will become better understood with reference to the following description and appended claims. It is to be understood that both the foregoing general description and the following detailed description are by examples, and are intended to provide further explanation of the invention as claimed.
The invention can be more fully understood by reading the following detailed description of the embodiments, with reference made to the accompanying drawings as follows:
Reference will now be made in detail to the present embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
Referring to
The routine 100 for the method for playing multimedia on virtual desktop may starts at operation 110, where a cloud-based system receives a virtual desktop request from a client. In some embodiments, the cloud-based system may utilize a streaming technology to receive the virtual desktop request. The streaming technology may be implemented with providing the virtual desktop to the client by a virtual desktop interface (VDI). In addition, the cloud-based system may further receive an environment parameter of the client from the client. The environment parameter of the client may be a display size of a browser, a browser version of the browser, a resolution setting of the client, at least one supported multimedia format of the client, a present operating system (OS) of the client, any other environment parameter related to multimedia playing or combination thereof. Furthermore, after the virtual desktop request is received, the cloud-based system builds a PUSH connection with the client.
From operation 110, the routine 100 continues to operation 120, where the cloud-based system provides a virtual desktop to the client through a virtual desktop connection for the client to display. The virtual desktop connection is built following the VDI which the client utilizes to transmit the virtual desktop request. Subsequently, a user of the client can do some operations on the virtual desktop of the client. In some embodiments, the provided virtual desktop may follow a supported format of a browser, such that the virtual desktop of the client can be displayed by a browser. Therefore, the display of the virtual desktop may not be limited by OS installed on the client.
The routine 100 continues to operation 130, where the cloud-based system receives a request of multimedia streaming for obtaining a target multimedia file to display on the virtual desktop of the client through the virtual desktop connection. In practical, a user of the client may operate the virtual desktop of the client to request for playing the target multimedia file. In subsequence, the client may generate the corresponding request and transmits the same to the cloud-based system. The request of multimedia streaming may be generated following VDI.
The routine 100 continues to operation 140, where the cloud-based system obtains the target multimedia file. In some embodiments, Multipurpose Internet Mail Extensions (MIME) and Multi-media On Demand (MOD) service can be installed on the cloud-based system. Hence, if the cloud-based system receives a request of multimedia streaming (operation 130), MIME-MOD service may trigger operation 140. In some embodiments, the cloud-based system may convert the target multimedia file according to the environment parameter of the client (for example, a display size of a browser of the client, a browser version of the browser of the client, a resolution setting of the client, at least one supported multimedia format of the client, a present OS of the client, any other environment parameter related to multimedia playing or combination thereof), such that the converted target multimedia file may be supported by the client.
The routine 100 continues to operation 150, where the cloud-based system transmits the target multimedia file to the client through the PUSH connection. In other words, the receiving of the request of multimedia streaming at operation 130 and the transmitting of the target multimedia file at operation 150 may be done through different connections.
In subsequence, the routine 100 continues to operation 160, where the target multimedia file is played on the virtual desktop of the client. In one embodiment of this invention, the client may decode the target multimedia file to obtain frames of the same, and the decoded frames may be overlapped on the virtual desktop of the client for playing on the virtual desktop of the client. Therefore, even if clients utilize different VDI to request the same cloud-based system for virtual desktops and multimedia files, the cloud-based system can provide multimedia files through the connection other than VDI (for example, PUSH connection) for playing on the virtual desktops of the clients. As a result, the cloud-based system does not have to convert multimedia files for different VDIs. In addition, since the cloud-based system transmits requested multimedia files other than frames of the same, needed bandwidth can be reduced and as a result requested multimedia files can be played smoothly without limited by the bandwidth. In addition, computation resource of the cloud-based system can be saved without converting requested multimedia into frames. In one embodiment of this invention, if clients utilize different VDI to request the same cloud-based system for virtual desktops and multimedia files, the cloud-based system may convert the requested multimedia according to environment parameters of clients. In other words, one embodiment of this invention is compatible with clients with different environment parameters.
Referring to
The cloud-based system 200 includes a virtual desktop server 210 and a PUSH server 220. In some embodiments, the cloud-based system 200 may further include a multimedia server 230 for storing several pre-stored multimedia files. The multimedia server 230 may be mounted to the virtual desktop server 210. In one embodiment of this invention, the virtual desktop server 210, the PUSH server 220 and the multimedia server 230 can be respectively implemented by at least one cloud server. In another embodiment of this invention, the virtual desktop server 210, the PUSH server 220 and the multimedia server 230 can be implemented by one same server. In still another embodiment of this invention, the virtual desktop server 210, the PUSH server 220 and the multimedia server 230 can be distributed in several cloud servers.
After receiving a virtual desktop request through a network 300 from a client 400, the virtual desktop server 210 builds a virtual desktop connection to the client 400 through the network 300. In subsequence, the virtual desktop server 210 provides a virtual desktop to the client 400 through the virtual desktop connection for the client 400 to display. Subsequently, a user of the client 400 can do some operations on the virtual desktop of the client 400. In some embodiments, the provided virtual desktop may follow a supported format of a browser, such that the virtual desktop of the client 400 can be displayed by a browser. Therefore, the display of the virtual desktop may not be limited by OS installed on the client 400.
The PUSH server 220 builds a PUSH connection with the client 400 through the network 300. In some embodiments, after the virtual desktop server 210 receives the virtual desktop request, the PUSH server 220 may be driven to builds a PUSH connection with the client 400. In addition, the PUSH server 220 may further receive an environment parameter of the client 400 from the client 400. The environment parameter of the client may include a display size of a browser, a browser version of the browser, a resolution setting of the client, at least one supported multimedia format of the client, a present OS of the client, any other environment parameter related to multimedia playing or combination thereof.
If a user of the client 400 needs to play multimedia on the virtual desktop of the client 400 and do a corresponding operation to the virtual desktop, the client 400 may generate a request of multimedia streaming for obtaining a target multimedia file to display on the virtual desktop of the client 400. In some embodiments, the target multimedia file may be selected from the pre-stored multimedia files stored in the mounted multimedia server 230. In subsequence, the client 400 may transmit the request of multimedia streaming to the virtual server 210 through the virtual desktop connection. Hence, when the virtual desktop server 210 receives the request of multimedia streaming through the virtual desktop connection, the cloud-based system 200 obtains the target multimedia file from the multimedia server 230. In some embodiments, MIME-MOD service may be installed in the virtual desktop server 210. Hence, when the virtual desktop server 210 receives the request of multimedia streaming, MIME-MOD service may trigger to obtain the target multimedia file from the multimedia server 230. Furthermore, the virtual desktop server 210 may further drive the multimedia server 230 to convert the target multimedia file according to the environment parameter of the client 400 (for example, a display size of a browser of the client 400, a browser version of the browser of the client 400, a resolution setting of the client 400, at least one supported multimedia format of the client 400, a present OS of the client 400, any other environment parameter related to multimedia playing or combination thereof), such that the converted target multimedia file may be supported by the client.
The PUSH server 220 transmits the target multimedia file to the client 400 through the PUSH connection for playing the target multimedia file on the virtual desktop of the client 400. In one embodiment of this invention, the client 400 may decode the target multimedia file to obtain frames of the same, and the decoded frames may be overlapped on the virtual desktop of the client 400 for playing on the virtual desktop of the client 400. Therefore, even if clients utilize different VDI to request the same cloud-based system 200 for virtual desktops and multimedia files, the cloud-based system 200 can provide multimedia files through the connection other than VDI (for example, PUSH connection) for playing on the virtual desktops of the clients. As a result, the cloud-based system 200 does not have to convert multimedia files for different VDIs. In addition, since the cloud-based system 200 transmits requested multimedia files other than frames of the same to the client 400, needed bandwidth can be reduced and as a result requested multimedia files can be played smoothly without limited by the bandwidth. In addition, computation resource of the cloud-based system 200 can be saved without converting requested multimedia into frames. In one embodiment of this invention, if clients utilize different VDI to request the same cloud-based system 200 for virtual desktops and multimedia files, the cloud-based system 200 may convert the requested multimedia according to environment parameters of clients. In other words, the cloud-based system 200 is compatible with clients with different environment parameters.
Although the present invention has been described in considerable detail with reference to certain embodiments thereof, other embodiments are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the embodiments contained herein. It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
100140761 A | Nov 2011 | TW | national |
Number | Name | Date | Kind |
---|---|---|---|
6606708 | Devine et al. | Aug 2003 | B1 |
7730157 | Baratto et al. | Jun 2010 | B2 |
8224308 | Gavrylyako et al. | Jul 2012 | B1 |
20070260702 | Richardson et al. | Nov 2007 | A1 |
20090248802 | Mahajan et al. | Oct 2009 | A1 |
20100106798 | Barreto et al. | Apr 2010 | A1 |
20100275200 | Radhakrishnan et al. | Oct 2010 | A1 |
20110138069 | Momchilov et al. | Jun 2011 | A1 |
20110138295 | Momchilov et al. | Jun 2011 | A1 |
20110154214 | Mahajan | Jun 2011 | A1 |
20120011280 | Gilboa | Jan 2012 | A1 |
Entry |
---|
Ricardo A. Baratto, Shaya Potter, Gong Su, and Jason Nieh, “MobiDesk: Mobile Virtual Desktop Computing”, by published in MobiCom '04, Sep. 26-Oct. 1, 2004, Philadelphia, Pennsylvania, USA. |
Number | Date | Country | |
---|---|---|---|
20130117416 A1 | May 2013 | US |