`Guttman et al.
`
`USOO6988241B1
`US 6,988,241 B1
`Jan. 17, 2006
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) CLIENT SIDE, WEB-BASED SPREADSHEET
`(75) Inventors: Steven Guttman, Oakland, CA (US);
`Joseph Ternasky, Mountain View, CA
`(US)
`(73) Assignee: International Business Machines
`Corporation, Armonk, NY (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 825 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/714,024
`(22) Filed:
`Nov. 15, 2000
`Related U.S. Application Data
`(60) Provisional application No. 60/241,083, filed on Oct. 16,
`2000.
`(51) Int. Cl.
`G06F I7/00
`
`(2006.01)
`
`(52) U.S. Cl. ........................ 715/503; 71.5/513; 715/504
`(58) Field of Classification Search ................. 715/503,
`715/504,514,513; 705/26, 19
`See application file for complete Search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`5,893,123 A * 4/1999 Tuinenga .................... 715/504
`5,926,822 A
`7/1999 Garman ...................... 715/503
`6,341,292 B1
`1/2002 Cho et al. ................... 707/203
`6,473.738 B1 10/2002 Garrett ........................ 705/26
`6,631,497 B1 * 10/2003 Jamshidi et al. ............ 71.5/514
`6,632.249 B2 * 10/2003 Pollock ...................... 71.5/513
`OTHER PUBLICATIONS
`Hallberg et al., “Using Microsoft Excel 97", 1997, pp
`596-6O1.
`Shadoff, “JavaScript Spreadsheet”, 1997, text and source
`code downloaded from http://www.websorcerer.com/h12/
`h12.html.
`
`Flanagan, “JavaScript, The Definitive Guide, 3rd Edition”,
`1999, pp 244-246.*
`Harvey, S., Excel 2000 for Windows for Dummies. Copy
`right 1999.
`Screen Print of Help Menu of Microsoft Excel 2000 Hyper
`link pages captured Oct. 29, 2000 3 pages.
`Tidestone.com web pages online. Tidestone.com retrieved
`Oct. 30, 2000). Retrieved from the Internet: <URL: http://
`www.tidestone.com/> 10 pages.
`The-Ciba.com web pages online). The-Ciba.com re
`trieved Feb. 26, 2001). Retrieved from the Internet: <URL:
`http://www.the-ciba.com/> 1 page, Building Windows
`Applications from Spreadsheets.
`
`(Continued)
`
`Primary Examiner Joseph Feild
`ASSistant Examiner James H. Blackwell
`(74) Attorney, Agent, or Firm-Laura A. Majerus; Rimma
`Budnitskaya; Janet M. Skafer
`(57)
`ABSTRACT
`A method and System that that allows a designer to create
`“spreadsheet' web pages, which can then be viewed and
`used by the designer and/or by other users. The described
`embodiments of the present invention allow people to col
`laborate and to share spreadsheets over the web. The
`described embodiment allows a user of the spreadsheet to
`email the Spreadsheet to others and to embed the Spreadsheet
`into web pages owned by the designer or by third parties. A
`described embodiments of the web-based spreadsheet
`allowed the designer to Specify both web data and real-time
`data in the cells of the “spreadsheet.” The web data includes
`a URL of an image that is to be placed in a cell. The web data
`includes a link to a web page in a cell. The real-time data
`includes Stock quotes and currency conversion information
`in the cells of the spreadsheet. Such data reflects a current (or
`Specified) day's Stock quote or a current (or specified)
`currency conversion value.
`
`64 Claims, 27 Drawing Sheets
`
`
`
`102
`
`CLENT
`
`BROWSER
`
`SPREADSHEET
`PAGE
`14
`
`112
`
`110
`
`SERVER
`SERVER SOFTWARE
`
`SPREADSHEET
`DATAFILE (INCLUDES
`REAL-TIME DATA)
`
`SPREADSHEET
`PAGE
`
`MEMBER FLE
`
`104
`
`120
`
`122
`
`112
`
`126
`
`SOURCE OF
`REAL-TIME
`DATA
`
`SAP Exhibit 1032
`SAP v. Express Mobile, Inc.
`IPR2021-01146
`Page 00001
`
`
`
`US 6,988,241 B1
`Page 2
`
`OTHER PUBLICATIONS
`The-Ciba.com web pages online. The-Ciba.com re
`trieved Feb. 26, 2001). Retrieved from the Internet: <URL:
`http://www.the-ciba.com/> 6 pages, What is Visual Baler.
`Tidestone.com web pages online. Tidestone.com retrieved
`Feb. 26, 2001). Retrieved from the Internet: <URL: http://
`www.tidestone.com/> 3 pages, PreSS Releases and
`Announcements.
`DevX.com web pages online). DevX.com retrieved Feb.
`26, 2001). Retrieved from the Internet: <URL: http://www.
`devX.com/> 3 pages, Formula One for Java 5.5.
`Tidestone.com web pages online. Tidestone.com retrieved
`Feb. 26, 2001). Retrieved from the Internet: <URL: http://
`www.tidestone.com/> 2 pages, PreSS Release.
`Tidestone.com web pages online. Tidestone.com retreived
`Feb. 26, 2001). Retreived from the Internet: <URL: http://
`www.tidestone.com/> 2 pages, PreSS Release.
`Tidestone.com web pages online. Tidestone.com retreived
`Feb. 26, 2001). Retreived from the Internet: <URL: http://
`www.tidestone.com/> 1 page, How to Contact Tidestone
`Technologies.
`Tidestone.com web pages online. Tidestone.com retrieved
`Feb. 26, 2001). Retreived from the Internet: <URL: http://
`www.tidestone.com/> 3 pages, PreSS Release.
`
`Thinkfree.com web pages online. Thinkfree.com re
`trieved Feb. 26, 2001). Retrieved from the Internet: <URL:
`http://www.thinkfree.com/> 1 page, Thinkfree Office.
`Thinkfree.com web pages online. Thinkfree.com re
`trieved Feb. 26, 2001). Retrieved from the Internet: <URL:
`http://www.thinkfree.com/> 2 pages, Thinkfree Office: Find
`Out More.
`About Us Factsheet, online Retrieved on Feb. 19, 2001).
`Retrieved from: <URL://www.thinkfree.com/about us/
`about us factsheet.html>, 2 pages.
`ThinkFree Office, online retrieved on Feb. 19, 2001).
`Retrieved from <URL: http://www.thinkfree.com/land
`ing.jsps, 1 page.
`ThinkFree Office, online retrieved on Feb. 19, 2001).
`Retrieved from <URL: http://www.thinkfree.com/find
`out more/find general .html>, 1 page.
`iReporting for eBusiness-Formula One iReporting Plat
`form Tidestone Technologies, online. retrieved on Feb.
`19, 2001 Retrieved from:<URL: http://www.tidestone.com/
`home/default.jsp>, 1 page.
`Tidestone Technologies-What is iReporting?, online re
`trieved on Feb. 19, 2001). Retrieved from: <URL: http://
`www.tidestone.com/products/default.jsp>, 2 pages.
`* cited by examiner
`
`IPR2021-01146 Page 00002
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 1 of 27
`
`US 6,988,241 B1
`
`102
`
`CLIENT
`BROWSER
`
`SPREADSHEET
`PAGE
`
`114
`
`112
`
`110
`
`FIG. I.
`
`104
`
`SERVER
`sERVER software/120
`
`SPREADSHEET
`DATAFILE (INCLUDES
`REAL-TIME DATA)
`
`122
`
`SPREADSHEET
`
`SOURCE OF
`REAL-TIME
`DATA
`
`MEMBER FLE
`
`126
`
`FIG. 3
`SERVER
`
`RECEIVE AREQUEST
`FOR HTML PAGE
`
`LOOK AT THE PARAMETERS
`OF THE RECEIVED REQUEST
`(DATA ID, MODE)
`
`FIND THE DATA FOR THIS DATA D
`
`302
`
`
`
`304
`
`306
`
`308
`SPREADSHEETNYES
`MODE?
`
`
`
`EMBED DATA AND
`RETURN SPREADSHEET
`HTML PAGE
`
`
`
`
`
`
`
`CALCULATOR
`MODE?
`
`
`
`"EMBED MODE"
`RETURNS AN
`EMBEDDED PAGE
`
`
`
`
`
`
`
`
`
`316
`
`EMBED DATA AND RETURN
`CALCULATOR HTMLPAGE
`
`318
`
`IPR2021-01146 Page 00003
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 2 of 27
`Sheet 2 0127
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`s
`
`
`FIG.2
`
`
`
`
`S.
`204
`
`
`
`QBlomomBrainMa’derSpreadsheet
`
`
`
`EIIIIIIIIIIIIIIII!II
`
`
`IIIIIIIIIHHHHHEHHIHH,
`
`
`
`
`
`
` 1 1 1 1
`
`
`
`
`
`IPR2021-01146 Page 00004
`
`&
`222
`
`
`
`
`
`
`
`
`
`IPR2021-01146 Page 00004
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 3 of 27
`
`US 6,988,241 B1
`
`426
`
`428
`
`430
`
`
`
`432
`
`FIG. 4
`BROWSER
`
`LOAD AND PARSE HTML PAGE
`
`GENERATE PROGRESS
`BARS DURING LOADING
`
`BUILD A SPREADSHEET VA
`THE JAVASCRIPT IN THE
`LOADED PAGE (SEE FIG. 5)
`
`ALLOW USER TO SAVE FILE
`
`
`
`434
`
`FIG. 5
`BROWSER, DISPLAYING
`SPREADSHEET
`
`
`
`GET NUMBER OF ROWS
`AND COLUMNS FOR
`THE SPREADSHEET
`
`NITIALIZE EACH CELL
`BASED ON THE DATA
`IN THE DATA ARRAY
`
`502
`
`504
`
`BUILD A DEPENDENCY TREE
`
`505
`
`MAKE THE CELLSVISIBLE
`ONCE ALL THE CELLS ARE
`BUILT IN MEMORY
`
`PERFORM FORMULA
`CALCULATION FOREACH
`CELL WHEN NEEDED
`
`506
`
`508
`
`IPR2021-01146 Page 00005
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 4 of 27
`Sheet 4 0127
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`s
`FIG.6
`
`
`
`2a:
`
`
`
`Eemailthispage
`
`
`
`
`
`
`
`he
`
`
`
`
`
`
`
`CurrencyQuote
`
`WebLink
`
`StockQuote
`
`ImageURL
`
`N n
`
`
`
`
`
`P-----ul-FR
`
`w
`
`IPR2021-01146 Page 00006
`
`.—
`a:a:
`.cIn
`'0
`8L-
`a.
`(n
`‘—OJ
`:t:c
`
`2.
`
`EEa
`
`: Eo‘
`
`2x
`
`IPR2021-01146 Page 00006
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 5 of 27
`Sheet 5 0127
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`
`v
`IE
`
`IPR2021-01146 Page 00007
`
`s
`FIG.7a
`
`
`
`
`
`
`
`1
`
`U
`
`
`
`:::
`
`
`
`
`i ‘
`
`
`
`
`
` @Blox
`
`comBrainMaitarSpreadsheet
`
`IPR2021-01146 Page 00007
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 6 of 27
`Sheet 6 0127
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`Spreadsheet
`
`
`
`
`
`H
`
`
`
`3N I
`
`n
`
`
`
`Blox.comBrainMaHer
`
`
`
`
`
`
`
`
`
`
`
`s
`FIG.7b
`
`
`
`
`
`£2!
`
`IPR2021-01146 Page 00008
`
`IPR2021-01146 Page 00008
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`J
`
`Sheet 7 of 27
`
`US 6,988,241 B1
`8,8
`
`1B1m.
`
`
`
`QZ (91 H.
`
`on65%
`
`9I'll6I'llmIIIIIIIIIi
`
`
`
`
`
`
`
`.mIll2......2......II.7.Ill3..2......%IIIII.5...Ii.“Hun“H.382......
`IIIIlmlnI'll......._.._a.”II“flu-III.-H...-
`6IIIII2....I.mlllllIasI.n,IIIII,.5II
`
`
`mmmmaz;_E_Mari32¢me
`
`
`AEm.sacs{£8.95Sac\\a§:gomo§uwX\rHEE\
`a:£5=25ngo:3.5:22;:32:
`I'llHI
`
`
`IIIII.3...a...II
`
`
`
`
`
`sfimuumam.mzazEEmEouioag
`
`IPR2021-01146 Page 00009
`
`IPR2021-01146 Page 00009
`
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 8 of 27
`Sheet 8 0127
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`-
`|| ||
`
`313'
` olorIn
`IBIBI-
`
`||||||
`
`
`
`
`
`
`
`E
`
`
`
`
`
`
`
`
`
`
`
`FIG.7d
`
`
`
`
`QBlomomBrainMaHerSpreadsheet
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`O
`.HIIIIIIIIIIIIII
`- -
`------------
`I-HHHHHIHHHEIHEH
`
`
`
`
`
`
`
`IPR2021-01146 Page 00010
`
`IPR2021-01146 Page 00010
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 9 of 27
`Sheet 9 0127
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
` QBloxsom
`
`
`BrainMafierSpreadsheet
`
`
`s
`FIG.8a
`
`s
`
`::::
`
`
`
`IPR2021-01146 Page 00011
`
`IPR2021-01146 Page 00011
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 10 of 27
`
`US 6,988,241 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`s
`
`
`
`
`
`
`
`
`
`
`
`
`
`o
`
`
`
`
`
`
`
`H
`i 3 Al-elease
`
`
`
`
`
`IPR2021-01146 Page 00012
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 11 of 27
`
`US 6,988,241 B1
`
`
`
`
`
`
`
`s
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`||||||||||||||
`
`
`
`
`
`
`
`
`
`|||||||
`
`|||||||||||||||||
`||||||||||||
`Al-------------
`IIII
`/
`S
`
`IPR2021-01146 Page 00013
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 12 of 27
`Sheet 12 0f 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`0i
`
`
`
`
`
`
`mmuma
`||||||||||||||||
`1HIIIIIIIIIIIIIIIIIII
`
`
`IIIIIIIIIIIIIIIIIIII
`s
`
`
`FIG.9a
`
`IIIIIIIIIIIIIIIIIIII
`|||||||||||
`1' HIIIIIIIIIIIIIIIIIII
`
`
`
`DBEQNEafiééIZIIEE-
`
`
`‘ |II|II|I|I|IIIIIIIII
`
`||||||||||||||
`
`FormatHeIp
`
`FileEditTools
`
`
`
`
`33lox.comBrainMafierSpreadsheet
`
`
`
`D
`
`h
`O
`as
`
`3.
`N
`R
`
`s
`se
`D
`
`:
`
`
`
`
`
`ii
`e
`
`IPR2021-01146 Page 00014
`
`IPR2021-01146 Page 00014
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 13 of 27
`Sheet 13 0f 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`|ink("th1//abccorp.com QBloxxom
`
`
`
`
`
`
`
`s
`FIG.9b
`
`
`
`
`
`
`
`
`
`
`
`BrainMaflerSpreadsheet
`
`
`
`
`
`
`
`
`
`
`
`||||||||||||||||||
`|||||||||||||||
`
`
`
`
`
`1
`,
`
`L-
`
`20 :
`
`SI
`N
`
`93:“
`"E'O
`'E‘UIU
`.._
`m
`Q<
`32._..._¥K:
`J
`R
`
`
`
`
`
`ea
`
`
`
`
`
`
`
`
`
`C
`d
`s
`aC
`9
`S4
`s -
`
`IPR2021-01146 Page 00015
`
`IPR2021-01146 Page 00015
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 14 of 27
`Sheet 14 0f 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`
`
`
`
`
`
`D
`
`
`
`
`Eemailthispage
`
`
`
`
`
`
`_re","puifitocurrencyhere"."09/11/2000”,"bid")
`
`
`
`®B|ox.comBrainMaHerSpreadsheet
`
`
`
`
`
`
`
`
`
`
`FIG.10a
`
`
`
`
`
`
`
`
`
`i
`
`I
`
`
`
`
`:
` currency(gut"
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPR2021-01146 Page 00016
`
`--------------ee V
`
`
`
`h
`
`IPR2021-01146 Page 00016
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 15 of 27
`Sheet 15 0f 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`In;
`
`
`
`I
`
`II(I
`
`t
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG.10b
`
`
`
`
`
`
`
`
`i
`IIIIIIIIIIIIIIIIIII
`
`
`
`lmleImEl
`i IIIIIIIIIIIIIIIIIII
`
`
`|||||||||||||||
`
`~III|IIII|IIIIIIII|I
`
`
`
`
`09/11/2000","bid")
`IIIIIIIIIIIIIIIIIII
`
`
`
`Ps s a
`HIIIIIIIIIIIIIIIIIII
`
`|||||||||
`s
`usd,gbpfl
`
`HIIIIIIIIIIIIIIIIIII
` currency( {jfllox
`
`IIIIIIIIIIIIIIIIIII
`
`comBroinMaflerSpreadsheet
`
`
`
`
`
`
`
`
`
`
`R
`a
`
`'
`
`'
`
`
`
`\
`.
`
`
`
`v
`
`r~
`
`:
`
`z:
`
`i
`
`1W
`
`IPR2021-01146 Page 00017
`
`IPR2021-01146 Page 00017
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 16 of 27
`Sheet 16 0f 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`Q I
`
`D
`
`
`
`:1I
`
`N 9
`
`':
`
`
`
`
`
`
`
`s
`FIG.11
`
`
`
`
`
`
`
`||||||||||||
`
`III
`
`
`
`
`
`
`
`
`
`PR2021-01146 Page 00018
`
`
`
`
`
`
`
`Blox.comBrainMaHerSpreadsheet
`
`IPR2021-01146 Page 00018
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 17 of 27
`
`US 6,988,241 B1
`
`FIG. I.2a.
`
`
`
`
`
`
`
`Sove
`Sove as...
`Export to Excel.
`Import Excel file...
`Set size.
`Print.
`Summary...
`
`FIG. I.2b
`Cut
`Copy
`Poste
`Poste Volues
`Clear
`Fill Down
`Fill Right
`Macros...
`
`
`
`
`
`FIG. I2C
`insert Row
`Insert Column
`Delete Row
`Delete Column
`Autofit Row
`Autofit Column
`Row Height...
`Column Width...
`Sort Ascending
`Sort Descending
`Hide Grid
`Calculator Preview
`
`FIG. I.2d
`General
`Custom...
`8,901
`8,901.2
`8,901.22
`$2,345
`$2,345.67
`
`
`
`Wrap Text
`
`
`
`FIG. I.3a
`
`Email a spreadsheet
`applicationexample
`This utility ollows you to email a link to this spreadsheet.
`You can specify up to 5 recipients and include a message.
`Note: This file is private'. Emailing it will change it to public'.
`to (separate multiple email addresses with commas):
`
`message:
`
`surrou cANCEL
`
`IPR2021-01146 Page 00019
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`
`Sheet 18 0f 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`£8.35a:2Eu“.6...mafia:gig QMN.DNK
`z2222’.)-2222222212zzzzzeeztzzzzzzzzezelzzzzezeezezzzzau‘?
`
`.xoaoiz23:3»5Iuz;62223.82523:38.3m.mcoznzccmwa
`
`
`no;Egg—.2522.:28.665.52,:65228233£3no;2.:383
`
`2:9:965g5%.5253:€258€8.358$385a;on:so
`
`
`
`_$2335“E9565uso»28wasE#835
`
`”8
`
`gem5.:,
`
`3:2.3mno»
`
`
`
`sazmuaoam889:3;£56:8.o3.8—
`
`5832:m.EEm5.2,m222122222222222222222222
`
`IPR2021-01146 Page 00020
`
`
`
`
`
`2m:20:228HmomGEEEms.32>=32m—
`
`.umfiugam
`
`IPR2021-01146 Page 00020
`
`
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 19 of 27
`
`US 6,988,241 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`=
`
`
`
`coal
`
`Trail
`----|--|--|--|--||
`
`
`
`IPR2021-01146 Page 00021
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 20 of 27
`
`US 6,988,241 B1
`
`FIG. I.4b.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`vor g = new Object () ;
`function init ()
`g-noteArray = "A
`", "A", "B", "c", "c", "D", "D", "E", "F", "F",
`gflotArray
`("A", "Bb', "B", "c", "Db', "D", "Eb', "E", "f", "Gb",
`odeArray =
`// blues scale
`1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0,
`// Dorian
`1, 0, 1, 1, 0, 1, 0, 1, 0, l, 1, 0,
`// Harmonic Minor
`1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1,
`// Locrian
`1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0,
`// Lydian
`1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1,
`
`// theNote: figures out if the current note belongs in the mode,
`// key and scale
`into TheNote (gstring, fret, key, modelndex, displayindex)
`vor noteName = callmod (gstring+fret-1, 12);
`vor in Mode = gmodeArray I
`+ call, mod (key+fret
`if (in Mode == 1)
`if (displaylindex == 1)
`return (g noteArray noteName);
`else if (displayindex == 3
`return (gflotArray noteName));
`else
`return ("*");
`return ("");
`
`
`
`else
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPR2021-01146 Page 00022
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`
`
`===========
`
`Z
`
`Sheet 21 of 27
`
`US 6,988,241 B1
`
`ETTELETELEITEITETETETTE
`
`|TTTTTTTTTTTTTTTTTTTT?L?TIE ???RTL
`
`TTTTTTTTTTTTTTTTTTTTTTTT?????????TILIZ
`
`IPR2021-01146 Page 00023
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`
`Sheet 22 0f 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`E8.x0_mu._2_=oc_2m®
`12:5..x#53533;a.33.32;28%:SE62:ca$.0225£8..38:
`
`
`
`pfw I 19I, I,
`
`3:.UNK
`
`
`
`Lasagna3:52:65
`
`Egg
`
`E28m32mago:
`
`335505
`
`IPR2021-01146 Page 00024
`
`IPR2021-01146 Page 00024
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`
`Sheet 23 0f 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`E
`
`ME.\Eou.xor.m.®_
`023"a.63885..voto&=m6::a3m>2:.3532353:233o26;rcmoov”m3So»23mm;
`
`
`
`MAatum\X:ummolpmmnvmoouEwonouoemcoafisoqxoz.;;;\\a=s:n2.m._atumo>o_.:ucmo=m=a_
`
`
`
`
`
`
`0z.262;5@523+54382323822._o.3.82?”3E2;8.53..22.25“.2.2:non—Eu
`$2.".62302$3385....2:Eu;so»22.;558;2:3one;.50»25.32..9.36:2
`
`
`we?.38.8ova..893no;53So»a.z2”E:a28.5:8a;.232.m_3238...”;$5=32.885“2:2E.a3:36
`
`
`2:38.8cc3.893a;53.5:5z33:8:830>.232.m_sfimuasnmm2:__
`Au\v35%.323;225::23.3.3...p£258"u_~..=o%\E8.xo_ai;;\\a§.12;av
`
`
`2:38%52%£3“35395...”E.22.“2£328.32.53ea£$ficoeamSo»
`
`
`
`
`39.23coonno;.8532%so»£33LW©23a@6
`
`35%32.2395::ofifl
`
`2332;;
`
`.3235%..~33
`
`9:932:
`
`
`
`3mg50>25._E._._9.32.22:
`
`32.385...2:333.5
`
`.2:2:*oSig
`
`IPR2021-01146 Page 00025
`
`
`
`
`
`is?”$525armeoiuuccofi
`
`IPR2021-01146 Page 00025
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 24 of 27
`
`US 6,988,241 B1
`
`FIG. 16a
`1600
`
`FIG. I.6b
`1652
`
`
`
`
`
`1608
`
`PRIVATE
`USER2
`
`SIGN UP
`WITH THE
`SYSTEM
`
`1672
`
`
`
`
`
`
`
`
`
`WORK WITH
`THE FILE AS NOT
`A FLE OWNER
`
`
`
`
`
`
`
`1654
`
`USER
`CHANGES
`EDTABILITY
`
`YES
`CHANGE EDTABILITY
`FLAG IN CLIENT-SIDE
`DATA ARRAY
`
`
`
`1653
`
`
`
`
`
`
`
`USER
`CHANGES CONTEN
`IN SPREADSHEET
`
`YES
`CHANGE DATA CONTENT
`N DATA ARRAY
`1662
`
`
`
`
`
`
`
`
`
`USER
`INDICATES
`"SAVE?
`
`1656
`
`1660
`
`YES
`RECEIVE POST IN THE FORM
`OF DATA FROM DATA
`ARRAY FROMA BROWSER
`
`1664
`
`1682
`
`
`
`
`
`
`
`
`
`REGISTER TO
`BECOMEA MEMBER
`
`
`
`
`
`SAVE THE FILE AS
`NOT A FILE OWNER
`
`SAVE INTO NON-FILE
`OWNER ACCOUNT
`
`MEMBER
`COOKE?
`YES 1666
`
`OWNER OF
`THE FILE
`as 1668
`1686
`SAVE THE FILE AS
`A FLE OWNER
`
`1680
`
`END 9\-1688
`
`IPR2021-01146 Page 00026
`
`
`
`U.S. Patent
`US. Patent
`
`Jan. 17, 2006
`7,1n.aJ
`6m
`
`Sheet 25 of 27
`72f052teehS
`
`US 6,988,241 B1
`
`lBl4
`
`6
`
`
`
`29 I '91. H.
`
`
`
`
`
`
`
`3%“32:23is:3.2m_5.2.53.5::comeuiumsc£\Eoo.xo_mflw
`
`9,2:25..
`2a311‘1,11%38:3“.
`SEofiuouamAEgoU523.8A:30
`onN.UNK
`2..36¢Sam.2.m—6:7“.
`23mass:E3mm":Sow_=_.w..2;GSea—Exfl
`:<3”:Sea.2.363:3
`E$888.28Eru-m
`@XUE@_.GH@.Gpnv_
`
`3:513:0522.5:2:
`
`522853”6:13“Egg
`ED:
`Eosc_ot2=u\=3
`am«Sausage.o3225;
`
`
`2m2:.6.
`
`2,2323952325333220
`GÐrae
`
`”2:9:30E3:2”‘awm
`
`D
`D
`
`
`
`2223.823floofiuooam3220
`
`
`
`8.:=6»9.5ch
`
`332295
`
`.03.:E.8533a3.2.
`
`$2.38.%:2.
`
`cozscumoa32.
`
`33
`
`
`
`9%:3;p25:"3tomprone.p.52
`
`.33_22._E22
`
`3.:N.ӣ9255oEEE
`
`.892328
`
`xxxxxx
`
`xxxx
`
`Econ
`
`.8993:33
`
`”35:58:
`
`mgfl
`
`:3EE
`?] [Æ] F. §
`
`=a:EOE:2:2355%
`
`
`
`25:59:3.3m22:0;scam
`
`| ØD EJ §) | © [5] (3) • <a • No.
`
`
`
` 88.33@;E\Eou23:_
`
`cm?
`
`NamV
`
`IPR2021-01146 Page 00027
`
`IPR2021-01146 Page 00027
`
`
`
`US. Patent
`
`Jan. 17, 2006
`
`Sheet26 0f27
`
`US 6,988,241 B1
`
`anN65%
`
`H2duo
`
`
`
`Hm<._._m_o
`
`
`
`
`
`.jmoIo<mSem<zoF<Emou_z_
`
`”KN.
`UNK
`
`OONF
`
`cot/HQ8:
`
`BEmmmEms.
`
`
`
`
`
`$225:58:52.53532228.__m§2©§<H<27:
`
`
`
`
`
`95%mwmmgfizzm203$:emmmsmz
`
`amt
`
`\mewofimmm
`
`
`
`5E<._.<n_$2520.20
`
`Aswz<E<Elww>>z<_>_261.Hm21300.2.m”26¢.2.Em.__nzo_._<._xm_._.l..m:m.r
`
`n:Skam=2<zEm: or:
`mamas.mmfi.”853._82_><I:9#2888SEis25:.HEEE
`
`
`
`
`
`
`
`
`
`
`n§mhmm<>>..<z<om.n_>.H>.=_2<n_>>m_>._>><z.$0.585“.._Em..umN_m>>m=>..mw._<n_.
`
`
`
`
`32pr,5?”Big;.2255?53:55.222.”558%;Ea.
`
`
`.A_Sz_><z.=o>#2$88E2>25226;”m5.381:.m”38':E5.
`
`IIII.
`
`
`
`
`
`
`
`H.553._~.mz<_m<Ewm>>232261.“>523.
`
`>23226:
`
`
`
`whwmnw.25..
`
`20>mm<
`
`$255..
`
`>z<s_25:
`
`mmz<E<Ewm>
`
`IPR2021-01146 Page 00028
`
`IPR2021-01146 Page 00028
`
`
`
`
`
`
`
`US. Patent
`
`Jan. 17, 2006
`
`Sheet 27 0f 27
`
`US 6,988,241 B1
`
`FIG.18
`
`
`
`
`
`
`88
`
`8
`
`8
`
`xiv-v
`
`17
`
`
`
`
`
`IPR2021-01146 Page 00029
`
`
`
`
`aemailthispage
`
`
`Currencsmboltable
`——D36changeofUSD
`—
`
`
`
`
`
` QCurrency
`
`
`Comparison-Blox.comBrainMaflerSpreadsheet
`
`3N3:
`>~>~ml=
`”9-0
`a 558
`00:35
`
`a
`D
`
`IPR2021-01146 Page 00029
`
`
`
`US 6,988,241 B1
`
`1
`CLIENT SIDE, WEB-BASED SPREADSHEET
`
`RELATED APPLICATIONS
`This application claims priority under 35 U.S.C. S 119(e)
`to U.S. Provisional Application No. 60/241,083, entitled:
`Client Side, Web Based Calculator of Steve Guttman and
`Joe Ternasky, filed Oct. 16, 2000, which is herein incorpo
`rated by reference.
`This application is related to U.S. application Ser. No.
`09/714,683, entitled “Client Side, Web-Based Calculator” of
`Steve Guttman and Joe Ternasky, filed Nov. 15, 2000, which
`is herein incorporated by reference.
`
`2
`An embodiment of the web-based spreadsheet allows the
`user to specify both web data and real-time data in the cells
`of the spreadsheet. A described embodiment of the present
`invention allows the spreadsheet designer to enter a URL of
`an image Stored on a network, Such as the Internet. The
`image is then fetched and placed in a cell. The described
`embodiment also allows the spreadsheet designer to enter a
`URL of a web page into a cell. Furthermore, the described
`embodiment allows the spreadsheet designer to Specify
`real-time data, Such as Stock quotes or currency conversion
`information, in the cells of the spreadsheet. Such a cell will
`reflect a current (or specified) day's Stock quote or a current
`(or specified) currency conversion value.
`Moreover, the described embodiment allows the user to
`specify “macros” that enlarge the functionality of the web
`based spreadsheet.
`Advantages of the invention will be set forth in part in the
`description which follows and in part will be apparent from
`the description or may be learned by practice of the inven
`tion. The objects and advantages of the invention will be
`realized and attained by means of the elements and combi
`nations particularly pointed out in the appended claims and
`equivalents.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The accompanying drawings, which are incorporated in
`and constitute a part of this specification, show Several
`embodiments of the invention and, together with the
`description, Serve to explain the principles of the invention.
`FIG. 1 is a block diagram of a network environment in
`which the present invention can be implemented.
`FIG. 2 shows an empty web-based spreadsheet in accor
`dance with a described embodiment of the present invention.
`FIG. 3 is a flow chart showing a method performed by a
`Server of FIG. 1.
`FIG. 4 is a flow chart showing a method performed on a
`client of FIG. 1 to obtain spreadsheet data from the server of
`FIG. 1.
`FIG. 5 is a flow chart showing a method performed on the
`client of FIG. 1 to display a web-based spreadsheet.
`FIG. 6 shows the web-based spreadsheet of FIG. 2
`showing a drop down menu of web data and real-time data
`that can be inserted in the web-based spreadsheet.
`FIG. 7(a) shows an example of adding a web-based image
`to the web-based spreadsheet.
`FIG. 7(b) shows the result of adding a web-based image
`to the web-based spreadsheet.
`FIG. 7(c) shows the result of right clicking on a cell
`containing the web-based image.
`FIG. 7(d) shows an example in which the vertical size of
`the cell containing the web-based image is increased.
`FIG. 8(a) shows an example of adding a real-time Stock
`quote to the web-based spreadsheet.
`FIG. 8(b) shows an intermediate step while the real-time
`Stock quote data is being loaded.
`FIG. 8(c) shows the result of adding real-time stock quote
`data to the web-based spreadsheet.
`FIG. 9(a) shows an example of adding a hypertext link to
`the web-based spreadsheet.
`FIG. 9(b) shows the result of adding the hypertext link to
`the web-based spreadsheet.
`FIG. 10(a) shows an example of adding a real-time
`currency value to the web-based spreadsheet.
`
`15
`
`BACKGROUND OF THE INVENTION
`The present invention relates generally to dynamic hyper
`text markup language (DHTML) web pages and, more
`Specifically, to a method for creating and viewing a spread
`sheet web page.
`Traditional spreadsheets and ledgers are large Sheets of
`paper with columns and rows that accountants use to detail
`Sets of business transactions Such as expenses and revenues.
`A spreadsheet lays out a comprehensive Set of numerical
`values and calculations on a single sheet of paper.
`25
`Conventional electronic spreadsheets are implemented as
`a Standalone program executed on a data processor. A
`desktop electronic spreadsheet is a Spreadsheet that executes
`on a Standalone desktop computer and organizes information
`into columns and rows within an electronic ledger. Like its
`physical counterpart, a desktop electronic spreadsheet can
`add and view data to help explore business issues. An
`advantage of the electronic version of a spreadsheet is that
`data can be added by “formula” instead of by hand. Thus,
`when a number is changed in an electronic spreadsheet cell,
`the effect on the entire Scenario can be seen immediately.
`Ever Since early electronic Spreadsheets, Such as VisiCalc,
`desktop electronic spreadsheets have been used to organize
`and tabulate data. A currently popular spreadsheet is
`Microsoft's Excel 2000 spreadsheet, which allows the user
`to enter data into “cells” of the spreadsheet and to tabulate
`and organize those cells. While Excel 2000 allows the user
`to enter, for example, a link to the World Wide Web (“the
`web’) into a cell, Excel and most desktop spreadsheet
`applications are not designed with the web in mind. What is
`needed is a spreadsheet that allows users to make full use of
`the capabilities of the web and to include data only available
`via the web. This invention allows the spreadsheet to be
`displayed or edited in a web browser, without installing a
`Specific application program.
`
`35
`
`40
`
`45
`
`50
`
`SUMMARY OF THE INVENTION
`A described embodiment of the present invention allows
`a designer to create “spreadsheet' web pages, which can
`then be viewed and used by the designer and/or by others.
`Many people want to use spreadsheets, but only a Small
`percentage actually want to create them. It will be under
`stood that, in the paragraphs that follow, the term “designer'
`is generally used to refer to the person who created and
`designed a web-based spreadsheet, while the term "user'
`generally refers to a person who views or uses the web-based
`Spreadsheet. Some people can be both designer and user. The
`described embodiments of the present invention allow
`people to collaborate and to share spreadsheets over the web.
`The described embodiments allow a user of the spreadsheet
`to email the spreadsheet to others and to embed the spread
`sheet into web pages owned by the user or by third parties.
`
`55
`
`60
`
`65
`
`IPR2021-01146 Page 00030
`
`
`
`15
`
`3
`FIG. 10(b) shows the result of adding the real-time
`currency value to the web-based spreadsheet.
`FIG. 11 shows an example of a cell that contains the sum
`of two other cells.
`FIGS. 12(a)-12(e) show examples of drop down menus
`used in a described embodiment of a web-based spreadsheet
`in accordance with the present invention.
`FIG. 13(a) shows an example window enabling a user to
`email a spreadsheet.
`FIG. 13(b) shows an example email used to send a link to
`a spreadsheet.
`FIGS. 14(a)-14(d) show an example spreadsheet created
`and Viewed in accordance with the present invention and
`including macros.
`FIG. 15 shows a process of allowing a web page user to
`embed a spreadsheet in any web page.
`FIG.16(a) is a flow chart showing a log in process.
`FIG. 16(b) is a flow chart showing a process of saving
`data into “My Files.”
`FIG. 16(c) shows a “My Files' page containing saved
`files.
`FIG. 17(a) shows a format of a member file.
`FIG. 17(b) shows a format of a data file.
`FIG. 18 shows an example of a web-based spreadsheet
`containing real-time data.
`DETAILED DESCRIPTION OF EMBODIMENTS
`Reference will now be made in detail to several embodi
`ments of the present invention, examples of which are
`shown in the accompanying drawings. Wherever
`practicable, the same reference numbers will be used
`throughout the drawings to refer to the same or like parts.
`1. System
`A described embodiment of the present invention allows
`a spreadsheet designer to include web data and real-time
`data in a web-based spreadsheet. The data used in the
`web-based spreadsheet is preferably stored on a server data
`processing System and is sent to a user's browser in response
`to a user request. Thus, a web-based spreadsheet in accor
`dance with the present invention can be viewed from any
`computer or device having browser capability. The user does
`not have to be tied to a spreadsheet stored on a desktop. The
`described embodiment of the present invention is written
`entirely in Dynamic HTML and thus does not require any
`Special downloads, plug-ins or Java. After loading, the
`spreadsheet will execute equally fast with a 28.8 KBPS
`connection or a T3 line. In the described embodiment, a user
`50
`Will always have the most current version of the program
`just as he always has the most recent version of any web
`page he chooses to view. Because it is web-based, the
`described embodiment will not cause any installation prob
`lems and cannot create DLL conflicts. The files describing
`the Web-based spreadsheet are stored on secure servers, so
`a user never needs to worry about backing up data, and can
`access his files from any web-connected computer.
`FIG. 1 is a block diagram of a network environment in
`which the present invention can be implemented. The figure
`includes a client device 102, Such as a computer, data
`processing System network appliance, television-based
`browsing device, wireless telephone, or other wireless
`device. The figure also shows a server data processing
`System 104. In the described embodiment, a web-based
`Spreadsheet is created and displayed from within a user's
`browser 110 on client device 102 using functionality carried
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`US 6,988,241 B1
`
`5
`
`25
`
`4
`in a spreadsheet page 112 received from the server data
`processing machine 104. The contents of Data Array 114 is
`also included within the spreadsheet web page 112.
`Server data processing System 104 includes server soft
`ware 120, which implements functionality of the server, and
`a spreadsheet datafile 122 that contains information needed
`to create spreadsheet page 112. In Some implementations,
`Spreadsheets of multiple users are stored in a central reposi
`tory on server 104. In such embodiments, server 104 also
`includes a member file 126 listing all the designers who have
`created and stored web-based spreadsheets and listing all
`users who have registered to gain access to the web-based
`Spreadsheets. Certain other embodiments do not include a
`central repository and do not require or use member files.
`The member file 126 includes information for all mem
`bers who have an account with the system. Initially, when a
`user logs into the System, he is asked whether he has an
`account. If the user is a member, he is allowed to access the
`System. In the alternative, if the user is not a member, he is
`prompted to enter his identifying information, which might
`include a password and user ID.
`FIG. 1 includes a source of real-time data 108, which is
`coupled to network 106. Dotted line 107 indicates a path of
`real-time data from source 108, to server 104, to client 102.
`A Member file includes information for all members who
`have an account with the System. Initially, when a user logs
`into the System, he is asked whether he is a member who has
`an account with the System. If the user is a member, he is
`allowed to access the system. In the alternative, if the user
`is not a member, he is offered to enter his identifying
`information, which might include a password and email
`address. The Spreadsheet/Calculator data file contains infor
`mation related to spreadsheets and calculators. Such infor
`mation may include a data ID, which refers to a file name,
`and information for each individual cell of a spreadsheet/
`calculator. In particular, the cell information related to each
`individual cell includes, but is not limited to, the information
`related to cell dependency, formatting, content, and editabil
`ity. The server Software manages the files and communicates
`With the browser. The server Software handles opening,
`Saving, and incorporating live data (such as stock quotes)
`into the files. In addition, the server software returns the
`HTML page and calculator page in response to a request
`received from the client System, via a browser. The client
`system includes browser software and a Data Array. The
`user, Via the browser, sends a request to the server for an
`HTML page. The server software reviews the parameters
`received with the request. If the parameters include a
`“spreadsheet' mode, a spreadsheet HTML page is returned
`to the client. In the alternative, if the parameters include a
`"calculator” mode, the server returns the calculator HTML
`page. If the parameters include an “embed” mode, the server
`returns a fully formed calculator web page. The Dat