The present application relates to wireless packet data service networks, and more particularly, to a method and system for automated or configurable remote cache refreshes for a mobile communication device in a wireless packet data service network.
In the wireless marketplace, the speed at which data is delivered to a wireless device can distance a company or a product from its competitors. Another trend in the wireless market is the constantly increasing bandwidth being offered by the data networks. With the increasing bandwidth, users are using their devices more and more for higher bandwidth activities, such as browsing the Internet. This in turn is leading to usability problems in end-to-end latency.
Accordingly, there remains a need for improvements in the art.
The present application is directed generally to a method and system for automated and configurable remote cache refreshes for a mobile communication device in a wireless packet data service network.
Other aspects and features will become apparent to those ordinarily skilled in the art upon review of the following description of embodiments in conjunction with the accompanying figures.
Reference will now be made to the accompanying drawings which show, by way of example, embodiments of the methods and systems described herein, and how they may be carried into effect, and in which:
Like reference numerals indicate like or corresponding elements in the drawings.
Embodiments of the present invention are generally directed to a method and system for automated and configurable remote cache refreshes for a mobile communication device in a wireless packet data service network.
According to one broad aspect, there is provided a method for enhancing downloading of a webpage to a mobile communication device, the method comprises the steps of: designating a webpage for the mobile communication device; retrieving the requested webpage from a web server; storing the requested webpage in a cache; refreshing said cache; transmitting a copy of the webpage from the cache to the mobile communication device.
According to another broad aspect, there is provided a server for providing webpage downloads to one or more devices in a communication network, the system comprises: means for designating a webpage for the one or more devices; means for retrieving the designated webpage from a web server; means for storing the retrieved webpage in a cache; means for refreshing the cache; means for transmitting a copy of the webpage from the cache to the one or more devices.
According to a yet another broad aspect, there is provided a system for enhancing the downloading of a webpage to a handheld device coupled to a wireless communication network, the system comprises: a browser running on the handheld device and having a component for designating a webpage; an intermediary server coupled to the wireless communication network and having a component for retrieving the designated webpage from a web server; the intermediary server including a cache for storing a copy of the webpage, and the intermediary server having a component for refreshing the cache.
According to a further aspect, there is provided a computer program product comprising a storage medium configured to store executable instructions for performing operations associated with cache refreshes in accordance with embodiments as described in more detail below.
Reference is first made to
The wireless gateway 114 and the wireless infrastructure 116 provide a link between the Internet 112 and the wireless network 110. The wireless infrastructure 116 determines the most likely network for locating a given user and tracks the users as they roam between countries or networks. A message is then delivered to the mobile communication device 130 via wireless transmission, typically at a radio frequency (RF), from a base station in the wireless network 110 to the mobile device 130. The wireless network 110 may comprise any wireless network over which messages may be exchanged with a mobile communication device.
The wireless infrastructure 116 includes a series of connections to the wireless network 110. These connections could be Integrated Services Digital Network (ISDN), Frame Relay or T1 connections using the TCP/IP protocol used throughout the Internet. As used herein, the term “wireless network” is intended to include three different types of networks, those being (1) data-centric wireless networks, (2) voice-centric wireless networks and (3) dual-mode networks that can support both voice and data communications over the same physical base stations. Combined dual-mode networks include, but are not limited to, (1) Code Divisional Multiple Access (CDMA) networks, (2) the Group Special Mobile or the Global System for Mobile Communications (GSM) and the General Packet Radio Service (GPRS) networks, and (3) future third-generation (3 G) networks like Enhanced Data-rates for Global Evolution (EDGE) and Universal Mobile Telecommunications Systems (UMTS). Some older examples of data-centric networks include the Mobitex.™. Radio Network and the DataTAC.™. Radio Network. Examples of older voice-centric data networks include Personal Communication Systems (PCS) networks like GSM, and TDMA systems.
The enterprise server 120 may be implemented, for example, on a network computer within a firewall 118 for a corporation, a computer within an ISP system or the like. The enterprise server 120 provides an interface for email exchange over the Internet 112 and web access on the Internet 112 for mobile communication devices 130 equipped with a browser or having browser capability as will be described in more detail below.
The enterprise server 120, for example, implemented as a BlackBerry® Enterprise Server or BES, comprises a software module running on a server that acts as the centralized link between the mobile wireless communication devices 130, the wireless networks 110 and the enterprise applications. The server 120 integrates with enterprise messaging (e.g. Microsoft Exchange email system) and collaboration systems to provide the users of the mobile communication devices 130 with access to email, enterprise instant messaging and personal information management tools. All data between applications and the mobile communication devices 130 flows centrally through the enterprise server 120. As shown in
The router 122 is designed to connect to the wireless network 110 to route data to and from the mobile wireless communication devices 130. The dispatcher 124 is designed to compress and encrypt the data communications for the mobile communication devices 130. The dispatcher 124 routes the data through the router 122 to and from the wireless network 110. The Mobile Data Services module 126, for example, the BlackBerry® MDS™ Connection Service, functions as a gateway and is designed to manage interactions and requests between mobile wireless communication devices 130 (for example, Blackberry® handheld devices) and enterprise applications. The Mobile Data Services system 126 enables always-on/push-based access to enterprise applications and information using the mobile communication device 130, browser and software development tools. The MDS 126 provides connectivity (i.e. HTTP/HTTPS) to the Internet 112. In addition, the MDS 126 provides an extensible and secure interface for extending corporate applications and the corporate Intranet based on existing web standards.
Reference is next made to
As shown, the mobile communication device 130 includes a RF, demodulation/modulation and decoding/coding circuits 250, and a suitable RF antenna 252. The RF demodulator/modulator and decoder/coder circuits 250 and the RF antenna 252 are operatively coupled to the CPU 210 and provide an interface for wireless communication with the wireless network 110. The particular implementation details of the RF circuits will be within the understanding of those skilled in the art, and is therefore not described in further detail.
To browse the Internet, the user invokes the browser program 222 in the mobile communication device 130 and using the graphical user interface (i.e. the display 242, the keyboard 240 and/or a thumb-operated track wheel 241) enters the URL or a bookmark for a website of interest, for example, http://www.cnn.com. The browser 222 converts the user entry into a HTTP request and sends the request to the enterprise server 120. The enterprise server 120, i.e. the MDS-CS 126, relays the HTTP request to the web server, for example, web server 132-1 for “CNN.com”. In response to the request, the web server 132-1 returns the requested or corresponding webpage, which is relayed by the MDS-CS 126 to the mobile communications device 130. Similarly, if the user wishes to access another website, for example, http://www.google.com, on web server 132-2, the HTTP request from the mobile communication device 130 is relayed by the MDS-CS 126 to the web server 132-2.
The originating client, for example, a web browser, is typically referred to as the “user agent”. The destination server stores resources, such as, HTML files and images, and is typically referred to as the “origin server”. In between the user agent and the origin server there may be several intermediaries, for example, proxies and gateways. In the context of the present application, the mobile handheld devices 130 comprise user agents, the enterprise server or module 120 comprises an intermediary server or MDS-CS module 126, and the web servers 132 comprise origin servers. According to an embodiment, the intermediary server is located or configured behind a firewall.
According to an embodiment, the enterprise server 120 includes a cache module indicated generally by reference 140. The cache module 140 in conjunction with a software or code object, e.g. a cache controller, 142 provides a mechanism to cache one or more web pages or web sites selected or configured by one or more of the users. According to another aspect, the web pages or web sites are refreshed and the cache 140 is updated. According to another aspect, the refresh rate may be specified or configured by the user of the mobile communication device 130, as will also be described in more detail below with reference to
Referring still to
Reference is made to
The cache configuration screen 300 depicts an exemplary configuration for the website: http://www.google.com, as would be entered by a user of the mobile communication device 130. The user enters the URL for the website of interest, e.g. www.google.com in the website input field 310. The user enters the start date, e.g. “Wed, Jan. 2, 2007” for caching or refreshing the webpage in the cache/refresh start field 320. The user may also enter an end date for terminating the caching or refreshing of the webpage in the cache/refresh end field 322. If the user doesn't enter an end date, the caching/refreshing of the webpage continues indefinitely. The user selects a refresh frequency or rate from the website update frequency list 330. According to an embodiment, the website update frequency list 330 comprises a 60 second update rate 332, an hourly update rate 334, and a daily update rate 336. As depicted in
In operation and according to an embodiment, the webpage is refreshed and cached by the server 120 prior to being transmitted to the mobile communication device 130, i.e. based on the website update refresh frequency. According to another aspect, the webpage is refreshed asynchronously at the server 120, i.e. the server 120 accesses the web server 132, optimizes and stores an updated copy of the webpage in the cache 140. The webpage refresh rate at the server 120 may be implemented as a function of the user specified webpage update refresh rate or a system defined parameter in the cache refresh code object or controller module 142. The copy of the webpage from the cache 140 is downloaded to the mobile communication device 130, for example, in response to a user request or input. According to the described exemplary embodiment, the maximum website update frequency rate is limited to once per minute in order to prevent overloading the server with website refreshing. According to another embodiment, a limit may be placed on the number of refreshes allowed for a selected website or for a user, for example, 1000 website refreshes. The limit on the refreshes may be administered by the server 120, for example, as a code component or object in the MDS-CS 126. The limit may also be pushed down to the mobile communication device 130 by the server 120.
Reference is made to
As shown in
While the embodiments according to the present application have been described in the context of mobile communication devices, the embodiments may be extended or find application in other client-server configurations, for example, a desktop computer and a remote Internet proxy server.
The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Certain adaptations and modifications of the invention will be obvious to those skilled in the art. Therefore, the presently discussed embodiments are considered to be illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.