Server and terminal emulator for persistent connection to a legacy host system with printer emulation6233543Abstract A computer network environment (10) allowing connection of a client system (36) to a legacy host system (18,19) using a server (26) is provided. The computer network environment (10) includes a legacy host system (18,19) having TCP/IP connectivity. The legacy host system (18,19) is operable to support a terminal session for access to the legacy host system (18,19). The computer network environment (10) also includes a server (26) operable to communicate with the legacy host system (18,19) across a persistent TCP/IP socket connection (30). The computer network environment (10) further includes a client system (36) executing an applet process (42) under a web browser (38). The applet process (42) is operable to communicate with the client thread (28) across another persistent TCP/IP socket connection (44) and is operable to provide a terminal session to a user of the client system (36). This terminal session is supported by a persistent connection allowing real-time bidirectional communication with the legacy host system (18,19), including response time monitoring, enabled by appropriate response time monitoring tool executing on host system 18 and appropriate protocol conversions at server (26). Claims What is claimed is: Description TECHNICAL FIELD OF THE INVENTION
Offset Length Value Description
0 1 S Command
1 1 type Emulation Type
2 1 type Client Type
3 1 host length Host Name Length
4 host length host name ASCII Host Name
4 + host length 1 LU length LU Name Length
5 + host length LU length LU name ASCII LU Name
5 + host length 1 TCP length TCP Port Length
+
LU length
6 + host length TCP length TCP Port ASCII TCP Port
+
LU length
6 + host length 1 session length Session Name Length
+
LU length +
TCP length
7 + host length session length session name ASCII Session Name
+
LU length +
TCP length
The Emulation Type are defined as follows: 01=3270 02=5250 03=3287 04=VT220 The Client Type are defined as follows: 01=WebConnect Interactive Client 02=OpenVista Client Ultralite Java client that is using 1.4 or earlier, the first command that is sent to the server is the start session command. For version 1.7 and later, Ultralite client send a version command to the server first then the start session command. G(71 dec-47 hex)--Start Configuration Session--Same as "S" with Encryption A start configuration session is sent to the server to start a configuration connection. A start configuration request has the following format:
Offset Length Value Description
0 1 G Command
V(86 dec-56 hex)--Protocol Version A protocol version request is sent to the client to see if the client is compatiable with the server. A protocol version request has the following format:
Offset Length Value Description
0 1 V Command
1 1 major Major Version
2 1 minor Minor Version
Version Number:
Major Minor Description
1 4 Ultra Lite
1 5 Enhanced/Power User
1 6 Enhanced/Power User - Using Token Authication
1 7 Ultra Lite - Added Character Set to Character Override
Attribute List
1 8 Enhanced/Power User - Added Character Set to
Character Override Attribute List
F(70 dec-46 hex)--Field Update A field update request is sent to the server to update a field. A field update request has the following format:
Offset Length Value Description
0 1 F Command
1 1 reason Reason for Field Update
2 1 value AID Value from Client
3 1 correlator Correlator from Query Field Update
Command
4 1 value Only One Field at a Time
5 2 position Cursor Position
7 2 count Field Count
For each field, the following data is repeated.
Offset Length Value Description
0 2 position Field Position
2 2 field length Field Length
4 1 type Field Data Type
5 field length data Field Data
The Reason for Field Update are defined as follows: 01=Unsolictied 02=Reply to Query Field Update Command 03=Reset MDT for the field The Data Type are defined as follows: 01=UNICODE 02=ASCII N(78 dec-4E hex)--NVT Keystroke A NVT keystroke request is sent to the server to process the NVT key. A NVT keystroke request has the following format:
Offset Length Value Description
0 1 N Command
1 1 value ASCII Character
R(82 dec-52 hex)--Run Script A run script request is sent to the server to run a TCL script file. A run script request has the following format:
Offset Length Value Description
0 1 R Command
1 1 filename length Script File Name Length
2 filename length filename Script File Name
H(72 dec-48 hex)--Query Help Desk A query help desk request is sent to the server to query a help desk. A query help desk request has the following format:
Offset Length Value Description
0 1 H Command
K(75 dec-4B hex)--Process Emulation Keystroke A process emulation keystroke request is sent to the server to process a keystoke. A process emulation keystroke request has the following format:
Offset Length Value Description
0 1 K Command
1 2 value Key Value
3 1 flag Translation Flag
The Translation Flag are defined as follows: 0=Do not translate key value. 1=Translator key value from ASCII to EBCDIC 3=Key value is UNICODE X(88 dec-58 hex)--Send Public Key Send Public Key sends the client's Diffie-Hellman public key to the server after receiving Diffie-Hellman parameters from the server's previous start secure session command. Diffie-Hellman keys are used to compute a shared secret for the RC4 encryption key (outbound only). The client send public key message has the following format:
Off- Des- Off- Des-
set Length Value cription set Length Value cription
0 1 X Com- 0 1 X Com-
mand Client mand
1 mod- key DH 1 1 size
Size Public Client
from Key Session
Key
server Size
start
secure 2 mod- key
Size Client
from DH
session Public
server key
request
start
secure
session
request
JCP 1.7 (ultra-lite) JCP 1.8 (enhanced/power)
i(105 dec-69 hex)--Ping A ping is sent to the server every 35 minutes to keep the applet alive. A ping has the following format:
Offset Length Value Description
0 1 i Command
p(112 dec-70 hex)--Print Data A print data request is sent to the server in response to the print data command. A print data request has the following format:
Offset Length Value Description
0 1 p Command
1 1 command Print Subcommands
The Print Subcommands are defined as follows: R=Request Response-Return 2 byte Sequence Number (HI.vertline.LO) y(121 dec-79 hex)--Are You There? A are you there request is sent to the server to see if WebConnect is still running. A are you there request has the following format:
Offset Length Value Description
0 1 y Command
1 1 minutes Number of minutes for for client to send
AYT command to server.
E(69 dec-45 hex)--Error Reporting A error reporting request is sent to the server to report an error. A error reporting request has the following format:
Offset Length Value Description
0 1 E Command
1 2 position Cursor Position
3 2 code Error Code
Java Client Protocol (JCP)--Server To Client Issue: 1.7/1.8 Command Description E Erase Display R Erase Region L Scroll Region S Set Display Size C Set Cursor Position D Display Text O OIA Text F Field List A Character Override Attribute List Q Query Field Update G Configuration Keyboard Color Attribute Hotsport AutoGUI N Set NVT Mode K Keyboard Lock State B Sound Alarm b Begin Session M Error Message h Hide Emulation Display V Protocol Version H Help Desk Reply W Update Complete P Operation Mode 3270 Parameters 5250 Parameters 3287 Parameters RUI Parameters TN Parameters Network Parameters 3270 Field Attribute 3270 Extended Field Attribute X Start Secure Session Y Server Key p Print Data T WebConnect Protocol Message q Allow User Configuration State y I Am Here. (Are You There Response) z Data Compression Enabled i Ping Echo (Pong) E(69 dec-45 hex)--Erase Display A erase display request is sent to the client to erase the display. A erase display request has the following format:
Offset Length Value Description
0 1 E Command
R(82 dec-52 hex)--Erase Region A erase region request is sent to the client to erase a region on the display. A erase region request has the following format:
Offset Length Value Description
0 1 R Command
1 2 start Start Offset
3 2 end End Offset
L(76 dec-4C hex)--Scroll Region A scroll region request is sent to the client to scroll a region on the display. A scroll region request has the following format:
Offset Length Value Description
0 1 L Command
1 2 start Start Offset
3 2 end End Offset
5 1 direction of scroll 1 Scroll Up
2 Scroll Down
3 Scroll Left
4 ScroIl Right
6 1 count Number of times to scroll
S(83 dec-43 hex)--Set Display Size A set display size request is sent to the client to set the display size. A set display size request has the following format:
Offset Length Value Description
0 1 S Command
1 1 rows Number of Rows
2 1 column Number of Columns
C(67 dec-43 hex)--Set Cursor Position A set cursor position request is sent to the client to set the cursor position. A set cursor position request has the following format:
Offset Length Value Description
0 1 C Command
1 2 position Cursor Position
D(68 dec-44 hex)--Display Text A display text request is sent to the client to display the text on the screen. A display text request has the following format:
Offset Length Value Description
0 1 D Command
1 2 position Text Position
3 2 text length Text Length
5 1-4 type Text Type & Attributes
? text length data Text
The Text Type are defined as follows: Bit 7--Additional header follows for extended attribute list Bit 6--Text is protected field Bit 5--Text is intensified field Bit 4-2--unused Bit 1,0--Character encoding: 00=Bytes (used for raw mode printing) 01=UNICODE 02=ASCII Optional second byte for extended attribute data (if bit 7 set in first byte): Bit 7--Additional header follows for printer attributes Bit 4,3--Extended Highlight: 00=Normal Video 01=Blinking Video 10=Reverse Video 11=Underline Bit 2,1,0--Extended Color: 000=Default Color 001=Blue 010=Red 011=Pink 100=Green 101=Turquoise 110=Yellow 111=White (Black for Printer) Optional third byte for printer attribute data (if bit 7 set in second byte): Bit 7--Additional header follows Bit 6--Subscript Bit 5--Superscript Bit 4--Italics Bit 3--Double wide Bit 2--Double strike Optional fourth byte for additional attribute data (if bit 7 set in third byte): Bit 0--DBCS data (currently used for 3287 only) O(79 dec-4F hex)--OIA Text A OIA text request is sent to the client to display the OIA text on the screen. A OIA text request has the following format:
Offset Length Value Description
0 1 0 Command
1 1 Colunm Column
2 1 OIA length Length of OIA Text
3 OIA length data OIA Text
F(70 dec-46 hex)--Field List A field list request is sent to the client to set up the field list. A field list request has the following format:
Offset Length Value Description
0 1 F Command
1 2 Count Field Count
For each field, the following data is repeated.
Offset Length Value Description
0 2 Start Start Position
2 1 Value Field Attribute
3 1 Value Extended Field Attribute
4 1 Value Additional Field Attribute
5 2 Length Field Length
A(65 dec-41 hex)--Character Override Attribute List A character override attribute list request is sent to the client to set the attribute list. A character override attribute list request has the following format:
Offset Length Value Description
0 1 A Command
1 2 Count Attribute Count
For each attribute, the following data is repeated.
Offset Length Value Description
0 2 Start Start Position
2 2 Length Length of Attributes
4 1 Value Extended Field Attribute
5 1 Value Character Set
The Character Set are defined as follows: 1 VT_CS_NASCII 2 VT_CS_DEC_SPECIAL_GRAPHIC 3 VT_CS_DEC_SUPPLEMENTAL 4 VT_CS_NRC_BRITISH 5 VT_CS_NRC_DUTCH 6 VT_CS_NRC_FINNISH 7 VT_CS_NRC_FRENCH 8 VT_CS_NRC_FRENCH_CANDIAN 9 VT_CS_NRC_GERMAN 10 VT_CS_NRC_ITALIAN 11 VT_CS_NRC_NORWEGIAN_DANISH 12 VT_CS_NRC_SPANISH 13 VT_CS_NRC_SWEDISH 14 VT_CS_NRC_SWISS Q(81 dec-51 hex)--Query Field Update A query field update request is sent to the client for a field update. A query field update request has the following format:
Offset Length Value Description
0 1 Q Command
1 1 Correlator Returned in Field Update Message
from Client
G(71 dec-47 hex)--Configuration A configuration request is sent to the client for configuration. A configuration request has the following format:
Offset Length Value Description
0 1 G Command
The Subcommands are defined as follows: K(75 dec-4A hex)--Keyboard:
Offset Length Value Description
1 1 K Subcommand
2 1 count Multikey Count
For each multikey, the following data is repeated.
Offset Length Value Description
0 2 value Map Value
2 1 count Sequence Count
For each map value, the following data is repeated.
Offset Length Value Description
0 1 modifier Key Modifier
1 2 value Key Value
C(67 dec-43 hex)--Color:
Offset Length Value Description
1 1 C Subcommand
2 1 color Color
3 1 red Red
4 1 green Green
5 1 blue Blue
A(65 dec-41 hex)--Attribute:
Offset Length Value Description
1 1 A Subcommand
2 1 type Attribute Type
3 1 mask Attribute Mask
4 1 value Attribute Value
5 1 apperance Visual Apperance
6 1 color Foreground Color
7 1 color Background Color
The Attribute Type are defined as follows: 00=Field Attribute 01=Extended Field Attribute The Visual Apperance are defined as follows: Bit 0: Field Bit 1: Button Bit 2: Transparent Bit 3: Intense Bit 4: Reverse Bit 5: Dotted Underline Bit 6: Underline Bit 7: Blink H(72 dec-48 hex)--Hotspot:
Offset Length Value Description
1 1 H Subcommand
2 2 value Key Value
4 2 key length Key Length
6 key length text ASCII Match Text
G (71 dec - 47 hex) - AutoGUI:
1 1 G Subcommand
2 1 field type Field Type Length
length
3 field type field type ASCII Field Type
length
3 + field type 1 AWT length AWT Object Length
length
4 + field type AWT length value ASCII AWT Object
length
4 + field type 1 foreground Foreground Color
length + length Length
AWT length
5 + field type foreground foreground ASCII Foreground
length + length color Color
AWT length
5 + field type 1 background Background Color
length + length Length
AWT length +
foreground
length
6 + field type background background ASCII Background
length + length color Color
AWT length +
foreground
length
6 + field type 1 font name Font Name Length
length + length
AWT length +
foreground
length +
background
length
7 + field type font name font name ASCII Font Name
length + length
AWT length +
foreground
length +
background
length
7 + field type 1 font size Font Size Length
length + length
AWT length +
foreground
length +
background
length +
font name
length
8 + field type font size font size ASCII Font Size
length + length
AWT length +
foreground
length +
background
length +
font name
length
8 + field type 1 font style Font Style Length
length+ length
AWT length +
foreground
length +
background
length +
font name
length
+
font size length
9 + field type font style font style ASCII Font Style
length + length
AWT length +
foreground
length +
background
length +
font name
length
N(78 dec-4E hex)--Set NVT Mode A set NVT mode request is sent to the client to set the NVT mode. A set NVT mode request has the following format:
Offset Length Value Description
0 1 N Command
1 1 Flags 00 = Emulation, 01 = NVT Mode
K(75 dec-4B hex)--Keyboard Lock State A keyboard lock state request is sent to the client to set the keyboard lock state. A keyboard lock state request has the following format:
Offset Length Value Description
0 1 K Command
1 1 Flag 00 = Keyboard Unlocked, 01 = Keyboard
Locked
B(66 dec-42 hex)--Sound Alarm A sound alarm request is sent to the client to sound the alarm bell. A sound alarm request has the following format:
Offset Length Value Description
0 1 B Command
b(98 dec-62 hex)--Begin Session A begin session request is sent to the client to begin the session. A begin session request has the following format:
Offset Length Value Description
0 1 b Command
M(77 dec-4D hex)--Error Message A error message request is sent to the client to display a error message. A error message request has the following format:
Offset Length Value Description
0 1 M Command
1 2 sessionID Session ID
3 1 message ASCII Error Message
h(104 dec-68 hex)--Hide Emulation Display A hide emulation display request is sent to the client to hide the display. A hide emulation display request has the following format:
Offset Length Value Description
0 1 h Command
1 1 Flags 0 .times. 00 Display Off, 0 .times. 01 = Display
On
V(86 dec-56 hex)--Protocol Version A protocol version request is sent to the client to see if the client is compatiable with the server. A protocol version request has the following format:
Offset Length Value Description
0 1 V Command
1 1 major Major Version
2 1 minor Minor Version
Version Number:
Major Minor Description
1 4 Ultra Lite
1 5 Enhanced/Power User
1 6 Enhanced/Power User - Using Token Authication
1 7 Ultra Lite - Added Character Set to Character Override
Attribute List
1 8 Enhanced/Power User - Added Character Set to
Character Override Attribute List
H(72 dec-48 hex)--Help Desk Reply A help desk reply request is sent to the client in response to the help desk request. A help desk reply request has the following format:
Offset Length Value Description
0 1 H Command
1 1 version length Server Version Length
2 version server version ASCII Server Version
length String
2 + version 2 Session ID Session ID
length
4 + version 1 Emulation Type 01 = 3270
length 02 = 5250
03 = 3287
5 + version 1 Protocol Type 01 = RUI
length 02 = TN
6 + version 1 Transport Type 01 = None (RUI)
length 02 = Network
W(87 dec-57 hex)--Update Complete A update complete request is sent to the client to update the display.
Offset Length Value Description
0 1 W Command
P(50 dec-80 hex)--Operation Mode A operation mode request is sent to the client to ???. A operation mode request has the following format:
Offset Length Value Description
0 1 P Command
0 1 Emulation Emulation Type
1 2 Reason Reason
The Emulation Type are defined as follows: 00=5250 01=?
Offset Length Value Description
0 1 display type 00 = 3278
01 = 3279
02 = 3179
03 = 3472
1 1 status 00 = Unowned
01 = SSCP
02 = LULU
2 1 default partition Default Model Size (2-5)
3 1 alternate partition Alternate Model Size
(2-5)
4 1 current partition Current Model Size (2-5)
5250 Parameters
0 1 display type 00 = 3477
01 = 3179
02 = 5151
03 = 3196
1 1 screen size 2 or 5
2 1 OC Server 0 = Other Type of Server
1 = OCServer
3 1 PTS Override 0 = No Override
1 = Pass Thru Scree Override
4 1 Monochrome 00 = Color
01 = Monochrome
3287 Parameters
0 2 Print Job Count Print Job Count
2 1 Last Printer Status Not defined yet
RUI Parameters
0 1 request LU Request LU Name
name length Length
1 requested LU requested LU Requested LU
name length name Name Length
1 + requested 1 granted LU Granted LU Name
LU name length name length Length
2 + requested granted LU granted LU Granted LU Name
LU name length name length name
2 + requested 1 RUI version RUI Version
LU name length length Length
+
granted LU name
length
3 + requested RUI version RUI version RUI Version
LU name length length
+
granted LU name
length
3 + requested 2 RUI sessionID RUI Session ID
LU name length
+
granted LU name
length +
RUI version
length
TN Parameters
0 1 terminal Terminal Type String
type (Negotiated with TN
server)
1 1 TN3270E 0 = Not 3270E, 1 =
3270E
2 1 device name Device Name Length
length
3 device name device name ASCII Device Name
length
3 + device 1 PU/LU name PU/LU Name Length
name length length
4 + device PU/LU name PU/LU name ASCII PU/LU Name
name length length
Network Parameters
0 1 requested Requested Host
host name Name Length
length
1 requested requested Requested Host
host name host name Name
length
1 + requested 1 requested Requested Port
host name port number Number Length
length length
2 + requested requested requested Requested Port
host name port number port number Number (ASCII)
length length
2 + requested 1 actual host Actual Host Name
host name name length or IP Address
length + Length
requested port
number length
3 + requested actual host actual host Actual Host Name
host name name length name or IP Address
length + (ASCII)
requested port
number length
3 + requested 1 actual port Actual Port
host name number length Number Length
length +
requested port
number length +
actual host
name length
4 + requested actual port actual port Actual Port
host name number length number Number (ASCII)
length +
requested port
number length +
actual host
name length
3270 Field Attribute
Bit
Offset Value Description
0 field state 0 = Field Unchanged
1 = Field Modified
1 reserved Reserved
2 & 3 display 00 = Display/Non-Detectable
01 = Display/Detectable
10 = Intensified
Display/Detectable
11 = Non-Display/Non-Detectable
4 alpha/numeric 0 = Alphanumeric
1 = Numeric
5 unproteced/protected 0 = Unprotected
1 = Protected
6 & 7 reserved Reserved
3270 Extended Field Attribute
0, 1 & 2 color 000 = Black
001 = Blue
010 = Red
011 = Pink
100 = Green
101 = Turquoise
110 = Yellow
111 = White
3 & 4 video 00 = Normal Video
01 = Blinking Video
10 = Reverse Video
11 = Underline Video
6 reserved Reserved
7 field 0 = Not the first position of a field
1 = Field Mark (Start of field
position)
X(88 dec-58 hex)--Start Secure Session A start secure session request is sent to the client to start a Diffie-Hellman/RC4-encrypted session. A start secure session request has the following format:
Offset Length Value Description Offset Length Value
Description
0 1 X Command 0 1 X Command
1 1 modLen Server 1 1 keyLen Session
Key
Prime Length
modulus
Length 2 1 modLen Server
Prime
2 modLen prime Prime modulus
Length
? modLen generator Generator
3 modLen prime Prime
? modLen key Server
Public Key ? modLen generator Generator
? modLen key Server
Public Key
JCP 1.7 (ultra-lite) JCP 1.2 (enhanced/power)
Y(89 dec-59 hex)--Server Key A server key is sent to the client to pass the RC4 encryption key to be used for inbound traffic. This message is encrypted with the outbound RC4 key before it is sent. server key has the following format:
Off- Len- Descrip- Off- Len- Descrip-
set gth Value tion set gth Value tion
0 1 Y Command 0 1 Y Command
1 5 key Session 1 1 key Session
Key Key
length Length
2 key key Session
length Key
JCP 1.7 (ultra-lite) JCP 1.8 (enhanced/power)
p(112 dec-70 hex)--Print Data A print data request is sent to the client to print data on the printer. A print data request has the following format:
Offset Length Value Description
0 1 p Command
1 1 command Print Subcommands
2 ? command Subcommand Params
The Print Subcommands are defined as follows: S=Start Print Job Param[0]=11-byte mode indicator: 0=normal 1=raw mode D=Set Print Density Param[0]=1-byte line density value in standard typographic points (one point=1/72 inch). Param[1]=1-byte character density value in characters per inch (CPI). E=End Print Job F=Form Feed R=Request Response-2 byte Sequence Number (HI.vertline.LO) T(84 dec-54 hex)--WebConnect Protocol Message A webconnect protocol message request is sent to the client to display a message. A webconnect protocol message request has the following format:
Offset Length Value Description
0 1 T Command
1 2 command Subcommands
3 2 message length Message Length
5 message length message Message
The Subcommands are defined as follows: 0001=GUICFG 0002=File Transfer 0003=(not defined) 0004=RTM 0005=Secure ID q(113 dec-71 hex)--Allow User Configuration State A allow user configuration state request is sent to the client to allow or disallow user configuration. A allow user configuration state request has the following format:
Offset Length Value Description
0 1 q Command
1 1 state 0 = Do not allow local configuration
1 = Allow local configuration
y(121 dec-79 hex)--I Am Here. (Are You There Response) A i am here request is sent to the client to in response to the Are You There command. A i am here request has the following format:
Offset Length Value Description
0 1 z Command
z(122 dec-7A hex)--Data Compression Enabled Informs Java client that Data Compression will be used on the current session. NOTE: Only supported on Enhanced and Power User sessions.
Offset Length Value Description
0 1 z Command
i(105 dec-69 hex)--Ping Echo (Pong) The response to an applet Ping. The Ping Echo (Pong) has the following format:
Offset Length Value Description
0 1 i Command
OTHER EMBODIMENTS Although the present invention has been described in detail, it should be understood that various changes, substitutions and alterations can be made hereto without departing from the spirit and scope of the invention as defined by the appended claims.
|
Same subclass Same class Consider this |
||||||||||
