IP Library Granted Patent US 9,459,927
Granted Patent B2
US 9,459,927 · App. 12/125,315 · Granted Oct 4, 2016

Central office based virtual personal computer

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,459,927
App. No.
12/125,315
Granted
Oct 4, 2016
Kind
B2
Abstract

A virtual personal computer is implemented in a communication system comprising a plurality of central offices each of which communicates with a plurality of client devices over a corresponding access network. A given one of the central offices comprises at least one compute server and at least one storage server. The virtual personal computer is configured by allocating physical processing resources of the compute server and physical storage resources of the storage server to that virtual personal computer. User access is provided to the virtual personal computer via one of the client devices. The virtual personal computer can be dynamically reconfigured by altering the allocation of at least one of the physical processing resources and the physical storage resources to the given virtual personal computer responsive to particular applications selected by the user to run on the given virtual personal computer.

Claims (52)

1. A method of implementing virtual personal computers in a communication system, the communication system comprising a plurality of central offices each of which communicates with a plurality of client devices over a corresponding access network, the method comprising the steps of:

providing in a given one of the central offices at least one compute server and at least one storage server;

configuring a given one of the virtual personal computers by allocating physical processing resources of the compute server and physical storage resources of the storage server to that virtual personal computer; and

providing access to the given virtual personal computer to a user via a corresponding one of the client devices;

wherein the compute server comprises a plurality of interconnectable graphics processing unit (GPU) hardware subcomponents, the compute server configuring a particular GPU processing pipeline for the given virtual personal computer from selected ones of said subcomponents; and

wherein a frame buffer associated with the GPU processing pipeline is allocated such that it utilizes an address space of a processor core that runs a corresponding virtual machine, but is physically located internal to an integrated circuit comprising at least a portion of the GPU hardware subcomponents.

2. The method of claim 1 further including the step of dynamically reconfiguring the given virtual personal computer by altering the allocation of at least one of the physical processing resources and the physical storage resources to the given virtual personal computer responsive to particular applications selected by the user to run on the given virtual personal computer.

3. The method of claim 1 further comprising the step of migrating the given virtual personal computer from the given central office to another central office responsive to the user attempting to access the virtual personal computer from a client device served by the other central office.

4. The method of claim 3 wherein the migrating step is implemented by communicating virtual machine and virtual disk drive information characterizing the virtual personal computer from the given central office to the other central office over a back-end network that interconnects the central offices.

5. The method of claim 1 wherein the virtual personal computers run respective operating systems, each of the operating systems being configured to dynamically schedule threads of an associated virtual machine onto one or more virtual processor cores, and further wherein a virtual machine monitor running on the compute server dynamically schedules the virtual processor cores onto particular physical cores of the compute server.

6. The method of claim 1 wherein the storage server provides virtual disk drives for respective ones of the virtual personal computers.

7. The method of claim 1 wherein the given virtual personal computer is operative in an automatic reconfiguration mode in which reconfiguration of the virtual personal computer occurs without requiring specific user input and in a manual reconfiguration mode in which a user specifies a particular manner in which the virtual personal computer is to be reconfigured by entry of one or more commands via an interface of the client device.

8. The method of claim 1 wherein the compute server implements hardware-mediated transfer functionality in which color buffer contents are read out and packetized for delivery to the client device over the access network.

9. The method of claim 1 wherein the compute server is further operative to dynamically reconfigure one or more hardware elements of the client device.

10. A non-transitory processor-readable storage medium containing executable program code which when executed by a processor of the given central office performs the steps of configuring the given virtual personal computer and providing access to the given virtual personal computer as set forth in claim 1 .

11. The method of claim 8 , wherein the color buffer contents comprise pixels of an image to be displayed by the client device.

12. A method of implementing virtual personal computers in a communication system, the communication system comprising a plurality of central offices each of which communicates with a plurality of client devices over a corresponding access network, the method comprising the steps of:

providing in a given one of the central offices at least one compute server and at least one storage server;

configuring a given one of the virtual personal computers by allocating physical processing resources of the compute server and physical storage resources of the storage server to that virtual personal computer; and

providing access to the given virtual personal computer to a user via a corresponding one of the client devices;

wherein the compute server implements hardware-mediated transfer functionality in which color buffer contents are read out and packetized for delivery to the client device over the access network; and

wherein the hardware-mediated transfer functionality comprises an integrated circuit configured to simultaneously read a plurality of color buffers, the integrated circuit being further configured to compress, encrypt, and packetize contents read from the color buffers, using respective hardware processing elements, and to transmit the resulting packets onto a network interface.

13. A method of implementing virtual personal computers in a communication system, the communication system comprising a plurality of central offices each of which communicates with a plurality of client devices over a corresponding access network, the method comprising the steps of:

providing in a given one of the central offices at least one compute server and at least one storage server;

