throbber
DII DI iDi
`
`iI DI
`
`ll
`
`11111
`
`lvii
`
`III Dli
`US006415335B1
`
`IIDI
`
`lii
`
`iII
`
`lID
`
`12 United States Patent
`Lowery et al
`
`10 Patent No
`45 Date of Patent
`
`US 6415335 Bi
`Jul
`2002
`
`54 SYSTEM AND METHOD FOR MANAGING
`DYNAMIC WEB PAGE GENERATION
`REQUESTS
`
`75 Inventors Keith Lowery Richardson Andrew
`Levine Piano Ronald
`Howell
`all of TX US
`Rowictt
`
`73 Assignee
`
`epicRealm Operating Inc Richardson
`LX US
`
`Notice
`
`Subject
`
`to any disclaimer the term of this
`is extended or adjusted under 35
`patent
`U.S.C 154b by0 days
`
`This patent
`claimer
`
`is subject
`
`to
`
`terminal dis
`
`21
`22
`
`Appl No 09/234048
`Jan 19 1999
`
`Filed
`
`5752246
`5754772
`5761673
`5.774660
`5774668
`
`5/1998
`
`5/1998
`
`6/1998
`
`6/1998
`
`6/1998
`
`Rogers ci at
`Leaf
`Bookman eta
`Brendet et at
`
`Choquier
`
`et at
`
`707/10
`
`395/200.33
`
`707/104
`
`395/200.31
`
`395/200.53
`
`OTHER PUBLICATIONS
`
`Hoffner Interoperability
`and distributed application plat
`form design Web URLhttp/www.ansa.co.uki
`1995 pp
`342_356
`Mourad et al Scalable Web Server Architectures IEEE
`Jun 1997 pp 12_16
`Scalable and Highly Available Web Server
`Dias et al
`IEEE 1996 pp 85_92
`Single System Image and Load Balancing for Network
`Loosely Coupled Complex IBM TDI3 vol 34
`Access
`Feb 1992 pp 464_467
`Scalable and Highly Available Web
`et al
`Dias Daniel
`IBM Research Division T.J Watson Research Cen
`Server
`
`to
`
`ter
`
`pages
`
`Related U.S Application Data
`
`List continued on next page
`
`62 Divisioii of appticalion No 08/636477
`1996 now Pat No 5894554
`
`fIled on Apr 23
`
`Primary ExaminerJeffrey Gaffin
`Assistant ExaminerRehana Perveen
`74 Atlorney Agent or FirmBaker Botts L.L.V
`ABSIRACT
`57
`
`to
`
`method and apparatus
`The present
`invention teaches
`creating and managing custom Web sites Specifically
`embodiment of the present
`invention claims
`computer-
`dynamic Web page
`implemented method for managing
`Web
`the computer
`server
`generation
`request
`implemented method comprising
`the steps of routing the
`request from the Web server to
`the page server
`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
`as the Web server processes
`the other
`requests and
`server
`Web
`to the
`in response
`dynamically
`generating
`page
`the Web page including data dynamically
`request
`from one or more data sources
`
`for
`
`one
`
`retrieved
`
`51
`52
`
`58
`
`56
`
`mt Cl.7
`U.S Cl
`
`Field of Search
`
`GO6F 13/14 GO6F 13/20
`710/5 710/7 709/219
`709/223 709/238
`709/238 223
`2021
`709/219 710/5
`
`References Cited
`
`U.S PATENT DOCUMENTS
`
`4866706
`5341499
`5392400
`5404522
`5404523
`5404527
`5452460
`5532838
`5701463
`5751956
`
`9/1989
`
`Christophersen
`
`8/1994
`
`2/1995
`
`4/1995
`
`4/1995
`
`4/1995
`
`9/1995
`
`7/1996
`
`Ct at
`
`Doragh
`Berkowitz
`Carmon Ct
`DeltaFera et at
`Irwin et at
`
`Distetbcrg
`Barhari
`
`et at
`
`12/1997
`
`Matcotrn
`
`5/1998
`
`Kirsch
`
`ci at.. 370/85.7
`395/700
`
`395/200
`
`395/650
`
`395/650
`
`395/700
`
`395/700
`
`358/400
`
`395/610
`
`395/200.33
`
`29 Claims Drawing Sheets
`
`Petitioner IBM – Ex. 1004, p. 1
`
`

`
`US 6415335 Bi
`Page
`
`OTHER PUBLICATIONS
`
`Andresen Daniel Et Al Scalability
`Issues for High Per
`formance Digital Libraries on the World Wide Web Depart
`ment of Computer Science University of California at Santa
`Barbara 10 pages
`Andresen Daniel Et Al SWEB Towards
`Scalable World
`Wide Web Server on Multicomputers Department of Com
`puter Science University of California at Santa Barbara
`
`pages
`
`Et Al Cooperative
`Caching
`Vegard
`of
`I-Iolmcdahl
`Distributed Web Server Department
`Dynamic Content on
`of Computer Science University of California at Santa
`
`Overson Nicole NeXT Ships WebObjectsOn TimeAs
`NeXT
`Ships WebObjectsOn
`Promised Deja.com
`TimeAs
`Promishttp/X28..deja.com/dncSTm
`ps...EXT927585438 1744765032hitnum33
`pages dated Aug 21 1997
`and van Renesse Robbert Software for
`Scientific American May 1996 pp
`
`International Search Report
`Birman Kenneth
`Reliable Networks
`6469
`Beyond the Web Excavating the Real World Via Mosaic
`International WWW Conference
`Goldberg et al Second
`Oct 17 1994
`
`Barbara
`
`pages
`
`cited by examiner
`
`Petitioner IBM – Ex. 1004, p. 2
`
`

`
`U.S Patent
`
`Jul
`
`2002
`
`Sheet
`
`of
`
`US 6415335 Bi
`
`FIG
`
`200
`
`WEB
`
`CLIENT
`
`REQUESTI
`
`FIG
`PRIOR ART
`
`WEB
`
`SERVER
`
`REQUEST
`
`SERVER
`XECUTABLE
`
`WEB L.2011
`PAGE
`
`201E
`
`WEB L-2012
`PAGE
`
`WEB
`
`SERVER
`
`vEB SERVE\J
`XECUTABL
`
`WEB L_2o21
`PAGE
`
`202E
`
`WEB
`
`PAGE
`
`I_2022
`
`WEB
`
`PAGE
`
`fl202n
`
`WEB
`
`PAGE
`
`fl201n
`
`201
`
`Petitioner IBM – Ex. 1004, p. 3
`
`

`
`U.S Patent
`
`Jul
`
`2002
`
`Sheet
`
`of
`
`Us 6415335 Bi
`
`FIG
`PRIOR ART
`
`BEGIN
`TRANSACTION
`
`3QQ-j
`
`WEB CLIENT MAKES
`
`URL REQUEST
`
`3O2-
`
`URL EXAMINED BY WEB
`BROWSER
`TO DETERMINE
`
`APPROPRIATE WEB
`
`SERVER
`
`304_J REQUEST
`TRANSMITTED
`TO
`APPROPRIATE WEB SERVER
`
`WEB SERVER
`
`EXAMINES URL
`
`WHETHER
`TO DETERMINE
`IT
`IS AN HTML DOCUMENT OR
`
`CCI APPLICATION
`
`3O6-
`
`HTML
`DOCUMENT
`
`3O8-
`
`CCI
`
`APPLICATION
`
`314
`
`31O
`
`WEB SERVER
`LOCATES DOCUMENT
`
`WEB SERVER
`
`LOCATES
`
`CCI APPLICATION
`
`DOCUMENT TRANSMITTED
`BACK TO REQUESTING WEB
`312 BROWSER
`FOR FORMATTING
`AND DISPLAY
`
`CCI APPLICATION
`
`EXECUTES AND
`OUTPUTS
`
`HTML OUTPUT 318
`
`HTML OUTPUT
`TRANSMITTED
`BACK TO REQUESTING WEB
`BROWSER
`FOR FORMATTING
`
`320
`
`AND DISPLAY
`
`__________________
`
`END
`
`TRANSACTION
`
`Petitioner IBM – Ex. 1004, p. 4
`
`

