`
`
`
`
`
`
`
`
`
`
`US 20040049574A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(19) United States
`
`
`
`
`
`
`
`
`
`(12) Patent Application Publication (10) Pub. No.: US 2004/0049574 A1
`
`
`
`
`
`(43) Pub. Date: Mar. 11, 2004
`
`Watson et al.
`
`
`
`
`
`
`
`(54)
`
`(76)
`
`
`
`
`
`(21)
`
`(22)
`
`(86)
`
`(30)
`
`
`
`
`
`
`
`
`
`WEB SERVER
`
`
`
`
`Publication Classification
`
`
`
`
`Inventors: Mark Alexander Watson, Farnham
`
`
`
`
`
`(GB); Jonathan Rhys Tyack Lewis,
`
`
`
`
`Winchester Hampshire (GB)
`
`
`
`
`
`
`(51)
`Int. Cl.7 ................................................... G06F 15/173
`
`
`
`
`
`(52) Use]. ......................... 709/224; 715/523; 715/526;
`
`
`
`
`
`
`709/246
`
`
`
`
`
`Correspondence Address:
`
`
`BLAKELY SOKOLOFF TAYLOR & ZAFMAN
`
`
`
`
`12400 WILSHIRE BOULEVARD, SEVENTH
`
`
`
`FLOOR
`
`LOS ANGELES, CA 90025 (US)
`
`
`
`
`
`
`
`
`
`
`Appl: No.:
`
`
`
`
`10/381,802
`
`
`
`PCT Filed:
`
`
`
`
`Sep. 24, 2001
`
`
`
`PCT No.:
`
`
`
`
`PCT/GB01/04235
`
`
`
`Foreign Application Priority Data
`
`
`
`
`
`
`Sep. 26, 2000
`
`
`
`
`
`(GB) ......................................... 00235705
`
`
`
`
`
`(57)
`
`ABSTRACT
`
`
`
`A web server (1) responds to a request message from a
`
`
`
`
`
`
`
`
`
`
`
`remote user device (2) by dynamically generating web page
`
`
`
`
`
`
`
`
`
`code capable of being interpreted by the user device. A
`
`
`
`
`
`
`
`
`
`
`device type identifier (45) is extracted from the request
`
`
`
`
`
`
`
`
`
`
`message and is input to a code generating engine (25) which
`
`
`
`
`
`
`
`
`
`
`
`interprets stored instructions for generating the web page
`
`
`
`
`
`
`
`
`code with reference to selected device dependent informa-
`
`
`
`
`
`
`
`tion corresponding to the device type identifier. The web
`
`
`
`
`
`
`
`
`page information is stored as a content document comprising
`
`
`
`
`
`
`
`a set of instructions written in a script language. The web
`
`
`
`
`
`
`
`
`
`
`server generates web pages in an appropriate form for each
`
`
`
`
`
`
`
`
`
`user device without the need to convert web pages from one
`
`
`
`
`
`
`
`
`
`
`form to another.
`
`
`
`
`
`
`
`
`
`
`
`
`SERWCE
`CENTRE
`
`
`
`
`
`
`5 G
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 1 of 48
`
`OOGLE EXHIBIT 101 1
`
`Page 1 of 48
`
`GOOGLE EXHIBIT 1011
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 1 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`SERVICE
`CENTRE
`
`
`
`
`5
`
`
`Fig 1
`
`
`
`
`
`WEB SERVER
`
`1
`
`
`
`
`WEB SERVER GUI
`
`
`4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 2 of 48
`
`Page 2 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 2 0f 27
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 2A
`
`
`
`WEB SERVER
`
`
`
`
`
`
`
`
`DATABASE
`
`
`1 9
`
`
`
`
`
`CONTENT CODE
`
`
`
`
`23
`
`
`22
`
`20
`
`
`
`CODE
`
`
`
`
`
`
`
`GENERATING
`DEVICE
`
`
`
`ENGINE
`DEPENDENT
`
`
`
`
`
`
`INFORMATION
`21
`
`25
`
`
`
`DEVICE
`
`
`
`OPERATIONAL
`
`IDENTIFICATION
`
`
`DATA
`
`
`
`ENGINE
`
`24
`
`
`
`
`29
`
`
`
`PROGRAM
`
`
`USER
`
`
`
`CODE
`
`IDENTIFIER
`
`
`
`
`26
`
`
`
`1 8
`
`
`
`
`INTERFACE
`27
`
`
`
`
`
`
`
`
`
`USER
`
`
`DEVICE
`
`
`2
`
`
`
`
`
`Page 3 of 48
`
`Page 3 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 3 0f 27
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 28
`
`
`
`WEB SERVER
`
`
`
`
`
`
`
`
`301
`
`
` WEB
`
`
`APPLICATION
`
`
`PROCESSOR
`
`
`302
`
`
`
`DOCU MENT
`DATABASE
`303
`
`
`
`
`
`
`
`POLICY TABLES
`
`
`40
`
`
`
`DEVICE
`
`
`
`CONTENT DATA
`
`
`
`
`
`STRUCTU RE 305
`
`
`
`
`
`
`
`IDENTIFICATION
`CODE
`
`
`
`
`ENGINE
`GENERATING
`
`
`ENGINE
`29
`
`
`
`21
`
`
`
`
`
`
`
`
`FRONT END PROCESSOR
`
`
`
`
`300
`
`
`
`
`USER
`
`DEVICE
`
`
`
`
`
`Page 4 of 48
`
`Page 4 of 48
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 4 0f 27
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 3
`
`
`
`
`POLICY TABLES
`
`
`
`40
`
`\
`
`
`DEVICE POLICY
`
`TABLE
`
`
`30
`
`
`
`
`
`PROTOCOL POLICY '
`
`TABLE
`
`31
`
`
`
`STYLE POLICY TABLE
`
`
`32
`
`
`
`
`
`
`THEMES POLICY
`
`TABLE
`
`
`33
`
`
`
`
`LAYOUTS POLICY
`
`TABLE
`
`
`35
`
`
`
`
`DYNAMIC POLICY
`
`TABLE
`
`
`36
`
`
`
`
`COMPONENT POLICY
`
`TABLE
`37
`
`
`
`
`Page 5 of 48
`
`Page 5 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 5 0f 27
`
`US 2004/0049574 A1
`
`
`
`
`
`
`
`Fig 4
`
`
`
`
`CODE GENERATING ENGINE OPERATION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CONTENT ODE
`
`DOCUMENT IN
`
`MARK UP
`
`LANGUAGE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DEVlCE ID
`
`45
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 6 of 48
`
`lIlll
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 6 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 6 0f 27
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 5B
`
`
`
`TV LAYOUT
`
`
`
`
`LARGE COLOUR LOGO
`
`
`
`
`
`PICTURE
`
`GREETING
`
`
`
`PROMOTIONS
`MENU
`
`
`
`
`
`
`
`
`
`
`
`Fig 5D
`
`
`
`WAP PHONE LAYOUT
`
`
`50
`
`
`
`
`
`
`
`
`
`
`51
`
`
`52
`
`
`
`53
`
`
`
`
`
`Fig 5A
`
`
`
`
`
`
`
`PC LAYOUT
`
`
`
`
`
`50
`
`
`
`
`LARGE COLOUR
`
`
`
`
`
`
`
`
`
`
`
`GREETING
`
`
`
`SITE
`
`MENU
`
`
`PROMOTION 1
`
`
`
`PROMOTION 2
`
`
`
`
`PROMOTION 3
`
`
`
`
`
`TICKER
`
`
`
`
`
`
`Fig 5c
`
`
`
`PDA LAYOUT
`
`
`
`
`MEDIUM BLACK ,.
`
`
`AND WHITE LOGO
`
`
`
`
`GREETING
`
`
`
`PROMOTIONS
`MENU
`
`
`
`
`SITE MENU
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 7 of 48
`
`Page 7 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 7 0f 27
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 5E
`
`
`
`
`Fig 5F
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`510
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 8 of 48
`
`Page 8 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 8 0f 27
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 6
`
`
`
`HEIRARCHY OF DEVICE POLICY TABLE
`
`
`
`
`
`
`
`ROOT DEVICE TYPE
`
`
`
`
`
`4/ 61
`
`
`
`m
`
`'
`
`\ x
`
`WAP
`pnoue
`\
`\
`
`\
`
`PALM ”Egg APPLE
`/
`\
`
`
`/
`
`
`_
`
`\\
`
`\
`
`\
`
`\
`‘
`\
`‘
`“
`\
`
`GAMES
`CONSOLE 4—“ 62
`
`
`x \ \
`
`\ \
`
`
`
`
`
`
`
`
`\
`
`
`
`<—-——’ 63
`
`
`
`MICROSOFT
`/
`
`
`
`
`
`
`
`
`
`
`\\
`
`
`
`\
`
`\
`
`\
`
`
`
`
`
`
`
`9—" 55
`
`
`
`CASIO m JORNADA
`
`Page 9 of 48
`
`Page 9 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 9 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 7
`
`
`
`SOFTWARE PROVIDED TO WEB SERVER
`
`
`
`
`
`
`
`WEB APPLICATION
`
`75
`
`
`
`
`POLICY TABLES
`
`40
`
`
`
`
`CODE GENERATING
`
`ENGINE
`
`
`
`
`
`21
`71
`
`SET OF TAGS
`
`
`70
`
`
`
`
`REPORTING ENGINE
`
`
`
`
`
`INTEGRATING
`ENGINE
`
`72
`
`
`
`
`
`
`OPERATIONS
`MANAGER
`
`73
`
`
`29
`
`POLICY OBJECT
`
`
`CREATION PROGRAM
`
`74
`
`
`
`
`DEVICE
`
`IDENTIFICATION
`ENGINE
`
`
`
`
`
`Page 10 of 48
`
`Page 10 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 10 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 8
`
`
`
`
`
`
`
`
`
`
`
`STORAGE
`
`MEDIUM
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 11 of 48
`
`Page 11 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 11 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 9
`
`
`
`
` DEVICE
`
`IDENTIFIER
`
`29
`
`
`
`
`
`
`
`PRESENTATION
`
`
`INFORMATION
`
`90
`
`
`
`
`
`
`
`
` CODE
`
`
`GENERATING
`
`
`
`
`ENGINE
`
`
`21
`
`
`
`
`
`CONTENT
`
`
`CODE
`
`23
`
`
`Page 12 of 48
`
`Page 12 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 12 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`Fig 10
`SERVICE
`
`
`CENTRE
`
`5
`
`
`
`
`
`
`
`
`
`
`
`
`
`PRODUCTION
`DEVELOPMENT
`
`
`
`SERVER
`SERVER
`
`
`
`
`
`1 00
`
`101
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`PROBE SITE
`
`105
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 13 of 48
`
`Page 13 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 13 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 11
`
`
`
`PRODUCTION
`
`
`100
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CENTRE
`PR°?E5S‘TE
`SERVER l
`
`SERVICE
`
`
`
`
`
`5
`
`
`
`
`
`
`
`
`
`__-.I'mMREDI RECT ‘l 1 6
`
`
`
`
`
`
`
`
`
`113
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`TEMPORARY UPDATE 119 __
`
`
`
`
`
`
`
`WEB PAGE CODE 120
`
`
`
`
`
`
`
`
`
`
`
`
`Page 14 of 48
`
`Page 14 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 14 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 12
`
`
`
`WEB PAGE SERVER WITH CACHE
`
`
`
`
`MEMORY
`
`
`
`
`
`
`
`
`DYNAMIC WEB PAGE
`
`
`SERVER
`
`123
`
`
`
`
`
`.
`
`
`
`
`
`
`
`
`
`
`
`
`
`N
`CONTE T
`E
`COD
`
`2
`3
`1
`
`
`
`
`
`1 21
`
`CACHED WEB
`PAG ES
`
`CACHE
`1 20
`
`
`
`
`
`GATEWAY SERVER
`
`
`
`
`
`
`
`
`
`
`
`
`Page 15 of 48
`
`Page 15 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 15 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 1 3
`
`
`
`
`
`GATEWAY SERVER PROCESSING
`
`
`
`130
`
`
`
`
`
`
`RECEIVE URL
`
`REQUEST,
`
`
`IDENTIFY ID AND
`
`
`WEB PAGE
`
`
`
`
`
`
`
`
`
`
`
`
`131
`-VA|LABLE l
`
`
`
`RETRIEVE STATIC
`
`
`
`
`
`WEB PAGE CODE
`
`
`FROM CACHE
`
`
`
`133
`
`
`
`
`
`
`REQUEST
`
`
`DYNAMIC PAGE
`
`GENERATION
`
`
`
`
`
`
`134
`
`
`
`
`RECEIVE WEB
`
`
`PAGE CODE
`
`
`
`135
`
`
`
`
`OUTPUT WEB
`
`
`
`PAGE CODE
`
`Page 16 of 48
`
`Page 16 of 48
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 16 0f 27
`
`
`
`
`
`
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 14
`
`
`
`
`
`
`DYNAMIC WEB PAGE SERVER
`
`PROCESSING
`
`
`
`
`
`142
`
`140
`
`
`
`141
`
`
`
`
`
`
`-" RECEIVE WEB PAGE
`
`
`
`
`REQUEST AND DEVICE ID
`
`
`
`
`RETRIEVE
`
`CONTENT CODE
`
`
`
`
`
`
`
`GENERATE WEB
`
`PAGE
`
`
`
`NO
`
`
`
`143
`
`
`
`AN PAGE B
`CACHED
`
`
`
`144
`
`
`
`
`
` ADD METADATA
`
`
`
`
`
`145
`
`
`
`
`
`OUTPUT WEB PAGE
`\
`CODE TO CACHE
`
`
`
`
`
`
`
`
`
`
`
`
`. OUTPUT WEB PAGE
`
`
`
`CODE TO GATEWAY
`
`146
`
`
`
`Page 17 of 48
`
`Page 17 of 48
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 17 0f 27
`
`
`
`
`
`
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 15
`
`
`
`
`
`
`
`DATA SELECTION USING A
`
`
`COMPONENT LOGIC SOFTWARE
`
`MODULE
`
`
`
`
`COMPONENT LOGIC
`
`
`
`
`SOFTWARE MODULE
`
`
`
`
`150
`
`
`
`
`
`
`
`
`
`
`DATA OBJECT
`
`
`VERSIONS
`
`
`
`
`
`CODE
`
`GENERATING
`ENGINE
`
`21
`
`
`Page 18 of 48
`
`Page 18 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 18 0f 27
`
`
`
`US 2004/0049574 Al
`
`
`
`F'
`'9
`
`
`
`1 6
`
`
`
`ACCESSING DATA DURING CODE
`
`
`
`GENERATION
`
`
`
`
`
`
`INPUT DOCUMENT CODE
`
`
`
`
`
`
`
`START TO GENERATE
`
`
`
`WEB PAGE CODE FROM
`
`
`
`DOCUMENT CODE
`
`
`
`
`
`
`
`
`
`
`
`
`161
`
`
`
`
`
`
`
`167
`
`
`
`TRY TO IMPORT
`
`
`
`
`
`- NY REMAININ
`NO
`
`
`AUTHOR DEFINED
`DATA OBJECTS TO
`
`
`VERSION OF DATA
`
`
`
`
`
`BE IMPORTED
`OBJECT
`
`
`COMPLETE WEB
`
`PAGE CODE
`
`
`GENERATION
`
`
`
`
`
`168
`
`
`
`
`
`
`
`OUTPUT WEB
`
`
`
`
`
`PAGE CODE
`
`
`
`
`
`USE COMPONENT LOGIC
`
`
`
`SOFTWARE MODULE TO
`
`
`
`SELECT VERSION OF DATA
`
`
`
`OBJECT
`
`
`
`
`Page 19 of 48
`
`Page 19 of 48
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 19 0f 27
`
`
`
`
`
`
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Flg 17
`
`
`
`HEIRARCHY OF DATA OBJECTS WHICH
`
`
`
`
`
`
`
`
`
`ARE DIFFERENT VERSIONS OF DATA
`
`
`
`
`REFERENCED BY A SINGLE
`
`
`COMPONENT NAME
`
`
`
`
`
`17-2
`
`COMPONENT
`NAME
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`176
`
`
`
`174
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`~
`
`
`.
`
`
`171
`
`
`
`
`
`Page 20 of 48
`
`Page 20 of 48
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 20 0f 27
`
`
`
`
`
`
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 18
`
`
`
`HEIRARCHY 0F TEXT OBJECTS WHICH
`
`
`
`
`ARE DIFFERENT VERSIONS OF DATA
`
`
`
`
`
`REFERENCED BY A SINGLE
`
`
`
`
`COMPONENT NAME AND BY A
`
`
`
`
`
`LANGUAGE ID
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 21 of 48
`
`Page 21 of 48
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 21 0f 27
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 19
`
`
`
`WEB SERVER
`
`
`
`
`GUI
`
`
`
`
`
`
`
`
`
`DATABASE
`
`
`POLICY TABLES
`
`
`
`
`
`CONTENT DATA
`
`
`
`STRUCTURE
`
`
`
`
`
`
`
`DEVICE
`
`POLICY
`
`TABLE
`
`30
`
`
`
`WEB
`_
`
`APPLICATION
`
`
`PROCESSOR
`
`DEVICE
`
`
`
`CODE
`
`
`IDENTIFICATION
`
`
`
`GENERATING
`
`
`ENGINE
`
`
`
`ENGINE
`
`
`29
`
`
`21
`
`
`
`
`
`
`
` PANE
`
`DISSECTOR
`
`
`190
`
`
`
`
`
`BUFFER
`191
`
`
`
`
`FRONT END PROCESSOR
`
`
`1 90
`
`
`
`
`USER
`
`DEVICE
`
`
`
`
`
`Page 22 of 48
`
`Page 22 of 48
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 22 0f 27
`
`
`
`
`
`
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`
`
`Fig 20
`
`DISECTING PANES
`
`
`
`
`
`200
`
`201
`
`
`202
`
`
`
`
`
`
`
`
`GENERATE CODE BASED ON DEVICE
`
`
`
`ID AND REQUEST
`
`
`
`
`
`
`MEASURE AMOUNT OF CODE
`
`GENERATED
`
`
`
`
`
`
`
`LOOK UP DEVICE DATA CAPACITY
`
`
`
`NO
`
` IS CODE LESS
`
`THAN CAPACITY
`
`
`
`205
`
`
`
`
`DISSECT CODE
`
`
`
`
`
`
`
`
`
`
`‘
`OUTPUT CODE
`
`WITHOUT DISSECTING
`
`
`
`
`
`
`
`STORE SHARDS OF
`
`
`DIVIDED PANE
`
`
`
`
`
`OUTPUT ONE
`
`SHARD
`
`
`
`
`
`2°3
`
`204
`
`
`
`Page 23 of 48
`
`Page 23 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 23 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`Fig 21
`
`
`DISSECTiNG PANES
`
`
`
`210
`
`
`
`
`
`
`
`
`
`
`
`SHARDS
`
`
`
`
`211
`
`
`
`
`
`
`C
`
`
`
`E
`
`
`
`
`
`
`
`
`
`
`
`213
`
`
`
`.
`
`
`
`215
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 24 of 48
`
`Page 24 of 48
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 24 0f 27
`
`
`
`
`
`
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`
`Fig 22
`
`
`
`
`SESSION MEMORY
`
`
`
`
`
`SESSION MEMORY
`
`220
`
`
`
`
`
`
`FRONT END
`
`
`PROCESSOR
`
`
`190
`
`
`
`BUF R
`FE
`
`191
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 25 of 48
`
`Page 25 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 25 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 23
`
`
`
`
`DISECTING FORMS
`
`
`
`231
`
`
`
`230
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`236
`
`231
`
`
`
`232
`
`
`
`233
`
`
`
`
`234
`
`
`
`
`
`235
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`F
`
`
`
`237
`
`
`
`238
`
`
`
`Page 26 of 48
`
`Page 26 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 26 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`Fig 24
`
`
`
`AUTHORING
`
`
`
`
`
`
`23
`
`
`
`
`
`
`
`INFORMATION AUTHORING
`
`DOCUMENTS
`
`
`
`
`SUITE
`OF WEB PAGE
`
`
`
`
`
`240
`
`
`
`
`
`
`
`
`DATA
`
`
`
`
`CONVERTER
`
`
`
`
`241 ~
`
`
`DATABASE
`
`1 9
`
`
`
`
`
`
`
`
`
`
`
`FILE MANAGER
`
`
`
`
`
`
`242
`
`
`
`
`
`
`
`
`
`
`
`
`
`: I
`
`DEVICE POLICY
`
`
`TABLE
`
`30
`
`
`Page 27 of 48
`
`Page 27 of 48
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 11, 2004 Sheet 27 0f 27
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`Fig 25
`
`
`FILE STORAGE
`
`
`
`
`
`
`
`RECEIVE FILE- CONTAINING DATA
`
`
`
`
`FOR STORAGE AS DATA OBJECT
`
`
`
`
`
`
`
`
`
`
`DETERMINE TYPE OF DATA
`
`
`
`
`
`
`
`
`
`REFER TO DEVICE POLICY TABLE TO
`
`
`
`
`
`DETERMINE LIST OF DATA FORMATS
`
`REQUIRED
`
`
`GENERATE FOR EACH FORMAT A
`
`
`
`
`
`
`
`CONVERTED FILE
`
`
`
`
`
`
`
`”STORE FILES IN DATA STRUCTURE
`
`
`
`
`
`
`
`250
`
`
`25"
`
`
`
`
`
`
`
`
`252
`
`
`253
`
`254
`
`
`
`Page 28 of 48
`
`Page 28 of 48
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`Mar. 11, 2004
`
`
`
`
`
`WEB SERVER
`
`
`[0001] This invention relates to web servers and in par-
`
`
`
`
`
`
`
`
`
`ticular but not exclusively to a web server for responding to
`
`
`
`
`
`
`
`
`
`
`
`request messages received via the internet from remote user
`
`
`
`
`
`
`
`
`
`devices and to a web server capable of responding with web
`
`
`
`
`
`
`
`
`
`
`
`page code tailored to meet the capabilities of the remote user
`
`
`
`
`
`
`
`
`
`
`
`device.
`
`[0002] The use of the internet has recently flourished to
`
`
`
`
`
`
`
`
`
`
`the extent where almost every business concern has its own
`
`
`
`
`
`
`
`
`
`
`website to provide information and online purchasing facili-
`
`
`
`
`
`
`
`'lhe majority of such websites have in the past been
`ties.
`
`
`
`
`
`
`
`
`
`
`
`accessed by remote user devices which are PCs (Personal
`
`
`
`
`
`
`
`
`
`Computers) using one of a relatively small number of
`
`
`
`
`
`
`
`
`
`available browser applications so that, by and large,
`the
`
`
`
`
`
`
`
`
`
`websites were required to output web page code in a single
`
`
`
`
`
`
`
`
`
`
`
`format for viewing at the user device.
`
`
`
`
`
`
`
`
`
`
`
`[0003] More recently, there has been a proliferation in new
`
`
`
`
`
`
`
`
`internet enabled devices such as PDAs (Personal Digital
`
`
`
`
`
`
`
`Assistants), mobile telephones with WAP (Wireless Appli-
`
`
`
`
`
`
`cation Protocol) facilities, IDTV (Interactive Digital Tele—
`
`
`
`
`
`
`vision),
`information kiosks, games, consoles and home
`
`
`
`
`
`
`appliances. The capabilities of these devices vary consider-
`
`
`
`
`
`
`
`ably from device to device, both in their display function in
`
`
`
`
`
`
`
`
`
`
`terms of screen size and colour processing ability, bandwidth
`
`
`
`
`
`
`
`
`and available memory as well as variables associated with
`
`
`
`
`
`
`
`
`communication including image format, communication
`
`
`
`
`protocol and markup language.
`
`
`
`
`
`
`
`
`
`
`
`
`[0004]
`In order to enable users of these different devices to
`
`
`
`
`
`
`
`
`
`
`
`access their websites, many businesses have resorted to
`
`
`
`
`
`
`
`
`building separate web servers to serve each device type. This
`
`
`
`
`
`
`
`
`
`
`however creates data management problems where a cus-
`
`
`
`
`
`
`
`tomer may wish to have the option of using different devices
`
`
`
`
`
`
`
`
`
`
`to communicate with the merchant using the same account
`
`
`
`
`
`
`
`
`details for example, the merchant then requiring a prolif—
`
`
`
`
`
`
`
`
`eration of different web server applications to be managed
`
`
`
`
`
`
`
`
`
`and updated when required with new or additional material.
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0005] An alternative approach has been to provide a
`
`
`
`
`
`
`
`
`
`separate port of a website for access by an alternative type
`
`
`
`
`
`
`
`
`
`
`of user device, the separate port obtaining the required web
`
`
`
`
`
`
`
`
`
`
`page code by translating the original PC based web page
`
`
`
`
`
`
`
`
`
`
`code, typically in HyperText Markup Language (HTML)
`
`
`
`
`
`
`
`format, to other device formats such as Wireless Markup
`
`
`
`
`
`
`
`
`
`Language (WML) used for WAP telephones. Such solutions
`
`
`
`
`
`
`
`
`however generally have failed to deliver optimum presen-
`
`
`
`
`
`
`
`tation to the user of the device. The translating process (often
`
`
`
`
`
`
`
`
`
`
`
`referred to as “transcoding”) is difficult
`to engineer. For
`
`
`
`
`
`
`
`
`
`example, it is necessary to provide appropriate selection of
`
`
`
`
`
`
`
`
`
`information which is to be omitted from display in the
`
`
`
`
`
`
`
`
`
`
`device having lower capabilities than the PC. This difficulty
`
`
`
`
`
`
`
`
`
`is compounded when it is necessary to update the original
`
`
`
`
`
`
`
`
`
`
`PC web page code because the transcoding process must
`
`
`
`
`
`
`
`
`
`also be reengineered.
`
`
`
`[0006]
`It has also been proposed that the protocols used
`
`
`
`
`
`
`
`
`
`for accessing web page information over the internet should
`
`
`
`
`
`
`
`
`be unified by the adoption of standards in order to overcome
`
`
`
`
`
`
`
`
`
`
`problems resulting from remote user devices having differ—
`
`
`
`
`
`
`
`ent capabilities. The use of Extensible Markup Language
`
`
`
`
`
`
`
`
`(XML) as a format for web page code has been proposed.
`
`
`
`
`
`
`
`
`
`
`
`XML is a mark-up language for defining content and can be
`
`
`
`
`
`
`
`
`
`
`used with XSL (Extensible Stylesheets Language) used to
`
`
`
`
`
`
`
`
`transform XML documents with style sheets at the point of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 29 of 48
`
`presentation. As yet however, such standards have not been
`
`
`
`
`
`
`
`
`adopted and this solution is not seen as optimum for all
`
`
`
`
`
`
`
`
`
`
`device types.
`
`
`an
`to provide
`invention seeks
`[0007] The present
`
`
`
`
`
`
`
`
`improved web server with multi-channel capabilities able to
`
`
`
`
`
`
`
`
`serve different types of remote user device.
`
`
`
`
`
`
`
`
`
`
`
`[0008] According to the present invention there is dis-
`
`
`
`
`
`
`
`
`closed an apparatus for responding to a request message
`
`
`
`
`
`
`
`
`
`from a remote user device for web page information by
`
`
`
`
`
`
`
`
`
`
`generating web page code representative of one or more web
`
`
`
`
`
`
`
`
`
`
`pages to be displayed by the user device and outputting a
`
`
`
`
`
`
`
`
`
`
`
`response message comprising the web page code.
`
`
`
`
`
`
`
`
`apparatus comprises extracting
`[0009] Preferably the
`
`
`
`
`
`
`me ans for extracting from the request message a device type
`
`
`
`
`
`
`
`
`
`identifier identifying the remote user device as being one of
`
`
`
`
`
`
`
`
`
`
`a set of possible device types having different capabilities.
`
`
`
`
`
`
`
`
`
`
`[0010] The apparatus preferably has a processor for oper—
`
`
`
`
`
`
`
`
`ating a code generating engine to generate the web page
`
`
`
`
`
`
`
`
`
`code, first memory means for storing the web page infor-
`
`
`
`
`
`
`
`
`
`mation as a set of instructions, and second memory means
`
`
`
`
`
`
`
`
`
`
`for storing device dependent information for each of the
`
`
`
`
`
`
`
`
`
`dilferent device types for tailoring the web page code to the
`
`
`
`
`
`
`
`
`
`
`
`capabilities of the device type.
`
`
`
`
`
`
`
`
`[0011] The code generating engine preferably comprises
`
`
`
`
`
`
`interpreting means for interpreting the instructions with
`
`
`
`
`
`
`reference to selected device dependent information corre-
`
`
`
`
`
`
`sponding to the device type identifier, the code generating
`
`
`
`
`
`
`
`
`me ans thereby being operable to generate the web page code
`
`
`
`
`
`
`
`
`
`in a form in which the web page code is tailored to the
`
`
`
`
`
`
`
`
`
`
`
`
`capabilities of the remote user device.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0012] Preferred embodiments of the present invention
`
`
`
`
`
`
`will now be described by way of example only and with
`
`
`
`
`
`
`
`
`
`
`reference to the accompanying drawings of which:
`
`
`
`
`
`
`
`
`
`
`
`[0013] FIG. 1 is a schematic overview of connection
`
`
`
`
`
`
`
`
`between a web server and remote user devices;
`
`
`
`
`
`
`
`
`
`
`
`[0014] FIG. 2A is a schematic diagram of the web server
`
`
`
`
`
`
`
`
`
`
`of FIG. 1;
`
`
`
`[0015] FIG. 2B is a functional diagram for illustrating
`
`
`
`
`
`
`
`
`signal flow in the web server of FIG. 2A;
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0016] FIG. 3 is a schematic diagram of policy tables for
`
`
`
`
`
`
`
`
`
`
`
`use with the web server of FIG. 2;
`
`
`
`
`
`
`
`
`[0017] FIG. 4 is a schematic diagram illustrating opera-
`
`
`
`
`
`
`
`
`tion of the code generating engine;
`
`
`
`
`
`
`
`[0018] FIG. 5A illustrates a layout for a PC;
`
`
`
`
`
`
`
`
`[0019] FIG. 5B illustrates a layout for a television;
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0020] FIG. 5C illustrates a layout for a PDA;
`
`
`
`
`
`
`
`
`[0021] FIG. 5D illustrates a layout for a WAP telephone;
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0022] FIG. 5E illustrates layout for a device having a
`
`
`
`
`
`
`
`
`
`large screen;
`
`
`
`
`
`[0023] FIG. 5F illustrates the display of fragments in a
`
`
`
`
`
`
`
`
`
`device having a small screen;
`
`
`
`
`
`
`
`
`[0024] FIG. 5G illustrates a multi-menu structure in a
`
`
`
`
`
`
`
`
`large screen device;
`
`
`
`
`
`
`Page 29 of 48
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`Mar. 11, 2004
`
`
`
`
`
`
`
`
`
`[0025] FIG. 5H illustrates the relationship between con-
`
`
`
`
`
`
`
`trol segments and content segments in the layout of FIG.
`
`
`
`
`
`
`
`
`
`
`5G;
`
`[0026] FIG. 6 illustrates the hierarchy of a device policy
`
`
`
`
`
`
`
`
`tablc;
`
`[0027] FIG. 7 illustrates schematically the software pro-
`
`
`
`
`
`
`
`vided to the web server;
`
`
`
`
`
`[0028] FIG. 8 illustrates schematically the hardware
`
`
`
`
`
`
`rcquircd by thc wcb scrvcr;
`
`
`
`
`
`[0029] FIG. 9 illustrates schematically the separation of
`
`
`
`
`
`
`
`
`content code and presentation of information for use by the
`
`
`
`
`
`
`
`
`
`
`code generating engine;
`
`
`
`[0030] FIG. 10 illustrates schematically a system com-
`
`
`
`
`
`
`
`prising a production server and a development server;
`
`
`
`
`
`
`
`
`[0031] FIG. 11 illustrates the exchange of signals in the
`
`
`
`
`
`
`
`
`
`
`system of FIG. 10 when a new type of user device is
`
`
`
`
`
`
`
`
`
`
`
`
`encountered for the first time;
`
`
`
`
`
`[0032] FIG. 12 illustrates schematically a server having a
`
`
`
`
`
`
`
`
`cache memory;
`
`
`[0033] FIG. 13 is a flowchart illustrating the method of
`
`
`
`
`
`
`
`
`
`operation of a gateway server of FIG. 12;
`
`
`
`
`
`
`
`[0034] FIG. 14 is a flowchart illustrating operation of a
`
`
`
`
`
`
`
`
`
`dynamic web page server of FIG. 12;
`
`
`
`
`
`
`
`[0035] FIG. 15 is a schematic diagram illustrating a
`
`
`
`
`
`
`
`
`component logic software module;
`
`
`
`
`[0036] FIG. 16 is a flowchart illustrating operation of
`
`
`
`
`
`
`
`
`code generation using the component logic software mod-
`
`
`
`
`
`
`
`ule;
`
`[0037] FIG. 17 is a diagram illustrating the hierarchy of
`
`
`
`
`
`
`
`
`
`
`data objccts which are diffcrcnt vcrsions of data rcfcrcnccd
`
`
`
`
`
`
`
`
`
`by a single component name;
`
`
`
`
`
`[0038] FIG. 18 illustrates the hierarchy of text objects
`
`
`
`
`
`
`
`
`with different text code sizes and languages;
`
`
`
`
`
`
`
`[0039] FIG. 19 illustratcs the signal flow in a wcb scrvcr
`
`
`
`
`
`
`
`
`
`
`in which pane dissection occurs;
`
`
`
`
`
`[0040] FIG. 20 is a flowchart illustrating pane dissection;
`
`
`
`
`
`
`
`
`[0041] FIG. 21 illustrates the dissection of a pane into
`
`
`
`
`
`
`
`
`
`shards;
`
`[0042] FIG. 22 illustrates use of a user session memory
`
`
`
`
`
`
`
`
`
`during form filling;
`
`
`
`[0043] FIG. 23 illustrates the dissection of a pane used in
`
`
`
`
`
`
`
`
`
`form filling;
`
`
`[0044] FIG. 24 illustrates the function of the graphical
`
`
`
`
`
`
`
`
`user interface; and
`
`
`
`[0045] FIG. 25 is a flowchart illustrating a method of file
`
`
`
`
`
`
`
`
`
`
`
`storagc.
`
`illustrates a web server 1 connected to
`[0046] FIG. 1
`
`
`
`
`
`
`
`
`
`
`remote user devices 2 via the internet 3. The remote user
`
`
`
`
`
`
`
`
`
`
`
`devices are illustrated to be a PC, television, PDA, and a
`
`
`
`
`
`
`
`
`
`
`
`mobilc tclcphonc with WAP facility but can includc any
`
`
`
`
`
`
`
`
`
`number of different devices with internet capability. The
`
`
`
`
`
`
`
`
`web server 1 is provided with a web server GUI (Graphical
`
`
`
`
`
`
`
`
`
`
`
`User Interface) 4 enabling an operator of the web server to
`
`
`
`
`
`
`
`
`
`
`
`author documents and generally control and maintain opera—
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tion of the web server. The web server 1 is also connected
`
`
`
`
`
`
`
`
`
`
`
`
`via the internet 3 to a service centre 5 which acquires
`
`
`
`
`
`
`
`
`
`
`
`information concerning any new types of user device and
`
`
`
`
`
`
`
`
`
`provides the web server 1 with consequential software
`
`
`
`
`
`
`
`
`revision when required.
`
`
`
`[0047] FIG. 2A is a simplified schematic diagram of the
`
`
`
`
`
`
`
`
`
`
`wcb server 1 of FIG. 1. Thc wcb scrvcr 1 includcs a
`
`
`
`
`
`
`
`
`
`
`
`
`processor 20 which operates a code generating engine 21 in
`
`
`
`
`
`
`
`
`
`
`the form of an application which is run by the processor on
`
`
`
`
`
`
`
`
`
`
`
`
`demand in order to generate web page code. The code
`
`
`
`
`
`
`
`
`
`
`generating engine 21 in this embodiment is written in the
`
`
`
`
`
`
`
`
`
`
`Java programming language and during operation of the web
`
`
`
`
`
`
`
`
`
`server exists in the working memory of the processor 20 in
`
`
`
`
`
`
`
`
`
`
`
`compiled form as byte codes and is implementable within a
`
`
`
`
`
`
`
`
`
`
`Java run time environment.
`
`
`
`
`[0048] A memory 22 stores content code 23 which defines
`
`
`
`
`
`
`
`
`
`
`web page information in the form of documents written in a
`
`
`
`
`
`
`
`
`
`
`
`mark up language which in the present example is JSPI. 1
`
`
`
`
`
`
`
`
`
`
`
`(Java Scrvcr Pagcs). Thcsc documcnts are typically authorcd
`
`
`
`
`
`
`
`
`by the operator of the web server 1 using the graphical user
`
`
`
`
`
`
`
`
`
`
`
`
`interface 4. The memory 22 also stores operational data 24
`
`
`
`
`
`
`
`
`
`
`which includes for example data which may need to be
`
`
`
`
`
`
`
`
`
`
`incorporated into web page code generated at run time in
`
`
`
`
`
`
`
`
`
`
`response to specific queries originating from the user device
`
`
`
`
`
`
`
`
`
`2 and data acquired by monitoring usage of the web server.
`
`
`
`
`
`
`
`
`
`
`
`Data objects referenced by the content code 23 are stored in
`
`
`
`
`
`
`
`
`
`
`
`a database 19. These data objects may include files contain-
`
`
`
`
`
`
`
`
`
`ing images or text and other forms of data objects which an
`
`
`
`
`
`
`
`
`
`
`
`
`author may wish to include in the web page code to be
`
`
`
`
`
`
`
`
`
`
`
`
`generated.
`
`[0049] Device dependent information 25 is also stored in
`
`
`
`
`
`
`
`
`
`memory 22 and consists primarily of policy tables described
`
`
`
`
`
`
`
`
`
`below. The memory 22 also stores program code 26 which
`
`
`
`
`
`
`
`
`
`
`may be accessed by the processor 20 during operation of the
`
`
`
`
`
`
`
`
`
`
`
`server 1 or used to retrieve software such as the code
`
`
`
`
`
`
`
`
`
`
`
`generating engine 21 at the time of startup. The program
`
`
`
`
`
`
`
`
`
`
`code 26 also includes code defining a set of tags used in a
`
`
`
`
`
`
`
`
`
`
`
`
`
`mark up language in which the documents are authored as
`
`
`
`
`
`
`
`
`
`
`described below.
`
`
`[0050] An interface 27 communicates between a databus
`
`
`
`
`
`
`
`28 serving the processor 20 and memory 22 and external
`
`
`
`
`
`
`
`
`
`connection to the internet 3 for receiving request messages
`
`
`
`
`
`
`
`
`and transmitting response messages.
`
`
`
`
`[0051] A device identification engine 29 is provided for
`
`
`
`
`
`
`
`
`
`extracting from received messages a device type identifier
`
`
`
`
`
`
`
`
`for identifying the remote user device 2 by type. The device
`
`
`
`
`
`
`
`
`
`
`
`identification engine 29 in the present example is imple-
`
`
`
`
`
`
`
`
`mented in software by the processor 20. In this example, a
`
`
`
`
`
`
`
`
`
`
`request message received via the internet contains a Hyper-
`
`
`
`
`
`
`
`
`Text Transfer Protocol (HTTP) header which includes an 1D
`
`
`
`
`
`
`
`
`
`string declaring the name of the user agent which the
`
`
`
`
`
`
`
`
`
`
`originating device has used when generating the request
`
`
`
`
`
`
`
`
`message. The name of the user agent software defines for
`
`
`
`
`
`
`
`
`
`
`example the browser version and markup language capabil-
`
`
`
`
`
`
`
`ity of the device and is used by the device identification
`
`
`
`
`
`
`
`
`
`
`engine 29 to identify the originating device using the device
`
`
`
`
`
`
`
`
`
`type identifier which may for example be stored as a lookup
`
`
`
`
`
`
`
`
`
`
`table.
`
`[0052] Thc HTTP hcadcr may also yield information con-
`
`
`
`
`
`
`
`
`tained in a cookie regarding details of the user who has
`
`
`
`
`
`
`
`
`
`
`originated the request message. Such cookies may contain
`
`
`
`
`
`
`
`other data used for personalisation of the response made by
`
`
`
`
`
`
`
`
`
`the web server 1.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 30 of 48
`
`Page 30 of 48
`
`
`
`
`
`US 2004/0049574 A1
`
`
`
`
`
`Mar. 11, 2004
`
`
`
`
`
`[0053] FIG. 2B is a further illustration of the web server
`
`
`
`
`
`
`
`
`
`
`
`1 showing functional elements in a manner which illustrates
`
`
`
`
`
`
`
`
`
`the signal
`flow. A front end processor 300 provides a
`
`
`
`
`
`
`
`
`
`
`communications interface for request messages received
`
`
`
`
`
`
`from the internet 3 and response messages transmitted to the
`
`
`
`
`
`
`
`
`
`user device 2 Via the internet. The front end processor 300
`
`
`
`
`
`
`
`
`
`
`
`sends URL information 301 to a web application processor
`
`
`
`
`
`
`
`
`
`302 which determines from the URL the appropriate infor-
`
`
`
`
`
`
`
`
`mation to be included in a web page requested by the user.
`
`
`
`
`
`
`
`
`
`
`
`
`The web application processor 302 has access to a database
`
`
`
`
`
`
`
`
`
`
`303 which may be local to the processor or may be at a
`
`
`
`
`
`
`
`
`
`
`
`
`
`remote location which is accessible via an appropriate
`
`
`
`
`
`
`
`
`communications link.
`
`
`
`[0054] The web application processor 302 outputs a docu-
`
`
`
`
`
`
`
`ment 304 comprising instructions for generating web page
`
`
`
`
`
`
`
`code. The document 304 is not
`itself capable of being
`
`
`
`
`
`
`
`
`
`interpreted by a browser of a user device and therefore does
`
`
`
`
`
`
`
`
`not constitute “web page code” for the purpose of the present
`
`
`
`
`
`
`
`
`
`
`description.
`
`
`
`
`
`
`
`[0055] The document 304 is input to the code generating
`
`
`
`
`
`
`
`
`
`
`engine 21 which generates web page code with reference to
`
`
`
`
`
`
`
`
`
`
`content data structure 305 and the set of policy tables 40.
`
`
`
`
`
`
`
`
`
`
`
`The output of the code generating engine is a web page code
`
`
`
`
`
`
`
`
`
`
`
`document 306 which is now in a form which is capable of
`
`
`
`
`
`
`
`
`
`
`
`
`being interpreted by the browser of the user device 2. The
`
`
`
`
`
`
`
`
`
`
`
`web page code document 306 is received by the front end
`
`
`
`
`
`
`
`
`
`
`
`processor 300 and packaged as a response message trans-
`
`
`
`
`
`
`
`
`mitted via the internet 3 through the user device 2.
`
`
`
`
`
`
`
`
`
`
`
`[0056] To enable the code generating engine 21 to select
`
`
`
`
`
`
`
`
`
`
`the appropriate data from the content data structure 305 and
`
`
`
`
`
`
`
`
`
`
`to access the appropriate policy tables 40 ,it also requires the
`
`
`
`
`
`
`
`
`
`
`
`input of a device type identifier 45 which is provided by
`
`
`
`
`
`
`
`
`
`
`
`device identification engine 29 in response to receiving a
`
`
`
`
`
`
`
`
`
`message header signal 307 from the front end processor 300
`
`
`
`
`
`
`
`
`
`
`,this signal comprising information e