CA1304826C - Terminal device session management protocol - Google Patents

Terminal device session management protocol

Info

Publication number
CA1304826C
CA1304826C CA000562680A CA562680A CA1304826C CA 1304826 C CA1304826 C CA 1304826C CA 000562680 A CA000562680 A CA 000562680A CA 562680 A CA562680 A CA 562680A CA 1304826 C CA1304826 C CA 1304826C
Authority
CA
Canada
Prior art keywords
terminal
session
command
session management
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA000562680A
Other languages
French (fr)
Inventor
Ram Sudama
Thomas Courtenay Porcher
Jerrold Sol Leichter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of CA1304826C publication Critical patent/CA1304826C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass

Abstract

ABSTRACT
An improved system for transferring information between a host system and a terminal system in a digital data processing system is described. The new system includes a host computer system which runs application processes and a terminal system which is connected to the host computer system over a communications link. The terminal system includes one or more virtual terminals each of which allows an operator to enter information for use by the application processes and allows output information from the processes to be displayed.
The association between a terminal device and an application process is a session. Initially, a session is selected by means of a command transferred over the communications link. There-after, information, associated with the selected session, may be transferred over the communications link. This may continue until another session is selected. Command packets may be multiplexed with the information to be transferred to control other sessions without selecting another session. The new information transfer system minimizes the amount of control information which is required to identify the particular session with which data being transmitted over the communications link is associated. This is because once a session is selected, it remains selected until another session is selected, after which the data transmitted is associated with the newly selected session. Since the amount of time control information must be sent is minimized, the amount of time available to send data is maximized.

Description

Field of the Invention -This invention relates generally to the field of digital data processing systems, and more specifically to a terminal de-vice which employs a session management protocol that allows one or more operators to selectively access and use several applica-tion processes over a single communications link.

Background of -the Invention As computers have become more sophisticated, it has become possible to run two or more programs, or application pro-cesses, concurrently on a single computer system. This capabili-ty, known as multi-tasking, or multi-programming, has been made possible by the development of large, very fast, processors that can switch between programs either at selected intervals, or when some event happens in the system, such as data transfer to or from a mass storage device, which does no-t require processor time.
More recently, networks of smaller computers have permitted slower computers to be linked together to allow the sharing of programs and data to achieve concurrent processing.
Since computer systems can run multiple application processes concurrently, their users now find it desirable to be able to frequently switch between two or more processes that are running on -the system. For instance, personnel in a manufacturing facility may want to selectively monitor and control different . - , . . .

` ~3~ 72896-3 manufacturing steps that may be controlled by -the system. Person-nel in a financial office may wan-t to access to records oE the most recent transactions, records of past -transactions, and also to send and receive electronic mail. Typically, a user's access to a compu-ter system is through a single component or virtual terminal tha-t comprises a video display keyboard combination, such as a word processing station, or a personal computer connected to the primary system.
Another advantage of a computer system's ability to run a number of application processes concurren-tly is that it has become possible to connect a component to the system which may have selective access to all of the processes running on the sys-; tem. For instance, it may be desirable to connect to the system an intelligent printer which can select the order of printing among a number of print requests presen-ted to it. Alternatively, a master processor may be connected to the system to monitor the processes running on a number of slave processors so as to control all the processes running on the system~
The processor units, terminals and other components of many computer systems are often connected together ~y a single communications link. Typically, these components are connected to each other by a common bus. Connecting components in this manner minimizes the number of input/output ports that each component has to be provided with, and also reduces the number of communications '` :`' ' . :
.,. ~

13~J4~3~6 7289~-3 links needed to connect all the components together.
Frequently there is a need to provide the vir-tual termi nals that are part of a computer system with a means to rapidly access the programs running on the system. This access function, or switching capability enables the virtual terminal's user to selectively monitor the processes and specifically receive processed data there-from, and to transmit information in the form of data to be processed, or commands for processing the data to the process being monitored. Typically, a switching protocol is provided so information may be selectively transmitted or received from the different processes running on the system over the single communications link to and from the terminal device.
Currently, many computer systems use a packet-switching protocol wherein packets of information are sent to and from the terminal and other components that are part of the computer system. Each packet comprises a header field followed by an information field. The header field contains control information such as address information which identifies the intended recipi-ent of information contained in -the information field. For example, a user may have a virtual terminal set to observe, or "window" two programs operating on a system. Header fields in packets, transmitted from the system to the virtual terminal insure the displayed window contains data from the program being monitored in that window. In transmissions from the virtual _ ~ _ ,, ~3Q~6 terminal, the header fields identify the application processes to which the information is directed, and if necessary, the processor on which the process is running. Packet switching, thus, makes it possible to transmit information regarding multiple application processes over a single communications link.
However, there are limitations associated with packet switching. In each packet the information field must be preceded by a header field, and so the time required to transmit the header fields reduces the amount of time during which information, whether data or program commands may be transmitted over the com-munications link. Moreover, the virtual terminals and the other system components must spend time generating header fields for transmi-tted packets, decoding header fields of received packets, and directing the flow of the information in the packets to the in-tended recipient.

Summary of the Invention The invention provides a new and improved system for transferring information betweén a host system and a terminal system in a digital data processing system.
In brief summary, a digital data processing system includes a host computer system which runs application processes and a terminal system which is connected to the host computer . ~.. ..
:, ~
.,~. - - ;' ,~ .

~3~B~6 system over a communications link. The terminal system lncludes one or more virtual termlnals each of which allows an operator to enter inorma-tion for use by the application processes and allows output information from the processes to be displayed. The asso-ciation between a terminal device and an application process is a session. Initially, a session is selected by means of a command transferred over the communications link. Thereafter, informa-tion, associated with the selected session, may be transferred over the communications link. This may continue until another session is selected. Command packets may be multiple~ed with the information to be transferred to control other sessions without selecting another session.
The new information transfer system minimizes the amount of control information which is required to identify the particu-lar session with which data being transmitted over the communica-tions link is associated. This is because once a session is selected, it remains selected until another session is selected, after which the data transmitted is associated with the newly selected session. Since the amount of time control information must be sent is minimized, the amount of time available to send data is maximized.
According to one aspect of the invention, there is pro~
vided a session management link for interconnecting a host system having at least one application process to a terminal system ~3~ 72896-3 having at least one virtual terminal, thereby to effect the trans-mission oE information between a se].ected virtual -terminal ancl a selected application process, said link including: A. communica-tions link means between said host and terminal systems for trans-ferring information therebetween; B. host system session manage-ment Eacility means connected between said application processes and said communications link for transmitting information from said application processes over said communications link, and for generating a plurality of terminal session managemen-t commands and transmitting said terminal session management commands over sald communications link, one type of said terminal session management commancl comprising a terminal select session command, each said -terminal select session commands identifying a selected inter-connection to a virtual terminal; and C. terminal system session management facility means connected between said communications link and said virtual terminals Eor receiving said information and said terminal session management commands transmitted from host system session management facility over said communications link, and continually directing to the selected virtual terminal all said information sent after a terminal select session command is received until a next different terminal select session command is received, so that a single terminal select session command directs all of said following information received by said terminal system session management facility means to the selected virtual terminal . " , ,;
.

' '' :. :

~3~4~

until said next different terminal select session command for directing said information to a difEerent se:Lected virtual termin~
al is received.
According to another aspect, the invention provides a method of establishing a session management communications link for interconnecting a host system having at least one application process to a terminal system having at least one virtual terminal, the host system and terminal system connected by a communications link extending therebetween, whereby exchange of information is effected between a selected application process and a selected virtual terminal, said method including the steps oE: transmit-ting information from the application processes over the communi-cations link by means of a host system session management facility connected between the application processes and the communications link; transmitting terminal session management commands over the communications link from said host s~stem session management faci-lity, one of said terminal session management commands comprising a terminal select session command, each said terminal select ~ session command identifying a selected interconnection to a 20 virtual terminal, receiving said information and terminal session select session command from said communications link by means of a terminal system session management facility connected between the communications link and the virtual -terminal, and said -terminal select session command continually directing all of the ~ 72896-3 information received following a terminal select session command to the selec-ted virtual terminal, until a next different terminal select session command is received, so that a single terminal select session command directs all of the following information to said selected virtual ter~inal until said next different terminal select session command for directing said inEorma-tion to a different selected virtual terminal is received.

Brief Description of the Drawings The invention is pointed out with particularity in the appended claims. The above and further advantages of -this inven-tion may be better unders-tood by references to the description taken in conjunction with -the accompanying drawings, in which:
Figure 1 is a general block diagram of a session manage-ment system implemented in accordance with this invention.
Figure 2 is a diagram depicting the structure of the information transmitted between the host and terminal systems in accordance with this protocol.
Figures 3 through 8 comprise diagrams depicting transfer `~ of several of the commands transmi-tted between the systems depicted in Fig. 1, in accordance with this protocol.
Figure 9 is a diagram depicting the byte structure of data in which stuffing has occurred in transmission of information between systems in accordance with this pro-tocol.