`
`Cl
`
`Cl
`
`406
`
`408
`
`410
`
`SOURCE
`
`DATA
`
`414
`
`CACHE
`
`PAGE
`
`412n
`
`404n
`
`CACHE
`
`SERVER
`
`CONNECTION
`
`PAGE
`
`4122
`
`4042
`
`CACHE
`
`SERVER
`
`CONNECTION
`
`PAGE
`
`CACHE
`
`SERVER
`
`CONNECTION
`
`PAGE
`
`4121
`
`4041
`
`SERVERS
`
`PAGE
`
`404
`
`402 HER
`
`400
`
`201
`
`201E
`
`INTERCEPTOR
`
`EXECUTABLE
`
`SERVER
`
`SERVER
`
`WEB
`
`WEB
`
`FIG
`
`EQUEST
`
`200 R
`
`Petitioner IBM – Ex. 1004, p. 5
`
`

`
`U.S Patent
`
`Jul
`
`2002
`
`Sheet
`
`of
`
`US 6415335 Bi
`
`BEGIN
`PROCESSING
`
`FIG
`
`500
`
`502 -H
`
`WEB
`
`BROWSER
`
`SENDS URL
`
`REQUEST
`
`WEB
`
`SERVER
`
`RECEIVES URL
`
`REQUEST
`
`INTERCEPTOR INTERCEPTS HANDLING OF REQUEST
`
`506H
`
`INTERCEPTOR CONNECTS TO DISPATCHER AND
`SENDS
`REQUEST
`TO DISPATCHER
`
`508
`
`510
`
`512
`
`514
`
`516
`
`518
`
`52O
`
`522
`
`524
`
`DISPATCHER DETERMINES WHICH PAGE
`SERVERS
`CAN HANDLE REQUEST
`
`DISPATCHER DETERMINES WHICH PACE
`SERVER
`IS PROCESSING FEWEST
`REQUESTS
`
`DISPATCHER SENDS REQUEST TO
`PAGE
`APPROPRIATE
`SERVER
`
`PAGE
`
`SERVER
`RECEIVES REQUEST
`PRODUCES HTML DOCUMENT
`
`AND
`
`PAGE
`
`NOTIFICATION
`
`RESPONDS TO DISPATCHER WITH
`SERVER
`OF NAME OF CACHED HTML DOCUMENT
`
`DISPATCHER RESPONDS TO INTERCEPTOR
`
`WITH DOCUMENT NAME
`
`INTERCEPTOR REPLACES REQUESTED
`URL
`NEWLY GENERATED
`HTML DOCUMENT
`WITH
`
`WEB
`
`SERVER
`
`SENDS NEW HTML DOCUMENT TO CLIENT
`
`WEB
`
`BROWSER
`
`RECEIVES AND DISPLAYS HTML
`DOCUMENT CREATED
`BY PAGE
`SERVER
`
`END
`PCESSING
`
`Petitioner IBM – Ex. 1004, p. 6
`
`

