Method and apparatus for enabling multiple users to concurrently access a remote server using set-top boxes
First Claim
1. A method of enabling a plurality of users to simultaneously use a processing system, the method comprising:
- maintaining a desktop within the processing system;
defining a plurality of subsets of the desktop in the form of a plurality of windows;
maintaining the windows such that the windows are simultaneously active; and
mapping each window to a different one of a plurality of frame buffers within the processing system, each of the frame buffers associated with a different one of a plurality of input/output systems coupled to the processing system, such that each window represents an active desktop for display on the corresponding input/output system;
storing each of the windows in a corresponding one of the frame buffers; and
providing each of the windows from the corresponding frame buffer to the corresponding input/output system, such that the windows are simultaneously displayed as desktops on their respective input/output systems.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for enabling multiple users to concurrently access a PC-based server in a home local area network using conventional TVs as display devices. A client system includes a TV, conventional input devices, such as a keyboard and a mouse, and a set top box for interfacing the TV to the network. The server maintains a system work area and multiple processes corresponding to user applications. The system work area is partitioned in the server into multiple independent, simultaneously active desktops, one desktop for each of the client systems. Individual processes are mapped to the appropriate desktop. Multiple frame buffers are maintained in the server, such that a different frame buffer is assigned to each client system. Each desktop is rendered within the server and stored in the corresponding frame buffer. The contents of each frame buffer are transmitted over a transmission medium to the set top box of the corresponding client system. Desktop display data is provided by the set top box to the corresponding TV for display to a user.
216 Citations
26 Claims
-
1. A method of enabling a plurality of users to simultaneously use a processing system, the method comprising:
-
maintaining a desktop within the processing system;
defining a plurality of subsets of the desktop in the form of a plurality of windows;
maintaining the windows such that the windows are simultaneously active; and
mapping each window to a different one of a plurality of frame buffers within the processing system, each of the frame buffers associated with a different one of a plurality of input/output systems coupled to the processing system, such that each window represents an active desktop for display on the corresponding input/output system;
storing each of the windows in a corresponding one of the frame buffers; and
providing each of the windows from the corresponding frame buffer to the corresponding input/output system, such that the windows are simultaneously displayed as desktops on their respective input/output systems. - View Dependent Claims (2, 3, 4)
-
-
5. A method of enabling a plurality of client systems to simultaneously use a server processing system on a network, the method comprising:
-
maintaining a system work area in the server system;
maintaining a plurality of independent, simultaneously active processes in the server system, each process corresponding to a different one of the client systems;
partitioning the system work area into a plurality of independent, simultaneously active windows;
mapping each window to a different one of the processes;
assigning each of the windows to a different one of a plurality of frame buffers in the server system, each of the frame buffers associated with a different one of the client systems;
sending each of the windows from the corresponding frame buffer in the server system to the corresponding one of the client systems via the network; and
associating input received from each of the client systems via the network with the corresponding process and window, wherein inputs received from the plurality of client systems are received simultaneously and such that the corresponding processes are updated simultaneously in response to said inputs.
-
-
6. A computer system comprising:
-
a plurality of frame buffers;
a microprocessor; and
a storage device coupled to the microprocessor and having instructions stored therein for configuring the computer system to;
maintain a system desktop;
define a plurality of independent, simultaneously active windows as subsets of the system desktop;
map each window to a different one of a plurality of remote input/output systems, each window representing a desktop for display on the corresponding remote input/output system;
associate each window with a different one of a plurality of independent, simultaneously active processes and with a different corresponding one of the frame buffers, each process associated with a different corresponding one of the remote input/output systems;
render each window in its corresponding frame buffer; and
provide each window from its corresponding frame buffer to its corresponding remote input/output system. - View Dependent Claims (7)
-
-
8. A method of allowing a local processing system to be used from a plurality of remote systems, the method comprising:
-
maintaining a plurality of simultaneously active desktops within the local processing system;
associating each of the desktops with a different one of the remote systems;
associating each of the desktops with a different one of a plurality of independent, simultaneously active processes, each process associated with a different one of the remote systems;
rendering each of the desktops within the local processing system; and
providing each of the rendered desktops to the corresponding remote system. - View Dependent Claims (9, 10, 11)
receiving user input from one of the remote systems;
associating the user input with the corresponding desktop; and
modifying the corresponding desktop within the local processing system based on the user input.
-
-
12. An apparatus for enabling a plurality of remote users to simultaneously use a local processing system, the apparatus comprising:
-
means for allocating a plurality of frame buffers within the local processing system such that each frame buffer corresponds to a different one of a plurality of remote input/output systems;
means for defining a plurality of simultaneously active desktops in the local processing system, such that each desktop corresponds to a different one of the remote input/output systems;
means for maintaining a plurality of simultaneously active processes in the local processing system, wherein each of the processes is associated with a different one of the remote input/output systems, such that each of the desktops corresponds to a different one of the processes and a corresponding different one of the remote input/output systems;
means for storing each of the desktops in a different one of the frame buffers within the local processing system; and
means for simultaneously providing the contents of each of the frame buffers to the corresponding remote input/output systems, such that the remote input/output systems can simultaneously display their respective desktops, and such that the displayed desktops are simultaneously active. - View Dependent Claims (13, 14)
means for receiving user input from one of the input/output systems; and
means for associating the user input with the corresponding one of the desktops.
-
-
14. An apparatus according to claim 13, wherein the desktops are subsets of a single, contiguous system desktop.
-
15. A mechanism for use in a server computer system for allowing a plurality of client systems to access the server computer system on a local area network, the server computer system executing a plurality of processes on behalf of the client systems and maintaining a plurality of active desktops for the client systems, the mechanism comprising:
-
a first mapping unit to map each of the processes to one of the desktops;
a desktop allocation unit to allocate a different one of a plurality of radio frequency (RF) channels to each of the desktops;
a plurality of frame buffers;
a second mapping unit to map each of the desktops to one of the frame buffers; and
a third mapping unit to map the contents of each of the frame buffers to a different one of the RF channels responsive to the desktop allocation unit. - View Dependent Claims (16, 17)
-
-
18. A processing system comprising:
-
a processor;
a memory accessible to the processor;
means for associating each of a plurality of frame buffers within the computer system with a different one of a plurality of remote input/output systems;
means for defining a plurality of desktops such that each desktop corresponds to one of the remote input/output systems;
means for rendering each of the desktops to a different one of the frame buffers within the local processing system; and
means for distributing each of the rendered desktops in each of the frame buffers to the corresponding remote input/output systems. - View Dependent Claims (19, 20)
means for receiving user input from one of the remote input/output systems; and
means for associating the user input with the corresponding one of the desktops.
-
-
21. A circuit board for use in a server system connected to a plurality of client systems, the server system including a processing unit, the circuit board comprising:
-
a plurality of frame buffers, each of the frame buffers for maintaining display data for a different one of the client systems in a local area network; and
a plurality of video controllers accessible to the processing unit when the circuit board is connected in the server system, each of the video controllers for controlling one of the frame buffers. - View Dependent Claims (22, 23, 24)
-
-
25. A computer system for connection on a local area network to a plurality of client systems, the computer system comprising:
-
a processing unit capable of executing an operating system;
a plurality of frame buffers, each of the frame buffers for storing display data for display by a different one of the client systems;
a plurality of video controllers coupled to the processing unit, each of the video controllers corresponding to a different one of the client systems and for maintaining a different, corresponding one of the frame buffers; and
a plurality of connectors, each of the connectors for providing a connection to a different one of the client systems via a transmission medium, each of the connectors for transmitting display data from one of the frame buffers to the corresponding one of the client systems and for receiving user input data from the corresponding one of the client systems.
-
-
26. A method of enabling a plurality of users to simultaneously use a processing system, the method comprising:
-
maintaining a plurality of simultaneously active desktops within the processing system;
mapping each of the desktops to a different one of a plurality of frame buffers within the processing system and to a different one of a plurality of input/output systems coupled to the processing system;
storing each of the desktops in a different one of the frame buffers within the processing system; and
simultaneously providing each of the desktops from the corresponding frame buffer to the corresponding input/output system, such that all of the desktops are simultaneously displayed and active on their respective input/output systems.
-
Specification