`Kiel et al.
`
`(54)
`
`(75)
`
`(73)
`
`21)
`22
`51
`52)
`
`(58)
`
`SYSTEM FOR SELECTIVELY
`COMPRESSING DATA FRAMES BASED
`UPON A CURRENT PROCESSOR WORK
`LOAD IDENTIFYING WHETHER THE
`PROCESSOR IS TOO BUSY TO PERFORM
`THE COMPRESSION
`Inventors: Harvey G. Kiel; Robert J. Manulik,
`both of Rochester, Minn.
`Assignee: International Business Machines
`Corporation, Armonk, N.Y.
`Appl. No.: 558,021
`Filed:
`Jul. 26, 1990
`Int. Cl: .............................................. G06F 13/00
`U.S. C. .................................... 395/800; 358/426;
`364/514; 364/260.6; 364/DIG. 1; 375/122;
`382/56; 395/650
`Field of Search ............... 395/800, 325, 650, 200;
`341/67; 364/514; 375/122; 358/213.25, 426;
`382/56
`
`56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`4,386,416 5/1983 Giltner et al......
`... 395/375
`... 375/27
`4,598,41 7/1986 Berkovich et al. ...
`. 358/425
`4,63,598 12/1986 Burkhardt et al. ....
`4,633,490 12A986 Goertzel et al. .................... 375/122
`4,663,660 5/1987 Fedele et al. ..
`. 358/136
`4,684,923 8/1987 Koga..............
`... 34/63
`4,700,234 10/1987 Nagashima ...
`358/426
`4,823,342 4/1989 Morita et al. ..
`370/109
`4,876,541 10/989 Storer .................................... 341/51
`4,905,171 2/1990 Kiel et al. ..........
`364/551.01
`4,965,754 10/1990 Stansfield et al.
`... 364/526
`5,031,089 7/1991 Liu et al. ............................. 395/725
`FOREIGN PATENT DOCUMENTS
`01.23783 11/1984 European Pat. Off. .
`0316250A3 5/1989 European Pat. Off. .
`
`|||||||||||||||III
`USOO5276898A
`(11
`Patent Number:
`5,276,898
`(45) Date of Patent:
`Jan. 4, 1994
`
`59-189751 10/1984 Japan.
`61-198941 9/1986 Japan.
`63-203057 8/1988 Japan.
`OTHER PUBLICATIONS
`IEEE Transactions on Instrumentation and Measure
`ment vol. IM-28, No. 4, Dec. 1979, New York U.S. pp.
`306-311 H Ikeda et al.: "Microprocessor-controlled
`time-sharing services terminal with interfaces for in
`struments and its application to precision measurement
`of high VSWR'.
`Primary Examiner-Thomas C. Lee
`Assistant Examiner-Paul Harrity
`Attorney, Agent, or Firm-Joan Pennington; Richard E.
`Billion; Bradley A. Forrest
`57
`ABSTRACT
`A method and computer system having a processor are
`provided for selectively compressing a data communi
`cation frame for data transfer between the computer
`system and at least one other system. A processor work
`load is periodically identified for the processor. A pre
`determined stored threshold value is identified and
`compared with the identified processor work load. Re
`sponsive to an identified processor work load greater
`than the identified predetermined threshold value, the
`data communication frame is transmitted without com
`pressing the data communication frame. Otherwise the
`data communication frame is compressed and then
`transmitted responsive to an identified processor work
`load less than or equal to the identified predetermined
`threshold value. A state of a communication line is
`identified for the data transfer. Responsive to an identi
`fied idle state of the communication line, the data con
`munication frame is transmitted without compressing
`the data communication frame.
`
`17 Claims, 3 Drawing Sheets
`
`
`
`
`
`
`
`UN
`come off
`
`sk-UP
`Pale speed
`
`
`
`AUAt
`.NE cofag.
`
`sef NTENA
`cot flag of
`
`SETNTERNA
`coli
`AG ow
`
`
`
`e
`
`IPR2018-01413
`Sony EX1019 Page 1
`
`
`
`US. Patent
`
`1
`
`hS
`
`3f0
`
`5,276,898
`
`1328$:55w.'909.5ozum
`
`Nunoza35m
`
`zo~28
`
`4,E.v.O
`.mmQMom;o:_.Luu.>uoMN
`m3E
`
`
`
`_wu<u¢uhz.uu<umuhz_
`
`
`
`mus-E.mzwuuam
`
`uu_>uouo.>momowmuoommhmoz
`
`mo_>mo
`
`2..8N8ax!”
`
`
`
`Nov225
`
`823%.
`
`mmqqomhzoo
`
`uo<umw...z.
`
`mowmwoomn.
`
`Ox
`
`2
`
`Euhm>w
`
`mu!.h
`
`
`
`mmutammm<m_o:5.3_
`
`bx
`
`b~
`
`2\2IF.
`
`I.
`
`w$ka
`
`Ox“.
`
`
`
`J<2¢ukz_hum
`
`
`
`20$44".$200
`
`$500hum
`
`20
`
`
`
`J<zmmkz_hum
`
`“ED044..—£800
`
`E200hum
`
`V3.
`
`«5‘
`
`w5284:3
`
`mzoouo
`
`hwaao<
`
`
`
`:kozu4w2<mk
`
`|PR2018—O1413
`
`Sony EX1019 Page 2
`
`IPR2018-01413
`Sony EX1019 Page 2
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 4, 1994
`
`Sheet 2 of 3
`
`5,276,898
`
`3ftg-2
`
`2O2
`
`BULD BIND
`COMP OFF
`
`
`
`2O4.
`
`
`
`LOOK-UP
`P/LINE SPEED
`
`
`
`
`
`MANUAL
`NE CONFIG.
`COMPON
`2
`
`YES
`
`SET COMP
`ON
`
`SET BIND
`WAIT RESPONSE
`
`
`
`2/4
`
`2/6
`
`SET INTERNAL
`COMP. FLAG OFF
`
`2/9
`
`SET INTERNAL
`COMP. FLAG ON
`
`
`
`M2/47
`
`3ffeg-3
`
`
`
`GET FRAME
`
`3. O2
`
`ADD HEADER
`COMP OFF
`
`3O4
`
`YES
`
`O6
`/
`MANUAL
`NO
`LINE CONFIG.
`COMP ON
`2
`
`COMP
`SUPPORTED
`2
`
`a UP
`T/LINE SPEED
`
`YES
`
`RECEIVING DATA
`OR
`TRANSMT FRAME
`QUEUED
`2
`
`16
`
`Bo t B
`2
`
`
`
`O
`
`
`
`N32O
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`22
`
`QUEUE FRAME
`AND SEND
`
`IPR2018-01413
`Sony EX1019 Page 3
`
`
`
`US. Patent
`
`J
`
`1
`
`4m9,
`
`Go
`
`3f
`
`5,276,898
`
`ka
`
`uuo0<4L
`
`o
`
`Nno20
`VONm
`
`“:3hum
`
`
`
`u>.._.<omz0.:3m
`
`umZOLmuz
`
`”02°Ca”!
`
`NDK
`
`.2200
`$33...
`
`cmhmomaam
`
`.65<Em>Emoa
`
`
`
`to3.:5602093...«so...
`
`
`4,33m$1.155;Swimuzjlotdm3-50..
`anion:
`
`
`
`.3255.hum325.5..55555..V3..35¢Aan.
`
` oa355m4o._.E:358:“.533mm:a”25.50.".newOb.meOn—wmxUmzommmmm2Fm0450mUQOP4.3
`
`
`
`
`.m.warmed.35mu>Emom35m8.52somon
`
`
`
`J<z¢uhz_hum
`
`ZOo<4umZOU
`
`
`
`4<zmuk2_hum
`
`tho04:“;mioo
`
`
`
`m2<¢uwms...
`
`him—‘5”:O...
`
`G<JLhum
`
`.3:«Oh
`
`
`“ECouncOhm£50020omnuOkm£28
`hmm .Esza‘mPO...
`
`
`0<4u4535.5:bum3..“—J<2¢mkz.
`
`
`mi<mumm<¢
`
`|PR2018—O1413
`
`Sony EX1019 Page 4
`
`IPR2018-01413
`Sony EX1019 Page 4
`
`
`
`
`
`
`
`
`
`
`
`1.
`
`SYSTEM FOR SELECTIVELY COMPRESSING
`DATA FRAMES BASED UPON A CURRENT
`PROCESSOR WORK LOAD IDENTIFYING
`WHETHER THE PROCESSOR IS TOO BUSY TO
`PERFORM THE COMPRESSION
`
`5
`
`5,276,898
`2
`hardware is idle, the time spent compressing data causes
`an overall delay for the start of data transmission.
`U.S. Pat. No. 4,905,171 issued Feb. 27, 1990 to Har
`vey G. Kiel et al. and assigned to the present assignee,
`discloses a workstation controller (WSC) performance
`monitor for locating performance bottlenecks. Perfor
`mance measurements are taken and processor utilization
`and communications line utilization are calculated. Pro
`cessor utilization is calculated using an idle loop for
`generating an idle loop count and using the following
`equation:
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`10
`The present invention relates generally to data com
`munications using data compression, and more particu
`larly to a method and a computer system for dynamic
`management of data compression.
`2. Description of the Prior Art
`Data compression has been increasingly used because
`15
`it provides improved communications performance by
`reducing the amount of transmitted data and/or reduces
`the cost of data communications. Data compression is
`used on various known communications controllers.
`Various compression algorithms have been employed
`20
`for data compression. Examples of data compression
`algorithms are disclosed in U.S. Pat. Nos. 4,386,416,
`4,663,490, 4,663,660 and 4,684,923.
`U.S. Pat. No. 4,631,598 discloses an image processing
`system including a video converter board that transmits
`data to a spatial compressor board which compresses
`data electronically in the x-direction or the direction of
`the linear array. Data compression in the y-direction is
`accomplished by motor speed control movement of the
`document. A scanner controller provides data compres
`30
`sion for the end user to match the data handling capabil
`ities of the end user system. The image processing sys
`tem uses automatic thresholding techniques with re
`spect to grey scale and edge detection threshold param
`35
`eters.
`U.S. Pat. No. 4,598,411 discloses a data compression
`system for compressing data transmitted between a data
`Source and an ultimate utilization device. Data is com
`pressed "on-the-fly" in that the data is compressed as it
`is transmitted, instead of compressing and storing the
`40
`compressed data in memory before it is transmitted.
`Japanese patent No. 59189751 issued Oct. 27, 1984 to
`Nakayama et al., discloses a data transmission control
`system including a central processing unit (CPU) and a
`communication controller (CCU). Image data is sent to
`45
`the CCU by the control of the CPU. The CCU transfers
`received data to an attachment corresponding to a line
`through which data should be transmitted. In the at
`tachment, a start part of the image data is read to deter
`mine whether or not the data is compressed. If the data
`from the CPU is not compressed, the CCU compresses
`the data before it is transmitted. Otherwise, if the data
`from the CPU is compressed, the CCU will bypass the
`compression step and transmit the data in its existing
`compressed form.
`55
`One significant disadvantage of the above and many
`of the known data compression methods is that de
`graded performance can result. Data compression adds
`to the processing overhead and can result in inefficiency
`in the processor system. When the processor utilization
`60
`is high, data compression further increases the proces
`sor utilization resulting in degraded performance. An
`other problem is that data compression may not result in
`any actual data transmission savings. The time spent
`either attempting to or providing the data compression
`65
`can cause a delay in the actual transmission of the data
`and degraded performance. For example, when using a
`high speed communication line and the communications
`
`50
`
`25
`
`(elapsed time of test/idle loop time) -
`id
`t
`processor utilization =
`elapsed time of test/idle loop time
`
`where the idle loop count equals the number of times an
`idle loop was executed, the elapsed time of the test
`equals a predetermined time period for retrieving mea
`surements, and the idle loop time is a constant equal to
`the time required to execute the idle loop once.
`SUMMARY OF THE INVENTION
`Important objects of the present invention are to
`provide an improved method and computer system for
`dynamically controlling the use of data compression for
`data communications; to provide such a data compres
`sion control method and computer system for compar
`ing an identified processor utilization value to a prede
`termined threshold value and for compressing a data
`communication frame when the processor utilization
`value is less than or equal to the predetermined thresh
`old value; to provide such a data compression control
`method and computer system for comparing an identi
`fied processor utilization value to a predetermined
`threshold value and for compressing the data communi
`cation frame using a first compression algorithm re
`sponsive to an identified processor utilization value
`greater than the threshold value; and for compressing
`the data communication frame using a second compres
`sion algorithm responsive to an identified processor
`utilization value less than or equal to the threshold
`value; to provide such a data compression control
`method and computer system for providing a compres
`sion selection flag representative of data compression
`being selected or not selected and for transmitting the
`compression selection flag to a receiving other system,
`the compression selection flag being used by the other
`system for either selecting or not selecting data com
`pression; and to provide such a data compression con
`trol method and system for identifying a state of com
`munication hardware and for compressing a data com
`munication frame when the communication hardware is
`busy and for transmitting a data communication frame
`not compressed when the communication hardware is
`idle.
`In brief, the objects and advantages of the present
`invention are achieved by a method and a computer
`system having a processor for selectively compressing a
`data communication frame for data transfer between the
`computer system and at least one other system. A pro
`cessor utilization value is periodically identified for the
`processor. A predetermined stored threshold value is
`identified and compared with the identified processor
`utilization value. Responsive to an identified processor
`utilization value greater than the identified predeter
`mined threshold value, the data communication frame is
`
`IPR2018-01413
`Sony EX1019 Page 5
`
`
`
`10
`
`40
`
`5,276,898
`3
`4.
`transmitted without compressing the data communica
`being performed by the processor 22 of the WSC 20 for
`tion frame. Otherwise the data communication frame is
`communications with the attached devices 40, it should
`compressed and then transmitted responsive to an iden
`be understood that the invention is not limited to this
`tified processor utilization value less than or equal to the
`application and can be used with various communica
`identified predetermined threshold value. A state of a 5
`tions controllers and computer systems.
`communication line is identified for the data transfer.
`Briefly in accordance with features of the present
`Responsive to an identified idle state of the communica
`invention, data compression is done on a frame by frame
`tion line, the data communication frame is transmitted
`basis, one frame may be compressed and a next frame
`without compressing the data communication frame.
`may not be compressed. As illustrated and described
`with respect to FIGS. 2-7, an identified processor utili
`BRIEF DESCRIPTION OF THE DRAWINGS
`zation value is analyzed and the state of the WSC com
`The present invention together with the above and
`munication hardware is analyzed before data compres
`other objects and advantages may best be understood
`sion is performed. An identified processor utilization
`from the following detailed description of the embodi
`value is compared with a stored processor utilization
`ment of the invention illustrated in the drawings,
`15
`threshold value for the particular line speed. When the
`wherein:
`processor utilization value is greater than the threshold
`FIG. 1 is a block diagram of a communications sys
`value, then data compression is bypassed. A flag repre
`tem which may be employed in carrying out the data
`sentative of a data compression selection based upon the
`compression control method of the invention;
`processor utilization value is passed to a receiving de
`FIG. 2 is a flow chart illustrating logical steps per- 20
`vice 40 to indicate if the device 40 is to compress trans
`formed by a processor of the communications system of
`mitted data frames so that the processor 22 will selec
`FIG. 1 for defining a PC bring-up routine;
`tively receive compressed or not compressed data.
`FIG. 3 is a flow chart illustrating logical steps per
`When the WSC communication hardware is not trans
`formed by a processor of the communications system of
`mitting or receiving data, then the data frame is not
`FIG. 1 for transmitting a data communication frame;
`25
`compressed. When the WSC communication hardware
`FIG. 4 is a flow chart illustrating logical steps per
`is busy, then a current data queue for the WSC commu
`formed by a processor of the communications system of
`nication hardware is compared with a stored threshold
`FIG. 1 for receiving a data communication frame;
`data queue value for the particular line speed. When the
`FIG. 5 is a flow chart illustrating logical steps per
`current queue value is greater than or equal to the
`formed by a processor of the communications system of 30
`threshold value, then the data frame is compressed.
`FIG. 1 for defining an alternative PC bring-up routine;
`Referring now to FIG. 2, there is shown a flow chart
`FIG. 6 is a flow chart illustrating logical steps per
`illustrating sequential steps performed by the processor
`formed by a processor of the communications system of
`22 defining a PC bring-up routine. The sequential steps
`FIG. 1 for defining a timer based module to periodically
`begin with building a bind or request to activate a ses
`turn compression on and off during run time; and
`35
`sion that includes a default setting for no compression as
`FIG, 7 is a flow chart illustrating logical steps per
`indicated by a block 202. Next the processor 22 identi
`formed by a processor of the communications system of
`fies a processor utilization threshold value PT for the
`FIG. 1 for defining an unnumbered information pro
`particular line speed for data transmission. The proces
`cessing routing.
`sor utilization threshold value PT is obtained from a
`DETALED DESCRIPTION OF THE
`stored look-up table including multiple processor utili
`PREFERRED EMBODIMENT
`zation threshold values PT each with a particular line
`speed, for example, such as set forth in TABLE I as
`Referring now to the drawings, in FIG. 1 there is
`follows.
`illustrated a block diagram representation of an exem
`plary data communications system for performing a 45
`data transfer compression control method of the inven
`tion. As illustrated, the exemplary data communications
`system includes a host generally designated by the ref.
`erence numeral 10 and a workstation controller (WSC)
`20 attached to a plurality of devices or work stations 40,
`50
`such as personal computers (PCs), displays or printers.
`Host 10 has a processor 11 connected to a controller
`interface 12, a memory or storage 13 including a data
`base area 14 and input/output (I/O) buffers 16, and a
`system timer 18. Controller interface 12 communicates
`55
`with the WSC 20 via line 17. Line 17 can be a system
`bus, communications line, part of a local area network
`or other communications arrangement. WSC 20 in
`cludes a processor 22 connected to a host interface 21,
`a device interface 23, a memory or storage 24 including 60
`I/O buffers 26 and a counter save area 27, and a WSC
`timer 28. Host interface 21 communicates with the host
`10 over the communications line 17. Device interface 23
`communicates with the devices 40 over a communica
`tions line 29. Processor 22 is a typical processor known
`65
`to those in the art, suitably programmed to operated as
`described with respect to FIGS. 2-7. While the data
`compression control method is described below as
`
`Next an optional step can be performed to identify a
`manually entered line configuration compression selec
`tion of compression on, compression off or dynamically
`determining whether data compression is performed on
`a per communication frame basis, as represented at a
`block 206. When the dynamic compression selection is
`identified at block 206, then a last calculated processor
`utilization value PU is compared with the processor
`utilization threshold value PTidentified at block 204 as
`represented by a decision block 208. One method for
`calculating processor utilization is disclosed by the
`above described U.S. Pat. No. 4,905,171 or alterna
`tively, sampling techniques can be used to obtain the
`last calculated processor utilization value PU. The dis
`
`LINE SPEED
`(bps)
`200
`2400
`4800
`96.00
`19200
`38.400
`
`TABLE I
`PROCESSOR. UTILIZATION
`THRESHOLD PT 7%
`60
`60
`50
`40
`30
`30
`
`IPR2018-01413
`Sony EX1019 Page 6
`
`
`
`5
`
`O
`
`15
`
`30
`
`35
`
`LENE SPEED
`(bps)
`1200
`2400
`4800
`96.00
`19200
`38.400
`
`BYTE COUNT THRESHOLD BT
`O
`O
`O
`O
`20
`40
`
`5,276,898
`5
`6
`closure of U.S. Pat. No. 4,905,171 is incorporated herein
`Next a number of queued tasks To for the processor
`by reference.
`22 is compared with the identified task threshold value
`When the last calculated processor utilization value
`TT as indicated by a decision block 314. When it is
`determined that the number of queued tasks To is less
`PUis less than the identified threshold value PTat block
`208, then the compression preferred flag in the bind is
`than or equal to the identified task threshold value Trat
`set for compression on as indicated by a block 210. Then
`block 314, then the communication line hardware is
`checked to determine if the communication line hard
`the bind is sent and the processor 22 waits for a bind
`ware is receiving data or if an additional complete trans
`response from the PC or other device 40 as indicated by
`mit frame is queued waiting to be transmitted as repre
`a block 212. Next a compression preferred flag is
`sented by a decision block 316. When it is determined
`checked in the bind response as represented by a block
`that the communication line hardware is receiving data
`214. When the compression on flag is not set or is off,
`or that an additional transmit frame is queued at block
`then data compression is not used and an internal com
`316, then the data communication frame is compressed
`pression flag is set to off as represented by a block 216.
`at the block 308. Otherwise when it is determined that
`Otherwise when the compression on flag is set in the
`the communication line hardware is not receiving data
`bind response, then data compression is used and an
`or that an additional transmit frame is not queued at
`internal compression flag is set to on represented by a
`block 316, then a send byte count threshold value Brfor
`block 218.
`the particular line speed is identified from a stored look
`Alternatively, when the last calculated processor
`up table of byte count threshold values BT. TABLE III
`utilization value PUis greater than the identified thresh
`sets forth examples of byte count threshold values BT
`20
`old value PT at block 208, then the compression pre
`with line speeds as follows.
`ferred flag in the bind is set for compressing the data
`communication frame using a first compression algo
`TABLE III
`rithm. Further when the last calculated processor utili
`zation value PU is less than or equal to the identified
`25
`threshold value PT at block 208, then the compression
`preferred flag in the bind is set for compressing the data
`communication frame using a second compression algo
`rithm. In this alternative method, the first compression
`algorithm requires less processor time than is required
`for the second compression algorithm.
`Referring now to FIG. 3, there is shown a flow chart
`illustrating the sequential steps for transmitting a data
`communication frame. First a frame to be transmitted
`typically including 256 bytes of data is processed as
`represented by a block 302. A transmission header is
`added to the data communication frame that includes a
`default setting for no compression as represented by a
`block 304. Next an optional step can be performed to
`identify a manually entered line configuration compres
`40
`sion selection for compression on, compression off or
`dynamically determining whether data compression is
`performed on a per communication frame basis, as rep
`resented at a block 306. When the line is manually con
`figured as compression on at block 306, then the data
`45
`communication frame is compressed, the frame length
`adjusted and the compression flag set to on in the trans
`mission header as indicated at the block 308. When the
`dynamic compression selection is identified at block
`306, then it is determined whether or not the particular
`50
`device 40 supports compression as represented by a
`decision block 310. When it is determined that the de
`vice 40 supports compression at block 310, then a task
`threshold value TT for the particular line speed is ob
`tained from a stored look up table of task threshold
`55
`values TT with line speeds as represented by a block
`312. TABLE II sets forth examples of task threshold
`values TT with line speeds as follows.
`TABLE II
`PROCESSORTASK
`THRESHOLD TT
`
`Next a byte count Bo for the communication line
`hardware is checked and compared with the byte count
`threshold value BTobtained at block 318 as represented
`by a decision block 320. When the communication line
`hardware byte count Bois greater than or equal to the
`byte count threshold value BT, then data compression is
`performed at block 308. Otherwise when the communi
`cation line hardware byte count Bois less than or equal
`to the byte count threshold value BT, then data com
`pression is not performed. Then the data communica
`tion frame is queued for the communication line hard
`ware and sent as represented by a block 322. Also the
`data communication frame is queued for the communi
`cation line hardware without compressing the frame
`and sent at block 322 after a compression off selection is
`identified at block 306, or after it is determined that
`device 40 does not support compression at block 310, or
`after it is determined that more tasks To are queued for
`the processor than the identified task threshold value
`Trat block 314.
`Referring now to FIG. 4, there is shown a flow chart
`illustrating the sequential steps for receiving a data
`communication frame. First a frame is processed as
`represented by a block 402. Next a data compression
`flag is checked to determine whether or not the re
`ceived frame is compressed as represented by a decision
`block 404. When it is determined at block 404 that the
`received frame is compressed, then the data communi
`cation frame is decompressed and the frame length
`adjusted as represented by a block 406. Otherwise, the
`received frame is processed without being decom
`pressed.
`FIGS. 5-7 provide alternative flow charts of sequen
`tial steps performed by the processor 22 for periodic
`adjustment of compression/no compression or bind
`compression negotiation during run time. Referring
`now to FIG. 5, there is shown a flow chart illustrating
`
`LINE SPEED
`(bps)
`1200
`2400
`4800
`96.00
`92.00
`38.400
`
`65
`
`IPR2018-01413
`Sony EX1019 Page 7
`
`
`
`O
`
`LINE
`SPEED
`(bps)
`1200
`2400
`4800
`9600
`19200
`38.400
`
`5,276,898
`7
`8
`alternative sequential steps performed by the processor
`equal to the threshold starting value PSTART and it is
`22 for the device bring-up routine. The sequential steps
`determined that data compression was previously
`begin with building a bind that includes a default setting
`stopped at block 610, then a start compression message
`for compression on as indicated by a block 502. Next the
`is built in an unnumbered information frame UIF as
`processor 22 sends the bind and waits for a bind re
`indicated by a block 620. Then an internal flag is set
`sponse from the device 40 as indicated by a block 504.
`indicative of an outstanding UIF at block 612 and the
`Next a compression preferred flag is checked in the bind
`frame is passed to be transmitted at block 614. Other
`response as represented by a block 506. When the com
`wise when it is determined that the last calculated pro
`pression preferred flag is set on in the bind response
`cessor utilization value PU is greater than the threshold
`identified at block 506, then data compression is used
`starting value PSTART or it is determined that data com
`and the internal compression flag is set to on as repre
`pression was not previously stopped at block 610, then
`sented by a block 508 and the compression preferred
`no further processing is performed within the module.
`flag is set to on as represented by a block 510. Otherwise
`TABLE IV includes examples of processor utiliza
`when the compression preferred flag is not set or is off,
`tion threshold starting and stopping values PSTART,
`then data compression is not used and the internal com
`15
`PSTOP for multiple line speeds as follows.
`pression flag is set to off as represented by a block 512
`and the compression preferred flag is set to off as repre
`TABLE IV
`sented by a block 514.
`PROCESSOR. UTILIZITATION THRESHOLD
`Referring to FIG. 6, there is shown a flow chart
`START
`STOP
`illustrating the sequential steps performed by the pro
`%
`%
`cessor 22 defining a timer based module to periodically
`50
`65
`turn compression on and off during run time. First it is
`50
`6S
`determined if the device 40 supports compression and
`40
`55
`30
`45
`that the communications line can be dynamically con
`25
`40
`figured as indicated by a decision block 602. When it is
`25
`25
`40
`determined that the device 40 does not support com
`pression or the communications line can not be dynami
`cally configured at block 602, then no further process
`ing is performed within the module. Otherwise when it
`is determined that the device 40 does support compres
`30
`sion and the communications line can be dynamically
`configured at block 602, then it is determined if com
`pression is currently being done as indicated at a block
`604.
`When it is determined that compression is currently
`being done at block 604, then a processor utilization
`stopping threshold value PSTOP is identified for the
`particular line speed as indicated by a block 606. A
`stored look-up table can include multiple processor
`utilization threshold stopping and starting values
`40
`PSTART, PSTOP each with a particular line speed. Next
`the identified stopping threshold value PSTOP is com
`pared with a last calculated processor utilization value
`PU as indicated by a decision block 608. When it is
`determined that the last calculated processor utilization
`45
`value PU is less than or equal to the threshold stopping
`value PSTOP, then compression is left on and the routine
`is exitted. When it is determined that the last calculated
`processor utilization value PU is greater than the thresh
`old stopping value PSTOPat block 608, then a stop com
`SO
`pression message is built in an unnumbered information
`frame (UIF) as indicated by a block 610. Then an inter
`nal flag is set indicative of an outstanding UIF as indi
`cated at a block 612 and the frame is passed to be trans
`mitted as indicated at a block 614. An unnumbered
`information processing routine for handling a response
`to the transmitted UIF at block 614 is illustrated and
`described with respect to FIG. 7.
`Otherwise when it is determined that compression is
`not currently being done at block 604, then a processor
`utilization starting threshold value PSTART is identified
`for the particular line speed in the stored look up table
`as indicated by a block 616. Next the identified starting
`threshold value PSTART is compared with a last calcu
`lated processor utilization value PU and it is determined
`65
`if data compression was stopped as represented by a
`decision block 618. When it is determined that the last
`calculated processor utilization value PU is less than or
`
`The sequential steps performed by the processor 22
`defining the timer based module to periodically turn
`compression on and off during run time illustrated and
`described with respect to FIG. 6 are performed at dif
`ferent points in time for different communications lines
`to avoid an oscillation effect that otherwise could result
`from starting or stopping data compression on all com
`munications lines at the same time.
`Referring now to FIG, 7, there is shown a flow chart
`illustrating the sequential steps for handling a response
`to the transmitted UIF frame at block 614 of FIG. 6
`defining the unnumbered information processing rou
`tine. First a request from the device 40 or a response
`from the device 40 to a transmitted request by the pro
`cessor 22 is identified as indicated by a decision block
`702. When a response from the device is identified at
`block 702, then it is determined if there is an outstanding
`UIF by checking if the UIF flag is set as indicated at a
`decision block 704. When it is determined that there is
`no outstanding UIF at block 704, then a flush is per
`formed as indicated at a block 706. Otherwise when an
`outstanding UIF is identified at block 704, then the UIF
`flag is set to off as represented at a block 708. Next it is
`determined if this is a positive response to a stop as
`represented at a decision block 710. When a positive
`response to a stop is identified at block 710, then the
`internal compression flag is turned off to indicate that
`compression is not being done as represented at a block
`712 and the internal compression stopped flag is set on
`to indicate that compression has been stopped by this
`system as represented at a block 714.
`When a positive response to a stop compression is not
`identified at block 710, then it is determined if there is a
`positive response to a start compression as represented
`at a decision block 716. When a positive response to a
`start compression is identified at block 716, then the
`internal compression flag is turned on to indicate that
`compression is being done as represented at a block 718.
`Then the internal compression stopped by this system
`flag is set off to indicate that compression has not been
`stopped as represented at a block 720.
`
`35
`
`55
`
`60
`
`IPR2018-01413
`Sony EX1019 Page 8
`
`
`
`O
`
`15
`
`5,276,898
`9
`10
`defining a compression selection flag representative
`When a request from the device 40 is identified at
`of data compression selected responsive to said
`block 702, then the outstanding UIF flag is checked as
`compared processor utilization value being less
`indicated at a decision block 722. When an outstanding
`than said second predetermined threshold value or
`UIF is identified at block 722, next a negative response
`representative of d