`I 1111111111111111 11111 lllll 111111111111111 11111 11111 11111 lll111111111111111
`US006886005B2
`
`(12) United States Patent
`Davis
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,886,005 B2
`Apr. 26, 2005
`
`(54) RDL SEARCH ENGINE
`
`(75)
`
`Inventor: Russell T. Davis, Bethesda, MD (US)
`
`(73) Assignee: e-Numerate Solutions, Inc., McLean,
`VA(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 198 days.
`
`(21) Appl. No.: 09/784,205
`
`(22) Filed:
`
`Feb. 16, 2001
`
`(65)
`
`Prior Publication Data
`
`US 2002/0073115 Al Jun. 13, 2002
`
`Related U.S. Application Data
`Provisional application No. 60/183,152, filed on Feb. 17,
`2000.
`Int. Cl.7 . ... ... .. ... ... ... ... .. ... ... ... ... ... .. ... ... .. G06F 17/30
`U.S. Cl. ....................... 707/2; 707/3; 707/4; 707/5;
`707/10; 709/201; 709/203; 715/513
`Field of Search .............................. 707/3, 10, 5, 4,
`707/2; 709/201, 203; 715/513
`
`References Cited
`
`(60)
`
`(51)
`(52)
`
`(58)
`
`(56)
`
`U.S. PATENT DOCUMENTS
`5,423,032 A *
`5,737,592 A
`5,838,965 A
`5,999,944 A
`6,014,661 A
`6,173,284 Bl *
`6,206,388 Bl *
`6,243,698 Bl *
`6,317,750 Bl
`6,349,307 Bl *
`6,366,915 Bl *
`6,370,549 Bl *
`6,434,541 Bl
`6,460,059 Bl
`6,493,717 Bl
`
`.................... 707/5
`Byrd et al.
`Nguyen et al.
`Kavanagh et al.
`Lipkin
`Ahlberg et al. ................ 707/3
`Brown . . . . . . . . . . . . . . . . . . . . . . . . 707 /10
`Ouboter ......................... 707/1
`Powers et al. ................. 707/2
`Tortolani et al.
`Chen .......................... 707/103
`Rubert et al. . . . . . . . . . . . . . . . . . 707 /10
`Saxton ....................... 707 /205
`Tawel et al.
`Wisniewski
`Junkin
`
`6/1995
`4/1998
`11/1998
`12/1999
`1/2000
`1/2001
`3/2001
`6/2001
`11/2001
`2/2002
`4/2002
`4/2002
`8/2002
`10/2002
`12/2002
`
`6,615,258 Bl
`2001/0018687 Al
`2001/0020237 Al
`2001/0049687 Al
`2002/0023141 Al
`2002/0198985 Al
`2003/0167213 Al
`
`9/2003 Barry et al.
`8/2001 Gonzalez et al.
`9/2001 Yarnell et al.
`12/2001 Russell
`2/2002 Yen et al.
`12/2002 Fraenkel et al.
`9/2003 Jammes et al.
`
`OTHER PUBLICATIONS
`
`Glister, Paul, Finding It On The Internet: The Internet
`Navigator's Guide to Search Tools & Techniques, 2nd edi(cid:173)
`tion (1996), 379 pages.
`Bruce Hallberg et al., "Special Edition, Using Microsoft®
`Excell 97, Bestseller Edition," Que® Corporation (1997).
`Elliotte Rusty Harold, "XML™ Bible," IDG Books World(cid:173)
`wide, Inc., An International Data Group Company (1999).
`David Megginson, "Structuring XML Documents," Prentice
`Hall PTR, Upper Saddle River, NJ (1998).
`* cited by examiner
`Primary Examiner-Shahid Alam
`Assistant Examiner-Hung Pham
`(74) Attorney, Agent, or Firm-Finnegan, Henderson,
`Farabow, Garrett & Dunner, LLP
`ABSTRACT
`
`(57)
`
`Methods and systems consistent with the present invention
`provide a means for searching numerical data across net(cid:173)
`works such as the Internet, and removing the middle layer of
`query engines or servers used by conventional systems in
`retrieving data from relational databases over the Internet.
`The methods and systems in accordance with the present
`invention also provide a means for tying millions of com(cid:173)
`puters together into a single database, thereby a query
`introduced to the system returns a table of data as a single
`database is capable of providing. Furthermore, the methods
`and systems consistent with the present invention provide
`the means for performing navigational, line item (or record(cid:173)
`level), semantic, numerical, transformational, arithmetic,
`time-dependent, and cost based queries on numerical data.
`In addition, a user may also conduct select queries between
`unrelated databases.
`
`48 Claims, 15 Drawing Sheets
`
`802
`
`QUERY
`PROCESSOR
`
`INDEX
`DATABASE
`
`810
`
`DOCUMENT
`READER
`
`INDEX
`MAINTENANCE
`ASSEMBLY
`
`/104
`
`812
`
`SERVER
`MANAGEMENT
`ASSEMBLY
`
`808
`
`INDEX
`UPDATING
`AGENT
`ASSEMBLY
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 2 of 29
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 1 of 15
`
`US 6,886,005 B2
`
`102
`
`DISPLAY
`114
`
`INPUT
`1ill
`
`MAIN MEMORY
`118
`
`CLIENT
`COMPUTER
`SOFTWARE
`COMPONENTS
`120
`
`FILE
`SERVER
`
`136
`
`110
`
`SECONDARY
`STORAGE
`DEVICE
`
`CPU
`
`112
`
`104
`
`124
`
`WEB
`SERVER
`SERVER
`SOFTWARE
`COMPONENTS
`
`DATABASE
`SERVER
`
`DISK
`ARRAY
`
`DATABASE
`STORAGE
`
`100/
`
`FIG. 1
`
`134
`
`DATABASE
`MANAGEMENT
`SYSTEM
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 3 of 29
`
`V 202
`
`DATA QUERY
`SCREEN
`
`(04
`
`DATA QUERY
`PROCESSOR
`
`V 20s
`
`MACRO
`QUERY
`SCREEN
`
`r 20a
`
`MACRO
`QUERY
`PROCESSOR
`
`218\_
`
`l
`
`EXPORT
`PROCESSOR
`
`220
`
`l
`QUERY v-210
`PROGRESS
`SCREEN
`
`QUERY
`RESULTS
`SCREEN
`
`~
`
`r212
`
`214/
`
`[216
`
`102
`
`'
`
`PROGRESS
`PROCESSOR
`
`-
`
`RESULTS
`
`I PROCESSOR
`
`222
`
`DATA VIEWER
`
`OVERALL APPLICATION MANAGER
`
`FIG. 2
`
`d •
`r:JJ.
`•
`~
`~ ......
`~ = ......
`
`> "Cl :;
`
`N
`~~
`N
`0
`0
`Ul
`
`'JJ. =(cid:173)~
`~ ....
`N
`0 ....,
`'"""' Ul
`
`e
`rJ'J.
`_,.a-...
`~
`~
`a-...
`b
`Q
`(It
`~
`N
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 4 of 29
`
`~ FrontPage Edilor - jEntcr parameters for data search)
`'!}ew ~o ~nsert F~rmat !ools T~ble f'!me Window !:!elp
`~ ~_ile §_dil
`
`D 12, ~ I® [9. ,.,, I.)\ (Q ~1 i) ~ lq; l~lllffll□ IQ. 1¢,1¢1@10 I 'I I it? I
`1 · a
`lvl I A~ I!! ! ul~I= =
`I Normal
`lvl l1oerau1t tont)
`--= 1 - □- ... _
`-
`l
`O
`: .
`This page contains elements that may need to be saved or published to preview correctly.
`
`t~I
`
`Enter parameters for data search
`You may return to this page to make
`change while the search is in
`progress. This will narrow your
`query and provide a higher quality
`
`- return set
`--r--
`
`3
`
`Type of data sets to search
`
`Status: Waiting for search parameters
`
`Olime Series
`
`D Crosstabulation
`
`0XYP1ot
`
`"'
`~304
`
`Cha~ Title 1-
`/
`
`30 --
`
`I
`
`Line Item DesclipUon (Y Axis):
`
`Document Parameters:
`
`Legend
`
`r::nmEi
`Wl8l
`
`A
`
`'
`
`I
`
`/
`
`-~
`I
`
`~
`
`/314
`
`d •
`r:JJ.
`•
`~
`~ ......
`~ = ......
`
`> "Cl :;
`
`N
`~~
`N
`0
`0
`Ul
`
`rF.J. =-~
`~ ....
`0 ....,
`'"""' Ul
`
`~
`
`e
`rJ'J.
`-..a-...
`~
`~ a-...
`b
`Q
`(It
`~
`N
`
`~
`
`l
`I
`
`Doc. Titte
`
`I
`Minimum I
`Minimum I
`Minimum I
`Classes
`
`~
`
`l
`
`I
`Source:
`r
`
`~
`
`I
`I
`I
`
`~
`
`I
`
`12-1
`
`I
`
`--
`
`31
`
`316
`
`-
`
`x Axis Description
`
`Measure Type
`
`-
`
`I
`
`Done
`
`/
`202
`
`----
`I
`~ I
`I Review I
`I Pause I
`I Search I
`Nonnal L KT~L l -ew / ~
`'-----------;..------✓
`318 7
`'
`
`I
`312, Minimum I
`Maximum I
`
`Measure Type
`
`I
`Y Axis
`mue I
`~
`
`~
`I Cancel I
`
`FIG. 3
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 5 of 29
`
`206
`
`"41E-Numerator Search Client /Demo 1.0)
`Help
`Tools
`View
`Fite
`
`~ ~-12';-j §I \!i I
`
`cm][E)
`
`40
`
`"--
`
`)/
`D Basic Math
`D Spreadsheet runctions
`D Statistical Operations
`D Time series
`□ category
`0XYPlot
`Dovertays
`D Translation
`D Unit Transformations
`D Tree Functions
`D ?rejections
`D Graph Transrorms
`D Vector manipulations
`D Matrix Operations
`D Annotations
`D Real Time Updates
`□ Financial
`D Industrial
`□ scientific
`D Governmental
`D Demographic
`D Country
`D CostsNaluetion
`
`',
`
`Document Parameters:
`
`Tille f olal OR Overall OR Summary I
`
`Timestamp before !Jan-10-2000 I
`I Dec-1-1999I
`timestamp after
`I
`Fre~
`
`license type
`
`/404
`
`Classes
`
`Finance, economics, statistics
`
`Source
`
`I
`
`I
`I Start Search I I
`I Cancel
`
`Pause
`
`I /406
`I
`
`Data Search J Macro Search I Progress I Results
`
`,i!JlStart Ill@~~~ "I11~-'JJBuilder
`
`I !ID Search Engine Decription I ~ E-Numerator Search ... T
`
`I 10:44 PM
`
`FIG. 4
`
`d •
`r:JJ.
`•
`~
`~ ......
`~ = ......
`
`> "Cl :;
`
`N
`~~
`N
`0
`0
`Ul
`
`,i;;..
`
`rF.J. =(cid:173)~
`~ ....
`0 ....,
`'""" Ul
`
`e
`rJ'J.
`_,.a-...
`~
`~
`a-...
`b
`Q
`(It
`~
`N
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 6 of 29
`
`210
`
`E-Numerator Search Client (Demo 1.0
`File View Tools Help
`I ~
`§
`
`SOURCE DOMAIN _ / 504
`
`DIDIBI
`
`NUMBER OF LINKS---------- 506
`# of Documents
`
`~~:~~
`
`502
`
`100
`
`80
`
`BO
`
`40
`
`20
`
`.COM
`
`Number of Links
`□ 0-10Out
`l1'J I0•Out
`!i:l 1-10in
`0 10-tin
`
`lill
`
`.ORG
`
`.GOV
`
`.EDU Otl1ef
`
`::ii· i
`I ci~;: ~:~.:able
`j
`
`# of Documenls
`100
`
`80
`
`20
`
`.. ":
`
`' co:
`
`..... ~ ..
`. .'
`:
`
`:
`
`'" ~' "" ~
`
`Stat,stteal Senes Type
`
`# of Documents
`100
`
`BO
`
`60
`
`40
`
`20
`
`Finance
`
`Social
`
`Commercials
`
`Enteitainment
`
`Sclenti~c
`
`Type o1 Data table
`D Time Series.
`l1'J Cotegory
`r;:! 'l:YPilot
`0 Other
`
`Data Search I Macro Search I Progress I Resulls
`
`10:44 PM
`
`FIG. 5
`
`d •
`r:JJ.
`•
`~
`~ ......
`~ = ......
`
`> "Cl :;
`
`N
`~~
`N
`0
`0
`Ul
`
`rF.J. =(cid:173)~
`~ ....
`Ul
`0 ....,
`'"""' Ul
`
`e
`r.,J.
`-..a-...
`~
`~ a-...
`b
`Q
`(It
`~
`N
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 7 of 29
`
`606
`
`vvv '\.
`
`\
`I
`\
`\
`\
`\ C
`'
`URL
`hno:ltwww.rdml.com/econ/ado.rdm
`htto:/fw.NN.rdml.com/econ/ado.rdm
`hltll:lfw.NN.rdml.oom/econlado.rdm
`
`□~~
`
`\
`\
`\
`\
`Tvoe -
`\
`
`Time Sertes
`Time Series
`Time Series
`
`0
`
`- -
`
`~E-Numerator Search Client (Demo 1.0)
`File View Tools Help
`
`~~j [\:§1 ~ I
`
`A
`
`~Legend
`Canada
`France
`Germanv
`
`B
`
`I
`\
`Tide '-
`Gross Domestic Product
`Gross Domestic Product
`Gross Domestic Product
`
`602
`
`214
`
`Data Search Macro Search I Progress I Results I
`
`I 10:44 PM
`
`FIG. 6
`
`d •
`r:JJ.
`•
`~
`~ ......
`~ = ......
`
`> "Cl :;
`
`N
`~~
`N
`0
`0 u-.
`
`rF.J. =(cid:173)~
`~ ....
`0 ....,
`'"""' u-.
`
`~
`
`e
`rJ'J.
`-..a-...
`~
`~ a-...
`b
`Q
`(It
`~
`N
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 8 of 29
`
`~ eNumerate Sotutions. Inc .• Time Series Template 1 • Microsoft lntemel Explorer
`!;:ile fdit '!_oew F!!_vorites Iools J:!elp
`@l
`©
`~
`¢:,
`~
`Forward
`Slop
`Back
`Home
`Refresh
`Address [\!'.l hUp1/ehqdev03:8080/DLRoot/sbud_ CD_ c. him
`
`12]
`Favorite
`
`~
`Search
`
`0
`
`History
`
`[s,i
`
`Size
`
`Edtt
`
`~ 2
`
`Discuss Messenger
`
`THE
`DATA LIBRARY
`ALEXANDRIA
`I Create RDL
`(Home
`
`@~.~-~~~~
`
`Free Download
`
`!What's Now
`
`~
`
`State Budget· COLORADO
`
`DIRECTORIES:
`
`General Topics
`Detailed Topics
`~
`
`SEARCH (KEYWORD):
`
`@Short rorm results
`OLong rorm results
`f Submit I
`
`1 2~ -+ - - - - - - - - - - - - - - - - - - - - -~
`
`10 tr::~,----r,71----+>f•:·1----t :ca--;<•>1----t
`_ a H:f:>f---t:/f----V J----,.>;J---f.! !----I
`~
`~6
`0
`i', 4
`
`1----i ;'J--t,-704
`
`0 I, .. ····1
`1992
`
`1993
`
`1994
`
`1995
`
`1996
`
`1997
`
`-·,
`1998
`
`7
`B
`9
`
`,1f:;
`
`General Revenue
`lnterngovernmental revenue
`Taxes
`
`;J!j=~~~;i;\._ ....
`
`Population (thousands)
`12
`13 Total Budget Amount:
`Total Revenue
`
`I
`
`.. 1
`
`Transformations
`G) Original Data
`G) Line
`0 Stacking Bar O Reindex (New Base = 100)
`@1 Clustered BarlO Incremental % Change
`0 Cumulative % Change
`
`Single/Multiple
`
`lvlO Single
`® Mulliple
`
`1""-
`
`~Done
`;liJStart
`
`I [ ~ eNumerate Solutions ...
`
`Document1 • Microsoft Word
`
`FIG. 7
`
`cm!IEI
`;1il
`
`/&Go lunks"
`"
`
`V
`
`Local lntanel
`
`d •
`r:JJ.
`•
`~
`~ ......
`~ = ......
`
`> "Cl :;
`
`N
`~~
`N
`0
`0 u-.
`
`rF.J. =(cid:173)~
`~ ....
`-..J
`0 ....,
`'"""' u-.
`
`e
`rJ"J.
`-..a-...
`~
`~ a-...
`b
`Q
`(It
`~
`N
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 9 of 29
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 8 of 15
`
`US 6,886,005 B2
`
`I-
`
`N ----co
`.....
`0 co
`co
`o::a5~
`'----..
`-.
`W~CD
`>UJ~
`0:: c., UJ
`w <( C/)
`C/) z C/)
`<( <(
`~
`
`(!) ~
`xz1-co
`w1-Z~
`o<eWw
`zo(!)C/)
`-n.<(C/)
`:::,
`<(
`·~
`
`v
`Cl co
`
`(0
`.....,
`0
`~ co
`
`'---
`
`'
`~
`
`w
`XCI)
`UJ<(
`Clcc
`z~
`-<(
`Cl
`
`'
`
`w
`~~
`X<(CC wz~
`oww
`ZI-CI)
`-zC/)
`<(<(
`~
`
`00
`c;
`it
`
`N
`Cl
`00
`"-.....,_
`
`0:::
`0 >- C/)
`0::: C/)
`UJ UJ
`:::, u
`00
`0:::
`(L
`
`0 .....
`
`00 "' I-z 0::: Ww
`
`~o
`:::, <( uw
`0 0:::
`Cl
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 10 of 29
`
`LINEITEMINDEX
`
`LINEITEMINDEX TEMP
`
`URL ANCHOR
`TAGLIST
`ATT
`VALUE
`
`902/
`
`URL ANCHOR
`TAGLIST
`ATT
`VALUE
`
`HITINFO
`URL ANCHOR
`NUMHITS
`CLASSREQUEST
`TOP5RELATED
`
`904/
`
`906/
`
`HEADERINDEX
`
`URL ANCHOR
`TAGLIST
`ATT
`VALUE
`
`~908
`
`FIG. 9
`
`~804
`
`d •
`r:JJ.
`•
`~
`~ ......
`~ = ......
`
`> "Cl :;
`
`N
`~~
`N
`0
`0
`Ul
`
`'JJ. =(cid:173)~
`~ ....
`\0
`0 ....,
`'"""' Ul
`
`e
`rJ'J.
`_,.a-...
`~
`~
`a-...
`b
`Q
`(It
`~
`N
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 11 of 29
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 10 of 15
`
`US 6,886,005 B2
`
`'42
`
`ll_lD
`
`I
`12
`GROSS DOMESTIC PRODUCT
`
`ELEMENT
`URL
`ANCHOR OR ATTRIBUTE VALUE
`/1006 ,1004
`1008
`1010,
`~1012
`I WWW.NAME1 .COMITEST1.RDM
`WWW.NAME1.COM/TEST1.RDM
`
`10
`
`ll_LEGEND
`
`12
`
`16
`
`18
`
`40
`
`41
`
`61
`
`80
`
`25
`
`26
`
`27
`
`28
`
`29
`
`30
`
`31
`
`64
`
`20
`
`20
`
`WWW.NAME1 .COM/TEST1 .ROM
`
`WWW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WWW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WWW.NAME1 .COM/TEST1 :ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WWW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`ll_TITLE
`
`ll_CAT
`
`GDP BY INDUSTRY
`
`Y_AXIS_TITLE
`
`$ IN BILLIONS
`
`LEVEL
`
`FORMAT
`
`RELATION
`
`LI_NOTES
`
`ll_OESC
`
`LI_PREC
`
`LI_UNIT
`
`ll_MAG
`
`ll_MOO
`
`ll_MEASURE
`
`ll_SCALE
`
`LI_AOJUSTMENT
`
`OATA_Y
`
`OSFORM
`
`CLASS
`
`TIMESTAMP
`
`EXPIRATION
`
`2
`
`#,##0;(#,##0)
`
`PARENT
`
`0
`
`$
`
`9
`
`IN
`
`544.80, 585.20, 617.40
`
`45999329452209922345
`
`TRUCK
`
`20010101.12300000
`
`20020101.12300000
`
`DATA_SOURCE
`
`GENERAL MOTORS, INC.
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`HITS_TO_OATE
`
`WVVW.NAME1 .COM/TEST1 .ROM
`
`SERVER_RESPONSE
`
`148621
`
`13.2
`
`1000__)
`
`FIG. 10
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 12 of 29
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 11 of 15
`
`US 6,886,005 B2
`
`ENTER INITIAL LIST OF ~1102
`RDL DOCUMENTS
`AND DOMAINS
`♦
`READ AND
`EVALUATE RDL
`DOCUMENTS
`
`~ 11 04
`
`;1106
`
`ENTER INITIAL LIST
`OF RDL
`DOCUMENTS TO BE
`CACHED
`
`-
`
`CREATE INDEXES OF
`MAJOR ELEMENTS
`AND ATTRIBUTES
`(TITLES, LEGENDS,
`UNITS, MEASURES)
`
`"CRAWL" HYPERLINKS
`IN RDL
`DOCUMENTS TO
`FIND OTHERS
`
`[RUN INDEX
`SCHEDULER(AFTER
`FIRST INDEX
`CREATED)]
`
`~1108
`
`;1110
`
`CREATE CACHE
`OF RDL
`DOCUMENTS
`
`~1112
`
`/1111
`
`'
`CREATE RELATIONAL
`TABLE FROM CACHE
`RDL DOCUMENTS
`
`1114
`
`\
`
`~1100
`
`FIG. 11
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 13 of 29
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 12 of 15
`
`US 6,886,005 B2
`
`USER ENTERS
`CRITERIA TO
`HTML FORM IN
`BROWSER
`
`CRITERIA
`SUBMITTED TO
`SERVER
`COMPUTER
`
`SERVER
`COMPUTER
`QUERIES BOTH
`CACHE AND
`INDEX
`
`INDIVIDUAL RDL
`DOCUMENTS
`THAT MATCH ARE
`EVALUATED
`
`RESULT PAGE IS
`UPDATED EVERY
`"n" DOCUMENTS
`
`USER ADJUSTS
`SEARCH CRITERIA
`
`1202
`
`1204
`
`1206
`
`1208
`
`1210
`
`1212
`
`1214
`
`RDL DOCUMENT
`OF MATCHING
`LINE ITEMS IS
`CREATED
`
`1216
`
`RESULTS
`DISPLAYED IN
`BROWSER
`
`~1200
`
`FIG. 12
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 14 of 29
`
`UNIT TYPE
`
`LENGTH
`
`AREA
`
`VOLUME
`
`I BASE UNIT
`I METER
`
`SQUARE METER
`
`OTHER EXAMPLES
`
`CUBIC METER
`
`13041 GRAM
`
`MASS
`ENERGY
`1302, I ACCELERATION
`
`GRAMS PER SECOND
`
`BRITISH THERMAL UNITS
`
`METERS PER SECOND
`
`FOOT POUNDS
`
`l
`
`TIME
`
`DIRECTION
`
`FREQUENCY
`
`CURRENCY
`
`COLLECTION
`
`MAGNITUDE
`
`I SECOND
`I DEGREE
`I [TIMES] PER SECOND
`
`YEAR, MONTH, WEEK, FORTNIGHT
`
`RADIAN
`
`CYCLES PER SECOND
`
`I
`I /1306
`I
`
`US DOLLAR
`
`ITALIAN LIRA, SPANISH PESO
`
`PEOPLE,CARS,TREES
`
`ANY THAT DOESN'T FIT ABOVE
`
`f
`
`FIG. 13
`
`d •
`r:JJ.
`•
`~
`~ ......
`= ......
`
`~
`
`> "Cl :;
`
`N
`~~
`N
`0
`0
`Ul
`
`~
`
`'JJ. =-~
`....
`'"""' ~
`0 ...,
`'"""' Ul
`
`e
`rJ'J.
`_,.a-...
`~
`~
`_,.a-...
`Q
`Q
`(It
`~
`N
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 15 of 29
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 14 of 15
`
`US 6,886,005 B2
`
`TRANSFORMATION
`OF REQUESTED
`UNITS TO BASE
`UNITS IN CLIENT
`COMPUTER
`
`r1402
`
`TRANSFORMED
`UNITS SENT TO
`SERVER
`COMPUTER
`
`/1404
`
`SERVER
`COMPUTER
`TRANSFORMS
`INDEXED DATA TO
`THE BASE UNITS
`
`/
`
`1406
`
`/
`
`SERVER
`COMPUTER
`SEARCHES
`LINE ITEM INDEX
`IN BASE UNITS
`
`1408
`
`/
`
`/
`
`'
`SERVER COMPUTER
`TRANSFORMS RESULTS
`TO REQUESTED UNITS AND
`SENDS TO CLIENT COMPUTER
`
`v1410
`
`FIG. 14
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 16 of 29
`
`U.S. Patent
`
`Apr. 26, 2005
`
`Sheet 15 of 15
`
`US 6,886,005 B2
`
`1506
`
`RELATIONAL
`DATABASE
`MANAGEMENT
`SYSTEM, ORAN
`OBJECT-ORIENTED
`DATABASE
`REPOSITORY
`
`RELATIONAL
`DATABASE
`MANAGEMENT
`SYSTEM, OR AN
`OBJECT-ORIENTED
`DATABASE
`REPOSITORY
`
`RELATIONAL
`DATABASE
`MANAGEMENT
`SYSTEM, OR AN
`OBJECT-ORIENTED
`DATABASE
`REPOSITORY
`
`** I
`
`DBADMIN;
`DB DEVELOPERS
`
`** I
`
`DBADMIN;
`DB DEVELOPERS
`
`** I
`
`DBADMIN;
`DB DEVELOPERS
`
`1504
`
`QUERY
`SERVER
`
`QUERY
`SERVER
`
`QUERY
`SERVER
`
`ORACLE, MS SOL
`SERVER, ETC.
`
`1502
`
`{YAHOO, EXCITE,
`ETC.)
`
`1500
`
`CLIENT WEB
`BROWSER
`
`FIG. 15
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 17 of 29
`
`US 6,886,005 B2
`
`1
`RDL SEARCH ENGINE
`
`RELATED APPLICATIONS
`
`This application claims priority to U.S. Provisional Patent
`Application Ser. No. 60/183,152, filed on Feb. 17, 2000,
`which is herein incorporated by reference.
`The following identified U.S. patent applications are also
`relied upon and are incorporated by reference in this appli(cid:173)
`cation.
`U.S. patent application Ser. No. 09/573,778 entitled
`"Reusable Data Markup Language," and filed on May 18,
`2000.
`U.S. patent application Ser. No. 09/573,780, entitled
`"Reusable Macro Markup Language," and filed on May 18, 15
`2000.
`U.S. patent application Ser. No. 09/573,419, entitled
`"Tree View for Reusable Data Markup Language," and filed
`on May 18, 2000.
`U.S. patent application
`"Chart View for Reusable
`filed on May 18, 2000.
`
`20
`
`Ser. No. 09/573,413 entitled
`Data Markup Language," and
`
`FIELD OF THE INVENTION
`
`The present invention relates to a search management
`system capable of accessing and retrieving tagged numerical
`data from data services (e.g., file systems), databases (e.g.,
`relational or object-oriented), and servers on networks ( e.g.,
`LANs and WANs (e.g., the Internet)).
`
`BACKGROUND
`
`2
`servers are maintained by database administrators and devel(cid:173)
`opers for the individual web sites.
`Four general sub-architectures of a conventional approach
`described above are used to conduct searches. They are
`5 summarized as follows. First, WSEs conduct searches using
`direct keyword indexing to HTML documents (e.g., Yahoo,
`Alta-Vista, Lycos, etc.). These search engines maintain very
`large indexes that map keywords to URLs. If a user types,
`for example, "57'' as an input keyword, the user will receive
`10 instances where "57'' is used in an HTML document
`("NASDAQ falls 57'', "#57-Doug Henry, Major League
`Baseball", etc.). As an example, for this particular query on
`Alta Vista, a user will receive a list of over 11 million pages.
`The shortcomings of this approach are obvious: no context
`to the numbers, too many returns, no way to narrow the
`query to useful numerical data.
`Second, WSEs conduct searches for database publishers
`(e.g., Yahoo,Alta-Vista, Lycos, etc.). If the user is searching
`for a number and it is not on an HTML page itself, it may
`be in a relational database that is accessible through an
`HTML form. The web search engine therefore can be
`queried for words or phrases that might be on that HTML
`page or related pages. In this approach, the burden is on the
`user to guess what words or phrases might be associated
`with such numbers, and who might publish such data.
`Third, users may conduct searches of a repository of XML
`documents. For XML data, vendors such as XYZFind take
`the approach of essentially modeling the XML documents in
`a relational or object-oriented database structure, and build(cid:173)
`ing indexes to documents based on this internal "repository"
`structure. Among the shortcomings are the facts that only
`documents in that particular relational database can be
`accessed (not data distributed in documents across the web)
`and that data from different taxonomies are not directly
`35 comparable and, therefore, a search would not produce all
`possible results.
`Finally, users may conduct searches of direct relational
`databases ( e.g., proprietary database access objects based on
`40 SOAP, network objects, etc.). The approach for these data(cid:173)
`bases is to directly connect a relational database manage(cid:173)
`ment system to the user's client browser. The advantages are
`speed of access and ability for the programmers to control
`exactly what is accessed, by whom, and in what form. The
`45 disadvantages are that multiple, unrelated document sites
`cannot be searched, a common data model is assumed, and
`there is a high cost for middleware programmers and data(cid:173)
`base administrators.
`Based on the above conventional systems and the general
`50 sub-architectures of the conventional approaches, WSEs and
`relational database systems have serious drawbacks uniting
`a network of remote computers. They are incapable of
`efficiently tying millions of different data tables together into
`a single database, so that a query put to the system will
`55 return a table of data just as a single database system is
`capable of providing.
`Also, conventional systems and general sub-architectures
`of conventional approaches are incapable of performing
`non-select queries. A "keyword select query" is a request for
`all items in a dataset that contain a particular word(s). For
`example, "Give me a list of all web pages with the word
`'baseball' on them." Conventional WSEs are designed to do
`keyword select queries, but they cannot perform many
`different types of queries such as the following.
`First, conventional WSEs do not perform navigational
`queries. A common occurrence for users is "I don't know
`what I'm looking for, but I want to know what's available".
`
`25
`
`30
`
`A known approach to searching and managing numerical
`data on the web is to hide the data behind vertical pipes of
`proprietary servers, expensive programmers, DBMS
`administrators, and non-standard formats. Users cannot
`search directly for numerical data. They must do a search for
`likely publishers of a certain type of data, then visit each site,
`go through a proprietary search routine, interpret the data to
`determine whether it fits the overall search criteria, then
`collect all of the individual results into a single result
`table-usually by manually retyping each site's results.
`Furthermore, web search engines ("WSE") only perform
`"lookup" functions based on keywords. They cannot do
`select queries such as database management systems are
`capable of performing (where a precise definition of the
`desired result is given and the matching data is structured
`into a result dataset or table). The database management
`systems in turn, however, can only query datasets that are
`structured on the relational model and that have been
`specifically programmed to work together; they cannot
`perform queries directly over the web, and they are limited
`to special types of queries. Therefore, current web search
`engines ("WSEs") cannot search for numerical data, and
`database management systems ("DBMS's") cannot work
`across the web.
`FIG. 15 illustrates a conventional approach to searches on
`the web which are characterized by two layers of query
`engines. The one closest to the end user 1500 (i.e., the web 60
`search engine 1502) provides indexing to particular sites or
`collections of tables. These servers 1504 are typically oper(cid:173)
`ated by companies such as Yahoo! and Lycos. The next layer
`back is a layer of query engines or servers 1504, which
`submit queries and retrieve data from either a relational 65
`database management system 1506, or an object-oriented
`database repository. For the most part, the query engines or
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 18 of 29
`
`US 6,886,005 B2
`
`4
`of queries may have a refresh capability, with related con(cid:173)
`trols on scheduling, expiration of request and so forth. An
`example of this type of query would be if the user wants a
`notification (for example, by email) any time the search
`5 engine becomes aware of a bank company stock trading at
`less than 1.0 times book value.
`Finally, conventional WSEs are incapable of performing
`select queries between unrelated databases. They are inca(cid:173)
`pable of performing select queries when there is no common
`10 key. "Keys" are words or strings of text that are common to
`two datasets and allow joins to be performed on the two
`tables (linking columns from each to create a new dataset)
`in a relational database. A "join" is a method by which data
`from two different data tables can be combined into one
`15 table by matching records based on a common set of
`information (i.e., a social security number). This is not an
`efficient solution where the whole database is not under the
`control of one authority which can enforce consistent
`vocabulary, spelling and usage.
`The current reliance of relational databases on matching
`exact spellings of key fields is a major hindrance to the
`development of a web-like linking of documents. Differ(cid:173)
`ences in wording, spelling and usage mean that documents
`created by different people, in different countries, potentially
`25 in different languages, will never have a common "key" that
`allows them to be linked.
`Therefore, based on the deficiencies of conventional sys(cid:173)
`tems and the general sub-architectures of conventional
`approaches to searching data on networks such as the
`Internet and in relational databases, it is desirable to over(cid:173)
`come the aforementioned problems and other related prob(cid:173)
`lems.
`
`35
`
`3
`A user undertaking a navigational query wants to see a lot of
`context, suggestions for related information, and leads to
`other items. A "select query", by contrast, returns only an
`answer that meets the strict requirements of the query put to
`the system.
`Second, conventional WSEs do not perform database
`record-level queries. The current model for accessing data
`on the web is the "client-server-database" model. The client
`PC sends a request to the database server, which sends the
`request on to a relational database, which returns an answer.
`The problem with this approach is that current web search
`engines can only index HTML pages, not relational data
`tables-the database server acts as a wall preventing the
`search engine from seeing the data. Users must guess which
`sites might internally have the data they want, do a search for
`those sites, then go query those databases individually.
`Third, conventional WSEs do not perform semantic que(cid:173)
`ries. Current search engines operate by indexing keywords
`according to the URL's of pages that contain them. A search
`for "car" will bring up pages with "car" in them, but not 20
`"truck" or "bus" or other related items that the user may
`wish to know about such as variants in spelling, variants in
`usage, and variants in language. For example, a user search(cid:173)
`ing for "dog" may want German pages with "Hund," the
`German translation for dog.
`Fourth, conventional WSEs do not perform numerical
`queries. Numbers on HTML pages are merely text charac(cid:173)
`ters; they possess no value, units, measure, meaning, or
`structure. A search cannot, therefore, be performed for
`numbers which possess such qualifiers. A user cannot, for 30
`example, search for pages, which reference companies with
`"sales >$100 million" (value=>lO0, meaning=sales, units=
`US Dollar). Companies with "$101 million", or "$100,000,
`000" even "revenues>$100 million" cannot be found.
`Fifth, conventional WSEs do not perform transforma-
`tional queries. Transformational queries are those that
`require numbers to be transformed in some way to test
`whether they meet the requirements of a query statement.
`Suppose, a company's financial statements are presented in
`quarterly data, and a query is made for companies with
`"annual sales>$100 million". This request may be equiva(cid:173)
`lently stated as companies with "annual sales> 75 million
`(British Pounds)", or sales listed quarterly with sales greater
`than $25 million per quarter. Keyword searches (and general
`database select queries) cannot make these types of trans(cid:173)
`formations in the course of their searches.
`Sixth, conventional WSEs do not perform arithmetic
`queries, such as those that may require a mathematical
`calculation to be performed on the data searched during the 50
`searching process. For example, a user may not perform a
`search such as the automatic calculation of a batting average
`over time.
`Arithmetic queries involve complex calculations, often
`requiring a specialized language (such as the Reusable
`Macro Language, U.S. patent application Ser. No. 09/573,
`780). For example, a query might draw financial data from
`10 web sites, calculate a set of financial rations, then conduct
`a search for companies that meet that profile. By their use of
`multiple sources, derived values, and complex operations, 60
`arithmetic queries are distinguished from numerical queries,
`which use basic comparison operators and transformational
`queries, which change the underlying units, measures and
`magnitudes.
`Seventh, conventional WSEs are incapable of performing 65
`time-dependent queries. Queries that are time-dependent
`may take the form of "Let me know when .... "These types
`
`40
`
`45
`
`SUMMARY
`Methods and systems in accordance with the present
`invention provide a system for querying and formatting
`tagged numerical and text data comprising: an index com(cid:173)
`prised of the tagged numerical and text data contained
`within a plurality of documents; and a server for maintaining
`and querying the index, and receiving a query. In response
`to the query, the server collects the tagged numerical and
`text data within the plurality of documents that satisfy the
`query, formats a resultant data set from the collected tagged
`numerical and text data, and transmits the resultant data set.
`Also, methods and systems consistent with the present
`invention provide the capability to search numerical data
`across networks such as the Internet, and remove the middle
`layer of query engines or servers in retrieving data from
`relational databases over the Internet.
`Further, methods and systems consistent with the present
`invention provide the means for performing navigational,
`line item (or record-level), semantic, numerical,
`transformational, arithmetic, time-dependent, and cost based
`55 queries on numerical data.
`Further yet, methods and systems consistent with the
`present invention permit a user to monitor the progress of the
`search, refine the search, and manipulate the result into
`vanous views.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 depicts a data management system suitable for use
`in accordance with the methods and systems of the present
`invention;
`FIG. 2 depicts a block diagram of software components of
`the client computer depicted in FIG. 1 in accordance with
`the present invention;
`
`
`
`Case 1:19-cv-00859-RTH Document 90-1 Filed 07/01/22 Page 19 of 29
`
`US 6,886,005 B2
`
`5
`FIG. 3 depicts a screen shot of a data query screen
`depicted within software components of the client computer
`in FIG. 2 in accordance with the present invention;
`FIG. 4 depicts a screen shot of a macro query screen
`depicted within software components of a client computer in
`FIG. 2 in accordance with the present invention;
`FIG. 5 depicts a screen shot of a query progress screen
`depicted within software components of a client computer in
`FIG. 2 in accordance with the present invention;
`FIG. 6 depicts a screen shot of a query result screen
`depicted within software components of a client computer in
`FIG. 2 in accordance with the present invention;
`FIG. 7 depicts a screen shot of a chart of two data series
`plotted on the same chart in accordance with the present 15
`invention.
`FIG. 8 depicts a block diagram of software components of
`a server computer depicted in FIG. 1 in accordance with the
`present invention;
`FIG. 9 depicts a block diagram of index data created by 20
`a web server depicted in FIG. 1 in accordance with the
`present invention;
`FIG. 10 depicts the resulting records produced by a query
`and stored in a Lineltemindex table depicted in FIG. 9 in
`accordance with the present invention;
`FIG. 11 depicts a flowchart of an indexing process