`Davis
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7.421,648 B1
`Sep. 2, 2008
`
`USOO7421648B1
`
`(54) REUSABLE DATA MARKUP LANGUAGE
`
`(75) Inventor: Russell T. Davis, Bethesda, MD (US)
`(73) Assignee: e-Numerate Solutions, Inc., McLean,
`VA (US)
`
`(*) Notice:
`
`(22) Filed:
`
`5,838,906 A * 1 1/1998 Doyle et al. ................ TO9,202
`5,838,965 A 11/1998 Kavanagh et al.
`5,894,311 A
`4/1999 Jackson
`5,913,214 A
`6/1999 Madnicket al.
`5,917,485 A
`6, 1999 Spellman et al.
`5,920,828 A
`7/1999 Norris et al.
`5.948,113 A
`9, 1999 Johnson et al.
`ck
`3. ck 2. 3. al. ...............7 '.?
`Subject to any disclaimer, the term of this
`5.974.413 A * 10/1999 Beauregard et al. ............ 707/6
`patent is extended or adjusted under 35
`5.999,944. A
`12/1999 Lipkin
`U.S.C. 154(b) by 0 days.
`6,014,661 A
`1/2000 Ahlberg et al. ................. 707/3
`(21) Appl. No.: 09/573,778
`ppl. No.:
`(Continued)
`9
`OTHER PUBLICATIONS
`May 18, 2000
`Suzuki et al., Managing the Software design documents with XML,
`Related U.S. Application Data
`(60) Provisional application No. 60/183,152, filed on Feb. (SNR, oysalal conference on
`17, 2000, provisional application No. 60/135,525,
`filed on May 21, 1999.
`(Continued)
`(51) Int. Cl
`Primary Examiner William L. Bashore
`(2006.01)
`Goof i 5/00
`(74) Attorney, Agent, or Firm—Finnegan, Henderson,
`(2006.015
`GO6F 7/OO
`Farabow, Garrett & Dunner, LLP
`(52) U.S. Cl. ........................... 715/234; 715/205; 705/1;
`57
`ABSTRACT
`705/14; 717/106
`(57)
`(58) Field of Classification Search ................. 715/517,
`Methods and systems provide a computer markup language,
`715/501.1, 513, 205, 234; 717/108, 106:
`referred to as Reusable Data Markup Language ("RDML'),
`707/56; 705/1, 14
`and a data Viewer for retrieving, manipulating and Viewing
`See application file for complete search history.
`documents and files in the RDML format that may be stored
`References Cited
`locally or over a network (e.g., the Internet). Generally,
`RDML permits the browsing and manipulation of numbers,
`as opposed to text and images like in HTML, and does so by
`including attributes describing the meaning of the numbers to
`be attached to the numbers. Documents compliant with the
`markup language encapsulate machine-readable documenta
`tion with numbers and data, and permit the data viewer to act
`as a combination web browser and spreadsheet to automati
`cally read, interpret and manipulate the numbers and data.
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`6, 1987 Hernandez et al.
`4,674,043 A
`1/1994 Grady et al.
`5,276,776 A
`8/1994 Risberg et al.
`5,339,392 A
`6/1995 Byrd et al.
`5,423,032 A
`2/1997 Spencer et al.
`5,603,021 A
`4, 1998 Nguyen et al.
`5,737,592 A
`5, 1998 Herz et al.
`5,754,939 A
`5,822,587 A * 10/1998 McDonald et al. .......... 717/108
`
`4 Claims, 40 Drawing Sheets
`
`
`
`716
`
`F24
`
`outleys-dep, ofteena
`3833soooo
`3028,000
`242,288,000
`
`n
`operation and faintananea
`
`Ptoutement
`
`is Researeb.develesfinant, Tast, s
`rid valuatio
`kililitary constitution
`
`MilitaryPersonnel
`Operation scattenance
`
`633694
`15939
`1453233
`
`82,5836
`187366
`631555
`335564
`
`71888
`93.204
`53582
`02:448
`saga
`
`965
`1926.
`1234871
`183933g
`623626
`103998
`
`2009;255
`1409815
`1433883
`62583
`133356
`
`
`
`US 7.421648 B1
`Page 2
`
`6,026,388
`6,026,397
`6,034,676
`6,058,385
`6,065,026
`6,092,036
`6,097,888
`6,108,662
`6,121,924
`6,134,563
`6, 160,549
`6,167.409
`6,173,284
`6, 195,676
`6,199,046
`6,199,080
`6,223,189
`6,240.407
`6,243,698
`6,256.030
`6,314,562
`6,317,750
`6,349,307
`6,351,755
`6,356,920
`6,366,915
`6,370,537
`6,370,549
`6,373,504
`6,374,274
`6,418,433
`6.421,656
`6.421,822
`6,446,048
`6,460,059
`6,470,349
`6,493,717
`6,505,246
`6,507,856
`6,581,068
`6,591.272
`6,594,653
`6,615,258
`6,629,094
`6,635,089
`6,667,747
`6,721,736
`6,745,384
`6,886,005
`6,912,293
`6,920,608
`2001/OO18687
`2001/002O237
`2001/0049687
`2002fOO23141
`2002/0052954
`2002/009 1696
`2002fO198985
`2003/004 1077
`2003/OO78883
`2003.0167213
`2005/0086126
`
`U.S. PATENT DOCUMENTS
`Liddy et al.
`Sheppard
`Egan et al.
`Koza et al.
`Cornelia et al.
`Hamann
`Simonyi
`Hoskins et al.
`Meek et al.
`Clancey et al.
`Touma et al.
`DeRose et al.
`Brown
`Spix et al.
`Heinzle et al. ................. 70.5/1
`Nielsen
`Steffens et al.
`Chang et al.
`Powers et al.
`Berry et al.
`Biggerstaff
`Tortolani et al.
`Chen
`Najork et al.
`Vandersluis
`Rubert et al.
`Gilbert et al.
`Saxton
`Nielsen
`Myers et al.
`Chakrabarti et al.
`Cheng et al.
`Pavela
`Wells et al. ................... 705/35
`Wisniewski
`Heninger et al.
`Junkin
`Land et al.
`Chen et al.
`Bensousan et al.
`Williams
`Colby et al.
`Barry et al.
`Colby et al.
`Burkett et al.
`Spellman et al.
`Kruget al.
`Biggerstaff
`Davis
`Korobkin
`Davis
`Gonzalez et al.
`Yarnall et al.
`Russell
`Yen et al.
`Polizzi et al.
`Craft et al.
`Fraenkel et al.
`Davis
`Stewart et al. ................ 705/39
`Jammes et al.
`Davis
`
`2, 2000
`2, 2000
`3, 2000
`5, 2000
`5, 2000
`T/2000
`8, 2000
`8, 2000
`9, 2000
`10, 2000
`12, 2000
`12, 2000
`1, 2001
`2, 2001
`3, 2001
`3, 2001
`4, 2001
`5, 2001
`6, 2001
`T/2001
`11, 2001
`11, 2001
`2, 2002
`2, 2002
`3, 2002
`4, 2002
`4, 2002
`4, 2002
`4, 2002
`4, 2002
`T/2002
`7, 2002
`T/2002
`9, 2002
`10, 2002
`10, 2002
`12, 2002
`1, 2003
`1, 2003
`6, 2003
`T/2003
`T/2003
`9, 2003
`9, 2003
`10, 2003
`12, 2003
`4, 2004
`6, 2004
`4, 2005
`6, 2005
`7/2005
`8, 2001
`9, 2001
`12, 2001
`2, 2002
`5, 2002
`T/2002
`12, 2002
`2, 2003
`4, 2003
`9, 2003
`4, 2005
`
`2005/O182709 A1
`2005, 0198042 A1
`
`8, 2005 Belcsak et al.
`9, 2005 Davis
`
`OTHER PUBLICATIONS
`Information on Exchange Rates of Africa, Asia, and Australasia, web
`site: <http://eh.net/hmit/exchangerates/infoafr.htm>, pp. 1-3, 2002
`by EH.NET, downloaded Oct. 19, 2006.*
`Order of magnitude (online Wikipedia article), <http://en.wikipedia.
`org/wiki/Orders of magnitude>, 2006 Wikimedia Foundation,
`Inc., pp. 1-4, downloaded Oct. 19, 2006.*
`Bruce Halberg, “Special Edition. Using Microsoft(R) Excel 97.
`Bestseller Edition.” Que(R) Corporation (1997).
`Elliotte Rusty Harold, “XMLTM Bible.” IDG Books Worldwide, Inc.,
`An International Data Group Company (1999).
`David Megginson, “Structuring XML Documents.” Prentice Hall
`PTR, Upper Saddle River, NJ (1998).
`Bruce Hallberg et al., “Special Edition. Using Microsoft(R) Excell 97.
`Bestseller Edition.” Que(R) Corporation (1997).
`Elliotte Rusty Harold, “XMLTM Bible.” IDG Books Worldwide, Inc.,
`An International Data Group Company (1999).
`David Megginson, “Structuring XML Documents.” Prentice Hall
`PTR, Upper Saddle River, NJ (1998).
`Extensible Business Reporting Language (XBRL) 2.0 Specification,
`(Dec. 14, 2001), Editors: Luther Hampton, e-Numerate; David Vun
`Kannon, KPMG LLP. pp. 1-42.
`Microsoft Press Computer Dictionary. Third Edition, Microsoft
`Press, p. 511 (1997) (3 pages).
`Online Ohio CPA Newsletter, A Monthly Electronic Publication of
`the Ohio Society of Certified Public Accountants; Aug. 2000, vol. 1,
`No. 14 (7 pages).
`Tools online, extensible Business Reporting Language, retrieved
`on Aug. 13, 2002). Retrieved from the Internet <URL: http://www.
`xbrl.org/Tools.htm> (5 pages).
`XBRL Essentials, (A nontechnical introduction to the extensible
`Business Reporting Language, the digital language of business), Jan.
`2001, Charles Hoffman, CPA; Carolyn Strand, PhD, CPA, (AICPA),
`pp. 1-17.
`XBRL Home Page online), extensible Business Reporting Lan
`guage, retrieved on Aug. 13, 2002). Retrieved from the Internet
`<URL: http://www.xbrl.org> (3 pages).
`XBRL Technical Specification online), extensible Business Report
`ing Language, retrieved on Aug. 13, 2002. Retrieved from the
`Internet <URL: http://www.xbrl.org/TR/2001/default.htm> (1 page).
`The XML Cover Pages, Extensible Business Reporting Language
`(XBRL), (1994-2002), Robin Cover, pp. 1-18.
`Berkley et al., The Road to Better Business Information Making a
`Case for XBRL. Winter 2000, Microsoft, pp. 1-13.
`Blattner, Special Edition Using Microsoft Excel(R), May 3, 1999 (C)
`Que Corporation "Adding a Secondary Axis to the Chart” (3 pages).
`Gilster, Paul, Finding It On The Internet. The Internet Navigator's
`Guide to Search Tools & Techniques, 2" edition (1996) (3 pages).
`Hamscher et al., Extensible Business Reporting language (XBRL)
`Specification, Jul. 31, 2000, XBRL Organization, pp. 1-27.
`Charles Hoffman and Carolyn Strand, “XBRL Essentials, A Non
`technical Introduction to eXtensible Business Reporting Language
`(XBRL), the Digital Language of Business Reporting, pp. 1-148
`(2001).
`Jon Rienstra, “Using Excel(R) in Chemistry.” http://www.asa3.org/
`chemistry/computers in
`chemistry/excel tips.html (1995) (4
`pages).
`Simon St. Laurent, “Why XML?.” http://www.simonstl.com/ar
`ticles/whyxml.htm (1998) (5 pages).
`* cited by examiner
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 1 of 40
`Sheet 1 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`moF@505
`
`
`
`>cmEvtoaxw
`
`@958we
`
`420K
`
`$26588
`
`oov
`
`vow
`
`wow
`
`_..07..
`
`
`
`
`
`END4—201
`
`Emesooo
`
`Z0),
`Nor
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 2 of 40
`
`US 7.421,648 B1
`
`
`
`
`
`ZOZ TICHO
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 3 of 40
`
`US 7.421,648 B1
`
`
`
`Existing
`Elsa
`(
`erver,
`Oracle, etc.)
`
`
`
`
`
`
`
`
`
`
`
`
`
`226
`
`Main
`components
`
`222
`
`22O
`
`RDML
`DOCument
`Editor
`
`RDSL Style
`Sheet Editor
`
`RDML
`Document
`Formatter
`
`106
`
`RDML
`DOCument
`
`RDSL Style
`Sheet
`
`
`
`
`
`
`
`
`RDML
`Image
`Database
`
`
`
`
`
`RDML
`DOCument
`Server
`
`RMML. Macro
`SOftWare
`Development
`Kit
`
`RDMLIXML
`Search
`Engine
`
`RMML. MaCrO
`DOCument
`
`RDM. Data
`Viewer
`
`Various RDML
`Plug-In
`Applications
`
`FIG. 3
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 4 of 40
`Sheet 4 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`807
`wov
`
`
`
`
`
`Eegafi5
`
`mwummgfi.EaS§§§8§§§§x.
`
`«Kg35235E!y“Bangs;EQ3&5
`
`
`
` wgaflazrEu.“Engafi5«Wmgmgofi5mm$§§§§§
`
`wwumwadflp.Em
`
`§§§§$2?a.
`
`3532...E33a
`
`(fig:
`fincggm
`
`
`
`Surfing}
`
`”Essa
`
`
`
`mfimgofigwiagawéfi\
`6,535.5;arias;:.fizzéfiuafié
`
`
`
`sizziiiizextt5%
`
`wEmmaoE5aka.Raw“
`\wfiwflafic.m$9..aQR.«wmutfiau5“335so.
`
`3i<§§§§§;(gets?kfxi§.§§§s§s§e¥<
`
`
`
`
`SN
`
`V
`9
`L
`
`oov
`
`
`
`\uEaSaEEMmflafiufigs”Swag:gmaégmm
`
`
`
`
`
`
`mgmmfic,p_m
`
`Nov
`
`vow
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 5 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`809
`mom
`
`909
`mom
`
`05
`
`
`
`EN
`
` 3%a:so:#3:mm
`
`
`
`
`
`
`
`
`s..._3;Eggs“;
`
`,‘xkgfimfifimQEinfixw
`,tawactaSzwjgum
`
`E
`
`@fiwfigAnaQWEE,
`
`
`
`aaammcsflfigfig3.3mcanu_.:a:§._m§a§
`
`
`ws_2538.65
`
`
`ii;gzzsszggcy;3%?552m5568“
`
`
`
`:gmbmmaL—gv‘wktzummamwubm
`
`
`
`Banzai§=mEEES
`
`«
`
`Wmmmaafinai
`
`
`
`i.§§§%§§§§§§s§§§§i§xv§i§é§§§§§a§§§x§é—newaEcIEwE
`
`
`
` $3MEafigo:35Eammmgxs..m&m
`
`
`gaging?«32%38:3
`Emuwwzamg5mugfim‘gumfiw
`
`
`
`«3.3253535.
`
`§é§l§<§s§§
`
`tamago.3g«353m68%;;
`
`
`.E;$035500?dug
`
`
`335%EmEmngwxflmmd.maxmmwwm
`
`709
`vom
`
`Z09
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 6 of 40
`
`US 7.421,648 B1
`
`
`
`User submits data request
`to Web Server and RDML
`data server via the viewer
`
`602
`
`RDML server queries the
`databases
`
`604
`
`The databases return the
`results to the Server
`
`606
`
`The Server Creates an
`RDML document
`
`608
`
`The server returns the
`RDML document to the Web
`server and on to the viewer
`
`610
`
`FIG. 6
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 7 of 40
`
`US 7,421,648 B1
`
`mK
`
`CNN
`
`VNN
`
`83cm:
`
`95
`
`2653:.
`
`.5mucus.
`
`.358an
`
`.omwcmz
`
`2ND
`
`:20
`
`in
`
`
`
`2053“.22:8“.
`
`.5?ch
`
`(/WE.
`
`chn2qu
`
`Sum—2
`
`hammcm—z
`
`w:_m>.x
`
`5.553ch
`
`own
`
`Bow:
`
`83.25
`
`9K
`
`532m
`
`Nmnown00—.
`
`
`
`
`.355382;saga:.wwwmhwuw..3688
`
`
`.5x22m.60:45:2”.
`
`<5.9".
`
`.Ew
`
`
`
`
`
`Em:Evin—:0EwEauoD
`
`VMN.93quwow
`
`45:2”.
`
`
`
`vmx.omw
`
`
`
`Ems.599.6
`
`Emmwoen.
`
`420K
`
`5.53?
`
`.3me
`
`mamaEmEta
`
`22m
`
`fiswao$68
`
`.mflna42X
`
`4201
`
`520m
`
`v9.
`
`won
`
`Sums.
`
`32.5.:—
`
`45:2!
`
`EwanoD
`
`NewNor
`
`rah:
`
`
`
`Eszqu4.20m420K
`2055.303?Eszuon.
`
`mmh
`
`X:
`
`#9.
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 8 of 40
`
`US 7.421,648 B1
`
`
`
`Text
`DOCument
`
`Object/
`PrOCeSS
`
`Output
`Application
`("View")
`
`Object
`Storage
`
`Graphical
`User
`interface
`("GUI")
`
`Third-Party
`Software
`Component
`
`Output
`Process
`
`FIG. 7B
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 9 of 40
`
`US 7.421,648 B1
`
`START
`
`Document reader finds
`and receives document
`
`XML parser parses
`
`teCSTART)
`
`802
`
`804
`
`806
`
`808
`
`810
`
`812
`
`RDML processor
`processes the text into an object
`
`X-value transformer 810 type
`checks and manipulates X-values
`
`Primary data store 812 stores active
`objects of the same type for display
`
`Views display active objects
`stored in primary data store
`
`END
`
`FIG. 8
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 10 of 40
`
`US 7.421,648 B1
`
`
`
`
`
`
`
`
`
`81.6
`
`806
`
`
`
`øounos Teqep
`
`JapeauTooppuupu
`
`A Tegep
`
`096
`
`91.6
`
`91.6
`
`926
`
`xTelep
`
`qasTssepoT;
`
`906
`
`Z06
`
`N.
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 11 of 40
`
`US 7.421,648 B1
`
`
`
`
`
`
`
`
`
`Locate DOCuments
`
`Select Document to be
`Transformed
`
`ACCeSS Line tem
`
`
`
`
`
`
`
`
`
`
`
`Determine Desired
`Transformation
`
`Access Unit, Magnitude,
`Modifier, Scale, Measure,
`and Adiustment Attributes
`
`Determine Conversion
`Factors for Each Attribute
`
`ultiply the Conversion
`Factors to Manipulate the
`numbers of the DOCument Or
`Line item
`
`Display Transformed
`Document on Line tem
`
`
`
`
`
`
`
`
`
`Another
`Line item to be
`ransformed 2
`
`
`
`Another
`DOCument to be
`ransformed 2
`
`
`
`FIG. 10
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 12 of 40
`
`US 7.421,648 B1
`
`
`
`1102
`
`
`
`1104
`
`
`
`1106
`
`
`
`1110
`
`X-Value transformer
`receives a new document
`
`Determines type of active
`documents in primary data store
`
`
`
`New
`object is same
`type as active
`documents
`
`No
`
`1112
`
`
`
`User chooses to
`reject object?
`
`
`
`
`
`1116
`
`User chooses to
`eraSe Current
`active?
`
`
`
`1122
`
`Insert new document
`as standby object
`
`
`
`
`
`
`
`
`
`
`
`1108
`
`Add to currently
`active documents
`
`1114
`
`
`
`Reject the
`document
`
`Erase Current
`active documents
`1120
`
`Store new
`document
`
`FIG. 11
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 13 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`mow?
`
`
`
`
`
`
`
`NON?
`
`own
`
`<N_.
`
`0.“—
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 14 of 40
`
`US 7.421,648 B1
`
`
`
`868144&ol yo sw ()
`
`ZOZ !
`
`EZI,
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 15 of 40
`Sheet 15 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`vowr
`
`oomw
`
`
`
`
`
`
`
`
`
`
`mama—3:020run»;gin:N
`
`NON?
`
`own
`
`SOZI,
`UNF
`0.".
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 16 of 40
`
`US 7.421,648 B1
`
`Primary Data Store
`
`712
`
`
`
`
`
`RDML DOC
`
`
`
`RDML Line tem
`
`FIG. 13
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 17 of 40
`Sheet 17 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`
`
`
`
`
`
` Dwmr
` 2:<36.".
`
`
`
`
`
`
`
`mmHNE;mama;«3.2322::c_a,£33..82ao.4230
`
`2&0anm5new_.mango—man..25misc.23n.
`
`_..h...m..,h,.‘.H.Em.,.E.—.
`
`.wfiiuumE2.25:3Qno0TE.32506360mmE3355QE
`
`93.50.3983.B>.uEE:w-w.v£ann;£53@m
`
`
`
`8 || 7 ||
`
`smuzméooa
`
`mmuamfiooa
`
`
`
`4,‘wimmsugmfi
`
`630352.FE
`
`
`
`
`
`
`
`29.
`
`
`
`ommpcum
`
`(000'06)
`
`88.emu
`
`800.28
`
`~08de
`
`Soodm5w.
`
`t.
`
`mo:
`
`9:
`
`OZZ
`CNN
`
`mm:
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 18 of 40
`Sheet 18 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`
`
`
`
`
`
`Novw
`
`
`
`mE.-o3$3932;.33.
`
`sun8:...
`
`.5:'
`
`90Z),
`moww
`
`mcfima.w
`
`
`
`VOVFmanosmgzouafiaggfioufiaéashéi/fi/NFNF
`
`1
`
`
`
`
`
`9;.0."—
`
`
`
`
`
`”marvmmramm—Dwmrgrg—(3—Evamp
`
`
`
`
`
`wovr
`
`mrn
`
`02/
`own
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 19 of 40
`Sheet 19 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`_..
`
`|_|_| |
`
`_,,_.,__§_;_e_.;E__
`
`
`
`||||||||||||||||||||| | || || || || |_|
`
`”BE...2330285an!c298201232vote.32!an:.”he!not:0Eta—Pg0
`
`9835
`
`
`
`
`
`8.:.mm.mm!8.:8m.82.8.«8.
`
`
`
`
`
`wilosngfifluts...£29.35135353‘;SNPVF
`
`
`
`03..0.“—
`
`VNVV
`
`movw
`
`orn
`
`own
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 20 of 40
`Sheet 20 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`CNVF35n3;2!»a”ludflfl«0IS“35....an"
`
`oa
`
`”iguana-u
`
`2-3..
`
`
`
`Ouuxol”quflh
`
`
`
`nun:”101.5
`
`aanuiufilsu-Iau“a23563
`
`“Fa—Sun:—5::
`
`
`
`“Has“53:22.5,
`
`
`
`
`
`uan:9«aSunny->55.uuor”en-u...
`
`
`
`m3-o353992...3:I
`
`u5.13.33I
`
`
`
`”E:in;
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mo:
`
`m;
`9], /
`
`
`
`03‘.0."—
`
`
`
`
`
`
`
`
`
`‘nuaunqca-«anon-flung‘EIn:33.5Samson
`
`"Ia-acid
`
`”Mn—oikonn
`
`
`
`33a3...”livid,
`
`33>2"SSE:xxxxxxxxxxxx
`
`«Bungaggfiuulo
`
`
`
`”5:39;...“BEE‘EBEo
`
`.58
`
`CNN.
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 21 of 40
`Sheet 21 0f 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`23sup§§§fl
`
`
`
`«335.33.3
`
`5:23
`
`5!.3,3
`
`kuusuSang.
`
`$8»:xél
`
`wfleflu
`
`
`
` §§vfigu
`
`mvv
`
`0.".
`
`if.».<23)2
`
`OZZ
`own
`
`
`
`
`
`
`
`Sn;.Zuzuznsazrun...andSunnis—.mfl
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 22 of 40
`Sheet 22 0f 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`5.59.5.2?
`
`
`“8:365
`
`£1833
`
`£832
`
`89.856
`
`Ep.:2:
`
`gaggfi
`
`Exam
`
`"Ragga—u
`
`”ignfl
`
`8:5388.883535¢
`Sara32
`n59...E5.&
`
`58.5.5.5...Evil:56
`£233.353284
`
`
`
`
`".3.
`.6...—
`
`
`
`
`
`
`
`82:3333525”ES.3:8.mi:
`
`22S:3333o22.:23%;0
`
`3.9.“Sto:
`sástano
`935°
`
`
`
`
`
`Gd5...
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 23 of 40
`
`US 7.421,648 B1
`
`
`
`1502
`
`
`
`1504
`
`the Line tem
`
`
`
`
`
`1506
`
`
`
`1508
`
`FIG. 15A
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 24 of 40
`
`US 7.421,648 B1
`
`1512
`
`Remove existing data
`
`1514
`
`Get RDMLDOC from PDS
`
`1516
`
`1518
`
`1520
`
`1522
`
`Get RDMLLine item
`
`Normalize X data
`
`Fil X Axis with data
`
`Fill Y Axis with data
`
`1524
`
`Mark Which YAxis This Series is on
`
`1526
`
`1528
`
`Yes. Add Axis
`
`No
`
`1530
`
`Set number formats for axis labels
`
`1532
`
`1534
`
`Set the number precision
`
`Update the footnotes
`
`1536
`
`Run any macros that are applied
`
`FIG. 15B
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 25 of 40
`
`US 7.421,648 B1
`
`1538
`
`1540
`
`1542
`
`1544
`
`1546
`
`1548
`
`Set Y 1 Title
`
`Set Y2 Title
`
`Update the Series Styles
`
`Update the Chart Title
`
`Update the Legend
`
`Update the X Axis
`
`1550
`
`Update the Number Precision
`
`1552
`
`1554
`
`1556
`
`Update the YAxis
`
`Update the Chart Type
`
`Update the Footer
`
`1558
`
`Set the maximum X value
`
`
`
`1560
`
`Repaint the Graphical Chart
`
`END
`
`FIG. 15C
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 26 of 40
`
`US 7.421,648 B1
`
`
`
`33 ?
`
`
`
`DDO'099'999
`
`spuesno
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 27 of 40
`Sheet 27 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`No:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` r,,
`”ha—«:0
`
`
`
`igum$285313850I
`
`coommucmb55505B350I:o
`
`cozmoavwEmu
`
`
`
`3035ogzwtznucam
`
`m=€<E;35:803..3:6FLH
`
`.8333.
`
`
`
`«cuEuamcus._w~:uEtmnwoI.
`
`5.33m.6
`„dau
`«no:
`
`o
`
`go.one.3..
`
`80.83”maoadcmmm
`
`oooe¢aw~m
`..S8ammmE.w.1..u.-
`
`aonan
`
`
`
`
`
`t.
`
`0....—
`
`
`
`2533533.64can3.8533,uo
`
`augwuo.v»
`
`mufiuwm"302\
`
`
`
`
`
`"nuqmamoonzHaunoauuanua.mumufiuum"woo:
`
`$3?twas!
`
`
`
`
`
`"Eofl—uufiumhuoucouunUnomno
`
`unfiuuouaa
`nufluum
`
`
`
`
`
`immuguumubflumuflflnmnumEH.3335“3.33muo
`
`
`
`
`
`"fluofluwosbuMuuuaoowmcanhuaucmamamno
`
`ouauuo.N.
`
`nufiumm"uuaz.
`
`moguuo.mu
`
`nwfiuum"upoav
`
`o:-
`
`mmn
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 28 of 40
`
`US 7.421,648 B1
`
`1800
`
`N
`
`RMML Document Type Definition
`1810
`
`918
`
`macro source
`
`Contact info
`
`1804
`
`1812
`
`918
`
`1802
`
`macro doc
`
`916
`
`1816
`
`922
`
`1814
`
`1818
`
`1806
`
`1820
`
`1822
`
`1824
`
`1826
`
`1828
`
`1830
`
`.
`- - - - - - - - - - - - - - -
`
`O
`93
`
`li class
`
`
`
`macro references
`
`1808
`
`error handling
`
`FIG. 18
`
`macrodoc
`
`1802
`
`data docs
`
`
`
`U.S. Patent
`
`eS
`
`2,ml
`
`ow
`
`92
`
`A0.
`
`HMS
`
`4(W1
`
`1
`
`BI8<9.0.".
`
`Amwmn
`
`MH
`
`
`
`85mg98.2
`
`om»
`
`%N582m53?.80422m
`
`
`
`320m“.Sons.000.__>=>E
`
`
`
`
`
`nuvmmrNNmFowmrwrmr
`
`
`
`
`
`Ewan:Bows.n_._l.=>_s_m
`
`0N2
`
`mom?
`
`
`
`.8588422m
`
`«or
`
`oFm:
`
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 30 of 40
`
`US7A21£48B1
`
`65mmLQwEEmn.
`
`
`
`.mcmn.:ozacomwo
`
`«2NE:
`
`wmmw
`
`
`
`
`
`cozaEzmm<Eons.Ema:Sums.
`
`mmwr
`
`
`
`..Boo>I_DOEon:
`
`mmm_..mu_m
`
`ommr
`
`509222msmtm>2
`
`______mvmr"______
`
`06?.I50Sums.5:1509.82
`
`
`___u__u$9«mm:“_______gzflmo50Sums._
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`1
`
`1Bn
`
`
`
`6,02‘.07.
`
`
`
` n,u................................................J_7__S“cozamoxmm_:E5n_"U___uu82_
`
`_
`
`_n_
`
`_u
`
`owmr
`
`
`
`
`
`
`
`
`
`vwm_‘
`
`
`
`
`
`.mmwcmE0.6.22
`
` 7m__wuuS_58:65______________________" 8:25“.520mew_nm:m>“n___W__0_0mmv_2n_ .muu_M“vmmwNmmrommw"w__Lu_uSu__Biomwm
`
`
`
`
`
`45:21
`
`.EEEBE
`
`98:20
`
`m:
`
`9 || A.
`
`mm?
`
`
`
`Ems:Bums.
`
`2%F
`
`_DOChum—2
`In SÐ OJOeW
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 32 of 40
`Sheet320f40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`
`
`
`
`
`
`
`
`
`v.
`
`
`
`5:.wouifinsougfisaagngagfi.M,
`
`
`
`
`
`
`
`
`
`
`
`dual—H3.38.
`
`Ira—O
`
`.3538:30
`
`2».
`
`33—583:v3294a:qfiafizxosuzsfis8?to);Q
`
`
`
`92.1.5; filmy:
`
`
`
`m53.0
`
`<3.9“.
`VOZ '61-I
`
`
`ommw
`
`a
`
`.2652«5.3m3:1am:23:50W...Sawa
`
`
`.5251Ea
`s.55£352
`
`
`
`Nmn
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 33 of 40
`Sheet330f40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`23230O82A“;5.3 H83>.225
`5.1552c«Simr3.3:!at
`
`.0956.2.0
`
`
`Eaffiufiwgfia‘ggfifiadfikfiz§~§u§x§§x¢
`
`
`
` «can98850O«at
`
`8:3sun
`
`
`
`NOON
`
`ommv
`
`mom.9".
`
`"Suns.
`
`09.93
`
`
`
`
` ecuvlonfllnnglinughukofiiufisggu—
`
`
`
`
`
`3:22..5515I
`
`
`
` u§23§.§
`
`
`
`
`
`
`fi—0538.8.;EmG539
`9.0682329.;a2.ma$.88cama
`
`2333-8<a
`aa32»;§\«Ea!
`
`
`
`
`
`Nmn
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 34 of 40
`Sheet 34 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`
`
`9:325m:3082m55us.
`35.33.WEo ”3305-5...
`KEG523159.231
`
`BEEW:30
`.58—538m5520
`
`33.8mensufiuifiiasugififl.
`.99mgoggg
`32.2.m.Egi‘gia
`
`53.:;.9283.2_
`
`3333:
`
`N2.
`
`mnozsa>fihfl
`
`
`
`53:95uiiflw..536m.
`
`
`
`ll..
`
`
`
`,HMwaRmv:.vaHwQB;,
`
`
`
`
`
`
`
`
`
`Rafi-«$459550
`
`=2.Iaywzuafiuzatgybnzogg
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 35 of 40
`Sheet350f40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`ommp
`
`mmmr
`
`C1
`0
`Z
`
`DoN
`
`0:.>3«33amawwxwwzmmm ‘» f
`.82!“
`
`
`
`3.5....2.25.2.3I
`
`
`
`
`
`
`
`
`Nmn
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 36 of 40
`
`US 7.421,648 B1
`
`
`
`2102
`
`User puts data
`in table form
`
`2104
`
`2106
`
`2108
`
`Open and
`initialize dialog
`box
`
`User fills in
`default values
`for attributes
`
`User clickS
`"OK" to Create
`attribute
`Columns
`
`2110
`
`Open and
`initialize dialog
`bOX
`
`2112
`
`Create each
`element,
`nesting as
`necessary
`
`2114
`
`Save to file
`
`FIG. 21
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 37 of 40
`
`US 7.421,648 B1
`
`ZOZZ
`
`
`
`
`
`
`
`
`
`Siggassassissis:
`
`sisssssssss:
`
`St.
`Sz
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 38 of 40
`Sheet 38 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`
`
`
`_,$8
`
`“$8
`
`:Em
`
`
`
`_.SEM
`
`”mvmn
`
`m:mN
`8m"
`
`32..
`
`Nam...
`
`
`
`vmmr.mmm:
`
`Myra“
`
`Kai?
`
`\I:|I|I._nfl
`
`
`
`
`
`
`
`3.8.2:35a...:o_§o&&,E
`
`
`
`
`3:9
`
`
`
`
`
`Rm:@532__mmnmmmwmwnKmmmWKNNM3533$2.26.Emcmm.22,“m8:
`mmmxfi2382memucmumfimE253333:5.32323.9.53;.5:”<3!...--meg.Egan.a
`
`
`
`
`
`
`
`
`mNN.0."—
`
`mwnwam;€13.
`
`59.3
`
`V5€53.,,.
`
`m:«a
`
`3332cu?._
`‘E253u“sate5830m,
`
`
`
`50.332323333“350m
`
`Santa.
`
`.fieEEuH
`
`@ONN
`
`mun
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`eS
`
`p
`
`0000
`
`04f093teehS
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`2.29.355Ewan.Egg..mBantamEmEEoSOSb2»2&3;23:1:—
`
`
`
`
`
`
`..EESAELV....£33mEmEEufiaoVo522:
`
`
`”fizfimfigfio «Wang
`
`
`Efim3:VaIn._uuxm:OnEEEmm
`
`
`
`
`
`
`.I:“warm...I.H........EmEHEmSmflEmuwuES.macgmfl
`
`
`
`
`
`
`”muSamMH.Wmmxm.wEquE::uzfiofioo.
`
`
`
`
`
`
`”mu._=mm.V..s..fi.m.me...xiiéiywmmmmwlammmfimymmfixbsm“358Emmmfimflhfimfiflmmuwailsxi
`
`3.522:V«Ecan...EwEEwEoE.be
`
`
`
`
`
`
`
`@1313Qa”mam...
`
`3%“
`
`
`
`
`mEo:_:5:32.GEE.
`
`
`
`H.mamuamEmEEmSOVo32“
`
`
`
`203E.EwEEEwSO
`
`
`
`
`
`CNN.0."—
`
`
`
`
`
`wONNwommmONNwommmONNwONNmONNwoNN
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 40 of 40
`Sheet 40 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`cum.0.“—
`
`.see:322:a
`
`
`
`
`
`2.34.
`
`(wwwmmmflw_
`
`E _NE
`s w
`e
`IIE
`
`Lo“ yx *0:
`r ‘9 iF
`e
`
`eleaks
`
`fig:
`
`‘
`
`owNN
`
`
`
`US 7,421,648 B1
`
`1.
`REUSABLE DATA MARKUPLANGUAGE
`
`RELATED APPLICATIONS
`
`This patent application claims priority to Provisional U.S.
`Patent Application No. 60/135,525, filed on May 21, 1999,
`and Provisional U.S. Patent Application No. 60/183,152, filed
`on Feb. 17, 2000, which are incorporated herein by reference.
`The following identified U.S. patent applications are also
`relied upon and are incorporated by reference in this applica
`tion.
`U.S. patent application Ser. No. 09/573,780, entitled
`“Reusable Macro Markup Language.” and filed on the same
`date herewith.
`U.S. patent application Ser. No. 09/573,419, entitled “Tree
`View for Reusable Data Markup Language, and filed on the
`same date herewith.
`U.S. patent application Ser. No. 09/573,413, entitled
`“Chart View for Reusable Data Markup Language.” and filed
`on the same date herewith.
`
`5
`
`10
`
`15
`
`BACKGROUND
`
`2
`must be organized according to certain rules, but their mean
`ing is flexible. Unlike HTML, XML describes structure and
`meaning, but not formatting. As such, different professions
`may develop their own specialized markup languages. For
`example, ifa developer were to create a markup language that
`describes books in XML, the developer could create specifi
`cally meaningful tags for “title.” “author,” and “publisher.”
`something not possible in HTML. Although XML’s free
`form structure permits the development of markup languages,
`Such individualized markup languages are not compatible
`with each other because the use of the tags is not standardized
`in that different users use the tags for different purposes.
`In today's business world, problems that typically accom
`pany data manipulation often increase expense and difficulty.
`One such problem is that often data and the documentation
`that describes the data are not both in electronic form. This
`conventional approach to database and spreadsheet informa
`tion often dictates that expensive database administrators are
`required to make transformations anytime data is being trans
`ferred from one system to another, expensive analysis of
`printed documentation is required in connection with any
`programming tasks, and the output rarely contains any indi
`cation of the original sources, structures, and manipulations
`that created that output. In PC-based systems, creating docu
`mentation for data is conventionally left up to the user: typi
`cally there is no machine-driven effort to collect the docu
`mentation from the user, format it, and save it with the data,
`thereby eliminating the ease of reuse of the data.
`Another obstacle impeding efficiency in conventional
`databases and spreadsheets is that calculations occur at too
`low of a conceptual level. Calculations in typical numerical
`analysis programs operate on a single “cell” in a spreadsheet
`or a single “record in a database. Analytic operations on
`single values at a time can be slow and prove costly when
`many different cells or record values are involved.
`The lack of a standard markup language facilitating the
`browsing of numbers leaves no way to read, automatically
`manipulate and display differing types of numerical data read
`from multiple online sources on a single chart. Human inter
`vention is required to recognize differing types of numerical
`data and conform the data so that it may be combined and
`displayed coherently on charts, graphs and reports. Conven
`tionally, formatting of graphical charts displaying numerical
`data requires manual manipulation when series of different
`types of data are combined. Furthermore, no visual cue is
`given regarding the relationship between different numerical
`data sets.
`The computer industry is further hindered by the fact that
`data and analytic routines are not standardized. While the
`computer industry has developed standards for file formats
`and function-level interfaces, it has not developed a general
`data format or content-analysis standards. This results in
`expensive translation of data between systems, industries,
`companies and users using different protocols.
`Analysis routines in conventional spreadsheets typically
`take the form of “spreadsheet macros.” Macros are essentially
`short programs which perform well-defined, generally lim
`ited, tasks. Millions of spreadsheet users have used spread
`sheet macros to automate mechanical tasks involved in
`manipulating the numbers in their spreadsheets. But the great
`investment in spreadsheet macroS has generally been
`underutilized because Such macros are “write once, use once'
`types of software; they are rarely reused by others.
`There are at least eight reasons that current programming
`languages and spreadsheet macros are not reusable or por
`table. One such problem is that spreadsheet data references
`usually are based on physical locations. Suppose a macro
`
`1. Field of the Invention
`The present invention relates generally to data processing
`systems and, more particularly, to a computer markup lan
`guage for use in a data browser and manipulator.
`2. Related Art
`Currently on the Internet, transmissions and communica
`tions are commonly conducted using a communication pro
`tocol called the HyperText Transfer Protocol (“HTTP')
`which can be used to pass files and documents formatted in
`the HyperTextMarkup Language (“HTML). A markup lan
`guage is a way of embedding markup "tags. Special
`sequences of characters, that describe the structure as well as
`the behavior of a document and instruct a web browser or
`other program on how to display the document. Typically,
`documents or web pages formatted in HTML are simply
`ASCII text files that mix ordinary text with these markup tags.
`HTML has a relatively limited structure that defines a fixed
`set of tags with specific purposes. Further, HTML typically
`only works with text and images and typically only instructs
`a browser on how to display a document: the browser may
`read and display characters but does not “understand the data
`content. To the extent that HTML browsers present numbers
`in their display, they still are not interpreted as numbers just
`text. Hence, HTML documents are not interpreted as “data
`but rather as formatting instructions for displaying images.
`Users cannot “surf through numerical data, to see graphs,
`apply transformations, combine numbers from different web
`pages, or load numbers into a spreadsheet in a manageable
`form. The numbers cannot be directly read by an analytical
`program without human intervention to cut-and-paste the
`text, determine the data type, etc. Consequently, conventional
`analytical programs allow for ad hoc review and manipula
`tion of abstract numbers (e.g., a spreadsheet program or data
`base program), but do not directly read their data from online
`Sources. Such programs may perform statistical analysis,
`structural analysis and simple transformations on data once it
`has been entered and interpreted.
`Given HTML’s limited capabilities, and SGML’s
`unwieldy complexity, a markup language called Extensible
`Markup Language (XML') was developed to help overcome
`some of these limitations. XML is a free-form markup lan
`guage with unspecified tags, which allows developers to
`develop their own tags and, in effect, create their own markup
`languages geared toward specialized tasks. In XML, the tags
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`3
`writer puts an interest rate assumption in cell 'C4' and
`another person has a spreadsheet with the interest rate
`assumption in cell “BR47, a macro that expressly references
`the absolute cell location C4 will not be usable in the second
`spreadsheet.
`Another related problem is that numbers in spreadsheets
`have no measurement or semantic designators describing
`their meaning. One spreadsheet may work with dollars in
`millions, while another works with dollars in thousands. The
`same macro cannot be used on both spreadsheets without
`human intervention to sort out all the inconsistencies and to
`modify one of the spreadsheets to match the other. As another
`example, a macro may be written to divide stock price by
`earnings to get a P/E ratio, but numbers in a spreadsheet have
`no meaning besides words in the cell to the left or above the
`numbers. Absent a standard location and Vocabulary, those
`indicators are useless.
`An additional problem with conventional spreadsheet
`macros is the lack of documentation. Because macros are
`typically only usable by their creators on the single spread
`sheet they wrote them for, they tend to be totally undocu
`mented: no common-language description, no help files, no
`data Standards as to permissible values, source contact list,
`license information, etc.
`Furthermore, there is no mass distribution mechanism for
`macros. Spreadsheet macros are not web-friendly: they are
`generally limited to one spreadsheet brand and one platform,
`do not support hyperlinks, and cannot be searched by search
`engine