Patent US5367674A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5367674A Expired / Lapsed US ⏱️ 0.0 years remaining

Data stream optimizer utilizing difference coding between a current state buffer and a next state buffer

Assignee: International Business Machines Corp
•
Filing: 1991-12-13
•
Granted: 1994-11-22
•
Expires: 2011-12-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The disclosed data stream optimization process is containing two logical entities, the first being the pre-comparison optimizer component and the second being the comparison component. The pre-comparison optimizer component performs two discrete tasks. First, the input data stream is written into a next state buffer. Second, the elimination of redundancies involves detecting and removing redundant screen attributes, since the terminal's execution time for processing a screen attribute is more than that required for a data character. The comparison component contains three distinct sub-components. First, non-data constructs such as commands and orders are optimized and placed in the outgoing data stream. Second, the screen image that is represented by the data stream is compared to the existing screen image to further reduce the outgoing data stream. This reduced version is further reduced when repeated characters and fields are replaced with repeat orders which take up less space within the outgoing data stream. Lastly, the reduced outgoing data stream is operated on by a post-optimizer sub-component. The post-optimizer sub-component will first determine whether repeated characters existing at the end of the outgoing data stream can be replaced a single repeat order. Then, the sub-component proceeds to remove any unnecessary cursor control orders. Upon completion, the fully optimized data stream is routed to the terminal or conversion facility.

