IP Library Granted Patent US 8,681,811
Granted Patent B2
US 8,681,811 · App. 12/360,400 · Granted Mar 25, 2014

System and method for obtaining cross compatibility with a plurality of thin-client platforms

Inventors: Sergey Kipnis (Pleinfeld, DE); Klaus A. Maier (Pleinfeld, DE); Gabriele Sartori (Fremont, CA)
Assignee: nComputing Inc.
H04L29/06047
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 8,681,811
App. No.
12/360,400
Granted
Mar 25, 2014
Kind
B2
Abstract

Techniques for use within computer systems that communicate with multiple different terminal systems using multiple different terminal protocols are disclosed. In one embodiment, a partial protocol converter module is installed in a computer server system to enable the computer server system to communicate with terminal systems that use terminal protocol other than the terminal protocol used natively by the computer server system. The partial protocol converter module directly accesses a screen buffer in the computer server system that is associated with the terminal systems that use terminal protocol other than the terminal protocol used natively by the computer server system. The partial protocol converter module detects updates to the screen buffer and encodes these display screen updates into a message using the native protocol used by the terminal system and then transmits that encoded message to the terminal system.

Claims (72)

1. A method of communicating with a terminal system, said method comprising:

locating a terminal screen buffer within a server system, said terminal screen buffer created for said terminal system that does not use a first graphics terminal protocol used natively by said server system, said terminal screen buffer storing a digital representation of a display screen of said terminal system;

receiving, at the server system, data to be transmitted to said terminal system;

based on first data that is a graphical update to said digital display screen representation of said terminal screen buffer:

reading said graphical update stored in said terminal screen buffer; and

transmitting said graphical update to said terminal system in a display update message using a second graphics terminal protocol natively supported by said terminal system without converting said graphical update from said first graphics terminal protocol to said second graphics terminal protocol; and

based on second data that is not said graphical update to said terminal screen buffer:

translating said second data for said terminal system from said first graphics terminal protocol used natively by said server system to said second graphics terminal protocol used natively by said terminal system; and

transmitting said translated second data to said terminal system.

2. The method of communicating with said terminal system as set forth in claim 1 , said method comprising:

receiving messages for said terminal system in said first graphics terminal protocol used natively by said server system;

translating said messages for said terminal system from said first graphics terminal protocol used natively by said server system to said second graphics terminal protocol used natively by said terminal system; and

transmitting said messages in said second graphics terminal protocol to said terminal system.

3. The method of communicating with said terminal system as set forth in claim 1 , said method comprising:

receiving messages from said terminal system, said messages encoded in said second graphics terminal protocol used natively by said terminal system;

translating said messages from said terminal system from said second graphics terminal protocol used natively by said terminal system to said first graphics terminal protocol used natively by said server system; and

passing said messages in said first graphics terminal protocol to terminal interface software in said server system.

4. The method of communicating with said terminal system as set forth in claim 1 , said method further comprising:

intercepting requests to an operating system for generating output from application programs associated with said terminal system;

generating corresponding output request messages encoded in said second graphics terminal protocol used natively by said terminal system; and

transmitting said corresponding output messages to said terminal system in a native protocol for said terminal system.

5. The method of communicating with said terminal system as set forth in claim 1 , said method further comprising:

receiving messages from said terminal system, said messages encoded in said second graphics terminal protocol used natively by said terminal system;

decoding said messages from said terminal system to determine input data; and

passing said input data to an operating system input module in said server system.

6. The method of communicating with said terminal system as set forth in claim 1 , said method further comprising:

receiving display update messages encoded in said first graphics terminal protocol used natively by said server system addressed for said terminal system; and

discarding said display update messages encoded in said first graphics terminal protocol used natively by said server system.

7. The method of communicating with said terminal system as set forth in claim 4 wherein said output comprises a sound.

8. The method of communicating with said terminal system as set forth in claim 5 wherein said input data comprises keystrokes.

9. A computer system for communicating with a terminal system that does not use a first graphics terminal protocol native to said computer system, said computer system comprising:

a terminal screen buffer associated with said terminal system, said terminal screen buffer storing a digital representation of a display screen of said terminal system; and

a terminal communication module, said terminal communication module receiving data to be transmitted to said terminal system, said terminal communication module configured to:

based on first data that is a graphical update to said terminal screen buffer:

read said graphical update stored in said terminal screen buffer; and

transmit said graphical update to said terminal system in a display update message using a second graphics terminal protocol natively supported by said terminal system without converting said graphical update from said first graphics terminal protocol to said second graphics terminal protocol; and

based on second data that is not said graphical update to said terminal screen buffer:

translating said second data for said terminal system from said first graphics terminal protocol used natively by said server system to said second graphics terminal protocol used natively by said terminal system; and

transmitting said translated second data to said terminal system.

10. The computer system for communicating with said terminal system as set forth in claim 9 wherein said terminal communication module further receives messages for said terminal system in said first graphics terminal protocol used natively by said server system, translates said messages for said terminal system from said first graphics terminal protocol to said second graphics terminal protocol used natively by said terminal system, and transmitting said messages to said terminal system.

11. The computer system for communicating with said terminal system as set forth in claim 9 wherein said terminal communication module further receives receiving messages from said terminal system encoded in said second graphics terminal protocol used natively by said terminal system, translates said messages from said second graphics terminal protocol to said first graphics terminal protocol used natively by said server system, and passes said messages in said first graphics terminal protocol to terminal interface software in said server system.

