Dynamic multipath channel interface for input/output channels
First Claim
1. An input and output communications subsystem for general purpose digital computer system comprisingat least one user application operating in said computer system according to a predetermined communications protocol to communicate blocks of data to a remote data utilization system over a communications channel capable of supporting multipath groups of sub-channels of limited transmission capacity;
- means for dynamically allocating and activating each said group of sub-channels for transmission of said blocks of data in only one direction on each of said sub-channels prior to the transmission of said blocks of data, said means for dynamically allocating and activating said groups of sub-channels comprising;
means for transmitting one or more identification exchange messages between the two ends of said communications channel to negotiate agreed upon values of transmission parameters for said communications channel, said identification exchange messages including fields specifying the size and direction of transmission of each said sub-channel, the protocol of said user application, and a message extension field specifying the maximum capacity of a local data handling facility;
means responsive to the contents of said fields for activating a sub-channel having the specified size and direction;
means responsive to the contents of said extension field for segmenting data blocks from said user application into segments conforming to said maximum capacity, andmeans for de-allocating any one said sub-channels when said one subchannel fails.
0 Assignments
0 Petitions
Accused Products
Abstract
A multi-path channel interface for computer input-output systems includes the ability to define and activate unbalanced groups of unidirectional communications sub-channels for a user application. Protocol independent exchange identifications permit not only unbalanced transmission groups but also allow user-controlled extensions for negotiating the values of transmission parameters at the time the transmission group is activated. When error correcting re-transmissions force the re-segmenting of data blocks, second level sub-segment indexing assure the proper order of delivery of the various segments and sub-segments. The exchange identifications include an identification of the user protocol being supported and thus permit interfacing with any user protocol.
71 Citations
45 Claims
-
1. An input and output communications subsystem for general purpose digital computer system comprising
at least one user application operating in said computer system according to a predetermined communications protocol to communicate blocks of data to a remote data utilization system over a communications channel capable of supporting multipath groups of sub-channels of limited transmission capacity; -
means for dynamically allocating and activating each said group of sub-channels for transmission of said blocks of data in only one direction on each of said sub-channels prior to the transmission of said blocks of data, said means for dynamically allocating and activating said groups of sub-channels comprising; means for transmitting one or more identification exchange messages between the two ends of said communications channel to negotiate agreed upon values of transmission parameters for said communications channel, said identification exchange messages including fields specifying the size and direction of transmission of each said sub-channel, the protocol of said user application, and a message extension field specifying the maximum capacity of a local data handling facility; means responsive to the contents of said fields for activating a sub-channel having the specified size and direction; means responsive to the contents of said extension field for segmenting data blocks from said user application into segments conforming to said maximum capacity, and means for de-allocating any one said sub-channels when said one subchannel fails. - View Dependent Claims (2, 3)
-
-
4. A method for input and output communications in a general purpose digital computer system comprising
executing at least one user application in said computer system according to a predetermined communications protocol to communicate blocks of data to a remote data utilization system over a communications channel capable of supporting multipath groups of sub-channels of limited transmission capacity; -
dynamically allocating and activating each said group of sub-channels for transmission of said blocks of data in only one direction on each of said sub-channels prior to the transmission of said blocks of data, side step of dynamically allocating and activating said groups of sub-channels comprising the steps of; transmitting one or more identification exchange messages between the two ends of said communications channel to negotiate agreed upon values of transmission parameters for said communications channel, said identification exchange messages including fields specifying the size and direction of transmission of each said sub-channel, the protocol of said user application, and a message extension field specifying the maximum capacity of a local data handling facility; in response to the contents of said fields, activating a sub-channel having the specified size and direction; in response to the contents of said extension field, segmenting data blocks from said user application into segments conforming to said maximum capacity; and de-allocating any one of said sub-channels when said one subchannel fails. - View Dependent Claims (5, 6)
-
-
7. In an input and output communications subsystem for general purpose computers, a remote data utilization system for communicating with said general purpose digital computer over said subsystem, said remote data utilization system comprising
means at said remote data utilization system for communicating blocks of date to said general purpose computer according to a predetermined protocol over a communication channel capable of supporting multipath groups of sub-channels of limited transmission capacity, means at said remote data utilization system for dynamically allocating and activating each said group of sub-channels for transmission of said blocks of data in only one direction on each of said sub-channels prior to the transmission of said blocks of data, said means for dynamically allocating and activating said groups of sub-channels comprising means at said remote utilization system for transmitting one or more identification exchange messages between the two ends of said communication channel to negotiate agreed upon values of transmission parameters for said communications channel, said identification exchange messages including fields specifying the size and direction of transmission of each of said sub-channels, the protocol of said remote data utilization system, and a message extension field specifying the maximum capacity of a local data handling facility, means at said remote utilization system, responsive to the contents of said fields, for activating a sub-channel having the specified size and direction, means at said remote utilization system, responsive to the contents of said extension field for segmenting data blocks into segments conforming to said maximum capacity, and means at said remote data utilization system for de-allocating any one of said sub-channels when said one subchannel fails.
-
10. In an input and output communications subsystem for general purpose computers, a method for communicating from a remote data utilization system comprising the steps of
communicating, from said remote data utilization system, blocks of date to said general purpose computer according to a predetermined protocol over a communication channel capable of supporting multipath groups of sub-channels of limited transmission capacity, dynamically allocating and activating each said group of sub-channels for transmission of said blocks of data in only one direction on each of said sub-channels prior to the transmission of said blocks of data, said step of dynamically allocating and activating said groups of sub-channels comprising transmitting one or more identification exchange messages between the two ends of said communication channel to negotiate agreed upon values of transmission parameters for said communications channel, said identification exchange messages including fields specifying the size and direction of transmission of each of said sub-channels, the protocol of said remote data utilization system, and a message extension field specifying the maximum capacity of a local data handling facility, in response to the contents of said fields, activating a sub-channel having the specified size and direction, in response to the contents of said extension field, segmenting data blocks into segments conforming to said maximum capacity, and de-allocating any one said sub-channels when said one subchannel fails.
-
13. A program storage device readable by a general purpose computer and embodying a program of instructions executable by said general purpose computer to perform a method for communicating from a remote data utilization system to said general purpose computer, said method comprising the steps of
communicating, from said remote data utilization system, blocks of date to said general purpose computer according to a predetermined protocol over a communication channel capable of supporting multipath groups of sub-channels of limited transmission capacity, dynamically allocating and activating each said group of sub-channels for transmission of said blocks of data in only one direction on each of said sub-channels prior to the transmission of said blocks of data, said step of dynamically allocating and activating said groups of sub-channels comprising transmitting one or more identification exchange messages between the two ends of said communication channel to negotiate agreed upon values of transmission parameters for said communications channel, said identification exchange messages including fields specifying the size and direction of transmission of each of said sub-channels, the protocol of said remote data utilization system, and a message extension field specifying the maximum capacity of a local data handling facility, in response to the contents of said fields, activating a sub-channel having the specified size and direction, in response to the contents of said extension field, segmenting data blocks into segments conforming to said maximum capacity, and de-allocating any one said sub-channels when said one subchannel fails.
-
16. A multipath channel interface for either end of transmission media used for computer input/output operations, said multipath channel interface comprising
means, for each user facility using said transmission media, for defining a plurality of sub-channels in said transmission medium, a first subplurality of said subchannels extending in one direction on said media and a second subplurality of said subchannels extending in the other direction on said media, means for dynamically allocating and activating one of said first and second subpluralities for the transmission of blocks of data in one direction on one of said subpluralities, means for transmitting an identification exchange message on an allocated and activated subchannel, said message including the size and direction of transmission of each subchannel of said allocated and activated subchannels, the protocol of said user facility and the maximum capacity of said user facility, means responsive to said message for allocating and activating one of said first and second subpluralities for the transmission of blocks of data in the other direction on the other of said subpluralities, means responsive to said message for determining the ability of said user facility and said computer to conform to said maximum capacity, means responsive to said message for disabling said first and second subpluralities when said user facility and said computer do not conform to said maximum capacity, and means for substituting a replacement subchannel in either of said subpluralities in response to a failure in one of said subchannels.
-
19. A method for interfacing either end of transmission media used for computer input/output operations, said method for interfacing comprising the steps of
for each user facility using said transmission media, defining a plurality of subchannels in said transmission medium, a first subplurality of said subchannels extending in one direction on said media and a second subplurality of said subchannels extending in the other direction on said media, dynamically allocating and activating one of said first and second subpluralities for the transmission of blocks of data in one direction on one of said subpluralities, transmitting an identification exchange message on an allocated and activated subchannel, said message including the size and direction of transmission of each subchannel of said allocated and activated subchannels, the protocol of said user facility, and the maximum capacity of said user facility, in response to said message for allocating and activating one of said first and second subpluralities, transmitting blocks of data in the other direction on the other of said subpluralities, in response to said message, determining the ability of said user facility and said computer to conform to said maximum capacity, in response to said message, disabling said first and second subpluralities when said user facility and said computer do not conform to said maximum capacity.
-
23. A program storage device readable by a general purpose computer and embodying a program of instructions executable by said general purpose computer to perform a method for interfacing either end of transmission media used for computer input/output operations, said method comprising the steps of
for each user facility using said transmission media, defining a plurality of subchannels in said transmission medium, a first subplurality of said subchannels extending in one direction on said media and a second subplurality of said subchannels extending in the other direction on said media, dynamically allocating and activating one of said first and second subpluralities for the transmission of blocks of data in one direction on one of said subpluralities, transmitting an identification exchange message on an allocated and activated subchannel, said message including the size and direction of transmission of each subchannel of said allocated and activated subchannels, the protocol of said user facility, and the maximum capacity of said user facility, in response to said message for allocating and activating one of said first and second subpluralities, transmitting blocks of data in the other direction on the other of said subpluralities, in response to said message, determining the ability of said user facility and said computer to conform to said maximum capacity, in response to said message, disabling said first and second subpluralities when said user facility and said computer do not conform to said maximum capacity.
-
27. For use with an input and output channel subsystem between a computer and a utilization device, interface means at either end of the channel subsystem for communicating data blocks over the channel subsystem via subchannels of the channel subsystem, said interface means comprising
means for allocating a group of subchannels to an application, and means for activating the group of subchannels prior to the transmission of said blocks of data, said means for activating comprising means for transmitting first identification exchange messages over each said subchannel of the group to the other end of the channel subsystem, each first identification message including, for the subchannel over which it is transmitted, a direction field specifying the direction of transmission of the subchannel, a protocol field specifying the protocol to be used for data block transmission, and a buffer field specifying the maximum capacity of a buffer for communicating data blocks over the subchannel, means responsive to the first identification exchange messages for activating each said subchannel having the specified buffer size, transmission direction and protocol, and means for receiving said first identification exchange messages over each subchannel of the group from the other end of the subchannel system, means for determining if prescribed fields of each of the received first identification exchange messages contain identical information, and means for deallocating the group of subchannels if the corresponding identification exchange messages are not identical.
-
33. For use with an input and output channel subsystem between a computer and a utilization device, an interfacing method to be used at either end of the channel subsystem for communicating data blocks over the channel subsystem via subchannels of the channel subsystem, said interfacing method comprising the steps of
allocating a group of subchannels to an application, and activating the group of subchannels prior to the transmission of said blocks of data, said step of activating comprising the sub-steps of transmitting first identification exchange messages over each said subchannel of the group to the other end of the channel subsystem, each first identification message including, for the subchannel over which it is transmitted, a direction field specifying the direction of transmission of the subchannel, a protocol field specifying the protocol to be used for data block transmission, and a buffer field specifying the maximum capacity of a buffer for communicating data blocks over the subchannel, in response to the first identification exchange messages, activating each said subchannel having the specified buffer size, transmission direction and protocol, receiving said first identification exchange messages over each subchannel of the group from the other end of the subchannel system, determining if prescribed fields of each of the received first identification exchange messages contain identical information, and deallocating the group of subchannels if the corresponding identification exchange messages are not identical.
-
39. For use with an input and output channel subsystem between a computer and a utilization device, a program storage device readable by said computer and embodying a program executable by said computer to perform an interfacing method to be used at either end of the channel subsystem for communicating data blocks over the channel subsystem via subchannels of the channel subsystem, said interfacing method comprising the steps of
allocating a group of subchannels to an application, and activating the group of subchannels prior to the transmission of said blocks of data, said step of activating comprising the sub-steps of transmitting first identification exchange messages over each said subchannel of the group to the other end of the channel subsystem, each first identification message including, for the subchannel over which it is transmitted, a direction field specifying the direction of transmission of the subchannel, a protocol field specifying the protocol to be used for data block transmission, and a buffer field specifying the maximum capacity of a buffer for communicating data blocks over the subchannel, and in response to the first identification exchange messages, activating each said subchannel having the specified buffer size, transmission direction and protocol.
Specification