`
`US 6415335 B1
`
`SYSTEM AND METHOD FOR MANAGING
`DYNAMIC WEB PAGE GENERATION
`REQUESTS
`
`division of Ser No 08/636477
`This application
`flIed Apr 23 1996 now U.S Pat No 5894554
`
`is
`
`FIELD OF THE INVENTION
`
`invention
`
`The present
`Internet
`relates to
`technology Specifically the present invention relates to the
`creation and management of custom World Wide Web Sites
`
`the field of
`
`DESCRIPTION OF RELATED ART
`
`Tools that generate CGI applications
`do not however
`resolve the problem of managing numerous Web pages and
`at Web site For example
`single company may
`requests
`at their Web site Current
`maintain hundreds of Web pages
`Web server architecture also does not allow the Web server
`the Web page and process Web client
`to efficiently manage
`hundreds of Web
`requests Managing
`these
`pages
`coherent manner and processing all
`requests for access to the
`Web
`task Existing development
`is thus
`pages
`to facilitate dynamic
`io tools are limited in their capabilities
`Web
`and
`do not
`page generation
`managing Web requests or Web sites
`
`difficult
`
`address
`
`the issue of
`
`in
`
`15
`
`25
`
`35
`
`so
`
`55
`
`60
`
`65
`
`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
`generation requests
`
`page
`
`In one embodiment
`
`claims
`
`invention
`the present
`method for managing
`dynamic
`computer-implemented
`Web page generation request to Web server the computer-
`implemented method comprising
`the steps of routing the
`from the Web server to
`page server the page server
`request
`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 requests and
`Web
`dynamically
`generating
`page in response
`the Web page including data dynamically
`request
`from one or more data sources Other embodiments also
`include connection caches to the one or more data sources
`and custom HTML
`caches
`for each
`page
`page
`server
`extension templates for configuring the Web page
`
`to
`
`the
`
`retrieved
`
`features and
`of
`the present
`Other objects
`advantages
`from the accompanying drawings
`invention will be apparent
`and from the detailed description
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`illustrates
`
`FIG illustrates
`typical computer system in which the
`present invention operates
`FIG
`typical prior art Web server environ-
`men
`FIG illustrates
`ment in the form of
`FIG
`claimed invention
`FIG illustrates the processing of Web browser
`request
`in the form of
`flow diagram according to one embodiment
`of the presently claimed invention
`
`typical prior art Web server environ
`flow diagram
`
`illustrates
`
`one embodiment
`
`of
`
`the presently
`
`OF THE
`DETAILED DESCRIPTION
`PREFERRED EMBODIMENT
`
`invention relates to method and apparatus
`The present
`for creating and managing custom Web sites In the follow
`numerous specific details are set
`ing detailed description
`forth in order
`thorough understanding of the
`to provide
`to one of ordinary skill
`present invention
`It will be apparent
`in the art however
`these specific details need not he
`that
`invention
`In other
`used to practice the present
`well-known
`interfaces
`structures
`been shown in detail
`the present invention
`FIG illustrates
`typical computer system 100 in which
`the present invention operates The preferred embodiment of
`
`in order not
`
`and processes
`to unnecessarily obscure
`
`have not
`
`instances
`
`The World Wide Web the Web
`represents all of the
`that offer users access
`computers on the Internet
`to infor
`documents or Web
`mation on the Internet via interactive
`pages These Web pages contain hypertext
`links that are used
`any combination of graphics audio video and
`to connect
`text in non-linear non-sequential manner Hypertext
`links
`known as
`are created
`special software language
`using
`Language HTML
`HyperText Mark-Up
`reside on the Web on Web
`created Web
`Once
`pages
`servers or Web sites AWeb site can contain numerous Web
`client machines running Web browsers can
`pages Web
`these Web pages
`at Web sites via
`communications
`access
`known as HyperText Transport Protocol HY1l
`protocol
`Web browsers are software interfaces that
`run on World
`Wide Web clients to allow access to Web sites via
`browser allows Web client
`user interface.AWeb
`to request
`particular Web page from
`Web site by specifying
`Uniform Resource Locator URL URL is Web address
`the Web page and its location on the Web
`When
`the appropriate Web site receives the URL the Web
`page corresponding to the requested URL is located and if
`required I-ITML output
`is generated The I-ITML output
`then sent via HYFP 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
`number of problems The scope and ability of
`highlighted
`Web page designer to change the content of
`the Web page
`was limited by the static nature of Web pages Once created
`Web page remained static until
`it was manually modified
`This in turn limited the ability of Web site managers to
`effectively manage their Web sites
`Interface CGI standard was
`The Common Gateway
`resolve the problem of allowing
`dynamic
`developed
`to be included in Web pages CGI calls or proce
`dures enable
`created
`applications
`to generate dynamically
`HTML output
`thus creating Web pages with dynamic con
`tent Once 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
`data and to
`are used to dynamically
`retrieve the necessary
`Web page
`generate
`the ability of Web site
`also enhanced
`CGI applications
`to manage Web
`administrators
`sites Administrators no
`longer have to constantly update static Web pages.A number
`for CGI based
`of vendors
`have developed tools
`to address the issue of dynamic Web page
`development
`generation Companies like SpiderTM and BluestoneTM for
`tools for CGI
`example
`each created development
`have
`based Web
`Another
`company Haht
`page development
`SoftwarerM has developed Web page generation tool
`BASIC-like scripting
`language
`uses
`instead of
`scripting language
`
`that
`
`identifies
`
`to
`
`content
`
`simple
`
`is
`
`that
`CGI
`
`Petitioner IBM – Ex. 1004, p. 7
`
`