12. The computer system for communicating with said terminal system as set forth in claim 9 wherein said terminal communication module further intercepts requests for generating output from application programs associated with said terminal system, generates corresponding output request messages encoded in said second graphics terminal protocol used natively by said terminal system, and transmits said corresponding output messages to said terminal system.

13. The computer system for communicating with said terminal system as set forth in claim 9 wherein said terminal communication module further receives messages encoded in said second graphics terminal protocol used natively by said terminal system from said terminal system, decodes said messages from said terminal system to determine input data, and passes said input data to an operating system input module in said server system.

14. The computer system for communicating with said terminal system as set forth in claim 9 wherein said terminal communication module further receives display update messages encoded in said first graphics terminal protocol used natively by said server system addressed for said terminal system and discards said display update messages encoded in said first graphics terminal protocol used natively by said server system.

15. A non-transitory machine-readable medium, said machine-readable medium comprising a set of instructions that, when executed by a processor, cause the processor to perform operations comprising:

locating a terminal screen buffer within a server system, said terminal screen buffer created for said terminal system that does not use a first graphics terminal protocol used natively by said server system, said terminal screen buffer storing a digital representation of a display screen of said terminal system;

receiving data for said terminal system in said first graphics terminal protocol used natively by said server system;

based on first data that is a graphical update to said terminal screen buffer:

reading said graphical update stored in said terminal screen buffer; and

transmitting said graphical update to said terminal system in a display update message using a second graphics terminal protocol natively supported by said terminal system without converting said graphical update from said first graphics terminal protocol to said second graphics terminal protocol; and

based on second data that is not said graphical update to said terminal screen buffer:

translating said second data from said first graphics terminal protocol used natively by said server system to said second graphics terminal protocol used natively by said terminal system; and

transmitting said translated second data to said terminal system.

16. The non-transitory machine-readable medium as set forth in claim 15 wherein said operations implemented by said instructions further comprise:

receiving messages for said terminal system in said first graphics terminal protocol used natively by said server system;

translating said messages for said terminal system from said first graphics terminal protocol used natively by said server system to said second graphics terminal protocol used natively by said terminal system; and

transmitting said messages in said second graphics terminal protocol to said terminal system.

17. The non-transitory machine-readable medium as set forth in claim 15 wherein said operations implemented by said instructions further comprise:

receiving messages from said terminal system, said messages encoded in said second graphics terminal protocol used natively by said terminal system;

translating said messages from said terminal system from said second graphics terminal protocol used natively by said terminal system to said first graphics terminal protocol used natively by said server system; and

passing said messages in said first graphics terminal protocol to terminal interface software in said server system.

18. The non-transitory machine-readable medium as set forth in claim 15 wherein said operations implemented by said instructions further comprise:

intercepting requests to an operating system for generating output from application programs associated with said terminal system;

generating corresponding output request messages encoded in said second graphics terminal protocol used natively by said terminal system; and

transmitting said corresponding output messages to said terminal system in a native protocol for said terminal system.

19. The non-transitory machine-readable medium as set forth in claim 15 wherein said operations implemented by said instructions further comprise:

receiving messages from said terminal system, said messages encoded in said second graphics terminal protocol used natively by said terminal system;

decoding said messages from said terminal system to determine input data; and

passing said input data to an operating system input module in said server system.

20. The non-transitory machine-readable medium as set forth in claim 15 wherein said operations implemented by said instructions further comprise:

receiving display update messages encoded in said first graphics terminal protocol used natively by said server system addressed for said terminal system; and

discarding said display update messages encoded in said first graphics terminal protocol used natively by said server system.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2019
From: NCOMPUTING, INC.
To: NCOMPUTING DE, LLC
Reel/Frame 048031/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2017
From: NCOMPUTING DE, LLC
To: NCOMPUTING GLOBAL, INC.
Reel/Frame 043237/0074 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS OF ASSIGNEE PREVIOUSLY RECORDED AT REEL: 030390 FRAME: 0535. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 6, 2015
From: NCOMPUTING, INC.
To: ARES CAPITAL CORPORATION
Reel/Frame 037058/0390 →
SECURITY AGREEMENT Recorded Feb 6, 2014
From: NCOMPUTING, INC., A DELAWARE CORPORATION; NCOMPUTING, INC., A CALIFORNIA CORPORATION
To: PINNACLE VENTURES, L.L.C.
Reel/Frame 032166/0456 →
SECURITY AGREEMENT Recorded May 9, 2013
From: NCOMPUTING, INC.
To: ARES CAPITAL CORPORATION
Reel/Frame 030390/0535 →
RELEASE OF SECURITY INTEREST Recorded Mar 20, 2013
From: SAND HILL CAPITAL IV, LP
To: NCOMPUTING, INC.
Reel/Frame 030052/0816 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2011
From: KIPNIS, SERGEY; MAIER, KLAUS A.; SARTORI, GABRIELE
To: NCOMPUTING INC.
Reel/Frame 025649/0514 →
SECURITY AGREEMENT Recorded Dec 11, 2010
From: NCOMPUTING, INC.
To: SAND HILL CAPITAL IV, L.P.
Reel/Frame 025473/0001 →
Continuity (2)
Provisional Application 61032049 · Feb 27, 2008
Related Publication 20090238204A1 · Sep 24, 2009