throbber
(12) INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`(19) World Intellectual Property Organization
`International Bureau
`
`1111111111111101111111111111111111111111111111111111111111111111111111111111111111
`
`(43) International Publication Date
`4 July 2002 (04.07.2002)
`
`PCT
`
`(10) International Publication Number
`WO 02/052785 A2
`
`(51) International Patent Classification':
`
`HO4L 12/00
`
`(21) International Application Number: PCT/CA01/01857
`
`(22) International Filing Date:
`21 December 2001 (21.12.2001)
`
`(25) Filing Language:
`
`(26) Publication Language:
`
`English
`
`English
`
`(30) Priority Data:
`60/257,428
`
`22 December 2000 (22.12.2000) US
`
`(71) Applicant (for all designated States except US): RE-
`SEARCH IN MOTION LIMITED [CA/CA]; 295 Phillip
`Street, Waterloo, Ontario N2L 3W8 (CA).
`
`(72) Inventors; and
`(75) Inventors/Applicants (for US only): MAJOR, Harry, R.
`[CA/CA]; 332 Milla Court, Waterloo, Ontario N2L 6N4
`(CA). KNOWLES, Michael [CA/CA]; 235 Beaver Creek
`Road, Waterloo, Ontario N2T 2S9 (CA).
`
`(74) Agent: PATHIYAL, Krishna, K.; Research In Motion
`Limited, 295 Phillip Street, Waterloo, Ontario N2L 3W8
`(CA).
`
`(81) Designated States (national): AE, AG, AL, AM, AT, AU,
`AZ, BA, BB, BG, BR, BY, BZ, CA, CH, CN, CO, CR, CU,
`CZ, DE, DK, DM, DZ, EC, EE, ES, FL GB, GD, GE, GH,
`GM, IIR, HU, ID, IL, IN, IS, JP, KE, KG, KP, KR, KZ, LC,
`LK, LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW,
`MX, MZ, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK,
`SL, TJ, TM, TR, TT, TZ, UA, UG, US, UZ, VN, YU, ZA,
`ZW.
`
`(84) Designated States (regional): ARIPO patent (GH, GM,
`KE, LS, MW. MZ, SD, SL, SZ, TZ, UG, ZM, ZW),
`Eurasian patent (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM),
`European patent (AT, BE, CH, CY DE, DK, ES, FL FR,
`GB, GR, IE, IT, LU, MC, NL, PT, SE, TR), OAPI patent
`(BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, ML, MR,
`NE, SN, TD, TG).
`
`Declarations under Rule 4.17:
`as to applicant's entitlement to apply for and be granted
`a patent (Rule 4.17(ii)) for the following designations AE,
`AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, BZ, CA, CH,
`
`[Continued on next page]
`
`= (54) Title: INFORMATION BROWSER SYSTEM AND METHOD FOR A WIRELESS COMMUNICATION DEVICE
`
`User
`Interface
`
`332
`
`r
`Input
`Interface
`306
`
`Browser
`
`112
`
`126
`
`3 0
`
`.110
`
`Histo ry
`
`Bookmarks
`
`Raw Data
`Cache
`
`(-114
`Page
`Cache
`
`Cookie
`Cache
`
`170 1
`
`308
`
`330d —
`
`Format X
`Converter
`/Rende rer
`
`—
`
`WML Script
`Converter/
`Renderer
`
`A *".- 330c
`
`HTML
`Converter
`/Renderer
`
`-0
`
`
`
`WML
`Converter
`/Renderer
`
`—
`
`330b
`330a
`
`300
`
`N
`
`N
`
`Stack Manager
`
`304
`
`312
`
`WAP Interface
`Adapter
`
`HTTP Interface
`Adapter
`
`WAP
`3141
`Interface
`
`.316
`HTTP/IPPP
`Interface
`
`318
`
`Renderer
`Controller
`
`320
`
`Serialization
`Manager
`
`
`
`334 H
`
`Radio
`
`•=>
`(see
`
`'••• 322
`Fig. 6)
`
`O
`(57) Abstract: An information browser system and method enables sending of information request to remote information sources
`O
`and receiving of requested information from the remote sources on a wireless communication device. Information in any of a plu-
`O
`rality of formats, including WML, HTML and WMLScript, is converted into a format in which the information can be displayed
`or otherwise further processed by the device. Information browsing functions may also be integrated with other communication
`functions on a mobile communication device.
`
`Adobe - Exhibit 1006, cover
`
`

`

`WO 02/052785 A2
`
`111111 111111101111H11111111111111111111111111111111111111111 111111111111111111
`
`CN, CO, CR, CU, CZ, DE, DK, DM, DZ, EC, EE, ES, FI,
`GB, GD, GE, GH, GM, HR, HU ID, IL, IN, IS, JP KE, KG,
`KP, KR, K7., LC, IX, IR, LS, LT, EU, TV, VIA, MD, MG, MK,
`MN, MW, MX, MZ, NO, NZ, PL, PT RO, RU, SD, SE, SG,
`SI, SK, SL, TJ, TM, TR, TT, TZ, UA, UG, UZ, VN, YU, ZA,
`ZW, ARIPO patent (GH, GM, KE, LS, MW, MZ, SD, SL, SZ,
`TZ, UG, ZM, ZW), Eurasian patent (AM, AZ, BY, KG, KZ,
`MD, RU, TJ, TM), European patent (AT RE, CH, Cr DE,
`DK, ES, FI, FR, GB, GR, IE, IT LU, MC, NL, PT SE, TR),
`OAPI patent (BE BJ, CF CG, CI, CM, GA, GN, GQ, GEE
`ML, MR, NE, SN, TD, TG)
`as to the applicant's entitlement to claim the priority of the
`earlier application (Rule 4.17(iii)) for the following desig-
`nations AE, AG, AL, AM, AT AU, AZ, BA, BB, BG, BR, BY,
`BZ, CA, CH, CN, CO, CR, CU, CZ, DE, DK, DM, DZ, EC,
`EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN,
`IS, JP KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, TV
`
`MA, MD, MG, MK, MN, MW, MX, MZ, NO, NZ, PL, PT,
`110, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT TZ, UA,
`LIG, LIZ, VAL YU, ZA, ZW, ARIPO patent (GH, GM, KE, LS,
`MW, MZ, SD, SL, SZ, TZ, UG,
`ZW), Eurasian patent
`(AM, AZ, BY KG, KZ, MD, RU, Ti, TM), European patent
`(Al; BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU,
`MC, NL, PT SE, TR), OAPI patent (BE, BJ, CF, CG, CI,
`CM GA, GN GQ, GW MI„ MR, NE„SN, TO, TG)
`of inventorship (Rule 4.17(iv)) for US only
`
`Published:
`without international search report and to be republished
`upon receipt of that report
`
`For two-letter codes and other abbreviations, refer to the "Guid-
`ance Notes on Codes and Abbreviations" appearing at the begin-
`ning of each regular issue of the PCT Gazette.
`
`Adobe - Exhibit 1006, page i
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`Information Browser System and Method for a Wireless Communication
`
`Device
`
`FIELD OF THE INVENTION
`
`The present invention relates to browsing information content in World Wide
`
`Web (WWW) pages accessed using a wireless device.
`
`BACKGROUND OF THE INVENTION
`
`5
`
`10
`
`Accessing browsable information such as Web content on the Internet is a
`
`part of everyday life for many people today. Most users currently access such
`
`information content by using computer systems that are physically connected to the
`
`Internet via a modem and physical wires of some sort, typically a telephone line or
`
`15
`
`coaxial cable. At the same time, wireless devices and the wireless networks they
`
`work on are becoming more widely available. Many modern wireless networks are
`
`connected or at least connectable to the Internet. As such, the demand for browsers
`
`on wireless devices that can access the World Wide Web is increasing rapidly.
`
`20
`
`Wireless devices and the associated wireless networks within which they
`
`operate present several design challenges not normally encountered in standard
`
`wired networks. First, unlike personal computers (PCs) and servers that are wired to
`
`the network, mobile and other wireless devices are connected to the network using
`
`radio links. As such, they are only connected when the device is "in range", or within
`
`Adobe - Exhibit 1006, page 1
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`coverage of one of the wireless network's radio transmitters. Because the wireless
`
`networks do not completely cover all areas where users will be using the devices,
`
`connectivity to the networks can be frequently gained and lost. No connectivity
`
`guarantees can be made at any given point in time.
`
`5
`
`Furthermore, even when a device is connected to a wireless network, the
`bandwidth of such networks can be quite low. Current networks, such as MobitexTM
`
`and DatatacTM, operate in the 9.6 kilo-bit per second (kbps) to 14.4kbps range.
`
`Newer networks, such as General Packet Radio Service (GPRS) and the Global
`
`10 System for Mobile Communications (GSM), will operate in the 20kbps to 110kbps
`
`range. As will be apparent to those skilled in the art, this range relates to raw speed.
`
`Real speed is lower when retransmissions of corrupted packets and network .
`congestion are accounted for. So-called third generation networks, such as
`
`Universal Mobile Telecommunications System (UMTS), are expected to operate in
`
`15
`
`the 384kbps range or higher, but are not expected to be deployed for at least several
`
`years.
`
`Most mobile devices also currently have much lower screen resolution and
`
`processing power than typical PCs or laptops. For example, known mobile devices
`
`20
`
`tend to have screen resolution on the order of 160 x 160 x 1 bit (monochrome) or
`
`smaller, as compared to low-end desktop PC or laptop monitor resolution of 1024 x
`
`768 x 24bits.
`
`For a user, these factors make the browsing experience on mobile devices
`
`2
`
`Adobe - Exhibit 1006, page 2
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`considerably different from that on computers with wired network connections. From
`
`the perspective of service providers and device manufacturers, such characteristics
`
`of wireless devices and wireless networks hinders the provision of browsing
`
`capabilities in wireless systems. In particular, much of the information content on
`
`5
`
`wired networks assumes that a computer or device will be connected to the network
`
`for the duration of the browsing session. In addition, content is increasingly being
`
`geared towards bandwidths of 128kbps or higher and to high-resolution screens and
`
`computers with extensive processing power to support animations, large graphics,
`
`and the like.
`
`10
`
`The Wireless Application Protocol (WAP) Forum was created to address
`
`incompatibilities between the capabilities of current mobile devices and wireless
`
`networks and the various processing, memory and display requirements for viewing
`
`different types of Web content. The result was the WAP specification, a de-facto
`
`15 worldwide standard, which includes both a protocol to deliver Web content to
`
`wireless devices, and a new form of markup, called Wireless Markup Language
`
`(WML). WML is geared towards providing the essence of high-value web pages for
`
`extremely small devices such as cellular telephones.
`
`20
`
`The WAP protocol addresses the issue of delivering content to wireless
`
`devices on slow, unreliable networks. However, although WML allows content to be
`
`developed for cell phones, it is not clear that it is as appropriate for personal digital
`
`assistant (PDA) style mobile devices, which have larger screens and tend to have
`
`more processing power than most cell phones.
`
`3
`
`Adobe - Exhibit 1006, page 3
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`The continuing movement towards web-based user interfaces for wireless
`
`communication devices, coupled with a general sentiment that Hypertext Markup
`
`Language (HTML) and WML provide inadequate user interface controls, is expected
`
`5
`
`to result in an increasing demand for mechanisms to extend basic browsing
`
`capabilities. Browser extensibility will therefore likely become an important part of
`
`mobile device application platforms.
`
`Therefore, there is a need for a Web content browser for wireless devices,
`
`10
`
`which provides browsing functionality similar to that of conventional Web browsers
`
`designed for hard-wired network connected devices. Such a browser should
`
`overcome the above problems associated with browsing information on a wireless
`
`device and should be compatible with multiple information content types. There is a
`
`further need for such a browser to be integrated with other functions of wireless
`
`15
`
`communication devices.
`
`SUMMARY OF THE INVENTION
`
`According to an embodiment of the invention, a web browser comprises a
`
`page cache containing a plurality of pages in a plurality of formats, and a converter
`
`20
`
`and renderer operatively connected to the page cache for rendering the plurality of
`
`pages for display by the browser.
`
`In accordance with a further aspect of the invention, a wireless web browser
`
`comprises a radio configured for communications with both a Wireless Application
`
`4
`
`Adobe - Exhibit 1006, page 4
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`Protocol (WAP) gateway and an Internet Protocol (IP) proxy server.
`
`A web browser according to another aspect of the invention has a
`
`background processing object, the background processing object permitting the
`
`5
`
`browser to access information after the browser has been closed.
`
`According to a further aspect of the invention, a web browser comprises a
`
`message store, the message store connected to at least one application selected
`
`from the set of: email application, voicemail application and SMS application, and
`
`10
`
`the message store containing objects retrieved by the browser and the least one
`
`application.
`
`In another embodiment of the invention, a computer readable medium
`
`comprises instructions for implementing a page cache, a renderer controller
`
`15
`
`operatively connected to the page cache and a serialization manager operatively
`
`connected to the renderer controller.
`
`A method for installing a converter on a wireless device according to a still
`
`further aspect of the invention comprises the steps of determining if the converter is
`
`20
`
`registered on the wireless device, if the converter is registered, then requesting the
`
`converter via a wireless network, and when the converter is received in response to
`
`the request, installing the converter on the wireless device.
`
`A method for rendering a page on a wireless communication device, in
`
`5
`
`Adobe - Exhibit 1006, page 5
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`another aspect of the invention, comprises the steps of
`
`receiving the page over
`
`a wireless network, selecting a converter for the page, rendering the page to created
`
`a rendered page for display by a browser, and storing the rendered page in a page
`
`cache.
`
`5
`
`In another embodiment of the invention, a browser for a wireless device
`
`comprises a browser object operatively connected to a browser daemon, a stack
`
`manager operatively connected to the browser object and the browser daemon, the
`
`stack manager further connected to a wireless radio via a plurality of interface
`
`10
`
`adapters, and the radio connected to a plurality of communication links, the
`
`communication links providing information to and sending information from the
`
`browser object and the browser daemon.
`
`A computer readable medium comprising instructions for implementing a
`
`15
`
`browser for a wireless device according to a further embodiment of the invention
`
`comprises instructions for implementing a browser object and a browser daemon,
`
`the browser object and the browser daemon communicating with each other,
`
`instructions for implementing a stack manager, the stack manager in communication
`
`with the browser object and the browser daemon, instructions for implementing a
`
`20
`
`plurality of interface adapters, the interface adapters in communication with the
`
`stack manager and a wireless radio, and instructions for connecting the radio to a
`
`plurality of communication links, the communication links providing information to
`
`and sending information from the browser object and the browser daemon.
`
`6
`
`Adobe - Exhibit 1006, page 6
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`5
`
`For a better understanding of the present invention, and to show more clearly
`how it can be carried into effect, reference will now be made, by way of example
`only, to the accompanying drawings in which:
`
`Figure 1 is a block diagram of objects and components in an embodiment of
`
`the present invention;
`
`Figure 2 is a block diagram of objects and components associated with a
`
`browser daemon;
`
`Figure 3 is a block diagram of objects and components associated with a
`
`renderer system;
`
`Figure 4 a block diagram of converter, renderer and page objects;
`
`15(cid:9)
`
`Figure 5 is a block diagram of an information browsing system utilizing the
`
`present invention;
`
`Figure 6 is a block diagram illustrating communication connections;
`
`Figure 7 is a logical flow chart of the process performed by the present
`
`invention;
`
`20(cid:9)
`
`Figure 8 is a logical flow chart of the process performed by a network request;
`
`Figure 9 is a logical flow chart of the process performed by a renderer
`
`system;
`
`Figure 10 is a logical flow chart of the process for closing a browser session;
`
`Figure 11 is a block diagram of the objects and components of the present
`
`25
`
`invention integrated with a messaging system;
`
`- 7 -
`
`Adobe - Exhibit 1006, page 7
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`Figure 12 is a block diagram of an information browsing system utilizing the
`
`present invention integrated with a messaging system;
`
`Figure 13 is a screen capture of a message list;
`
`Figure 14 is a screen capture of a message list browser menu; and
`
`5
`
`Figure15 is a screen capture of a generic browser menu.
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`A browser according to an aspect of the present invention is generic in the
`
`10
`
`sense that it preferably displays content from WML, HTML and new formats as they
`
`become available. Subsequent references in this description to WML and HTML
`
`type content are intended to include not only WML and HTML, but also other content
`
`types or formats which are or may become available. Many browser functions are
`
`common across all content types, whereas other functions are specific to the content
`
`15
`
`type, as will become clear from the following description. The browser will preferably
`
`be able to switch between different content types as determined by the type of
`
`content returned to the browser in response to an information or content request.
`
`Referring now to Figure 1, a block diagram of objects and components in an
`
`20
`
`embodiment of the present invention, is shown generally as 100. Figure 1 illustrates
`
`a software implementation of browser 100, with the arrows representing references
`
`between the objects and components. The invention is preferably implemented
`
`primarily in software, but may also be implemented at least partially in hardware.
`
`8
`
`Adobe - Exhibit 1006, page 8
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`As described above, generic and content-specific functionality and related
`
`software objects are separate. Dispatch thread 102 is the main event thread of
`
`system 100 and notifies browser application object 104 of all user inputs and
`
`communication events.
`
`In order to ensure a responsive user interface (UI),
`
`5
`
`processing times for such events should be limited. Browser application object 104
`
`is the parent application object, which basically functions as a container for the
`
`object shown as browser object 106. Browser object 106 is a transient process while
`
`browser daemon 108 is a persistent process. Browser daemon 108 always runs in
`
`the background and supports all the fetching operations. It also automatically loads
`
`lo previously fetched Uniform Resource Locators (URLs) into the message list, as will
`
`become apparent from the description below.
`
`Browser object 106 and browser daemon 108 perform "generic" browser
`
`functions that apply to WML, HTML, WMLScript and any other content types that
`
`15 may be received or otherwise encountered. This includes such functions as history
`
`management, control of page retrieval and display, control of image retrieval and
`
`display, creation and handling of menus, detection and execution of scripts and the
`
`like.
`
`20
`
`History object 110 is the navigation history, essentially a memory stack of
`
`pages or more particularly the URLs associated with the pages that have been most
`
`recently accessed. History object 110 can be queried to determine whether or not it
`
`is empty. Based on this determination, browser 100 enables or disables "Forward"
`
`and "Back" functions for example.
`
`9
`
`Adobe - Exhibit 1006, page 9
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`Bookmarks object 112 is a store of all the bookmarks currently known to
`
`browser 100. The contents of the bookmarks object are controlled by a user, through
`
`add, delete, arrange and such bookmark operations.
`
`5
`
`Browser object 106, as discussed briefly above, is a transient object which is
`
`opened and closed by a user. When the user asks to see a new URL, the browser
`
`object 106 first asks the page cache 114 if the page object corresponding to the
`
`URL is available. If it is, the browser object 106 displays it, via a display or screen
`
`lo
`
`user interface object (not shown). Otherwise, browser object 106 creates a fetch
`
`request object and sends that fetch request object to the browser daemon 108.
`
`Browser daemon 108, in turn, processes the fetch request object (as discussed
`
`further below) and sends a result back to browser object 106. When browser
`
`daemon 108 receives a response to a fetch request object, it places data from the
`
`15
`
`response into the fetch request and changes a state of the fetch request object to
`
`"received". Browser object 106 has an associated receiver thread 118 for each
`
`request that waits for a request to change to "received" state. When a response is
`
`received, receiver thread 118 creates a render thread 120 to process that result.
`
`This scheme eliminates the need for a received results queue or the like and thereby
`
`20
`
`conserves memory resources on a device in which a browser such as shown in Fig.
`
`1 is implemented. However, it should be appreciated that other aspects of the
`
`invention are also applicable to systems which utilize a results queue.
`
`Render thread 120 provides the result to page cache 114 and asks for a
`
`-10-
`
`Adobe - Exhibit 1006, page 10
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`corresponding page object 124 in return. Page cache 114, in turn, delegates to
`
`renderer system 122 to produce page object 124 from the result. When renderer
`
`system 122 returns page object 124, page cache 114 will store it.
`
`5
`
`If an information request is outstanding or in process when browser object
`
`106 is closed, when browser daemon 108 is ready to forward that result to browser
`
`object 106, browser daemon 108 will detect that browser object 106 no longer exists.
`
`In such a case, browser daemon 108 will optionally store the result as a browser
`
`message in a message store (not shown). Such functionality is described in more
`
`10
`
`detail below.
`
`Page cache 114, as its name implies, is a cache of page objects 124. If the
`
`page object corresponding to a requested Uniform Resource Locator (URL) is in
`
`page cache 114, it can be displayed by the browser object 106 very quickly. As is
`
`15
`
`common in the art, page cache 114 employs a least recently used (LRU)
`
`replacement policy.
`
`Raw data cache 126 is a cache that stores the raw bytes for all requested
`
`content, including HTML pages, WMLC decks, images, compiled WMLScript scripts
`
`20
`
`and any other requested content formats. Like the page cache 114, it also employs
`
`a LRU replacement policy.
`
`Secondary fetch threads 128 are used to process secondary fetch operations,
`
`such as loading images and are initiated by browser object 106. Primary fetch
`
`-11-
`
`Adobe - Exhibit 1006, page 11
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`operations, such as fetching pages, are preferably performed as background
`
`operations by browser daemon 108 (Figure 2).
`
`Referring now to Figure 2 a block diagram of objects and components
`
`5
`
`associated with a browser daemon is shown generally as 150. Stack manager 160
`
`manages all requests for content, directing them to the appropriate stack. Stack
`
`manager 160, in conjunction with renderer system 122 (Figure 3), provides for the
`
`multiple content format functionality of browser 100 and the device in which it is
`
`installed. Stack manager 160 is associated with both a WAP stack 162 and an
`
`10 HTTP stack 164 through WAP stack adapter object 166 and HTTP stack adapter
`
`object 168 respectively. In a preferred embodiment, HTTP stack 164 is a proprietary
`
`HTTP-over-IPPP (IP Proxy Protocol) stack, discussed in further detail below. Thus,
`
`a wireless device equipped with a browser 100 can access information using not
`
`only WAP, as in prior art wireless devices, but also HTTP.
`
`15
`
`For each URL that is not in page cache 114 or raw data cache 126 an
`
`instance of a primary fetch thread 172 is created to fetch the requested data. Cookie
`
`cache 170 stores cookies associated with previously accessed or downloaded
`
`information content. Some information sources may for example require a user to
`
`20
`
`login using a user name and password, either or both of which may be stored as a
`
`cookie in cookie cache 170. Process converter thread 174 is a worker thread that
`
`retrieves fetch requests from the request queue 176 and creates instances of
`
`primary fetch thread 172 to process the request. Request queue 176 is a queue that
`
`contains requests for information from browser daemon 108. As resources permit,
`
`-12-
`
`Adobe - Exhibit 1006, page 12
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`an item on request queue 176 will be initiated as a primary fetch thread 172. Data
`
`received in response to requests from the browser daemon 108 will preferably be
`
`added to fetch requests in the request queue 176 and the status of such requests
`
`changed to "received", as described above.
`
`5
`
`Referring now to Figure 3 a block diagram of objects and components
`
`associated with a renderer system is shown generally as 200. In response to a page
`
`object request, renderer control object 202 will examine the resultant content type to
`
`determine which converter and renderer objects are required to generate a page
`
`10
`
`object. Serialization manager 204 determines if the required converter object is
`
`resident on the device and if so, calls the appropriate converter object (206a, 206b,
`
`206c, 206d). Converter object 206 converts the raw input data into an object that
`
`can be rendered. Converter object 206 creates an appropriate renderer object
`
`(208a, 208b, 208c, 208d) to render the data and produce a page object (124a, 124b,
`
`15
`
`124c, 124d) and return the new page object to the page cache 114. The new page
`
`object, which contains screen user interface (UI) components, will also be displayed
`
`to a user by the browser object 106. All pages generated by the converters and
`
`renderers are compatible with the particular display UI implemented in the wireless
`
`device.
`
`20
`
`Serialization manager 204 maintains a registry of format converters for
`
`different information formats.
`
`In a preferred embodiment of the invention, a third
`
`party communicates with serialization manager 204 to register new format
`
`converter/renderer combinations such as the Format X converter object 206d.
`
`- 13
`
`Adobe - Exhibit 1006, page 13
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`Information formats other than those corresponding to converter objects provided on
`
`the device by a manufacturer can thereby be rendered and displayed by the device
`
`by simply installing the appropriate converter objects, which creates associated
`
`renderer objects as required.
`
`5
`
`When content is returned to the wireless device in response to an information
`
`request, the renderer controller 202, in conjunction with the serialization manager
`
`204, determines the type of content, the converter and renderer objects required to
`
`convert the content into a page object, and whether or not the required converter
`
`10
`
`and renderer objects are available on the device.
`
`If the required converter is
`
`registered with the serialization manager 204, then the converter is called to convert
`
`the byte array into a page. Serialization manager 204 returns a null value to
`
`renderer controller 202 when a required converter object is not registered.
`
`15
`
`Where received information is in a format other than those for which a
`
`converter object is registered with the serialization manager 204, the device may not
`
`be capable of displaying the information. According to a further aspect of the
`
`invention, a remote system or server in the network within which the wireless device
`
`is operating may register non-resident converter and renderer objects as being
`
`20
`
`available to the device, In such systems, when information received in response to
`
`an information request is in a format requiring converter and renderer objects not
`
`resident on the device but registered with the serialization manager 204 as non-
`
`resident converter objects, serialization manager 204 requests and downloads the
`
`required converter object. Serialization manager 204 thereby significantly expands
`
`-14-
`
`Adobe - Exhibit 1006, page 14
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`the browsing capabilities of the wireless device in comparison with prior art devices.
`
`Referring now to Figure 4 a block diagram of converter, renderer and page
`
`objects is shown generally as 240.
`
`Converter object 206 is a superclass object
`
`5
`
`representing all converter objects 206a to 206d. Similarly, renderer object 208 is a
`
`superclass object representing all rendering functions 208a, 208b, 208c, and 208d.
`
`WML converter object 206a and WML renderer object 208a convert a byte array that
`
`contains WMLC (Compiled WML) into a WML page object 124a. HTML converter
`
`object 206b and HTML renderer object 208b convert a byte array that contains
`
`10
`
`filtered HTML content into an HTML page object 124b. Similarly, the WMLScript
`
`converter object 206c and WMLScript renderer object 208c comprise a rendering
`
`engine for WMLScript scripts, which creates WMLScript page objects 124c. Format
`
`X converter object 206d and Format X renderer object 208d illustrate the
`
`extensibility aspect of the present invention which is described in further below.
`
`15
`
`Referring now to Figure 5 a block diagram of an information browsing system
`
`utilizing the present invention is shown as wireless device 300. User input is
`
`provided to the main browser control component 304 through input interface 306. It
`
`should be noted that the functionality of both browser object 106 and browser
`
`20
`
`daemon 108 is included in component 304. Background operations performed by
`
`component 304 involve daemon 108 functionality, whereas foreground operations
`
`would be associated with the browser 106.
`
`Depending upon the nature of the user input, component 304 may interact
`
`-15-
`
`Adobe - Exhibit 1006, page 15
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`with one or more of the memory lists or caches 110, 112, 114, 126 and 170, in
`
`memory 308. Memory 308 may for example be a random access memory (RAM) in
`
`which the various caches occupy predetermined storage space or alternatively,
`
`dynamically allocated storage space. Memory 308 may also possibly comprise
`
`5 multiple distinct memory elements, each incorporating one or more of the caches.
`
`Wireless device 300 further includes a stack manager 310. Stack manager
`
`310 manages all requests for content, directing them to the appropriate interface
`
`adapter 312 or 316. Stack manager 310 further communicates with renderer
`
`10
`
`controller 320 and converter/renderers 330a, 330b, 330c and 330d to ensure
`
`incoming data is properly converted and rendered for display to a user. WAP
`
`interface 314 and HTTP interface 318 interact with radio 334 to request and obtain
`
`data over a wireless network. Renderer controller 320 and serialization manager
`
`322 perform the functions described previously with regard to Figure 3. User
`
`15
`
`interface 332 may be visual display or any other device that is capable of
`
`communicating the results of a browser request to a user. Although shown as single
`
`functional blocks 330a, 330b, 330c and 330d, it is to be understood that the
`
`converter/renderers perform both the converter and renderer object functions
`
`described above to generate pages for display on the device from information
`
`20
`
`received in response to requests. As described above, the renderers are preferably
`
`transient objects created by the converters as required and thus are not shown
`
`separately in the block diagram.
`
`Radio 334 is a wireless communication module, which operates in a wireless
`
`-16-
`
`Adobe - Exhibit 1006, page 16
`
`

`

`WO 02/052785
`
`PCT/CA01/01857
`
`communication network. In a preferred embodiment of the invention radio 334 is a
`
`device adapted for communication on the Mobitex network, although communication
`
`modules for the DataTAC network, GSM/GPRS networks and other wireless
`
`communication systems are also possible. The multiple content type information
`
`5
`
`browsers and associated methods in accordance with the instant invention are
`
`independent of the particular wireless network on which the device operates.
`
`Referring now to Figure 6, a block diagram illustrating communication
`
`connections is shown generally as 380. Radio 334 of wireless device 300
`
`lo
`
`communicates over wireless links to a plurality of devices. Communication link 336
`
`connects radio 334 with a WAP gateway 338 or with an IP proxy server 340 via links
`
`360, 362 or 364. Thus, radio 334 is able to utilize either a WAP or HTTP protocol. In
`
`a preferred embodiment of the invention, HTTP interface 318 is a proprietary HTTP-
`
`over-IPPP stack, such that when HTTP is used for information browsing, radio 334
`
`15
`
`communicates with an IP proxy server 340 using IPPP. In the embodi

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