`
`US 6415335 B1
`
`system
`
`in
`
`display device
`
`invention is implemented on an IBMTM Personal
`the present
`Computer manufactured by IBM Corporation
`of Armonk
`New York An alternate embodiment may be implemented
`on an RSI6000TM Workstation manufactured by IBM Cor
`poration of Armook New York It will be apparent
`to those
`in the art
`of ordinary
`that other computer
`skill
`architectures may also be employed
`such computer systems as illustrated by FIG
`bus 101 for communicating
`information
`comprise
`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-only memory 104 coupled with the bus 101 fnr storing
`the processor 102
`static information
`and instructions for
`105 coupled with the bus 101 for displaying
`computer
`for
`device
`106
`an input
`user
`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
`data storage medium 108 containing
`and
`instructions
`information is configured to operate with mass stor
`age device 107 to allow processor 102 access to the digital
`on data storage medium 108 via bus 101
`information
`wide variety of general
`Processor 102 may be any of
`the Pen
`purpose processors or microprocessors
`such
`as
`tiumm microprocessor manufactured by lntelTM Corpora
`by IBM
`the RS/6000TM processor manufactured
`tion or
`to those of ordinary skill
`Corporation It will be apparent
`that other varieties of processors may also
`the art however
`be used in particular computer system Display device 105
`ray tube CRT or
`may be
`liquid crystal device cathode
`other suitable display device Mass storage device
`107 may
`be
`conventional
`disk drive
`hard disk drive floppy
`CD-ROM drive or other magnetic or optical data storage
`for reading and writing information stored on
`device
`hard
`CD-ROM
`floppy disk
`magnetic tape or other
`storage medium Data
`data
`magnetic or optical
`storage
`lioppy disk CD-ROM
`medium 108 may be
`hard disk
`magnetic tape or other magnetic or optical data storage
`medium
`In general processor 102 retrieves processing instructions
`and data from data storage medium 108 using mass storage
`and downloads
`this information into random
`device
`107
`
`In general
`
`information
`
`digital
`
`disk
`
`103 or
`
`Processor 102
`access memory
`103
`for execution
`then
`an instruction stream from random access memory
`executes
`read-only memory 104 Command selections and
`information
`106 are used to direct
`input device
`input at
`by processor 102 Equivalent
`flow of instructions executed
`106 may also be
`pointing device such
`input device
`conventional mouse or traekball device The results of this
`processing execution are then displayed on display device
`ins
`
`the
`
`a.s
`
`is
`
`into
`
`The preferred embodiment of the present
`invention
`software module which may be executed
`implemented as
`computer system such as computer system 100 in
`on
`conventional manner Using well known techniques
`the
`application software of the preferred embodiment
`is stored
`on data storage medium 108 and subsequently loaded
`and executed within computer system 100 Once initiated
`the software of the preferred embodiment operates in the
`manner described below
`FIG
`typical prior art Web server environ
`ment Web 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
`
`illustrates
`
`55
`
`60
`
`in
`
`is
`
`in
`
`If
`
`25
`
`If
`
`that perform the processing of Web client
`requests Each
`number of Web pages 2011n
`Web server may have
`and 2021n Depending on the URL specified by the \Veb
`client 200 the request may be routed by either Web server
`executable 201E to Web page 201
`for example or from
`Web server executable 202E to Web page 202
`Web
`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
`10 other locations within the same Web page
`FIG illustrates this prior art Web server environment
`flow diagram In processing block 300 the
`the form of
`Web client makes
`URL request This URL request
`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
`to the appropriate Web
`and in
`server
`the Web server executable examines
`processing block 306
`the URL to determine whether it
`is HTML document or
`20 CGI application
`is for an I-ITML document
`the request
`308 then the Web server executable locates the document
`processing block 310 The document
`is then transmitted
`through the requesting Web browser for formatting and
`back
`display in processing block 312
`the URL request
`is for CGI application 314 however
`the Web server executable locates
`the CGI application in
`processing block 316 The CGI application then executes
`and outputs HTML output
`and
`in processing block 318
`finally the HTML output
`is transmitted back
`to requesting
`30 Web 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
`increase Web
`and
`site management
`clients
`requests
`crucial need
`becomes
`large Web site may receive thousands of
`For example
`requests or hits in
`single day Current Web servers
`single machine namely
`40 process each of these requests
`on
`the Web server machine Although these machines may be
`running multi-threaded operating
`allow
`systems
`threads all
`transactions to be processed
`by independent
`single machine sharing
`the threads are nevertheless on
`45 processor As such the Web executable thread may hand off
`processing thread but both threads will
`request
`have to be handled by the processor on the Web
`server
`machine When numerous requests
`are being simultaneously
`single machine the Web
`processed by multiple threads on
`slow down significantly
`become
`server
`can
`and
`highly
`inefficient The claimed invention
`this need by
`architecture to facilitate the creation
`utilizing
`partitioned
`and management of custom Web sites and servers
`FIG
`one embodiment
`of
`the presently
`URL request that
`claimed invention Web client 200 issues
`determined
`is processed
`routing In this
`proper
`is routed to Web
`server 201
`embodiment
`the
`request
`server executable 201E processing the
`Instead of Web
`URL request
`400 intercepts
`however
`the
`Interceptor
`to Dispatcher 402 In one embodiment
`request and routes it
`400 resides on the Web server machine as an
`Interceptor
`extension to Web server 201 This embodiment
`is appropri
`ate for Web servers such as NetsiteTM from Netscape that
`number of public domain Web
`support such extensions
`as NCSATM from the Nalional Center
`such
`65 servers
`lhe University of Illinois
`Supereomputing Applications
`Urbana-Champaign
`however
`do not provide support
`
`to
`
`still
`
`that
`
`addresses
`
`illustrates
`
`to
`
`at
`
`for
`
`for
`
`Petitioner IBM – Ex. 1004, p. 8
`
`