~ ~ .. , -i; ': .

~3~ 72896-3 Detailed Description of the Preferred Embodiments Figure 1 depicts a system 10 compri.sing a host system 12 linked to a terminal system 14 by a single bi-directionaL communi-cations link 16 such as a physical circuit. Both the hos-t system 12 and terminal systems 14 have a communications facility 18 to encode and decode signals transmit-ted and received over the com-munications link 16. The communications facilities 18 may perform such functions as serializing parallel signals for transmission over the communications link 16, and formatting serial signals received over the communications in-to a parallel format.
The host system 12 represents a computer system on which one or more programs, or application processes, 20, 22, and 24, may be concurrently running. The terminal system 14 includes one or more video terminals, or other terminal components represented by virtual terminals 26, 28, and 30~ The virtual terminals 26, 28, and 30 may each selectively communicate with one or more application processes running on the host computer system 12. The application process-virtual terminal communication is over the communications link 16, which only allows a single information stream to be transferred in each direction between the host system 12 and the terminal system 14.
The communications link 16 typically allows two-way communication, thus both the host system 12 and -terminal system 14 .

~L3a~
72~96-3 may constitute a transmitter or a receiver. If information is sent from an application process 20, 22, or 24 to a virtual termi-nal 26, 28, or 30, the host system 12 will operate in a kransmit ting mode and the terminal system 14 will operate in a receiving mode. If the flow of information is in the opposite direction, then so are the operating modes of the host system 12 and terminal system 14. Thus, throughout this description and the application o-f the protocol, either the host or terminal system 12, 14 will function as the transmitting system, and the other system will be the receiving system. In a typical environment the communications link 16 is fully duplexed so both the host system 12 and the terminal system 14 can transmit and receive information at the same time.
Using a terminal devi.ce session management protocol described herein the host system 12 and terminal system 14 select-ively transmit information between the application processes 20, 22, 24 and the virtual terminals 26, 28, 30 over the communica-tions link 16. For example, virtual terminal 28 may be a video terminal used to monitor application processes 22 and 24. Using the session management protocol, the terminal user may select the process 22 or 24 with which it exchanges information. Alter-~; natively, virtual terminal 30 may be an intelligent printer which accepts print requests from all the application processes 20, 22, and 24, establishes a priority for them, and prin-ts the print ` ~ - . ' .
.

,.~ .

~3~ 6 72896-3 request with the highest priority.
Session management Eacilities 32 and 34 which are each part of the host system 12 and terminal system 14 respectively, control the flow of informatlon between -the application processes 20, 22, 24 and the virtual terminals 26, 28, 30 in accordance with the session management protocol. The host system session manage-ment facility 32 maintains a mapping of the relationships, called sessions, between the application processes 20, 22, 24 and the virtual terminals 26, 28, 30. When information is sent from one of the virtual terminals to one of the application processes, the facility 32 identifies a session and transfers the appropriate application process 20, 22, or 26. The terminal system session management facility 34 maintains a similar set of mappings for when information is sent from one of the application processes 26, 28, or 30 to one of the virtual terminals 20, 22, or 24. As will be discussed hereinafter, the system transmitting information selects a specific session to be active depending on where it wants the information directed. Selecting a session is, in effect, accessing a component through time division multiplexing with random accessing so information will be directed to it until another component is selected.
-~After a session has been selected, flow control is used ~;to insure that the receiving system's capacity -to buffer informa-tion is not exceeded by the transmitting system's ability to send '' ~

~3(~82~

it. The system that is receiving the information forwards a selected number of transmit credits to the system that is sending the information. The number of transmi-t credits are representa-tive of the amount of information the receiving system can accept.
As the transmitting system forwards -the information, it reduces the number of transmit credits avaiLable. When the number of -transmit credits is reduced to a selected value, the transmitting system stops forwarding information until it receives additional transmit credits from the receiving system. This insures that the transmitting system never sends more information than the receiv-ing system can accept. This transmission credit scheme is bi-directional, that is transmi-t credits can be sent in two direc-tions and the rate of Elow of information in one direction is independent of the rate of flow of information in the opposite direction.
Figure 2 depicts the format of information sent over the communications link 16 after communications have been es-tablished.
The information includes data fields 42 with command fields 43 in-terspersed therebetween. The data fields 42 comprise the infor-mation transmitted between -the virtual terminals 26, 28, 30 and the application processes 20, 22, 24. All information relating to the application processes on the host system 12, including actual data and program commands, is transferred over the communications link 16 in the data fields 42.

~3~41~6 72896-3 The command fields 43 contain protoco] information need-ed to operate -the session management in accordance wi-th this pro-tocol. The protocol informa-tion includes, for example, -the com-mands used to initiate and select a session and ex-tend transmit credits, all of which will be discussed in more detail herein-after. The command fields 44 are inserted into the information stream by -the session managemen-t facili-ty 38 or 40 transmitting them. The command fields 44 are removed by -the receiving session management facility 40 or 38 prior to its coupling the con-tents of the data fields 42 to the receiving virtual terminal 26, 28, or 30 or application process 20, 22, or 24.
A command introducer field 45 is the first command field 43. This field is sent to the receiving session management facil-ity 32 or 34 to indicate the start of a protocol command. Follow-ing the command introducer field 45 is an operation code field 46 which identifies the protocol command being sent. One or more parameter fields 47a,b,..., (generally identified by reference number 47,) may follow the command operation code field 46. The parameter fields 47 contain information necessary to execute the command. A command terminator field 48 is the last oE the command fields 43. The command terminator field 48 indicates to the re-ceiving session management facility 32 or 34 that the transmission of the current protocol command has been completed, and subsequent information will comprise either an additional pro-tocol command, ~3~4~3~6 or information that should be coupled to the receiving application process 20, 22, or 24 or virtual terminal 26, 28, or 30.
With this background, the operation of the session management protocol will now be described in more detail. Between each application process 20, 22, 24 and the host session manage-ment facility 32, there is a presentation data syntax Eacility 38 and between each -terminal device 26, 28, ~2 and the terminal session management -facili.ty 34, there is a presentation data syntax facility 40. The presentation data syntax facilities 38 and 40 encode and decode information that is transmitted through them between the session management facility 32 or 34 and the associated application processes 20, 22, 24 or virtual terminals 26, 28, 30. Inform~ltion i9 initially transmitted to the session management facility through the presentation data syntax facility 38 or 40, wherein it is encoded into a format recognizable by the session management facility. The transmitting session management facility forwards the encoded information over the communication link 16 to the receiving session management facility. The receiv-iny session management facility then forwards the information to the receiving presentation data syntax facility wherein it is decoded into its original format recognizable by the receiving application process 20, 22, 24 or virtual terminal 26, 28, 30.
In one embodiment of the invention, the presentation data syntax facilities 38 and 40 format the information according ~1 . .

. , .

;.
!.

13~

to a "column/row" syntax defined by ANSI standard 3.4. Characters are identi-fied by the individual elements of a 16 row by 16 column bit array. The elements of the array are defined by their column and row location. The columns and rows are both numbered 0-15 so the first element in the array is 0/0 and the last is 15/15. For example, a character in columns 2 and row 3 would be identified as 2/3. The format for any character can be determined by multiply-ing the column value by shifts left by 4 and adding the row.
Thus, the character 2/3 would have the syntax code of 35 = (2x16) +3, and would be transmitted in binary as 00100011. This syn-tax allows 256 different characters to be transmitted between the systems.
When the session management protocol has been imple-men-ted between the host and terminal systems 12, 14, all the information that passes between the applications processes 20, 22, 24 and the virtual terminals 26, 28, 30 over the communications link 16 is in this format regardless of whether the protocol is in an OFF state, or the active protocol, ENABLED, that controls the flow of information over the communications link.
In accordance with the session management protocol, host system 12 and terminal system 14 may each be in one of four poss-ible states; namely:
1 ) OFFo In this state, the session management proto-col is not used to control the flow of information between the .~

~3~4826 72896-3 host system 12 and terminal system 14. Other protocols may be used to control the flow of information between the application processes 20, 22, 24 and the virtual terminals 26, 28, 30 over the communications link 16.
2) PENDING. In this state, the sesslon managemen-t protocol is used to control the communication link 16. However, the only commands the host system 12 and terminal systems 14 will recognize and act on are ENABLE, DISABLE, and REPORT_~ESSION, each of which will be discussed hereinafter.
3) ENABLED, INACTIVE. In this state, the flow of information over the communication link 16 is controlled by the session management facilities 32, 34 in accordance with the ses-sion management protocol. However, the transmitting system has not selected a session to receive transmitted information. Since no session has been selected, the receiving system will discard all information sent until one is selected.
4) EMABLED, ACTIVE. In this state, the flow o ; information over the communications link 16 is controlled in accordance with the session management protocol. The information is sent from the transmitting system over the communications link ~; 16 and is directed by the session management facility 34 or 32 in the receiving system to the appropriate application process 20, 22, 24 or virtual terminal 26, 28, 30.
The transition out of the OFF state is through the ~ 16 -:~3 .

~3~ 6 P~NDING state. Transitions into and out of the OFF state are enabled by local requests originating from within host system 12 or to terminal system 14. Alternatively, the host system 12 or terminal system 14 may request -the other system to execute such a transi-tion. This insures that a system requested to operate session management in accordance with this protocol is not forced to do so unless its user desires such operation.
Transitions from the PENDING to the ENABLED, I~ACTIVE
state occur as a result of requests transmitted over the communications link 16. The host system 12 usually initiates this transition by transmitting an ENABLE command to the terminal system 14 to start an enabling sequence, discussed in detail hereinafter. Normally, the terminal system 14 is not used to initiate an enabling sequence. However, the -terminal system usually has the capability of expressly initiating this transition.
After the session management protocol passes into the ENABLED, INACTIVE state, sessions can be opened, and one open session selected to receive information in later transmitted data field. Once a session has been selected, the session management facilities 32, 34 are both in the ENABLED, ACTIVE state with re-spect to this protocol, and information in the form of the data fields 42 will be transferred between the application processes 20, 22, 24 and the virtual terminals 26, 28, 30 in accordance with ,~

..

~3~826 72896-3 this protocol.
Sessions may be selected in either a blocking or a non-blocking mode. In the blocking mode, the same session is selected in both directions over the communications link 16. In other words, the application process 20, 22, 24 that transmits informa-tion to a virtual terminal 26, 28, 30 also receives information -from the same application process.
In the non-blocking mode, sessions do not have to be the same. The information travelling in opposite directions over the communications link 16 can be transmitted between different application processes 20, 22, 24 and virtual terminals 26, 28, 30.
Also, this allows options such as the transmission of the same information from an application process 20, 22, or 24 to multiple ; virtual terminals 26, 28, 30 and transmission of a information in the opposite direction from only one virtual terminal back -to the application process. Generally, whether the session management protocol is operated in the blocking or non-blocking mode is a ~; function of the capabilities of the host systems 12 and terminal systems 14 to control multiple active processes.
A more complete understanding of the session management protocol may be gained by reference to Figs. 3-8 which depict the specific protocol commands that are transmitted between the sess ion management facilities 32, 34 to control the flow of information between the host system 12 and terminal system 14.

'.~' ~3~ 72896-3 Figure 3 illustrates the sequence oE commands used to transfer from the OFF state 70 to the ENABLED, INACTIVE state 32.
Both the host system 12 and the terminal system 14 are initially in the OFF state 70 and passes in-to a PENDING state 72 in response to a local request. I'he host system session managemen-t faci:Lity 32 may make this transition in response to a request from one of the application processes 20, 22, or 24, or automatically in response to the activation of the terminal system 14. The termin-al system session management acility 3~ may only make this tran-sition in response to a specific command from one of the virtual terminals 26, 28, 30. If one of the virtual terminals is a video display, the request may come from a command the user manually enters through the keyboard 26, 28, or 30.
After host system 12 and terminal system 14 are both in the PENDING state 72, the host system 12 may initiate the enabling sequence by transmitting an initiating ENABLE command 74. The terminal system 14 responds with an acknowledging ENABLE command 78, that includes an Enable State parameter, in one oE the para-meter :Eields 47, (Fig. 2,) indicating it is not currently in the ENABLE state. The host system responds to the second EI~ABLE 78 with a REPORT SESSION command 80 with a Status parameter, in one oE -the parameter fields 47, indicating whether or not it can support the specific version of the session management protocol the terminal system is using. Both systems then pass into the -- 19 ~
.~

~3~
ENABLED, INACTIVE state 82.
During this exchange both systems transmit Version Number and Session Limit parameters, in the parame-ter Eields 47, (Fig. 2,) following the Enable State parameters. The Version Number parameter indicates which version of the protocol the transmitting system 12 or 14 has. The Session Limit parameter indicates the maximum number o-f sessions it can concurrently support.
After the host system 12 and terminal system 14 are in the ENABLED, INACTIVE sta-te 82 with respect to this protocol, individual sessions 86a, b...n can be established, or opened, and one of the open sessions 86a, b...n selected as the one through which data fields 42 are sent, as is illustrated by Figure 4.
Either the host system 12 or terminal system 14 may open a session 86a, b...or n by sending an OPEN_SESSION command 84 to the other.
A Session ID parameter, in parameter fields 47, (Fig. 2,) is sen-t with each OPEN_SESSION command to identify the session opened.
~he receiving system will then respond to the OPEN_SESSIO~ command 8~ with a REPORT_SESSION 80 indicating whether or not the session 86a,b,...n was successfully opened.
If -the OPEN_SESSION command 84 was sent to a receiving ~` system which has more than one application process 20, 22, 24 or with more than one virtual terminal 26, 28, 30, an Application Name parameter, and a Session Management parame-ter may be sent .

