`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
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 2 of 27
`Sheet 2 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`[>]
`Silt
`
`8 S
`
`tl
`TT
`
`~~
`
`aI
`
`| “
`
`alii
`
`Si]
`
`
`
`s
`
`
`
`Spreadsheet
`
`206—~{=1|emailthispage PTTL
`HELEPT
`cay NEaSheeAltlf
`
`&
`
`PTD
`PTT
`PEE
`He
`
`
`
`
`
`
`
`
`
`
`
`IPR2021-01146 Page 00004
`
`
`
`
`
`
`
`
`
`FileEditToolsFormat/Help—~202
`
`S.
`
`
`
`
`
`&)Blox.comBrainMatter
`
`
`
`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
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 4 of 27
`Sheet 4 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`thispage@Ss[CT27»[oerEIST
`
`
`
`
`
`
`
`
`
`
` FileEditToolsFormatHelp
`
`
`
`
`£)Blox.comBrainMatterSpreadsheet
`
`DEBS)\S
`
`
`
`
`
`
`
`ts
`he
`
`|
`
`| |
`
`|
`
`i
`
`a
`
`
`
`
`
`N n
`
`
`
`
`
`s
`FIG.6
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ae ee ee
`P-----ul-FR
`
`:
`
`w
`
`IPR2021-01146 Page 00006
`
`IPR2021-01146 Page 00006
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 5 of 27
`Sheet 5 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
` [f=]emailthispage
`
`
`
`
`
`[e}|[70ofLed]27»|[ootorTe]EG
`
`
`s
`FIG.7a
`
`
`
`[Arial__|
`
`
` DeBSNaeAlrl
`
`
`
`FileEditToolsFormatHelp
`
`
`€)Blox.comBrainMatterSpreadsheet
`
`
`
`
`
`
`
`
`
`
`
`
`
`:::
`
`
`
`
`
`
`
`v
`I
`
`IPR2021-01146 Page 00007
`
`IPR2021-01146 Page 00007
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 6 of 27
`Sheet 6 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[=|emailthispage
`
`
`[ofA]27»|[eolorTSI
`
`
`
`
`
`s
`FIG.7b
`
`moanosecon/inee
`
`&SB21E|[aretTI|
`
`
`
`
`H
`
`
`FileEditToolsFormatHelp new
`
`
`
`&}Blox.comBrainMatterSpreadsheet
`
`
`
`[a][blyx|
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`|nneee
`
`
`
`
`
`IPR2021-01146 Page 00008
`
`IPR2021-01146 Page 00008
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 7 of 27
`Sheet 7 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`woo'xoiglg 9ZDIA
`SEBEL)"7@[Geol|E_vl|zeSaNGBaU
`
`
`
`QZ (91 H.
`
`
`
`jeeysppesdsseyoQuioig
`
`
`
`SaN|DAeSbd
`
`40919)
`
`Adoy
`
`@|SDg
`
`nm)
`
`
`
`uUnjopesu|
`
`MOY[9Su|
`
`Moy249/09
`
`
`
`uunjo9439/99
`
`““yY61eHMoy
`
`ee
`
`ir
`
`C02
`
`=|XAELOYLv]
`
`IPR2021-01146 Page 00009
`
`IPR2021-01146 Page 00009
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 8 of 27
`Sheet 8 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`(=)emailthispage FA
`
`|| ||
`-
`olor[v1|21v|[color|
`||||||
`
`FIG.7d &)Blox.com
`
`
`
`Ica}
`
`
`
`
`
`
`
`
`
`BrainMatterSpreadsheet
`
`
`
`
`
`
`
`
`
`
`
`O
`- -
`------------
`
`
`
`IPR2021-01146 Page 00010
`
`IPR2021-01146 Page 00010
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 9 of 27
`Sheet 9 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`[=]emailthispage
`
`
`s
`FIG.8a
`tt
`s
`
`
`
`
`
`
`FileEditToolsFormatHelp
`
` &)Blox.comBrainMatterSpreadsheet
`
`VX[eau
`
`
`
`A)Ku
`PEererPerPP
`
`
`::::
`
`
`
`
`
`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
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 12 of 27
`Sheet 12 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`iz €)Blox.com
`
`
`
`s
`FIG.9a
`
`BrainMatterSpreadsheet
`
`= —
`
`_oEoa 2O
`
`oo—
`=uwbos
`2&2
`
`
`
`([="emailthispage
`
`D
`
`h
`O
`as
`
`3.
`N
`R
`
`s
`se
`D
`
`2>
`
`||||||||||||||||
`
`|||||||||||
`||||||||||||||
`
`IPR2021-01146 Page 00014
`
`IPR2021-01146 Page 00014
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 13 of 27
`Sheet 13 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`LinktoABCCorp, &)Blox.com
`
`
`
`[=]emailthispage FBI
`
`Ili
`
`
`
`
`
`I 3
`
`oO
`
`3n
`
`y
`
`RQ
`
`>|~—
`i
`a.
`2 i
`
`
`
`SN@XlF[Laid_]
`
`
`
`
`
`FileEditTootsFormatHelp
`
`
`
`
`
`
`
`
`
`s
`FIG.9b
`
`BrainMatterSpreadsheet
`
`
`
`
`
`
`
`
`
`LinktoABCCorp”)
`
`link(“hitp:///abccorp.com
`
`R
`
`or]n 1
`
`ea
`
`
`
`||||||||||||||||||
`|||||||||||||||
`PEELE
`BEALE
`TLL
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`C
`d
`s
`aC
`9
`S4
`s -
`
`IPR2021-01146 Page 00015
`
`IPR2021-01146 Page 00015
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 14 of 27
`Sheet 14 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`D
`
`Do
`>Qo
`
`a 2== ‘
`
`oE
`
`e2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG.10a
`
`
`
`BrainMatterSpreadsheet
`
`h
`
`FormatHelp &}Blox.com
`
`
`
`
`
`
`
`:
`
`
`
`--------------ee V
`
`IPR2021-01146 Page 00016
`
`“sil
`
`
`
`a m
`
`Y
`
`yeti
`
`o >
`
`)
`
` DEBSWee4]r|[ria_]
`
`
`
`
`
`FileEditTools
`
`
`
`IPR2021-01146 Page 00016
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 15 of 27
`Sheet 15 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`Spreadsheet
`
`i
`
`nun)
`tilltul
`
`2oeOo
`
`
`
`oD
`
`p
`9a
`2==
`
`3£o
`
`
`
`
`
`3]
`~ in
`%
`
`I>|
`
`
`
`= 2
`
`
`
`
`
`Iv]
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG.10b
`
`
`
`
`
`
`
`
`
`
`
`&)Blox.comBrainMatter
`
`09/11/2000”,“bid”)
`
`ayTE ’
`Ps s a
`usd,bp
`s
`
`FormatHelpDEBSNaeAlt|b =currency("FileEditTools
`
`t
`
`
`
`
`
`
`
`
`
`|||||||||||||||
`
`
`
`|||||||||
`
`
`
`R
`a
`
`IPR2021-01146 Page 00017
`
`IPR2021-01146 Page 00017
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 16 of 27
`Sheet 16 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`
`
`D
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[="emailthispage
`||||||||||||
`
`
`s
`FIG.11
`
`[Arial__|
`
`III
`
`
`
`
` &)Blox.comBrainMatterSpreadsheet
`
`
`
`
`
`|
`
`H
`
`
`
`oOo
`
`
`
`
`
`
`
`en
`
`IPR2021-01146 Page 00018
`
`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
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 18 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`WEOY-
`
`J04]98s
`
`posufaayypTuy| qéTOla
`x](oljeayspoesdswoo'xojg0nodjuesspysnuafpwono]PXdie]
`
`
`
`PEaAIDINDEGESDERGREDADaedPreBdPedaPeaPraaaDSNRGRgaRhaaBRRaRDNG
`
`BOIAIeSD—TdjjyyOsuojpjnajoopupsyeeyspoesds‘suoyojuesesd
`
`
`
`
`
`
`omjuabyjoyuyasow9ypas4)‘auljuoeal]yOUuJSUdYDoIdddYIMGemayyJO29D}
`
`
`
`ayyGujBunyostxojg‘ulosqyjoHAjeuuoy‘woorxojgyosddoojuyqom9a4j489
`
`
`
`suoyoysjoofgggjyouudy
`
`ylwsuyor
`
`sauorans20]
`
`:498/qng
`
`299
`
`
`
`jeeysppesdspesdq—qemSly}jDYOO]O9x0)
`
`rabpssew$ysUOT[POAINADSPRaBnaNSaBehsainPgOnPnaPaanop
`
`"xo[goud|y40
`
`IPR2021-01146 Page 00020
`
`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
`
`
`
`wWoo"xo}g—sOINQUIDIgLZ PrTDIA
`usa|SJ9UjOOf[IDA=]|jaaysppesdssD}Ip3EE|SUO]NUISU]@|juldo|aA0S=)
`
`
`(apying7Xs,yooquayjoM“¢Aqperidsuj)pavogyed)JojinBayyuosajoypudShey‘sepon
`
`
`
`
`
`
`N-JOJOINI|DJeyOWUIDIg
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 22 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`pfw I 19I, I,
`
`
`[a][DoSsenig
`
`|:epoyEETseumousJ¥ordsia
`
`JDJINQUIOIg
`
`Buys
`
`Buuny
`
`IPR2021-01146 Page 00024
`
`IPR2021-01146 Page 00024
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 23 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`
`
`wguado/woo'xojq'mam//:dyy,=o1s,Wduospane,=ebonbuy
`
`
`
`
`
`1010)0x3jouseyy|jjosou0y—Buupys
`
`
`
`dJauupAopijoyayowiyjnrE]
`
`Buoysat4
`
`
`
`aygnd/eyoAud
`
`
`
`jeaysppesdsayyofyu0Buypers
`
`
`
`
`
`“mojaquoydoayqnd
`
`zeBodunokoulTWLHBuyaojjo}ayy
`
`
`
`
`
`
`
`
`
`ey)Sujppequy
`
`afig/wooxoiga
`o4Djsbsoebpssew payoddnsjou,peesAnwayysasmougpayioddnsoaapyj.usaopa6pdsnoAofJO}ISIA
`
`
`
`
`
`
`
`
`
`
`
`
`©}]‘sMopulM,UlBujUU+1G°7J0J061ADNaddosjayJo+pJoojdxyyouuepu]SaunbauAyuaunsapowpequig
`COSIAdoo‘osopoj‘sabodqamuMOJNOAUl4O}AUL]DajDas9UBDNod‘oIIqndsiyoayspdoidssiuj4]
`
`
`
`
`
`sipeddo0}jeayspoadsayyJUDMNOAeseYyRUOYIsodoyyDeBod4NoAOU!TWLHBurmoljosgamuxosnokul#1paquieupsnof‘oygndstjeayspooidsayyAdoo‘osopoy“safodsiyy3yeayspoaids
`
`
`
`
`
`
`
`
`
`
`
`<o/>seuupAopioyayouyneur,DES”1GazPE0O=Plguedo/Woo'xojq°MMm//:dyY,=sosyD>
`
`
`
`auasooyo‘suayyoUJIMyeayspDedssiyysuDYsOo)“yInDyapAqeJOAUd1Dsyeeyspoaldssno)
`
`
`
`
`
`
`
`
`pebupyoueeqsoyjeeyspoesdsJno,oyqndE@aypAldBo
`
`
`
`
`
`
`
`“allt84}JOUOISI@A
`
`IPR2021-01146 Page 00025
`
`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
`
`
`
`99T‘DI
`Joyojnajo9<uado9}D9SPU|WY€S:1b0002InfBt‘enDuow6upy(&]
`EBmMOoOBIo8BSIVFF®+e>55
`eyooydnpNd£0:200002Int02"eel
`
`
`
`
`p90jug=IOWAojsiyB}J0AD)=YODABWOH==ysatjoydosp4DMJO}49DG
`euipuesJeuuUlpAopijoySIDINBU}
`
`
`a||OMalAsewou:Aqpos«podw]-MeN
`WYvetL000IMFBL‘enEFH
`
`(suajsawes‘1DeA—4)sys
`
`
`yeusapu}qyosou1y—SallyAW/woo'xoigledj]Sloo]euondymaePTayy|Jo10jdxq
`
`ED:
`suoyooyddoyospeupuny
`SsaulsngLd
`XXXX
`
`
`
`SMOYSEPIISPUDSUOOJUeseldjnogqyDO
`GÐrae
`
`
`
`?] [Æ] F. §
`
`29 I '91. H.
`
`sallyAw
`
`D
`
`| ØD EJ §) | © [5] (3) • <a • No.
`
`yawJui09
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 17, 2006
`Jan. 17, 2006
`
`Sheet 25 of 27
`Sheet 25 of 27
`
`US 6,988,241 B1
`US 6,988,241 B1
`
`
`
`SJOJD[IND|D9pudsjaeysppaudsjnoqyo
`
`
`
`seilyanoABuuoyso
`
`sayBuisyo
`
`jeoyspoeidsmeu
`
`uoyjojuasesdMeu
`
`jnoBoy|djey|wnsoy
`
`v69t
`
`sally2soADySIUpMgDWWIY
`
`
`XXXXSUOYN|OS
`
`XXAXXX
`
`XXXX
`
`ssaujl4/Y}09}
`
`juewuyopejuz/un4SUUO4
`
`IPR2021-01146 Page 00027
`
`IPR2021-01146 Page 00027
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 26 of 27
`
`US 6,988,241 B1
`
`DLTDit
`
`
`
`
`
`
`
`
`QZT“DTA|-azigmain:AHLNS}|S1S3N9‘ast(01001“ZDNIAVHMOABHVSLS3NDTWLOLANVNMOH,TWLOL
`.INOFIVIXAL“SNYLGdVUM“WNVGH3A:ATIAWAMGIA“AAVN,‘HOT09SHO4‘dé,|MOASHY
`
`
`
`
`/L33HSQVAUdS OSL
`
`
`
`
`“DGIdYYM“WNVGYSAATINVAMGIA“AAWN:‘SOTODSHOS‘dé.““AZISMIIA“ASTV4e|ESNVINVL39SA
`
`
`
`‘CESNVINVIIDIAANVINMOH.YN1°4°700WI'G:MOWWSF)NOMWLAL“NUL.
`
`
`
`
`“(EDNIAVHMOASUVSISANDTWLOLANVINMOH.UNL'1100W'EMOUW431|ZONIAVH
`
`
`GI¥A8W3IN
`
`
`
`1139HOVSLNOSVNOLLVWHOSNIalVivaJWVN¥3SN
`——_—_‘
`:43N901VZSNVINVLIDIAANVINMOH.:AYLNAat|ANVWMOH
`
`
`
`o0Lt~F71Cpe
`
`TildVLVGYOLVINDWO
`JsYASWAW
`‘ey799|ANVWMOH
`
`0021
`
`VNNV
`
`‘SV1159
`
`IPR2021-01146 Page 00028
`
`IPR2021-01146 Page 00028
`
`
`
`
`
`U.S. Patent
`
`Jan. 17, 2006
`
`Sheet 27 of 27
`
`US 6,988,241 B1
`
`
`
`
`
`[=|emailthispage
`
`
`
`
`
`FileEditToolsFormatHelp
`
`
`
`17
`
`
`
`S|
`
`IPR2021-01146 Page 00029
`
`
`%changeofUSD FIG.18
`
`
`
`&)CurrencyComparison~Blox.comBrainMatterSpreadsheet
`
`
`
`e21o|o
`ole
`O1o
`Oo
`| = wir
`+i wth
`
`4/8/0
`
`Date
`
`
`
`Comparestarting:
`
`ncrementevery:
`
`
`Currency1 Currency2:
`
`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 op