`
`IBG 1009
`CBM of U.S. Pat. No. 7,533,056
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 1 of 36
`
`5,619,631
`
`9.
`
`7.
`
`0002
`0002
`
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 2 of 36
`
`5,619,631
`
`SYSTEM
`MEMORY
`
`I/0
`
`
`
`ADDRESS/DATA BUS
`
` PROCESSING
`CONTROLLER
`
`
`0003
`0003
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 3 of 36
`
`5,619,631
`
`DETERMINE
`
`MANIPULA TION INFORMA TION
`
`
`
`
`
`IS
`
`THE DYNAMIC GRAPH
`
`
`TO BE HANIPULATED
`
`BY USER
`
`
`
`
`ALTERATION OF
`ALTERATION OF
`DYNAMIC
`DYNAMIC
`
`
`OUTPUT GRAPH
`INPUT GRAPH
`
`
`?
`
`
`
`0004
`0004
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 4 of 35
`
`5,619,631
`
`EETEEEINE GRAPH DATA
`AND GRAPH PARAMETERS
`
`62
`
`
`
`CREATE DYNAMIC GRAPH USING
`
`
`GRAPH DATA AND GRAPH PARAMETERS
`
`HAVING A DATA REPRESENTATION
`ELEMENT CAPABLE OF BEING
`
`
`
`
`
`FOGUSED OR UNFOCUSED
`
` HANIPULATION
`OF UNFOGUSED DATA
`
`REPRESENTATION
`
`ELEMENT
`9
`
`
`
`
`DETERMINE
`
`FOCUS INFORHATION
`
`DETERMINE
`
`ALTERATION INFORHA TION
`
`32
`
`MODIFY DYNAMIC GRAPH
`
`
`
`
`
`RECONFIGURE DYNAHIC GRAPH
`
`
`
`
`
`ACCORDING TO
`ALTERATION mranmm
`
`
`
`BY SHIFTING FOCUS TO
`Hm REPRESENTATION
`ELEMENT INDICATED BY
`MUS ’”F‘””‘“'"’”
`ALTER GRAPH DATA STORED IN
`
`
`SYSTEM MEMORY ACCORDING TO
`ALTERATION INFORMATION
`
`
`86
`
`
`
`REPORT ALTERATION OF
`
`
`GRAPH DATA TO ASSOCIATED
`
`SYSTEM COMPONENTS
`
`
`
`33
`
`0005
`0005
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 5 of 36
`
`5,619,631
`
`
`DETERMINE SCALING FACTOR NECESSARY
`
`TO DISPLAY DA TA REPRESENTATION
`
`ELEMENT WITHIN GRAPH PARAMETERS
`
`
`
`
`
`CREATE DA TA REPRESENTATION
`
`ELEMENT DISPLAY CHARACTERISTICS
`
`USING GRAPH DATA AND SCALING FACTOR
`
`SAVE DA TA REPRESENTATION ELEMENT
`
`DISPLAY CHARACTERISTICS IN SYSTEM MEMORY
`
`
`
`
`
`
`
`DISPLAY DYNAMIC GRAPH AND CORRESPONDING
`DATA REPRESENTATION ELEMENT ON VIDEO DISPLAY
`
`
`
`
`
`0006
`0006
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 6 of 36
`
`5,619,631
`
`90
`
`DETERMINE GRAPH DA TA
`
`AND GRAPH PARAMETERS
`
`CREATE DYNAMIC GRAPH BACKGROUND
`
`USING GRAPH PARAMETERS
`
`92
`
`SAVE DYNAMIC GRAPH BACKGROUND
`TO A FIRST SYSTEM MEMORY LOCATION
`
`.94
`
`COPY DYNAMIC GRAPH BACKGROUND
`
`TO A SECOND SYSTEM MEMORY LOCATION
`
`96
`
`98
`
`
`
`CREATE A DA TA REPRESENTATION ELEMENT
`ON THE DYNAMIC GRAPH BACKGROUND
`
`AT THE SECOND SYSTEM MEMORY LOCATION
`
`DISPLAY RESULTING DYNAMIC GRAPH FROM
`SECOND SYSTEM MEMORY LOCATION ON VIDEO DISPLAY
`
`100
`
`.%;9,.5.
`
`0007
`0007
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 7 of 36
`
`5,619,631
`
`DETERMINE GRAPH RATA
`AND GRAPH PARAMETERS
`
`’“’
`
`CREATE DYNAMIC GRAPH
`BACKGROUND USING GRAPH PARAMETERS
`
`’ I2
`
`SAVE DYNAMIC GRAPH BACKGROUND
`TO A FIRST SYSTEM MEMORY LOCATION
`
`"4
`
`cop? DYNAMIC GRAPH BACKGROUND
`To A SECOND SYSTEM MEMORY LOCATION
`
`“'6
`
`CREATE A DATA REPRESENTATION
`
`ELEMENT ON THE DYNAMIC GRAPH BACKGROUND
`
`AT THE SECOND SYSTEM MEMORY LOCATION
`
`HO
`
`DISPLAY RESULTING DYNAMIC GRAPH FROM
`SECOND SYSTEM MEMORY LOCATION ON VIDEO DISPLAY
`
`120
`
`MONITOR
`
`FOR ASSOCIATED
`
`I22
`
`SYSTEM COMPONENT
`
`
`INFORMATION
`
`
`copy DYNAMIC GRAPH BACKGROUND FROM
`THE FIRST SYSTEM MEMORY LOCATION
`
`‘Z4
`
`To A SECOND SYSTEM MEMORY LOCATION
`
`CREATE A NEH’ DATA REPRESENTATION
`ELEMENT ON THE DYNAMIC GRAPH BACKGROUND
`
`AT THE SECOND SYSTEM MEMORY LOCATION
`
`126
`
`959,. 6.
`
`0008
`0008
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 3 of 35
`
`5,619,631
`
`
`C"-'_'I I4 .
`419'
`— él él
`é—
`
`0009
`0009
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 9 of 36
`
`5,619,631
`
`I50
`
`CREATE DYNAMIC BAR GRAPH
`
`BACKGROUND IN SYSTEM MEMORY
`
`I52
`
`
`
`DATASETS ON COPY IN SYSTEM MEMORY
`
`CREATE IN SYSTEM MEMORY
`
`A FULL-HEIGHT BAR ELEMENT
`
`WITH BEVELED APPEARANCE
`
`I54
`
`156‘
`
`DISPLAY FROM SYSTEM MEMORY
`TO VIDEO DISPLAY THE
`
`PARTIALLY COMPLETE BAR GRAPH
`
`158
`
`COMPLETE DISPLAYING THE BAR
`
`GRAPH ON THE VIDEO DISPLAY
`
`160
`
`
` IS
`THE BAR GRAPH
`"IN FOCUS"
`?
`
`YES
`
`162
`
`DISPLAY PART OF FULL-HEIGHT
`
`BAR FROM SYSTEM MEMORY
`
`TO THE VIDEO DISPLAY
`
`5559,. 8.
`
`0010
`0010
`
`
`
`COPY DAR GRAPH BACKGROUND
`
`AND CREATE UNFOGUSED BAR
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 10 of 36
`
`5,619,631
`
`136
`
` CHANGE
`EOCIISED DAR
`
`1-’
`ELEMENT
`BACKGROUND IN SYSTEM MEMORY
`
`FOCIISED BAR ON SCREEN NITII
`
`COPY OVER EXISTING
`
`I90
`
`DISPLAY A SIMPLE.
`UNFDCIISED DAR ELEMENT
`
`ON VIDEO DISPLAY
`
`I92
`
`COPY FOCUSED BAR
`
`FOCUSED BAR ELEMENT POSITION
`
`FROM SYSTEM MEMORY TO
`
`VIDEO DISPLAY IN NE!’
`
`I70
`
`
`FOCUS DATASET
`?
`
`CHANGE
`
`
`
`1
`
`72
`
`174
`
`CREATE FOCUSED BAR
`ELEMENT IN SYSTEM MEMORY
`
`OVERLAY BAR GRAPH BACKGROUND
`AND DATA NITH COPY OF
`BACKGROUND IN SYSTEM MEMORY
`
`I76
`
`CREATE IINFOCIISED BAR ELEMENTS
`ON GRAPH IN SYSTEM MEMORY
`
`I78
`
`
`
`DISPLAY FROM SYSTEM
`MEMORY TO VIDEO DISPLAY
`THE PARTIALLY COMPLETE GRAPH
`
`I80
`
`DISPLAY ACTIVE DAR
`DATASET ON VIDEO DISPLAY
`
`YES
`
`
`
`0011
`0011
`
`
`
`
`
`
`
`DISPLAY PART OF FULL-IIEIGHT
`EAR FROM SYSTEM MEMORY
`TO THE VIDEO DISPLAY
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 11 of 36
`
`5,619,631
`
`200
`
`
`
`
`
`DRAG
`
`BAR ELEMENT
`
`UPWARD
`
`?
`
`
`
`COPY FROM BAR GRAPH BACKGROUND
`
`
`
`
`
`IN SYSTEM MEMORY TO VIDEO
`
`DISPLAY OVER THE PART OF FOCUSED
`
`BAR ELEMENT TO EXTENT NEEDED
`
`
`
`COPY AMOUNT OF FOCUSED
`
`
`BAR ELEMENT NEEDED FROM
`
`
`SYSTEM MEMORY TO VIDEO DISPLAY
`
`9759.10.
`
`0012
`0012
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 12 of 35
`
`5,619,631
`
`
` 977,. 7 7.7.
`97?. 7 773.
`
`I
`
`I
`
`‘*5
`
`'5
`
`
`
`I’
`
`‘*5
`
`.779. 7 717.
`
`5779.. 7 7.7).
`
`21!! C-
`FZIIK
`/I
`‘E
`
`IIIE
`
`0013
`0013
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 13 of 36
`
`5,619,631
`
`CREATE DYNAMIC LINE CRAPH
`BACKGROUND IN SYSTEM MEMORY
`
`3'"
`
`
`
`COPY BAR GRAPH BACKGROUND
`
`212
`
`AND CREATE UNFOCUSED LINE
`
`
`
`DATASE TS ON COPY IN SYSTEM MEMORY
`
`CREATE NEE AEEA IN SYSTEM
`MEMORY FOR OEOSEEAE BACKGROUND
`
`3”
`
`216
`THE GRAPH
`N9
`
`
`
`COPY CROSSBAR BACKGROUND TO NEW MEMORY
`
`AREA AND CREATE CROSSBAR ON LINE GRAPH
`
`DISPLAY FROM SYSTEM MEMORY T0 IOOEO
`DISPLAY THE PARTIALLY COMPLETED GRAPH
`
`33"
`
`DISPLAY THE ACTIVE‘ LINE
`OATAOET ON THE VIDEO DISPLAY
`
`333
`
`0014
`0014
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 14 of 36
`
`5,619,631
`
`
`
` OVERLAY BACKGROUND AND DATA
`
`WITH COPY OF BACKGROUND
`
`IN SYSTEM MEMORY AND
`REDRAN UNFOCUSED DATA LINES
`
`
`CHANGE
`
`242
`
`EOCUSED LINE
`
`DATA POINT
`-2
`
`YES
`
`244
`
`COPY CROSSBAR BACKGROUND
`FROM SAVE AREA TO DAR
`
`246
`
`COPY NE!’ CROSSBAR
`
`BACKGROUND TO SAVE AREA
`
`243
`
`CREATE NE N CROSSBAR
`
`250
`
`COPY BOTH OLD AND NEW
`
`CROSSBAR AREAS TO VIDEO DISPLAY
`
`252
`
`DISPLAY EOCUSED LINE
`
`DATASET OVER OLD
`
`CROSSDAR BACKGROUND
`
`ON VIDEO DISPLAY
`
`254
`
`DISPLAY FOCUSED LINE
`
`DATASET OVER NE!
`
`CROSSDAR ON VIDEO DISPLAY
`
`
`
`SAVE CROSSBAR BACKGROUND
`
`TO A SAVE AREA
`
`IN SYSTEM MEMORY
`
`CREATE NEE FOCUS
`
`CROSSBAR ON LINE
`
`GRAPH IN SYSTEM MEMORY
`
`DISPLAY FROM SYSTEM MEMORY
`
`TO VIDEO DISPLAY THE
`
`PARTIALLY CREATED GRAPH
`
`DISPLAY THE FOCUSED
`LINE DATASET ON
`
`THE VIDEO DISPLAY
`
`959,. 73.
`
`0015
`0015
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 15 of 36
`
`5,619,631
`
` 260
`
`DETERMINE AREA ON
`
`VIDEO DISPLAY WHERE
`
`
`
`LINE WILL CHANGE
`
`
`
`
`
`COPY SECTION OF
`
`BACKGROUND FROM SYSTEM
`
`MEMORY TO VIDEO DISPLAY
`
`
`
`
`
`OF LINE T0 VIDEO DISPLAY
`
`DISPLAY NEW SECTION
`
`264
`
`9759,. 74.
`
`0016
`0016
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 16 of 35
`
`5,619,631
`
`
`
`95?. mg.
`
`99. 1593.
`
`
`
`95?. 156.
`
`9:69;. 153).
`
`
`
`PR9. 758.
`
`0017
`0017
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 17 of 36
`
`5,619,631
`
`ALLOCATE SYSTEM MEMORY
`FOR PIE GRAPH BACKGROUND
`
`270
`
`CREATE PIE GRAPH
`BACKGROUND IMAGES, IF ANY
`
`272
`
`COPY PIE GRAPH BACKGROUND
`
`TO NEW SYSTEM MEMORY LOCATION
`
`2'74
`
`crews PIE army cm
`SECOND BACKGROUND BITHAP
`
`273
`
`CREATE FOCUS INDICATOR
`IN SYSTEM MEMORY
`
`230
`
`COPY PIE GRAPH ON PIE GRAPH
`
`BACKGROUND TO VIDEO DISPLAY
`
`232
`
`284
`
`
`
`YES
`
`DISPLAY FOCUS INDICATOR
`
`ON VIDEO DISPLAY
`
`236
`
`.%%.76.
`
`0018
`0018
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 13 of 36
`
`'
`
`5,619,631
`
`FOCUS SHIFTING
`
`HITHIN PIE
`‘?
`
`
`
`VIDEO DISPLAY IN NEW LOCATION
`
`PLACE FOCUS INDICATOR ON
`
`5559,. 77,
`
`0019
`0019
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 19 of 36
`
`5,619,631
`
`310
`
`AT START OF HANIPULATION,
`REMOVE FOCUS INDICATORS
`
`
`
`FROM VIDEO DISPLAY
`
`
`
`
`
` IS
`FOCUSED PIE WEDGE
`EXPANDING
`
`
`"9
`
`FOCUSED PIE
`
`9
`
`
`
`
`
`
`
`WEDGE SHOWN LARGER
`
`
`
`THAN AT START OF
`
`MANIPULATION
`9
`
`DRAW EXPANDED
`
`FOCUSED PIE WEDGE
`
`
`
`
`DRAW FOCUSED PIE
`
`WEDGE’.S' EXPANDED NEIOHBOR
`
`DRAW PIE WEDGES
`AND PART OF ANY WEDGE
`WHICH IS UNCOVERED
`
`
`
`
`
`ON VIDEO DISPLAY AT
`
`END OF MANIPULATION
`
`REPLACE FOCUS INDICATOR
`
`3559,. 18.
`
`0020
`0020
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 20 of 36
`
`5,619,631
`
`-E
`
`IflI51’!'IEIl‘Il-
`
`II
`
`IIEIJIIEIC
`
`4!
`
`..I?.I2I%1h
`
`II
`
`E1]-
`IEEIIEIEIIIIJ
`
`I- i
`
`ggaaay
`
`-4£%!IE
`IEEE
`
`0021
`0021
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 21 of 36
`
`5,619,631
`
`
` III II
`II-- “"11
`EEC
`————————-
`
`
`
`
`
`
`
` I---lil
`I::::'»—:::i1
`
`
`
`1!!
`
`
`
`IIIEIIIIEIEI
`11111111
`
`
`
`-
`------I-I
`IIIIEEC
`---—---2]
`
`
`
`
`
`
`
`
`
`
`0022
`0022
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 22 of 36
`
`5,619,631
`
`392
`
`
`
`
`
`ZIIEIIIIIE
`IIXFZIIIZZ
`
`
`
`111-11“
`
`
`
`19
`
`29
`
`3Q
`
`4Q
`
`IQ
`
`29
`
`3Q
`
`4Q
`
`IK
`
`“--—“—
`
`|!!I%|IE
`
`I-——Im I———
`
`0023
`0023
`
`
`21
`
`
`
`
`|!!IIE iii1l4'
`
`Inuluwlnn
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 23 of 36
`
`5,619,631
`
`
`
`
`
`
`
`Zlillil
`IlZZZZZZZZ—
`2
`PAST aumms
`FUTURE armems
`
`IK
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`---—-ZZZ
`
`
`
`
`IIH il
`|!!Inm~:_
`
`I-Inlwlnd
`
`IQ
`29
`3Q
`PAST YEAR
`
`
`4Q
`
`19
`
`29
`
`3Q
`
`40
`
`392
`
`
`
`
`
`ZIIEIIE
`II-3:11“-Z
`
`
`I311
`
`
`
`
`
`
`————————-
`
`
`
`
`
`
`
`
`
`
`Illliiih
`
` T*'?‘
`
`I-----IN
` |
`10
`20
`30
`49
`
`PAST YEAR
`
`0024
`0024
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 24 of 36
`
`5,619,631
`
`
`
`
`
`
`
`
`-IIIJIIII
`--:-““Z
`
`2“---—
`
`
`
`0025
`0025
`
`-I11-111111
`
`
`
`
`
`IEIEIIEI
`Ill----:“-
`
`
`
`
`
`
`
`12
`II
`
`
`
`US. Patent
`
`Apr.8,1997
`
`Sheet 25 of 36
`
`5,619,631
`
`
`
`XEIIIIE
`Ill“:-I-It
`
`———————-
`
`
`-XXII:-I
`
`
`
`-—
`II
`
`
`
`
`
`IEIIIIEIEI
`Z-I11--11
`ERI-
`————————-
`EDIEIEIIZ
`——————— -
`
`
`
`
`
`
`
`
`0026
`0026
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 26 of 36
`
`5,619,631
`
`XIII?
`————————-
`Mil]
`HI--I11]-21
`IIEIIZ
`
`I111“-:1
`
`|!!uwflgE'
`
`«--
`
`un-
`
`0027
`0027
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 27 of 36
`
`5,619,631
`
`
`
`-IEIEIEIEI
`III1--ti--I
`
`
`
`I-
`
`
`
`X-X11111
`EIIEIIC
`————————-
`
`
`Inlillli-IIIWIIIIIIIII-H1
`I!l!!!!I%ilii”**i%E!3»!4*|
`
`1|
`I
`-IIZII-ml
`
`
`
`0028
`0028
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 23 of 36
`
`5,619,631
`
`-Iillfli
`
`II--I--‘T_"E'é
`Hill-
`HIIEUEEIEIC
`1IZZZ1E%3
`X--ZIIIIZ -
`
`Iiiiiiiil
`Inniillnlm
`
`JAN FEB EAR APR MAY JUN JUL AUG
`
` ‘|iiiiWfi!'
`
`Ilnnnmliim *
`
`0029
`0029
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 29 of 36
`
`5,619,631
`
`'~'-'EEEI”h
`
`Illllw ‘,
`
`I————I|\ -H-
`
`JAN FEB MAR APR HAY JUN JUL AUG
`
`959.236.
`
`0030
`0030
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 30 of 36
`
`5,619,631
`
`-EIEIEI
`IIZZZIE--I
`
`IE
`
`IIIEIlEIlflIEI-
`
`IE
`
`EC
`
`I----\l z...‘-
`
`;;wHa|I
`|E.g1mIml
`
`I
`
`I
`
`4
`
`Ii!
`
`ll
`ha
` |} IEEJW
`
`~...,_
`
`.2".
`
`:="'-H
`~..._
`
`I-'-H
`
`_.uIIIIIHllu_
`
`\
`‘
`
`JAN FEB MAR APR MAY JUN JUL AUG
`
`0031
`0031
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 31 of 36
`
`5,619,631
`
`-_..-11
`
`|ii'W”"flit
`
`H
`
`
`
`d
`
`v
`
` CE
`
`IEIEIIEEIEEEIEII
`
`453 fluen-
`460 mm-
`
`
`
`0032
`0032
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 32 of 36
`
`5,619,631
`
`EEC
`EEIEEIEIIEIIIII
`Ell-illfil
`El
`III-
`in
`
`0033
`0033
`
`
`
` U.S.Patent
`
`Apr. 8, 1997
`
`Sheet 33 of 36
`
`5,619,631
`
`472
`
`96.9,. 2 59.
`
`0034
`0034
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 34 of 36
`
`5,619,631
`
`XEIE
`-2-“
`“-
`I-C
`INTERNATIONAL
`n -3-
`ZZZZZZZZ—
`
`
`
`
`
`
`
`
`
`
`ZIEIIJIEIEI
`[I1 TRAINING BUDGET ZZZ—
`NET YORK omcs jj—
`
`ml IIIISTIIRN REGION I j$—
`INTERNATIONAL
`I Z$—
`ZZZZZZZZ—
`
`
`
`0035
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 35 of 36
`
`5,619,631
`
`
`
`
`
`
`
`
`
`
`
`IEIIIHIEI
`IIIIII
`-I
`‘K
`INTERNATIONAL i]-
`$331111
`
`I 1
`
`0036
`
`-EIIIEII
`————-
`NEW YORK OFFICE
`"1
`INTERNATIONAL
`‘I $1—
`ZZZZZZZZ—
`
`
`
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 36 of 36
`
`5,619,631
`
`
`
`
`
`—l?IlI
`[I1 TRAINING BUDGET jj1—
`NEW roux omcp: jj—
`
`WESTERN REGION
`INTERNATIONAL
`
`I
`
`
`
`
`
`
`
`ZIEIIIII
`2211:
`“-
`11-
`“XXX
`111111111
`
`
`
`
`
`
`
`0037
`
`
`
`5,619,631
`
`2
`
`1
`METHOD AND APPARATUS FOR DATA
`ALTERATION BY MANIPULATION OF
`REPRESENTATIONAL GRAPHS
`
`FIELD OF THE INVENTION
`
`This invention generally relates to systems for inputting,
`storing. and displaying data in textual and graphical form,
`and particularly relates to a method and apparatus for data
`alteration by manipulation of a representational graph.
`
`10
`
`BACKGROUND OF THE INVENTION
`
`It is common in computer systems to represent and
`convey information through graphic representations. These
`representations may take a variety of forms, such as alpha-
`numeric characters, varicus sorts of graphs, as well as
`images of physical objects rendered on various computer
`output devices, such as display video displays or printers.
`Historically, humans have controlled computer systems
`through keyboard entry of discrete commands. and entered
`data through keyboard data entry. Such commands or data
`are typically comprised of letters, numbers, and symbols. It
`has been discovered, however, that the ease of using com-
`puterized systems is generally a function of how close the
`system models the logical thought of its human user. A
`person can absorb and manipulate information placed in a
`visual or graphical context much faster than if the same
`information is represented merely by alphanumeric text. As
`a result, in recent years, interfaces for computer systems
`have been developed that more closely model what is
`expected by their human users. taking advantage of benefits
`associated with the visual or graphical display of informa-
`tion to make such systems easier to learn and use. These are
`often known as WYSIWYG (What-You-See-ls-What—Ycu—
`Get) or GUI (Graphical-User-Interface) interfaces. Provid-
`ing for computer control and data entry by a variety of
`means other than through keyboard entry, such as by mouse,
`joystick, trackball, or light pen. these interfaces have gone a
`long way to make user accessibility to computer data and its
`manipulation a reality.
`Beyond simply controlling the computer and entering
`data, however, it is frequently desirable to see graphically
`the data entered, and in particular to see the interrelationship
`of this data. One way of accomplishing this has been the
`development of spreadsheet programs for use on computer
`systems that provide for data, such as numbers, to be entered
`into the computer system and subsequently displayed in
`graphic form. The numbers entered are initially represented
`by alphanumeric characters stored in a multiplicity of cells
`identified by arow and column address on the video display.
`Subsequent rnanipulation of data disposed in these spread-
`sheet programs typically requires the user to enter data into
`the cells by typing the numbers on a computer keyboard. To
`see the interrelationship of these numbers in graphic form.
`the numbers are output as a graph. Should the shape of the
`graph not be to the liking of the user of the computer system,
`or should the user desire to change the interrelationship
`among the numbers represented by the graph, new numbers
`must be typed into the cells of the spreadsheet, at which time
`the graph shape may change to reflect the change made to
`the numbers. While the data generally can be simultaneously
`displayed on the same computer video display as both
`alphanumeric characters and as a graph, the requirement that
`the user enter data on the keyboard renders the operation oi‘
`the spreadsheet more difiicult, and slows the user's quest for
`
`20
`
`25
`
`30
`
`4|)
`
`45
`
`SD
`
`55
`
`60
`
`65
`
`ultimate results, namely the manipulation of the interrela~
`tionship among the data to achieve the desired graph shape.
`
`SUMMARY OF THE INVENTION
`
`In accordance with the present invention, a method and
`apparatus are provided to create a dynamic graphical rep-
`resentation of data, such as data found in a computer
`spreadsheet program, reconfigure the graphical representa-
`tion according to user manipulation of the graph, and modify
`the graphical representation as well as the underlying data
`stored in data arrays based on the user input. Such a method
`and apparatus overcome limitations associated with com-
`puter keyboard entry of data, and provides a simple and easy
`way for users to alter their data and modify the interrela-
`tionship between associated data by intuitive manipulation
`of representational graphs.
`More specifically, a method and apparatus are provided
`for use with a computer system having a processing unit,
`system memory, a user manipulation device, and a video
`display, wherein a dynamic graph is created having at least
`one data representation element which may be focused
`(selected by the, user directly or indirectly through the
`computer system components) or unfocused [deselected by
`the user directly or indirectly through the computer system
`components). The status of the data representation element
`as focused or unfocused relates to its capability to be
`manipulated by the user manipulation device. Creating the
`dynamic graph includes deterrnining graph data for repre-
`sentation as a data representation element, along with graph
`parameters including graphical hardware and software con-
`straints. A scaling factor is determined for use in scaling the
`data representation element such that it can be displayed
`within the graph parameters. The graph data and scaling
`factor is then used to create data representation element
`display characteristics, which describe the numerical as well
`as the visual characteristics of the data representation ele
`ment. ‘These characteristics are saved in system memory.
`The dynamic graph and its corresponding data representa«
`tion elements are displayed on the video display.
`The present invention then monitors the computer system
`for user input and determines, based on that input, whether
`the computer user seeks to manipulate an unfocused data
`representation element. If the user seeks to manipulate an
`unfocused data representation element, focus information is
`determined indicating which data representation element the
`computer user is selecting for manipulation. The dynamic
`graph is then reconfigured by shifting the focus to the data
`representation element indicated by the focus information.
`If the user input indicates that the computer user seeks to
`manipulate a data representation element that is already
`focused, alteration information is determined that indicates
`how the computer user desires to alter the underlying graph
`data represented by the data representation element. Based
`on the alteration information. the dynamic graph is modified.
`The underlying graph data stored in system memory is
`altered according to the alteration information. The alter~
`ation of the graph data is reported to associated system
`components. In this way. the user need only direct a change
`in the dynamic graph by use of the user manipulation device,
`whereupon the video display and an associated spreadsheet,
`for example, are automatically reconfigured.
`In accordance with other aspects of the present invention,
`the data representation element may be protected or unpro-
`tected, and the user may be prevented from manipulating a
`protected data representation element.
`
`0038
`0038
`
`
`
`5,619,631
`
`3
`In accordance with other aspects of this invention, a
`dynamic output graph is created and manipulated based on
`alteration information obtained from associated system
`components.
`In accordance with yet other aspects of the present
`invention, associated system components are notified of
`information pertaining to manipulation of the dynamic data
`representation elements.
`In accordance with other aspects of the present invention,
`attempts for manipulation of the data representation clement
`beyond the boundaries of the dynamic graph results in
`reverting the data representation element
`to its position
`immediately preceding the attempted manipulation.
`In accordance with yet other aspects of the present
`invention, the user manipulation device includes a pointer
`and a button capable of manipulation, wherein the pointer
`position is monitored and the button status is monitored to
`determine the desired position of the pointer within the
`dynamic graph.
`In accordance with still other aspects of the present
`invention, the dynamic graph is a bar graph having bar
`elements. The user manipulation device is used to direct
`change in features of a bar, such as height or widI.h, and the
`video display and associated data tables are reconfigured to
`correspond to the bar change.
`In accordance with yet other aspects of the present
`invention, the dynamic graph is a line graph having a line
`dataset
`including a least
`two line data points. The user
`manipulation device is used to direct changes in the location
`of a line data point.
`In accordance with yet other aspects of the present
`invention. the dynamic graph includes a pie graph including
`at least one pic wedge. The manipulation device is used to
`direct a change in the size of adjacent pie wedges.
`In accordance with still other aspects of the present
`invention, multiple underlying data values for data repre-
`sentation elemenls can be altered by manipulation of a single
`data representation element.
`In accordance with further aspects of the present inven-
`tion, the user manipulation device includes a pointer and a
`pointer indicator, whereupon the pointer indicator changes
`shape based on its proximity to focused and unfocused data
`representation elements and other dynamic data representa-
`tion elements.
`
`As will be appreciated by the foregoing summary, the
`invention provides a method and apparatus for data alter-
`ation hy manipulation of representational graphs that over-
`comes limitations associated with keyboard entry of data.
`The present invention provides a simple and easy way for
`computer users to alter their data and modify the interrela-
`tionship between associated data by intuitive manipulation
`of representational graphs.
`BRIEF DESCRIPTION OF THE DRAWHNIGS
`
`The foregoing aspects and many of the attendant advan-
`tages of this invention will become more readily appreciated
`as the same becomes better understood by reference to the
`following detailed description, when taken in conjunction
`with the accompanying drawings. wherein:
`FIG. 1 is a diagrammatic illustration of a computer system
`having a user manipulation device {a mouse), a keyboard,
`and a video display showing a spreadsheet program in which
`the present invention is useful;
`FIG. 2 is a schematic block diagram of the key compo-
`nents of a computer system needed to carry out the dynamic
`graph program of the present invention;
`
`5
`
`IO
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`FIG. 3 is a flowchart illustrating the steps carried out by
`a dynamic graph program of the present invention;
`FIG. 4 is a flowchart illustrating the steps carried out by
`a dynamic input graph program, associated with the
`dynamic graph program of FIG. 3, for carrying out alteration
`of a dynamic input graph;
`FlG. 4A is a flowchart illustrating the steps carried out in
`creating a dynamic input graph according to the dynamic
`input graph program of FIG. 4;
`FIG. 5 is a flowchart illustrating alternative steps carried
`out in creating a dynamic input graph according to the
`dynamic input graph program of FIG. 4;
`FIG. 6 is a flowchart illustrating the steps carried out by
`a dynamic output graph program, associated with the
`dynamic graph program of FIG. 3, for carrying out the
`alteration of a dynarrtic output graph;
`FIG. 7A is an illustration of a dynamic bar graph back-
`ground having graticules formed in accordance with the
`present invention;
`FIG. 7B is the illustration of FIG. 7A, further including
`unfocused bar datasets;
`FIG. 7C is an illustration of a focused bar element with
`beveled edges:
`FIG. 7D is the illustration of FIG. 713, further including a
`focused bar dataset;
`FIG. 7E is the illustration of FIG. ‘I'D, wherein the focused
`bar element of FIG. 7C has replaced one of the bar elements
`of the focused bar dataset;
`FIG. 8 is a flowchart illustrating the steps carried out by
`the dynamic input graph program of FIG. 4 in creating a
`dynamic input bar graph;
`FIG. 9 is a flowchart illustrating the steps carded out by
`the dynamic input graph program of FIG. 4 in reconfiguring
`a dynamic input bar graph;
`FIG. 10 is a flowchart illustrating the steps carded out by
`the dynamic input graph program of FIG. 4 in modifying a
`dynamic input bar graph;
`_.
`FIG. 11A is an illustration of a dynamic line graph
`background having graticules formed in accordance with the
`present invention;
`FIG. 11B is the illustration of HG. 11A, further including
`unfocused line datasets;
`FIG. 11C is an illustration of a crossbar background of a
`dynamic line graph;
`FIG. 11D is the illustration of FIG. 11B. further including
`a crossbar;
`FIG. 11E is the illustration of FIG. 11B, further including
`a focused line dataset;
`FIG. 11F is the illustration of FIG. 11E, further including
`the crossbar of FIG. 11D;
`FIG. 12 is a flowchart illustrating the steps carded out by
`the dynamic input graph program of FIG. 4 in creating a
`dynamic input line graph;
`FIG. 13 is a flowchart illustrating the steps carded out by
`the dynamic input graph program of FIG. 4 in reconfiguring
`a dynamic input line graph;
`FIG. 14 is a flowchart illustrating the steps carded out by
`the dynamic input graph program of FIG. 4 in modifying a
`dynamic input line graph;
`FIG. 15A is an illustration of a dynamic pie graph
`background formed in accordance with the present inven-
`tion;
`FIG. 15B is the illustration of FIG. 15A. further including
`pie elements, namely pie wedges, forming a complete pic
`graph;
`
`0039
`0039
`
`
`
`5,619,631
`
`5
`FIG. 15C is the illustration of FIG. 15B displayed on the
`video display;
`FIG. ISD is an illustration of a pie focus indicator symbol;
`FIG. 15B is the illustration of FIG. ISC, further including
`two pie focus indicator symbols of FIG. 15D placed at
`opposite outside edges of a pie wedge of the dynamic pie
`graph;
`FIG. 16 is a flowchart illustrating the steps carried out by
`the dynamic input graph program of FIG. 4 in creating a
`dynamic input pic graph;
`FIG. 17 is a flowchart illustrating the steps carded out by
`the dynamic input graph program of FIG. 4 in reconfiguring
`a dynamic input pie graph;
`FIG. 18 is a flowchart illustrating the steps carded out by
`the dynamic input graph program of FIG. 4 in modifying a
`dynamic input pie graph;
`FIG. 19A is an illustration of cells of a spreadsheet having
`data and a dynamic input graph; wherein the dynamic input
`bar graph corresponds to the data of the spreadsheet and
`includes unfocused bar datasets, a focused bar dataset, and
`a focused bar element;
`FIG. 19B is an illustration of cells of a spreadsheet having
`data and a dynamic input line graph. wherein the dynamic
`input line graph corresponds to the data of the spreadsheet
`and includes unfocused line datasets. a focused line dataset,
`and a crossbar;
`FIG. 20A is an illustration of cells of a spreadsheet having
`data and a dynamic input line graph, wherein the dynamic
`input line graph corresponds to the data of the spreadsheet
`and includes a focused line dataset. a crossbar, and a cursor
`poised to manipulate the focused line dataset;
`FIG. 20B is the illustration of FIG. 20A, wherein the
`dynamic input line graph does not have the crossbar and the
`cursor is not poised to manipulate the focused line dataset;
`FIG. 21A is an illustration of cells of a spreadsheet having
`data and a dynamic input line graph, wherein the dynamic
`input line graph corresponds to the data of the spreadsheet
`and includes a focused line dataset and a crossbar that is
`stationary on a line data point;
`FIG. 21B is the illustration of FIG. 21A showing a change
`in the location of the crossbar distinct front the location of
`the crossbar of FIG. 21A. refleeting a change in the focused
`line data point;
`FIG. 21C is the illustration of FIG. 21A, wherein the
`dynamic input line graph fitrther includes a cursor poised to
`select a new focused line data point;
`FIG. 21D is the illustration of FIG. 21A showing achange
`in the location of the crossbar distinct from the location of
`the crossbar of FIG. 21C, reflecting a change in the focused
`line data point;
`FIG. 21E is the illustration of FIG. 21A, further including
`an alert message prominently displayed on the dynamic
`input line graph indicating an attempt to shift the focus of the
`dynamic input line graph to a protected line data point;
`FIG. 21F is the illustration of FIG. 21A, further including
`eight cursor images positions above eight distinct line data
`point, four of which indicate nonmanipulable line data
`points because oftheir location in a protected area, while the
`other four indicate manipulablc line data points;
`FIG. 22A is an illustration of cells of a spreadsheet having
`data and a dynamic input line graph, wherein the dynamic
`input line graph corresponds to the data of the spreadsheet
`and includes a focused line dataset, a crossbar, and a cursor
`poised to manipulate a line data point;
`
`2|)
`
`35
`
`45
`
`50
`
`SS
`
`65
`
`6
`FIG. 22B is the illustration of FIG. 22A, wherein the line
`data point has been manipulated upwards, altering the posi-
`tion of adjacent lined segments of the focused line dataset
`and the underlying graph data displayed in a cell of the
`spreadsheet;
`FIG. 22C is the illustration of FIG. 22A, wherein the line
`data point has been manipulated further upwards, again
`altering the position of adjacent
`lined segments of the
`focused line dataset and the underlying graph data displayed
`in a cell of the spreadsheet;
`FIG. 22D is the illustration of FIG. 22A, wherein the
`cursor previously manipulating the line data point of the
`focused line dataset has been moved away from the manipu-
`lation area, causing the focused line dataset to revert to its
`position prior to manipulation;
`FIG. 22B is the illustration of FIG. 21A, wherein the
`manipulation area corresponding to each line data point is
`illustrated, including the tolerance regions at the top and
`bottom of the graph that allows movement of the cursor
`slightly beyond the bounds of the dynamic input line graph
`without causing the undo operation;
`FIG. 23A is an illustration of cells of a spreadsheet having
`data and a dynamic line input graph, wherein the dynamic
`input line graph corresponds to the data of the spreadsheet
`and includes a focused line dataset and where the focus is on
`the spreadsheet such that there is no focused crossbar on the
`dynamic input line graph;
`FIG. 23B is the illustration of FIG. 23A, wherein focus
`has been shifted from the spreadsheet cells to the dynamic
`input line graph such that the dynamic input line graph
`includes a crossbar;
`FIG. 23C is the illustration of FIG. 23A, wherein a
`focused line data point has been further manipulated so as to
`alter the underlying graph data and the presentation of that
`graph data in the cells of the spreadsheet corresponding to
`the line data point;
`FIG. 24A is an illustration of cells of a spreadsheet having
`data and a dynamic input line graph, wherein the dynamic
`input line graph corresponds to the data of the spreadsheet
`and includes two unfocused line datasets, a focused line
`dataset, and a crossbar, wherein the middle line dataset is the
`focused line dataset;
`FIG. 24B is the illustration of FIG. 24A, wherein the
`bottom line dataset is the focused line dataset:
`
`FIG. 25A is an illustration of cells of a spreadsheet having
`data. a dynamic input line graph, wherein the dynamic input
`line graph corresponds to the data of the spreadsheet and
`includes two unfocused line datasets, a focused line dataset,
`and a crossbar, and further includes a message box with
`buttons corresponding to each line dataset and the corre-
`sponding spreadsheet data, and wherein the top line dataset
`is the focused line dataset;
`FIG. 25B is the illustration of FIG. 25A. wherein the
`bottom line dataset is selected as the focused line dataset by
`manipulation of the corresponding button of the message
`box;
`FIG. 25C is the illustration of FIG. 25A, wherein the
`middle line dataset is selected as the focused line dataset by
`manipulation of the corresponding button of the message
`box;
`FIG. 251) is an illustration of the dynamic line graph
`background associated with the dynamic input line graph of
`FIG. 25C;
`FIG. 25B is the illustration of FIG. 25D, fiirther including
`the two unfocused line datasets of FIG. 25C;
`
`0040
`0040
`
`
`
`7
`
`8
`
`5,619,631
`
`FIG. 25F is the illustration of FIG. 25E, further including
`the focused line dataset and crossbar from FIG. 25A;
`FIG. 26A is an illustration of cells of a spreadsheet having
`data and a dynamic input pie graph, wherein the dynamic
`input pie graph corresponds to the data of the spreadsheet
`and includes three pie wedges,
`two pie focus indicator
`symbols, wherein the focus indicator is on the leftmost pie
`wedge and one focus indicator is rnanipulable, and a cursor;
`FIG. 26B is the illustration of FIG. 26A, wherein the
`focus indicator is on the rightmost pie wedge;
`FIG. 26C is the illustration of FIG. 26A, wherein the
`cursor is poised to manipulate the rightmost pie wedge
`above the manipulable focus indicator symbol;
`FIG. 261) is the illustration of FIG. 26A, wherein the pic
`wedge has been manipulated by the movement of the cursor,
`thereby altering the underlying graph data and the p