configuring a given one of the virtual personal computers by allocating physical processing resources of the compute server and physical storage resources of the storage server to that virtual personal computer; and

providing access to the given virtual personal computer to a user via a corresponding one of the client devices;

wherein the compute server in processing video display information for the given virtual personal computer performs the following steps to encode interactive regions of the video display information with an interactive coding and to encode remaining regions of the video display information with a noninteractive encoding:

identifying boundaries of the interactive and noninteractive regions;

selecting encoders for use with respective ones of the regions;

routing pixels for each region to the selected encoder; and

sending resulting encoded streams to the client device via the access network along with information specifying an associated encoder and region for each such stream.

14. An apparatus comprising:

a central office comprising at least one compute server and at least one storage server;

the compute and storage servers implementing a plurality of virtual personal computers;

wherein the central office is operative to configure a given one of the virtual personal computers by allocating physical processing resources of the compute server and physical storage resources of the storage server to that virtual personal computer, and to provide access to the given virtual personal computer to a user via a corresponding client device;

wherein the central office is within a communication system comprising a plurality of central offices each of which communicates with a plurality of client devices over a corresponding access network;

wherein the compute server comprises a plurality of interconnectable graphics processing unit (GPU) hardware subcomponents, the compute server configuring a particular GPU processing pipeline for the given virtual personal computer from selected ones of said subcomponents; and

wherein a frame buffer associated with the GPU processing pipeline is allocated such that it utilizes an address space of a processor core that runs a corresponding virtual machine, but is physically located internal to an integrated circuit comprising at least a portion of the GPU hardware subcomponents.

15. The apparatus of claim 14 wherein the central office further comprises a distributed switch fabric configured to connect the compute server with access network terminations of the central office.

16. The apparatus of claim 14 wherein the compute server comprises a blade chassis having a plurality of associated switch modules, wherein each of a plurality of blades of the blade chassis can access each of the switch modules via internal ports on the switch modules.

17. The apparatus of claim 16 wherein the compute server is coupled to the storage server via an external port on one of the switch modules and is coupled to a distributed switch fabric via an external port on another one of the switch modules.

18. The apparatus of claim 14 wherein the virtual personal computers run respective operating systems, each of the operating systems being configured to dynamically schedule threads of an associated virtual machine onto one or more virtual processor cores, and further wherein a virtual machine monitor running on the compute server dynamically schedules the virtual processor cores onto particular physical cores of the compute server.

19. The apparatus of claim 14 wherein the given virtual personal computer is operative in an automatic reconfiguration mode in which reconfiguration of the virtual personal computer occurs without requiring specific user input and in a manual reconfiguration mode in which a user specifies a particular manner in which the virtual personal computer is to be reconfigured by entry of one or more commands via an interface of the client device.

20. A communication system, comprising:

a plurality of central offices; and

access networks associated with respective ones of the central offices;

wherein each of the central offices communicates with a plurality of client devices over a corresponding one of the access networks;

each of the central offices comprising at least one compute server and at least one storage server, adapted to implement a plurality of virtual personal computers;

wherein a given one of the central offices is operative to configure a given one of the virtual personal computers by allocating physical processing resources of the compute server and physical storage resources of the storage server to that virtual personal computer, and to provide access to the given virtual personal computer to a user via a corresponding client device;

wherein the compute server comprises a plurality of interconnectable graphics processing unit (GPU) hardware subcomponents, the compute server configuring a particular GPU processing pipeline for the given virtual personal computer from selected ones of said subcomponents; and

wherein a frame buffer associated with the GPU processing pipeline is allocated such that it utilizes an address space of a processor core that runs a corresponding virtual machine, but is physically located internal to an integrated circuit comprising at least a portion of the GPU hardware subcomponents.

21. The communication system of claim 20 wherein the plurality of central offices are interconnected with one another by a back-end network, and further wherein the given virtual personal computer is migrated from the given central office to another central office responsive to the user attempting to access the given virtual personal computer from a client device served by the other central office.

Assignments (8)
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2020
From: NOKIA OF AMERICA CORPORATION
To: WSOU INVESTMENTS, LLC
Reel/Frame 052372/0577 →
CHANGE OF NAME Recorded Nov 20, 2019
From: ALCATEL-LUCENT USA INC.
To: NOKIA OF AMERICA CORPORATION
Reel/Frame 051061/0753 →
MERGER AND CHANGE OF NAME Recorded Sep 21, 2016
From: ALCATEL USA MARKETING, INC.; ALCATEL USA SOURCING, INC.; LUCENT TECHNOLOGIES INC.; LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 039817/0634 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2008
From: SIZER, THEODORE, II
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 021070/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2008
From: CARROLL, MARTIN D.; CHOW, HUNGKEI KEITH; HADZIC, ILIJA; SHARP, RONALD L.; SUVAKOVIC, DUSAN; VAN VEEN, DOUTJE T.
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 021012/0138 →