`Schott
`
`lllllllllllllllllllllllllllllllllllllllllglullllIllllllllllllllllllllll
`
`USO056
`[11] Patent Number:
`[45] Date of Patent:
`
`5,619,631
`Apr. 8, 1997
`
`[54] METHOD AND APPARATUS FOR DATA
`ALTERATION BY MANIPULATION 0F
`REPRESENTATIONAL GRAPHS
`
`[75] Inventor: Eric G. Schott, Mercer Island, Wash.
`
`[73] Assignee: BinaryBlitz, Reno, Nev.
`
`[21] Appl. No.: 472,390
`
`[22] Filed:
`
`Jun. 7, 1995
`
`[51] Int. Cl.6 .................................................... .. G06F 15/00
`[52] U.S. Cl.
`395/140
`[58] Field of Search ................................... .. 395/140, 135,
`395/133, 155, 161; 345/113, 114
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,788,538 11/1988 Klein et a]. ........................... .. 340/747
`5,237,648
`8/1993
`.. 395/133
`5,461,708 10/1995
`395/140
`5,522,022
`5/1996
`.. 395/140
`5,553,212
`9/1996 Etoh et al. ............................ .. 395/140
`
`Primary Examiner-Phu K. Nguyen
`Attorney, Agent, or Firm—Christensen, O’Connor, Johnson
`& Kindness PLLC
`
`[57]
`
`ABSTRACT
`
`A method and apparatus are provided for altering data by
`manipulation of representational dynamic graphs. Speci?
`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
`modi?es 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
`?guring the dynamic graph to select a focused data repre
`sentation element desired to be manipulated. Modi?cation of
`the dynamic graph according to user manipulation includes
`altering not only the graphical display, but also the under
`lying graph data 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
`
`IBG 1019
`CBM of U.S. Patent No. 7,412,416 B2
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 1 of 36
`
`5,619,631
`520
`
`9651/1.
`
`0002
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 2 0f 36
`
`5,619,631
`
`PROCESSING I30
`UNIT
`J32
`ADDRESS/DA TA BUS
`
`\
`
`k
`
`20
`j
`
`‘
`342
`SYSTEM
`MEMORY
`
`I
`
`V
`
`§38
`S36
`‘—-> STORAGE
`1/0
`CONTROLLER 4
`I
`‘
`
`INPUT
`
`F _________________________ n“:
`
`DEVICE
`
`840
`
`VIDEO
`MEMORY ‘
`465
`
`‘
`
`VIDEO
`CHIP
`
`'
`
`'
`
`l44
`
`VIDEO
`48\ DISPLAY
`
`|
`
`l
`
`5
`;
`l
`i
`i
`I ;
`:
`
`I
`I
`l
`
`l
`
`I
`
`5
`{K42
`i
`i
`i
`5
`:
`
`l
`I
`l
`
`0003
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 3 of 36
`
`5,619,631
`
`§54
`DE TERMINE
`MANIPULATION INFORMATION
`
`IS
`THE DYNAMIC GRAPH
`TO BE MANIPULATED
`BY USER
`9
`
`v
`582
`ALTERATION OF
`DYNAMIC
`INPUT GRAPH
`
`s6"
`‘
`ALTERATION OF
`DYNAMIC
`OUTPUT GRAPH
`
`0004
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 4 of 36
`
`5,619,631
`
`DETERMINE GRAPH DATA I 62
`AND GRAPH PARAMETERS
`
`I64
`
`CREATE DYNAMIC GRAPH USING
`GRAPH DATA AND GRAPH PARAMETERS
`HAVING A DATA REPRESENTATION
`ELEMENT CAPABLE OF BEING
`FOCUSED OR UNFOCUSED
`
`MONITOR FOR
`USER INPUT
`
`MANIPULA TI ON
`OF UNFOCUSED DATA
`REPRESENTATION
`ELEMENT
`‘?
`
`NO
`
`DETERMINE
`FOCUS INFORMATION
`
`V
`RECONFIGURE DYNAMIC GRAPH
`BY SHIFTING FOCUS TO
`DATA REPRESENTATION
`ELEMENT INDICATED BY
`FOCUS INFORMATION
`
`I82
`
`V
`DETERMINE
`ALTERATION INFORMA TI ON
`I84
`MODIFY DYNAMIC GRAPH
`ACCORDING TO
`ALTERATION INFORMATION
`
`V I.
`
`V
`ALTER GRAPH DATA STORED IN
`SYSTEM MEMORY ACCORDING TO
`ALTERATION INFORMATION
`
`[86
`
`V
`REPORT ALTERATION OF
`GRAPH DATA TO ASSOCIATED
`SYSTEM COMPONENTS
`
`I88
`
`0005
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 5 of 36
`
`5,619,631
`
`{'66
`
`DETERMINE SCALING FACTOR NECESSARY
`TO DISPLAY DA TA REPRESENTATION
`ELEMENT WITHIN GRAPH PARAMETERS
`
`{68
`CREATE DATA REPRESENTATION
`ELEMENT DISPLAY CHARACTERISTICS
`USING GRAPH DATA AND SCALING FACTOR
`
`V
`
`V
`SAVE DATA REPRESENTATION ELEMENT
`DISPLAY CHARACTERISTICS IN SYSTEM MEMORY
`
`70
`Y
`
`DISPLAY DYNAMIC GRAPH AND CORRESPONDING
`DATA REPRESENTATION ELEMENT 0N VIDEO DISPLAY
`
`E59,. 4A.
`
`0006
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 6 0f 36
`
`5,619,631
`
`590
`DETERMINE GRAPH DATA
`AND GRAPH PARAMETERS
`
`s92
`v
`CREATE DYNAMIC GRAPH BACKGROUND
`USING GRAPH PARAMETERS
`
`S94
`‘
`SAVE DYNAMIC GRAPH BACKGROUND
`TO A FIRST SYSTEM MEMORY LOCATION
`
`$96
`"
`COPY DYNAMIC GRAPH BACKGROUND
`TO A SECOND SYSTEM MEMORY LOCATION
`
`$98
`CREATE A DA TA REPRESENTATION ELEMENT
`ON THE DYNAMIC GRAPH BACKGROUND
`AT THE SECOND SYSTEM MEMORY LOCATION
`
`\
`
`V
`DISPLAY RESULTING DYNAMIC GRAPH FROM
`SECOND SYSTEM MEMORY LOCATION ON VIDEO DISPLAY
`
`S100
`
`5%}. 5.
`
`0007
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 7 0f 36
`I110
`
`DETERMINE GRAPH DATA
`AND GRAPH PARAMETERS
`
`5,619,631
`
`V
`CREATE DYNAMIC GRAPH
`BACKGROUND USING GRAPH PARAMETERS
`
`I112
`
`V
`SAVE DYNAMIC GRAPH BACKGROUND
`TO A FIRST SYSTEM MEMORY LOCATION
`
`/(114
`
`‘I
`COPY DYNAMIC GRAPH BACKGROUND
`TO A SECOND SYSTEM MEMORY LOCATION
`
`I116
`
`\
`CREATE A DATA REPRESENTATION
`ELEMENT ON THE DYNAMIC GRAPH BACKGROUND
`AT THE SECOND SYSTEM MEMORY LOCATION
`
`I118
`
`V
`DISPLAY RESULTING DYNAMIC GRAPH FROM
`SECOND SYSTEM MEMORY LOCATION ON VIDEO DISPLAY
`
`I120
`
`122
`
`V
`MONITOR
`FOR ASSOCIATED
`SYSTEM COMPONENT
`INFORMATION
`
`V
`I124
`COPY DYNAMIC GRAPH BACKGROUND FROM
`THE FIRST SYSTEM MEMORY LOCATION
`TO A SECOND SYSTEM MEMORY LOCATION
`
`V
`
`CREATE A NEW DATA REPRESENTATION
`ELEMENT ON THE DYNAMIC GRAPH BACKGROUND
`AT THE SECOND SYSTEM MEMORY LOCATION
`
`I126
`
`Ray. 6.
`
`0008
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 8 of 36
`
`5,619,631
`
`gay. 7A.
`
`5%. 758.
`
`95?. 7%.
`
`___1
`
`WM
`
`95%. 7.2).
`
`‘?
`
`9%. 763.
`
`0009
`
`
`
`US. Patent
`
`5,619,631
`
`Apr. 8, 1997
`
`Sheet 9 of 36
`g150
`CREATE DYNAMIC BAR GRAPH
`BACKGROUND IN SYSTEM MEMORY
`
`\
`
`gI52
`
`COPY BAR GRAPH BACKGROUND
`AND CREATE UNFOCUSED BAR
`DATASETS ON COPY IN SYSTEM MEMORY
`
`CREATE IN SYSTEM MEMORY
`A FULL-HEIGHT BAR ELEMENT
`WITH BEVELED APPEARANCE
`
`g156
`‘I
`DISPLAY FROM SYSTEM MEMORY
`TO VIDEO DISPLAY THE
`PARTIALLY COMPLETE BAR GRAPH
`
`658
`v
`COMPLETE DISPLAYING THE BAR
`GRAPH ON THE VIDEO DISPLAY
`
`THE BAR GRAPH
`"IN FOCUS"
`?
`
`YES
`
`gIGZ
`DISPLAY PART OF FULL-HEIGHT
`BAR FROM SYSTEM MEMORY
`TO THE VIDEO DISPLAY
`
`95?. 8.
`
`0010
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 10 of 36
`
`5,619,631
`
`V
`
`CHANGE
`FOCUSED BAR
`ELEMENT
`9
`
`COPY OVER EXISTING
`FOCUSED BAR ON SCREEN NITH
`BACKGROUND IN SYSTEM MEMORY
`§19O
`DISPLAY A SIMPLE,
`UNFOCUSED BAR ELEMENT
`ON VIDEO DISPLAY
`
`§192
`
`y
`COPY FOCUSED BAR
`FROM SYSTEM MEMORY TO
`VIDEO DISPLAY IN NEN
`FOCUSED BAR ELEMENT POSITION
`
`170
`
`CHANGE
`FOCUS DATASET
`?
`
`172 ?
`
`CREATE FOCUSED BAR
`ELEMENT IN SYSTEM MEMORY
`
`'
`174?
`OVERLAY BAR GRAPH BACKGROUND
`AND DATA NITH COPY OF
`BACKGROUND IN SYSTEM MEMORY
`
`y
`176?
`CREATE UNFOCUSED BAR ELEMENTS
`ON GRAPH IN SYSTEM MEMORY
`
`178
`?
`
`v
`DISPLAY FROM SYSTEM
`MEMORY TO VIDEO DISPLAY
`THE PARTIALLY COMPLETE GRAPH
`180 ?
`DISPLAY ACTIVE BAR
`DATASET ON VIDEO DISPLAY
`
`V
`
`DISPLAY PART OF FULL-HEIGHT
`BAR FROM SYSTEM MEMORY
`TO THE VIDEO DISPLAY
`
`0011
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 11 of 36
`
`5,619,631
`
`DRAG
`BAR ELEMENT
`UPWARD
`‘?
`
`§202
`COPY FROM BAR GRAPH BACKGROUND
`IN SYSTEM MEMORY TO VIDEO
`DISPLAY OVER THE PART OF FOCUSED
`BAR ELEMENT TO EXTENT NEEDED
`
`A
`
`8-204
`
`COPY AMOUNT OF FOCUSED
`BAR ELEMENT NEEDED FROM
`SYSTEM MEMORY TO VIDEO DISPLAY
`
`gay. 70.
`
`0012
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 12 of 36
`
`5,619,631
`
`9113,1111.
`
`fhy. 7 793.
`
`91?. 1 1%.
`
`9121.115).
`
`511%.1 18.
`
`511571.119.
`
`0013
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 13 of 36
`
`5,619,631
`
`;210
`CREATE DYNAMIC LINE GRAPH
`BACKGROUND IN SYSTEM MEMORY
`
`\
`COPY BAR GRAPH BACKGROUND
`AND CREATE UNFOCUSED LINE
`DATASETS ON COPY IN SYSTEM MEMORY
`
`/(212
`
`V
`CREATE NEW AREA IN SYSTEM
`MEMORY FOR CROSSBAR BACKGROUND
`
`9218
`COPY CROSSBAR BACKGROUND TO NEW MEMORY
`AREA AND CREATE CROSSBAR ON LINE GRAPH
`
`V
`;220
`DISPLAY FROM SYSTEM MEMORY TO VIDEO
`DISPLAY THE PARTIALLY COMPLETED GRAPH
`
`V
`i222
`DISPLAY THE ACTIVE LINE
`DATASET ON THE VIDEO DISPLAY
`
`5%. 72.
`
`0014
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 14 of 36
`
`5,619,631
`
`OVERLAY BACKGROUND AND DATA
`IVITH COPY OF BACKGROUND
`IN SYSTEM MEMORY AND
`REDRAN UNFOCUSED DATA LINES
`
`9234
`SAVE CROSSBAR BACKGROUND
`TO A SAVE AREA
`IN SYSTEM MEMORY
`gzss
`
`CREATE NEE FOCUS
`CROSSBAR ON LINE
`GRAPH IN SYSTEM MEMORY
`
`DISPLAY FROM SYSTEM MEMORY
`TO VIDEO DISPLAY THE
`PARTIALLY CREATED GRAPH
`
`{240
`V
`DISPLAY THE FOCUSED
`LINE DATASET ON
`THE VIDEO DISPLAY
`
`CHANGE
`FOCUSED LINE
`DATA POINT
`9
`
`YES
`
`9244
`COPY CROSSBAR BACKGROUND
`FROM SAVE AREA TO BAR
`
`9246
`,
`COPY NEN CROSSBAR
`BACKGROUND TO SAVE AREA
`
`9248
`V
`CREATE NED’ CROSSBAR
`
`V
`COPY BOTH OLD AND NEIV
`CROSSBAR AREAS TO VIDEO DISPLAY
`
`gzso
`
`9252
`V
`DISPLAY FOCUSED LINE
`DATASET OVER OLD
`CROSSBAR BACKGROUND
`ON VIDEO DISPLAY
`
`§254
`V
`DISPLAY FOCUSED LINE
`DATASET OVER NEE
`CROSSBAR ON VIDEO DISPLAY
`
`0015
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 15 0f 36
`
`5,619,631
`
`I260
`DETERMINE AREA ON
`VIDEO DISPLAY WHERE
`LINE WILL CHANGE
`
`L
`
`I262
`
`COPY SECTION OF
`BACKGROUND FROM SYSTEM
`MEMORY TO VIDEO DISPLAY
`
`l
`
`I264
`
`DISPLAY NEW SECTION
`OF LINE T0 VIDEO DISPLAY
`
`315?. 74.
`
`0016
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 16 of 36
`
`5,619,631
`
`
`
`5A,. 1595.
`9;? 1595.
`
`5%». 155).
`fr’a?.15$.
`
`311?. 756.
`5/320». 758.
`
`96%. 75A.
`95?. 7524.
`
`
`
`3g}. 151%.
`E/7a<0:,.151€.
`
`
`
`0017
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 17 0f 36
`
`5,619,631
`
`I270
`ALLOCATE SYSTEM MEMORY
`FOR PIE GRAPH BACKGROUND
`
`V
`I272
`CREATE PIE GRAPH
`BACKGROUND IMAGES, IF ANY
`
`I
`
`I274
`COPY PIE GRAPH BACKGROUND
`TO NEW SYSTEM MEMORY LOCATION
`
`I278
`V
`CREATE PIE GRAPH ON
`SECOND BACKGROUND BITMAP
`
`\
`I280
`CREATE FOCUS INDICATOR
`IN SYSTEM MEMORY
`
`V
`I282
`COPY PIE GRAPH ON PIE GRAPH
`BACKGROUND TO VIDEO DISPLAY
`
`DISPLAY FOCUS INDICATOR
`ON VIDEO DISPLAY
`
`Ody/.76.
`
`0018
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 18 0f 36
`
`5,619,631
`
`CREATE PIE CRAPH
`BACKGROUND IN SYSTEM MEMORY
`
`\
`COPY PIE GRAPH BACKGROUND
`TO SECOND SYSTEM MEMORY LOCATION
`
`Q2911
`
`§296
`V
`CREATE PIE GRAPH AT
`SECOND MEMORY LOCATION
`
`qzss
`V
`COPY PIE GRAPH FROM SECOND
`MEMORY LOCATION TO VIDEO DISPLAY
`
`REMOVE FOCUS INDICATOR
`FROM VIDEO DISPLAY
`
`V
`PLACE FOCUS INDICATOR ON
`VIDEO DISPLAY IN NEW LOCATION
`
`97%».77,
`
`0019
`
`
`
`US. Patent
`
`Apr. 8, 1997
`
`Sheet 19 0f 36
`
`.
`
`5,619,631
`
`AT START OF MANIPULATION,
`REMOVE FOCUS INDICATORS
`FROM VIDEO DISPLAY
`
`DRAW EXPANDED
`FOCUSED PIE WEDGE
`
`M
`
`A
`
`§322
`REPLACE FOCUS INDICATOR
`ON VIDEO DISPLAY AT
`END OF MANIPULATION
`
`FOCUSED PIE
`WEDGE SHOWN LARGER
`THAN AT START OF
`MANIPULATION
`9
`
`g318
`
`DRAW FOCUSED PIE
`mars EXPANDED NEIGHBOR
`
`DRAW PIE WEDCES
`AND PART OF ANY WEDGE ‘
`WHICH IS UNCOVERED
`
`909.18.
`
`0020
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 20 of 36
`
`5,619,631
`
`
`
`XIII]
`II-“I-XIII
`
`
`
`-E
`
`EIEflEflEI-
`
`II
`
`
`
`
`
`
`
`EIC
`
`
` =i
`In Vwi
`Ila Ila
`um’
`Ila km’
`_1?_ sl|
`
`
`
`5
`
`
`
`JAN FEB MAR APR MAY JUN JUL AUG
`
`
`
`
`
`II
`IE
`
`EIEIEIIMIIIC
`
`II-
`
`
`IIIIEI
`————————-
`
`0021
`
`0021
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 21 of 36
`
`5,619,631
`
`--
`
` XEIEI
`—————
`[Z13
`——
`:-
`
`--
`
`--------
`
`
`H----I
`"iiWlI| W
`I!.u|w::;!,.!l|
`
`
`
`
`JAN FEB MAR APR MAY JUN JUL AUG
`
`9;%.20&4.
`
`EIEEI
`111111111
`
`
`
`--
`
`-“11X—C
`El
`————————
`
`
`
`
`0022
`
`
`
`
`
`374
`
`3 76'
`
`
`
`370
`
`
`
`
`
`0022
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 22 of 36
`
`5,619,631
`
`392
`
`
`
`
`
`1IEII
`111111113
`
`
`
`
`
`Z
`
`
`
`!!lIIlllI
`
`
`
`
`
`
`
`
`XIII!
`I-2111133
`
`392
`
`394b
`
`
`
`
`
`
`———————- _.:T
`
`
`
`
`I .— —1I|
`IlllihIIEI
`....4|l'
`
`99.27%.
`
`
`
`I—
`
`
`
`1Q
`
`2Q
`
`3Q
`
`40
`
`1Q
`
`2Q
`
`3Q
`
`4Q
`
`NEXT YEAR
`
`396
`
`0023
`
`
`
`0023
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 23 of 36
`
`5,619,631
`
`
`
`ZIIII
`111111121
`
`
`
`
`
`
`-I1-I-XI
`IIH ""iHi
`
`
`I—
`
`llllwfifilw
`
`
`
`
`
`
`
`
`
`
`
`ZIEIII
`————————-
`
`392
`
`I—
`
`——————--
`
`
`
`
`
`
`
`
`[plum
`
`I
`
`10
`
`20
`
`30
`
`44?
`
`PAST YEAR
`
`0024
`
`
`
`
`
`
`
`
`
`0024
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 24 of 36
`
`5,619,631
`
`
`
`. 392
`
`—IflIIl}I
`————————u
`
`
`
`
`I1
`
`
`
`
`
`
`
`11111111
`“
`1:”;
`N0 UNPROTECTED FIELDS T0 LEFT !
`Ilm-—uu‘“
`I---
`_?j_j.__T__ :__._T_.j_.j_
`
`
`
`
`|l|
`
`
`
`
`
`
`
`
`
`I1
`
`“-“X-I
`
`
`
`ZEIIIIE
`III:--“:11
`
`0025
`
`0025
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 25 of 36
`
`5,619,631
`
`
`
`
`
`
`
`
`
`
`
`
`IIIIIIE
`---—:---I
`
`-—
`
`———————
`
`
`
`ZI1XZZ:I
`
`
`
`
`
`
`
`IIIIIE
`11111111
`JAN-
`
`lIliiiIlIIllII|I---2--1
`
`
`
`I
`<3
`- ———————-
`
`
`
`0026
`
`0026
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 26 of 36
`
`5,619,631
`
`
`
`XEIIIIE
`n————————-
`
`
`
`-—
`
`
`
`———————-
`MIC
`111111111
`
`I---III ----W
`"11 412
`I:::.|la::;»«»:u
`
`u
`
`I---I0 ———- '
`
`—I
`
`————————-
`
`I1
`
`:211---I
`
`|!!li$H"'1'":
`
`—_.____.....*___jj:
`
`--
`
`0027
`
`0027
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 27 of 36
`
`5,619,631
`
`
`
`XIII]
`I'IIIIIXX_—C
`
`11111111
`MIC
`------:-I
`
`I
`
`
`
`
`_m_HH_%[_l{_H
`Ill!.{lli1lii‘%~iE%!!E!!!!.a
`_!|J!l_|!|_|!||I|%|§|l!||!|J!|_|fl:-|
`
`
`I1
`
`
`
`
`
`
`
`99.228.
`
`0028
`
`0028
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 28 of 36
`
`5,619,631
`
`|iiiiii!'
`II-I-IIi=\
`
`""” m
`iiiiimiul
`IIIIIWIHEW
`
`0029
`
`0029
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 29 of 36
`
`5,619,631
`
`JAN FEB MAR APR MAY JUN
`
`-UL AUG
`
`0030
`
`0030
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 30 of 36
`
`5,619,631
`
`
`
`-II
`-K--‘I--I
`
`
`
`- I
`
`EIHIHIHIEI
`
`II
`
`
`
`
`
`
`IIITIC
`
`
`
`"iii'ii'I"“M
`|E.gm§|m
`
`
`
`
`J
`
`
`
`\
`
`555?. 24x4.
`
`IIIII
`I-H-I-2:“
`[EEC
`!IIIEIlMIiI—
`
`II
`
`fl—
`
`I—C—— 2¢1—
`\
`II:
`I
`ha
`IE5-Ill IEEQ
`
`x‘
`
`./I
`
`-r'’'
`
`4-!" 5.
`
`‘x‘
`.§_‘_
`
`’/
`
`_/‘
`
`\\
`‘
`
`0031
`
`
`
`0031
`
`
`
`Apr. 8, 1997
`
`Sheet 31 of 36
`
`5,619,631
`
`
`
`ZEE
`I-1-11111
`
`
`
`Im
`
`
`
`
`
`
`
`E‘
`
`
`
`
`
`
`
`_______" /,
`~
`»
`
`20
`
`M
`
`H
`
`
`
`
`mmmmu
`
`I
`
`lfl—
`
`iifii
`J!
`
`
`
`
`[L © Ron’ 5
`
`so I----II
`‘I
`ACTIVE DATASET
`u %%%%~
`
`
`
`ZEIII E
`H-“I--I
`
`- I
`
`EEIEJIWIEEIIIII
`I
`flfl—
`
`WE
`
`IE:4-III
`hi
`2” IEEHIH I
`
`—H|I EEII-"
`~~- '
`' \..,\
`
`=..I
`
`"W
`
`X
`
`‘ :
`
`0032
`
`0032
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 32 of 36
`
`5,619,631
`
`
`
`
`
`-IIIIIE
`----:--——
`
`IIEfl@fl]I'fl—
`458 I
`460 —
`462 —¥—
`
`
`— l
`
`
`
`
`
`W
`:2
`
`
`
`I---IN n==='
`
`
`
`am: 1!!
`auflllfilum
`
`Inln -Elam
`
`I I
`
`
`
`0033
`
`0033
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 33 of 36
`
`5,619,631
`
`472
`
`916.259.
`
`0034
`
`0034
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 34 of 36
`
`5,619,631
`
`1lIlfl
`---_—
`“-
`ZI—
`INTERNATIONAL D “-
`D
`4
`ZZZZZZZZ—
`
`
`
`
`
`CIEIEIIZI
`1 TRAINING BUDGET jjj—
`NEW YORK OFFICE Zj—
`WESTERN REGION
`j$—
`INTERNATIONAL
`I $$—
`ZZZZZZZZ—
`
`
`
`
`
`
`
`0035
`
`
`
`U.S. Patent
`
`Apr. 3, 1997
`
`Sheet 35 of 36
`
`5,619,631
`
`—EllIlZI
`— TRAINING BUDGET ————
`NEW YORK omen‘ —Z—
`WESTERN REGION I jj—
`INTERNATIONAL
`I “-
`ZZZZZZZZ—
`
`
`IIIEEI
`IIXIXZZ
`——-
`II“)
`III
`111111111
`II—————|
`
`
`
`I
`
`
`
`E
`
`
`
`0036
`
`
`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 36 of 36
`
`5,619,631
`
`
`
`
`
`
`
`
`
`XIII]
`[I1 TRAINING BUDGET jjj—
`NEW YORK OFFICE jj—
`WESTERN REGION I j1—
`INTERNATIONAL
`:1 I--
`ZZZZZZZZ—
`
`
`
`
`
`ZIIII
`1:-11
`
`--2
`I11
`
`I11
`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 fonn,
`and particularly relates to a method and apparatus for data
`alteration by manipulation of a representational graph.
`
`10
`
`BACKGROUND OF THE INVENTION
`
`is common in computer systems to represent and
`It
`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-
`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 inforrna-
`tion to make such systems easier to learn and use. These are
`often known as WYSIWYG (What-You-See-Is-What-You-
`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 a row 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 diflicult, and slows the user’s quest for
`
`20
`
`25
`
`30
`
`35
`
`40
`
`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 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 determining 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 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 pie 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 lirnitations 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 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
`
`I5
`
`20
`
`25
`
`30
`
`35
`
`40
`
`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 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. 7B, further including a
`focused bar dataset;
`FIG. 7E is the illustration of FIG. 7D, 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;
`1
`V
`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 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 pie
`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. 15C, 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 pie 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 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 further includes a cursor poised to
`select a new focused line data point;
`FIG. 21D is the illustration of FIG. 21A showing a change
`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 of their location in a protected area, while the
`other four indicate manipulable 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;
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`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 lin