`
`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 intermedi
`simple CGI application program that
`ate program can be
`Interceptor 400 to Web server 201 Alternate inter-
`connects
`mediate programs the perform the same functionality
`can
`also be implemented
`In one embodiment of
`402
`the invention Dispatcher
`different machine than Web server 201 This
`resides on
`embodiment overcomes the limitation described above in
`prior art Web servers wherein all processing is performer by
`single machine By routing the request
`the processor on
`to
`different machine than the Web
`Dispatcher 402 residing on
`server executable 201E the request can then be processed
`the Web
`different processor
`201E Web server executable 201E is thus free to con
`requests on Web server 201 while the
`tinue servicing client
`is processed off-line at
`the machine on which
`request
`Dispatcher 402 resides
`also reside on the same 20
`Dispatcher 402 can however
`machine as the Web server The Web site administrator has
`402
`on
`the same
`the option of configuring Dispatcher
`machine as Web server 201 taking into account
`variety of
`particular Web site such as the size of
`factors pertinent
`the Web site the number of Web pages and the number of
`the Web site Although
`this embodiment will not
`described above namely off-loading the
`enjoy the advantage
`processing of Web requests from the Web server machine
`small Web site
`the embodiment does allow flexibility
`for
`to grow For example small Web site administrator
`can use
`single machine for 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 regard
`less of whether the site has separate machines configured as
`Web servers and dispatchers
`Dispatcher 402 receives the intercepted request
`and then
`number of Page servers
`to one of
`dispatches the request
`
`by
`
`than
`
`server executable
`
`15
`
`to
`
`hits at
`
`404 ln For example if Page server 4041 receives the
`
`it processes the request and retrieves the
`dispatched request
`data from an appropriate data source such as data source
`406 data source 408 or data source 410 Data sources as
`used
`present application
`databases
`in the
`include
`and any other
`type of data repository
`spreadsheets files
`can retrieve data from more than one
`Page server 404
`data source and incorporate the data from these multiple data
`single Web page
`sources in
`each Page server 4041n resides
`In one embodiment
`separate machine on the network
`to distribute
`on
`processing of
`the request Dispatcher 402 maintains
`vari
`on the
`each Page server
`ety of
`information regarding
`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
`request Dispatcher 402
`to the
`then hands off the request
`appropriate Page server
`the URL request requires financial data
`For example if
`from data source 408 dispatcher 402 will
`first examine an
`list Dispatcher 402 may determine that Page
`information
`server 4043 for example has access to the requisite data
`thus route the URL
`in data source 408 Dispatcher 402 will
`to Page server 4043 This cunnection
`caching
`is described in mure detail below under
`the
`functionality
`heading Performance Alternately Dispatcher
`402
`
`the
`
`also
`
`request
`
`US 6415335 B1
`
`data cached
`
`has the ability to determine whether
`particular Page server
`already has the necessary
`in the Page servers
`in more detail below under
`cache
`the
`page
`described
`heading Performance Dispatcher 402 may thus deter
`mine that Page server 4041 and 4042 are both logged into
`that Page server 4042 has
`408 but
`Data
`source
`the
`information already cached in Page server 4042s
`financial
`page cache In this case Dispatcher 402 will route the URL
`to Page server 4042 to more efficiently process the
`request
`
`request
`
`10
`
`requests
`
`that
`
`request
`
`number or
`Finally Dispatcher 402 may determine that
`all Page servers 4041n are logged into Data source 408
`In this scenario Dispatcher 402 can examine the number of
`each Page server
`the
`is servicing and route
`to the least busy page server This load balancing
`increase
`capability can significantly
`performance at
`busy
`Web site and is discussed
`in more detail below under the
`heading Scalability
`for example Page server 4042 receives the request
`If
`Page server 4042 will process the request While Page
`server 4042 is processing the request Web server execut
`able 201E can
`process other Web
`concurrently
`requests This partitioned architecture thus allows both Page
`server 4042 and Web server executable 201E to simul
`different
`taneously
`thus
`increasing the
`process
`requests
`efficiency of the Web site Page server 4042 dynamically
`Web page in response
`to the Web client request
`generates
`and the dynamic Web page is then either transmitted back to
`requesting Web client 200 or stored on
`machine that
`to Web server 201 for
`accessible
`later retrieval
`One embodiment of the claimed invention also provides
`Web page designer with IITML extensions or dyna tags
`These dyna tags provide customized I-ITML functionality
`to
`Web page designer
`to allow the designer to build custom
`ized HTML templates that specify the source and placement
`data For example in one embodiment
`of
`retrieved
`clynatext HTML extension tag specifies
`data source
`and
`column name to allow the HTML template to identify the
`data source to log into and the column name from which to
`tags allow the
`retrieve data Alternatively dyna-anchor
`to build hyperlink queries while dynablock tags
`designer
`the designer with the ability
`provide
`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
`Web client 200 or stored
`on machine that
`is accessible
`Web server 201 for later retrieval
`The presently
`numerous
`claimed
`invention
`provides
`over prior art Web servers including advantages
`advantages
`in the areas of performance
`security extensibility and
`scalability
`
`client
`
`is
`
`to
`
`Performance
`
`illustrated
`
`One embodiment of the claimed invention utilizes con
`nection caching and page caching to improve performance
`Each Page server can be configured to maintain
`cache of
`to numerous data
`sources For example
`as
`connections
`in FIG Page server 4041 can retrieve data
`from data source 406 data source
`408 or data source 410
`Page server 4041 can maintain connection cache 412l
`406 data
`connections
`to each of data source
`containing
`and data source 410 thus eliminating connect
`source 408
`times from the Page servers to those data sources
`inven
`Additionally another embodiment of
`the present
`tion supports the caching of finished Web pages to optimize
`the performance of the data source being utilized This page
`
`65
`
`Petitioner IBM – Ex. 1004, p. 9
`
`

