P
US9762643B2ActiveUtilityPatentIndex 43

Providing hosted virtual desktop infrastructure services

Assignee: CISCO TECH INCPriority: Mar 4, 2011Filed: Oct 1, 2014Granted: Sep 12, 2017
Est. expiryMar 4, 2031(~4.7 yrs left)· nominal 20-yr term from priority
Inventors:FRIEDL STEPHANWESSELMAN THOMASCHERVETS STEVEN
H04L 65/1026H04L 65/1069H04L 65/608G06F 9/4445H04L 65/65G06F 9/452
43
PatentIndex Score
0
Cited by
38
References
22
Claims

Abstract

In an example embodiment, a device provides a connection to an endpoint coupled with a first network to a virtual desktop client coupled with a second network. The device obtains data from the virtual desktop client which client which includes at least one link to data available from an external server, such as streaming media. The device obtains the data from the external server and provides the data with data obtained from the virtual desktop client to the endpoint.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A method, comprising:
 associating with an endpoint with a first interface; 
 selecting an external source from which to receive data for the endpoint, wherein the data comprises streaming data available from a plurality of external sources, wherein the selection of the external source from the plurality thereof is based on a distance between the external source selected and the endpoint and a download time for acquiring data from the external source; 
 receiving, via a second interface, data for the endpoint from the external source, wherein the data comprises data representative of a first data type and data representative of at least one other data type; 
 generating a semi-process page for the endpoint based on the data by execution of executable instructions in the at least one other data type; 
 inserting the data representative of the first data type into the semi-processed page; 
 processing the executable instructions of the data representative of the at least one other data type to generate content defined by the instructions and inserting the results of the processing of the data representative of the at least one other data type, including generated content into the semi-processed page; and 
 sending the semi-processed page with the data representative of the first data type and the results of processing the data representative of the at least one other data type to the endpoint via the first interface. 
 
     
     
       2. The method set forth in  claim 1 , wherein the first data type is one of a group consisting of a video stream, an audio stream, an audiovisual stream, a data stream, an image, and any combination of an image, video stream, audio stream, and data stream. 
     
     
       3. The method set forth in  claim 1 , further comprising:
 determining whether the data representative of the at least one other data type comprises a java script; and 
 responsive to a determination that the at least one other data type comprises a java script, executing the java script and inserting the results into the semi-processed page. 
 
     
     
       4. The method set forth in  claim 1 , further comprising:
 determining whether the data representative of at least one other data type comprises a java script; and 
 responsive to a determination that the at least one other data type comprises a java script, executing the java script, encoding the executed java script as one of a group consisting of a Motion Picture Expert Group-4 data, and a motion image, and inserting a Uniform Resource Locator to the encoded result into the semi-processed page. 
 
     
     
       5. The method set forth in  claim 1 , further comprising:
 determining an amount of time to download data associated with a link; and 
 responsive to determining the amount of time to download the data associated with the link is greater than a predetermined amount of time, inserting the link into the semi-processed page. 
 
     
     
       6. The method set forth in  claim 1 , further comprising:
 determining an amount of time to download data associated with a link; and 
 responsive to determining the amount of time to download the data associated with the link is less than a predetermined amount of time, downloading the data associated with the link and inserting the downloaded data into the semi-processed page. 
 
     
     
       7. A method, comprising:
 associating with an endpoint coupled with a first interface; 
 selecting a virtual desktop client coupled to a second interface from which to receive data for the endpoint; 
 receiving data for the endpoint at the virtual desktop client, wherein the data comprises at least one link to data available from a plurality of external servers; 
 obtaining the data associated with the at least one link from an external server selected from the plurality of external servers, wherein the selection of the external server from the plurality thereof is based on a distance between the external server selected and the endpoint and a download time for acquiring data from the external server; 
 processing at least a portion of executable instructions within the data via the virtual desktop client to generate content defined by the executable instructions; and 
 sending the data and processed instruction content from the virtual desktop client and data from the external server to the endpoint. 
 
     
     
       8. The method of  claim 7 , wherein the data comprises data representative of a first data type and data representative of at least one other data type. 
     
     
       9. The method of  claim 8 , wherein the first data type of is one of a group consisting of a video stream, an audio stream, an audiovisual stream, a data stream, an image, and any combination of an image, video stream, audio stream, and data stream. 
     
     
       10. The method of  claim 8 , wherein processing at least a portion of executable instructions within the data via the virtual desktop client to generate content defined by the executable instructions comprises processing executable instructions within the data representative of the at least one other data type. 
     
     
       11. The method of  claim 7 , further comprising converting data received from the external server to a format compatible with the endpoint. 
     
     
       12. The method of  claim 7 , wherein sending the data and processed instruction content from the virtual desktop client and data from the external server to the endpoint further comprises mixing the data from the virtual desktop client with the data from the external server. 
     
     
       13. The method of  claim 7 , wherein obtaining the data from the external server further comprises sending a proxy request to the external server to have data associated with the link delivered to the endpoint, bypassing the virtual desktop client. 
     
     
       14. The method of  claim 7 , further comprising:
 determining an amount of time for acquiring data associated with the link from the external server; and 
 responsive to determining that the time for acquiring the data associated with the link is greater than a predetermined amount of time, obtaining the data from the external server further comprises sending a proxy request to the external server to have data associated with the link delivered to the endpoint, bypassing the virtual desktop client. 
 
     
     
       15. An apparatus, comprising:
 a processor; 
 a first interface configured to communicate with an endpoint; 
 a second interface configured to communicate with a virtual desktop client; 
 logic coupled to the first interface and the second interface, the logic is operable to receive data for the endpoint from the virtual desktop client via the second interface; 
 wherein the data comprises at least one link to data available from a plurality of external servers; 
 wherein the logic is operable to obtain the data associated with the at least one link from an external server selected from the plurality of external servers; 
 wherein the logic is operable to select the external server from the plurality thereof based on a distance between the external server selected and the endpoint and a download time for acquiring data from the external server; 
 wherein the logic is operable to process at least a portion of executable instructions within the data via the virtual desktop client to generate content defined by the executable instructions; and 
 wherein the logic is operable to send the data and processed instruction content from the virtual desktop client and data from the external server to the endpoint. 
 
     
     
       16. The apparatus of  claim 15 , wherein the data comprises data representative of a first data type and data representative of at least one other data type. 
     
     
       17. The apparatus of  claim 16 , wherein the first data type of is one of a group consisting of a video stream, an audio stream, an audiovisual stream, a data stream, an image, and any combination of an image, video stream, audio stream, and data stream. 
     
     
       18. The apparatus of  claim 16 , wherein processing of at least a portion of executable instructions within the data via the virtual desktop client to generate content defined by the executable instructions comprises processing the executable instructions of the data representative of the at least one other data type. 
     
     
       19. The apparatus of  claim 15 , wherein the logic is further operable to convert data received from the external server to a format compatible with the endpoint. 
     
     
       20. The apparatus of  claim 15 , wherein the logic is further operable to mix the data from the virtual desktop client with the data from the external server. 
     
     
       21. The apparatus of  claim 15 , wherein the logic is further operable to send a proxy request to the external server to have data associated with the link delivered to the endpoint, bypassing the virtual desktop client. 
     
     
       22. The apparatus of  claim 15 ,
 wherein the logic is further operable to determine an amount of time for acquiring data associated with the link from the external server; and 
 wherein responsive to determining that the time for acquiring the data associated with the link is greater than a predetermined amount of time, the logic is further operable to send a proxy request to the external server to have data associated with the link delivered to the endpoint, bypassing the virtual desktop client.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.