← Back to Patent Explorer
US5805822A Expired / Lapsed US ⏱️ 0.0 years remaining

Channel interface with data segmentation and re-segementation

Assignee: International Business Machines Corp
•
Filing: 1996-12-23
•
Granted: 1998-09-08
•
Expires: 2016-12-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Lynn Douglas Long
  • 👤 Louis Frank Menditto
  • 👤 Masashi Edward Miyake
  • 👤 Arthur James Stagg
  • 👤 Raymond Edward Ward

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 04:20
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2002; G06F11/2007; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1443; G06F13/00; G06F13/10; G06F13/12; G06F13/122; H; H04; H04L; H04L69/00; H04L69/14; H04L69/40; H04L9/00; H04L9/40; G06F2201/00; G06F2201/85; Y; Y02; Y02D; Y02D30/00; Y02D30/50

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 173 words
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 data to a remote data utilization system over a communications channel having a plurality of sub-channels of limited transmission capacity; means for segmenting said data into blocks for transmission over selected ones of said sub-channels, each selected sub-channel having a transmission capacity equal to or greater than each of said blocks assigned to that sub-channel; means in said segmenting means for providing a segment number for each said block to identify the proper sequence of said each block; means responsive to a failure of one of said sub-channels having a greater transmission capacity than at least one other of said sub-channels for resegmenting a block transmitted over said one failed sub-channel into sub-segments for transmission over said at least one other sub-channel, and; means for adding sub-segment numbers to each of said sub-segments to facilitate re-assembly of said sub-segments into said block.
Claim 2
Dependent Claim 173 words
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 data to a remote data utilization system over a communications channel having a plurality of sub-channels of limited transmission capacity; means for segmenting said data into blocks for transmission over selected ones of said sub-channels, each selected sub-channel having a transmission capacity equal to or greater than each of said blocks assigned to that sub-channel; means in said segmenting means for providing a segment number for each said block to identify the proper sequence of said each block; means responsive to a failure of one of said sub-channels having a greater transmission capacity than at least one other of said sub-channels for resegmenting a block transmitted over said one failed sub-channel into sub-segments for transmission over said at least one other sub-channel, and; means for adding sub-segment numbers to each of said sub-segments to facilitate re-assembly of said sub-segments into said block.
Claim 3
Dependent Claim 28 words
The input and output communications subsystem according to claim 1 further comprising means for de-allocating said failed sub-channel at said computer system and at said data utilization system.
Claim 4
Dependent Claim 39 words
The input and output communications subsystem according to claim 1 further comprising means for reassembling said sub-segments into said block and said blocks into said data as supplied by said user application by utilizing said segment and sub-segment numbers.
Claim 5
Dependent Claim 192 words
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 data to a remote data utilization system over a communications channel having a plurality of sub-channels of limited transmission capacity; means for segmenting said data into blocks for transmission over selected ones of said sub-channels, each selected sub-channel having a transmission capacity equal to or greater than each of said blocks assigned to that sub-channel; means in said segmenting means for providing a segment number for each said block to identify the proper sequence of said each block: means responsive to a failure of one of said sub-channels having a greater transmission capacity than at least one other of said sub-channels for resegmenting a block transmitted over said one failed sub-channel into sub-segments for transmission over said at least one other sub-channel, means for adding sub-segment numbers to each of said sub-segments to facilitate re-assembly of said sub-segments into said block, and means for dynamically allocating said sub-channels with a dynamically determined transmission capacity and a dynamically determined direction of transmission.
Claim 6
Dependent Claim 192 words
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 data to a remote data utilization system over a communications channel having a plurality of sub-channels of limited transmission capacity; means for segmenting said data into blocks for transmission over selected ones of said sub-channels, each selected sub-channel having a transmission capacity equal to or greater than each of said blocks assigned to that sub-channel; means in said segmenting means for providing a segment number for each said block to identify the proper sequence of said each block: means responsive to a failure of one of said sub-channels having a greater transmission capacity than at least one other of said sub-channels for resegmenting a block transmitted over said one failed sub-channel into sub-segments for transmission over said at least one other sub-channel, means for adding sub-segment numbers to each of said sub-segments to facilitate re-assembly of said sub-segments into said block, and means for dynamically allocating said sub-channels with a dynamically determined transmission capacity and a dynamically determined direction of transmission.
Claim 7
Independent Claim 164 words
A method for input and output communications for a general purpose digital computer system comprising the steps of operating at least one user application in said computer system according to a predetermined communications protocol to communicate data to a remote data utilization system over a communications channel having a plurality of sub-channels of limited transmission capacity; segmenting said data into blocks for transmission over selected ones of said sub-channels, each selected sub-channel having a transmission capacity equal to each of said blocks assigned to that sub-channel; storing a segment number in each said block to identify the proper sequence of said each segment; re-segmenting, in response to the failure of one of said sub-channels having a greater transmission capacity than at least one other of said sub-channels, blocks transmitted over said one failed sub-channel into sub-segments for transmission over said at least one other sub-channel, and; adding sub-segment numbers to each of said re-segmented sub-segments to facilitate re-assembly of said sub-segments into said block.
Claim 8
Independent Claim 164 words
A method for input and output communications for a general purpose digital computer system comprising the steps of operating at least one user application in said computer system according to a predetermined communications protocol to communicate data to a remote data utilization system over a communications channel having a plurality of sub-channels of limited transmission capacity; segmenting said data into blocks for transmission over selected ones of said sub-channels, each selected sub-channel having a transmission capacity equal to each of said blocks assigned to that sub-channel; storing a segment number in each said block to identify the proper sequence of said each segment; re-segmenting, in response to the failure of one of said sub-channels having a greater transmission capacity than at least one other of said sub-channels, blocks transmitted over said one failed sub-channel into sub-segments for transmission over said at least one other sub-channel, and; adding sub-segment numbers to each of said re-segmented sub-segments to facilitate re-assembly of said sub-segments into said block.
Claim 9
Dependent Claim 25 words
The method according to claim 5 further comprising the step of de-allocating said failed sub-channel at said computer system and at said data utilization system.
Claim 10
Dependent Claim 30 words
The method according to claim 5 further comprising the step of reassembling said sub-segments into said block of information as supplied by said user application by utilizing said sub-segment numbers.
Claim 11
Independent Claim 181 words
A method for input and output communications for a general purpose digital computer system comprising the steps of operating at least one user application in said computer system according to a predetermined communications protocol to communicate data to a remote data utilization system over a communications channel having a plurality of sub-channels of limited transmission capacity; segmenting said data into blocks for transmission over selected ones of said sub-channels, each selected sub-channel having a transmission capacity equal to each of said blocks assigned to that sub-channel; storing a segment number in each said block to identify the proper sequence of said each segment; re-segmenting, in response to the failure of one of said sub-channels having a greater transmission capacity than at least one other of said sub-channels, blocks transmitted over said one failed sub-channel into sub-segments for transmission over said at least one other sub-channel; adding sub-segment numbers to each of said re-segmented sub-segments to facilitate re-assembly of said sub-segments into said block, and dynamically allocating said sub-channels with a dynamically determined transmission capacity and a dynamically determined direct of transmission.
Claim 12
Independent Claim 181 words
A method for input and output communications for a general purpose digital computer system comprising the steps of operating at least one user application in said computer system according to a predetermined communications protocol to communicate data to a remote data utilization system over a communications channel having a plurality of sub-channels of limited transmission capacity; segmenting said data into blocks for transmission over selected ones of said sub-channels, each selected sub-channel having a transmission capacity equal to each of said blocks assigned to that sub-channel; storing a segment number in each said block to identify the proper sequence of said each segment; re-segmenting, in response to the failure of one of said sub-channels having a greater transmission capacity than at least one other of said sub-channels, blocks transmitted over said one failed sub-channel into sub-segments for transmission over said at least one other sub-channel; adding sub-segment numbers to each of said re-segmented sub-segments to facilitate re-assembly of said sub-segments into said block, and dynamically allocating said sub-channels with a dynamically determined transmission capacity and a dynamically determined direct of transmission.
Claim 13
Independent Claim 172 words
A method executed by a first node for communicating data to a second node over a data channel, comprising the steps of partitioning the channel into a plurality of sub-channels, each sub-channel having a negotiated capacity corresponding to the size of a packet which may be transmitted over it; operating an application in the first node according to a predetermined communications protocol to send data to the channel; segmenting the data for transmission over different ones of the sub-channels to the second node into blocks of individual sizes according to the sub-channel for which each block is assigned; storing a segment number in each of the blocks to identify the proper order in which to reassemble to blocks to reconstitute the data; in response to the failure of one of the sub-channels, re-segmenting blocks already formatted for transmission over the failed sub-channel into sub-segments for transmission over another sub-channel of lesser capacity; and adding a sub-segment number to each of the sub-segments to facilitate reassembly of said sub-segments into the original block.
Claim 14
Independent Claim 172 words
A method executed by a first node for communicating data to a second node over a data channel, comprising the steps of partitioning the channel into a plurality of sub-channels, each sub-channel having a negotiated capacity corresponding to the size of a packet which may be transmitted over it; operating an application in the first node according to a predetermined communications protocol to send data to the channel; segmenting the data for transmission over different ones of the sub-channels to the second node into blocks of individual sizes according to the sub-channel for which each block is assigned; storing a segment number in each of the blocks to identify the proper order in which to reassemble to blocks to reconstitute the data; in response to the failure of one of the sub-channels, re-segmenting blocks already formatted for transmission over the failed sub-channel into sub-segments for transmission over another sub-channel of lesser capacity; and adding a sub-segment number to each of the sub-segments to facilitate reassembly of said sub-segments into the original block.
Claim 15
Dependent Claim 178 words
Apparatus in a first node for communicating data to a second node over a data channel, comprising means for partitioning the channel into a plurality of sub-channels, each sub-channel having a negotiated capacity corresponding to the size of a packet which may be transmitted over it; means for operating an application in the first node according to a predetermined communications protocol to send data to the channel; means for segmenting the data for transmission over different ones of the sub-channels to the second node into blocks of individual sizes according to the sub-channel for which each block is assigned; means for storing a segment number in each of the blocks to identify the proper order in which to reassemble to blocks to reconstitute the data; means, responsive to the failure of one of the sub-channels, for re-segmenting blocks already formatted for transmission over the failed sub-channel into sub-segments for transmission over another sub-channel of lesser capacity; and means for adding a sub-segment number to each of the sub-segments to facilitate reassembly of the sub-segments into the original block.
Claim 16
Dependent Claim 178 words
Apparatus in a first node for communicating data to a second node over a data channel, comprising means for partitioning the channel into a plurality of sub-channels, each sub-channel having a negotiated capacity corresponding to the size of a packet which may be transmitted over it; means for operating an application in the first node according to a predetermined communications protocol to send data to the channel; means for segmenting the data for transmission over different ones of the sub-channels to the second node into blocks of individual sizes according to the sub-channel for which each block is assigned; means for storing a segment number in each of the blocks to identify the proper order in which to reassemble to blocks to reconstitute the data; means, responsive to the failure of one of the sub-channels, for re-segmenting blocks already formatted for transmission over the failed sub-channel into sub-segments for transmission over another sub-channel of lesser capacity; and means for adding a sub-segment number to each of the sub-segments to facilitate reassembly of the sub-segments into the original block.
Claim 17
Independent Claim 237 words
A method executed by a local device for sending data to a remote device in blocks over one or more data channels partitioned into a plurality of subchannels, each subchannel being capable of handling blocks of a preassigned size which may be different from the sizes preassigned to others of the subchannels, each of the blocks having space for application data and a header containing a segment number field and a sub-segment number field, said method comprising the steps of partitioning the application data into data units and adding headers to form blocks, assigning each block to a subchannel for transmission, each block having a size appropriate to the subchannel to which it is assigned, storing a unique segment number in the segment number field of each block representing the order of the block in the application data, detecting a failed subchannel during transmission of the blocks, re-segmenting a failed block being transmitted over the failed subchannel into sub-segments, each having the same format as a block, appropriate for transmission over one or more of the remaining subchannels of lesser preassigned size than the failed subchannel, storing the segment number from the failed block in the segment number field of each of the sub-segments, storing a unique sub-segment number representing the order of the sub-segment in the failed block in the sub-segment field of each of the sub-segments, and transmitting the sub-segments over the respective assigned subchannels.
Claim 18
Independent Claim 237 words
A method executed by a local device for sending data to a remote device in blocks over one or more data channels partitioned into a plurality of subchannels, each subchannel being capable of handling blocks of a preassigned size which may be different from the sizes preassigned to others of the subchannels, each of the blocks having space for application data and a header containing a segment number field and a sub-segment number field, said method comprising the steps of partitioning the application data into data units and adding headers to form blocks, assigning each block to a subchannel for transmission, each block having a size appropriate to the subchannel to which it is assigned, storing a unique segment number in the segment number field of each block representing the order of the block in the application data, detecting a failed subchannel during transmission of the blocks, re-segmenting a failed block being transmitted over the failed subchannel into sub-segments, each having the same format as a block, appropriate for transmission over one or more of the remaining subchannels of lesser preassigned size than the failed subchannel, storing the segment number from the failed block in the segment number field of each of the sub-segments, storing a unique sub-segment number representing the order of the sub-segment in the failed block in the sub-segment field of each of the sub-segments, and transmitting the sub-segments over the respective assigned subchannels.
Claim 19
Dependent Claim 249 words
A local device for sending data to a remote device in blocks over one or more data channels partitioned into a plurality of subchannels, each subchannel being capable of handling blocks of a preassigned size which may be different from the sizes preassigned to others of the subchannels, each of the blocks having space for application data and a header containing a segment number field and a sub-segment number field, said local device comprising means for partitioning the application data into data units which when appended to headers form said blocks, means for assigning each block to a subchannel for transmission, each block having a size appropriate to the subchannel to which it is assigned, means for storing a unique segment number in the segment number field of each block representing the order of the block in the application data, means for detecting a failed subchannel during transmission of the blocks, means for re-segmenting a failed block being transmitted over the failed subchannel into sub-segments, each having the same format as a block, appropriate for transmission over one or more of the remaining subchannels of lesser preassigned size than the failed subchannel, means for storing the segment number from the failed block in the segment number field of each of the sub-segments, means for storing a unique sub-segment number representing the order of the sub-segment in the failed block in the sub-segment field of each of the sub-segments, and means for transmitting the sub-segments over the respective assigned subchannels.
Claim 20
Dependent Claim 249 words
A local device for sending data to a remote device in blocks over one or more data channels partitioned into a plurality of subchannels, each subchannel being capable of handling blocks of a preassigned size which may be different from the sizes preassigned to others of the subchannels, each of the blocks having space for application data and a header containing a segment number field and a sub-segment number field, said local device comprising means for partitioning the application data into data units which when appended to headers form said blocks, means for assigning each block to a subchannel for transmission, each block having a size appropriate to the subchannel to which it is assigned, means for storing a unique segment number in the segment number field of each block representing the order of the block in the application data, means for detecting a failed subchannel during transmission of the blocks, means for re-segmenting a failed block being transmitted over the failed subchannel into sub-segments, each having the same format as a block, appropriate for transmission over one or more of the remaining subchannels of lesser preassigned size than the failed subchannel, means for storing the segment number from the failed block in the segment number field of each of the sub-segments, means for storing a unique sub-segment number representing the order of the sub-segment in the failed block in the sub-segment field of each of the sub-segments, and means for transmitting the sub-segments over the respective assigned subchannels.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-09-07 2002-03-09 2002-09-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-09-07 2006-03-09 2006-09-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-09-07 2010-03-09 2010-09-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag