throbber
"f'l
`F'
`
`i
`
`"Yt,V
`
`PATENT NUMBER
`
`6760720
`
`llillilililmililillillllillll
`6760720
`
`i
`
`\.r
`
`\,,.f1t
`
`zo
`tr
`
`tr
`)
`
`6U
`
`Jo
`
`uJ
`u)
`9.
`
`.oIt
`-q()
`-o
`U)
`
`<t,(,g
`o
`
`I
`
`r\
`Fi.t'
`
`U.S. UTIL|TY patent
`o.t.P.E.
`t ir t
`,n3
`scarurueo ]i,qrtj/ a.o. C 7
`
`SUBCLASS
`'*r
`t^-.
`
`,/
`
`./
`
`/arurur
`trffrrl
`
`$
`
`EXAMINER
`
`.fr;'tr t"'i " ,
`
`APPLICATION NO.
`a9/513340
`
`CONT/PRIOR
`
`CLASS
`7A7
`
`. ..i'r"lr.rifi1i:::,1.t ii,::: l::j,:i;:.i.i:iL,:t
`
`Fz
`
`oJ(
`
`L
`o-
`
`i
`
`li.
`
`x.
`
`: i :
`
`!;i r:::,.:;r !... r..- i.-; -. ::::, i..: -. .i::.
`
`i..l ,:,:: _. f .l 1,r,, ,
`
`'.|' i;::i l' i:. -. r-'r l. i -. -i..
`
`1..; 1::r, ^ | l. :.,.
`
`:ri i:t ;:ii i" i::: i"'l !:::i i'j:;; i i.l,:::l
`
`t!JF
`
`F
`
`PTO-2040
`12/99
`
`ISSUING CLASSIFICATION
`cRoss REFERENCE(S)
`
`(oNE SUBCLASS PER BLOCK)
`
`INTERNATIONAL CLASSIFICATION
`
`t-r TERMTNAL'
`I lotsctAtMEn
`
`(date)
`
`L__.1 The term of this patent
`subsequent to --._--=-
`has been disclaimed.
`L-i tne term of this patent shall
`not extend beyonc the expiration date
`of U.S Patent. No.
`
`ksQ'e waMt/iA,I
`
`#T-ffi[,ffiilE-
`
`Totafiaims
`
`{a
`
`NOTICE OF r:LLOWANCE MATLED
`
`7/ zh/c/
`
`L-l The terminal months of
`this patent have been disclarmed.
`
`2w
`
`ISSUE BATCH NUMBER
`
`H:J::Tff::kH:iT"r1J.1Ji:fl?f,:.,i!ilj'1'&,"f,X',$:l.l:o.tiscrosure mav be prohibired by rhe unired states code riile os, sections 12z,111and 368.
`_,
`,tilcted to arth"rlryployees and cbntractors on_fy..__
`
`str# Fhtr $ru F,L€Furmuryr*rtnk
`
`flrrcHe flco-noru
`(Attachsd in pocket on right inside flap)
`
`(FACE)
`
`lr
`.n)
`, q3*
`s{-;
`--l- [.fr
`(r€ra.
`r. f:)
`4r-
`
`i
`
`rd'
`
`4'
`
`i it ij
`
`...i
`
`,'i
`
`*]""-t
`t!
`it{l
`T}1t
`/:i
`iJ-
`n..}.'
`"ti
`
`rj\
`
`{g iI{t Ii { Ij { {
`
`Unified Patents Inc. v. Vilox Technologies LLC
`Ex. 1003 / Page 1 of 328
`
`

`

`PATENT APPLICATION
`
`ililil ilIil tilil ilil ililililil ilililtil ilil ilil
`095 13340
`
`ffi
`
`CONTENTS
`Date Received
`(lncl. C. of M.)
`or
`Date Mailed
`
`.:'qtr\of
`
`rNr,,,;f$ ' ; {i ilJf
`
`Date Received
`(lncl. C. of M.)
`or
`Date Mailed
`
`'t'; 2.
`3.L (
`
`V-Jtl*r,
`f, -{"o
`
`4.
`'\lrr:
`$Y;lc'
`
`7.
`
`8.
`|9.
`l'lb.,o.
`
`11.
`a? 12'
`*i* rr.
`'t4. fi
`
`.\ ll4
`" iltu tz.
`ft.8.
`
`25.
`
`26.
`
`27.
`
`28.
`
`29.
`
`30.
`
`31.
`
`32.
`
`33.
`
`34.
`
`35.
`
`36.
`
`37.
`
`38.
`
`39.
`
`40.
`
`41.
`
`@a
`
`44.
`
`45.
`
`46.
`
`47.
`
`48.
`
`49.
`
`50.
`
`51.
`
`52.
`
`53.
`
`54.
`
`55.
`
`56.
`
`57,
`
`58.
`
`59.
`
`60.
`
`61.
`
`62.
`
`63.
`
`64.
`
`65.
`
`66.
`
`67.
`
`68.
`
`69.
`
`70,
`
`7't.
`
`72.
`
`74.
`
`77.
`
`79.
`
`81.
`
`(LEFT OUTSIDE)
`
`Ex. 1003 / Page 2 of 328
`
`

`

`ISSUESLIP STAPLE AREA (for additional cross references)
`
`FEE DETERMINATION
`O.I.P.E. CLASSIFIER
`
`Claim
`
`Date
`
`-j
`
`Claim
`
`c
`
`101
`
`1G
`1U
`
`toi
`tw
`
`w 1
`
`C
`
`tz
`
`11:
`
`11t
`
`115
`
`INDEX OF CLAIMS
`Rejected
`Allowed
`(Through numeral)... Canceled
`
`Claim
`
`Date
`
`(u
`
`IL
`
`o)
`
`51
`52
`53
`
`54
`
`55
`
`56
`
`58
`
`5S
`
`6C
`61
`
`62
`
`OJ
`
`:
`
`Date
`
`I 1
`
`,
`
`Itr'
`
`*/,
`
`%d
`
`t. I,z
`b/
`41
`
`vt
`
`i
`ctl
`
`(,
`
`4
`
`o
`
`7 t
`
`t
`o
`
`(u
`
`TL
`
`L $
`
`5 L
`
`'7
`
`q
`to 10
`
`1
`
`11
`
`11
`
`11t
`
`1S
`
`zv
`
`l21
`4
`1X
`12t
`
`124
`
`127
`
`za
`
`z9
`
`\'
`Jz
`3i
`13,
`
`3{
`J(
`
`3€
`ec
`
`4C
`
`+ i
`
`t 4
`
`i
`4t
`4i
`
`4(.
`
`^-
`4t
`
`4(
`5(
`
`tl
`
`tl
`
`I
`
`,l
`
`l_t
`l_l
`1_l
`
`JI
`
`64
`oc
`66
`67
`68
`69
`
`70
`
`71
`72
`7Q.
`
`74
`
`75
`76
`77
`78
`79
`
`8C
`
`81
`82
`83
`84
`65
`86
`
`87
`B8
`
`89
`90
`
`91
`
`92
`93
`
`94
`95
`vb
`97
`98
`99
`
`0(
`
`more than 150 claims or 10 actions
`staple additional sheet here
`
`(LEFT TNSTDE)
`
`tz z
`t1 13
`I
`4
`rq
`,
`
`o
`
`T1
`
`I 18
`n 19
`?P zv
`Ll zl
`ul zz
`tl 23
`24
`,/, 25
`,,} 26
`7n 27 -
`14 28
`A 29
`(rr 30
`
`L
`
`LI p'!il
`fl ee
`J+
`'S
`3f 35
`,j
`
`l-l
`L]
`
`/
`
`37
`z4 J6
`JV
`
`40
`
`41
`z
`43
`
`44
`45
`46
`47
`48
`49
`50
`
`Ex. 1003 / Page 3 of 328
`
`

`

`.t'
`
`SEARCHED
`
`SEARCH NOTES
`(TNGLUDING SEARCH STRATEGY)
`
`Class
`
`Sub.
`
`Date
`
`Exmr.
`
`Date
`
`Exmr.
`
`";!,ug (a.,tg,/-.
`Q f*/' t
`Ca4 {'e"qt-t* (/,/,,
`,/
`Llf'tf n L
`Arhg"- HeJ t"-/'
`Dn n"gbur?'
`&rr9^- l/&J */
`ft^-U /A"rn+'re'
`@Y1,9,*/e,{ - /-
`7rl4t flSat^lrs
`
`L en-z
`
`L- L'v
`
`"r.-,
`
`+/,, f"z L r.r-./
`
`uln/z
`4f /s/'z
`,//rslz
`
`L\.-,
`
`L -,-,
`
`A^.4n
`
`ffi
`
`hnq fl-c",-(4- rt/r/oz
`rr/+/, L L"tl
`
`l----.-'
`
`elrl/"3 L"-J
`
`4Crrl {'az..C/-
`[^>n5,..1leJ 4
`Teo,-/h"'z ' 4
`{,r'a'+-l
`
`u I "'14
`Uy J",/ e W 'l^l"l
`
`>l-L1J
`
`ff'f'z L*
`
`L()
`
`,lul'T Lt)
`
`7'7 ,, q
`1,to
`
`7oS Z6
`?-7
`
`'7"1
`
`3,a
`a,lP ,
`Itfl r
`
`/
`
`INTERFERENCE SEARCHED
`or4"
`Sub.
`Class
`Exmr.
`fl",/', LJ
`1o1
`
`Ex. 1003 / Page 4 of 328
`
`

`

`PATENT APPLICATION SERIAL NO.
`
`U.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET
`
`ffi1$*l8s$s $gn*w$it ss$s*$5? s*r*m
`$i ffi$$* #f:ffi tr
`
`PTO-1556
`(st87)
`
`.U.S. GPO: 1 999459-0821 91 44
`
`Ex. 1003 / Page 5 of 328
`
`

`

`CoMI"IISSIoNER FoR PATINTS
`UNITED STATES PATENT AND TRAoEMARK OFFIoE
`\ AsHrNc'loN. D.C. 20231
`wwwuspto,gov
`
`CONFIRMATION NO.7895
`
`CLASS
`707
`
`GROUP ART UNIT
`2177
`
`ATTORNEY DOCKET
`NO.
`5473
`
`-BIBDATASHEET*
`
`Bib Data Sheel
`
`FILING DATE
`02t25t2000
`
`RULE
`
`SERIAL NLJMBER
`09/513,340
`
`PLICANTS
`
`Joseph L. De Bellis, Southampton, NY
`
`* coNTl NUING DATA **************+rn!******
`
`'* FOR El GN p.P PLI CATI ON S ****************ri*
`
`STA.TE OR
`
`SHEETS
`
`F REQUIRED, FOREIGN FILING LICENSE GRANTED "* SMALL ENTITY **
`* 04/22t2040
`:oreigrr Priority claimed
`f,l u""E no
`15 usic 119 (a-d) condirions mer ! *" F no [.]l MerafterAllowance
`Examine/s Signature
`/erified and Acknowledoed
`
`Initials
`
`e0qSdY'.RY
`NY
`
`DRAWNG
`27
`
`TOTAL
`
`NDEPENDEhI'i
`
`CLAIMS
`40
`
`cLAlf'ts
`
`\DDRESS
`---
`]8598
`\NDREWS KURTH L.L.P.
`I7O1 PENNSYLVANIA AVENUE. N.W.
`ruASHINGTON, DC
`20006
`
`SUITE 3OO
`
`NTLE
`
`Ar
`
`flnt F"""
`
`FILING FEE
`
`RECEIVED
`590
`
`:EES: Authority has been given in Paper
`to charge/credit DEPoslT AccouNT
`\,1o.
`\o.
`for followino:
`
`-
`
`E r.ta Fees (tssue )
`
`Itr cre,qit
`
`-- -l
`
`Ex. 1003 / Page 6 of 328
`
`

`

`:(,
`
`t!.t.sl
`
`PATENT APPLICT".ION TRANSMITTAL LETTER
`
`Docket No.
`5473
`
`TO THE ASSISTANT COMMISSIONER FOR PATENTS
`
`herewith for filing under 35 U.$.C. 111 and 37 C.F.R. 1.53 is the patent application of:
`DE BELLIS, Joseph L.
`
`FOT: SEARCH.ON.THE.FLY/SORT.ON.THE.FLY SEARCH ENGINE
`
`Enclosed are:
`n Certificate of Mailing with Express Mail Mailing Label No.
`E n
`sheets of drawings.
`! A certified copy of a
`tr Signed. E Unsigned.
`E Declaration
`E Power of Attorney
`n Information Disclosure Statement
`tr Preliminary Amendment
`tr
`Verified Statement(s) to Establish Small Entity Status Under 37 C.F.R. 1.9 and 1.27.
`tr other:
`
`application.
`
`For
`
`CLAIMS AS FILED
`#Filed #Allowed #Extra
`
`I
`
`iii
`
`Total Glaims
`
`Indep. Claims
`
`-20 =
`-3-
`Multiple Dependent Claims (check if appticable) tr
`
`40
`
`3
`
`20
`
`0
`
`Rate
`
`$9.00
`
`$39.00
`
`x
`
`x
`
`BASIC FEE
`
`TOTAL FILING FEE
`
`Fee
`
`$180.00
`
`$0.00
`
`$0.00
`
`$345.00
`
`$525.00
`
`tr
`a
`
`A check in the amount of
`to cover the filing fee is enclosed.
`The Commissioner is hereby authorized to charge and credit Deposit Account No.
`as described below. A duplicate copy of this sheet is enclosed.
`A Charge the amount of $525.00 as filing fee.
`A Credit any overpayment.
`A Charge any additional filing fees required under 37 C.F.R. 1.16 and 1.17.
`tr Charge the issue fee set in 37 C.F.R. 1.18 at the mailing of the Notice of Allowance,
`pursuant to 37 C.F.R. 1.311(b).
`
`04-1425
`
`Dated:
`
`Signatare
`Reg. No. 41,817
`John
`DORSEY & WHITNEY LLP
`1001 Pennsylvania Ave., N.W.
`Suite 300 South Tower
`Washington, D.C. 20004
`(202) 82-8800
`
`Ex. 1003 / Page 7 of 328
`
`

`

`lgqb HI 1
`'.lechnical Field
`
`Thetechnical fieldis ffirmationmanagement systems, interfaces, andmechanisms, and
`
`methods for searchins one or more databases.
`
`Background
`
`In the most general sense, a database is a collection of data. Various architectures
`
`have been devised to orgarize data in a comput eizeddatabase. Typically, a comput erized
`
`database includes data stored in mass storage devices, such as tape drives, magnetic hard disk
`
`drives and optical drives. Three main database architectures are termed hierarchical, network
`
`and relational. A hierarchical database assigns different data types to different levels ofthe
`
`hierarchy. Links between data items on one level and data items on a different level are simple
`
`and direct. However, a single data item can appear multiple times in a hierarchical database
`
`and this creates data redundancy. To eliminate data redundancy, a network database stores
`
`data in nodes having direct access to any other node in the database. There is no need to
`
`duplicate data since all nodes are universally accessible. In a relational database, the basic writ
`
`of data is a relation. A relation corresponds to a table having rows, with each row called a
`
`tuple, and columns, with each column called an attribute. From apractical standpoint, rows
`
`represent records ofrelated data and columns identify individual data elements. The order in
`
`which the rows and columns appear in a table has no significance. In a relational database, one
`
`can add a new column to a table without having to modi$r older applications that access other
`
`columns in the table. Relational databases thus provide flexibility to accommodate changing
`
`needs.
`
`All databases require a consistent structure, termed a schem4 to organize and maruage
`
`the information. In a relational database, the schema is a collection oftables . Similarly, for each
`
`table, there is generally one schema to which it belongs. Once the schema is designed, a tool,
`
`known as a database management system (DBMS), is used to build the database and to
`
`operate on data within the database. The DBMS stores, retieves and modifies data associated
`
`:J
`
`4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`I4
`
`15
`
`I6
`
`t7
`
`18
`
`t9
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`1;
`
`i"*
`1"i
`
`l,!
`
`iji
`i,#
`
`r"'5
`
`f.*.i
`
`Ex. 1003 / Page 8 of 328
`
`

`

`D@kca 54731PTO f ilirg!/Spcc.wpd
`
`with the database. Lastly, to the extent possible, the DBMS protects data from comrption and
`
`unauthorized access.
`
`Ahumanuser confols the DBMS byproviding a seque,nce ofcommands selected from
`
`a data sublanguage. The syntax ofdata sublanguages varies widely. The AmericanNational
`
`Standards Institute (ANSD and the Intemational Organization for Standardization (ISO) have
`
`adopted Structured English Query Language (SQL) as a standard data sublanguage for
`relationaldatabases. SQLcomprisesadatadefinitionlanguage@DL),adatamanipulation
`
`language (DML), and a data control language (DCL). The DDL allows users to define a
`database, to modify its structure and to destroy it. The DML provides the tools to enter,
`
`modifr and extract data from the database. The DCL provides tools to protect data from
`
`comrption and unauthorized access. Altlrough SQL is standardized, most implementations of
`
`the ANSI standard have subtle differences. Nonetheless, the standardization of SQL has
`
`greatly increased the utility of relational databases for many applications.
`
`Although access to relational databases is facilitated by standard data sublanguages,
`
`users still must have detailed knowledge ofthe schema to obtain needed information from a
`
`database since one can design many different schemas to represent the storage of a given
`
`collection ofinformation. For example, in an elecfonic cofllmerce system, product information,
`
`such as product SKU, product name, product description, price, and tar< code, may be stored
`
`in a single table within a relational database. In another elecfronic commerce system, product
`
`SKU, product name, description, and tax code may be stored in one table while product SKU
`
`and product price are stored in a separate table. In this situation, a SQL query designed to
`
`retrieve aproductprice from adatabase ofthe first electronic commerce systemisnotuseful
`
`for refieving the price for the same product in the other electronic system's database because
`
`the differences in schemasrequiretheuse ofdifferent SQL queriestoretrieveproductprice.
`
`As a consequence, developers of retail applications accessing product information from
`
`relational databases may have to adapt their SQL queries to each individual schema. This, in
`
`1 2 aJ
`
`4 5 6 - 8 9
`
`10
`
`11
`
`l2
`
`l3
`
`I4
`
`15
`
`t6
`
`t7
`
`18
`
`t9
`
`20
`
`2l
`
`22
`
`23
`
`24
`
`25
`
`26
`
`t".-
`
`lr
`l*i
`
`,::! i
`i:
`
`i:
`
`Ex. 1003 / Page 9 of 328
`
`

`

`Dockcl 5473IPTO Fililgs/Spc.upd
`
`tum, prevents their applications from being used in environments where there are a wide variety
`
`of databases having different schemas, such as the World Wide Web.
`
`Afurtherproblemwithconventional searchengines is atendencyto retumverylarge
`amounts of data, or to require the search parameters to be narrowed. When large amounts of
`
`data arepresented, the display may take many "pages" before all data is seen by the user. The
`
`time and expense involved in such a data review may be significant.
`
`Summary
`
`A Sort-on-the-Fly/Search-on-the-Fly search engine (hereafter, search-on-the-fly
`
`search engine) provides an intuitive means for searching databases, allowing a user to access
`
`data in the database without having to know anything about the database structure. A user
`
`selects a desired search term, andadatabase manager searches the database for all instances
`
`ofthe desired term, even if a specific file or table does not contain the instance. For example,
`
`ifauserwantsto searchthe databaseusingthename ofaspecific individual as adatabase€nfiy
`
`point, the database manager will search the database using the desired name, and will organize
`
`the searchresults so that all entries associatedwiththatname are displayed. The database
`
`neednothave a specific file (in a flat database) or atable (in arelational database) ofnames.
`
`The user may perform further on-the-fly searches to narrow or focus the search results, or for
`
`otherreasons. Forexample,givensearchresultsforallnamesthatincludethename"Smith,"
`
`the user may then decide to search for all "smiths" that include an association to an address in
`
`New Jersey. The search-on-the-fly search engine then conducts a further search using this
`
`criteria and produces a second search result. Further na:rowing or broadening ofthe search
`
`arepermitted, withthe search-on-the-fly search enginereturningresultsbased on anynew
`
`criteria.
`
`In an embodiment, the search-on-the-fly search engine uses graphical user interfaces
`
`(GLII$ and one or more icons to make the search process as efficient as possible. The GIIIs
`
`may incorporate one or more pull down menus of available search terms. As a user selects an
`
`item from a firstpulldownmenu, a subsequentpulldownmenu displays choices that are
`
`1 2 aJ 4
`
`5 6
`
`8 9
`
`10
`
`11
`
`t2
`
`13
`
`t4
`
`15
`
`I6
`
`t7
`
`18
`
`T9
`
`20
`
`2l
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`t,,-!
`
`,.;i;
`ii
`
`-3-
`
`|. l
`
`{-
`
`Ex. 1003 / Page 10 of 328
`
`

`

`Docket 5473/PTO Filings/Sp@.wpd
`
`available for searching. The process continues until the search engine has displayed a discrete
`
`data entry from the database. The pulldown menus are not pre-formatted. Instead, the
`
`pulldownmenus are created "on-the-fly''as the user steps through the searchprocess. Thus,
`
`the search-on-the-fly search engine is inherently intuitive, and allows a user with little or no
`
`knowledge of the database contents, its organization, or a search engine search routine to
`
`execute comprehensive searches that return generally accurate results.
`
`The search-on-the-flysearchengine also semches onkeywords specifiedbytheuser.
`
`The search-on-the-fly search engine can be used to exclude certain items. The search-on-the-
`
`fly search engine incorporates other advanced features such as saving search results by
`
`attaching a cookie to a user's computer, and associating icons with the search results.
`
`The search-on-the-fly search engine maybe usedwithboth internal and external
`
`databases. For example, the search-on-the-fly search engine may be used with a company
`
`intemal database and one or more databases accessible through the Internet.
`
`The search-on-the-fly semch engine is user-friendly. With one interface, many different
`
`types of databases or database schemas may be searched or sorted.
`
`Finally, the search-on-the-fly technique, and other techniques discussed above may be
`
`usedinconjunctionwithamethodofdoingbusiness,particularlyabusinessmethodthatuses
`
`the Internet as a communications backbone.
`
`Description of the Drawings
`
`The detailed description will refer to the following figures, in which like numerals refer
`
`to like objects, and in which:
`
`Figure 1 is ablock diagram of a system that uses a search-on-the-fly/sort-on-the-fly
`
`search engine;
`
`Figure 2 is another overall block diagram of the system of Figure 1;
`Figure 3 is a detailed block diagram of the search engine used with the system of
`
`Figure 2;
`
`Figure 4 is an example of a search-on-the-fly using the search engine of Figure 3;
`
`1 2 J 4 5 6
`
`6 9
`
`10
`
`11
`
`t2
`
`13
`
`l4
`
`15
`
`t6
`
`t7
`
`18
`
`t9
`
`20
`
`2l
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`. t-:
`
`!"*
`
`il
`ti
`
`i:i i
`t.:
`
`-4-
`
`]
`
`Ex. 1003 / Page 11 of 328
`
`

`

`D@kct 5473mO Filitrgyspcc.wpd
`
`Figures 5 - 9 are detailed block diagrams of components of the search engine of
`
`Figure 3;
`
`Figure 10 is another example ofa search-on-the-fly using the search engine of Figure
`
`3;
`
`Figures 11 - 15b are additional examples of a search-on-the-fly using the search
`
`engine of Figure 3;
`
`Figures 16 -20 are flow charts illustrating operations of the search engine ofFigure
`
`3;
`
`Figure 21 illustrates a further function of the search engine of Figure 3 in which
`
`results of more than one search are combined; and
`
`Figures 22 - 26 illustrate graphical user interfaces that may be displayed in
`
`conjunction with operation of the system of Figure 1.
`
`Detailed Description
`
`A sort-on-the-fly/search-on-the-fly search engine (hereafter, search-on-the-fly search
`
`engine) provides an intuitive means for searching various types of databases, allowing a user
`
`to access datainthe databasewithouthavingto know anything aboutthe database structure.
`
`A user selects a desired search term, and adatabase manager searches the database for all
`
`instances ofthe desired term, even if a specific file or table does not contain the instance. For
`
`example, if a user wants to search the database using the name of a specific individual as a
`
`database entrypoint, the databasemanagerwill searchthe database usingthe desiredname,
`
`and will organize the search results so that all entries associated with that name are displayed.
`
`The database need not have a specific file (in a flat database) or a table (in a relational
`
`database) ofnames. The usermayperform further on-the-fly searches to narrow the search
`
`results, or for other reasons. The search engine the,n conducts a further search using this criteria
`
`and produces a second search result. Further narrowing or broadening of the search are
`
`permitted, with the search engine retuming results based on any new criteria.
`
`1 2 a 4 5 6
`
`8 9
`
`10
`
`l1
`
`t2
`
`13
`
`T4
`
`15
`
`T6
`
`17
`
`18
`
`t9
`
`20
`
`2l
`
`22
`
`23
`
`24
`
`25
`
`26
`
`ti
`
`,!;
`
`ii
`
`,,x;
`
`Ex. 1003 / Page 12 of 328
`
`

`

`Dockct 5473FTO Filitrgyspec.wpd
`
`Figure I is ablock diagram of a system 10 that uses the search-on-the-fly search
`
`engine. h Figure I , a database 12 is accessed using a hardware/software interface device 100
`
`to provide data to a user terminal 14. Additional databases I 3 and 1 5 may also be accessed
`
`bytheterminal 14usingthedevice 100. Thedatabases 12,13 and l5mayusedifferent
`
`schemas, or may use a same schema. As will be described later, the device 100 may include
`
`the search-on-the-fly search englne. In an altemative efirbodiment, the search-on-the-fly search
`
`engine may be co-located with ttre terminal 14. In yet another ernbodiment, the search-on-the-
`
`fly search engine may be incorporated into the structure of one or more ofthe databases 12,
`
`1 3 and 1 5. The device 1 00 may interface with any one or more of the databases 12, 13 and
`15 using a network connection such as through the Intemet, for example. Other
`
`communicationsmediumsmay alsobeusedbetweentheterminal 14,thedevice 100 and any
`
`one or more of the databases 12, 1 3 and 1 5 . These mediums may include the public switched
`telephone network @STN), cable television delivery networks, Integrated Services Digital
`Networks (ISDN), digital subscriber lines @SL), wireless means, including microwave and
`
`radio communications networks, satellito distibutionnetworks, and any othermedium capable
`
`of carrying digital data.
`
`The system shown in Figure 1 is but one ofmanypossible variations. The search-on-
`
`the-fly search engine could also be incorporated within a single computer, such as apersonal
`
`computer, a computer network with a host server and one or more user stations, an intranet,
`
`and an Internet-based system, as shown in Fi gwe2. Referring again to Figure 2, the terminal
`
`14 maybe anydevice capable ofdisplayingdigital dataincludinghandhelddevices, cellular
`
`phones, geosynchronous positioning satellite (GPS) devices, wrist-worn devices, interactive
`
`phone devices, household appliances, televisions, television set top boxes, handheld computers,
`
`and other computers.
`
`Figure 3 is adetailedblockdiagramofanexemplarysearch-on-the-flysearch
`
`engine
`
`1 25. The search engine 125 includes a request analyzer 1 30 that receives search requests 1 14
`
`from the terminal 14 (not shown in Figure 3) and sends out updated requests I I 5 to a query
`
`-6-
`
`I 2 J 4 5 6
`
`8 9
`
`10
`
`11
`
`12
`
`13
`
`t4
`
`15
`
`16
`
`17
`
`18
`
`t9
`
`20
`
`2l
`
`22
`
`23
`
`aA
`
`25
`
`26
`
`27
`
`'tti
`
`l:
`
`li
`i!
`
`t:
`
`Ex. 1003 / Page 13 of 328
`
`

`

`D@kct J47!/PTO Filirgs/Sp@.wpd
`
`generator 150. A status control 140 receives a status update signal 116 and arequest status
`
`controlsignal ll8andsendsoutarequeststatusresponse
`
`l19totherequestanalyzerl30.
`
`The status contol I 40 also keeps track ofsearch cycles, that is, the nurnber ofsearch iterations
`
`performed. The query generator 150 receives the updated requests 1 15 from the request
`analyzer l30andsendsadatabaseaccesssignal l5l toadatabasedriverlT0. Thequery
`
`generatorl50receivesresults l53ofasearchofthedatabasel?(notshowninFigure3)from
`
`the database driver 170. The query generator 150 provides a display signall7 5 to the terminal
`
`14. ThedatabasedriverlT0sendsadatabaseaccesssignallTltothedatabase12.Ftnally,
`
`a database qualifier L 60 receives information 1 6 I from the database driv er 17 0 and provides
`a list 163 of available data fields from the database 12. As will be described later, the list of
`
`available data fields 1 63 may be displayed to a user at the terminal 14, andmay be sorted and
`
`processed using the request analyzer 130 in conjunction with the database qualifier I 60. The
`
`database qualifier 160 also receives search information and other commands I 3 I from the
`
`request analyzer 130.
`
`The search e,ngine I 25 may identify a database schema by simply using a tial and error
`
`process. Altematively,thesearchenginel}Smayuseothertechniquesknowintheart. Such
`
`techniques are described, for example, in U.S. Patent 5,522,066,"Interface for Accessing
`
`Multiple Records Stored in Different File System Formats," and U.S. Patent 5,974,407,
`
`"Method and Apparatus for Implementing a Hierarchical Database Management System
`
`(FIDBMS) Using a Relationat Database Management System (RDBMS) ad the Implementing
`
`Apparatus," the disclosures of which is hereby incorporated by reference.
`
`The search engine 125 provides search-on-the-fly search capabilities and more
`
`conventional search capabilities. In either case, the search engine I25 may perform a
`
`preliminary database access function to determine ifthe user has access to the database 12.
`
`The search engine 125 also determines the database schema to decide if the schema is
`
`compatible with the user's data processing system. Ifthe database schema is not compatible
`
`with the user's processing system, the search en glne 725 may attempt to perform necessary
`
`n
`
`1 2 aJ 4 5 6
`
`8 9
`
`10
`
`11
`
`12
`
`13
`
`t4
`
`15
`
`t6
`
`t7
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`;r
`
`'rU
`
`I'*
`
`j:
`
`'t
`
`Ex. 1003 / Page 14 of 328
`
`

`

`Dockct 54?3/PTO FililgYsp@.wpd
`
`translations so that the user at the terminal 74may access and view data in the database 12.
`Altematively, the search engine I25 may provide a prompt for the user indicating
`
`incompatibility between the terminal 14 and a selected database.
`The search engine 125 may conduct a search using one or more search cycles. A
`
`search cycle includes receipt of a request 1 14, any necessary formatting ofthe request 1 14,
`
`and any necessary truncation steps. The search cycle ends when a result list 1 75 is provided
`
`to theterminaM. The searchengnel25 mayretain astatus ofeachpast andcurrent search
`
`cycle so that the user can modify the search at a later time. The user may also use this feature
`
`ofretaining a status ofpast and current search cycles to combine results ofmultiple searches,
`
`using, forexample, aBooleanAND function, aBooleanORfunction, orotherlogicfi.nction.
`
`The above listed functions will be described in more detail later.
`
`The search-on-the-fly fi.rnction ofthe search engne 125 begins by determining available
`
`data fields ofthe database 12. The database l2mayhave its data organized in one or more
`
`data fields, tables, or other structures, and each such data field may be identified by a data field
`
`descriptor. In many cases, the data field descriptor includes enough text for the user at the
`
`terminal 14 to determine the general contents ofthe data field. The list of data fields may then
`
`be presented at the terminal l4,for example, in apull down list. An example of such a data
`
`fieldresult listis showninFigure4, whichisfromafederaldatabase showing datarelatedto
`managed health care organizations. This database is available at
`hfil ltobaccopapers.org/dnld.htm. In Figure 4, the first data field listed is '?lanType," which
`is shown in result list 1 56. Other data field descriptors show the general categories of data in
`
`the database.
`
`Using the terminal 14, the user may select one of the data field descriptors to be
`
`searched. For example, the user could select " city." If a number of entries, or records, in the
`
`city data field is short, a further result list of complete city names may be displayed. If the
`
`entries are too numerous to be displayed within a standard screen size, for example, the search
`
`engine I25 may,in an iterative fashion, attempt to reduce, or truncate, the result list until the
`
`-8-
`
`1 2 aJ 4 5 6
`
`8 9
`
`10
`
`11
`
`t2
`
`13
`
`T4
`
`15
`
`T6
`
`t7
`
`18
`
`T9
`
`20
`
`21
`
`22
`
`ZJ
`
`1ALA
`
`25
`
`26
`
`27
`
`It
`
`iri i
`
`i::i
`
`"*'
`t",*
`
`ti
`
`1'1
`
`Ex. 1003 / Page 15 of 328
`
`

`

`Docke! 5473PTO FiliDdspec.wpd
`
`result list may be displayed. In the example shown in Figure 4, entries in the city data field are
`
`sonumerous (thedatabaseincludes allU.S. citiesttrathaveamanagedhealthcareorganization)
`
`thatthe searchenglne 125 hasproduced aresultlist 157 that shows only afirst letterofthe city.
`
`Basedonthe availabledatabasedatafields, theusermaythenperform afurthersearch-on-the-
`fly. In this case, the user may choose cities whose first initial is 'N." The search en gine I25
`thenretums aresult list 158 ofcities whose names start withthe letter'1{." Because inthis
`
`instance the result list 1 5 8 is short, no further truncation is necessary to produce a manageable
`
`list.
`
`Figure 5 is a more detailed block diagram of the request analyzer I 3 0. A protocol
`
`analyzerl33 receivestherequest 114 andprovides anoutput 135 to aconstaintcollator 136.
`
`The protocolanalyzer 133 examines thereceivedrequest 114, determines a format ofthe
`
`request I 14, and performs any necessary tanslations to make the request format compatible
`with the database to be accessed. Ifthe database to be accessed by the terminal 14 is part of
`a same computer system as the terminal 14, then the protocol analyzer 133 may not be
`
`required to perform any translations or to reformat the request 114. If the database to be
`
`accessed is not part ofthe same computer system as the terminal 14, then the protocol an alyzer
`
`133 may be required to reformat the request 114. The reformattingmay be needed, for
`
`example, when arequest I 14 is transmitted over anetwork, such as the Intemet, to a database
`
`coupled to the network.
`
`The constraint collator 1 3 6 provides the updated request I 1 5 (which may be an initial
`
`request, or a subsequent request) to the query generator I 50. The constraint collator I 36 is
`
`responsibleforinterpretingtherequestl14. Theconstaintcollatorl36performsthisfunction
`
`by comparing the request 114 against information stored in the status control 140. In
`
`p articular, the constraint collator 1 3 6 sends the request status conftol signal 1 I 8 to the status
`
`control 1 40 and receives the request status response 1 I 9. The constraint collator 1 3 6 then
`
`compares the request status response 1 19 to constraint information provided with ttre request
`
`1 14 to determine if the constraint status should be updated (e.g., because the request I 14
`
`I 2
`
`aJ
`
`4 5 6 - 8 9
`
`10
`
`11
`
`T2
`
`13
`
`T4
`
`15
`
`I6
`
`17
`
`18
`
`r9
`
`20
`
`2l
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`ii
`
`i:
`
`ti
`
`1'*i
`
`-9-
`
`/L'
`
`Ex. 1003 / Page 16 of 328
`
`

`

`Dockct 54?3/pTO FititrSyspcc.nld
`
`j
`
`includes anew constaint)' In an enrbodiment, the constaint collator 136 compares consfoaint
`information in a current request 1 14 to consftaint information residing in the status contol 140,
`and ifthe current request 1 14 includes a new constraint, such as a new narowing request (for
`example' when the user clicks, touches orpoints over a field shown in a last search cycle), then
`the constraint collator 136 adds the updated information and sends the updated request I l5
`to the querygenerator 150' Ifthe constraint stafus shouldbe updated, the constraint collator
`136 sends the status update 118 to the status control 140. If the request 114 is a refresh
`request' the constraint collator 1 36 sends a reset command 1 3 1 to the database qualifier 1 60.
`Theupdatedrequest 115 (possiblywithanewconstaint) is thensentto th equery anaryzer 150
`for fuither processing.
`Figure 6 is a block diagram ofthe query generator I 50. The overall functions ofthe
`query generator 1 50 are to scan a database, such as the database 12, using the database driver
`1 70' and to collect search results based on constraints supplied by the request analyzer I 3 0.
`The query generator 150 then returns the search results 175 tothe terminal 14.
`The query generator 1 50 includes a truncator 152 and,adrspatcher 1 54. The truncator
`I 52 receives the updated request 1 1 5, including a new constain! ifapplicable. The truncator
`I 52 creates new queries, based on new conskaints, and applies the new requests I 5 I to the
`database 12 using the database dri ver 170. The truncato r r52may include a variable limit 155
`that is set' for example, according to a capacityofthe termin ai 14 tadisplay the search results
`T7 5 ' rf dataretrieved from the database 12 exceed the limit value, the truncat or l52adjusts
`a size (e'g'' anumberofenties orrecords) ofthe datauntil adiqplayableresult listis achieved.
`one method ofadjusting the size is by cycling (looping). other methods may also be used to
`adjust the size ofthe result list. For example, the terminal 14 may be limited to displ ayng2'
`lines ofdata (entries, records) from the database 12. The trun cator t52will cycle until the
`displayed result list is at most 20 lines. In an embodiment, the truncation prccess used by the
`truncator 1 52 assumes that ifthe user requests all values in a particular data field from the
`database 12' andthereareno otherconshaintsprovidedwiththerequest l 14, andifthesize
`
`I 2 J 4 5 6 1 8 9
`
`10
`
`11
`
`T2
`
`l3
`
`t4
`
`15
`
`I6
`
`t7
`
`18
`
`t9
`
`20
`
`2l
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`t"=i
`
`i,,.:
`
`l'*
`
`,!
`ti
`
`-10-
`
`tf
`
`Ex. 1003 / Page 17 of 328
`
`

`

`Docket 5473/PTO FiliDgYsp@.wpd
`
`ofthe resulting result list is larger than some numeric parameter related to a display size ofthe
`
`terminal 14, then the constaints may be modified by the tuncator I 52 so that the result list can
`
`accommodated (e. g., displayed on one page) by the term inal | 4. For example, instead of a
`
`fuIl name of a city, some part ofthe name - the first n letters - is checked against the database
`
`12 agatgand n is reduced until the result list is small enough for the capacity ofthe terminal 14.
`
`Ifthe maximum number of displayable results is three (3), and the datab ase 12 contains the
`
`namesofsixcities"ArmandiaArmonk,NewOrleans,NewYork,Riverhead,Riverdale,"then
`
`the first attempt to 'tesolve" the result list will stop after aresult list display is created with the
`
`fulIname of the cities:
`
`1 2 aJ 4
`
`5 6 7 8 9
`
`10
`
`Armandia, Armonk, New Orleans... (the limit was reached)
`
`11
`
`12
`
`14
`
`15
`
`,,*
`1!
`t..n 13
`irl
`l,u
`:*
`j:3
`r't
`lr
`Io
`r.I 17
`l,ii
`ii}
`
`,"
`
`18
`
`19
`
`20
`
`2l
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`Try again with 7 characters:
`
`Armandia, Armonk, New Orl, New Yor, (limit reached again)
`
`Again with 5 characters:
`
`Armandia, Armonk, New O, New Y, (limit reached again)
`
`Again with 3 characters:
`
`Arm(...),New(...),Riv(...). Theseresultsmaynowbedisplayedontheterminall{. The
`
`display of Arm, New, Riv can then be used to conduct a further search-on-the-fly. For
`
`example, a user could then select Riv for a further search-on-the-fly. The result list returned
`
`would then list two cities, namely Riverhead and Riverdale.
`
`In another embodiment, a fixed format is imposed such that all queries generated
`
`against a database will have preset limits corresponding to the capacity of the terminal 14.
`
`In yet another embodiment, the truncator 1 52 may adjust the fiel

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket