IP Library Granted Patent US 9,088,577
Granted Patent B2
US 9,088,577 · App. 12/954,045 · Granted Jul 21, 2015

Multimedia aware cloud for mobile device computing

Inventors: Wenwu Zhu (Basking Ridge, NJ); Lie Liu (Beijing, CN); Chong Luo (Shanghai, CN)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L67/1004
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,088,577
App. No.
12/954,045
Granted
Jul 21, 2015
Kind
B2
Abstract

Techniques for configuring and operating a multimedia aware cloud, particularly configured for mobile device computing, are described herein. In some instances, clusters of servers are organized for general computing, graphic computing and data storage. A load balancing server may be configured to: identify multimedia types currently being processed within the multimedia edge cloud; determine desired quality of service levels for each identified multimedia type; evaluate individual abilities of devices communicating with the multimedia edge cloud; and assess bandwidth of each network over which the multimedia edge cloud communicates with a mobile device. With that information, multimedia data may be adapted accordingly, to result in an acceptable quality of service level when delivered to a specific mobile device. In one example of the techniques, graphic computing server clusters may be configured to process workload using a configuration that includes elements of both parallel and serial computing.

Claims (86)

1. A multimedia edge cloud, comprising:

a cluster of general computing servers;

a cluster of graphic computing servers;

a cluster of storage servers; and

a load balancing server, in communication with the cluster of general computing servers, the cluster of graphic computing servers, and the cluster of storage servers, the load balancing server configured to perform load balancing operations, including:

identifying multimedia types currently being processed within the multimedia edge cloud;

determining quality of service levels for at least two multimedia types of the identified multimedia types, wherein a quality of service level of a first identified multimedia type is different than a quality of service level of a second identified multimedia type;

evaluating individual abilities of devices communicating with the multimedia edge cloud;

assessing bandwidth of a network over which the multimedia edge cloud communicates with a mobile device of the devices;

adapting multimedia data according to identified multimedia type, quality of service level, evaluated abilities of the mobile device, and assessed bandwidth of the network;

providing the adapted multimedia data to the mobile device currently communicating with the multimedia edge cloud;

detecting movement of the mobile device initially in wireless communication with the multimedia edge cloud and subsequently in wireless communication with a second multimedia edge cloud, wherein the multimedia edge cloud is configured for communication with the second multimedia edge cloud; and

transferring at least one of: applications, data, and a profile associated with the mobile device from the multimedia edge cloud to the second multimedia edge cloud.

2. The multimedia edge cloud of claim 1 , wherein the adapting comprises:

obtaining parameters including screen size and processor speed of at least two devices of the devices, wherein a first device of the two devices includes the mobile device;

generating a first version of multimedia data according to the obtained parameters for the first device from among the devices;

generating a second version of multimedia data according to the obtained parameters for a second device from among the devices;

supplying the first version of the multimedia data to the first device; and

supplying the second version of the multimedia data to the second device.

3. The multimedia edge cloud of claim 1 , wherein at least one of:

the cluster of graphic computing servers processes executable code and multimedia data according to a distributed hash table;

the processing of the executable code and the multimedia data is configured into parallel workloads within the cluster of graphic computing servers;

the parallel workloads are distributed sequentially within the cluster of graphic computing servers.

4. The multimedia edge cloud of claim 1 , wherein the load balancing operations further comprise:

referencing a distributed hash table tracking both data stored on servers within the multimedia edge cloud and executable programs operating on servers within the multimedia edge cloud.

5. The multimedia edge cloud of claim 1 , wherein the load balancing operations further comprise:

distributing a workload to the cluster of graphic computing servers, wherein the cluster of graphic computing servers processes the workload in parallel; and

distributing an additional workload to the cluster of graphic computing servers to create a sequential pipeline, wherein the sequential pipeline comprises a series of servers grouped in parallel.

6. The multimedia edge cloud of claim 1 , additionally comprising:

a head server, configured for peer-to-peer communication with at least one other multimedia edge cloud.

7. The multimedia edge cloud of claim 1 , additionally comprising:

a master server, wherein the master server is in communication with the multimedia edge cloud and at least one additional multimedia edge cloud.

8. The multimedia edge cloud of claim 1 , additionally comprising:

a first tracker, configured to utilize a distributed hash table to track data distributed among a first plurality of servers; and

a second tracker, configured to utilize the distributed hash table to track programs executing on a second plurality of servers.

9. The multimedia edge cloud of claim 1 , wherein the cluster of graphic computing servers adapts multimedia data sent to a plurality of the devices, the adapting comprising:

fully rendering multimedia data sent to some devices in communication with the multimedia edge cloud; and

partially rendering multimedia data sent to other devices in communication with the multimedia edge cloud.

10. A method of operating a multimedia edge cloud, comprising:

under control of one or more processors configured with executable instructions:

processing general computing, graphic computing and data storage within a cluster of general computing servers, a cluster of graphic computing servers, and a cluster of storage servers, respectively;

tracking data distributed among a first plurality of servers on the multimedia edge cloud according to a distributed hash table;

tracking programs processing the data, the programs distributed among a second plurality of servers on the multimedia edge cloud according to the distributed hash table;

