Updating a user session in a mach-derived computer system environment
Abstract
Methods, apparatus, systems and computer program product for updating a user session in a terminal server environment. Transfer of display data corresponding to an updated user interface can occur via a memory shared between an agent server and an agent client in a terminal server environment. Access to the shared memory can be synchronized via token passing or other operation to prevent simultaneous access to the shared memory. Token sharing and synchronized input/output can be performed using FIFOs, sockets, files, semaphores and the like, allowing communications between the agent server and agent client communications to adapt to different operating system architecture.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
1. A computer-implemented method for updating a user instance, the method comprising:
creating at least one user computer context configured to be executed on a Mach-derived system computing device comprising at least one computer processor, wherein each of the at least one user computer context incorporates is configured to incorporate an agent server;
associating the agent server with an agent client, wherein the agent client and the agent server are configured to be executed on the Mach-derived system computing device, but in separate processes and in separate Mach contexts;
generating, by the agent server, data corresponding to an updated user instance,
wherein the data corresponding to the undated user instance comprises user computer data, wherein the user computer data comprises at least one of:
display data, audio data, biometric data, input data, image data, output data, video data, streaming data, touch screen data, keypad data, joystick data, touchpad data, keyboard data, mouse data, metadata, smart device data, input device data, data from another device appropriate for receiving input directly or indirectly from the user, computer monitor data, speaker data, projector data, data from another device appropriate for outputting data, or output device data;
determining, by the agent sever server, that any portion of the user computer data has been updated;
transferring the data to corresponding to the updated user instance between the agent server and the agent client via a computer system communication facility based on said determining,
wherein said transferring comprises:
transferring at least one of:
the user computer data, or
metadata corresponding to a shared memory comprising, wherein said shared memory comprises the any portion of the updated user computer data,
between the agent server and the agent client, wherein at least one of the user computer data or the metadata is transmitted via the computer system communication facility,
wherein the computer system communication facility comprises at least one of:
a socket,
a file,
a port,
a shared computer memory, or
a pipe; and
transmitting the data corresponding to the updated user instance over a communications network to a remote computer system for update of the user instance based on the data corresponding to the updated user instance,
wherein said transmitting comprises:
transmitting at least of the user computer data, or the metadata, over the communications network to the remote computer system
for update of the user instance based on the updated user computer data or metadata.
2. The method of claim 1 wherein the computer system communication facility is selected from the group consisting of: a shared computer memory, a socket, a port, a first-in first-out buffer, and inter-process message passing.
3. The method of claim 2 wherein the inter-process message passing is a Mach inter-process communication.
4. The method of claim 1 wherein the agent client communicates with two or more agent servers.
5. The method of claim 1 wherein the transmitting the data over a the communications network is accomplished via a protocol translator.
6. The method of claim 5 wherein the agent client communicates with two or more protocol translators.
7. The method of claim 1 wherein the agent server communicates with two or more agent clients.
8. A computer network system comprising:
a Mach-derived computing network system device comprising one or more computer processor elements and one or more computer memory elements, wherein the Mach-derived computing network system device is in communication with two or more computing devices, and wherein the one or more computer processor elements are programmed or adapted configured to:
create a user computer context associated with each user instance, wherein each user computer context incorporates an agent server;
associate the agent server with an agent client, wherein the agent client and agent server are configured to be run on the Mach-derived computing network system device, but in separate processes and in separate Mach contexts;
generate, by the agent server, data corresponding to an updated user instance,
wherein the data corresponding to the undated updated user instance comprises user computer data, wherein the user computer data comprises at least one of:
display data, audio data, biometric data, input data, image data, output data, video data, streaming data, touch screen data, keypad data, joystick data, touchpad data, keyboard data, mouse data, metadata, smart device data, input device data, data from another device appropriate for receiving input directly or indirectly from the user, computer monitor data, speaker data, projector data, data from another device appropriate for outputting to output data, or output device data;
determine that any portion of the user computer data has been updated;
transfer the data to corresponding to the updated user instance between the agent server and the agent client via a computer system communication facility based on said determining determination,
wherein said transfer comprises:
transfer of at least one of:
the user computer data or
metadata corresponding to a shared memory comprising, wherein said shared memory comprises the any portion of the updated user computer data,
between the agent server and the agent client, wherein the one or more processor elements are programmed or adapted configured to transmit at least one of the user computer data or the metadata via the computer system communication facility,
wherein the computer system communication facility comprises at least one of:
a socket,
a file,
a port,
a shared computer memory, or
a pipe; and
transmit the data corresponding to the updated user instance over a communications network to at least one of said two or more computing devices for update of the user instance based on the data corresponding to the updated user instance,
wherein said transmit comprises:
transmit of at least one of the user computer data, or the metadata, over the communications network to the at least one of said two or more computing devices for update of the user instance based on the updated user computer data or meta-data.
9. A non-transitory, tangible computer-readable storage media comprising stored instructions that, upon execution by at least one programmable computer processor, are operable to cause the at least one programmable computer processor to perform the method of claim 1 .
10. The method according to claim 1 , wherein said Mach-derived system computing device comprises at least one of: a laptop, a desktop, a palmtop, a client, a server, a mobile communications device, or an embedded computing device.
11. The method according to claim 1 , wherein the remote computer system comprises at least one of: a client, a thin client, a desktop, a server, a laptop, a palmtop, a mobile communications device, or an embedded computing device.
12. The method according to claim 1 , wherein the method comprises at least one of:
receiving data from at least one input facility; or
transferring data to at least one output facility.
13. The method according to claim 12 , wherein said at least one input facility comprises at least one of: a smartcard device, a biometric device, a direct input device, a storage media device, a keyboard, a computer memory, a storage device, a mouse, a touch pad device, a network device, a display touchscreen, a video input device, an audio input device, a keypad, or a joystick.
14. The method according to claim 13 , wherein said at least one output facility comprises at least one of: a smartcard device, a storage device, a direct output device, a storage media device, a computer memory, a display, a video output device, a monitor, a screen, a speaker, a projector, a network device, or a touchscreen display.
15. The method according to claim 12 , wherein said the communications network comprises at least one of: a public network, a private network, a local area network, a wide area network, an intranet, or an Internet public network.
16. The method according to claim 1 wherein the computer system communication facility comprises at least one of: a shared computer memory, a socket, a port, a pipe, a first-in first-out buffer, or an inter-process message passing facility.
17. The method according to claim 1 wherein said computer system communication facility comprises inter-process message passing.
18. The method according to claim 17 , wherein said inter-process message passing comprises Mach inter-process communication.
19. The method according to claim 2 , wherein said shared computer memory comprises at least one of: a Universal Pages Lists, POSIX, SYSV, pmap, or MachVM.
20. The method according to claim 5 , wherein said protocol translator comprises at least one of: a virtual network computer protocol; a remote desktop protocol; or an X 11 protocol.
21. The method according to claim 1 , wherein said Mach-derived system computing device comprises a Mach-derived terminal server.
22. The method according to claim 21 , wherein said Mach-derived terminal server comprises a Mac operating system (OS).
23. The method according to claim 1 , wherein said agent server is a KVM agent server.
24. The method according to claim 1 , wherein said agent client is a KVM agent client, further comprising configuring said KVM agent client to detect a change in the a shared computer memory.
25. A computer-implemented method for execution on a computing device comprising at least one computer processor and at least one computer memory, and wherein the computing device is adapted configured to be coupled to a communications network for communication communicating with a Mach-derived system computing device comprising at least one computer processor and at least one computer memory, the method comprising:
receiving, by the at least one computer processor of the computing device, an update to a user instance, wherein the update is received from the Mach-derived system computing device; and wherein the update was previously transmitted by the Mach-derived system computing device over the communications network, and wherein data corresponding to the update to the user instance was previously transferred over a computer system communication facility of the Mach-derived system computing device, wherein the data corresponding to the update to the user instance transferred comprises at least one of: user computer data, or metadata corresponding to a shared memory comprising an T, wherein said shared memory comprise any portion of the updated user computer data, wherein the at least one of the user computer data or the metadata was transmitted via the computer system communication facility wherein the computer system communication facility comprises at least one of: a socket., a file, a port, a shared computer memory, or a pipe, wherein the data corresponding to the update to the user instance was created on the Mach-derived system computing device, wherein the Mach-derived system computing device comprises a user computer context comprising an agent server, the agent server associated with an agent client, wherein the agent client and the agent server execute on the Mach-derived system computing device, the agent client executing in a process separate from and in a separate Mach context from the agent server, wherein the data corresponding to the update to the user instance was generated by the agent server corresponding to the updated user instance, wherein the data corresponding to the updated user instance comprises the user computer data., wherein the user computer data comprises at least one of: display data, audio data, biometric data, input data, image data, output data, video data, streaming data, touch screen data, keypad data, joystick data, touch pad data., keyboard data, mouse data the metadata smart device data, input device data, data from another device appropriate for receiving input directly or indirectly from the user, computer monitor data, speaker data, projector data, data from another device appropriate for outputting data, or output device data;
transmitting, by the at least one computer processor of the computing device, input data received from at least one input device of the computing device, over the communications network to the Mach-derived system computing device; and
outputting, by the at least one computer processor of the computing; device, data included in the update of the user instance based on the data corresponding to the update to the user instance received from the Mach-derived system computing device.
26. The method according to claim 25 , wherein said communications network comprises at least one of:
a wireless communications network; or
a wired communications network.
27. A computing device system for communicating configured to communicate, over a communciations network, with a Mach-derived system computing device comprising at least one processor and at least one computer memory, the computing device system comprising:
a computing, device comprising:
at least one computer processor; and
at least one computer memory,
wherein said computing device is adapted configured to be coupled to the communications network for access to the Mach-derived system computing device,
wherein said at least one computer processor of said computing device is adapted configured to:
receive an update to a user client instance, wherein the update is configured to be received from the Mach-derived system computing device and wherein the update was previously transmitted by the Mach-derived system computing device over the communciations network, and wherein data corresponding to the update to the user instance was previously transferred over a computer system communication facility of the Mach-derived system computing device, wherein the data corresponding to the update to the user instance transferred comprises at least one of: user computer data, or metadata corresponding to a shared memory comprising, wherein said shared memory comprises any portion of the updated user computer data wherein the at least one of the user computer data or the metadata was configured to be transmitted via the computer system communication facility, wherein the computer system communication facility comprises at least one of: a socket, a file, a port, a shared computer memory, or a pipe, wherein the data was configured to be created on the Mach-derived system computing device, wherein the Mach-derived system computing device comprises a user computer context comprising an agent server, the agent server associated with an agent client, wherein the agent client and the agent server are configured to execute on the Mach-derived system computing device, the agent client executing configured to execute in a process separate from and in a separate Mach context from the agent server, wherein the data corresponding to the update to the user instance was configured to be generated by the agent server corresponding to the updated user instance, wherein the data corresponding to the updated update to a user instance comprises the user computer data, wherein the user computer data comprises at least one of: display data, audio data, biometric data, input data, image data, output data, video data, streaming data, touch screen data, keypad data., joystick data, touch pad data, keyboard data, mouse data, the metadata, smart device data, input device data. data from another device appropriate for receiving input directly or indirectly from the user, computer monitor data, speaker data, projector data, data from another device appropriate for outputting to output data, or output device data;
transmit input data received from at least one input device of said computing device, over the communications network to the Mach-derived system computing device; and
output data included in the update of the user instance based on the data corresponding to the update to the user instance received from the Mach-derived system computing device.
28. The computing device system according to claim 27 , wherein the computing device system communicates via the communications network with the Mach-derived system computing device via at least one protocol comprising at least one of:
a virtual network computer protocol (VNC);
a remote desktop protocol (RDP); or
an X 11 protocol.
29. The computing device system according to claim 27 , wherein said at least one computer processor of said computing device adapted configured to output comprises:
wherein said at least one computer processor of said computing device is adapted configured to:
render the updated user instance based on the output data included in the update of the user instance based on the data corresponding to the update to the user instance received from the Mach-derived system computing device.
30. The method according to claim 1 , wherein the method comprises at least one of:
implementing a plurality of independent instances of at least one application to satisfy demands of a plurality of remote computer systems;
providing a secure and synchronously updated graphical display of system output to a plurality of remote computer systems;
updating graphical display information securely and in a timely fashion in a terminal server environment;
transporting data from a user session in a terminal server environment;
allowing improved communication with at least one remote computer device;
updating at least one user session in a terminal server environment;
allowing improved transfer of large amounts of display-associated data; or
allowing faster and less-error-prone transfer of user computer data corresponding to an updated user interface via at least one computer memory shared between the agent server and the agent client in a terminal server environment.
31. The method according to claim 1 , wherein at least one of said Mach-derived system computing device, or said remote computer system comprises a computer system executing a Mach-derived operating system.
32. The method according to claim 31 , wherein said Mach-derived operating system comprises a MAC operating system (OS).
33. The computer network system according to claim 8 , wherein at least one of said Mach-derived network system computing device, or at least one of said two or more computing devices comprises a computer system executing configured to execute a Mach-derived operating system.
34. The computer network system according to claim 33 , wherein said Mach-derived operating system comprises a MAC operating system (OS).
35. The method according to claim 1 , wherein said remote computer system is local to said Mach-derived system computing device.Join the waitlist — get patent alerts
Track USRE46386E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.