`U300561963 1A
`
`[19]
`United States Patent
`Schott
`
`[11] Patent Number:
`5,619,631
`[45] Date of Patent: Apr. 8, 1997
`
`
`
`[54] METHOD AND APPARATUS FOR DATA
`ALTERATION BY MANH’ULATION 0F
`REPRESENTATIONAL GRAPHS
`
`[75]
`
`Inventor: Eric G. Schott, Mercer Island. Wash.
`
`[73] Assignce: BinaryBlitz, Reno. Nev.
`
`[21] App]. No.: 472,390
`
`[22]
`
`Filed:
`
`Jun. 7, 1995
`
`Int. Cl."I
`[51]
`[52] US. Cl.
`[58]
`Field of Search
`
`G06F 15100
`3951140
`3951140. 135,
`395113'5,”155, 161;:1451113, 114
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4.188.538
`5.237.648
`5,461,708
`5,522,022
`5,553,212
`
`340F147
`1111988 Klein 131 a].
`..... 395,?133
`811993 Mills eta].
`1011995 Kahrt ................... 3951140
`
`51' 1996 Rao et til. .......... 3951140
`
`911996 Etoh et al.
`3951140
`
`Primary Examiner—Pm K. Nguyen
`Attorney Agent, or Ftrim—Christensen, O‘Connor, Johnson
`& Kindness PLLC
`
`[57]
`
`ABSTRACT
`
`A method and apparatus are provided for altering data by
`manipulation of representational dynamic graphs. Specifi—
`cally. a method and apparatus are provided for using
`dynamic graphs wherein the computer user is able to
`manipulate the graph shape directly, which in turn not only
`modifies the graph, but also alters the corresponding and
`underlying tabularized data. as well as any associated
`numeric representations of the data that may be presented to
`the computer user. The 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 or
`unfocused. Creation of the dynamic graph includes creating
`and saving graphical and statistical characteristics of the
`dynamic graph. Manipulation of a data representation ele-
`ment via the user manipulation device may include recon—
`figuring the dynamic graph to select a focused data repre-
`sentation element desired to be manipulated. Modification of
`the dynamic graph according to user manipulation includes
`altering not only the graphical display, but also the under—
`lying graph dala corresponding to the dynamic graph. The
`method and apparatus thereby provide a simple and easy
`way for users to alter their data and modify the interrela-
`tionship between associated data by intuitive manipulation
`of representational dynamic graphs.
`
`46 Claims, 36 Drawing Sheets
`
`
`
`
`0001
`0001
`
`TDA 1009
`TDA 1009
`CBM of U.S. Pat. No. 7,533,056
`CBM of US. Pat. No. 7,533,056
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 1 0f 36
`
`5’6199631
`
`
`
`g.
`
`7.
`
`0002
`0002
`
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 2 of 36
`
`5,619,631
`
`PROCESSING
`
`
`
`
`
`UNIT
`
`30
`
`20
`
`f
`
`32
`
`ADDRESS/DATA BUS
`
`34
`
`SYSTEM
`MEMORY
`
`I/O
`CONTROLLER
`
`
`
` 46
`
`0003
`0003
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 3 of 36
`
`5,619,631
`
`54
`
`DETERMINE
`
`HANIPULA TION INFORMA TION
`
`
`521‘
`
`IS
`
`
`
`THE DYNAMIC GRAPH
`
`TO BE MANIPULATED
`
` 58
`
`BY USER
`
`?
`
`
`
`ALTERATION OF
`
`
`
`DYNAMIC
`
`OUTPUT GRAPH
`
`
`ALTERATION OF
`
`DYNAMIC
`
`INPUT GRAPH
`
`0004
`0004
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 4 of 36
`
`5,619,631
`
`EETERNINE GRAPH DATA
`AND GRAPH PARAMETERS
`
`6‘2
`
`64
`
`CREATE DYNAMIC GRAPH USING
`
`
`
`
`
`GRAPH DATA AND GRAPH PARAMETERS
`HAVING A DATA REPRESENTATION
`
`
`ELEMENT CAPABLE OF BEING
`FOCUSED OR UNFOCUSED
`
`
`74
`
`MONITOR FOR
`USER INPUT
`
`5" .4.
`I?
`
`
`
`76
` MANIPULATION
`OF UNFOCUSED DATA
`
`REPRESENTATION
`
`ELEMENT
`9
`
`
`
`
`DETERMINE
`
`FOCUS INFORMATION
`
`DETERMINE
`
`ALTERATION INFORMATION
`
`32
`
`RECONFIGURE DYNAMIC GRAPH
`
`BY SHIFTING FOCUS TO
`
`DATA REPRESENTATION
`
`ELEMENT INDICATED BY
`
`ACCORDING TO
`
`'
`
`NOTIFY DYNAMIC GRAPH
`
`
`
`
`
`
`ALTERATION INFORMATION
`
`
`
`ALTER GRAPH DATA STORED IN
`FOCUS INFORMATION
`
`
`
`SYSTEM MEMORY ACCORDING TO
`ALTERATION INFORMATION
`
`
`
`
`REPORT ALTERATION OF
`
`GRAPH DATA TO ASSOCIATED
`
`SYSTEM COMPONENTS
`
`
`
`84
`
`
`
`86
`
`83
`
`
`
`0005
`0005
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 5 of 36
`
`5,619,631
`
`TO DISPLAY DA TA REPRESENTATION
`
`66
`
`
`DETERMINE SCALING FACTOR NECESSARY
`
`
`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
`
`70
`
`
`
`DISPLAY DYNAMIC GRAPH AND CORRESPONDING
`DATA REPRESENTATION ELEMENT ON VIDEO DISPLAY
`
`72
`
`
`
`
`
`0006
`0006
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 5 of 36
`
`5,619,631
`
`90
`
`DETERMINE GRAPH DATA
`
`AND GRAPH PARAMETERS
`
`CREATE DYNAMIC GRAPH BACKGROUND
`
`USING GRAPH PARAMETERS
`
`92
`
`SAVE DYNAMIC GRAPH BACKGROUND
`TO A FIRST SYSTEM MEMORY LOCATION
`
`COPY DYNAMIC GRAPH BACKGROUND
`
`TO A SECOND SYSTEM MEMORY LOCATION
`
`
`
`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
`
`9795.
`
`0007
`0007
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 7 of 36
`
`5,619,631
`
`DETERMINE CRAPM DATA
`AND CRAPD PARAMETERS
`
`“9
`
`CREATE DYNAMIC GRAPH
`DACIICRODND USINC CRAPE PARAMETERS
`
`’ ’2
`
`SAYE DYNAMIC CRAPII BACKGROUND
`TO A FIRST SYSTEM MEMORY LOCATION
`
`”4
`
`COPY DYNAMIC CRAPE DACECRODND
`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 CRATE TRON
`SECOND SYSTEM MEMORY LOCATION ON VIDEO DISPLAY
`
`’39
`
`MONITOR
`
`FOR ASSOCIATED
`
`122
`
`SYSTEM COMPONENT
`
`
`INFORMATION
`
`
`COPY DYNAMIC CRAPH DACNCROIIND PROM
`THE FIRST SYSTEM MEMORY LOCATION
`
`’24
`
`TO A SECOND SYSTEM MEMORY LOCATION
`
`CREATE A NEEr DATA REPRESENTATION
`ELEMENT ON THE DYNAMIC GRAPH BACKGROUND
`
`’25
`
`AT THE SECOND SYSTEM MEMORY LOCATION
`
`E59,. 6.
`
`0008
`0008
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 8 of 36
`
`5,619,631
`
`I”?Igl"?-
`
`I?I?I?-
`
`0009
`0009
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 9 of 36
`
`5,619,631
`
`I50
`
`CREATE DYNAMIC BAR GRAPH
`
`BACKGROUND IN SYSTEM MEMORY
`
`152
`
`COPY DAR GRAPH BACKGROUND
`
`AND CREATE UNFOCUSED BAR
`
`
`
`
`
`DATASETS ON COPY IN SYSTEM MEMORY
`
`CREATE IN SYSTEM MEMORY
`
`A FULL-HEIGHT BAR ELEMENT
`
`WITH BEVELED APPEARANCE
`
`154
`
`156‘
`
`DISPLAY FROM SYSTEM MEMORY
`TO VIDEO DISPLAY THE
`
`PARTIALLY COMPLETE BAR GRAPH
`
`153
`
`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
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 10 of 36
`
`5,619,631
`
`136
`
` CHANGE
`EOCUSED DAR
`
`?
`ELEMENT
`
`YES
`
`188
`
`COPY OVER EXISTING
`
`FOCUSED BAR ON SCREEN EITII
`
`BACKGROUND IN SYSTEM MEMORY
`
`190
`
`DISPLAY A SIMPLE.
`UNFOCIISED DAR ELEMENT
`
`ON VIDEO DISPLAY
`
`192
`
`COPY FOCUSED DAR
`
`FOCUSED BAR ELEMENT POSITION
`
`FROM SYSTEM MEMORY TO
`
`VIDEO DISPLAY IN NE!r
`
`170
`
`
`CHANGE
`
`FOCUS DATASET
`
`
`
`172
`
`CREATE FOCUSED BAR
`ELEMENT IN SYSTEM MEMORY
`
`174
`
`176
`
`OVERLAY BAR GRAPH BACKGROUND
`AND DATA FITS COPY OF
`BACKGROUND IN SYSTEM MEMORY
`
`CREATE UNFOCDSED BAR ELEMENTS
`ON CRAPH IN SYSTEM MEMORY
`
`9
`
`178
`
`
`
`
`
`180
`
`DISPLAY FROM SYSTEM
`MEMORY TO VIDEO DISPLAY
`THE PARTIALLY COMPLETE GRAPH
`
`
`
`
`
`
`DISPLAY ACTIVE DAR
`DATASET ON VIDEO DISPLAY
`
`
`
`13*
`
`YES
`
`
`
`
`
`DISPLAY PART OF EULL“HEIGHT
`EAR FROM SYSTEM MEMORY
`
`TO THE VIDEO DISPLAY
`
`
`0011
`0011
`
`
`
`US. Patent
`
`Apr. 8, 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 FOGUSED
`
`BAR ELEMENT TO EXTENT NEEDED
`
`
`
`COPY AMOUNT OF FOCUSED
`
`
`
`BAR ELEMENT NEEDED FROM
`
`
`SYSTEM MEMORY TO VIDEO DISPLAY
`
`9419.10.
`
`0012
`0012
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 12 of 35
`
`5,619,631
`
`
`
`777?. 7 777.
`
`577?. 7 773.
`
`
`
`I
`
`’/I
`
`I
`
`I I
`
`‘5
`
`'5
`
`flu-
`
`“in
`
`577?. 7 777.
`
`5779,. 7 7:7).
`
`‘5
`
`--IJ --
`E.”E:
`--II E-
`f’
`
`0013
`0013
`
`
`
`US. Patent
`
`Apr.8,1997
`
`Sheet 13 of 36
`
`5,619,631
`
`CREATE DYNAMIC LINE CRAPE
`BACKGROUND IN SYSTEM MEMORY
`
`2'0
`
`COPY BAR GRAPH BACKGROUND
`
`212
`
`
`AND CREATE UNFOCUSED LINE
`OATASE TS ON COPY IN SYSTEM MEMORY
`
`
`CREATE NEE AREA IN SYSTEM
`MEMORY EOR CROSSEAR BACKGROUND
`
`214
`
`216
`
`N0
`
`IS
`THE GRAPH
`"IN FOCUS"
`9
`
`
`
`
`
`
`COPY CROSSBAR BACKGROUND TO NEW MEMORY
`
`AREA AND CREATE CROSSBAR ON LINE GRAPH
`
`DISPLAY PROM SYSTEM MEMORY TO VIDEO
`DISPLAY TEE PARTIALLY COMPLETED GRAPE
`
`23"
`
`DISPLAY THE ACTIVE LINE
`DATASET ON THE VIDEO DISPLAY
`
`223
`
`0014
`0014
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 14 of 36
`
`5,619,631
`
`
`
` OVERLAY BACKGROUND AND DATA
`
`
`
`
`CHANGE
`
`242
`
`FOCUSED LINE
`
`DATA POINT
`9
`
`YES
`
`COPY CROSSDAR BACKGROUND
`FROAI SAVE AREA TO DAR
`
`244
`
`246
`
`COPY NEE CROSSBAR
`
`BACKGROUND TO SAVE AREA
`
`243
`
`CREATE NEE CROSSBAR
`
`250
`
`COPY BOTH OLD AND NEW
`CROSSDAR AREAS TO VIDEO DISPLAY
`
`252
`
`DISPLAY POCUSED LINE
`muggy 0ng 9w
`caossm BACKGROUND
`ON YIDED DISPLAY
`
`
`
`254
`
`DISPLAY FOCUSED LINE
`
`DATASET OVER NEE
`
`CRDSSHAR ON VIDEO DISPLAY
`
`WITH COPY OF BACKGROUND
`
`IN SYSTEM HEHORY AND
`REDRAEr UNFOCUSED DATA LINES
`
`
`
`SAVE CROSSBAR BACKGROUND
`
`TO A SAVE AREA
`
`IN SYSTEM MEMORY
`
`CREATE NEE FOCUS
`
`CROSSBAR ON LINE
`
`GRAPH IN SYSTEAI MEMORY
`
`
`
`
`
`
`DISPLAY FROM SYSTEM AIEIIORY
`TO VIDEO DISPLAY THE
`
`PARTIALLY CREATED GRAPH
`
`
`DISPLAY THE FOCUSED
`LINE DATASET 0N
`THE VIDEO DISPLAY
`
`
`
`
`95?. 73.
`
`0015
`0015
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 15 of 36
`
`5,619,631
`
`
`DETERMINE AREA ON
`
`
`VIDEO DISPLAY WHERE
`
`LINE WILL CHANGE
`
` 260
`
`
`
`262
`
`COPY SECTION OF
`
`
`
`BACKGROUND FROM SYSTEM
`
`
`
`MEMORY TO VIDEO DISPLAY
`
`
`
`DISPLAY NEWr SECTION
`
`OF LINE T0 VIDEO DISPLAY
`
`264
`
`959.14.
`
`0016
`0016
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 16 of 36
`
`5,619,631
`
`
`
`95%. 1534.
`
`959,. 1553.
`
`
`
`99?. 156.
`
`9:59,. 155).
`
`
`
`$9.158.
`
`0017
`0017
`
`
`
`US. 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
`
`274
`
`CREATE PIE GRAPH ON
`SECOND BACKGROUND BITMAP
`
`273
`
`CREATE FOCUS INDICATOR
`IN SYSTEM MEMORY
`
`2'30
`
`COPY PIE GRAPH ON PIE GRAPH
`
`BACKGROUND TO VIDEO DISPLAY
`
`232
`
`234
`
`
`
`GRAPH
`
`”IN FOCUS"
`9
`
`
`
`YES
`
`DISPLAY FOCUS INDICATOR
`
`ON VIDEO DISPLAY
`
`236‘
`
`0018
`0018
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 18 of 36
`
`'
`
`5,619,631
`
`
`
`29
`
`2
`
` YES
`
`
`
`
`
`CREATE PIE GRAPH
`
`BACKGROUND IN SYSTEM MEMORY
`
`COPY PIE GRAPH BACKGROUND
`
`TO SECOND SYSTEM MEMORY LOCATION
`
`294
`
`296‘
`
`CREATE PIE GRAPH AT
`SECOND MEMORY LOCATION
`
`COPY PIE GRAPH FROM SECOND
`
`MEMORY LOCATION TO VIDEO DISPLAY
`
`293
`
`IS
`
`
`?
`
`
`FOCUS SHIFTING
`
`IVITHIN PIE
`
`
`
`
` YES
`
`
`
`
`REMOVE FOCUS INDICATOR
`FROM VIDEO DISPLAY
`
`3OZ
`
`
`
`
`
`
`304
`
`
`
`PLACE FOCUS INDICATOR ON
`
`VIDEO DISPLAY IN NEE LOCATION
`
`9359,. 77,
`
`0019
`0019
`
`
`
`US. Patent
`
`Apr. 8, 1997r
`
`Sheet 19 of 36
`
`5,619,631
`
`310
`
`
`
`
`
`AT START OF HANIPULATION,
`REMOVE FOCUS INDICATORS
`
`
`
`FROM VIDEO DISPLAY
`
`
`
`EXPANDING
`
`FOCUSED PIE WEDGE
`
`FOCUSED PIE
`
`
`FOCUSED PIE WEDGE
`
`9
`316
`
`
`WEDGE SHOWN LARGER
`
`
`
`DRAIIr EXPANDED
`
`THAN AT START OF
`
`
`MANIPULATION
`
`9
`
`
`
`
`DRAW PIE NEDGES
`AND PART OF ANY WEDGE
`WHICH IS UNCOVERED
`
`DRAW FOCUSED PIE
`
`NEDGE’S EXPANDED NEIGHBOR
`
`
`
`
`REPLACE FOCUS INDICATOR
`ON VIDEO DISPLAY AT
`
`
`END OF MANIPULATION
`
`3559,. 18.
`
`0020
`0020
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 20 of 36
`
`5,619,631
`
`
`
`
`ll---------
`
`
`-----
`Inn-“Immun-
`
`
`---------
`-----mmm-
`
`
`
`
`
`iii=="v.gmllnamfilm.“
`
`-------
`mama-MI-
`mmnmm-
`-------
`------
`
`0021
`0021
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 21 of 36
`
`5,619,631
`
`
`
`
`
`IIIEIIIIIIIII
`
`llIIIIIIIII
`III-IM-
`IIIIIIIIII
`
`
`IIIIIIIIII
`
`IIIIIIIIII
`
`
`
`
`
`III-nil III-
`
`
`
`may-5::;
`
`
`
`I____IIII|[ III
`
`
`
`
`Ina-IIWI
`IIIIIIIIII
`
`IIIIIIIIII
`
`IIIIIIIIII
`III-WI-
`IIIIIIIIII
`
`
`
`
`
`
`0022
`0022
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 22 of 36
`
`5,619,631
`
`
`
`-----unflflfl
`
`II---------
`
`
`
`
`
`
`---------
`----------
`
`
`
`392
`
`394a
`
`
`
`
`
`“ML!!!iii!
`
`
`390
`
`19
`
`39
`
`3Q
`
`4‘!
`
`19
`
`29
`
`
`
`PAST YEAR
`
`
`
`
`
`
`39
`
`49
`
`
`------M
`---------I
`
`--------
`----------
`
`
`
`
`
`
`
`
`
`
`
`
`
`392
`
`
`
`f9
`
`
`
`19:29 39 49
`
`
`49
`NEXT EAR
`PAST YEAR
`
`
`
`
`29
`
`39
`
`0023
`0023
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 23 of 36
`
`5,619,631
`
`
`
`I-Iil-I-I-Ilil
`
`fl-I-I-I-II
`H
`PAST QUARTERS
`FUTURE grammes
`
`III-IIIIII
`
`
`
`
`
`
`
`
`
`nIIIIIIIII
`
`
`
`
`NEXT EAR
`llllIIMi
`
`II____!__IIIIH!E
`IQ
`29
`3Q
`4Q
`19
`29 3Q-4Q
`
`
`
`PAST YEAR
`
`
`
`IIIIIm
`
`ll-I-II-III
`PAST.mamas
`FUTURE .UARTERS
`IIIEIEIIEIIIIIEIEIIIII
`IIIIIEIIIII
`IIIIIIIIII
`
`392
`
`
`
`
`\
`
`
`
`
`
`
`
`IIIIEEE‘iiihl
`IIIIIIwLIjW
`
`
`
`
`
`
`
`
`
`I I
`
`10
`
`20
`
`30
`
`4Q
`19
`29
`3-I
`
`
`PAST YEAR
`
`
`
`
`0024
`0024
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 24 of 36
`
`5,619,631
`
`
`
`--l}l-lJl---III
`
`---------I
`
`PAST [mamas
`FUTURE QUARTERS
`
`
`
`
`
`-----—--
`fl---------
`
`
`
`
`
`
`
`
`
`PAST YEAR
`
`NEXT YEAR
`
`390
`
`l--.-|l I...
`
`
`
`
`
`
`------fllilfl
`
`Il---------
`
`
`
`
`
`
`
`
`
`
`--------
`---------
`
`
`
`
`
`
`
`19
`PAST YEAR
`
`
`
`20
`
`3Q
`
`49
`
`NEXT YEAR
`
`390
`
`10
`
`29
`
`3Q
`
`4Q
`
`0025
`0025
`
`
`
`US. Patent
`
`Apr.8,1997
`
`Sheet 25 of 36
`
`5,619,631
`
`
`IIEIIIIIIIIIEI
`
`IIIIIIIIIII
`
`
`IIIIIIIIII
`
`
`IIIIIIIIII
`
`
`IIIIIIIIII
`
`
`IIIIIIIIII
`
`
`
`
`II_I__IIH I
`
`416‘
`
`I""'
`
`
`IflIIIufllEII
`
`IIIIIIIIII
`
`IIEflElIIIIII
`
`IIIIIIIIII
`
`III-WIRI-
`
`IIIIIIIIII
`
`
`
`
`
`
`
`
`
`Ill-IN
`
`
`
`0026
`0026
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 26 of 36
`
`5,619,631
`
`
`
`
`
`
`IIIIIIM
`
`
`IIIIIIIIII
`
`IIIIIIIIII
`IIIIIIIIII
`
`III-IIIIHEIII
`IIIIIIII
`
`
`
`
`
`
`
`
`
`#MY JUN JUL AUG
`
`uIIIIIIIII
`III-ml III-W
`ImI1=-t
`IlllwQ-EIMEll-Illllllllm
`
`IIIIIIIIflfl
`IIIIIIIIII
`IIIIIIIIEZEI
`“II-IIIIII
`"IEIIIIIIIII
`
`IIIIIH IIIIm
`JAN FEB MAR APR
`
`0027
`0027
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 27 of 36
`
`5,619,631
`
`
`
`
`
`
`
`-----m
`n---------
`--------
`
`
`----------
`
`
`-Mm-
`
`----------
`
`_,__.——.__....—..—.—-_—————
`
`
`
`I'll-ll.".IIIIW-AII'I'IIII—I'-
`
`“-II-II-ml
`!_||-||-||-llllm llll-HILIJ
`
`
`
`
`|I“ll!!§ilifl~'~i”ifl!!\lm
`
`
`
`
`0028
`0028
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 23 of 36
`
`5,619,631
`
`
`
`--u-u----_m_
`n------—=-‘
`---ayJ--'
`-m--mm-m_-
`IIIIIII===
`------—---
`
`
`
`
`
`
`JAN FEB MAR APR MAY JUN JUL AUG
`
`
`
`
`LiiiLEEE
`
`
`
`
`
`
`422
`
`IIMHIIflEIII
`
`mumm-m-I
`IIIIIIIII
`IIIIIIIII ‘
`
`III_____I_IIH!%__#_____W___J_
`
`|Iiiiiiiii§l
`
`0029
`0029
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 29 of 36
`
`5,619,631
`
`JUIF:_—JUL AUG-
`
`-=I!Il
`Illllm
`JAN FEB MAR APR HAY
`
`95?.236.
`
`0030
`0030
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 30 of 36
`
`5,619,631
`
`------ml
`Il---------
`--------
`-m---mmmm-
`---------
`“mm-“-
`
`Iii:EJiln
`
`JAN FEB MAR APR MAY JUN JUL AUG
`
`IEIEJEEIJ
`J
`EH“
`I=EEIIleIEE!J
`
`-nu-n---
`--------
`-mm---
`-m--mlmm
`-M
`------IIII‘I!IIEI-
`
`@2433.
`
`0031
`0031
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 31 of 36
`
`5,619,631
`
`
`
`
`--fl-ulfl-IEIEI-
`
`
`
`----------
`------
`
`
`Ilia-mm“-
`
`
`Imm-
`---------
`
`
`
`so III-In
`
`ASEET liiiilltlli‘.
`
`
`2“ III-In III
`
`
`
`---------
`Elm-“Immimm-
`IM-
`lam-“-
`
`IEEIIH_________
`
`III-IN
`IIIIIIIIIIIiLiiiIIIifl:
`
`0032
`0032
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 32 of 36
`
`5,619,631
`
`80 I----‘|
`
`2" IEI-Ill IEII
`
`“BEEN“.
`-‘gllflllh
`
`/’
`
`H
`
`@256.
`
`0033
`0033
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 33 of 36
`
`5,619,631
`
` ‘
`
`~‘--.
`
`__-
`
`
`
`"I
`
`“'5‘.
`
`I
`
`a“
`
`._
`
`“M...
`
`\
`\
`
`\" '_"*
`\
`
`
`
`
`
`0034
`0034
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 34 of 36
`
`5,619,631
`
`
`
`
`
`--mu
`-- TRAINING BUDGET ----
`NEE YORK OFFICE ----
`NESTERN REGION I ----
`INTERNATIONAL
`- ----
`----------
`
`
`
`
`
`
`-----IEIIJIEIEI
`
`ll- TRAINING BUDGET ----
`
`NEAT YORK OFFICE ----
`
`u WESTERN REGION I ----
`
`INTERNATIONAL
`I ----
`
`----------
`
`
`
`0035
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 35 of 36
`
`5,619,631
`
`
`
`-----flnflfl
`
`
`
`-_----
`NEW YORK OFFICE ----
`
`
`--_---
`
`
`
`
`INTERNATIONAL
`'-
`-
`_-
`
`-
`------
`I--
`
`
`
`
`
`
`
`--fl-II---fllll
`n_---
`--—--
`--—--
`INTERNATIONAL i]--
`
`--------
`
`- -
`
`0036
`
`
`
`US. Patent
`
`Apr. 3, 1997
`
`Sheet 36 of 36
`
`5,619,631
`
`
`
`-----nu--
`
`
`ll- TRAINING BUDGET ----
`
`NEW YORK OFFICE ----
`
`
`WESTERN REGION
`
`
`
`
`INTERNATIONAL
`
`I
`
`
`
`
`
`--fl-----flfl
`
`-_----
`--—---
`_----
`_l]----
`
`----------
`
`
`
`
`
`
`
`
`
`
`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.
`
`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, various 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-
`puteriaed 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—You—
`Get) or GUI (Graphical-Uscr-lnterface) 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 manipulation 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 of
`the spreadsheet more difiicult, and slows the user‘s quest for
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`4D
`
`45
`
`50
`
`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 manipuladon 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 deterrrtirung 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 elc~
`merit. 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. It 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—
`alien 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 element
`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 width, 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 elements 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 by manipulation of representational graphs that over-
`comes limitations associated with keyboard entry of data.
`The present invention provides a simple and easy way for
`c0mputer users to alter their data and modify the interrela-
`ticnship between associated data by intuitive manipulation
`of representational graphs.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`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
`
`10
`
`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;
`FIG. 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 dynamic output graph;
`FIG. 7A is an illustration of a dynamic bar graph back-
`ground having graticules formed in accordance with Ihe
`present invention;
`FIG. TB 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. 73, further including a
`focused bar dataset;
`FIG. TB is the illustration of FIG. 713, 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 FIG. 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 eroSsbar;
`FIG. 11E is the illustration of FIG. 113, further including
`a focused line dataset;
`FIG. 11F is the illustration of FIG. 115, further including
`the crossbar of FIG. 11D;
`FIG. 12 is a flowchart illustrating the steps carried 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. 1513 is the illustration of FIG. 15A. further including
`pie elements, namely pie wedges, forming a complete pie
`graph;
`
`0039
`0039
`
`
`
`5,619,631
`
`5
`FIG. 15C is the illustration of FIG. 158 displayed on the
`video display;
`FIG. 15D is an illustration of a pie focus indicator symbol;
`FIG. ISE is the illustration of FIG. 15C, further including
`two pie focus indicator symbols of FIG. 15!) 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 datasct, 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. 213 is the illustration of FIG. 21A showing a change
`in the location of the crossbar distinct from the location of
`the crossbar of FIG. 21A. reflecting a change in the focused
`line data point;
`FIG. 21C is the illustration of FIG. 21A, wherein the
`dynamic input line graph fimher 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