`
`United States Patent
`Davis
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,249,328 B1
`Jul. 24, 2007
`
`USOO7249328B1
`
`(54) TREE VIEW FOR REUSABLE DATA
`MARKUPLANGUAGE
`(75) Inventor: Russell T. Davis, Bethesda, MD (US)
`(73) 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.
`
`(*) Notice:
`
`(21) Appl. No.: 09/573,419
`
`(22) Filed:
`
`May 18, 2000
`Related U.S. Application Data
`(60) Provisional application No. 60/183,152, filed on Feb.
`17, 2000, provisional application No. 60/135,525,
`filed on May 21, 1999.
`51) Int. C.
`(2006.01)
`G06F 7/II
`(52) U.S. Cl. ....................... 715/853; 715/538; 707/205
`(58) Field of Classification Search ................ 345/853,
`345/854, 855: 715/503, 853–855, 760, 513–514,
`715/509; 707/205
`See application file for complete search history.
`References Cited
`U.S. PATENT DOCUMENTS
`
`(56)
`
`1/1994 Grady et al. .................. T06/48
`5,276,776 A *
`6/1995 Byrd et al.
`5,423,032 A
`5,603,021 A * 2/1997 Spencer et al. ................ 707/4
`5,737,592 A
`4, 1998 Nguyen et al.
`5,838,965 A * 11/1998 Kavanagh et al. ...... TO7/103 R
`5,894,311 A * 4, 1999 Jackson ...................... 345,440
`5.999,944. A * 12/1999 Lipkin .........
`... TO7 104.1
`6,014,661 A
`1/2000 Ahlberg et al. ................ 707/3
`6,026,397 A * 2/2000 Sheppard ....................... 707/5
`6,058,385 A * 5/2000 Koza et al. ..
`... 706.13
`6,097.888 A * 8/2000 Simonyi ..................... T17,144
`6,206.388 B1
`3, 2001 Oluboter
`6,240,407 B1* 5/2001 Chang et al. .................. 707/2
`
`6.256,030 B1* 7/2001 Berry et al. ................ 71.5/854
`6,314.562 B1* 11/2001 Biggerstaff ................. 717,156
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`Bruce Hallberg et al., “Special Edition. Using Microsoft(R) Excell
`97, Bestseller Edition,” Quer) Corporation (1997).
`
`(Continued)
`Primary Examiner Ba Huynh
`(74) Attorney, Agent, or Firm—Finnegan, Henderson,
`Farabow. Garrett & D
`LLP.
`arabow, Qarre
`unner,
`(57)
`ABSTRACT
`
`Methods and systems provide a “tree view” for a markup
`language referred to as Reusable Data Markup Language
`gllag
`p
`gllag
`(“RDML). Generally, a tree view comprises the compo
`nents necessary for automatically manipulating and display
`ing a graphical display of numerical data contained in
`RDML markup documents. RDML is a markup language,
`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. Upon receiving RDML markup
`documents, the tree view transforms, formats, manipulates
`and displays data stored in the markup documents using the
`attributes describing the meaning of the data. The tree view
`uses the attributes of the numbers to, for example, facilitate
`the simultaneous display of different series of numbers of
`different types on a single display. It automatically displays
`the relationship between series of numbers while displaying
`appropriate labels, titles, number precision, etc. A tree view
`may be a component of a data viewer used to retrieve,
`manipulate, and view documents in the RDML format.
`
`16 Claims, 40 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`w8w Chart Fawortes Tools help
`
`stag
`
`
`
`start Perioct940
`
`iw
`
`Tokal Surplus efficit.)
`
`1402
`
`1404
`
`sy Table at: Take 1: Summary of Recels, Oasys
`Suriansry of Rscsits, outlays
`
`
`
`
`
`1579.292
`1s23s
`(.333
`
`1422
`
`Teewis
`
`----------
`Focines detaStreetMacros HTMLBrowser
`
`
`
`US 7,249,328 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`T15,501.1
`
`6,317,750 B1 * 1 1/2001 Tortolani et al. ....... TO7/103 R
`6,349,307 B1
`2/2002 Chen
`6,356,920 B1* 3/2002 Vandersluis ...........
`6,366,915 B1
`42002 Rubert et al.
`6,370,537 B1 * 4/2002 Gilbert et al. .............. 707/101
`6,370,549 B1
`42002 Saxton
`6,373,504 B1 * 4/2002 Nielsen ...................... 345,739
`6.421,656 B1* 7/2002 Cheng et al. ..
`... TO7.2
`6,460,059 B1 * 10/2002 Wisniewski ....
`715,503
`6,470,349 B1 * 10/2002 Heninger et al. .
`707/102
`6,493,717 B1 * 12/2002 Junkin ...........
`707/102
`6,505,246 B1* 1/2003 Land et al. ....
`... 709,224
`6,507,856 B1* 1/2003 Chen et al. ....
`... 715,513
`6,591.272 B1* 7/2003 Williams ....
`707/102
`6,594,653 B2 *
`7/2003 Colby et al. ................... 707/3
`
`
`
`6,615.258 B1* 9/2003 Barry et al. ................ 709,223
`6,629,094 B1* 9/2003 Colby et al. .
`... TO7/4
`6,635,089 B1 * 10/2003 Burkett et al. .............. 715,513
`6,745,384 B1* 6/2004 Biggerstaff ................. 717,156
`6,912,293 B1* 6/2005 Korobkin....
`382/100
`2002/009 1696 A1* 7/2002 Craft et al. ................... 707/10
`2002fO198985 A1 12/2002 Fraenkel et al. ............ TO9,224
`2003/0167213 A1* 9, 2003 Jammes et al. .
`... 705/27
`2005/0182709 A1
`8/2005 Belcsak et al. ............... 705/38
`
`OTHER PUBLICATIONS
`Elliotte Rusty Harold, “XMLTM Bible.” IDG Books Worldwide,
`Inc.. An International Data Group Company (1999).
`& 8
`s
`David Megginson, “Structuring XML Documents.” Prentice Hall
`PTR, Upper Saddle River, NJ (1998)
`, Upp
`* cited by examiner
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 24, 2007
`mJ
`
`ummcmummam
`
`END£20m
`
`EmEsooQNor
`
`
`
`
`
`
`
`
`
`Mmo—m2505.9505
`
`
`
`9mm.M,30309....__>_om#0?
`
`1a
`Sheet 1 of 40
`0
`
`US 7.249,328 B1
`US 7,249,328 B1
`
`
`
`4352:8E:M>cmEvtoaxmoor
`
`'02
`
`_‘.0."—
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`l.HJ
`
`70024,
`
`teehS
`
`04
`
`US 7.249,328 B1
`US 7,249,328 B1
`
`$2580
`
`09205
`
`N _
`
`Z
`
`n_com0\
`
`wowDuo0%ommnflmo39:.
`
`
`wow$905«.383
`
`mum§205298
`
`9%$8st9.55
`
`295:898.245:21
`
`.m.mem
`
`2888mm
`
`Ems.
`
`2>92.in
`
`@
`
`mom
`
`
`
`E
`
`IboEoS.
`
`row
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 3 of 40
`
`US 7,249,328 B1
`
`
`
`
`
`
`
`
`
`Existing
`Sigai erver,
`
`Oracle, etc.)
`
`
`
`
`
`226
`
`Main
`components
`
`222
`
`220
`
`RDML
`Document
`Editor
`
`RDSL Style
`Sheet Editor
`
`106
`
`RDML
`DOCument
`
`RDSL Style
`Sheet
`
`RDML
`Document
`Formatter
`
`
`
`
`
`
`
`RDML.
`image
`Database
`
`RDML
`DOCument
`Server
`
`RMML. Macro
`Software
`Development
`Kit
`
`RDML/XML
`Search
`Engine
`
`RMM Macro
`DOCument
`
`RDML Data
`Viewer
`
`Various RDML
`Plug-in
`Applications
`
`FIG. 3
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 24, 2007
`Jul. 24, 2007
`
`Sheet 4 of 40
`Sheet 4 of 40
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`807
`wov
`
`
`
`
`
`SN
`
`
`
`maniac—tnc.nab!“
`
`«3385.c.a«2532:.son
`mEmgmmflc.agauge—FEa35.255”5a,.
`
`
`
`
`
`
`“2335.film
`
`,y
`
`
`8.3.51?QRȣ2253E32355.9:
`
`
`
`
` .Hlnq,1:1‘411111‘V1
`
`
`
`
`
`
`
`Em:$3,.9...}
`32.x...fl
`
` ,4.2.8.”.
`
`*Ma
`
`| | |
`
`
`
` éoa...£3.62.58.8w:2.23:3.«5.2.2....3Mi:é329:3birch.
`
`
`
`
`
`3.2:.$2.5.3%?-
`
`
`
`.msficza.3.".7
`
`Z07
`Nov
`
`#707
`vov
`
`
`
`
`
`
`
`
`U.S. Patent
`
`7002
`
`04f05tw
`
`US 7,249,328 B1
`
`05m.9"—
`
`l._u.JOB.
`
`
`
`
`
`zmguflunuounu.-.._.“HS-Io...
`
`
`
`momEgan-8359.,“inheaizflsaonA,_
`
`
`
`hSings?“3.26€28vomSSavagwm55gate$535
`
`7m.cars...838.5261.9..
`4a..
`
`
`
`..51.iii-ammo--BfiomwmcaamEma-2.9
`
`
`
`
`$5....33¢.2mm25m
`
`
`
`
`
`
`
`_..«€535.33
`
`
`
`
`
`
`
`
`
`mom,,..i,.;;..-...2.i....--.---......-22-22-321.-:3:-2,....,1.1%-.,.,-._
`
`
`Egg,VEESUEM..gang-{2..—.._..£58
`
`
`
`
`
`
`
`03.—# 5:2...23.54:2.qu
`
`
`_-if-.._El:.I(EIE!ex?L35139.mg—-3¥¢.,
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 6 of 40
`
`US 7,249,328 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
`
`2
`
`7t
`
`1
`
`>658;
`
`u.mumcmzVONJ30509...
`
`3.533.MBummociBEEQX.533.
`
`
`lo.53:E03304.20”.429..
`
`35wow
`
`
`M505323Bowen:0.oazmumaaw
`
`23metawon
`
`:20
`
`28
`
`mK
`
`w:vKNEN2
`
`
`
`
`
`.3952co_._:_._oowe?Emnmfluo
`
`35..
`
`99m
`
`
`
`
`
`Angie:094.29..a523”.42x
`
`.0389.
`
`w0FNwumtw—Eh2058Emma“:9.82Sm2058“.wmn
`
`ma
`
`595.2
`
`0a:_m>.x
`
`
`
`0054.25.:
`
`EwEauoD
`
`vow
`
`355:5leVOF
`
`Eon:
`
`4.22m
`
` .832m0/,42k:hummmwnoiSnow—fin:”fir—MsfinwvEoEBoDM_wdam422m2:.7,canSNmnownwow
`
`
`w<5.9”.n.96
`
`
`
`
`
`
`
`
` 89.25U.83523.0.5638
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 8 of 40
`
`US 7.249,328 B1
`
`Text
`Document
`
`Object/
`Process
`
`
`
`
`
`Output
`Application
`("View")
`
`Object
`Storage
`
`
`
`Graphical
`User
`Interface
`("GUI")
`
`Third-Party
`Software
`Component
`
`Input/
`Output
`Process
`
`FIG. 7B
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 9 of 40
`
`US 7.249,328 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
`
`END
`
`FIG. 8
`
`
`
`S
`
`m
`
`t
`
`J
`
`42
`
`0
`
`04f0
`
`US 7,249,328 B1
`
`I«Qwv_C=mmgm;
`
`$5
`
`tIeaGE6x:__69E:%wmmNNm
`0I1xEmu
`
`M3m#5
`
`2m«5.
`aDULDOWIUOUFCUH
`
`U.m5mom
`
`3mg05PII
`o2563:8858SS
`
`.vom
`
`
`
`D0238.5”.ouSSImcEmEB.
`
`hovmocloanE
`
`2IIa25«aficoumEB.3:3:
`
`mom
`
`ummlmwocxc:Hwma1vmm1arm
`
`wNm
`
`NNmomm0mm$6IHmmm
`.va
`
`mom
`
`.om|E£_Ioc__
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 11 of 40
`
`US 7,249,328 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
`
`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
`ransformed2
`
`
`
`
`
`
`
`
`
`FIG. 10
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 12 of 40
`
`US 7,249,328 B1
`
`START
`
`1102
`
`1104
`
`X-value transformer
`receives a new document
`
`Determines type of active
`documents in primary data store
`
`1108
`
`
`
`Yes
`
`Add to currently
`active documents
`
`New
`object is same
`type as active
`documents
`
`NO
`
`
`
`
`
`User chooses to
`reject object?
`
`Reject the
`document
`
`
`
`
`
`
`
`User chooses to
`erase Current
`active?
`
`
`
`
`
`
`
`Erase Current
`active documents
`1120
`
`Store new
`document
`
`
`
`
`
`
`
`
`
`
`
`
`
`1106
`
`1112
`
`1116
`
`1122
`
`insert new document
`as standby object
`
`END
`
`FIG. 11
`
`
`
`J
`
`70024,2
`
`S
`
`04f0B
`
`US 7.249,328 B1
`US 7,249,328 B1
`
`
`
`<N—..0."—
`
`U.S. Patent
`U.S. Patent
`
`vow?
`
`
`
`aOEm83
`mNew?
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`mJ
`
`70024,
`
`1teehS
`
`04M
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`
`
`4own
`2.New?
`3353..u8I
`
`
`
`
`
`
`
`mwr.0.”—
`
`
`
`U.S. Patent
`U.S. Patent
`
`J
`
`7002
`
`hS
`
`04f0
`
`
`
`.32..EiuI
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`
`
`Our.0."—
`
`
`
`
`
`Mwow.ua?
`
`BOONFmattesn<oON“a,afififim
` 522>5::=5:\.\
`
`
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 16 of 40
`
`US 7,249,328 B1
`
`Primary Data Store
`
`712
`
`
`
`RDML Lineltem
`
`FIG. 13
`
`
`
`U.S. Patent
`
`US 7,249,328 B1
`
`
`
`
`
`
`
`
`
`
`
`lamaya ered Taegu ^^
`
`
`
`US 7.249,328 B1
`US 7,249,328 B1
`
`
`
`m3..0."—
`
`U.S. Patent
`U.S. Patent
`
`LHJ
`Jul. 24, 2007
`2
`0
`
`ehS
`04
`Sheet 18 of 40
`.m
`
`8wow?
`
`
`
`
`
`7________
`0.
`
`4,,._____E_E2.1;1x:1xxx.
`
`tébiEBE-EEflung.owe285—851.
`
`1gbolklSung-953.3-9CNN
`VCVFmile—augluhggflaéhigifid_>/k/N—\N—‘
`
`33.55.5:8.\
`
`
`u2:o.953962...3.:I
`
`
`
`3...it...5.»I
`
`
`
`vmm—«8—Saw98—n8—vaFg—
`
`we:
`
`OZZ
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 19 of 40
`
`US 7,249,328 B1
`
`
`
`
`
`
`
`SO7 ), "SDI
`
`OZZ
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 20 of 40
`
`US 7,249,328 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`|
`
`
`
`sausines ospraw- mag
`
`|
`uasan :
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 21 0f 40
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`
`
`
`
`
`
`
`
`”>3Rubia-5'0
`
`IUFIHU
`
`m3.
`
`
`
`..Jl;“.3me
`
`x65«35'
`
`
`
`SUIpad-5..
`
`39.53
`
`#6....x1.-
`
`0E
`
`
`
`own
`
`
`
`U.S. Patent
`U.S. Patent
`
`l.HJ
`
`70
`
`teehS
`
`04
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`mm:
`
`
`
`091.
`
`“.3..
`O.“—
`
`
`
`
`
`
`fz...5.90$3832Banana,2wt..86."
`m22E.35%oa22:2flag.M323m3.53595an.on:a.2.5
` a....§.g.s.......§§%§
`8.30.52...“
`
`
`
`
`Facaxnoavguficsamrtefimgfino
`
`
`4991.0.3,mmu..2aQ2%.32%28H3&2:
`
`teaE.».3ema_c...
`
`133.131..‘1..uiii:|..
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 23 of 40
`
`US 7,249,328 B1
`
`
`
`1502
`
`
`
`1504
`
`
`
`the Line tem
`
`
`
`
`
`1506
`
`
`
`1508
`
`
`
`FIG. 15A
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 24 of 40
`
`US 7,249,328 B1
`
`1512
`
`Remove existing data
`
`1514
`
`Get RDMLDOC from PDS
`
`1516
`
`1518
`
`1520
`
`1522
`
`Get RDMLLineltem
`
`Normalize X data
`
`Fill X Axis With data
`
`Fill YAxis with data
`
`1524
`
`Mark Which Y Axis 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
`
`Jul. 24, 2007
`
`Sheet 25 of 40
`
`US 7,249,328 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
`
`Jul. 24, 2007
`
`Sheet 26 of 40
`
`US 7,249,328 B1
`
`
`
`_—ccm—menu
`
`
`
`Nmmmmooomvmmmrm:
`
`
`
`
`
`5:335ucw.fia....«coEaSgao.zofiamaxflu
`
`5:92.2833:5I
`
`wocmcflEmEucm5:230I
`
`EuEu=EoiI
`
`
`.0532:>55:I
`
`
`
`once—ans.Eu:-99.50
`
`80.83%
`
`8o8m.5.mBoooémdvmW83938
`_.”-
`
`I.
`
`..so8am.a.w.
`
`26.808
`
`
`
`
`
`flaimmmwm:.1@E@_@
`
`
`
`
`
`
`
`
`
`
`EB.Waco—03369.6gmflgomgemfiug”EH2:”E25000200E.E...
`
`
`
` .,2w:
`
`
`
`
`
`«.02,moigo...55.3»;“3‘2m
`
`8,3523ES.\
`
`
`
`
`
`
`
`_,unmmmm:mmmmmmI.;Emmet;9.3%:
`
`$0332820
`
`
`
`ammmf......BREE
`
`m52Frwmmmxmm
`
`_«anew
`
` fmxm‘mwmr_;.i;:afiEfiEWBaEEEmEm5m@2525Eu4th.EmEaemSmn£0530:Emmomnm:WEoEmsuoEE238Z_,oucwzofifisEB:25anEE883‘35.85.”.
`
`Bag—=2_
`
` 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`or
`
`0....—
`
`
`
`
`
`waBEm.__2._.Iwmote—zM‘Emswwfio88:80:,
`
`
`
`o:
`
`VNN
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`4
`
`aehS
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`832.
`
`E333233033303:5I,5:33.53«no:9550
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“EE!5.3523412.1,
`
`,so:202”3.5;“.E5263Ea:
`
`
`
`
`
`.IU...23cozmoavm30anv0EEOIsJcozmoavwan.“000.036..”
`
`
`2322$a>=2=3mcaxooofimmdwm.
`7Iafiaficgmfii._sm98mmmva.
`
`coamoauw.2,m:22E;38:38,:3:51!:9863mmmovk
`:85van22:35.5302:0..I8080vv
`
`
`
`
`
`
`
`
`4"Ea.“uwusuup.26423Hezofiuouo>uouuwuuo.anmufluumM230.25%uafluwunfiflwfimvacaowucusuuHufiuunmuouuauuo.mamagnum
`hucucouumumomuo34.”qu2magnum7Laosuufiuuhung—ovumEBhuouauauauuouuauuo.munufiuum2"Eoflcusum
`
`
`
`0"354835:#355538manufiuum.wNN
`
`
`
`
`
`
`15?};«E;3,($2...xlgia:11s.Etuitti,i$tt.ix..§£iixllféxi454x6
`
`
`
`
`
`
`· ·------~- -> - - - - - - - --&-------- ~~~~ · · ---- - -
`
`t..9".Not
`
`HEEEEEEEIIo__E:9:_.08menu
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 28 of 40
`
`US 7,249,328 B1
`
`RMML Document Type Definition
`
`1800
`
`N
`
`1810
`
`918
`
`macro Source
`
`Contact info
`
`1804
`
`1812
`
`918
`
`1802
`
`macro doc
`
`916
`
`1816
`
`922
`
`1814
`
`1818
`
`1806
`
`1820
`
`1822
`
`1824
`
`1826
`
`gu
`
`926
`
`
`
`1808
`
`macro references
`
`error handling
`
`1828
`
`- - - - - - - - - - - - - - -
`
`- 930
`
`- - -
`
`li class
`
`1830
`
`testing
`
`1802
`
`1834
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 24, 2007
`Jul. 24, 2007
`
`S
`
`92m
`
`04f
`
`7S
`
`23,9
`
`1
`
`h35
`
`0H
`
`
`
`.253.Bows.
`
`own
`
`BI8<20.".
`
`Uv9mm?0N2m2?
`
`
`
`EEQJOBNE9%J22m
`
`ommvmoor
`
`
`
`bouomn.9922000422m
`
`
`
`mrmrmom_
`
`
`
`
`
`Emeaoo.__>_s_m
`
`vov
`
`533...000422m
`
`92
`
`
`
`
`U.S. Patent
`
`mJ
`
`e
`
`f
`
`US 7,249,328 B1
`
`
`
` _ovmw“7_mw_2500.692w_nm:m>s."4a_J_
`
`h_cuommv"
`
`
`
`0_0_3=3th50985.IIIIIIIIIIIIIIII_au
`
`0_4_
`
`___
`
`
`
` _.uomwwvmwwwawu
`
`
`
`
`
`§8>|5098228m:50Boas.$3150982u
`
`
`
`m2..0."—
`
`____
`
`
`
`.mcma.mEESmn—_w:mn_cozatommo
`
`
`
`
`
`39390am_20m
`
`
`:o_EE:ww<Bow—2a...3.
`
`mm?
`
`
`
`mm“vaF
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`.__m____“.Bmamsm“owe.
`
`____mnn32m_82_M,n_>55:
`98.2
`
`______________________
`
`
`
`.mmmcméSow—2
`
`33..
`
`98:20
`
`m;
`
`
`
`
`
`
`
`c0595“.$203Kw_nm:m>“50Sums. f__M"vmmrNam?ommp"a__m__S___828$.
`
`
`
`
`
`
`
`
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`_
`
`______
`
`u82
`
`cozamoxm
`
`mSEBm
`
`
`
`Dar.0."—
`
`__56.99:._555omom2E5m3E5
`n_\,\omm_.
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`70024.,2LHJ
`Jul. 24, 2007
`
`Sheet 32 of 40
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`Sagnfiozfifiuzaagnfiiig
`t....7220...:5‘50w82.:5&5asf.r,._55:03:600,.5520n,.fl.5550.mEma
`
`
`082lw.92504..:iZ?v.82333.50
`
`h-.29:35.3a”82230
`
`
`...._@®0©m@®gog
`
`
`
`ggtxgfiéafimmg
`
`
`
`5:3:31.131
`
`"Suns.
`
`imo
`
`Z8/
`Nmn
`
`
`
`
`
`«.838mnflvmvflymy;tgfiuhflg;_,HHEWLW.-.53.7.4.:-
`
`NOON0N3
`
`Z
`
`<8.9".
`61-I
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 33 of 40
`
`US 7,249,328 B1
`
`sºnu proffersio O
`
`oboreae yng @
`
`
`
`
`
`© § @ @ @ @ ?
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 24, 2007
`Jul. 24, 2007
`
`Sheet 34 of 40
`Sheet 34 of 40
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`
`
`ommw
`
`53:55.5#5:\
`
`Nmn
`
`00Z
`Com
`61-I
`9".
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 24, 2007
`Jul. 24, 2007
`
`Sheet 35 of 40
`Sheet 35 of 40
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`
`
`009.
`
`.u.¢(.x,§.....§:§.§{is‘\.n‘\Rx(I)!
`
`
`
`
`
`
`
`
`
`.Hiflhus.3%..SF3.,\‘n\\.~a.¢;‘nzh$.§..45.5315“523545.
`
`.{Sgainiézi.,3.1516;mxH.avnuisfimfisiwuxfiafl,
`.iii».3«flail.-
`
`Nmn
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 36 of 40
`
`US 7,249,328 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
`U.S. Patent
`
`Jul. 24, 2007
`Jul. 24, 2007
`
`Sheet 37 of 40
`Sheet 37 of 40
`
`US 7,249,328 B1
`US 7,249,328 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`<NN.0."—
`
`
`
`
`
`
`
`
`
`
`
`
`
`M...9:85to::9
`
`
`
`3.3.233932mnew$39,
`
`
`
`3:.megs332:3.
`
`
`
`
`
`
`
`?j?
`
`
`
`
`
`
`
`1.123.2
`
`
`
`
`cozauzuwEE385.65155.112%.28,
`
`| 4
`9
`9 G ??
`
`
`
`gem2.1!:.002w:ouo.u_2m
`
`
`”My?,‘.{;;.:II.figgggfiggfififi
`
`
` 8TIMEIgffiamanages@meQ&@mW@B®.@_
`
`
`
`
`
`
`
`.95.2__E:5:71”;Um“..mmm71.1.anH55.x!:1,‘EHL.392__.m_EH
`
`
`
`
`
`
`
`
`
`
`
` .
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 38 of 40
`
`US 7,249,328 B1
`
`| w || (i )
`
`TXTTTTTTTHOE
`
`8.292
`
`C
`
`!!!!!!!!!!!
`
`ZIBITIOI!),
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Xn Spunod
`Sn $·····
`
`
`
`EZZ "SDI
`
`Hill 88.
`
`
`
`ea. al ess
`
`
`
`U.S. Patent
`
`;hfl.24,2007
`
`Sheet 39 of 40
`
`US 7,249,328 B1
`
`
`
`
`
`
`
`was...53.33;”850m
`
`
`
`$32345¥§”350m
`
`
`
`
`
`26;.53.};”3.39m
`
`Ewan.
`
`
`
`“musem;.§w
`263.3.1337»
`
`
`
`
`ml:32%:$5.5:5:29
`
`Ewan.6%
`fifiwflIIl
`
`vi.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`EmEéuSOEcru".Eat2.:ng.
`
`
`
`.:.:22....::Hm:£o:_:_<:3:1...
`
`
`
`
`
`
`
`
`
`202:6$55.50.8>563
`
`
`
`mamuzm“525260.5SE:
`
`
`
`cozwusumzm
`
`ififlie
`
`egggfia:
`
`12529
`
`
`
`.21.“:._.._..,.
`
`
`
`3.BE:33E:Eamgm@@
`
`23a.....86.3355E
`
`womm
`
`wommwommwommwommwomm
`
`womm
`
`womm
`
`
`
`4§$Laafig:@a3Pawn;
`
`UNN.0_u_
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jul. 24, 2007
`
`Sheet 40 of 40
`
`US 7,249,328 B1
`
`
`
`
`
`CIZZ "91-)
`
`| ¡ ¿
`
`
`
`US 7,249,328 B1
`
`1.
`TREE VIEW FOR 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 appli
`cation.
`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
`“Reusable Macro 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.
`
`10
`
`15
`
`BACKGROUND
`
`2
`come some of these limitations. XML is a free-form markup
`language 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 meaning 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, if a developer were to create a
`markup language that describes books in XML, the devel
`oper could create specifically meaningful tags for "title.”
`“author,” and “publisher, something not possible in HTML.
`Although XML’s free-form structure permits the develop
`ment 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 diffi
`culty. One such problem is that often data and the docu
`mentation that describes the data are not both in electronic
`form. This conventional approach to database and spread
`sheet information often dictates that expensive database
`administrators are required to make transformations anytime
`data is being transferred from one system to another, expen
`sive analysis of printed documentation is required in con
`nection with any programming tasks, and the output rarely
`contains any indication of the original sources, structures,
`and manipulations that created that output. In PC-based
`systems, creating documentation for data is conventionally
`left up to the user: typically there is no machine-driven effort
`to collect the documentation 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
`intervention 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. Conventionally, formatting of graphical charts dis
`playing 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 essen
`tially short programs which perform well-defined, generally
`limited, tasks. Millions of spreadsheet users have used
`spreadsheet macros to automate mechanical tasks involved
`in manipulating the numbers in their spreadsheets. But the
`great investment in spreadsheet macroS has generally been
`
`25
`
`30
`
`35
`
`40
`
`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 HyperText Markup Language (“HTML'). A markup
`language 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
`45
`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 instruc
`tions for displaying images. Users cannot 'Surf through
`numerical data, to see graphs, apply transformations, com
`bine 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 pro
`grams allow for ad hoc review and manipulation of abstract
`numbers (e.g., a spreadsheet program or database program),
`but do not directly read their data from online sources. Such
`programs may perform statistical analysis, structural analy
`sis 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 over
`
`50
`
`55
`
`60
`
`65
`
`
`
`3
`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
`another person has a spreadsheet with the interest rate
`assumption in cell “BR47, a macro that expressly refer
`ences 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 are not Supported by directory or clas
`sification system, and have no ready market.
`Even further, users typically do not include unit testing,
`validity testing, error handling, and other end-user protec
`tions on the macros that they write. The result is that users
`may be wary of the output of macros that they might try to
`add to their spreadsheets.
`Conventional spreadsheet macros have difficulty making
`graphical interfaces to the data. End users of a foreign macro
`do not want to have to understand every cell and location
`constraint, every limitation on valid values that can be input
`and so forth. The lack of related graphical components
`further fuels this problem.
`Finally, conventional spreadsheet macros are either too
`small to be worth a marketing effort, or too difficult to use
`to find a large audience. This results in a lack of a business
`incentive to make them. It is therefore desirable to overcome
`the aforementioned problems and other related problems.
`
`SUMMARY
`
`Methods and systems in accordance with the present
`invention provide a markup language, referred to as Reus
`able Data Markup Language (“RDML'), that permits the
`browsing and manipulation of numbers and provide a related
`data viewer that acts as a combination Web browser and
`spreadsheet/analytic application that may automatically read
`numbers from multiple online sources and manipulate them
`without human intervention. Using the markup language,
`users may browse online sources using numerical-based
`queries, and the data viewer may automatically combine and
`manipulate multiple documents on a single display.
`
`US 7,249,328 B1
`
`4
`In accordance with an implementation consistent with the
`present invention, a method in a data processing system is
`provided that receives a first markup document and a second
`markup document, both the first markup document and the
`second markup document containing numerical values and
`tags reflecting characteristics of the numerical values. The
`method automatically combines the first markup document
`and the second markup document into a single data set and
`displays the single data set.
`In accordance with another implementation, a method in
`a data processing system is provided that receives a docu
`ment containing numerical values, and receives indications
`of characteristics of the numerical values, the characteristics
`including a unit and a magnitude. Further, it adds the
`received indications into the document as tags associated
`with the numerical values to create a markup document.
`In accordance with yet another implementation, a method
`in a data processing system is provided that receives a
`markup document having a set of numerical values and tags
`indicating characteristics of the numerical values and deter
`mines a transformation for the set of numerical values to
`reflect new characteristics. The method then accesses a
`plurality of the tags of the set of numerical values, the
`plurality of the tags indicating magnitude, Scale, modifier,
`units, measure, adjustment and aggregation. Furthermore,
`the method determines conversion factors for the magnitude,
`scale, modifier, units, measure, adjustment and aggregation
`tags to accomplish the transformation to the new character
`istics and multiplies the set of numerical values by the
`determined conversion factors to transform the set of
`numerical values to reflect the new characteristics.
`Methods and systems in accordance with the present
`invention provide a chart view that automatically manipu
`lates and graphically displays numerical data. The manipu
`lation and display is based on attributes associated with the
`numerical data describing characteristics of the numerical
`data. The chart view facilitates the simultaneous display of
`different series of numerical values of different types on a
`single chart and automatically displays appropriate descrip
`tive textual components (e.g., axis labels, axis titles, chart
`titles, number precision, legends, footnotes, axis Scales, etc.)
`The chart view allows single click transformations of series
`of numerical values and provides automatic formatting of
`descriptive textual components in response.
`In accordance with an implementation of the present
`invention, a method in a data processing system having a
`display showing a chart is provided that receives a series of
`numerical values with tags indicating characteristics of the
`numerical values and displays the numerical values on the
`chart. Further, the method automatically determines a title
`for the numerical values based at least one of the tags and
`displays the determined title on the chart.
`In accordance with another impl