A method of running web applications on local machines without a constant communication link
Field Of Invention
The present invention relates to a method that allows users to browse a web page and/or run a web application on their local machines. More particularly one that allows the said method to be done without internet connection.
Background Of The Invention
The advent of the Internet has certainly brought conveniences to the present era of information technology. Information becomes available at the tap of your mouse button; they simply flash upon on your computer. Moreover they can be stored conveniently on the computer for future reference .
As it currently exists, the Internet comprises two tiers. The first tier is primarily made up of mainframes or remote web servers while the second tier is occupied by desktop computer systems . In between the web servers and the desktop systems is a vast expanse referred to as the Internet, comprising primarily an inter-connected network of routers
and switches responsible for transmitting data packets from one location to another. An application server is usually followed by and connected to the web server, though the servers can be combined into single server. The primary function of this server is to locate a data within the database of web sites as well as to manipulate with this database in accordance to the instruction received from the web server.
Information from the Internet is often displayed as web pages. The content of this information, together with its presentation format, are written in a universal web language such as Hyper Text Markup Language (HTML in short) , or any other equivalent languages such as Dynamic HyperText Markup Language (DHTML) and Extensible Markup Language (XML) in a web page. This web language is standardized and made to be universally decipherable to its appropriate platform in order to allow every Internet user to see the information on the web pages .
If the user wants to view the information, a request for the information is first delivered' to a designated web server in any of the web languages . The web server processes this request and translate it to machine-coded instructions before transferring the control to the application server.
The application server will then retrieve the required information from its database, pass it to the web server and finally transmit it back to the user. Upon receiving the information, the user's PC will translate and interpret the information written in web language and re-presented in a more intelligible format on a web page (multiple web pages being grouped to comprise a web site) . The viewing, as well as the translation and interpretation, of the web page is done on a web browser like Microsoft's Internet Explorer and Netscape Navigator.
However, conveying certain types of information over
•networks such as the Internet can be slow. Generally, textual content can readily be downloaded and viewed in the browser within a short period of time, whereas contents of a multimedia presentations has typically been slow to download. As a result, web sites with abundance of multimedia components often suffer from poor-quality presentation.
Primary factors contributing to the ineffective delivery of content over the Internet include problems with latency, bandwidth limitations and network congestion. Also, because individuals access the Internet using a wide variety of computer systems, those wishing to provide content over the
Internet must overcome the difficulty in delivering for every specific user or target platform, each potentially with a different configuration.
One Obvious solution is to reduce the need to access the Internet in order to acquire the information from the Internet all the time. To achieve this using our current web browser, for example Internet Explorer 5.0, we can save the web pages onto our local machines to enable us to view the same web pages later without a connection. This is perhaps the cheapest way for an individual to view a large number of web pages download and save before viewing as opposed to download and view at the same time. One of the shortcomings with the conventional web page saving is that the process of saving is static. This means the content of the web page does not update itself automatically unless the user saves the updated version of the web pages. On top of that, we are able to save only the components or applications which are referenced within the web page on first level (in the HTML format for the case of Internet Explorer) . Objects including picture files such as GIF or JPEG files, script files such as JavaScript or VB Script and cookie files can still be saved and viewed later. Multimedia presentation files such as FLASH and MPEG files and subsequent web page linking to the current web page will not be saved automatically
(multimedia files can still be saved upon clicking on the component individually) .
Another means is to employ cache memory which helps to decrease the load of the data having to be retrieved from the Internet. Once the data is requested from the Internet, it is temporarily stored in cache memory for a certain amount of time. Subsequent requests for the same data can then be obtained from the cache memory instead from the Internet. Often the cached data is stored on a proxy server that may serve more than one desktop computer. Although proxy servers with cache memory are widely used, it is known that the performance of a proxy server tends to deteriorate as the information load increases . Having a few proxy servers to cater for all the PCs will solve the problem, but on a larger expense since the cost of a decent proxy server is considerably hefty. Moreover, the proxy server always compares data on its cache memory with that on the Internet when making the choice whether to update the data stored in the cache memory. As a result, permanent connection is still required between the proxy server and the Internet .
It is the purpose of this invention to attempt to overcome the problem of slow Internet connection and to provide connection-free environment for users to view web sites. It
gives faster access to any web site reliably and gives the additional benefit of portability and mobility if the invention is used on a portable computer or other device. Building on the concept of running web sites on a local machine, a system of web applications will be installed onto or provided to the desktop computer to achieve this end.
There have been many client-side (program) applications, which directly run on the PC itself and often seek and send data from a communication network (for instance, the Internet) now and then to facilitate their execution.
For example, US application 20020069114 demonstrates the use of program code when executed on the client-side, access information on a shopping server, as well as to generate a purchase order interface for the user, enabling the user to input product selection data and payment data. The order data is generated using the received selection data and payment data. The order data is then transmitted across the network to a location where the order will be processed.
Other than that, present online or LAN (Local Area Network) game also needs to constantly interact with (send and receive information) a server while running. Usually, data essential for the game are installed within the PC to
increase the flow of the game . Only parameters that give rise to the interactive element in a game among the players e.g position of a character within the game realm, are communicated and exchanged over the network.
Therefore, similar algorithms (computer instructions) and architecture (the logic flow of one function block to another) can be employed for web browsing. A person in the art will know that function, which is analogous to a mathematical function, is simply a means of transforming a set of computer data to another. The function block is a representation of a particular function in a logic flow chart .
Currently, in order to browse a web site including requesting information, making inquiry through e-mail, making order, one has to stay connected to the Internet via some sort of modem or cable connection most of the time. As mentioned earlier, when the user makes a request, it will go through the Internet to the web server. The web server will then process the request and respond back to the user through Internet back to client's browser.
Summary of the Invention
The present invention relates to a storage medium containing a set of machine codes to enable users to browse web page information and/or run web application (s) on their local machine without the need to be connected to the Internet except for the purpose of transmitting information to one or more third party or updating the set of machine codes in the storage medium, herein the set of machine codes describe at least a thin client comprising at least a thin web server, a thin application server and a database.
It is preferred that the machine codes of the storage medium describe a smart update application.
It is also preferred that the storage medium includes CD- Rom, CD-R, OS drive, USB drive, zip disc, magnetic-optic disc, magnetic tapes.
The invention also relates to a method that allows users to browse web page(s) and/or run web application (s) on their local machines, comprising: first loading the thin client from the storage medium as explained above,- launching the thin client; nd subsequently launching the various web applications .
It is preferred that the above method further comprise;loading the smart update application from the storage means;and subsequently launching the smart update application whenever update for the thin client or the set of machine code is required.
It is also preferred that the above method comprise : loading the smart update application from the storage means ; subsequently launching the smart update application whenever update for the thin client or the set of machine code is required;and retrieving information for update from a server after the user has agreed to download the in ormation onto his local machine .
It is further preferred according to the above method that the thin client is executed and run independently from the other web application (s)
It is preferred the smart update application according to the above method is executed manually or based on a preset schedule or event-driven.
It is also preferred that the web applications which run on the users' machine include, at least, web browsing and/or transaction capabilities.
Brief description of the diagram
Figure 1 is a block diagram showing the current state of the art involved in the Internet as essentially a server-client type of communication.
Figure 2 is a block diagram showing the role or place at which the invention plays as in the current state of the art
Figure 3 is the computer flow diagram to describe a first embodiment of the invention.
Figure 4 is the computer flow diagram to describe second embodiment of the invention. It describes the function of CD edition manager on a whole.
Figure 5 is the computer flow diagram to describe the operation of a CD edition of the web applications
Figure 6 is the computer flow diagram showing the functional steps of a typical transaction application.
Detailed Description Of The Drawings
According to the present invention the entire, or part of the, website is run locally either in the machine on the client-side or in a CD. This is achieved by installing a system of localized web applications that mimics the web browsing and other web-related activities such as performing searches and even making orders or request . The word "localized" herein means "made or adapted to run on a local machine or device (on client side) " and is often used to describe a computer application. A web application simply refers a fully developed and functional program, together with a database, that is related to the functioning and operation of a web site or web pages, especially interactively and dynamically. The web applications include web-browser, thin server, thin client, electronic transaction applications and applications that cater for web-related activities as described before making inquiry, making order etc. Alternatively, this system of localized web applications can be provided to the local machine on a portable storage medium, for instance a CD-ROM, without having to install anything on the local machine. In particular, graphic intensive application like viewing product catalogue on a product page, and subsequently doing business transaction (i.e. purchasing the products and
executing payment) are target web application that the invention is intended to enhance. In addition, this invention provides a feasible means to bring interacting voice navigation to web site; with voice navigation, users can flip through web pages by speaking through a microphone. The system is run directly on this CD edition of localized web applications using any CD reading device. The CD edition can either be created by the users themselves or supplied by an external distributing party. ift 10
One of the compulsory localized web applications to have is a thin client (figure 2) which performs the same functions of a web servers that form part of the Internet, as well as an application server with database for web site(s) and web
15 page(s). A thin client herein means a computer program that performs some functions, if not all, of a server.
Preferably, a thin client will comprise applications for a thin web server and thin application server, together with a
* database. The thin client will hold and host several web
20 sites within the client machine which users get to choose during the installation or during subsequent use. Instead of communicating with the web servers via the Internet, the application will extract the web pages from the thin client whenever a request for a list of installed web pages is
25 sent, thereby hastening the loading of web page. Preferably,
the request will be interpreted within the thin web server
(application) prior to passing it to thin application server
(application) . Following the instructions received from the thin web server (application) , the thin application server
5 (application) will extract and further process, if necessary, the required data from the database before sending the data back to the thin web server (application) and finally back to the user's computer. The function of the thin client is entirely independent from the other web telO applications. It can be launched automatically upon starting a web application, which requires the retrieval of information from a particular web site. Ideally, the thin client can be shut down manually by the user or when all web applications are terminated.
15
As a result, users no longer have to rely on a web connection to carry out these activities. It is only when it is absolutely necessary e.g after selecting all the items that the user wants said user submits the order or any other 20 information to one or more relevant third party via the Internet. The third party includes a computer or a person. Until then the connection to the server will only be made.
Though the invention is primarily intended to run on a local 25 machine or computer, it may be applied on any machine or
devices that include a processor such as certain mobile phones .
According to the first embodiment (Figure 3) , the installation application will install the system of localized web applications onto a client machine. The installation application may comprise decompression of compressed data or applications, creating a temporary folder for the storage of files or copying or transferring the files to their respective destination or any combination of the three processes. This installation can be any form of stand-alone program or add-on scripts to the web browser or any of such computer-coded instructions. The installation application can be distributed via CD or any other storage medium, or network, or can be downloaded from Internet. Users are provided with the choice of applications that they want to install, except thin client, or the users can simply install the full version of it. After the installation is completed without errors, the system can then be launched either immediately or at subsequent usage.
Prior to launching any web applications, the thin client will have to be started up and running 'on the background' . The thin client will either be activated upon detecting a
web application or any other automated means, or by the user.
A routine will then be performed to determine whether the localized application (s) is outdated. If it is, a smart update (client side) object application, which is installed together on the same PC as the web application, will be launched. An object application in here means a separate entity program or any type computer-coded instruction that performs a different function or procedure as the main application program, which is the web browsing application in our discussion. In computer terminology, a function is a set of computer code which needs to be fed with an input data in order for the function to generate an output data from the input data whereas a procedure does not have an input data and generates the same type of output data regardless. The smart update object application can be launched within the main application manually or by means of a schedule, or even event-driven.
Upon launching the smart update object application, it will establish a communication link with an update server which provides all the newest updated components. The smart update server will do a check on what newer components need to installed. If updating is required, it will relate back to
the smart update application for the application to prompt the user whether to accept the update. If the user agrees, the smart update server will then transmit the update modules or data for the respective components that need to be updated through a network such as the Internet. Using the update modules or data received, the smart update object application will attempt to update the older components on the client side before the web application can be launched. The user can, of course, deny any updating attempt, and this user's response will short-circuit any updating process to launch the web application using older components . Alternatively, the user can select the components he wants to update.
It should be noted that it is a preferred feature to have a smart update application in spite of its usefulness to the invention. As the smart update application is constructed to be an object, its removal will not effect the function of web application (s) . The only difference between with and without smart update is that web applications within the client machine may be of an older version, but yet functional .
Following the update session, any web applications can be launched. One of the most common web applications is web
browsing using the Internet browser available on the market, for instance Internet Explorer, or a web browser which comes along with the web application as an optional component.
In the event that user wants to make any transaction or order through the Internet or any other communication network (figure 6) , the web application will prepare for any order or transaction request by asking for desired transaction data like the buyer's detail and credit card number etc. The web application will established a communication link with a network to a server so as to deliver any transaction or order request to the appropriate party. Prior to the transmission, the data needs to be encrypted for security reason. The request will be processed at the server side before dispatching a copy of the request to an operator or any other relevant parties via e-mail, fax, SMS etc. At the same time, the web application will receive a process status to inform the user the success (or failure) of the transaction or order.
After the transaction, the user can choose to terminate the web application. He can do it directly, for example by clicking on a "CLOSE" button within the web application, or indirectly i.e triggered when certain event occurs, for example when he closes the web browser.
In another embodiment, the web application is stored in the CD and requires a CD drive to run. During a similar installation session (Figure 4) , a CD edition manager application, together with some of selected components, needs to be first installed onto the PC prior to their usage.
Before the thin client application can be utilized, the CD edition manager will have to prepare CD edition of the thin client by first checking whether the data on the CD is outdated. If the data is outdated, it will initiate the smart update object component application which is the same as what is described in the first embodiment. The smart update application will connect the PC to the smart update server. The server will check its database for the newest components and applications, and then propose a list of necessary updates to the user during the update session. IF the user agrees to update his CD edition, the update server will send update modules and data to PC to allow the smart update application to do the necessary installation and modification on the CD edition. However, when a CD edition is not detected, the smart update will automatically create a new one using the update module and data from the update server.
In order to create or modify the CD edition, the CD edition manager will perform a check on the status of the CD-R/R drive, such as whether it is suitable for writing and a current CD edition is present in the drive. If the status permits, the corresponding changes will be made on the CD edition by writing the data on the CD edition which is a rewritable CD. It should be noted that the writing medium in which the web application is run, is not restricted to CD- rewritable; magnetic tape, zip disc and the similar are potential writing medium.
Though in this embodiment (figure 5) , the web application is run on the CD, an OS drive like the PC's hard disk is still required to store temporary folder and data. This helps to smoothen the operation of the web application, which will otherwise most likely be jerky if all the temporary files are written to and accessed from the same CD. The other reason which favours the use of a OS drive is that current CD normally has smaller storage capacity than OS drive such as the hard disk.
Before the web application is launched, temporary folder for server operation like the swap files and dynamic data are created within the OS drive. The thin client is started up.
Like what is previously described, the user can browse the web pages offline for most of the time. In the event when a transaction is requested, all the purchase details are stored temporarily on a OS drive while transaction request is made. The whole transaction process entails a request generated on the client side, which is then transmitted across a communication network for instance, the Internet, in an encrypted format. After receiving the transaction request, the order manager on the server side will process the request, preceding the dispatch of acknowledge to the user of whether the transaction is successful. A copy of the order will also be sent to an operator or any other relevant parties via e-mail, fax, SMS and other electronic communication means.
As mentioned previously, the user does not need to create a CD edition himself through the use of the CD manager application. He can obtain the CD edition from any distributing party.
It is to be noted that the drawings and description herein are merely to exemplify the invention and do not represent the only and whole range of embodiments of the invention which is capable of many combinations and of . various features described herein. Each of the feature described
may be varied, modified or adapted by a person skilled in the art without departing from the working principle or spirit of the invention which scope is defined in the following claims.