Inventors

  • 👤 Jody E. Berk
  • 👤 James R. Coon
  • 👤 Paul R. Day
  • 👤 Peter J. Heyrman
  • 👤 David L. Johnson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 20:19
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/14; G06F3/1415

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 186 words
A computer implemented method for optimizing a data stream, said method comprising the steps of: receiving said data stream into a next state buffer; comparing said next state buffer to a current state buffer to detect a first difference and a second difference between said next state buffer and said current state buffer; placing characters from said current state buffer into said outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non-negative positive integer of value greater than one; using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; placing a Set-Buffer-Address order into said outgoing data stream buffer when said first difference is not a new field and said first difference is greater than P bytes away from a second difference, where P is a non-negative positive integer of value greater than one; outputting data in said outgoing data stream buffer to a terminal device.
Claim 2
Dependent Claim 186 words
A computer implemented method for optimizing a data stream, said method comprising the steps of: receiving said data stream into a next state buffer; comparing said next state buffer to a current state buffer to detect a first difference and a second difference between said next state buffer and said current state buffer; placing characters from said current state buffer into said outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non-negative positive integer of value greater than one; using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; placing a Set-Buffer-Address order into said outgoing data stream buffer when said first difference is not a new field and said first difference is greater than P bytes away from a second difference, where P is a non-negative positive integer of value greater than one; outputting data in said outgoing data stream buffer to a terminal device.
Claim 3
Dependent Claim 64 words
A computer implemented method as in claim 1 wherein said outputting step comprising the steps of: creating an optimized data stream by replacing trailing repeated characters with a Repeat-To-Address order, said trailing repeat characters being of number greater than M; removing all cursor orders within said optimized data stream except a last cursor order; and outputting said optimized data stream to a terminal device.
Claim 4
Dependent Claim 218 words
A computer implemented method for optimizing the commands, orders, and data of a data stream, said method comprising the steps of: receiving said data stream into a next state buffer; removing any redundant screen attributes found within said next state buffer; comparing a current state buffer to said next state buffer to discern a first difference and a second difference between said current state buffer and said next state buffer, wherein said comparing step further comprises the steps of: a) placing characters from current state buffer into an outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non-negative positive integer of value greater than one; b) using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; c) placing a Set-Buffer-Address order into said outgoing data stream buffer when said difference is not a new field and said difference is greater than P bytes away from a last difference, where P is a non-negative positive integer of value greater than one; forming an optimized data stream from said differences; and routing said optimized data stream to a terminal device.
Claim 5
Dependent Claim 218 words
A computer implemented method for optimizing the commands, orders, and data of a data stream, said method comprising the steps of: receiving said data stream into a next state buffer; removing any redundant screen attributes found within said next state buffer; comparing a current state buffer to said next state buffer to discern a first difference and a second difference between said current state buffer and said next state buffer, wherein said comparing step further comprises the steps of: a) placing characters from current state buffer into an outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non-negative positive integer of value greater than one; b) using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; c) placing a Set-Buffer-Address order into said outgoing data stream buffer when said difference is not a new field and said difference is greater than P bytes away from a last difference, where P is a non-negative positive integer of value greater than one; forming an optimized data stream from said differences; and routing said optimized data stream to a terminal device.
Claim 6
Dependent Claim 70 words
The computer implemented method of claim 3 wherein said removing step further comprises the steps of: scanning said next state buffer to detect instances of screen attributes; determining, with respect to each detected screen attribute, whether such screen attribute is duplicated by an earlier detected screen attribute; and deleting said detected screen attribute if said determining step determines that said screen attribute is duplicated by an earlier detected screen attribute.
Claim 7
Dependent Claim 48 words
The computer implemented method of claim 4 wherein said forming step further comprises the steps of: replacing trailing repeated characters with a Repeat-To-Address order, said trailing repeat characters being of number greater than M; and removing all cursor orders within said data stream except a last cursor order.
Claim 8
Independent Claim 192 words
An apparatus for optimizing a data stream, said apparatus comprising: means for receiving said data stream into a next state buffer; means for comparing said next state buffer to a current state buffer to detect a first difference and a second difference between said next state buffer and said current state buffer; means for placing characters from said current state buffer into said outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non-negative positive integer of value greater than one; means for using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; means for placing a Set-Buffer-Address order into said outgoing data stream buffer when said first difference is not a new field and said difference is greater than P bytes away from said second difference, where P is a non-negative positive integer of value greater than one; means for outputting data in said outgoing data stream buffer to a terminal device.
Claim 9
Independent Claim 192 words
An apparatus for optimizing a data stream, said apparatus comprising: means for receiving said data stream into a next state buffer; means for comparing said next state buffer to a current state buffer to detect a first difference and a second difference between said next state buffer and said current state buffer; means for placing characters from said current state buffer into said outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non-negative positive integer of value greater than one; means for using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; means for placing a Set-Buffer-Address order into said outgoing data stream buffer when said first difference is not a new field and said difference is greater than P bytes away from said second difference, where P is a non-negative positive integer of value greater than one; means for outputting data in said outgoing data stream buffer to a terminal device.
Claim 10
Dependent Claim 66 words
An apparatus as in claim 6 wherein said means for outputting comprising: means for creating an optimized data stream by replacing trailing repeated characters with a Repeat-To-Address order, said trailing repeat characters being of number greater than M; means for removing all cursor orders within said optimized data stream except a last cursor order; and means for outputting said optimized data stream to a terminal device.
Claim 11
Independent Claim 228 words
An apparatus for optimizing the commands, orders, and data of a data stream, said apparatus comprising: means for receiving said data stream into a next state buffer; means for removing any redundant screen attributes found within said next state buffer; means for comparing a current state buffer to said next state buffer to discern a first difference and a second difference between said current state buffer and said next state buffer, wherein said means for comparing further comprises: a) means for placing characters from current state buffer into an outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non negative positive integer Of value greater than one; b) means for using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; c) means for placing a Set-Buffer-Address order into said outgoing data stream buffer when said difference is not a new field and said difference is greater than P bytes away from a last difference, where P is a non-negative positive integer of value greater than one; means for forming an optimized data stream from said differences; and means for routing said optimized data stream to a terminal device.
Claim 12
Independent Claim 228 words
An apparatus for optimizing the commands, orders, and data of a data stream, said apparatus comprising: means for receiving said data stream into a next state buffer; means for removing any redundant screen attributes found within said next state buffer; means for comparing a current state buffer to said next state buffer to discern a first difference and a second difference between said current state buffer and said next state buffer, wherein said means for comparing further comprises: a) means for placing characters from current state buffer into an outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non negative positive integer Of value greater than one; b) means for using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; c) means for placing a Set-Buffer-Address order into said outgoing data stream buffer when said difference is not a new field and said difference is greater than P bytes away from a last difference, where P is a non-negative positive integer of value greater than one; means for forming an optimized data stream from said differences; and means for routing said optimized data stream to a terminal device.
Claim 13
Dependent Claim 48 words
The apparatus of claim 8 wherein said means for forming further comprises: means for replacing trailing repeated characters with a Repeat-to-Address order, said trailing repeat characters being of number greater than M; and means for removing all cursor orders within said data stream except a last cursor order.
Claim 14
Dependent Claim 194 words
A computer system for optimizing a data stream, said computer system comprising: means for receiving said data stream into a next state buffer; means for comparing said next state buffer to a current state buffer to detect a first difference and a second difference between said next state buffer and said current state buffer; means for placing characters from said current state buffer into said outgoing data stream buffer when said difference is less than N bytes away from said last difference, where N is a non-negative positive integer of value greater than one; means for using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; means for placing a Set-Buffer-Address order into said outgoing data stream buffer when said first difference is not a new field and said difference is greater than P bytes away from a second difference, where P is a non-negative positive integer of value greater than one; and means for outputting data in said outgoing data stream buffer to a terminal device.
Claim 15
Dependent Claim 194 words
A computer system for optimizing a data stream, said computer system comprising: means for receiving said data stream into a next state buffer; means for comparing said next state buffer to a current state buffer to detect a first difference and a second difference between said next state buffer and said current state buffer; means for placing characters from said current state buffer into said outgoing data stream buffer when said difference is less than N bytes away from said last difference, where N is a non-negative positive integer of value greater than one; means for using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; means for placing a Set-Buffer-Address order into said outgoing data stream buffer when said first difference is not a new field and said difference is greater than P bytes away from a second difference, where P is a non-negative positive integer of value greater than one; and means for outputting data in said outgoing data stream buffer to a terminal device.
Claim 16
Dependent Claim 195 words
An input/output controller for optimizing a data stream, said input/output controller comprising: means for receiving said data stream into a next state buffer; means for comparing said next state buffer to a current state buffer to detect a first difference and a second difference between said next state buffer and said current state buffer; means for placing characters from said current state buffer into said outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non-negative positive integer of value greater than one; means for using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; means for placing a Set-Buffer-Address order into said outgoing data stream buffer when said difference is not a new field and said first difference is greater than P bytes away from said second difference, where P is a non-negative positive integer of value greater than one; and means for outputting data in said outgoing data stream buffer to a terminal device.
Claim 17
Dependent Claim 195 words
An input/output controller for optimizing a data stream, said input/output controller comprising: means for receiving said data stream into a next state buffer; means for comparing said next state buffer to a current state buffer to detect a first difference and a second difference between said next state buffer and said current state buffer; means for placing characters from said current state buffer into said outgoing data stream buffer when said first difference is less than N bytes away from said second difference, where N is a non-negative positive integer of value greater than one; means for using a Repeat-To-Address order in place of repeated characters within said outgoing data stream buffer whenever there are more than M of said repeated characters, where M is a non-negative positive integer of value greater than one; means for placing a Set-Buffer-Address order into said outgoing data stream buffer when said difference is not a new field and said first difference is greater than P bytes away from said second difference, where P is a non-negative positive integer of value greater than one; and means for outputting data in said outgoing data stream buffer to a terminal device.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-11-21 1998-05-23 1998-11-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-11-21 2002-05-23 2002-11-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-11-21 2006-05-23 2006-11-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag