`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
`
`SMAI,
`
`80L
`
`Jamal,Beg
`
`WayvOL
`
`
`
`Auew)yodxy
`
`(S}EWUOJBI
`
`901
`
`0Ol
`
`L“SlA
`
`
`
`
`
`
`
`eyedIW0Y
`
`yuawnooqZOL
`
`Z0),
`
`
`
`
`
`
`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
`80P
`
`
`
`
`
`spveenoulaule
`
`
`SpueenauyULSy
`
`sa
`MEEUOGSINS:
`
`seneenceaesmneantnareca
`
`
`
`Spuesioulurs.(bee's)Cees
`
`SRUBSHOULUS!
`ssocee's.~”
`
`
`
`OL?
`
`V
`9
`L
`
`90v
`
`:EeeoarGers
`
`
`SpineNOLsWavetae
`
`(ERLEORE:
`
`:‘SpuesAguLUs
`SRUESNOLLYtUse#0882)
`
`pUEHOULUE!”CaeaGase,
`SeteeAt
`
`SPINISHEabySBR;dupseo
`
`SplesnouLaLuis
`
`
`
`
`
`seseanipannnispciatcaiaes
`
`SPUESHON]US!
`
`
`|SROaieDag0Coss
`
`cov
`
`vOV
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 5 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`809
`80S
`
`909
`90S
`
`
`
`OLS
`
`
`
`soe
`
`MoldU5ED-ONGSSGUISNGASIONyy
`
`LOHSAEBrasa!Deueplassy-aby]ass
`
`
`
`BABOUUIDYbo(038)
`
`
` MeglMedeaGUERIAhueCuetodaaaLORERS
`
`UppySaHAlsag(baud:
`juspisaigouIoBIDane
`
` ceqyeonen4egTMHERP
`Ay0dG
`
`
`
`
`
`QLeG
`
`.TahBSSquitaRa—oggGudTBH)
`
`1ese0yee”Gia
`
`
`
`Tadeepiedtuequajuga?
`Suedequadaa
`
`
`
`anPERUUEYPIESPUPIjneUdiangUKE,
`
`
`
`SqesiayjeuaWUlENeg,
`
`|UeseQeAIUDyANIaSfRHI0g
`
`
`
`i
`
`
`
`Uaueig(eiaipAy
`
`#OQE70dag
`
`709
`vOS
`
`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
`
`ved
`
`
`
`
`
`Jasp(eaydeig.juewnsoq
`
`epeyezul
`
`geZ
`
`eglocz90L
`
`JOSMOUQ
`
`
`WLHJOSSOOOJjobeuewnaASos)Juewns0g
`
`ASXslssauAWAY
`
`vOL
`
`vl‘Sld
`
`"218
`
`VELsaydepyvol
`
`open
`
`WAY
`
`seGeuey
`
`anjea-X
`
`ejoujoo.sebeueyoneW4ayoujoogeS
`
`eoeya]U}
`
`yoayspeaids
`
`a10)S
`
`BegABW902
`
`
`
`
`
`(syoefgowo)J8SI8dTWX
`
`
`
`092WAY
`
`yuewnseg
`
`OzSL9S2
`
`saBeueyyPOL
`
`yeywon}Waway
`JOSSOI01gJawulodysepeay
`
`
`
`Japeay
`
`soBeuey)uomuyededA,"wou
`
`
`
`(.4L.0.)yueunsog
`
`yeyd
`e1eq
`BL2
`
`
`giz
`
`
`
`QLFleZOLzor
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`9021
`
`
`
`
`
`
`
`cL
`
`022
`
`Vel
`Sih
`
`
`
`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
`
`vol
`
`90L
`
`
`
`
`
`
`
`BEEYWDLIOSY+W801AXMuRUSRL<7
`
`
`
`SOZI,
`Ucb
`Sid
`
`cOCL
`
`Oel
`
`
`
`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
`weSSNnetaoN
`
`Sheet 17 of 40
`oeo=N
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`
`
`
`
`
`
`
`
`bb
`
`00
`
`
`
`Sec
`
`bog|z6z'625'b
`
`Obl
`
`SUOIIA|Ul$SUOMIUl¢
`
`8 || 7 ||
`
`8LPL
`
`VvlL
`‘Old
`
`=F9eL'pdb9se'zs9"mozpi|008o00~=—_ eqeegcyi;9021ZIee2'bS19299°
`
` Gf
`
`
`
`
`
`
`
`
`sAagno'sydiasayfoAuBWWNS-L1JIGBL“LHaIqe4eh5‘uado
`
`
`
`
`
`
`
`sAeang'spliadayJoAseuuns45)
`
`sage:|a
`
`(000'06)
`
`
`
`Lo)Boyar]40srSE
`
`Seiauicoy
`
`oanen
`
`
`
`
`
`jeyo,7AsABiNOIO7Sydiacay
`
`90FL
`
`OlZ
`
`OZZ
`O¢L
`
`cer
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`aOPEDINPAPOaIREPTETaereOrSpun©JospocbsanqapIDL‘spyZAYaEPUE}OI0)EOL“SPYAwS~CLEL
`
`
`
`1909pu6:210)(F101
`
`cOrl
`
`90Z),
`
`
`
`SDUE©50pOdAgePIMAL
`
`
`
`avbSis
`
`
`
`966hP66LZ6ELO56!S86h
`
`
`
`
`
`
`
`
`
`
`90471
`
`OLZ
`
`02/
`OcZ
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`|_|_| |
`
`ver
`
`
`
`
`
`
`
`
`
`
`
`||||||||||||||||||||| | || || || || |_|
`
`
`
`S$pure610spodkanqappow]'sicyZA‘WepUbeI0)IO)SMVBAele965t6B}SBE066+BSSS8BLrest==86h
`
`Ob‘Sis
`|eloreeeeee
`
`
`
`
`
`$004p3.0ayaud0]pamoGiGoLIEOUORA&{52080919FON0}PIMAOS19[SUE&
`
`
`
`
`
`9041
`
`Obed
`
`
`
`
`
`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
`
`9crlL
`
`90CL
`
`
`
`
`
`&PUY930sazodue/agepT¥I0L
`
`
`
`upi-yo2FxeanzeTupz-grauemD0q
`
`
`
`:LMHHNDOTINNS
`
`
`
`OUtxenTOTSEL
`
`
`
`OTleeseayun
`
`€Teaay°sepnayaben
`
`
`
`eces’simg
`
`
`
` ISTINA30#isqupog308TAMVEHNSTWOILSILVISH
`
`rebwraay
`
`HME,
`
`ISNBTUEH
`
`*SELoNLoGd
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`‘SI0FPOH)RYOG)FIMOSILS39RE+
`
`Ss0PNOL)oyBALd0)POMOSRoLEIST/0.N+
`
`90F1
`
`OLZ
`9], /
`
`Oc2
`
`
`
`
`
`
`
`5[wpouBuyyTeuopqwuzeqy‘gy«027peazaeg:eoinog
`
`Gr}‘Sid
`
`
`
`
`
`rae
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 21 of 40
`Sheet 21 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`3s2408
`
`endBE
`
`AnkiehHey
`
`1340LOT
`
`e039
`
`555390
`
`avoHetaeL
`
`POtertliccNmpwyeaed
`
`
`
`
`
`
`
`dvb
`Sls
`
`OZZ
`OcZ
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 22 of 40
`Sheet 22 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`cePL
`
`
`
` ve)stPees
`
`
`
`
`
`
`SA9INOSOIEFeUIALIOAwayUT]JO)SUT]
`
`
`G1BYPB}BUSSNATUSUPETST@alayKA]TGC]SUNOGPeVEUOTWa©
`SzWLOS'Sez00’rebb
`
`
`OS7'68T'eBL000'rta's
`
`ATVELUOLoco'st1
`
`gec’co0'soo0'se
`dvb‘Sls
`AB10u330“yiaq-skepng
`
`
`oo0'6e+LoneSUIpYjeyeUTEdaC}-@
`
`
`ooo'esm7uopasuupySunaeWsmog=)<p
`
`sástano
`
`(oo0'ess'2)
`
`O00'S9e"bt
`
`ooc'ese's
`
`
`
`
`
`
`
`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
`
`i3punePUE|PUOHEODAJoBOOCF|000'rro'zz2OLZ
`cOrL Lb‘SlaAZOLt
`
`uoljeonpsjeioadsjo2010ia|i$S8OISSAEWNGeYyaYiooo'zée'sz&ipue
`
`
`
`
`
`
`
`fuooaspueAuejUaWaA)y}O39),mzttreneea0291K0pa0'aeo'br
`
`yuowabeuryjpjuawpedsgBya)ioo0'g969'Pl=UOITEORp
`HeEonpyAlepucoasssogfjo20130uonsanpy30ydaeg-BxeRno
`
`
`
`
`
`uoneonpyAep:O00'Orz'9
`uo”-
` >(QuamsheusyTeauswazed3aq)$Fsatzsg:3q0N87Z
`
`
`
`i(S39TAIISBATIBAITTIGeyaypueuoTAwonpyYTeT2adsJoaoTsI39)¢¥satxzagssaoNb
`
`
`
`
`s(uoTavonpyAaepuoosespueAzequaweTyJOsoTJJO)ZHsatrzas:3a00Nf
`
`
`s(uoTaeonpg”aTNpypueTeucTIeI0AJo39T3IZ0)PFSaTABgsaq0M
`
`:({uotavonpyArepuossasjzsogJo39TIIO)THsatzss
`
`
`
`iiH|{q]|4|
`
`
`
`i
`
`0
`
`ooo'are'z
`
`
`
`
`
`
`
`„dau
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`Sep. 2, 2008
`
`Sheet 29 of 40
`
`US 7,421,648 B1
`
`
`
`Jaidepyooeyy
`
`oO
`
`BS2
`
`092
`
`Aiesqr]oe
`
`qtyWWY
`
`926L
`
`8061
`
`
`
`Alojoe4o10eyy
`
`900IWWd
`
`cL6L
`
`9061
`
`
`
`juawinoogTWWY
`
`vol
`
`Jopesy909IWWY
`
`OL6L
`
`
`
`V6l‘Sls
`
`vé6L
`
`cc6b
`
`Oc6h
`
`SlL6L
`
`
`
`
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 30 of 40
`
`US 7,421,648 B1
`
`
`
`jeueyJe}owWeIed
`
`
`
`joueyuonduoseg
`
`9S8l
`
`
`
`jauegooey)MON
`
`8r6l
`
`OS6I
`
`
`
`yNnejyeqINDopeyy
`
`Ssh
`
`a6}“Sls
`
`JOpEAINDoe;
`
`OEYINDoe
`SITINDO10RIN
`
`|||!IIIlI
`
`INDse"SIQEHeEAWI
`||IiIl9v6l!I|||||
`
`
`
`uonduinssyo1oeyyAreqr]coe
`
`RRmea|celZest
`
`dnoip
`
`9261
`
`ese,
`
`I||||||
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`
`Sheet 31 of 40
`
`US 7,421,648 B1
`
`
`
`Jenjoseyuonoun4JOnjOseyaIqeWeA
`
`
`
`
`
`v66LZ66LO66L
`
`
`
`uondaoxyejnWJoy
`
`ee7I|
`
`I
`
`6b“Sls
`
`9661!|I
`
`Joyenjeag
`
`v86l
`
`
`
`saBeueywooey
`
`9861
`
`
`
`O861
`
`WWaY
`
`49}91d13}u}
`
`eyeqWeYD
`
`9261
`
`9 || A.
`
`SEZ
`
`
`
`Ayeiqr]aoe;
`
`8r6l
`
`In SÐ OJOeW
`
`INDDey
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 32 of 40
`Sheet 32 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
`soqsnpjoqusuyedegBay
`
`
`
`
`
`
`
`
`
`AQuaunD
`
`
`o6uey), eapsnryoyea-sAaRno
`
`Se
`
`
`
`
`
`
`voz‘big
`
`VOZ '61-I
`
`
`osansa=
`
`
`
`
`
`
`
`Fh(orvesqerengsodanyetau)angesyom[]kesbuionyC]xbeswoqiteseg
`
`
`
`Es
`fe%
`
`
`
`9261}
`
`
`sayjoueojsi@j0qsmvormmat]
`EAdarCT]:Eed“souaunaBesristemsulcel
`Snsuaauoyuns]
`
`
`
`IpsP@oHSNYjmp¥SOnsOSALOARUPQUO”ERDAN“Oy
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 33 of 40
`Sheet 33 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`UAPURIE©SS0961~Tsanrue
`
`abesay
`
`[.‘s1s}oUReg201909
`
`sane,euf26vEUDon]>20}Bupicg9e
`
`
`
`‘suaseIEp
`
`
`
`e002
`
`9261
`
`goz‘big
`
`RUpYSOKA19SMO2BIUPAIUD‘yO
`n2og.J aiWPT|9oySh
` ENOn
`
`soxpaabousig©)josBeia08armupronyunwornC]
`
`
`spreprobo.81gOC)auseonpOrguns]
`
`7suayurnsedAdare]
`mand
`
`
`
`
`
`
`
`
`sensorsoueuprdedSe
`
`
`
`aarenyjo3dag-sheng
`
`quid”
`
`LSiLaliad
`
`afiasaa'
`
`cel
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`FakesetekULOLA
`
`
`
` upsoonsn(AUD:
`
`
`
`quopupysora19smosgnup
`
`
`
`0961
`
`resoqaweisg
`
`
`
`sonengjo[dag-eéoTNO
`
`
`
`fe
`
`lgssomnyC]ECorposceyaaiesodyanqn69u)aryeayaaC]fBsroondety(55)&|
`
`
`
`obueun[]BAdanC)HvesJceliunaxey/wrungC]Ews]
`
`u40Ee)aDBvonsn201snowC}EatemayBuon[}usoqeve,
`soyC]AAouauing
`
`ae
`
`HeeseBPeeeOeTNiyme
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Sep. 2, 2008
`Sep. 2, 2008
`
`Sheet 35 of 40
`Sheet 35 of 40
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`©W
`
`w
`oOre
`
`0961
`
`
`
`aonsnesoyusupededSe
`
`
`
`ourdgcovesfF
`
`EPSSRLALAERESOE
`
`
`aoz‘614
`
`SEDDPPTPTTLEDTOEDiLeNEDLDTOOROOTIDRPEBERITRDESPEROI
`
`yeasoxdunyuns(]
`
`
`
`
`YowsS)4squinuFf
`
`“apa
`
`C1
`0
`Z
`
`i.e
`pas>
`buf
`qqaq
`
`afesmayC]
`
`ced
`
`
`
`
`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
`
`
`
`4éS€9
`
`2€998
`
`yeise
`
`
`
`256)
`
`O61;
`
`TVe0z
`
`ObeZ
`
`
`
`AdBasNOYayyM'Mim19UNOS
`
`
`
`
`
`
`
`
`
`
`wreLCPGL::Pee2612261.puabeNfi.
`
`puesaes|p|SOLeaULDhLd,aayKadaiga‘SirraatS| e0SaiT7977deeBainosAqsanuaaal(eauab
`
`
`
`
`:__Sexe}sidiaoe1ssoub
`
`3Mspunog---~i
`
`(701gAyNeyeq)‘UDDeeg},
`asauedetuaA~
`
`
`
`
`Asugun-~-2)
`
`upue
`
`22‘Sls
`
`Woe$i"
`sidatsSab
`
`
`
`Sethe)
`©(sil
`
`902¢
`
`
`
`U.S. Patent
`U.S. Patent
`
`YoN
`
`oONen—Yov=N
`
`StTSm
`
`US 7.421,648 B1
`US 7,421,648 B1
`
`
`
` #>oSNiarcaanog|—waleg!(Owa):'1ere)}MSNGNGLL
`
`.qweied:(Caia):_i!shemyBiniOtQ.
`aaa eeOnEIpipBalls|EEASPPB-jaaxKy
`yoOsorspy|
`
`
`
`
`
`
`
`
`
`
`
`
`80é¢c80¢e280¢280¢e8022802280ZZ80ce
`
`aM“BOUTS”7TSiaHANgJUsWUIaADSjoAIO\s7aainasAqSénuaael[eiauabfejol/,4
`
`
`
`
`
`
`
`
`
`quaLUWaAddJoAisi|sjabpngjuauweadsjoAlo
`
`
`
`
`
`
`
`
`
`
`Sa}OUI}UOleE,ad!yeu}
`
`'SyaGpngjuauiuiaacs)yoA0jsip4TsyeBpng
`
`juauuiaadgjoArojs
`
`sieBpng:
`
`Jc¢‘Sls
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`G22‘Sis
`
`Roehatehs]
`
`
`
`
`
`
`Bier
`
`
`
`
`
`e
`
`s w
`
`eleaks
`
`e
`
`OLe7~
`
`
`
`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
`engines. Also, they