`
`(l9) World Intellectual Propertyr Organization
`International Bureau
`
`
`
`|I|||||||||||||||||l||l|||||l|||||||||||||||||l||l|||||||||||I]l[|||||||1|||l|||||||
`
`(43) International Publication Date
`31 October 2002 (31.10.2002)
`
`ch
`
`{10) International Publication Number
`W0 02/087135 A2
`
`(5]) International Patent CIassificalionT:
`
`H041.
`
`(74) Agent: TRIPLETT, Mark, W.; McDonnell Bochnen I-Inl—
`hert & Berghofi', Suite 3200, 300 South Wacker Drive,
`
`(21) International Application Number: Pcrmsomsm
`
`Chicago. “- “0606 (“St
`
`(22) International Filing Date:
`
`25 April 2002 (25.04.2002)
`
`(25) Filing Language:
`
`(26) Publication Language:
`
`English
`
`English
`
`(30) Priority Data:
`33:32:23:
`’
`
`’3
`.
`‘
`'3
`‘1
`’3
`g: 252:;23} Fig-3:13:33 E:
`“
`“
`‘ ' "
`
`(71) Applicant {for at! designated States except US): NO-
`VARRA,
`INC-
`[UStUSh 3233 N- Kcnniwtl Avenue.
`Arlington Heights. 11- 60015 {US}
`
`{81) Designated States (notional): Ali, AG, AL, AM, AT, AU,
`AZ, BA, BB, BG, BR, BY, BZ, CA, CII, CN, CO, CR, CU,
`CZ, DE, DK, DM, DZ, EC, F'E, ES, FI, GB, GD, GE, G11,
`GM, HR, HU, ID, IL, IN, IS,.IP, KE, KG, KP, KR, KZ, LC,
`[.K, LR, LS, LT, LU, LV, MA, MI), MG, MK, MN, MW,
`
`MX, M '15, NO, NZ, OM, PH, PL, PT, RO, RU, SI), Sli, SG,
`SI, SK, SL, '1'], TM, TN, TR, Tl', TZ, UA, UG, US, UZ,
`
`VN' YU' LA' AM' ZW‘
`(84) Designated States (regional): ARIPO patent (on, GM.
`KE, LS, MW, MZ, so, 51., 52,
`'12, UG, ZM, ZW},
`Eurasian patent (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM),
`European patent (AT, BE, (3". CY, DE, DK, ES, FI. FR,
`GB, GR. narr, LU, MC, NL, 1’1“, 313,
`'I‘R},OAPI patent
`(BF, B], ('11:, on, CI, CM, GA, GN, GQ, ow, ML, MR,
`NE, SN, “I'D, TO).
`
`(72) Inventors; and
`Published:
`TRAPANI,
`tfor US only):
`(75) InventorsiApplicants
`Matthew, Frank [U SIUSl; 912 Oxford Road, Deerfield, — without international search report and to be republished
`ll. 60015 (US). POLONSKY, Leonid IUStUSI; 32 Vista
`upon receipt oftnot report
`Court. Wilmette.
`IL 60091 (US). WIATRAK, Bruce
`[USIUSL 2166 Muirlicld Trail, Bolingbrook, IL 60490
`(US). HUNT, Francis, Edward, Simon [AUtUS]; 1507
`Watkins Lane, Apt. 20] , Napcrvillc, [L 60540 (US).
`
`For two-letter codes and other abbreviations, refer to the "Guid-
`once Notes on Codes and/1borevintions"oppenring at the begin-
`nt'ng ofeoch regular issue ofthe PCT Gazette.
`
`(54) Title: SYSTEM AND METIIOD FOR ADAPTING INFORMATION CONTENT FOR AN ELECTRONIC DEVICE
`
`||||||||||||||||||||||||||||||l||||||||||l|||l||||||l||||||||||||||||||||l|||||||||||
`
`135A2
`
`h (57) Abstract: A system and method is provided for efficiently adapting inl’on‘nation content for an electronic device. A normalirer
`08
`includes a template normaliaer for matching and applying a document tree to a template tree, and applying changes to the document
`"'--.. tree. If the template normalizcr does not find an appropriate template match, an automatic normalizcr is utilized. The automatic
`normalizer ulillizcs weighting heuristics and pattern recognition with formatiogruies to partition content into folders. The automatic
`normalizer can also ntilizsc embedded normalization markup in the information content to assist in normalizing the information
`C content. Information content can be represented by document object tree. A document object tree is created by storing information
`3 relating to the information content into arrays. The stored information describes a document object tree structure and tree dependen—
`cies as a mutable object.
`
`1
`
`GOOGLE 1007
`
`1
`
`GOOGLE 1007
`
`
`
`W0 021'087135
`
`PCTIUSOZJ'13173
`
`SYSTEM AND METHOD FOR ADAPTING INFORMATION CONTENT FOR
`AN ELECTRONIC DEVICE
`
`REFERENCE TO RELATED APPLICATIONS
`
`This application claims priority to United States provisional application Serial No.
`
`60H 99,858 filed on April 26, 2000.
`
`FIELD OF THE INVENTION
`
`This present invention relates generally to the field of network connnunications.
`
`More specifically,
`
`it relates to a system and method for accessing, adapting, and
`
`presenting information content for electronic devices.
`
`BACKGROUND OF THE INVENTION
`
`Today, an abundant amount of meaningful and feature rich information content is
`
`truly at one’s fingertips. Currently, using a personal computer (PC) and PC-based
`
`browser, one can find information online regarding just about anything they desire. One
`
`can communicate with people on the other side of the US. or world, set up a
`
`teleconference call, tap into the resources of other computers across the earth, search
`
`through the world's finest libraries, and visit images from the world's most remarkable
`
`museums. One can even use the PC-based browser to watch videos and listen to their
`
`favorite music, monitor the financial markets,
`
`find the local weather forecast, go
`
`shopping, download application software, and so on. Currently, all of this can be done
`
`with a personal computer and a PC-based browser that is tapped into a feature rich
`
`network of computers such as the Internet, Intranet, or Extranet.
`
`At the same time, the field of communications, and more specifically wireless
`
`telecommunications, is currently undergoing a radical expansion. This technological
`
`eXpansion allows an electronic device, such as mobile personal digital assistant (FDA),
`
`cellular phone, pager, and other electronic devices to connect to the same information
`
`2
`
`
`
`W0 02f[)87135
`
`PCTIU502f13173
`
`sources, such as a web server or database, as one could with the PC and a PC—based
`
`browser.
`
`Unfortunately, this feature rich information content was developed for a standard
`
`PC—based browser, not a mobile or portable electronic device that might be limited in
`
`memory, screen size, bandwidth, navigation capabilities, power consumption, processing
`
`power, etc. For example, an electronic device, such as portable PDA, with a small screen
`
`size may be inappropriate to display the same information content originally intended for
`
`a PC-based browser, and viewed on a 15-inch or greater size display monitor.
`
`Consequently,
`
`the PDA can not be able to faithfully access and display information
`
`content as it was originally intended to be viewed. Therefore, it would be desirable to
`
`access, organize, and navigate information content including applications.
`
`In another example, a mobile or wireless device with only low bandwidth
`
`capability may be unable to view information content intended for only high bandwidth
`
`applications. Parameters such as the mobile or wireless device‘s network connection,
`
`memory capacity, power restrictions, or other limitations of the device may require
`
`customization of information content that is delivered to or from the device. Therefore, it
`
`would be desirable to streamline the information content such that the desired content is
`
`received and presented at the mobile device as it was intended to be viewed.
`
`In yet another example, current electronic devices cannot take fiJll advantage of
`
`dynamically generated content and interactive Web sites that are typically hosted on
`
`today‘s Web servers. According to this example, scripting languages like JavaScript or
`
`Iscript allow a user on a PC-based browser to interact with markup language such as
`
`Hypertext Markup Language (HTML) source code, thus enabling the use of dynamic
`
`content. However, it would be desirable for a portable electronic device, although
`
`10
`
`15
`
`20
`
`3
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`possibly having limited abilities,
`
`to also utilize the modem and current scripting
`
`languages.
`
`Currently, information content is sent to the device, but often in a format that the
`
`appliance, user, or network cannot conveniently accommodate, which produces
`
`5
`
`undesirable results. For example, the data content might be unreadable on the display,
`
`displayed in an unorganized fashion, be too voluminous or bandwidth intensive to be
`
`received or displayed, and so 011.
`
`Thus,
`
`it would be desirable to transparently extend internet and intranet
`
`technologies to an electronic device over a wired or wireless domain.
`
`10
`
`4
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`W
`
`A system and method is provided that enables electronic devices with limited
`
`hardware or network capability to successfully access the same feature rich information
`
`content as full featured PC-based browsers with a large display screen, extensive user
`
`input facilities (e.g., mouse, keyboard, etc), high CPU power,
`
`large memory, reliable
`
`network connections, a reliable power supply, and so on.
`
`In an aspect of the present embodiment, the system enables an electronic device to
`
`access a number of different information sources including, but not limited to, marked up
`
`content like HTML, XML, WML, voice and multimedia. In the exemplary embodiment,
`
`a script execution engine is utilized to support scripting technologies such as IavaScript
`
`that dynamically generate content.
`
`According to another aspect of the present embodiment, a distributed browser
`
`includes separable components, a server browser and a client browser, that enable an
`
`electronic device with a small display to efficiently access information content.
`
`In the
`
`exemplary embodiment, the server browser and the client browser work together to
`
`access the information content by separating fimctionality between the browsers,
`
`irrespective of the component‘s location. Preferably, the functionality applied to optimize
`
`information content access, arrangement, transmission, and navigation can be performed ‘
`
`by the server browser rather than the client browser hosted on the portable or mobile
`
`10
`
`15
`
`20
`
`device.
`
`According to another aspect of the present embodiment, a QDOM converts data
`
`content into a document object tree represented by a mutable object having an array
`
`structure. Based on the nodes of the object tree,
`
`the QDOM generates an array of
`
`primitive data types for efficiently developing an optimized standard structure for use by
`
`25
`
`a normalizer or other processing modules.
`
`In the manner, the QDOM extends the World
`
`4
`
`5
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`Wide Web Consortium (W3C) DOM interface definition to an efficient model
`
`that
`
`provides high speed parsing, storage, and access while minimizing memory resource
`
`requirements.
`
`In another aspect of the present embodiment, a normalizer adaptively tailors and
`
`folderizes markup based information content to accommodate an electronic device's
`
`particular
`
`software, hardware,
`
`and network characteristics.
`
`In the
`
`exemplary
`
`embodiment, the normalizer organizes any markup based information content into folders
`
`of interest. The user of the electronic device can then further explore the folders of
`
`interest as desired.
`
`In yet another aspect of the present embodiment, metatags embedded in a markup
`
`language at the information source can provide instructions to the normalizer to take
`
`appropriate actions. Use of metatags can allow customization of original information
`
`content if a modified outcome is desired at the electronic device.
`
`In the exemplary
`
`embodiment, the metatags provide instruction to an automatic normalize: including, but
`
`not limited to, direct output of information content without normalization, the promotion
`
`of content into or out of folders, and dropping or filtering information content from the
`
`serialized output to an electronic device.
`
`In another aspect of the present embodiment, pattern-matching templates are
`
`utilized to normalize the presentation of accessed information content.
`
`In the exemplary
`
`embodiment, a template nonnalizer utilizes regular expression pattem—matching to
`
`impose a template over a document and attempts to match the template to the document.
`
`In another aspect of the present invention, an event translator provides additional
`
`compatibility with commerciallyr available client browsers or end user applications that
`
`employ standardized protocols. In the exemplary embodiment, the event translator can be
`
`10
`
`15
`
`20
`
`6
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`utilized on the server browser or the client browser to provide compatibility with
`
`standard client browsers.
`
`In an aspect of the present embodiment, a serializer dynamically formats
`
`normalized content to a form that is optimized for a particular electronic device. The
`
`serialized output can be formatted to suit industry standard browsers, or targeted to an
`
`electronic device using the client side browser.
`
`10
`
`15
`
`The present embodiments allow for electronic devices with limited hardware
`
`capability to access, on the fly, feature rich static and dynamic content, and applications.
`
`The server browser enables a client browser that utilizes a particular markup language to
`
`access information content that is of any type of markup language or technology. The
`
`distributed browser minimizes the functionality required on the device and implements -
`
`the CPU and memory intensive functions on a server in the network,
`
`thus allowing
`
`wireless devices, with intermittent, limited connectivity, processing power capability etc.
`
`to provide a similar experience achieved with a desktOp PC.
`
`Multiple components including a serializer, normalizer, client browser, andfor the
`
`event translator work in conjunction with each other to convert user events within one
`
`markup domain into another markup domain while staying in the transaction to translate
`
`the meaning of the interaction appropriately. Thus, for example, user events such as
`
`scrolling, clicking, voice commands interact with the QDOM to result in a change in
`
`20
`
`presentation of the content.
`
`Additionally, the present embodiments provide significantly higher speed and an
`
`efficient use of network bandwidth as desired infatuation content can be cached on the
`
`server browser and on the client browser, if so desired, to enable quick access to the
`
`desired portions of the information content.
`
`7
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`The present embodiments also provide for server browser-centric access to user
`
`profile and client browser state information (such as cookies), thereby facilitating the use
`
`of multiple devices by a single user.
`
`The present embodiments provide a number of advantages and applications as will
`
`be more apparent to those skilled in the art. The exemplary embodiments utilize
`
`distributed architecture for adaptively tailoring information content to electronic device‘s
`
`hardware and network characteristics.
`
`8
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG.
`
`1 is a high-level diagam illustrating an exemplary system for accessing,
`
`adapting, and presenting information content to electronic devices;
`
`FIG. 2 is a diagram further illustrating the server browser of FIG. 1;
`
`5
`
`FIG. 3 is a diagram further illustrating the event translator of FIG. 1;
`
`FIG. 4 is a diagram further illustrating the client browser of FIG. 1;
`
`FIG. 5 is a diagram illustrating an events message utilized in the exemplary
`
`system of FIG. 1;
`
`FIG. 6 is a diagram illustrating a transmission ACKKNAK message utilized in the
`
`10
`
`exemplary system of FIG. 1;
`
`FIG. 7 is a diagram illustrating a security handshake requestr’response and
`
`ACKJNAK message utilized in the exemplary system of FIG. 1;
`
`FIG. 8 is a diagram illustrating an exemplary process of the QDOM of FIG. 1;
`
`FIG. 9 is a diagram further illustrating the process of the QDOM of FIG. 8;
`
`15
`
`FIG. 10 is a diagram illustrating the process of the normalizer of FIG. 1;
`
`FIG. 11 is a diagram further illustrating the process of FIG. 10; and
`
`FIG. 12 is a diagram showing an exemplary conversion of output from the system
`
`ofFIG l.
`
`20
`
`9
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
`
`FIG. 1 shows a high-level block diagram illustrating an exemplary system 100 for
`
`accessing and adapting feature rich information content for presentation on an electronic
`
`device 104. The accessed and adapted information content is transmitted between an
`
`information source 102 and the electronic device 104.
`
`The information source 102 includes any type of device such as a web server,
`
`application server, database or other backend system, or any interface to an information
`
`provider. Preferably, the information source 102 provides information content expressed
`
`in a markup language, such as those markup languages known in the art
`
`including
`
`Hypertext Markup Language (HTML), Extensible Markup Language (XML) with or
`
`without Extensible Style Sheets (XSL), VoiceXML, Extensible Hypertext Markup
`
`Language (XHTML), or Wireless Markup Language (WML).
`
`Furthermore,
`
`the
`
`information content can store images, video, audio information.
`
`Preferably,
`
`the
`
`information source 102 can be accessed through an information access network 106 such
`
`as a local area network (LAN) or wide area network (WAN).
`
`The electronic device 104 includes any type of device such as a personal computer
`
`(PC), wireless telephone, personal digital assistant (PDA), hand-held computer, network
`
`appliance, and a wide variety of other types of electronic devices that might have
`
`navigational capability (e.g., keyboard, touch screen, mouse, etc.) and an optional display
`
`for viewing downloaded information content. Furthermore, the electronic device 104 can
`
`also include a device such as a set-top box, internet access appliance, infra~red remote
`
`control used with a set-top box, and so forth. Moreover, the electronic device 104 can
`
`include any type of device that has the capability to utilize speech synthesis markups such
`
`as W3C (ww.w3.org) Voice Extensible Markup Language (VoiceXML).
`
`I0
`
`15
`
`20
`
`10
`
`10
`
`
`
`W0 021087135
`
`PCTIU5021’13173
`
`Information content from the information source 102 is preferably retrieved and
`
`tailored for use on the electronic device 104 by a distributed browser 108. The distributed
`
`browser 108 is generally made up of a server browser 110 and a client browser 112. By
`
`utilizing the distributed browser 108, smaller electronic devices with limited hardWare
`
`capability can access feature rich information or data. Moreover, the distributed browser
`
`108 allows for efficient use of the communications network 114 bandwidth. Of course,
`
`electronic devices with high processing power,
`
`fast network connection, and large
`
`memory can also use the present embodiments.
`
`10
`
`15
`
`20
`
`In the exemplary embodiment, the server browser 110 and the client browser 112
`
`are hosted on separate platforms. For example, the server browser 110 might be hosted
`
`on a back-end server, and the client browser 112 might be hosted on the electronic device
`
`104. However, it should be understood that the server browser 110 and client browser
`
`112 can be hosted on the same platform such as on an electronic device, especially if the
`
`platform or electronic device has the appropriate hardware and network capabilities.
`
`The server browser 110 can access information content at the information source
`
`102 via the information access network 106.
`
`In the exemplary embodiment, the server
`
`browser 110 operates as a client of the information source 102. For example, using a
`
`known suite of ccmmmlications protocols such as Transmission Control Protocolflntemet
`
`Protocol (TCPIJP),
`
`the server browser 110 can issue a Hypertext Transfer Protocol
`
`(HTTP) request to the infonnation source 102 over the information access network 106.
`
`By utilizing HTTP requests, such as is known in the art, the server browser 110 can
`
`access information content, including applications, static and dynamic content, at the
`
`information source 102. Dynamic content can include script codes such as IavaScr-ipt,
`
`developed by Netscape (www.netscape.com), and Jscript, developed by Microsofi
`
`25
`
`(wvwvmicrosoitcom).
`
`10
`
`11
`
`11
`
`
`
`W0 021’087135
`
`PCTIU502f13173
`
`Preferably, communications between the client and server browsers 112 and 110,
`
`respectively, are via a defined application protocol implemented on top of a wired or
`
`wireless transport
`
`layer depending on the nature of the electronic device 104 and
`
`connnunioations network 114.
`
`Therefore, the communications network 114 might include a wired network such
`
`as those that utilize Ethernet or similarly [BEE 802.3 protocols. The communications
`
`network 114 might also include a wireless network such as a local area wireless network
`
`(LAWN) or Wireless local area network (WLAN). Moreover,
`
`the commmiications
`
`network 114 might include wireless networks that utilize other known protocols and
`
`technologies such as Bluetooth, wireless application protocol (WAP),
`
`time division
`
`multiple access (TDMA), or code division muItiple access (CDMA). Furthermore, the
`
`communications network 114 is not limited to terrestrial networks, but can utilize other
`
`forms of transmission, as is known in the art, such as a satellite connection.
`
`To provide an exemplary illustration, assume that a PDA hosts a client browser, a
`
`PC hosts a server browser, and the PDA and PC are both connected to an Ethernet
`
`network. Then, the client browser and the server browser could perform information
`
`transactions over the Ethernet network. Such transactions would utilize Ethemet or
`
`similarly [BEE 802.3 protocols. Nevertheless, in this example, the client and server
`
`browsers communicate over a wired network.
`
`In another example, assume that an intemet-enabled refiigerator hosts a client
`
`browser, a set-top box hosts a server browser, and both could perform information
`
`transactions over a Bluetooth or IEEE 802.11 wireless LAN. Then, according to this
`
`example, the client and server browsers are communicating over a wireless network.
`
`Referring again to FIG. 1, a commercially available or standard client browser 140
`
`can also be supported.
`
`Preferably, an event
`
`translator 136 is used to convert a
`
`10
`
`15
`
`20
`
`25
`
`ll
`
`12
`
`12
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`requestfresponse protocol, such as an HTTP request, from the standard client browser
`
`140 (e.g., WML, XHTML, cHTML, etc.) to an event that
`
`the server browser 110
`
`recognizes.
`
`Preferably,
`
`the translation process includes event information, content
`
`information, and the context of the event such that transactions between the standard
`
`client browser 140 and the information source 102 (e. g. HTML form submission) are
`
`preserved. Therefore, by using the event translator 136, the server browser 110 can
`
`provide an interface to any end user application with a known protocol. Thus, for
`
`example, an electronic device 104 can utilize the client browser 112 or standard client
`
`browser 140, or both at the same time, if so desired.
`
`The server browser 110 can be hosted on any platform with sufficient hardware
`
`capability for performing tasks by the server browser 110 described herein.
`
`Such
`
`platforms can include but are certainly not limited to desktop or laptop PCs, servers,
`
`computer clusters, or embedded devices.
`
`It should also be understood that the server
`
`browser 110 can also be hosted on the electronic device 104, especially if the electronic
`
`device has the hardware and network connection capability.
`
`According to the exemplary embodiment, the server browser 110 can authenticate
`
`itself with the information source 102, facilitate the request of the information using a
`
`protocol acceptable to the information source 102 (e.g., an HTTP request for a web
`
`server), provide secure transactions with the information source 102, provide secure
`
`transactions with the client browser 112, execute embedded scripts or code segments, and
`
`resolve necessary extemal references (e.g., request HTML frames or script sources) to
`
`complete the information model.
`
`Preferably,
`
`the server browser 110 also includes
`
`information content caching and data pro-fetch for performance gain.
`
`Furthermore,
`
`the
`
`server browser
`
`110
`
`can perform information content
`
`transformations or apply device specific style sheets to aid in presentation (e.g., display or
`
`10
`
`15
`
`20
`
`25
`
`12
`
`13
`
`13
`
`
`
`W0 021087135
`
`PCTIU502113173
`
`voice) and navigation (e.g., keyboard, touch screen, or scrolling), and perform content
`
`grouping for electronic devices that accepts data in limited quantities.
`
`To deliver these capabilities,
`
`the server browser 110 preferably contains the
`
`modules including user agent 110, cookie handler 112, QDOM 116, script executor 120,
`
`normalizer 124, serializer 128, and connectivity 132, each described below. A session
`
`manager 108 is also included to manage the session between the client browser 112 and
`
`the server browser 110. Similarly, the session manager 108 can also manage the Session
`
`between the standard client browser 24 and the server browser 110.
`
`FIG. 2 is a diagram further illustrating the server browser of FIG. 1. The server
`
`browser utilizes a user agent 110 for accessing infonnation at the information source 102.
`
`Preferably, the user agent 110 has the functionality of a traditional PC browser (c.g.,
`
`Netscape Navigator, Internet Explorer, and so forth) as well as extended functionality,
`
`described below, due to the distributed nature of the electronic device 104. To access the
`
`appropriate information content at
`
`the information source 102,
`
`the user agent 110
`
`communicates the requested resource identifier to the information source 102.
`
`For example, the user agent 110 might transmit an HTTP request to a remote web
`
`server that hosts yahoo.com. According to this example,
`
`the user agent 110 would
`
`transmit a resource identifier to request a specific web page or ask the remote web server
`
`to perform a database query. The request including the resource identifier is broken into
`
`HTTP packets and the packets are sent across the Internets TCPIIP communications
`
`infrastrucmre to the remote web server. The resource identifier then enables the host
`
`computer to locate the requested page at yahoo.com and return the information content to
`
`the user agent 110.
`
`In addition to transmitting the resource identifier, the user agent 110 might inform
`
`the information source 102 of the client browser 112 type, electronic device 104
`
`10
`
`15
`
`20
`
`25
`
`13
`
`14
`
`14
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`capabilities, and user preferences in the request headers and receives information
`
`identifying the properties of the data received (such as the content type,
`
`length and
`
`encoding) in the response headers. The headers that are sent back and forth between the
`
`information source 102 and the server browser 110 may also contain one or more cookies
`
`stored at the server browser 110 on behalf of the client browser 112.
`
`Preferably, the user agent 110 conforms to the broader industry definition of the
`
`term as a component of the server browser 110 that acts on behalf of the electronic device
`
`104 to request information from an information source 102. The requested information
`
`content can be from any information source including a web server as described above,
`
`but is not restricted to a web server. Other sources of information content might include
`
`an email server, Instant Messaging server, database or other storage of information.
`
`Additionally,
`
`the means through which the user agent 110 communicates with the
`
`information source 102 includes the HTTP protocol as described above, but of course, is
`
`not limited to that protocol.
`
`Information content might also use XML information content and XSL style
`
`sheets instead of HTML as the preferred internetfintranet information content format. By
`
`using XML information content and an XSL style sheet, it can provide a clear separation
`
`of data and presentation. The XSL style sheet is applied to the XML information content
`
`by an XSLT engine to present the information content to an electronic device 104.
`
`The XSL style sheet is applied to the XML information content at the information
`
`source 102, but preferably the client browser 112 can also apply the XSL style sheet to
`
`the XML information content. In this case, the server browser 110 preferably employs an
`
`XSLT engine to apply the XSL style sheet to the XML data before neutralizing to
`
`produce content. One such example would be a WML client browser used to request an
`
`XML + XSL combination that produces XHTML.
`
`10
`
`15
`
`20
`
`25
`
`14
`
`15
`
`15
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`Alternatively, the information content author may choose to use the original
`
`XML and apply templates andr’or wireless markup instead of or in combination with XSL
`
`style sheets.
`
`In addition to providing normalizer functionality,
`
`the system can also use
`
`templates and meta-tag markup to alter the original information content to better suit an
`
`end user application for which it was not originally designed. This can be achieved
`
`through the addition, removal or substitution of sections of content, tags and attributes
`
`(separately or together) in the markup, described more below.
`
`Information content might also use VoiceXML (www.voicexml.org) which is an
`
`10
`
`XML based language for Specifying voice dialogs, including audio prompts and text-to-
`
`speech (TTS) for output and touch-tone keys (DTMF) as well as automatic speech
`
`recognition (ASR) for input. VoiceXML technology enables consolidation of voice and
`
`web applications. For example, it can be used with voice-only devices to access a voice
`
`portal, or used to facilitate multi-modal (graphical and voice) dialogs to VoiceXML
`
`15
`
`enabled client browsers).
`
`Preferably, the system (100 in FIG. 1) via the user manager 110 has the ability to
`
`read and process VoiceXML markup as well as convert from one markup (from WMI. for
`
`instance) to VoiceXML format.
`
`in addition, templates andfor wireless markup can be
`
`used to specify which parts of a web page are to be audible (Le. converted to VoiceXlVIL)
`and which are to be rendered visually by the browser. The server can interact with a
`
`20
`
`VoiceXML gateway (much in the same way as it does with the WM gateway) to
`
`facilitate the VoiceXML based services.
`
`Location based services might also prove to be very popular in this industry as
`
`they are well suited to mobile applications. Preferably, the server browser 110 via the
`
`25
`
`user agent 110 has the ability to interact with the network entity supplying the location
`
`15
`
`16
`
`16
`
`
`
`W0 02i[)87135
`
`PCTIU5021’13173
`
`information via a defined protocol. The current coordinates of the electronic device
`
`accessing the network are preferably sent in the request headers to the content (web)
`
`server and/or be accessible via session cookies so that the device can easily utilize this
`
`location information. This functionality enables useful applications such as a restaurant
`
`locator that lists restaurants within a few miles of the user's current location.
`
`Referring back to FIG. 1, the server browser 110 contains a cookie handler 112.
`
`Cookies provide a means of personalizing the information content that is retrieved by the
`
`user agent 110 on behalf of the user of the electronic device 104. Preferably, the cookie
`
`handler 112 supports session and persistent cookies. Session cookies are valid for the
`
`current user‘s session and persistent cookies can expire after a pre-determined time
`
`specified in the cookie or be permanent. An added benefit to server side cookie
`
`processing is that the user is provided access to his or her cookies from multiple
`
`electronic devices and the user's cookies are not lost when the user changes electronic
`
`devices.
`
`Referring back to FIG. 2, the user agent 110 translates the requested data content,
`
`if necessary, into a recognizable markup language for further processing. The markup
`
`language may be in the format of XML, WML, HTML, or any other markup language or
`
`technology (e.g., video, audio, image) that incorporates the features used by the present
`
`embodiments.
`
`The translated infonnation is then organized into a logically structured format for
`
`further processing by the QDOM 116. The QDOM 116 efficiently constructs a nodal
`
`structure. The use of the QDOM 116 enables a standard structured interface to the
`
`retrieved content that can be utilized by all modules of the server browser 110. The
`
`QDOM 116 can effectively and efficiently store the information content in a standardized
`
`structure for use by the normalizer, more described below.
`
`10
`
`15
`
`20
`
`25
`
`16
`
`17
`
`17
`
`
`
`W0 02f[)87135
`
`PCTIU5021’13173
`
`Referring back to FIG. 1, the server browser 110 has script executor 120 for
`
`assisting the QDOM 116 in interpreting embedded script code in the information content
`
`received from the information source 102. The script executor 120 is preferably capable
`
`of supporting the European Computer Manufactures Association standard (ECMAScript
`
`revision 3), which is most prevalent in the industry, but may also be capable of handling
`
`other scripting languages, known in the art, such as IavaScript, Jscript (Microsoft's
`
`extending implementation of ECMAScript), Visual Basic Script
`
`(VBScript), or
`
`WMLScript. The script executor 120 enables programmati