`
`EXAMUE
`
`-f
`
`N77/ 4s-
`D-436L
`vb
`Pecçç
`
`/._
`ApIicatin
`CLAIM$4LLOWED
`
`Total Claims
`
`Print Claim
`
`DRAWING
`
`SheatDrwg Fig Diwg
`
`Ptint Fig
`
`PERVISOAYPXAMINER
`
`ISSUE
`BATCH
`Primary Examiner NUMBER
`FOR ISSUE
`
`PREPARED
`
`7c/
`
`The inlorrnatlon disclosed herein may be restricted Unauthnrizedftosure may be prohibited
`122 181 and 36 Possession outside the U.S
`by the United StatesCode 115835 Sections
`Patent
`TrademaricOtfice isrestricted to authorized
`ernpps
`
`and contractors
`
`only
`
`iSSUE FEE IN FILE
`
`FACE
`
`gnpflorltyclamed
`
`35USCllOconditIonsmel
`
`yes
`
`yes
`
`Verified and
`
`.4
`
`__________
`
`PARTS OF APPLICATION
`FILED SEPARATELY
`
`NOTICE OF ALLOWANCEMAILED
`
`/c2
`
`ISSUE FEE
`
`yfl
`
`eticn
`
`Assistant Examiner
`
`Amount Due
`
`.I Date Paid
`
`21 ii9
`
`Label
`Area
`
`WARNING
`
`Foen PTO-436A
`Rev 8/921
`
`Petitioner IBM – Ex. 1002, p. 1
`
`
`
`TENTAUMBER
`
`ORIGINAL CLAIFICATION
`SUBCL.ASS
`
`CLASS
`
`PPLICATION SERIAL NUMBER
`
`puCANTSAMEPl1ASEPRIN1
`
`CLASS
`
`47 77
`LouEfY aJ- 707
`i_ I3W/I
`
`REISSUE ORIGINAL PATENT NUMBER
`
`INTERNATIONAL CLASSIFICATION
`
`/2.0
`
`.1
`
`GROUP
`ARTUNIT
`
`2co -33
`CROSS REFERENCES
`SUBCLASS
`ONE SUBCLASS
`PER BLOCK
`Zoo
`/o4-
`
`/0
`
`-1
`
`ASSISTAN
`
`XAMINEK
`
`PLEASE STAMF OR PRINT FULL NAME
`
`TO 270
`AEV 5.91
`
`ISSUE CLASSI1CATION SLIP
`
`GROIJP27gQ
`U.S OtrAil MLN UI cOMMtPR..L
`PATENT
`AND TRADEMARK
`OfFICE
`
`Petitioner IBM – Ex. 1002, p. 2
`
`
`
`SEARCHED
`
`Date
`
`Class
`
`Sub
`
`Exml
`$D
`4o 7/q74
`5_ 1O
`
`-1
`
`ifi
`
`SEARCH NOTE$-7
`4nd
`/-
`-ms1 7óf
`
`Exmr
`
`SX d4J
`
`v5
`
`fD4-
`
`7o7
`
`7./f
`
`Jo
`
`60
`
`INTERFERENCE SEARCHED
`
`//
`
`Date
`
`Exm/
`igqi -y
`
`Class
`
`Sub
`
`37 2fZl5
`23%T C9
`
`7r7
`
`RIGHT OUTSIDE
`
`Petitioner IBM – Ex. 1002, p. 3
`
`
`
`POSITiON
`
`CLASSIFIER
`
`EXAMINER
`
`TYPIST
`
`VERIFIER
`CORPS cORR
`SPEC HAND
`FILE MAINT
`
`DRAFTING
`
`Staple Issue Slip Here
`
`ID NO
`
`INDEX OF CLAIMS
`
`Claim
`
`DateL/
`
`2-
`
`tJ
`
`iLv
`
`-78
`
`j/9__
`9.J.V ki
`
`12
`
`L-c-III
`
`.V/v
`
`Il
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`29
`
`30
`
`31
`
`32
`
`33
`
`34
`
`35
`
`36
`
`37
`
`38
`
`39
`
`40
`
`41
`
`42
`
`43
`
`44
`
`45
`
`46
`
`47
`
`48
`
`49
`
`50
`
`syMeols
`
`d.saota
`Cm o.ei tmb eod
`.ka-eI
`Ap
`
`Oblct
`
`LEFT INIflF
`
`Petitioner IBM – Ex. 1002, p. 4
`
`
`
`4OO
`
`30 21 TIl
`
`1996
`
`eVs Docket No
`
`________
`
`02577.P001
`
`OMMISSIONER OF PATENTS AND TRADEMARKS
`ington D.C 20231
`
`Transmitted herewith for filing
`
`is the nonprovisional
`
`patent application of
`
`nventors
`
`For
`
`Levine and Ronald
`Keith Lowery Andrew
`METHOD AND APPARATUS FOR r.RFATINi AND MMJAIN
`
`Howell
`
`CUSTOM WEB S1E
`
`Title
`
`08/636477
`
`Patent
`
`Enclosed are
`______
`
`______
`
`_____
`
`sheets of Drawings
`An Assignment of the invention to
`Inc
`__________________________________
`lnfoSpinner
`Assignment Cover Sheet Form PTO-1 595
`Declaration and Power of Attorney
`
`_________
`
`signed
`
`______
`
`unsigned
`
`The Filing Fee has been calculated as shown below
`
`Col it
`
`Ccl 2t
`
`SMALL ENTITY
`
`OTHER THAN
`SMALL ENTITY
`
`For
`
`Basic Fee
`
`Total Claims
`
`16
`
`-20
`
`Indep Claims
`
`-3
`
`MultIple Dependent Clalns Presented
`
`If
`
`the difference is less than zero
`in Cd
`enter
`
`xli
`
`x39
`
`125
`
`TOTAL
`
`Rate
`
`Fee
`
`Rate
`
`Fee
`
`375
`
`750
`
`234
`
`x22
`
`x78
`
`250
`
`TOTAL
`
`984
`
`Acheckfor$
`
`984.00
`
`for
`
`for the filing fee is enclosed
`is enclosed
`check
`the Assignment
`40.00
`for recordation of
`The Commissioner is hereby authorized to charge payment of
`the following fees
`associated with this communication or credit any overpayment
`to our Deposit
`Account No 02-2666
`is enclosed
`this sheet
`duplicate copy of
`1.16
`filing fees required under 37 C.F.R
`Any additional
`Any patent application processing fees under 37 C.F.R
`The Commissioner is hereby authorized to charge payment of
`the following fees
`during the pendency of
`this application or credit any overpayment
`to our
`Deposit Account No 02-2666
`is enclosed
`duplicate copy of
`this sheet
`fees under 37 C.F.R 1.17 including any extension
`Any processing
`fees
`Any filing tees under 37 C.F.R 1.16 for presentation of extra claims
`to the undersigned at BLAKELY SOKOLOFF TAYLOR
`Send all correspondence
`ZAFMAN 12400 Wilshire Boulevard Seventh Floor Los Angeles California 90025
`telephone calls to the undersigned at 408 720-8598
`and direct all
`
`1.17
`
`Da
`
`1996
`
`12400 Wilshire Boulevard
`Seventh Floor
`Los Angeles California 90025
`408 720-8598
`
`Respectfully
`
`subm
`
`BLAKELY SO
`
`LOFF AYLOR
`
`ZAFMAN
`
`By____________________________
`JamesySafter
`
`Reg.No
`
`35.668
`______________________________________
`
`L.JV/cak
`
`10/02/95
`
`Express Mail mailing label number
`
`EM 511190 030 US
`
`Dateof Deposit
`
`Aon123.1996
`
`this paper or fee is being deposited with the United States Postal Service Express Mail Post
`hereby certify that
`Office to Addressee service under 37 CFR 1.10 on the date indicated
`above and is addressed
`to the Commissioner of
`Patents and Trademarks Washington DC 20231
`Dh.....4 tI
`crypented name
`iThdi
`signature of person mailing paper or fee
`
`paper or fee
`
`Petitioner IBM – Ex. 1002, p. 5
`
`
`
`FIG
`
`Petitioner IBM – Ex. 1002, p. 6
`
`
`
`RVER
`
`vri ITAPI
`
`WEB
`PAGE
`
`L_ 2QflI
`PAGE12j
`
`WEB
`
`WEB
`PAGE
`
`2Qli
`
`REQUEST
`
`WEB
`PAGE
`
`2Q2
`
`FIG PRIOR ART
`
`Petitioner IBM – Ex. 1002, p. 7
`
`
`
`BEGINAON
`
`WEB CLIENT MAKES URL REQUEST
`
`URL EXAMINED BY WEB BROWSER
`TO
`APPROPRIATE WEB SERVER_F
`DETERMINE
`
`302
`
`REQUESTTRANSMITTEDTO
`APPROPRIATE WEB SERVER
`
`304
`
`WEB SERVER EXAMINES URLTO DETERMINE WHETHER
`IllS AN HTML DOCUMENT OR
`CGI APPLICATION
`
`306
`
`_.ç
`
`HTML
`DOCUMENT
`308
`
`CGI
`LICATION
`314
`
`WEB SERVER LOCATES DOCUMENT
`
`WEB SERVER LOCATES CGI APPLICATION
`
`BACK
`DOCUMENT TRANSMITTED
`TO REQUESTING WEB BROWSER
`FOR FORMATTING AND DISPLAY
`
`312
`
`320
`
`3l8j CGIAPPLICATION EXECUTES
`AND OUTPUTS HTML OUTPUT
`
`HTML OUTPUT TRANSMITTED
`BACK TO REQUESTING WEB BROWSER
`
`END
`TRANSACTION
`
`FIG PRIOR ART
`
`Petitioner IBM – Ex. 1002, p. 8
`
`
`
`PROcESSING
`
`BROWSER
`
`SENDS URL REQUfJS50
`L9 SERVER RECEIVES URL REQj_
`
`TERCEPTOR INTERCEpTS HANDLING OF REQUESJ3
`
`IRCEPTOR CONNECTS TO DISPATCHER
`LAND SENDS REQUEST TO DISPATCHER
`
`IDISPATCHER DETERMINES WHICH
`SERVERS CAN HANDLE REQUEST
`
`506
`
`508
`
`DISPATCHER DETERMINES WHICH PAGE
`IS PROCESSING FEWEST REQUESTS
`
`510
`
`LATCHER SENDS REQUEST TO APPROPRIATE PAGE SERVEj
`GE SERVER RECEIVES REQUEST AND PRODUCES HTML DOCUME$
`
`512
`
`PAGE SERVER RESPONDS TO DISPATCHER WITH
`OF NAME OF CACHED HTML DOCUMEFir
`
`516
`
`DISPATCHER RESPONDS TO
`WITH DOCUMENT NAM
`
`518
`
`REPLACES REQUESTED URç- 520
`NEWLY GENERATED HTML DOCUMENf
`
`SERVER SENDS NEW
`LHTMLDOCUMENTTOCLIENTf
`WEB BROWSER RECEIVES AND DJSPLAYS
`DOCUMENT CREATED BY PAGE SERVER
`
`522
`
`524
`
`FIG
`
`OcESSING
`
`Petitioner IBM – Ex. 1002, p. 9
`
`
`
`FIG
`
`SERVER
`
`WEB
`
`CACHE4121
`CONNECTION
`
`Petitioner IBM – Ex. 1002, p. 10
`
`
`
`081636477
`
`PATENT
`
`UNITED STATES PATENT APPLICATION
`
`for
`
`METHOD AND APPARATUS FOR CREATING AND
`MANAGING
`CUSTOM WEB SITE
`
`Applicant
`
`Keith Lowery
`Andrew
`Levine
`Ronald
`Howell
`
`prepared by
`
`BLAKELY SOKOLOFF TAYLOR
`12400 Wilshire Boulevard
`Los Angeles CA 90026-1026
`408 720-8598
`
`ZAFMAN
`
`EXPRESS MAIL CERTIFICATE OF MAILING
`
`Express Mail mailing label number
`
`EM 511 190 030 US
`
`April23 1996
`Date of Deposit
`this paper or fee is being deposited with the United States Postal
`hereby certify that
`Service Express Mail Post Office to Addressee service under 37 CFR 1.10 on the date
`indicated above and is addressed to the Commissioner of Patents and Trademarks
`Washington D.C 20231
`
`P1nn-1 fl1r
`Typed or printed name of person mailing paper or fee
`/IJI1d2
`
`Signature of person mailing paper or fee
`
`Petitioner IBM – Ex. 1002, p. 11
`
`
`
`9LD OF THE INVENTION
`
`The present
`
`invention relates to the field of Internet technology
`
`Specifically the present
`
`invention relates to the creation and management of
`
`custom World Wide Web sites
`
`DESCRIPTION OF RELATED ART
`
`The World Wide Web the Web represents all of the computers on
`
`10
`
`the Internet
`
`that offer users access
`
`to information on the Internet via
`
`interactive documents or Web pages These Web pages contain hypertext
`
`links that are used to connect any combination of graphics audio video and
`
`text in
`
`non-linear non-sequential manner Hypertext links are created
`
`using
`
`special software language known as HyperText Mark-Up Language
`15 HTML
`
`sites
`
`Once created Web pages reside on the Web on Web servers or Web
`Web site can contain numerous Web pages Web client machines
`running Web browsers can access these Web pages at Web sites via
`communications protocol known as HyperText Transport Protocol HTTP
`Web browsers are software interfaces that run on World Wide Web clients to
`
`allow access to Web sites via
`
`simple user interface
`
`Web browser allows
`
`particular Web page frOm Web site by specifying
`Web client
`to request
`Uniform Resource Locator URL
`Web page and its location on the Web When the appropriate Web site
`
`URL is Web address that
`
`identifies the
`
`receives the URL the Web page corresponding to the requested URL is
`and if required HTML output is generated The HTML output is
`
`located
`
`20
`
`25
`
`Petitioner IBM – Ex. 1002, p. 12
`
`
`
`then sent via HTTP to the client
`
`for formatting on the clients screen
`
`Although Web pages and Web sites are extremely simple to create the
`
`proliferation of Web sites on the Internet highlighted
`
`number of problems
`The scope and ability of Web page designer to change the content of the
`Web page was limited by the static nature of Web pages Once created Web
`
`it was manually modified This in turn limited
`page remained static until
`the ability of Web site managers to effectively manage their Web sites
`
`10
`
`The Common Gateway Interface CGI standard was developed to
`
`resolve the problem of allowing dynamic content
`
`to be included in Web
`
`pages CGI calls or procedures enable applications to generate dynamically
`created HTML output
`
`thus creating Web pages with dynamic content Once
`
`15
`
`created these CGI applications do not have to be modified in order to
`retrieve new or dynamic data Instead when the Web page is invoked
`CGI calls or procedures are used to dynamically retrieve the necessary data
`and to generate Web page
`
`CGI applications also enhanced the ability of Web site administrators
`
`20
`
`to manage Web sites Administrators no longer have to constantly update
`static Web pages
`
`number of vendors have developed tools for CGI based
`
`development
`
`to address the issue of dynamic Web page generation
`
`Companies like SpiderTM and BluestoneTM for example have each created
`
`development
`
`tools for CGI-based Web page development Another
`company Haht SoftwareTM has developed Web page generation tool that
`
`25
`
`uses
`
`BASIC-like scripting language instead of CGI scripting language
`
`Petitioner IBM – Ex. 1002, p. 13
`
`
`
`Tools that generate CGI applications do not however
`
`resolve the
`
`problem of managing numerous Web pages and requests at Web site For
`single company may maintain hundreds of Web pages at their
`Web site Current Web server architecture also does not allow the Web
`
`example
`
`server to efficiently manage the Web page and process Web client
`
`requests
`
`Managing these hundreds of Web pages in
`processing all requests for access to the Web pages is thus
`
`coherent manner and
`
`difficult
`
`task
`
`Existing development
`
`tools are limited in their capabilities to facilitate
`
`dynamic Web page generation and do not address the issue of managing
`Web requests or Web sites
`
`10
`
`Petitioner IBM – Ex. 1002, p. 14
`
`
`
`SUMMARY OF THE INVENTION
`
`It
`
`is therefore an object of
`
`the present
`
`invention to provide method
`
`and apparatus for creating and managing custom Web sites Specifically the
`
`present
`
`invention claims
`
`method and apparatus for managing dynamic
`
`web page generation requests
`
`In one embodiment
`
`the present
`
`invention claims
`
`computer-
`
`implemented method for managing
`
`dynamic Web page generation request
`to Web server the computer-implemented method comprising the steps of
`
`10
`
`routing the request from the Web server to
`
`page server the page server
`receiving the request and releasing the Web server to process other requests
`
`processing the request
`
`the processing being performed by the page server
`concurrently with the Web server as the Web server processes the other
`
`15
`
`requests and dynamically generating Web page in response to the request
`the Web page including data dynamically retrieved from one or more data
`
`sources Other embodiments also include connection caches
`
`to the one or
`
`more data sources page caches
`
`for each page server and custom HTML
`extension templates for configuring the Web page
`
`20
`
`Other objects features and advantages
`
`of the present
`
`invention will be
`
`apparent
`
`from the accompanying drawings and from the detailed
`
`description
`
`Petitioner IBM – Ex. 1002, p. 15
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`/re illustrates
`
`invention operates
`
`typical computer system in which the present
`
`Figure 2i11ustrates
`
`typical prior art Web server environment
`
`illustrates
`
`typical prior art Web sewer environment in the
`
`form of 9ow diagram
`
`Figure
`
`illustrates one embodiment of the presently claimed
`
`invention
`
`/igure
`
`illustrates the processing of Web browser
`
`request
`
`in the
`
`15
`
`form of
`
`flow diagram according to one embodiment of the presently
`
`claimed invention
`
`Petitioner IBM – Ex. 1002, p. 16
`
`
`
`DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
`
`The present
`
`invention relates to method and apparatus for
`creating and managing custom Web sites In the following detailed
`
`description numerous specific details are set forth in order to provide
`
`thorough understanding
`
`of the present
`
`invention It will be apparent
`
`to one
`
`of ordinary skill
`
`in the art however
`
`that these specific details need not be
`
`used to practice the present
`
`invention
`
`In other instances well-known
`
`structures interfaces and processes have not been shown in detail in order
`
`10
`
`not
`
`to unnecessarily obscure the present
`
`invention
`
`Figure
`
`illustrates
`
`typical computer system 100 in which the present
`
`invention operates
`
`The preferred embodiment of
`
`the present
`
`invention is
`
`implemented on an IBMTM Personal Computer manufactured by IBM
`Corporation of Armonk New York An alternate embodiment may be
`
`15
`
`implemented on an RS/6000TM Workstation manufactured by IBM
`Corporation of Armonk New York It will be apparent
`
`to those of ordinary
`
`skill
`
`in the art that other computer system architectures may also be
`
`employed
`
`20
`
`In general such computer systems as illustrated by Figure
`
`comprise
`
`bus 101 for communicating
`
`information
`
`processor 102 coupled with the
`
`bus 101 for processing information main memory 103 coupled with the bus
`
`101 for storing information and instructions for the processor 102
`
`read-
`
`25
`
`only memory 104 coupled with the bus 101 for storing static information and
`
`instructions for the processor 102
`
`display device 105 coupled with the bus
`
`101 for displaying information for
`
`computer user an input device 106
`
`Petitioner IBM – Ex. 1002, p. 17
`
`
`
`coupled with the bus 101 for communicating
`
`information and command
`
`selections to the processor 102 and mass storage device 107 such as
`
`magnetic disk and associated disk drive coupled with the bus 101 for storing
`
`information and instructions
`
`data storage medium 108 containing digital
`
`information is configured to operate with mass storage device 107 to allow
`
`processor 102 access
`
`to the digital
`
`information on data storage medium 108
`
`via bus 101
`
`Processor 102 may be any of wide variety of general purpose
`
`10
`
`processors or microprocessors
`
`such as the PentiumlM microprocessor
`
`manufactured by IntelTM Corporation or the RS/6000TM processor
`
`manufactured by IBM Corporation It will be apparent
`
`to those of ordinary
`
`skill
`
`in the art however
`
`that other varieties of processors may also be used
`
`in
`
`particular computer system Display device 105 may be
`liquid crystal
`device cathode ray tube CRT or other suitable display device Mass storage
`conventional hard disk drive floppy disk drive CD
`device 107 may be
`ROM drive or other magnetic or optical data storage device for reading and
`floppy disk CD-ROM
`
`writing information stored on
`
`hard disk
`
`15
`
`20
`
`magnetic tape or other magnetic or optical data storage medium Data
`
`storage medium 108 may be
`
`floppy disk CD-ROM magnetic
`tape or other magnetic or optical data storage medium
`
`hard disk
`
`In general processor 102 retrieves processing instructions and data
`
`from data storage medium 108 using mass storage device 107 and
`
`25
`
`downloads this information into random access memory 103 for execution
`
`Processor 102 then executes an instruction stream from random access
`
`memory 103 or read-only memory 104 Command selections and
`
`Petitioner IBM – Ex. 1002, p. 18
`
`
`
`information input at input device 106 are used to direct
`
`the flow of
`
`instructions executed by processor 102 Equivalent
`
`input device 106 may also
`
`be
`
`pointing device such as
`
`conventional mouse or trackball device
`
`The
`
`results of this processing execution are then displayed on display device 105
`
`The preferred embodiment of
`
`the present
`
`invention is implemented
`
`as
`
`software module which may be executed on
`
`computer system such as
`
`computer system 100 in
`
`conventional manner Using well known
`
`techniques
`
`the application software of the preferred embodiment
`
`is stored
`
`10
`
`on data storage medium 108 and subsequently loaded into and executed
`
`within computer system 100 Once initiated the software of
`
`the preferred
`
`embodiment operates in the maimer described below
`
`Figure
`
`illustrates
`
`typical prior art Web server environment Web
`
`15
`
`client 200 can make URL requests to Web server 201 or Web server 202 Web
`
`servers 201 and 202 include Web server executables 201E and 202E
`
`respectively that perform the processing of Web client
`
`requests Each Web
`
`20
`
`25
`
`number of Web pages 2011
`server may have
`and 2021
`Depending on the URL specified by the Web client 200 the request may be
`routed by either Web server executable 201E to Web page 201
`example or from Web server executable 202E to Web page 202
`client 200 can continue making URL requests to retrieve other Web pages
`Web client 200 can also use hyperlinks within each Web page to jump to
`other Web pages or to other
`
`for
`
`Web
`
`locations within the same Web page
`
`Figure
`
`illustrates this prior art Web server environment
`
`in the form
`
`of
`
`flow diagram In processing block 300 the Web client makes
`
`URL
`
`Petitioner IBM – Ex. 1002, p. 19
`
`
`
`request This URL request
`
`is examined by the Web browser to determine the
`
`appropriate Web server to route the request
`
`to in processing block 302 In
`
`processing block 304 the request is then transmitted from the Web browser
`the appropriate Web server and in processing block 306 the Web server
`
`to
`
`executable examines the URL to determine whether
`
`is HTML document
`
`it
`
`or CGI application If
`
`the request is for an HTML document 308 then the
`Web server executable locates the document
`
`in processing block 310 The
`
`document
`
`is then transmitted back through the requesting Web browser for
`
`formatting and display in processing block 312
`
`10
`
`If the URL request
`
`is for CGI application 314 however the Web
`
`server executable locates the CGI application in processing block 316 The
`CCI application then executes and outputs HTML output in processing block
`318 and finally the HTML output
`
`is transmitted back to requesting Web
`
`15
`
`browser
`
`for formatting and display in processing block 320
`
`This prior art Web server environment does not however provide
`
`any mechanism for managing the Web requests or the Web sites As Web
`
`sites grow and as the number of Web clients and requests increase Web site
`
`20
`
`management becomes
`
`crucial need
`
`For example
`
`large Web site may receive thousands of requests or
`
`hits in
`
`single day Current Web servers process each of these requests on
`
`single machine namely the Web server machine Although these
`
`25
`
`machines may be running multi-threaded operating systems that allow
`
`transactions to be processed by independent
`
`threads all
`
`the threads are
`
`nevertheless on
`
`single machine sharing
`
`processor As such the Web
`
`Petitioner IBM – Ex. 1002, p. 20
`
`
`
`executable thread may hand off
`
`request to
`
`processing thread but both
`
`threads will still have to be handled by the processor on the Web server
`machine When numerous requests are being simultaneously processed by
`
`multiple threads on
`
`single machine the Web server can slow down
`
`significantly and become highly inefficient
`
`The claimed invention
`
`addresses this need by utilizing
`
`partitioned architecture to facilitate the
`
`creation and management of custom Web sites and servers
`
`Figure
`
`the presently claimed
`invention Web client 200 issues URL request that is processed to
`
`illustrates one embodiment of
`
`10
`
`determined proper routing In this embodiment
`the request
`Web server 201 Instead of Web server executable 201E processing the URL
`
`is routed to
`
`request however Interceptor
`
`400 intercepts the request and routes it
`
`to
`
`Dispatcher 402 In one embodiment
`
`Interceptor 400 resides on the Web
`
`15
`
`server machine as an extension to Web server 201 This embodiment is
`
`appropriate for Web servers such as NetsiteTM from Netscape that support
`
`such extensions
`
`number of public domain Web servers such as NCSATM
`
`from the National Center for Supercomputing Applications at the
`
`University of
`
`illinois Urbana-Champaign however do not provide support
`
`20
`
`for this type of extension Thus in an alternate embodiment
`
`Interceptor 400
`
`is an independent module connected
`
`via an intermediate program to Web
`
`server 201 This intermediate program can be
`program that connects Interceptor 400 to Web server 201 Alternate
`
`simple CGI application
`
`intermediate programs the perform the same functionality can also be
`
`25
`
`implemented
`
`In one embodiment of the invention Dispatcher 402 resides on
`
`10
`
`Petitioner IBM – Ex. 1002, p. 21
`
`
`
`different machine than Web server 201 This embodiment overcomes the
`
`limitation described above in prior art Web servers wherein all processing
`
`is performed by the processor on
`
`single machine By routing the request to
`
`Dispatcher 402 residing on
`
`different machine than the Web server
`
`executable 201E therequest can then be processed by
`
`different processor
`than the Web server executable 201E Web server executable 201E is thus
`
`free to continue servicing client
`
`requests on Web server 201 while the
`
`request
`
`is processed off-line at
`
`the machine on which Dispatcher 402
`
`resides
`
`10
`
`Dispatcher 402 can however also reside on the same machine as the
`
`Web server The Web site administrator has the option of configuring
`
`Dispatcher 402 on the same machine as Web server 201 taking into account
`particular Web site such as the size of the
`
`variety of factors pertinent to
`
`15
`
`Web site the number of Web pages and the number of hits at the Web site
`
`Although this embodiment will not enjoy the advantage described above
`
`namely off-loading the processing of Web requests from the Web server
`
`machine the embodiment does allow flexibility
`
`for
`
`small Web site to grow
`
`For example
`
`small Web site administrator can use
`
`single machine for
`
`20
`
`both Dispatcher 402 and Web server 201 initially then off-load Dispatcher 402
`
`onto
`
`separate machine as the Web site grows The Web site can thus take
`
`advantage of other features of the present
`
`invention regardless of whether
`
`the site has separate machines configured as Web servers and dispatchers
`
`25
`
`Dispatcher 402 receives the intercepted request and then dispatches the
`
`request to one of
`
`number of Page servers 404
`
`For example if Page
`
`server 404
`
`receives the dispatched request
`
`it processes the request and
`
`11
`
`Petitioner IBM – Ex. 1002, p. 22
`
`
`
`retrieves the data from an appropriate data source such as data source 406
`
`data source 408 or data source 410 Data sources as used in the present
`
`application include databases spreadsheets files and any other type of data
`
`repository Page server 404
`
`can retrieve data from more than one data
`
`source and incorporate the data from these multiple data sources in
`
`single
`
`Web page
`
`In one embodiment each Page server 4041
`
`resides on
`
`separate
`
`machine on the network to distribute the processing of the request
`
`10
`
`Dispatcher 402 maintains
`
`variety of information regarding each Page server
`
`on the network and dispatches requests based on this information For
`
`example Dispatcher 402 retains dynamic information regarding the data
`
`sources that any given Page server can access Dispatcher 402 thus examines
`
`particular request and determines which Page servers can service the URL
`
`15
`
`request Dispatcher 402 then hands off the request
`
`to the appropriate Page
`
`server
`
`For example if
`
`the URL request requires financial data from data
`
`source 408 dispatcher 402 will
`
`first examine an information list Dispatcher
`
`20
`
`402 may determine that Page server 4043 for example has access
`
`to the
`
`requisite data in data source 408 Dispatcher 402 will
`
`thus route the URL
`
`request
`
`to Page server 4043 This connection caching functionality is
`
`described in more detail below under the heading Performance
`
`25
`
`Alternately Dispatcher 402 also has the ability to determine whether
`
`particular Page server already has the necessary data cached in the Page
`
`servers page cache described in more detail below under
`
`the heading
`
`12
`
`Petitioner IBM – Ex. 1002, p. 23
`
`
`
`Performance Dispatcher 402 may thus determine that Page server 4041
`
`and 4042 are both logged into Data source 408 but that Page server 4042
`
`has the financial
`
`cache
`
`In this case Dispatcher 402 will
`
`information already cached in Page server 4042s page
`route the URL request
`
`to Page server
`
`4042 to more efficiently process the request
`
`Finally Dispatcher 402 may determine that
`
`number or all Page
`
`servers 4041
`
`are logged into Data source 408 In this scenario
`
`Dispatcher 402 can examine the number of requests that each Page server is
`
`10
`
`servicing and route the request to the least busy page server This load
`
`balancing
`
`capability can significantly increase performance at
`
`busy Web
`
`site and is discussed in more detail below under
`
`the heading Scalability
`
`If for example Page server 4042 receives the request Page server
`
`15
`
`4042 will process the request While Page server 4042 is processing the
`request Web server executable 201E can concurrently process other Web
`
`client requests
`
`This partitioned architecture thus allows both Page server
`
`4042 and Web server executable 201E to simultaneously process different
`
`requests thus increasing the efficiency of the Web site Page server 4042
`
`20
`
`dynamically generates
`
`Web page in response to the Web client request and
`the dynamic Web page is then either transmitted back to requesting Web
`
`client 200 or stored on machine that is accessible to Web server 201 for later
`
`retrieval
`
`25
`
`One embodiment of
`
`Web page
`the claimed invention also provides
`designer with HTML extensions or dyna tags These dyna tags provide
`customized HTML functionality to Web page designer to allow the
`
`13
`
`Petitioner IBM – Ex. 1002, p. 24
`
`
`
`designer to build customized HTML templates that specify the source and
`
`placement of retrieved data For example in one embodiment
`HTML extension tag specifies
`column name to allow the
`HTML template to identify the data source to log into and the column name
`
`data source and
`
`dynatext
`
`from which to retrieve data Alternatively dyna-anchor
`
`tags allow the
`
`designer to build hyperlink queries while dynablock
`
`tags provide the
`
`designer with the ability to iterate through blocks of data Page servers use
`these HTML templates to create dynamic Web pages Then as described
`above these dynamic Web pages are either transmitted back to requesting
`
`10
`
`Web client 200 or stored on machine that is accessible to Web server 201 for
`
`later retrieval
`
`The presently claimed invention provides numerous advantages over
`prior art Web servers including advantages
`
`in the areas of performance
`
`15
`
`security extensibility and scalability
`
`Performance
`
`20
`
`One embodiment of
`
`the claimed invention utilizes connection
`
`caching and page caching to improve performance
`
`Each Page server can be
`
`configured to maintain
`
`cache of connections
`
`to numerdus data sources
`
`For example as illustrated in Figure
`
`Page server 4041 can retrieve data
`
`from data source 406 data source 408 or data source 410 Page server 4041
`
`25
`
`can maintain connection cache 4121 containing connections to each of data
`
`source 406 data source 408 and data source 410 thus eliminating connect
`
`times from the Page servers to those data sources
`
`14
`
`Petitioner IBM – Ex. 1002, p. 25
`
`
`
`Additionally another embodiment of
`
`the present
`invention supports
`the caching of finished Web pages to optimize the performance of the data
`
`source being utilized This page caching feature illustrated in Figure
`
`as
`
`Page cache 414 allows the Web site administrator to optimize the
`performance of data sources by caching Web pages that are repeatedly
`accessed Once the Web page is cached subsequent requests or hits will
`
`utilize the cached Web page rather than re-accessing the data source This
`
`can radically improve the performance of the data source
`
`10
`
`Security
`
`The present
`
`invention allows the Web site administrator to utilize
`
`15 multiple levels of security to manage the Web site In one embodiment
`
`the
`
`Page server can utilize all standard encryption and site security features
`
`provided by the Web server
`
`In another embodiment
`
`the Page server can be
`
`configured to bypass connection caches 4121-n described above for
`
`particular data source and to require entry of
`
`user-supplied identification
`
`20
`
`and password for the particular data source the user is trying to access
`
`Additionally another embodiment of the presently claimed invention
`
`requires no real-time access of data sources The Web page caching ability
`
`described above enables additional security for those sites that want
`
`to
`
`25
`
`publish non-interactive
`
`content
`
`from internal
`
`information systems but do
`
`not want real-time Internet accessibility to those internal
`
`information
`
`systems In this instance the Page server can act as
`
`replication and staging
`
`15
`
`Petitioner IBM – Ex. 1002, p. 26
`
`
`
`agent and create Web pages in batches rather than in real-time These
`
`replicated Web pages are then staged for access at
`to the Web pages in this scenario is possible even if
`
`later time and access
`
`the Page server and
`
`dispatcher are not present
`
`later
`
`In yet another embodiment
`
`the Page server can make
`single pass
`through Web library and compile Web site that exists in the traditional
`
`form of separately available files
`
`Web library is
`
`collection of related Web
`
`books and Web pages More specifically the Web library is
`organization of Web document
`
`templates together with all
`
`hierarchical
`
`the associated
`
`data source information Information about an entire Web site is thus
`
`contained in
`
`file thus simplifying the problem of deploying
`Web sites across multiple Page servers The process of deploying the Web
`
`single physical
`
`site in this embodiment is essentially
`
`simple copy of
`
`single file
`
`10
`
`15
`
`Extensibility
`
`One embodiment of
`
`the present
`
`invention provides the Web site
`
`20
`
`administrator with Object Linking and Embedding OLE 2.0 extensions to
`
`extend the page creation process These OLE 2.0 extensions also allow
`
`information submitted over the Web to be processed with user-supplied
`
`functionality Utilizing development
`
`tools such as Visual Basic Visual
`
`or PowerBuilder that support the creation of OLE 2.0 automation the Web
`
`25
`
`site administrator can add features and modify the behavior of the Page
`
`servers described above This extensibility allows one embodiment of
`
`the
`
`claimed invention to be incorporated with existing technology to develop an
`
`16
`
`Petitioner IBM – Ex. 1002, p. 27
`
`
`
`infinite number of custom web servers
`
`For example OLE 2.0 extensions allow Web site administrator to
`
`encapsulate existing business rules in an OLE 2.0 automation interface to be
`accessed over the Web One example of
`
`business rule is the steps involved
`
`in the payoff on an installment or mortgage loan The payoff may involve
`
`for example taking into account
`
`the current balance the date and the interest
`
`accrued since the last payment Most organizations already have this type of
`
`business rule implemented using various applications such as Visual Basic
`
`these
`
`for client-server environments or CICS programs on mainframes If
`the Page server dynaobject HTML
`
`applications
`
`are OLE 2.0 compliant
`
`extension tag can be used to encapsulated the application in an OLE 2.0
`
`automation interface
`
`The Page server is thus extensible and can incorporate
`
`the existing application with the new Page server functionality
`
`10
`
`15
`
`Scalabiity
`
`One embodiment of the claimed invention allows plug and play
`
`20
`
`scalability As described above referring to Figure
`
`Dispatcher 402
`
`maintains information about all
`
`the Page servers configured to be serviced by
`
`Dispatcher 402 Any number of Page servers can thus be plugged into the
`
`configuration illustrated in Figure
`
`and the Page servers will be instantly
`
`activated as the information is dynamically updated in Dispatcher 402 The
`
`25
`
`Web site administrator can thus manage the overhead of each Page server
`
`and modify each Page s