`
`US 6415335 Bi
`
`caching feature illustrated in FIG
`as Page cache 414
`allows the Web site administrator
`to optimize the perfor
`by caching Web
`mance
`of data
`sources
`pages
`repeatedly accessed Once the Web page is cached subse
`quent requests or hits will utilize the cached Web page
`than re-accessing the data source This can radically
`rather
`improve the performance of the data source
`
`that
`
`are
`
`or CICS
`environments
`as Visual Basic for client-server
`are OLE 2.0
`programs on mainframes If
`these applications
`the Page server dynaobject HTML extension
`compliant
`the application in an OLE
`tag can he used to encapsulated
`2.0 automation interface The Page server is thus extensible
`and can incorporate the existing application with the new
`Page server functionality
`
`Security
`
`Scalability
`
`The present invention allows the Web site administrator
`utilize 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
`In another embodiment
`the Page server
`server
`can be
`caches 4121n
`connection
`to bypass
`configured
`described above for
`particular data source
`and to require
`entry of
`user-supplied identification
`and password for
`data source
`the user is trying to access
`
`to
`
`the
`
`particular
`
`20
`
`25
`
`35
`
`40
`
`One embodiment of the claimed invention allows plug
`and play sealability As described above referring to FIG
`about all
`Dispatcher 402 maintains information
`the Page
`servers configured to be serviced by Dispatcher 402 Any
`number of Page servers can thus be plugged into the
`configuration illustrated in FIG
`and the Page servers will
`be instantly
`activated
`as
`the information
`is dynamically
`in Dispatcher 402 The Web site administrator
`updated
`can
`thus manage
`the overhead of each Page server and modify
`each Page servers load as necessary to improve perfor
`mance In this manner each Page server will cooperate with
`other Page servers within multi-server environment Dis
`patcher 402 can examine the load on each Page server and
`route new requests according to each Page servers available
`across multiple Page serv
`resources This load-balancing
`Web sites performance
`increase
`ers can significantly
`FIG illustrates the processing of Web browser request
`in the form of
`110w diagram according to one embodiment
`of the presently claimed invention AWeb
`browser sends
`URL request
`Web server in processing block 500 In
`processing block 502 the Web server
`receives the URL
`request and an interceptor
`then intercepts the handling of
`in processing block 504 The interceptor con
`the request
`the URL request
`nects
`and sends
`dispatcher
`in processing block 506 In processing block 508
`dispatcher
`the dispatcher determines which Page servers can handle the
`request The dispatcher also determines which Page server is
`processing the fewest requests in processing block 510 and
`the URL
`in processing block 512 the dispatcher
`sends
`The Page server
`Page server
`an appropriate
`the request and produces an HTML document
`receives
`in
`processing block 514 The Page server then responds to the
`the name of
`dispatcher with notification
`of
`the cached
`HTML document
`in processing block 516 In processing
`block 518 the dispatcher responds to the interceptor with the
`document
`name
`and
`the
`then
`the
`interceptor
`replaces
`requested URL with the newly generated HTML document
`in processing block 520 The Web server then sends the new
`HTML document
`in processing block
`to the requesting client
`522 Finally the Web browser
`and displays the
`HTML document created
`by the Page server at processing
`block 524
`
`to
`
`to
`
`to the
`
`request
`
`to
`
`receives
`
`method and apparatus for creating and managing
`Thus
`custom Web sites is disclosed These specific arrangements
`and methods described herein are merely illustrative of the
`ss principles of the present invention Numerous modifications
`inform and detail may be made by those of ordinary skill
`the art without
`from the scope of the present
`departing
`invention Although this invention has been shown in rela
`particular preferred embodiment
`it should not be
`tion to
`the present invention is lim
`considered so limited Rather
`claims
`ited only by the scope of the appended
`We claim
`for managing
`computer-implemented
`method
`dynamic Web page generation request to Web server said
`computer-implemented method comprising the steps of
`request from Web server to
`page server said
`receiving said
`and releasing said
`page server
`
`65
`
`routing
`
`request
`
`in
`
`embodiment
`
`the presently
`real-lime access
`of data
`
`of
`
`Additionally another
`claimed
`invention
`requires no
`sources The Web page
`enables
`additional
`security
`content
`publish non-interactive
`systems but do not want
`real-time Internet accessibility to
`information systems In this instance the Page
`those internal
`replication and staging agent and create
`server can act as
`than in real-time These rep
`Web pages in batches rather
`licated Web pages are then staged for access at
`time and access to the Web pages in this scenario is possible
`even if
`later
`the Page server and dispatcher are not present
`yet another embodiment the Page server can make
`Web library and compile
`Web site
`single pass through
`form of separately available
`that exists in the traditional
`collection of related Web books and
`Web library is
`Web pages More specifically the Web library is
`chical organization of Web document
`templates
`together
`with all
`the associated
`data source information Information
`about an entire Web site is thus contained in
`single physical
`file thus simplifying the problem of deploying Web sites
`across multiple Page servers The process of deploying the
`Web site in this embodiment
`simple copy of
`is essentially
`
`ability described above
`caching
`sites that want
`for those
`
`to
`
`from internal
`
`information
`
`later
`
`hierar
`
`In
`
`files
`
`single file
`
`Extensibility
`
`One embodiment of the present
`invention
`provides the
`Web site administrator with Object Linking and Embedding
`OLE 2.0 extensions to extend the page creation process
`These OLE 2.

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