-.

~L3~

with the command in the parameter fields ~7, (E'ig. 2,) following the Session ID parameter. These parameters are used by the session management facility 32 or 34 receiving the OPEN_SESSION
command 84 to assign the session to the appropriate application process 20, 22, or 24, or virtual terminal 26, 28, or 30 and are not part of this invention. If these parameters are not sent with the OPEN_SESSION command 84, the receiving session management facility 32 or 34 should have means for automatically assigning the sessions 85 so the information is directed to the appropriate destination.
After one or more sessions 86 have been opened, one may be selected to be active over the communications link 16. If the link is ully duplexed, and the session management facilities 32, 34 can operate in the non-blocking mode, different sessions can be selected in each direction along the link. The system that has information to transmit to a session 86a,b,...n initiates the selection process by transmitting a SELECT_SESSION command 88. A
Session ID parameter identifying -the session selected to be active is sent with this command in -the parameter fields 47, (Fig. 2.) AEter the system receiving the SELECT_SESSION command 88 has completed the session selection process, it sends a REPORT SESSION
command 80 to the transmitting system. After a session 86a,b...n has been selected to receive a character the systems are said to be in the ENABLED, ACTIVE state 89. The selected open session :~ .

L~ ..

: ~3~4~ 72896-3 stays active until another one is selected.
In order to forward data Eields 42 between the host system 12 and the terminal system 14 in accordance with this protocol, the transmitting system the data fields must first receive transmit credi-ts 92a,b...n from the receiving system.
When a session is 86a,b,...n is first opened there are zero transmit credits. The receiving system sends an ADD_CREDIq' command 94 to the transmitting system, as represented in Fig. 5, indicating the amount of buffer capacity it has available to store transmitted information. Transmitted with the ADD_CREDIT command 94, in the parameter fields 47, (Fig. 2, ) is a Session ID para-meter for identifying the session 86a,b,...n, and a Transmit Credit parameter 93 that indicates the amount of storage capacity for that session. ~o response is required for this command and the transmitting system may send information, in data fields 42 (Fig. 2), as soon as it receives the credits 92.
In one embodiment of the invention, the transmit credits 92a,b,...or n are representative of the number of bytes of infor-mation the system receiving the data fields 42 can buffer. For each byte of data transmitted in data field 42, the transmitting system deducts one from the transmit credits 92 available in a storage location within its session management facility, for that session which were provided by the received ADD_CREDIT message.
At any time, the receiving system can send additional ' ~3~4~ 72896-3 transmit credits 92 to the transmitting session by transmi-tting additional ADD_CREDIT commands 94. The transmission of the addi-tional ADD CREDIT commands 94 by a system does not interrupt its reception of data fields 42 tha-t has been transmitted to it. ~he system receiving an ADD CREDIT command 94 adds the additional transmit credits 92 received to those previously already in -the storage location for that particular session.
It will be appreciated that if either the host system 12 or terminal system 14 receiving data fields 42 wait until the system transmitting it has zero available transmit credits 92a,b,...n, the Elow of data -fields 42 would be "stuttered"
since the transmitting system waits until the receiving system has sent credits before restarting the flow of information. This may be an undesirable conduction, and thus in order to avoid it is recommended the receiving system send transmit credits 92 before the transmi-tting system's stored credits reach a set minimum amount.
Moreover, some systems may transmit data fields 42 by the buffer, and will not forward the contents of a partially full buffer if it cannot forward its entire contents. Thus, it is recommended that a minimum number of transmit credits 92a,b,...n be whenever information is to be received and an ADD_CREDIT com mand 94 ent.
If the system transmitting information has more ~3~ 72896-3 information to send than available transmission credits 92a,b...or n, or if an ADD_CREDIT command 94 is garbled, such as may happen if either the Transmit Credit or Session ID parameters are lost, the transmitting system may send a VERIE`Y_CREDIT command 100 with a Session ID parameter in the parameter fields 47, (Fig. 2,) identifying the specific session that needs resynchronization of transmit credits. The receiving system responds by sending a ZERO_CREDIT command 102 with a Session ID parameter in the para~
meter fields 47 for that session. This command zeros the available transmit credits 92a,b...n the transmitting system has in storage. The transmitting system responds with a REPORT_ ; SESSION command 80. After the REPORT_SESSION is received, the receiving system 14 or 12 can again send transmit credits 92a,b,...n by way of additional ADD_CREDIT commands 94. As soon as the transmitting system receives the transmit credits 92a,b,...n, it may start to transmit information in data fields 42 ; again.
Session managemen-t in accordance with the protocol also provides a means for the warm restart of either the host system 12 or the terminal system 14 if one of them has lost session manage-ment information. This may occur when the system is temporarily disabled, such as may happen due to a power failure or operator error. As illustrated by Fig. 6, the "cold" system that lost information, and is in the PENDING state 72, initiates the process by sending an ENABLE command 74 to the warm system in order to - ~3~4~3~6 ini-tiate the enabling process. The second, "warm", system re-sponds with a second, acknowledging, ENABLE command 78 with an Enable State parameter indicating that i-t was already in the ENABLE, INACTIVE state 82. The cold system responds to the Second EN~BLE command 78 by transEerring into the ENABLED, INACTIVE sta-te 82 and transmitting a RESTORE SESSION command 104 requesting -that -the warm system initialize the restore sequence. The warm system acknowledges this command with a REPORT_SESSION command 80.
The warm system starts the restore sequence with a BEGIN-RESTORE command 106 that signals the initiation of the restore sequence. The cold system responds with a REPORT_SESSION
command 80. After the RESTORE_SESSION is received, the warm system responds with an open session sequence for each existing session 86. The warm system will also transmit a SELECT_SESSION
command 88 in order to start transmitting data fields 42 to a selected application process 20, 22, or 2~, or virtual terminal 26, 28, 30. After the cold system h~s completed to the select session process, and transmitted a REPORT SESSION command 80 as disclosed in the description of the select session process, the warm system will send an END_RESTORE command 108 indicating the completion of the restoration process. The restored system acknowledges the END_RESTORE command 108 with a REPORT_SESSION
command. After the restoration is complete, the restored system 12 or 14 may transmit a SELECT_SESSION command 88 -for the session . ~

. :
' ' ~ .

13~ 72896-3 it will be active to transmit toO Thus at the end of the restore sessions sequence both systems 12, 14 are in the E~ABLED, ACTIVE
state 89.
A RESET SESSION command 110, and an INQUIRE_SESSION
command are also provided as illustrated by Fig. 7. The RESET_ SESSION command 110 is used to direct the receiving system to flush all existing bufEers and zero the available -transmit credlts 92a, b,...n for either a specific session 86a,b...n or all sessions, depending on the Session ID parameter transmitted with the command in the parameter fields 47, (Fig. 2.) Also, the transmit credits 92 will be zeroed and bufers flushed for either the selected session 86a,b,...n, or all open sessions. This command may be used to reset the session management connections between the host system 12 and the terminal system 14 without having -to close and reopen the existing open sessions. It may be used, for example, when the physical link forming the communica-tions link 16 is temporarily broken and then reestablished, and the information in the buffers is no longer relevant to the cur-rent flow of informatîon between the application processes 20, 22, 24 and the virtual terminals 26, 28, 30. A Session ID parameter is transmitted in the parameter Eields 47 with this command to identify the session 86a,b,...or n to be reset. After a system has completed the reset session process, it transmits a REPORT_ SESSION command 80.

13~

The INQUIRE_STAT~S command 112 is used to prompt the receiving system to send a REPORT_SESSION command 80 indicating whether a particular session 86a,b,...n i9 open.
The protocol provides a CLOSE_SESSION command 114 to close a session 86a,bt...n, as is illustrated by Figure 8. A
Session ID parameter, in the parameter Eields 47, (Fig. 2,) is transmitted wi-th this command 114 to indicate which session 96a,b.~.n is being closed. A Reason Code parameter is transmitted with this command, in the parameter fields 47 af-ter the Session ID
parameter, to indica-te the reason the session is being closed. If the session is being closed as a resul-t of a normal operation, the system receiving the command can discard all session information.
Alternatively, if a session is terminated abnormally, such as, for example, by a power failure, the system receiving the command saves the session information, including the mappings and the available transmit credit, since there may be a later attempt to reactivate the session. After the receiving system performs the close session process, it transmits a REPORT_SESSIO~ command 80.
A DIS~BLE command 116 is used to terminate use of -the protocol. A pre-set, constant Disable parame-ter is sent with this command 116, in the parameter fields 47, (Fig. 2,) to minimize the possibility another command or signal will be misinterpreted as a command to terminate operation under the protocol. After the system receiving the DISABLE command 116 has completed the ...
''' ' : "

: ~ . ,.

~3a4~6 72896-3 disabling process, it transmits a REPORT_SESSION command 80.
After the transmi-tting system receives the REPORT_SESSION command 80, it will transfer into the OFF state 70 Af-ter the receiving system, the one th~t received the DISABLE command 116, transmits the REPORT_SESSION command 116, it will enter the OFF state 70.
It is apparent that the REPORT_SESSION command 80 is used in a number of situations as in acknowledgemen-t to verify that other commands have been properly received by receiving system. In addition to a specific operation code field 46, each REPORT SESSION command 80 incudes Command Code, Session ID, and Status parameters in parameter fields 47, (Fig. 2). The Command Code parameter identi-fies the specific command the REPORT SESSION
is being sent in response to, and the Session ID identifies the session 86a,b,...or n the command was sent in reference to. The Status parameter indicates if the operation required by the command was successfully completed, why the command cannot be completed, or the status of a particular session.
Both the host system 12 and the transmitting .system 14 generally wait until a REPORT_SESSION command 80 is received indicating successful execution of its previously-transmitted command, before they will take further action. This insures that transmitting system does not take unilateral ac-tion after a command is sent that the receiving system is not ready for. An exception is that REPORT_SESSION commands 80 are not sent in :~L3~ 728g6-3 response to ADD CREDIT commands 94 since the continued transmission of the data fields ~2 Eunctions as an acknowledyement that the transmit credi-ts 92a,b,...or n have been received.
In accordance with this protocol, each session manage-ment Eacility 32, 34 is set to e~pect a small delay between the time a command is sent and a REPORT_SESSION command 80 is receiv-ed. This is -to account for normal line and processing delays.
However, i~ a REPORT_SESSION is not received, or indicates the command was not successfully executed, the transmitting session management facility 32 or 34 retransmits the command a number of times, so that any momentary line or processing errors which occur are not misinterpreted as a breakdown of the session management connection between the host system 12 and terminal system 14. In one embodiment Inost commands are retransmitted up to three times if no response is received. On the other hand, if no responsive REPORT SESSION command 80 is received within 10 seconds of the time o the first transmission, or i~ the response indicates the command cannot be executed, -the situation will be classified as a breakdown of the session management connection. The session management facilities 32, 34 will then take appropriate action, or display the appropriate indication, in accordance with another protocol, not part of this invention.
In addition to the commands sent between the session management facilities 32 and 34, each ~acility must maintain -r~

.
. . ~.

~3~ 72896-3 protocol state information. TABLE 3 lists the state information that is maintained by each session management facility 32 and 34 for the protocol, and TABLE 4 lists the state in~ormation that is maintained for each open session. The state information is used by the session management facilities 32 and 34 to control and direc-t the flow of information in the data fiel.ds 42 between the application processes 20, 22, 24 and the virtual terminals 26, 28, 30.

~3~4t~%6 Table 3. Session Management Protocol State Information STATE INFORMATION CONTENT

RECEIVED_COMMAND BUFFER To s-tore received commands while previously received commands are processed.
The size oE the buffer is a function of the speed of command execution.

ENABLE_STATUS Representative of the protocol's status within the system.

ACTIVE_TRANSMIT_SESSION Identifies the session the system currently is transmitting a character stream to.

ACTIVE_RECEIVE_SESSION Identifies the session the system curren-tly is re-ceiving a character stream from.

LAST_COMMAND_SENT Indication of the last command ` transmitted by the session management facility. This is used for the purpose of receipt verification, time-out, and retransmissionO

.

13~ 6 72896-3 Table 4. Open Session State Information ___ STATE INFORMATION CONTENT

SESSION ID Session Identifier OPEN STATUS Indicates session status.

SESSION_NAME Name of session. This array may be empty depending on the contents of the OPEN_SESSION
Session Name parameter.

SESSION_APPLICATION Application of session.
This array may be empty depending on -the contents of the OPEN SESSION Name parameter.

TRANSMISSION_CREDIT A cumulative value indica-; ting the number of characters which the system may transmit for the session. This value is incremented when trans-mission credits are received, decremented when a character is transmi-tted; and set to zero when a ZERO CREDIT command is received.
;

RECEIVE_CREDIT A cumulative value indicating the amount of receiver buffer space currently available which has been extended as trans-mission credits. The value ` should be initialized to zero when the session is opened, incremented when -transmission credits are sent; decremented when characters are received;
and set to zero when a REPORT_ : ' ~3~ 72896-3 SESSIO~ response is received in response to a ZERO_CR~EDIT
command.
RECEIVE_DATA BUFFER A buffer to accept received data characters. Trans-mission credits are extended based on the size of this buffer. Ideally, it should be twice the size of the maximum value for RECEIVE
CREDIT to allow for possible data coverage.

LAST_COMMA~D_SENT An indication of the last command transmitted for this session. This code is used for the purpose oE receipt verification, time-out, and retransmission.

As previously described, the command introducer field 45 serves as a flag so the receiving session management facility 32 or 34 can detect the start of a protocol command. This feature is u~ed when the session management protocol is contained in accordance with ENABLED, ACTIVE state 89 and either data fields 42 or command fields 44 may be transmitted over the communications link 16.
When the session management pro-tocol is in the E~ABLED, ACTIVE state 89, if the information transmitted in one of the data fields 42 is identical to the command introducer field 45, the session management facilities 32, 34 "byte stuEf" the data fields prior to their transmission over the communications link 16, as depicted in Fig. 9. This prevents information that is being transmitted bet~een the application processes 20, 22, 24 and the L~ .

. , - .
.. .

il3~
~2896-3 virtual terminals 26, 28, 30 from being misinterpreted as protocol commands. Byte stuffing occurs when information in a data field 42q ifi identical to the command introducer field 45 and is trans-mitted between the host system 12 and the terminal system 14. The transmitting session management facility inserts, or stuffs, a flag Eield 142 immediately after the data Eield 42q, and both are transmitted over the communications link 16.
The flag field 142 signals the receiving session manage-ment facility 34 or 32 that the preceding field 42q was a part of the information transmitted in the data fields 42 between the host system 12 and the -terminal system 14, and not a command introducer field 45. The receiving session management facility removes the flag field 142 prior to forwarding the information to the receiv-ing presen-tation data syntax facility 40 or 38. 'rhe removal of the field 142 insures that the receiving virtual terminal 26, 28, or 30, or application process 20, 22, or 24, is presented with information that is identical to that transmitted to it.
'rhere are a number of advantages to providing session management between a host system 12 and a terminal system 14 in accordance with this protocol. After a session 86a,b...n has been open and selected, the transmitting session management facility does not send any other protocol commands to the receiving facili-ty. Information may be continuously sent in the data fields 42, and their -transmission not interrupted by the transmission of command fields 44. This increases the time available for trans-mission of information between the host systems 12 and the .~

.~3~4~6 terminal system 14.
The use of the transmit credits 92 contributes to the efficiency oE session management according to this protocol. The extending of transmit credits insures that neither the host system 12 or the terminal system 14 transmit information more rapidly than the receiving system can receive buffer and use it. More-over, ADD_CREDIT commands 94 are not acknowledged. There is no need to interrupt the transmission of information in the data fields 42 to respond to receipt of AD~_ CREDIT commands g4. Thus, the fields 42 to synchronize their transmission in accordance with this protocol is eliminated.
Moreover, since the session management commands each are preceded by a command introducer field 45, so none of the informa-tion transmitted in the data fields 42 between -the hos-t system 12 and the -terminal system 14 can be misinterpreted by the session management facilities 32 and 34 as protocol commands. If informa-tion similar to the command introducer field 45 is transmitted between the host system 12 and terminal system 14, the transmit-. ting session management protocol facility will recognize it as such and stuff a flag field 142 behind it the receiving session i management facility 34 or 32 will recogni~e the flag Eield and : unstuff it before the information reaches the recipient applica-tion process 20, 22, 24 or virtual terminal 20, 22, 24. Thus, the transmission o~ information in accordance with this protocol allows all forms of information to pass between the application processes 20, 22, 24 and the virtual terminals 26, 28, 30 over the ~3~8~ 72896-3 communications link 16. This includes the transmission o~ data to and from application processes 20, 22, 24 on the host system 12, and the transmission oE command instructions used to control the application processes.
Synchronization of session management connec-tion between the host system 12 and the terminal system 14 is malntained, in part, by use of the REPORT_SESSIO~ command 80, that is part oE
this protocol. This is because neither the host system 12 nor the terminal system 14 will take action until it receives a response indicating tha-t the other system is ready for the action. For instance, after selecting a session, a transmitting system will not start transmitting data fields 42 until it receives a REPORT
SESSION command 80 indicating that the receiving system can accept them. This insures neither system will take unilateral action that could result in the loss or erroneous transmission of infor-mation.
Another advantage of session management in accordance with this protocol is the capability o-f restoring session manage-; ment through the restore sessions process. This insures rapid recovery if either the host system 12 or terminal system 14 break-down and lose session management information. Also, the RESET
SESSION command 110 makes it possible to rapidly resynchronize session management between the host system 12 and the terminal system 14 if session management information is lost for just one, or all of, the sessions 86.
Moreover, it is relatively economical to implement ` ~3~ 6 72896-3 session management control between a host system 12 and a terminal systems 14 in accordance with this protocol. I-t ma~ be used with any connected host system and terminal 14 that have relatively modest processing capabilities.
I-t is understood that this description is for the pur-pose of illustration only. Certain changes may be made in the above application without departing from the scope of the inven-tion. For example, at a minimum, the protocol could be implement-ed in a situation where it responds to all commands and one system can only transmit SELECT_SESSION, ADD_CREDIT, ~RO_CRE~IT, and VERIFY_CREDIT commands.
Moreover, the host system l2 and the terminal system 14 do not have to always include the specific components and operat-ing sub-systems as described. One or more of -the application processes 20, 22, 24 on the host system 12 may be a terminal device, and one or more of the virtual terminals 26, 28 30 on the terminal system 14 may be an application process or other automat-~;; ed or semi-automated component.
Alternatively, some versions of the protocol there may have an alternate scheme to insure data transparency. Therefore, it is intended that all matter contained in the above description ~;; or shown in the accompanying drawings be interpreted as illustra-tive and not in a limiting sense. It is also understood that the following claims are intended to cover all of the generic and specific features of the invention herein described.

,

Claims (23)

1. A session management link for interconnecting a host system having at least one application process to a terminal system having at least one virtual terminal, thereby to effect the transmission of information between a selected virtual terminal and a selected application process, said link including: A.
communications link means between said host and terminal systems for transferring information therebetween; B. host system session management facility means connected between said application processes and said communications link for transmitting information from said application processes over said communications link, and for generating a plurality of terminal session management commands and transmitting said terminal session management commands over said communications link, one type of said terminal session management command comprising a terminal select session command, each said terminal select session commands identifying a selected interconnection to a virtual terminal; and C. terminal system session management facility means connected between said communications link and said virtual terminals for receiving said information and said terminal session management commands transmitted from host system session management facility over said communications link, and continually directing to the selected virtual terminal all said information sent after a terminal select session command is received until a next different terminal select session command is received, so that a single terminal select session command directs all of said following information received by said terminal system session management facility means to the selected virtual terminal until said next different terminal select session command for directing said information to a different selected virtual terminal is received.
2. The session management link of claim 1 further including: A. said communications link allowing simultaneous, bi-direction transfer of information between said host and terminal systems; B. said terminal system session management facility means transmitting information from said virtual terminals over said communications link, and generating a plurality of host session management commands and transmitting said host session management commands over said communications link, one type of said host session management command comprising a host select session command, each of said host select session commands identifying a selected interconnection to an application process; and C. said host session management facility means receiving said information and said host session management commands from said terminal session management system transmitted over said communications link, and continually directing to the selected application process all information sent after a host session select command is received until a next different host select session command is received, so that a single host select session command directs all of said following information received by said host system session management facility means to the selected application process until said next different host select session command for directing said information to different selected application process is received.
3. The session management link of claim 2 further including: A. said terminal system session management facility means transmitting a terminal session transmit credit command to said host session management facility means over said communications link, said terminal session transmit credit command defining a number of terminal transmit credits representative of the amount of information said terminal system can accept for a selected interconnection to a virtual terminal; and B. said host session management facility means maintaining a pool of available transmit credits for each of the said interconnections to said virtual terminals, adding the terminal transmit credits received for each virtual terminal interconnection to the pool of available credits for the interconnection, transmitting said information to said selected virtual terminal in units equivalent to said terminal transmit credits, deducting a terminal transmit credit for each unit of information transmitted from the pool of available terminal transmit credits for said selected interconnection to said virtual terminal, and inhibiting the transmission of said information when an arbitrary amount of available transmit credits is reached for said selected interconnection.
4. The session management link of claim 3 further including: A. said host system session management facility means transmitting a host session transmit credit command to said terminal session management facility means over said communications link, said host transmit credit command defining a number of host transmit credits representative of the amount of information said host system can accept for a selected interconnection to an application process; and B. said terminal session management facility means maintaining a pool of available transmit credits for each of the said interconnections to said application process, adding the host transmit credits received for each application process interconnection to the pool of available credits for the interconnection, transmitting said information to said selected application process in units equivalent to said host transmit credits, deducting a host transmit credit for each unit of information transmitted from the pool of available transmit credits for the selected interconnection to said application processes, and inhibiting the transmission of said information when an arbitrary amount of transmit credits is reached for the selected interconnection.
5. The session management link of claim 4 further including: A. said host system session management facility means transmitting said host session transmit credit commands as said terminal session management commands, said information and said terminal session management commands transmitted in random sequence over said communications link, each of said terminal session management commands including a command introducer field followed by a command code field; and B. said terminal system session management facility means processing as terminal session commands commands that include said command introducer field followed by said command code field, and otherwise recognizing all transmissions from said host system session management facility means as said information to be directed to said selected virtual terminal in response to said terminal select session command.
6. The session management link of claim 5 further including: A. said terminal system session management facility means transmitting said terminal session transmit credit commands as said host session management commands, said information and said host session management commands transmitted in random sequence over said communications link, each of said host session management commands including a command introducer field followed by a command code field; and B. said host system session management facility means processing as host session commands commands that include said command introducer field followed by said command code field, and otherwise recognizing all transmissions from said terminal system session management facility means as said information to be directed to said selected application process in response to said host select session command.
7. The session management link of claim 4 further including said host system session management facility means receiving said terminal session transmit credit commands without transmitting an acknowledgement in response thereto; and said terminal system session management facility means receiving said host session transmit credit commands without generating an acknowledgement in response thereto.
8. The session management line of claim 6 further including: (A) said host system session management facility means generating at least one open terminal session terminal session management command, each of said open terminal session commands identifying a selected interconnection to one of said virtual terminals; and (B) said terminal system session management facility means opening an interconnection to said selected virtual terminal in response to receiving an open terminal session command, and only directing information sent after a terminal select session command is received to the selected virtual terminal if the selected interconnection to said selected virtual terminal specified by the terminal session select command is opened.
9. The session management link of claim 8 further including: (A) said terminal system session management facility means generating at least one open host session host session management command, each of said open host session commands identifying a selected interconnection to at least one of said application process; and (B) said host system session management facility means opens a selected interconnection to said selected application process in response to receiving an open host session command, and only directing information sent after a host session select command is received to the selected application process if the selected interconnection to said application process specified by said host session select command is opened.
10. The session management link of claim 1 further including: (A) said terminal system session management facility means generating a "successful" report host session management command after establishing a virtual terminal interconnection in response to receiving a terminal session select command; and (B) said host system session management facility means delaying the transmission of said information and said terminal session commands to said terminal system session management facility means until receiving said "successful" report command.
11. The session management link of claim 8 further including: (A) said terminal system session management facility means generating a "successful" report host session management command after establishing a virtual terminal interconnection in response to receiving a terminal session select command; and (B) said host system session management facility means delaying the transmission of said information and said terminal session commands to said terminal system session management facility means until receiving said "successful" report command.
12. The session management link of claim 11 further including: (A) said host system session management facility means generating a "successful" report terminal session management command after establishing an application process interconnection in response to receiving a host session select command; and (B) said terminal system session management facility means delaying the transmission of said information and said host session management commands to said host system session management facility means until receiving said "successful" report command.
13. The session management link of claim 12 further including: (A) said terminal system session management facility means generating a "successful" report host session management command after opening a virtual terminal interconnection in response to receiving an open terminal session command; and (B) said host system session management facility means delaying the transmission of said information and said terminal session management commands until receiving said "successful" report session command.
14. The session management link of claim 9 further including: (A) said host system session management facility means generating a "successful" report terminal session management command after opening an application process interconnection in response to receiving an open host session command; and (B) said terminal system session management facility means delaying the transmission of said information and said host session management commands until receiving said "successful" report session command.
15. The session management link of claim 5 further including: (A) said host system session management facility means further transmitting information in the form of at least one data field over said communications link to said terminal system session management, said host session management means transmitting a flag field after each data field identical to said command introducer field is transmitted; (B) said terminal system session management facility means receiving said data fields for directing same as information to said selected virtual terminal, said terminal system session management facility means recognizing each said data field identical to said command introducer field followed by said flag as a data field, and removing each of said flag fields following data fields identical to said command introducer field prior to directing said data fields.
16. The session management link of claim 6 further including: (A) said terminal system session management facility means further transmitting information in the form of at least one data field over said communications link to said host system session management means, said terminal system session management facility means transmitting a flag field over said communications link after each data field identical to said command introducer field is transmitted; and (B) a said host system session management facility means receiving said data fields for directing same as information to said selected application process said host system session management facility means recognizing each said data field identical to said command introducer field followed by said flag field as a data field, and removing each of said flag fields following said data fields identical to said command introducer field prior to directing said data fields.
17. The session management line of claim 1 further including: (A) said host system session management facility means generating at least one open terminal session terminal session management command, each of said open terminal session commands identifying a selected interconnection to one of said virtual terminals; and (B) said terminal system session management facility means opening an interconnection to said selected virtual terminal in response to receiving an open terminal session command, and only directing information sent after a terminal select session command is received to the selected virtual terminal if the selected interconnection to said selected virtual terminal specified by the terminal session select command is opened.
18. The session management link of claim 17 further including: (A) said terminal system session management facility means generating a "successful" report host session management command after opening a virtual terminal interconnection in response to receiving an open terminal session command; and (B) said host system session management facility means delaying the transmission of said information and said terminal session management commands until receiving said "successful" report session command.
19. A method of establishing a session management communications link for interconnecting a host system having at least one application process to a terminal system having at least one virtual terminal, the host system and terminal system connected by a communications link extending therebetween, whereby exchange of information is effected between a selected application process and a selected virtual terminal, said method including the steps of: transmitting information from the application processes over the communications link by means of a host system session management facility connected between the application processes and the communications link; transmitting terminal session management commands over the communications link from said host system session management facility, one of said terminal session management commands comprising a terminal select session command, each said terminal select session command identifying a selected interconnection to a virtual terminal; receiving said information and terminal session select session command from said communications link by means of a terminal system session management facility connected between the communications link and the virtual terminal; and said terminal select session command continually directing all of the information received following a terminal select session command to the selected virtual terminal, until a next different terminal select session command is received, so that a single terminal select session command directs all of the following information to said selected virtual terminal until said next different terminal select session command for directing said information to a different selected virtual terminal is received.
20. The method of claim 19 further including information transmitted from a virtual terminal to an application process simultaneously with the transmission of information from an application process to a virtual terminal according to the steps of: said terminal systems session management facility transmitting information from the virtual terminals over the communications link, and transmitting host session management commands over the communications link, one of said host session management commands comprising a host select session command, each said host select session command identifying a selected interconnection to an application process; said host system session management facility receiving said information and host session select session command from the communications link and continually directing all of the information received following a host select session command to the selected application process, until a next different host select session command is received, so that a single host select session command directs all of the following information to said selected application process until said next different host select session command for directing said information to a different selected application process is received.
21. The method of claim 19 in which: (A) said terminal system session management facility generates a "successful" report session command and transmits same over said communications link after establishing a virtual terminal interconnection in response to receiving a terminal select session command; and (B) said host system session management facility delays the transmissions of information and said terminal system session management commands after transmitting said terminal select session command until said "successful" report session command is received.
22. The method of claim 19 in which: (A) said host system session management facility generates at least one open session command for transmission over said communications link, each of said open session commands identifying a selected interconnection to one of the virtual terminals; and (B) said terminal system session management facility receives each said open session command, and in response thereto opens an interconnection to said selected virtual terminal, said terminal system session management facility further directing information sent after a terminal select session command is received to the selected virtual terminal if the selected interconnection to said selected virtual terminal specified by said terminal selected session command is opened.
23. The method of claim 22 in which: (A) said terminal system session management facility generates at least one open session command for transmission over said communications link, each of said open session commands identifying a selected interconnection to one of the application processes; and (B) said host system session management facility receives each said open session command, and in response thereto opens an interconnection to said selected application process, said host system session management facility further directing information sent after a host select session command is received to the selected application process if the selected interconnection to said selected application process specified by said host selected session command is opened.
CA000562680A 1987-03-27 1988-03-28 Terminal device session management protocol Expired - Fee Related CA1304826C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US032,152 1987-03-27
US07/032,152 US4791566A (en) 1987-03-27 1987-03-27 Terminal device session management protocol

Publications (1)

Publication Number Publication Date
CA1304826C true CA1304826C (en) 1992-07-07

Family

ID=21863386

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000562680A Expired - Fee Related CA1304826C (en) 1987-03-27 1988-03-28 Terminal device session management protocol

Country Status (8)

Country Link
US (1) US4791566A (en)
EP (1) EP0308485A1 (en)
JP (1) JPH0642221B2 (en)
AU (1) AU600128B2 (en)
BR (1) BR8807318A (en)
CA (1) CA1304826C (en)
DE (1) DE308485T1 (en)
WO (1) WO1988007723A1 (en)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2585535B2 (en) * 1986-06-02 1997-02-26 株式会社日立製作所 Process connection method in compound computer system
US4853849A (en) * 1986-12-17 1989-08-01 Intel Corporation Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction
US5109483A (en) * 1987-06-15 1992-04-28 International Business Machines Corp. Node initiating xid exchanges over an activated link including an exchange of sets of binding signals between nodes for establishing sessions
DE3854323T2 (en) * 1987-11-26 1996-03-14 Hitachi Ltd Job control for online system.
US5146561A (en) * 1988-06-02 1992-09-08 Sears Communications Network, Inc. Communication network data manager system
US5012489A (en) * 1988-11-07 1991-04-30 Hayes Microcomputer Products, Inc. Method for sending a plurality of data channels over a single communications line
US5093918A (en) * 1988-12-22 1992-03-03 International Business Machines Corporation System using independent attribute lists to show status of shared mail object among respective users
US5027269A (en) * 1989-04-27 1991-06-25 International Business Machines Corporation Method and apparatus for providing continuous availability of applications in a computer network
AU615739B2 (en) * 1989-04-28 1991-10-10 Digital Equipment Corporation Communication protocol for statistical data multiplexers arranged in a wide area network
US5261051A (en) * 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
US5175817A (en) * 1989-11-20 1992-12-29 Digital Equipment Corporation Data representation protocol for communications between different networks
US5392426A (en) * 1989-12-15 1995-02-21 Nynex Corporation, Inc. Method and apparatus for use in program operation, control and control block management and storage
JPH077975B2 (en) * 1990-08-20 1995-01-30 インターナショナル・ビジネス・マシーンズ・コーポレイション System and method for controlling data transmission
US5349675A (en) * 1990-09-04 1994-09-20 International Business Machines Corporation System for directly displaying remote screen information and providing simulated keyboard input by exchanging high level commands
TW198107B (en) * 1991-02-28 1993-01-11 Ibm
JPH04310157A (en) * 1991-04-09 1992-11-02 Chubu Nippon Denki Software Kk Message repeating system for distributed processing system
US5257384A (en) * 1991-09-09 1993-10-26 Compaq Computer Corporation Asynchronous protocol for computer system manager
US5546598A (en) * 1993-02-04 1996-08-13 Matsushita Electric Industrial Co., Ltd. Working situation management apparatus
US5553242A (en) * 1993-11-03 1996-09-03 Wang Laboratories, Inc. Client/server connection sharing
JP3534359B2 (en) 1994-05-13 2004-06-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus, method and computer system supporting multiple display sessions
US5546549A (en) * 1994-06-01 1996-08-13 International Business Machines Corporation Multi-path channel (MPC) interface with user transparent, unbalanced, dynamically alterable computer input/output channels
US7272639B1 (en) 1995-06-07 2007-09-18 Soverain Software Llc Internet server access control and monitoring systems
US9900305B2 (en) * 1998-01-12 2018-02-20 Soverain Ip, Llc Internet server access control and monitoring systems
US6085246A (en) * 1998-04-15 2000-07-04 Unisys Corporation Multiple interface data communication system and method utilizing multiple connection library interfaces with buffer and lock pool sharing
US6463459B1 (en) * 1999-01-22 2002-10-08 Wall Data Incorporated System and method for executing commands associated with specific virtual desktop
US6880010B1 (en) * 1999-09-10 2005-04-12 International Business Machines Corporation Methods, systems, and computer program products that request updated host screen information from host systems in response to notification by servers
FI110900B (en) * 2001-07-11 2003-04-15 Nokia Corp Protocol-based end-users
US7529778B1 (en) 2001-12-12 2009-05-05 Microsoft Corporation System and method for providing access to consistent point-in-time file versions
US7617256B2 (en) * 2004-07-19 2009-11-10 Microsoft Corporation Remote file updates through remote protocol
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
CN100452706C (en) * 2006-06-14 2009-01-14 杭州奇智信息科技有限公司 Method and apparatus for identifying terminal command line
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US9189218B2 (en) * 2014-03-26 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Processing packets by generating machine code from pre-compiled code fragments

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4348739A (en) * 1980-02-12 1982-09-07 International Business Machines Corporation Terminal providing communication system information output
SE448919B (en) * 1983-03-04 1987-03-23 Ibm Svenska Ab METHOD FOR TRANSFERING INFORMATION DEVICES IN A COMPUTER NETWORK, AND COMPUTER NETWORK FOR IMPLEMENTATION OF THE METHOD
DE3381300D1 (en) * 1983-03-31 1990-04-12 Ibm IMAGE ROOM MANAGEMENT AND PLAYBACK IN A PART OF THE SCREEN OF A VIRTUAL MULTIFUNCTIONAL TERMINAL.
US4642758A (en) * 1984-07-16 1987-02-10 At&T Bell Laboratories File transfer scheduling arrangement
JPS61133454A (en) * 1984-12-03 1986-06-20 Hitachi Ltd Terminal control system
US4694396A (en) * 1985-05-06 1987-09-15 Computer X, Inc. Method of inter-process communication in a distributed data processing system
US4754395A (en) * 1985-05-06 1988-06-28 Computer X, Inc. Network interface module with minimized data paths
US4677616A (en) * 1985-09-11 1987-06-30 At&T Company Flow control scheme for a switching network
US4679189A (en) * 1985-11-27 1987-07-07 American Telephone And Telegraph Company Alternate routing arrangement

Also Published As

Publication number Publication date
DE308485T1 (en) 1996-01-04
JPH0642221B2 (en) 1994-06-01
WO1988007723A1 (en) 1988-10-06
JPH01503497A (en) 1989-11-22
EP0308485A1 (en) 1989-03-29
BR8807318A (en) 1989-10-17
AU600128B2 (en) 1990-08-02
AU1573488A (en) 1988-11-02
US4791566A (en) 1988-12-13

Similar Documents

Publication Publication Date Title
CA1304826C (en) Terminal device session management protocol
US5165020A (en) Terminal device session management protocol
US7103799B2 (en) Bi-directional process-to-process byte stream protocol
US4531184A (en) Conversational video system having contact selection control
US5289579A (en) Channel adapter for broadband communications at channel speeds
US4388489A (en) Conversational video system
EP0241018B1 (en) Method of multi-address communication
CA1183610A (en) Geographically distributed multiprocessor time-shared communication processing system
US4555781A (en) Conversational video system having local network control
JPH05204804A (en) High-speed transmission line-interface
US5592627A (en) Pipelined, sliding-window, flow control for end-to-end communication sessions
US4782483A (en) Data transmission system and method of passing role of primary station
JPS5992654A (en) Electronic document distributing system
JPH04238557A (en) Link level-facility
JPH09130408A (en) Network interface device
Cisco X.3 PAD Parameters
Corr et al. SNA and emerging international standards
JP4536317B2 (en) Sending information using an ongoing transaction
JPS6161582B2 (en)
JP3131455B2 (en) Communication data guarantee method
JP3353750B2 (en) Data transfer system using batch response method
JP3217086B2 (en) Message Communication Method between Standby Controller and Message Device in Redundant System
JPS5917751A (en) Data communication system
KR0133806B1 (en) File transfer method
KR920003832B1 (en) Communication bus interface unit

Legal Events

Date Code Title Description
MKLA Lapsed