identifying multimedia data distributed among servers of the cluster of graphic computing servers, the identifying comprising determining multimedia types of the multimedia data;

determining quality of service levels for each at least two multimedia types of the identified multimedia types, wherein a quality of service level of a first identified multimedia type is higher than a quality of service level of a second identified multimedia type;

evaluating individual abilities of devices currently communicating with the multimedia edge cloud;

assessing bandwidth of a network over which the multimedia edge cloud communicates with a mobile device of the devices;

providing multimedia data to the mobile device currently communicating with the multimedia edge cloud according to at least one of determined multimedia type, quality of service level, evaluated capabilities of the mobile device, and assessed network bandwidth of the network;

detecting movement of the mobile device initially in wireless communication with the multimedia edge cloud and subsequently in wireless communication with a second multimedia edge cloud, wherein the multimedia edge cloud is configured for communication with the second multimedia edge cloud; and

transferring at least one of: applications, data, and a profile associated with the mobile device from the multimedia edge cloud to the second multimedia edge cloud.

11. The method of claim 10 , additionally comprising:

distributing a workload to the cluster of graphic computing servers, wherein the cluster of graphic computing servers processes the workload in parallel; and

distributing an additional workload to the cluster of graphic computing servers to create a sequential pipeline, wherein the sequential pipeline comprises a series of servers that are grouped in parallel.

12. The method of claim 10 , additionally comprising:

communicating, peer-to-peer, from a head server of the multimedia edge cloud to a head server of at least one other multimedia edge cloud.

13. The method of claim 10 , additionally comprising:

communicating with a master server that is in communication with a plurality of multimedia edge clouds.

14. The method of claim 10 , wherein the cluster of graphic computing servers adapts multimedia data sent to a plurality of the devices, the adapting comprising:

fully rendering multimedia data sent to some devices in communication with the multimedia edge cloud; and

partially rendering multimedia data sent to other devices in communication with the multimedia edge cloud.

15. The method of claim 10 , wherein providing multimedia data to the mobile device comprises:

obtaining parameters from the mobile device including at least one of screen size or processor speed;

generating a version of the multimedia data according to the obtained parameters; and

supplying the version of the multimedia data to the mobile device according to the obtained parameters.

16. One or more computer-readable storage devices storing computer-executable instructions that, when executed, cause one or more processors to perform operations comprising:

processing general computing, graphic computing and data storage within a cluster of general computing servers, a cluster of graphic computing servers, and a cluster of storage servers, respectively, within a multimedia edge cloud;

tracking data distributed among a plurality of servers from among at least one of the cluster of general computing servers, the cluster of graphic computing servers, or the cluster of storage servers according to a distributed hash table;

tracking executable programs processing the tracked data within the cluster of graphic computing servers according to the distributed hash table;

identifying multimedia types within the cluster of graphic computing servers;

determining quality of service levels for each at least two multimedia types of the identified multimedia types, wherein a quality of service level of a first identified multimedia type is higher than a quality of service level of a second identified multimedia type;

evaluating individual abilities of devices currently communicating with the multimedia edge cloud;

assessing bandwidth of a network over which a mobile device of the devices is currently communicating with the multimedia edge cloud;

distributing a workload, based at least on the identifying, the determining, the evaluating and the assessing, to the cluster of graphic computing servers, wherein the cluster of graphic computing servers is configured to process the workload in parallel;

distributing an additional workload, based at least on the identifying, the determining, the evaluating and the assessing, to the cluster of graphic computing servers to create a sequential pipeline, wherein the sequential pipeline comprises a series of servers grouped in parallel;

detecting movement of the mobile device initially in wireless communication with the multimedia edge cloud and subsequently in wireless communication with a second multimedia edge cloud, wherein the multimedia edge cloud is configured for communication with the second multimedia edge cloud; and

transferring at least one of: applications, data and a profile associated with the mobile device from the multimedia edge cloud to the second multimedia edge cloud.

17. One or more computer-readable storage devices as recited in claim 16 , the operations additionally comprising:

adapting multimedia data sent to a plurality of the devices, the adapting comprising:

obtaining data, from a first device comprising the mobile device and a second device from among the plurality of devices, the data comprising, for the respective device, at least one of: processing parameters of the device, a screen size of the device, and a bandwidth of wireless networks serving the device;

generating a version of multimedia data according to the data obtained; and

supplying the version of the multimedia data to the device.

18. One or more computer-readable storage devices as recited in claim 16 , the operations additionally comprising:

fully rendering multimedia data for some devices of the devices in communication with the multimedia edge cloud; and

partially rendering multimedia data for other devices of the devices in communication with the multimedia edge cloud.

19. The multimedia edge cloud of claim 1 , wherein the first identified multimedia type is associated with videos and the second identified multimedia type is associated with pictures.

20. The method of claim 10 , wherein the first identified multimedia type is associated with movies and the second identified multimedia type is associated with pictures.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2011
From: ZHU, WENWU; LIU, LIE; LUO, CHONG
To: MICROSOFT CORPORATION
Reel/Frame 025797/0575 →
Continuity (1)
Related Publication 20120131178A1 · May 24, 2012