`
`
`
`
`
`Merrill Communications LLC
`d/b/a Merrill Corporation
`Exhibit 1011
`
`
`
`(12) United States Patent
`Davis
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,650,355 B1
`Jan. 19, 2010
`
`USOO7650355B1
`
`REUSABLEMACRO MARKUPLANGUAGE
`
`OTHER PUBLICATIONS
`
`(54)
`(75)
`
`(73)
`
`(*)
`
`(21)
`(22)
`
`(60)
`
`(51)
`
`(52)
`
`(58)
`
`(56)
`
`Notice:
`
`Inventor: Russell T. Davis, Bethesda, MD (US)
`Assignee: E-Numerate Solutions, Inc., McLean,
`VA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`Appl. No.: 09/573,780
`May 18, 2000
`Related U.S. Application Data
`Provisional application No. 60/135,525, filed on May
`21, 1999, provisional application No. 60/183,152,
`filed on Feb. 17, 2000.
`
`Filed:
`
`Int. C.
`(2006.01)
`G06F 7/30
`U.S. Cl. ........................... 707/102; 707/101: 707/3;
`707/204; 715/234; 715/202
`Field of Classification Search ................. 707/103,
`707/102, 100, 3, 6, 101, 10, 345/604; 715/517,
`715/500, 503, 513,523, 50.1
`See application file for complete search history.
`References Cited
`
`U.S. PATENT DOCUMENTS
`6, 1987 Hernandez et al.
`4,674,043 A
`4, 1991 Bly et al. .................... 715/751
`5,008,853 A *
`(Continued)
`
`Bruce Hallberg et al., “Special Edition. Using Microsoft(R) Excell 97.
`Bestseller Edition,” Que(R) Corporation (1997).
`(Continued)
`Primary Examiner Cam YT Truong
`(74) Attorney, Agent, or Firm—Finnegan, Henderson,
`Farabow, Garrett & Dunner, LLP
`
`(57)
`
`ABSTRACT
`
`Methods and systems in accordance with the present inven
`tion provide macros and a markup language referred to as
`Reusable Macro Markup Language (“RMML') which allows
`numerical analysis routines to be written quickly, cheaply,
`and in a form that is usable by a broad range of data docu
`ments in the Reusable Data Markup Language (“RDML)
`formatting language. RMML and RDML are markup lan
`guages, such as the Hypertext Markup Language (“HTML')
`or the Extensible Markup Language (XML). Generally,
`RDML facilitates the browsing and manipulation of numbers,
`as opposed to text as in HTML, and does so by requiring
`attributes describing the meaning of the numbers to be
`attached to the numbers. RMML allows spreadsheet type
`macros to be posted as web documents, to be searched by
`search engines, to be combined into more complex programs,
`and to be reused with many data documents. RMML macros
`also provide reusable user-defined calculations for use in
`conjunction with RDML that automatically manipulate and
`display numerical data contained in RDML markup docu
`mentS.
`
`56 Claims, 40 Drawing Sheets
`
`Locate Documents
`
`r 1002
`
`Select Document to be
`Transformed
`
`1004
`
`
`
`006
`
`Access Line tem
`H -
`Determine Desired
`Y 1008
`Transformation
`
`Access Unit, Magnitude,
`Modifier, Scale, Measure,
`and Adjustmeat Attributes
`
`ra 1010
`
`r- 1012
`
`Determine Conversion
`Factors for Each Attribute
`M. t y the conversion
`Factors to Manipulate the
`numbers of the Documentor-101
`Line tem
`--
`Display Transformed
`r 10s
`Cocument online tem
`
`
`
`Another
`Line term to be
`
`
`
`US 7,650,355 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`U.S. PATENT DOCUMENTS
`
`1/1994 Grady et al.
`5,276,776 A
`8, 1994 Risberg et al. .............. 715,762
`5,339,392 A
`5,371,675 A 12, 1994 Greifet al. .................. 71.5/220
`5,423,032 A
`6/1995 Byrd et al.
`5,603,021 A
`2/1997 Spencer et al. ................. 707/4
`5,721,847 A
`2/1998 Johnson ...................... 715,786
`5,737,592 A
`4/1998 Nguyen et al.
`5,754,939 A
`5/1998 Herz et al.
`5,822,587 A 10, 1998 McDonald et al.
`5,838,906. A 1 1/1998 Doyle et al.
`5,838,965 A 1 1/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. .................. TO2/14
`5.948,113 A
`9, 1999 Johnson et al. ............... T14? 38
`5,950,196 A
`9/1999 Pyreddy et al.
`5,956,737 A
`9/1999 King et al. .................. 71.5/517
`5,974,413 A 10/1999 Beauregard et al. ............ 707/6
`5,983,247 A 11/1999 Yamanaka et al. .......... 715,209
`5.999,944 A 12/1999 Lipkin
`6,014,661 A
`1/2000 Ahlberg et al. ................. 707/3
`6,026,388 A
`2/2000 Liddy et al.
`6,026,397 A
`2/2000 Sheppard
`6,034,676 A * 3/2000 Egan et al. .................... 7O1/29
`6,058,385 A
`5, 2000 Koza et al.
`6,065,026 A
`5/2000 Cornelia et al. ............. 715,531
`6,092,036 A
`7/2000 Hamann ........................ TO4/8
`6,097,888 A
`8/2000 Simonyi
`6,108,662 A
`8/2000 Hoskins et al. ............. 707/102
`6,121,924 A
`9/2000 Meek et al. ............ 342.357.13
`6,134,563 A 10/2000 Clancey et al.
`6, 160,549 A 12/2000 Touma et al.
`6,167.409 A * 12/2000 DeRose et al. .............. 715,513
`6,173,284 B1
`1/2001 Brown
`6,195,676 B1* 2/2001 Spix et al. ................... 718/107
`6,199,046 B1
`3, 2001 Heinzle et al.
`6,199,080 B1
`3, 2001 Nielson
`6,223,189 B1
`4/2001 Steffenset al.
`6,240,407 B1
`5/2001 Chang et al.
`6,243,698 B1
`6, 2001 Powers et al.
`6.256,030 B1
`7/2001 Berry et al.
`6,314,562 B1
`1 1/2001 Biggerstaff
`6,317,750 B1
`1 1/2001 Tortolani et al.
`6,349,307 B1
`2/2002 Chen
`6,351,755 B1
`2/2002 Najork et al.
`6,356,920 B1
`3, 2002 Vandersluis
`6,366,915 B1
`4/2002 Rubert et al.
`6,370,537 B1
`4/2002 Gilbert et al.
`6,370,549 B1
`4/2002 Saxton
`6,373,504 B1
`4/2002 Nielsen
`6,374,274 B1 * 4/2002 Myers et al. ................ 715,523
`6,418.433 B1
`7/2002 Chakrabarti et al.
`6.421,656 B1
`7/2002 Cheng et al.
`6.421,822 B1
`7/2002 Pavela ........................ 717/125
`6.424,980 B1
`7/2002 Iizuka et al. ................ T15,206
`6,460,059 B1
`10/2002 Wisniewski
`6,470,349 B1
`10/2002 Heninger et al.
`6,493,717 B1 12/2002 Junkin
`6,505,246 B1
`1/2003 Land et al.
`6,507,856 B1
`1/2003 Chen et al.
`6,581,068 B1
`6/2003 Bensoussan et al.
`6,591.272 B1
`7, 2003 Williams
`6,594,653 B2
`7/2003 Colby et al.
`6,615,258 B1
`9/2003 Barry et al.
`6,629,094 B1
`9/2003 Colby et al.
`6,635,089 B1
`10/2003 Burkett et al.
`6,667,747 B1 * 12/2003 Spellman et al. ............ 715,714
`6,721,736 B1
`4/2004 Kruget al.
`
`6/2004 Biggerstaff
`6,745,384 B1
`4/2005 Davis
`6,886,005 B2
`6,910,017 B1 * 6/2005 Woo et al. ..................... 70.5/10
`6,912,293 B1
`6/2005 Korobkin
`6,920,608 B1
`7, 2005 Davis
`2001 OO18687 A1
`8/2001 Gonzalez et al.
`2001/0020237 A1
`9, 2001 Yarnall et al.
`2001.0049687 A1 12/2001 Russell
`2002fOO23141 A1
`2/2002 Yen et al.
`2002/0052954 A1
`5, 2002 PolizZi et al.
`2002fOO91696 A1
`7, 2002 Craft et al.
`2002fO198985 A1 12/2002 Fraenkel et al.
`2003/004 1077 A1
`2/2003 Davis
`2003/0140045 A1* 7/2003 Heninger et al. .............. 707/10
`2003/0167213 A1
`9, 2003 Jammes et al.
`2005, OO86216 A1
`4, 2005 Davis
`2005, 0182709 A1
`8, 2005 BelcSaket al.
`2005, 0198042 A1
`9, 2005 Davis
`
`OTHER PUBLICATIONS
`
`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).
`Copending U.S. Appl. No. 09/573,419 entitled “Tree View for Reus
`able Data Markup Language.” filed May 18, 2000.
`Copending U.S. Appl. No. 09/573,778 entitled “Reusable Data
`Markup Language.” filed May 18, 2000.
`Extensible Business Reporting Language (XBRL) 2.0 Specification,
`(Dec. 14, 2001), Editors: Luther Hampton, e-Numerate; David Vun
`Kannon, KPMG LLP. pp. 1-42.
`Information on Exchange Rates of Africa, Asia, and Australia, web
`site: http://eh.net/hmit/exchangerates/infoafr.htm. pp. 1-3, 2002 by
`EH.NET, downloaded Oct. 19, 2006.
`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).
`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.
`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).
`
`
`
`US 7,650,355 B1
`Page 3
`
`Simon St. Laurent, “Why XML?.” http://www.simonstl.com/ar-
`ticles/whyxml.htm (1998) (5 pages).
`Suzuki et al., “Managing the Software Design Documents With
`XML.” ACM Proceedings of the 16th Annual International Confer
`ence on Computer Documentation, Sep. 1998, pp. 127-136.
`
`Copending U.S. Appl. No. 1 1/819,125 entitled “TreeView for Reus
`able Data Markup Language.” filed Jun. 25, 2007.
`Copending U.S. Appl. No. 1 1/819, 126 entitled "Reusable Data
`Markup Language.” filed Jun. 25, 2007.
`* cited by examiner
`
`
`
`U.S. Patent
`U.S. Patent
`
`J
`
`9a1
`
`m5933me
`
`we_.m@505
`
`4.20m
`
`5265Sac
`
`m
`
`f01
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`@9582cM€95toaxm
`
`S.
`
`a8:95;.800
`
`oow
`
`_‘.0."—
`
`
`
`Ema420m
`
`EmEzooD
`
`Nov
`
`2:
`
`mow
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan. 19, 2010
`
`Sheet 2 of 40
`Sheet 2 of 40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`90,2
`now
`
`
`
`E
`
`>mt<me
`
`mwmnflmo
`
`.mawm
`
`mmmnmumo
`
`$905
`
`N _
`
`Z
`
`u_8m0\
`
`wNN=v_Eoan_m>wn_
`
`
`
`
`
`:85.
`
`HB062).
`
`SN
`
`Now:moommowns—2mmmmmE_
`
`mommmmBfiEmucooww
`
`omNmmmnfimomEExw
`
`Swatowo._om_>_.=>=>_m
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 3 of 40
`
`US 7,650,355 B1
`
`
`
`
`
`
`
`
`
`Existing
`Database
`(SQL Server,
`Oracle, etc.)
`
`
`
`
`
`226
`
`
`
`
`
`
`
`
`RDML
`Image
`Database
`
`RMML. Macro
`Software
`Development
`Kit
`
`
`
`224
`
`RDML/XML
`Search
`Engine
`
`Main
`components
`
`222
`
`220
`
`ROML
`Document
`Editor
`
`RDSL Style
`Sheet Editor
`
`106
`
`RDML
`DOCument
`
`RDSL Style
`Sheet
`
`RDML
`Document
`Formatter
`
`RDML
`DOCument
`Server
`
`
`
`RMML. Macro
`DOCument
`
`RDMLData
`Viewer
`
`Various RDM
`Plug-in
`Applications
`
`FIG. 3
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 4 of 40
`
`US 7,650,355 B1
`
`807
`
`
`
`
`
`
`
`?aecae mae
`
`Z07
`
`#707
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan.19,2010
`
`Sheet 5 of 40
`Sheet50f40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`mF
`N
`Z
`
`o
`0
`
`w
`8
`0
`9
`
`cm
`
`
`
`909
`mom
`
`
`
`uranium—SE38?
`
`
`
`«can8:35
`
` cammnngsgésmm
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`..,mamzmmoéwfio3213.55.53.,
`
`
`
`
`
`
`
`>‘Ewflwfwumflu‘muiogimmww,m
`
`«GEM—559‘mmuEmm33:96._,
`
`
`
`
`
`,.¥[
`
`gcngfi.£5.E
`
`.38M
`
`
`
`555.3%:Mcam?oass35mm.aaxsszas
`
`
`
`
`
`iguom_§m§_§A
`
`
`
`
`
`
`
`
`
`
`vow
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 6 of 40
`
`US 7,650,355 B1
`
`
`
`User Submits data request
`to Web Server and RDML
`data Server via the viewer
`
`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
`
`2
`
`tw
`
`0
`
`US 7,650,355 B1
`
`.6352
`
`0.mwcmumflaw
`
`.nJa333;
`0).;3339aLNnWWA533..1mom:_
`
`
`
`.-5s.e_0420m429.n265$;Sum—as.v05
`
`En
`
`«.8Earnm2
`
`Asoka-V
`
`on;
`
`
`208.300420m
`5.5530.r4551
`
`23580
`
`EEO
`
`5mm.
`
`m2.
`
`o2.
`
`
`
`«Puno“«or
`
`92w
`
`
`
`
`
`
`
`Antwanzoo..omw‘wmmn.62$.__2x
`
`oE25:25mmwo:oo.wmmcms.Sums.«.u2°58“.wmn
`
`
`
`M9520m53%:0_a.29—82SEE—£5...7232x
`
`
`
` .5an00N.425.”.
`
`vow
`
`XKsangvow
`
`Sums.
`
`422m
`
`
`
`
`
`Em:iluEnEOEcanoD
`
`wumtEE
`
`9K
`
`Nmnomhwow
`
`
`Jab—“m3330......559.32
`
`
`Amx33w
`
`do”.
`
`2.5—:308
`
`.8522m.
`
`xx“..mu_m
`
`.05
`
`422m
`
`EaEsuon.
`
`3—.
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 8 of 40
`
`US 7,650,355 B1
`
`
`
`Text
`DOCument
`
`Object 1
`Process
`
`Output
`Application
`("View")
`
`
`
`Graphical
`User
`Interface
`("GUI")
`
`Third-Party
`Software
`Component
`
`Input/
`Output
`Process
`
`FIG. 7B
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 9 of 40
`
`US 7,650,355 B1
`
`START
`
`Document reader finds
`and receives document
`
`XML parser parses
`text
`
`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
`
`802
`
`804
`
`806
`
`808
`
`810
`
`812
`
`FIG. 8
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan. 19, 2010
`
`Sheet 10 of 40
`Sheet 10 of 40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`m.0."—
`
`x5.
`
`mm
`
`>I9mu
`
`30:
`
`996
`mmm
`
`vmm
`
`NNm
`
`omm
`
`69.5.
`
`x198co.
`“I!
`mmmmm
`HE
`| ~ || ·
`H5
`
`
`
`mmflol:
`
`“wwlmmmUI:
`
`mum
`
`E.
`
`w
`8
`
`wwm
`9! 6
`
`NmE
`·
`
`vmm
`
`H
`
`m
`9
`
`Nwm
`
`m5
`
`w5wow
`
`w5o5508:36.3
`
`w5Nrm.amuSomImEtm§8
`
`m5vFm
`
`
`
`EmELBIowcwg
`
`
`
`8:308:00mu.somluoEEE
`
`
`
`
`
`
`
`#706
`vom
`
`LmummclooEEE
`
`906
`mom
`
`HomIEmglmé
`
`206
`mom
`
`BREE
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 11 of 40
`
`US 7,650,355 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Locate DOCuments
`
`Select Document to be
`Transformed
`
`ACCeSS Line tem
`
`
`
`
`
`
`
`
`
`
`
`
`
`Determine Desired
`Transformation
`
`Unit, Magnitude,
`Modifier, Scale, Measure,
`and Adiustment Attributes
`
`Determine Conversion
`Factors for Each Attribute
`
`Multiply the Conversion
`Factors to Manipulate the
`numbers of the Document or
`Line tem
`
`
`
`Display Transformed
`Document on Line tem
`
`
`
`
`
`
`
`
`
`Another
`Line item to be
`ransformed 2
`
`
`
`Another
`DOCument to be
`ransformed 2
`
`
`
`FIG. 10
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 12 of 40
`
`US 7,650,355 B1
`
`START
`
`X-value transformer
`receives a new document
`
`Determines type of active
`documents in primary data store
`
`1102
`
`1104
`
`1106
`
`1112
`
`1116
`
`
`
`
`
`
`
`
`
`
`
`
`
`New
`object is same
`type as active
`documents
`
`No
`
`
`
`
`
`User chooses to
`reject object?
`
`User chooses to
`erase Current
`active?
`
`1122
`
`Insert new document
`as standby object
`
`
`
`
`
`
`
`1108
`
`Yes
`
`Add to currently
`active documents
`
`Reject the
`document
`
`Erase Current
`active documents
`
`Store new
`document
`
`END
`
`FIG. 11
`
`
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`<N_..9".
`
`U.S. Patent
`U.S. Patent
`
`J
`
`01029.,1
`
`S
`
`04f031
`
`
`
`
`
`:5l]. .
`
`mom“h89
`mmomv
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan.19,2010
`
`Sheet 14 of 40
`Sheet140f40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`
`
`CO
`O
`SN
`
`
`
`
`
`
`
`
`
`
`mwgin:6ha
`
`«8:5:anoN—“o»>xElfikD_,
`
`Nomw
`ZOZ !
`
`own
`
`mg.0.“—
`
`
`
`U.S. Patent
`U.S. Patent
`
`aJ
`
`0102w
`
`S
`
`04f05
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`
`
`UNr.0."—
`
`t83:28?owe32.5.32..e:38;Eclipfimhn
`
`1CNN
`nmom?
` 356.)5c:
`
`
`
`._S=§\
`
`
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 16 of 40
`
`US 7,650,355 B1
`
`Primary Data Store
`
`712
`
`
`
`RDML Lineltem
`
`FIG. 13
`
`
`
`U.S. Patent
`
`Jan.19,2010
`
`Sheet170f40
`
`US 7,650,355 B1
`
`
`
`Doom82.89.Em?89on?3mwow—.$8.88w“canonmw
`
`
`
`NOVFAwtotwohomzéaw.30...IOFVF/H/fiU—u—um.300w:
`
`
`
`
`
`
`
`
`
`
` trg5Q%&w\n_w1§vw_oo.r$wguo0cu§flaw—U
`
`E05sum0?.
`
`532>maogzomxx
`
`movw
`
`o:
`
`”:80main»1?Q
`
`
`
`omvv_w:2.«>250
`
`
`mow?M8w$.omtmgmrm.£g8;flusqr_mfifioasha..
`
`
`
`
`
`mmm.vmm.mmgang;mmmfimw.rwww.mnm._.9.65:25922301=22.H.CNN
`
`
`
`
`
`
`
`_m§oomm.o3353@E
`
`
`
`98:30.320quBtwee—gm-F.F033n;2angm.
`
`9:<3.9".
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Eugemhsfizw€meEmsmwfiflmmficmooiBwSomuhmNNVr
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan.19,2010
`
`Sheet 18 of 40
`Sheet180f40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`oomr
`
`
`
`
`
`m3..0_n_
`
`
`
`
`
`
`
`fig?"mg:1.8.3‘5Egg:‘_
`
`.3:I
`
`
`
` mu...9:.8.9323
`
`
`
`
`.«anBumamm—wmm—vmm.Nmfl03—89com—vom.N02.amm—
`
`
`
`,5%;$3.131
`
`
`
`oovw
`
`own
`
`omh
`
` VOVFmuxo.nu59§u£uw<n>3853§astux<.>/H/.NFN—‘
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan.19,2010
`
`Sheet 19 of 40
`Sheet190f40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`m2:o3e533...3:I
`
`419:\<
`
`
`
`
`5:65Sun.
`
`miuoagflfluunup.Egifilaifipg;SN—‘VFQ
`
`
`
`8m—.8.«map85war82xm.«E.
`
`nBIBB13:0Stake985all028.5Bob:0
`
`E53550%
`
`flagugh883023.!
`
`,
`
`wovw
`
`OFF
`
`CNN
`
`
`
`03..0."—
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`9
`
`04f002t
`Sheet 20 of 40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`”IBM1ulna}!‘0h0ms“352..ou1”Ed<UNhnHk4ku0.II.2Eu»43:33-au.3unulauon
`1n“:3...
`wy4133::1:393:25.5longv-buncaNoun—aon.h”mu—DIHOBA,.Scan;an”Iain“!
`
`
`
`
`.o"8316.:nulna“tug3coins:":0:Jnand9nonvuonuoxuh-oadnowNun-ac.—
`
`0/"Fan—Don5:.—
`
`
`
`
`
`
`
`
`
`
`
`DE..07.
`
`
`
`
`
`uuuun=3.—
`
`
`
`
`
`can:run“ca-nos:
`
`caudnevo"Eula
`
`
`
`o«uSnnow-v
`
`
`
`movw
`
`ovm
`9! 1
`
`own
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`0102
`
`04f012teehS
`Sheet 21 of 40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`m3.
`
`0."—
`
`
`
`EEEQSings...L
`>,._flhzmgfiwu
`
`
`
`.<$9558.»:535.!.aiEE‘atsVf.
`
`5.3guvatgaIr:
`
`895v93?55“.o
`
`
`
`
`
`n...0956a95.5.33.J:9...H58
`
`9ES.5330w553
`
`
`
`Sun54.2:-
`
`5x'.‘
`
`CNN.
`
`
`
`
`
`wan—5303'
`
`
`
`.3858i:.dfiafizc.3339
`
`
`
`
`
`
`
` ,
`
`
`
`
`
`
`
`S....uuw—uuse-535w“n...hasvffigzw
`
`
`
`
`
`U.S. Patent
`
`1naJ
`
`010
`
`ehS
`
`0
`
`US 7,650,355 B1
`
`cmBugs
`4E.:2:
`
`28.485523..an?“
`t82.2vae.‘
`0).,«85388.555"Eu-E:8.9.5..
`22m:.5go
`..9 a_.£353%.an
`
`
`
`mm:
`
`
`
`
`
`
`"=4
`
`0.".
`
`a
`
`3:23188.83.8m%@
`
`Elm33.586;”.
`
`
`
`Sufi-.395$:nkofiuk
`£3815213586.6
`
`
`
`
`Elba...53.6.9
`
`.annazéa“mgmwofiofiu32m3.»;,
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 23 of 40
`
`US 7,650,355 B1
`
`1502
`
`
`
`
`
`the Line tem
`
`1504
`
`
`
`1506
`
`
`
`1508
`
`FIG. 15A
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 24 of 40
`
`US 7,650,355 B1
`
`1512
`
`1514
`
`1516
`
`1518
`
`1520
`
`1522
`
`1524
`
`1530
`
`1532
`
`1534
`
`1536
`
`Remove existing data
`
`Get RDMLDOC from PDS
`
`Get RDMLLine tem
`
`Normalize X data
`
`Fill X Axis with data
`
`Fill Y Axis with data
`
`Mark Which YAxis This Series is on
`
`1526
`
`1528
`
`Yes. Add Axis
`
`Set number formats for axis labels
`
`Set the number precision
`
`Update the footnotes
`
`Run any macros that are applied
`
`FIG. 15B
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 25 of 40
`
`US 7,650,355 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
`
`
`
`
`
`B
`
`4'”«cocky—.021
`0E252582252M532.33.v:2m.fioh.EwEanzuo.5233”.
`
`
`JwocmcflEm—avcmcozflwno
`
`
`
`.252:32:5
`
`
`
`3:38.5.52.-£550
`
`000.000.000
`
`Sodasn
`
`8o.$~.~vm
`
`000.000.5w
`
`spuesnoql
`
`000.000.00
`
`-_s00009.warm.
`
`
`
`
`
`
`
`
`
`
`
`J:E‘, .52.
`
`
`
`VImmammeIQEoJEuEFmgcimmg996.0%.Us:HoE,HEmanooswfio5.ED__
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`..
`
`N03V
`
`
`
` mum;
`
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`0r.
`0.”.
`
`
`
`
`
`,4&5.{:
`
`
`
`swimgimfiwzsmswasemagi
`
`U.S. Patent
`U.S. Patent
`
`na
`
`9,
`
`teehS
`
`0
`
`4
`
`600327A
`
`w
`
`«02
`
`fmmmmoaom
`
`wmmuwm:
`
`«.00RF:
`
`0m:62:
`
`0:03:
`
`0v0~mm§
`
`$33:
`
`0mm0mm:
`
`0N00mmmp
`
`$330
`
`030mg
`
`Simon
`
`qmmmmmv
`
`000002
`
`mammmow
`
`30200
`000—.
`
`000032
`
`0F003E.
`
`000502
`
`
`
`«gamma;.mczawfinawEEm
`
`
`
`mmmmmmSM3:23:55..8555885n
`
`
`
`
`
`
`
`
`EmEanoEw.28.32€38.23.5533.immommmzm3:va5:35.80ESE—aiNamamE2825
`
`0:.
`
`vwn
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 27 of 40
`
`US 7,650,355 B1
`
`
`
`| | | |
`
`
`
`Bonp= fue pudo es?sod go 30190 || .
`
`
`
`
`
`
`
`
`
`||||||||||||||||EEEEEEE
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 28 of 40
`
`US 7,650,355 B1
`
`1800
`
`RMML Document Type Definition
`1810
`
`918
`
`1804
`
`1812
`
`918
`
`1802
`
`macro doC
`
`916
`
`1816
`
`922
`
`1814
`
`1818
`
`1806
`
`1820
`
`1822
`
`1824
`
`1826
`
`1828
`
`1830
`
`.
`
`- 930
`
`
`
`1808
`
`macro references
`
`error handling
`
`1802
`
`1834
`
`
`
`U.S. Patent
`
`n.aJ
`
`01,
`
`0
`
`hS
`
`92
`
`04
`
`S
`
`39w
`
`1B
`
`w9:
`
`MH
`
`
`
`5369‘98.2
`
`09.
`
`fi<2.9".
`
`Uv2mm?89$2
`
`m,$5.28:EE49.90%
`
`
`
`MN2:mom?
`
`2a533$000J__>=>_m
`
`
`
`330m“.Bow—2ooo422m
`
`
`
`
`
`>553985.n_._l.=>=>_m
`
`mmmw
`
`womr
`
`
`
`EmEJOODI=>=>_W_
`
`vow
`
`Orm;
`
`
`
`
`U.S. Patent
`
`a
`
`1
`
`04.m
`
`6:7SU
`
`1B553:
`
`w__.
`
`
`
`.283898.228m50982a:5m98.2
`
`m2.9".
`
`_________
`
`
`
`0mm:Nmm;"
`
`_______
`
`0=3th5098.2IIIIIIIIIIIIIIII_3_t_e_m_Som?_
`
`_mvmv"_
`
`m_m50982m_nm:m>s.n9,n
`
`
`n.965
`
`JcozaEzmm<Sow—2Ema:Sow—2
`
`
`
`
`
`_mcmn_qumEEmn..mcmn.:ozatommo
`
`
`
`
`
`
`
`NmnNfimr
`
`om;
`
`
`
`
`
`
`
`US 7,650,355 B1
`
`5
`
`1
`
`Bl509.0.".
`
`_
`
`
` 3,I.0__fi_n79__cozamoxm.wagon_S_‘"Un__82n
`
`
`_
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`
`__—_
`
`
` mu82_mu_Ems:Sons.01,,nnJ_nn_28:20"$2"___nmEn__uu_
`
`
`
`
`$93329222
`
`_wvmw
`
`
`
`
`
`
`
`
`
`c0225“.528$mfimcm>“500.6.22 mSEEu_.=>=2m0n_4_f_0_.39magommv“1_3_nmnu«M“528$.
`
`Sheet 31 of 40
`
`
`fl“ommr
`__\\..$m..a§c._55:38.2.52mSEBm
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 32 of 40
`
`US 7,650,355 B1
`
`
`
`
`
`
`
`VOZ “fil
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan.19,2010
`
`Sheet 33 of 40
`Sheet330f40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`oomw
`
`wmmr
`
`
`
`
`
`
`
`
`
` ....»,\
`#3345.Sgigggumufigflufiflgnfikfimfluggwflfiufiaxgggdfigfissas.“24%ghggflsfixsagggumfigfimfidwfiwfififikfiggfi.\nnJ
`
`§>I}.o_§8=095395.83mcoma3Eco.35”«inm8.2Be0a.o3826v.553:
`.55!aa?3.8.30vs8089:m53a88965...®".3333W.§D>(a5.952..‘93mHaggai?“32SEC.
`
`
`“gas...3....%&&§%§%fifigfiégagafim
`
`”Evianw,
`
`..55.50856a.K,
`
`Efiuufifi.,guiggfiigqggéisfitflw;.
`
`8.33..gE9.u..z..g....,<e.....$.isi.i§.iii_
`
`
`
`
`
`
`
`w2.=n.§:.wgu@m.Kalifiafi:
`
`
`
`L«.i13.,.\II
`
`
`
`
`"zN
`.v...8.8:;Ba»a..
`
`Nmn
`
`
`
`g{aflfiflfifi
`
`mom.9".
`
`
`
`
`
`aw.H.»Hu.1“myw,,
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan.19,2010
`
`Sheet 34 of 40
`Sheet34of40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`com?
`
`
`5:...>£3Axe:x...
`
`
`
`
`
`
`
`
`
`4.,\..N...w...$4u.”..5S.58.N454...»hena»u§m?4%uu....w§ga>4.....0..533%.0.40¢...»€1§74.¥.§%¥K5¢5....433%3.9.2..g4...3.av9%v~1§\.4uu§:ém$
`
`5...:mg§¥$§wfigfiw§§fififi§¥figfifi§%§%fimu%.$D
`
`.:______E:¢__§E
`
`08.9".
`61-I
`
`ommv
`
`
`
`g“:.EHE;
`
`.5l6
`
`-----------------&?¿?).…… &…
`
`58:35.330
`
`23322510
`
`th
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 35 of 40
`
`US 7,650,355 B1
`
`
`
`CIOZ
`61-I
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 36 of 40
`
`US 7,650,355 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
`
`Jan. 19, 2010
`
`Sheet 37 of 40
`
`US 7,650,355 B1
`
`ZOZZ
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 19, 2010
`
`Sheet 38 of 40
`
`US 7,650,355 B1
`
`
`
`
`
`
`
`sumnjog einunny
`
`
`
`EZZ "SDI
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`S&
`s
`N
`
`
`
`U.S. Patent
`U.S. Patent
`
`01
`
`04f093teehS
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`”350m“,.,..£33mEoEEoSo.5.5220.............................2.358umEmEEmBoSx9532253.333”Baum“..MmammuzmEmEEEsoBESE“2332253.333
`
`
`
`
`.m«33.5€95:me.6bemn[A#3::i
`.nJa,.-.2.V
`
`
`
`
`
`
`
`
`
`3:23:21;”35am:Eufimfiosmwvuofimfl«(Kr“«5::H2mmusmEmEEw>ooE:22
`
`
`
`
`
`wmzagw:§.§k“me—awE959SfiiugfiF,:mEEmSO.maummE2.2.562%
`agar-2233;;”musowEmamflafiwwgfimF£25m29:52.0.8>8748:.2:855:cozeoeoomm
`
`
`
`
`
`
`
`
`.”3.3mm.Fmammuam“586250.6522
`
`
`
`.F.1‘amyéiazawmthmwimmawmfimwxmmmrWEmumnémsawswmmfisfl
`
`
`
`
`ml:H$34:3.2.5SEE:5.523%:2E2.8.x
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Own.0."—
`
`
`
`
`
`wommmONNwommwONN.womwwommmommwomm
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 19, 2010
`Jan.19,2010
`
`Sheet 40 of 40
`Sheet400f40
`
`US 7,650,355 B1
`US 7,650,355 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Gun.0.”—
`
`
`
`
`
`
` Euegon42mmBaud“Run
`
`
`
`
`
`
`9%gangina.953SELF,39»FE“FEW
`
`
`
`
`
`2..eaIn._vu:w:32?!D
`
`
`
`
`
`
`EEEEIHIEJIJ!
`
`
`iEE1$§IE§§§§1$EBK§F1§FBARF.
`
`
`
`O LZZ
`oFNN
`
`
`
`
`1.
`REUSABLEMACRO 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 and pat
`ents are also relied upon and are incorporated by reference in
`this application.
`U.S. patent application Ser. No. 09/573,778, entitled
`“Reusable Data Markup Language.” and filed on the same
`date herewith.
`U.S. patent application Ser. No. 09/573,780, entitled “Tree
`View for Reusable Data Markup Language, and filed on the
`same date herewith.
`U.S. Pat. No. 6,920,608, entitled “Chart View for Reusable
`Data Markup Language.” and filed on the same date herewith.
`
`BACKGROUND
`
`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
`must be organized according to certain rules, but their mean
`
`2
`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
`writer puts an interest rate assumption in cell “C4 and
`
`US 7,650,355 B1
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`3
`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