[go: up one dir, main page]

WO2002056198A2 - Method and system for updating a web page - Google Patents

Method and system for updating a web page Download PDF

Info

Publication number
WO2002056198A2
WO2002056198A2 PCT/EP2001/015292 EP0115292W WO02056198A2 WO 2002056198 A2 WO2002056198 A2 WO 2002056198A2 EP 0115292 W EP0115292 W EP 0115292W WO 02056198 A2 WO02056198 A2 WO 02056198A2
Authority
WO
WIPO (PCT)
Prior art keywords
program
data
computer
client computer
server
Prior art date
Application number
PCT/EP2001/015292
Other languages
French (fr)
Other versions
WO2002056198A3 (en
Inventor
Meik Neubauer
Original Assignee
International Business Machines Corporation
Ibm Deutschland Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation, Ibm Deutschland Gmbh filed Critical International Business Machines Corporation
Priority to KR10-2003-7008934A priority Critical patent/KR20040005868A/en
Priority to AU2002231737A priority patent/AU2002231737A1/en
Publication of WO2002056198A2 publication Critical patent/WO2002056198A2/en
Publication of WO2002056198A3 publication Critical patent/WO2002056198A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • the present invention relates generally to the communication between a client computer and a server computer over a computer network such as the internet . More particularly the present invention relates to facilitating the updating of data contained in a web paged loaded on a client computer.
  • a web page typically contains a variety of elements such as graphic objects, data fields and data.
  • the web page may contain stock quotes and currency exchange information which is subject to constant fluctuations.
  • the Microsoft internet explorer has a so called active X- control which addresses the above described shortcomings of the prior art by allowing dynamic data updates. Such a feature is not available for other browser programs.
  • Other approaches for updating of web sites are known from the prior art:
  • a mapping component scans a Web site over a network connection and builds a site map which graphically depicts the URLs and links of the site.
  • Site maps are generated using a unique layout and display methodology which allows the user to visualize the overall architecture of the Web site.
  • the scanning routines automatically re-enter the captured datasets into the corresponding forms and recreate the form submissions.
  • the dynamically-generated Web pages returned in response to these automatic form submissions are then added to the updated site map as respective nodes.
  • a home page updating notification system for avoiding useless access operations for accessing the same content of home page several times, so that updated necessary information opened in home pages can be effectively acquired.
  • a home page formed in a home page forming apparatus and then transferred is written into a home page storage portion of a memory, so that updating of this home page is detected.
  • a document of an electronic mail, and an address of a transmission destination of this electronic mail are read which have been previously stored.
  • an electronic mail is formed based on the read document and the read address, and the formed electronic mail is transmitted to an address of a transmission destination.
  • a user of a terminal allocated to this address can be notified by such a fact that the home page is updated by observing the electronic mail.
  • US 6,061,686 shows a method for updating a copy of a remote document stored in a local computer system.
  • a copy of a remote document is downloaded onto a remote update network device from an origin network device.
  • the update network device interfaces with the origin network device to compare the remote document with the remote document copy. If the remote document has been modified since it was copied onto the update network device, the remote document copy is updated to reflect the modifications.
  • the updated remote document copy may be downloaded into the memory of the local computer system if the remote document copy on the update network device is different than a local copy of the remote document stored in the local computer system.
  • US 6,041,360 a Web browser support for dynamic update of bookmarks.
  • a change is detected in the web page data incorporated in the first bookmark, it is automatically updated by virtue of its dynamic attribute to reflect the change in web page data.
  • the change in web page data can be detected during a request for the web page referenced by the first bookmark. If redirection of the request to a new URL is detected, the first bookmark is updated to the new URL. A new request for the web page is issued using the new URL.
  • the change in web page data could alternatively be a change in the name of the web page. Setting the dynamic attribute is accomplished by the browser or at the server for a downloaded bookmark .
  • US 6,029,175 discloses an automatic retrieval of changed files by a network software agent.
  • An intelligent network agent intercepts transactions between clients and servers to perform Distributed Information Logistics Services (DILS) functions such as automatically retrieving updated files from remote servers and delivering them to local client programs.
  • DILS Distributed Information Logistics Services
  • a primary object of the invention is to provide a method, computer system and computer program product to facilitate the updating of a data sink such that the response time is reduced and more efficient usage is made of the channel capacity of the communications link used to download the data.
  • this is accomplished by the invention by invoking a program on the server computer to fetch updated data.
  • the program on the server computer is invoked by supplying a uniform resource locator corresponding to the program to the server computer; in response to receiving the uniform resource locator from the client computer the server computer starts the program.
  • the program is implemented as a common gate way interface ("CGI") script.
  • CGI common gate way interface
  • the program on the server computer performs the required data processing operations in order to obtain the updated data, such as querying a database or another web site. Once the program on the server computer has obtained the updated data it is sent from the server computer to the client computer.
  • the server computer In addition to the updated data the server computer also sends another program to the client computer.
  • This program is provided to the client computer concurrently with the updated data and is started automatically on the client computer after its' reception.
  • This program can be implemented as a Javascript or a JAVA applet. Under control of the program received from the server computer the updated data is directly or indirectly written to the data sink where typically the dynamic data contained in a web paged is updated.
  • the updated data can be written directly to a HTML form field of the web page for display on the web page.
  • intermediate data processing steps can be performed on the updated data before it is actually displayed in the web page or otherwise utilized on the client computer.
  • one or more parameters are transmitted from the client computer to the server computer within the uniform resource locator of the program on the server computer performing the data retrieval for performing the update on the client computer.
  • the additional parameters can specify a set or a subset of dynamic data to be retrieved in order to further improve response time.
  • an object oriented programming methodology is used for implementation.
  • the data sink object has a data field for holding the data to be updated and typically a window handle pointing to the browser window containing the form field for the updated data.
  • an update method of a reference object is triggered.
  • the reference object has a handle to the data sink.
  • the update method invokes a load method of another object after having obtained a semaphore.
  • the load method accesses the server computer via the internet for triggering the execution of the CGI script program on the server computer for obtainment of the updated data.
  • the updated data is written to a buffer under control of the JAVA applet received concurrently with the updated data from the server computer.
  • a watchdog function is invoked.
  • the watchdog function obtains the handle to the data sink from the reference object and interrupts the execution of the JAVA applet. This way the watchdog updates the data field of the data sink object either directly or indirectly through the reference object. After the watchdog function has been performed the execution of the JAVA applet resumes and the semaphore is released again.
  • the object comprising the load method has an absolute relation to the semaphore and to the buffer such that the server computer does not need to have any a priori knowledge of the address and object structure of the client computer - either implied nor by parameterized data exchange.
  • the absolute location can be defined by the location of a window of the browser on a top level of hierarchy or by the location of an element having a fixed access path to such a top level window or by any public static object of the client computer local object hierarchy having similar properties .
  • the invention is advantageous in that it allows to obtain the updated data without having to reload the complete web page. For example this can be important for dynamic data, such as stock market or currency exchange data, displayed on the web page of a financial services web portal on a client computer.
  • the invention also allows to update more than one data sink at a time by means of a control function overlying the updating and load methods .
  • Fig 1 is a schematic block diagram illustrating the functional elements of a method and a computer system according to the invention
  • Fig. 2 shows a flow chart of a first embodiment of a method of the invention
  • Fig. 3 is a flow chart of a second embodiment of the invention.
  • Client-Server A model of interaction in a distributed system in which a program at one site sends a request to a program at another site and waits for a response.
  • the requesting program is called the “client”
  • the program which responds to the request is called the “server”.
  • the client is a "Web browser” (or simply “browser") which runs on a computer of a user; the program which responds to browser requests by serving Web pages is commonly referred to as a "Web server” .
  • Internet A collection of interconnected (public and/or private) networks that are linked together by a set of standard protocols (such as TCP/IP and HTTP) to form a global, distributed network. (although this term is intended to refer to what is now commonly known as the Internet, it is also intended to encompass variations which may be made in the future, including changes and additions to existing standard protocols) .
  • World Wide Web Used herein to refer generally to both (i) a distributed collection of interlinked, user viewable hypertext documents (commonly referred to as Web documents or Web pages) that are accessible via the Internet, and (ii) the client and server software components which provide user access to such documents using standardized Internet protocols.
  • Web documents typically referred to as Web documents or Web pages
  • client and server software components which provide user access to such documents using standardized Internet protocols.
  • HTTP HyperText Transfer Protocol
  • HTML HyperText Markup Language
  • HTTP HyperText Markup Language
  • Web Site A computer system that serves informational content over a network using the standard protocols of the World Wide Web.
  • a Web site corresponds to a particular Internet domain name, such as "IBM.com", and includes the content associated with a particular organization.
  • IBM.com Internet domain name
  • the term is generally intended to encompass both (i) the hardware/software server components that serve the informational content over the network, and (ii) the "back end” hardware/software components, including any non-standard or specialized components, that interact with the server components to perform services for Web site users.
  • HTTP Hyper Text Transport Protocol
  • HTTP includes a number of different types of messages which can be sent from the client to the server to request different types of server actions. For example, a "GET" message, which has the format GET ⁇ URL>, causes the server to return the document of file located at the specified URL.
  • JAVA JavaScript
  • An 1 applet can be accessed over the Internet. It is self-contained in that it carries its' own presentation and processing code and can run on whatever type of computer which imports it. Applets are being used as "plug- in" units that form part of a larger application.
  • URL Uniform Resource Locator
  • CGI Common gateway interface
  • Semaphore A method of restricting access to shared resources (e.g., a database or a storage device) in a multiprocessing environment.
  • the semaphore is usually a protected variable (with only a few states) to which access is limited.
  • Fig. 1 shows a block diagram of the functional elements of an embodiment of the method and computer system of the invention.
  • the client computer 1 has a web browser program with a graphical user interface, such as Microsoft Internet Explorer or a netscrape browser.
  • the browser program shows a web page in window 2.
  • the web page has at least one form field 3 which contains certain data.
  • the web page has been downloaded from server computer 4 via internet 5.
  • the web page can be of any nature: For example it can be a web portal for financial information such as stock quotes or currency exchange rate information. Such information is shown in a plurality of form field 3 in the window 2. However it is also possible that the data which has been downloaded from server computer 4 together with the web page is not directly shown in the browser window 2 but is stored in data field 6 on the client computer 1. The client computer 1 carries out one or more data processing operations on the data stored in data field 6 before the resulting data is shown in one way or another in the form field 3.
  • the data field 6 forms part of data sink 7 which also has a window handle 8 for the window 2.
  • Client computer 1 further has reference object 9 which supplies a reference to data sink 7.
  • the reference object 9 comprises update method 10 which is a method for updating of data contained in data field 6 of data sink 7.
  • the reference object 9 has handle 11 which points to the data sink such that the data sink 7 is accessible from reference object 9.
  • the client computer provides for a trigger 12.
  • the trigger 12 invokes an update operation to update the data contained in data field 6 of data sink 7 by calling the update method 10.
  • Trigger 12 can be a manual input by a user of client computer 1, for example by clicking a corresponding button shown in the window 2 of the graphical user interface . It is also possible to provide trigger 12 automatically by a program run on the client computer 1 or by a timer function, such that trigger 12 is generated automatically in fixed or varying time intervals.
  • the trigger 12 originates from the client computer 1 and not from the server computer 4.
  • Client computer 1 has a semaphore 13 to control access to the load method 14 of pane object 15 by update method 10.
  • the pane object 15 has an absolute relation to the semaphore 13 and buffer 16.
  • the absolute relation provided by semaphore 13 and buffer 16 allows the pane object 15 to access the semaphore 13 and the buffer 16.
  • a typical example of an absolute relation is the "top" browser window or any item within it that has a fixed access path in the top window context.
  • a back link 17 is associated with the semaphore 13 and has thus also the absolute relation.
  • Back link 17 is a pointer to reference object 9. It is however not essential that the back link 17 is associated with the semaphore 13 provided that the back link has the same or another absolute relation.
  • the client computer 1 has a watchdog function which is invoked each time data is written into the buffer 16.
  • the watchdog function 18 has access to data which is written into the buffer 16.
  • the watchdog function 18 can trigger an interrupt 19 of the pain object 15 in order to interrupt the execution of a program, such as a Javascript program, executed by the pane object interpreter.
  • the data sink 7 and the reference object 9 can be united in data sink object 20 combining the functionalities of data sink 7 and reference object 9.
  • the pane object 15 can access the server computer 4 via internet 5 by means of its load method 14.
  • the load method 14 can issue a request to server computer 4 for updated data by providing a uniform resource locator and/or one or more other parameters to the server computer 4 via the internet 5.
  • the uniform resource locator contained in the update request of the load method 14 specifies a CGI- script of server computer 4.
  • the corresponding CGI-script is executed on the server computer 4 in order to obtain the updated data.
  • the CGI-script can access a database to obtain the updated data.
  • the database contains data of current stock quotes and exchange rates of currencies.
  • the update request from load method 14 can contain one or more parameters to further specify which of the data shown in window 2 is to be updated. Without such further specification all data is updated.
  • the updated data is than sent from computer 4 via the internet 5 to the pane object 15 of client computer 1.
  • the user of client computer 1 starts its' web browser program, inputs the web address of the desired web page which is than downloaded by the browser program from the server computer 4 via the internet 5. After a certain period of time the user may want to update the data shown in the window 2. In the prior art this is done by clicking on the "refresh button" which causes the browser program to completely download the same web page again from server computer 4. This can be frustrating for the user of the client system 1 as each complete refresh operation may require a substantial amount of time only to obtain a limited amount of updated data.
  • a further disadvantage of this prior art method is the inefficient usage of the communication link to the internet 5 of client computer 1.
  • the update trigger 12 - which is either a manual input by the user by clicking on a button or generated automatically in fixed or varying time intervals by client computer 1 - directly or indirectly calls the update method 10 of the reference object 9.
  • the update method 10 obtains the semaphore 13 and sets the back link 17 to the reference object 9.
  • the update method 10 invokes the load method 14 of pane object 15.
  • the load method 14 issues an update request to the server computer 4 via the internet 5.
  • the update request contains the uniform resource locator of the required CGI- script.
  • the server computer 4 starts the CGI-script which queries the database to obtain the updated data.
  • This data is than sent from the server computer 4 to the client computer 1 by means of the execution of the CGI-script.
  • This operation is called “standard out” (STDOUT) .
  • STDOUT implicitly targets the pane object 15.
  • the CGI-script returns a program function for initiating a write operation of the updated data.
  • the program is provided in script language - for example Javascript.
  • the program is immediately executed by the pane objects interpreter after it has been received by the client computer 1.
  • the program writes the updated data into the buffer 16.
  • the program "knows" where the buffer 16 is located because the buffer 16 is in absolute relation-as semaphore 13 is .
  • the writing of the updated data into the buffer 16 by the program received from server computer 4 and executed in the pane object 15 invokes the watchdog function 18.
  • the watchdog function 18 accesses the back link 17 to obtain a handle to the reference object 9 and/or to the data sink 7. Once the watchdog function 18 has obtained the back link 17 it writes the updated data to the data sink 7 either directly or indirectly by means of a method provided by the reference object 9.
  • the watchdog function When the watchdog function is invoked it also provides interrupt 19 to the pane object 15 to interrupt the execution of the program received from the server computer 4. After the write operation of " the updated data to data sink 7 has been completed, the interrupt 19 is released and the execution of the program resumes. Next this program releases the semaphore 13. Releasing the semaphore 13 only after the watchdog function 18 has been completed and the updated data has thus been provided to data sink 7 assures that no new update operation can start before the current one is completed.
  • the CGI-script does not provide functional HTML code but only a Javascript or a JAVA applet program function in addition to the updated data. Overall this is a small amount of data in comparison to the reloading of the complete web page which typically contains many graphic objects. Hence, even a relatively slow internet connection allows to "refresh" a web page within fractions of a second such that the user can work with the web page as with a usual application program as far as respond time is concerned.
  • step 1 a web page containing data in form fields is loaded.
  • a trigger to update the data of the form fields is provided in step 2.
  • step 3 the trigger invokes an update method of the reference object which has a handle to the data sink containing the data to be updated.
  • the update method gets a semaphore in step 4 and sets the back link to itself or directly to the data sink.
  • the load function calls a GCI-script on the server computer via the internet.
  • step 6 updated data and a program - such as a Javascript or a JAVA applet program - are received by the pane object containing the load method.
  • the received program is executed by the pane's object interpreter in step 7 such that the received updated data is written to the buffer in step 8.
  • the buffer is in an absolute relation provided by top level of hierarchy by the browser windows; this absolute relation is utilized by the pane object 15 to access the buffer 16 in order to write the updated data. The same absolute relation exists with respect to the semaphore and the pane's object.
  • the writing of the data to the buffer invokes the watchdog function in step 9.
  • the watchdog function obtains the back link. Further the watchdog function interrupts the execution of the received program by the pane object.
  • step 10 the updated data is transferred from the buffer to the data sink by the watchdog function. After this operation is completed the execution of the program of the pane's object resumes in step 11 to release the semaphore in step 12 before a next update trigger is made in step 13.
  • An update trigger which is made before the semaphore is released needs to wait until the semaphore is released; only then the update method can be invoked.
  • Fig. 3 shows an embodiment of the present invention for multiple data to be updated within a web pages.
  • step 31 such a web page is loaded.
  • the updating of the respective data is triggered in step 32.
  • step 32 This invokes a control function in step 33 which creates and starts a new thread for each data sink i of the N data to be updated.
  • the N threads are processed sequentially in steps 34 to 37: First a semaphore is obtained in step 34, the update method of the reference object corresponding to the data sink to be updated is invoked in step 35. After the complete execution of the update method the semaphore is released in step 36 such that in step 37 in the index i is increased in order to return the control to step 34 for the consecutive thread.
  • the control function advantageously is implemented by means of a JAVA applet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A data sink (7) loaded on a client computer (1) is updated by accessing a server computer (4) by invoking a CGI-script on the server computer. The CGI-script returns the updated data and a Javascript program. The updated data is provided to the data sink under control of the Javascript program.

Description

D E S C R I P T I O N
Method computer system and computer program product for updating a web page
Field of the invention
The present invention relates generally to the communication between a client computer and a server computer over a computer network such as the internet . More particularly the present invention relates to facilitating the updating of data contained in a web paged loaded on a client computer.
Background of the invention
Typically browser programs such as Microsoft internet explorer or the netscape navigator are used to download web pages from a server computer to a user's client computer via the internet. A web page typically contains a variety of elements such as graphic objects, data fields and data. For example in the case of a financial information web portal the web page may contain stock quotes and currency exchange information which is subject to constant fluctuations. After an initial download operation has been performed by the user a common method for updating the web page to obtain the updated data is to use the "refresh" button of the browser program.
By pressing the refresh button the entire web page is completely downloaded again from the server computer, including all graphic objects which may not have changed. As a consequence - in order to obtain a very limited number of updated data - a huge amount of data needs to be transferred over the internet and needs to be reinterpreted by the browser program. This is inefficient in terms of response time experienced by the user and also in terms of the utilization of the capacity of the communications link used to connect the server and client computer to the internet.
The Microsoft internet explorer has a so called active X- control which addresses the above described shortcomings of the prior art by allowing dynamic data updates. Such a feature is not available for other browser programs. Other approaches for updating of web sites are known from the prior art:
From US 6,144,962 a method is known to provide a variety of features for facilitating the analysis and management of Web sites and Web site content. A mapping component scans a Web site over a network connection and builds a site map which graphically depicts the URLs and links of the site. Site maps are generated using a unique layout and display methodology which allows the user to visualize the overall architecture of the Web site. When the site map is subsequently updated (using an "automatic update" option of the user interface) , the scanning routines automatically re-enter the captured datasets into the corresponding forms and recreate the form submissions. The dynamically-generated Web pages returned in response to these automatic form submissions are then added to the updated site map as respective nodes.
From US 6,065,044 a home page updating notification system is known for avoiding useless access operations for accessing the same content of home page several times, so that updated necessary information opened in home pages can be effectively acquired. A home page formed in a home page forming apparatus and then transferred is written into a home page storage portion of a memory, so that updating of this home page is detected. When updating of this home page is detected, a document of an electronic mail, and an address of a transmission destination of this electronic mail are read which have been previously stored. Then, an electronic mail is formed based on the read document and the read address, and the formed electronic mail is transmitted to an address of a transmission destination. As a result, a user of a terminal allocated to this address can be notified by such a fact that the home page is updated by observing the electronic mail.
US 6,061,686 shows a method for updating a copy of a remote document stored in a local computer system. In response to a command by a local computer system, a copy of a remote document is downloaded onto a remote update network device from an origin network device. A predetermined time after the remote document copy is downloaded, the update network device interfaces with the origin network device to compare the remote document with the remote document copy. If the remote document has been modified since it was copied onto the update network device, the remote document copy is updated to reflect the modifications. When the local computer system reconnects to the network, the updated remote document copy may be downloaded into the memory of the local computer system if the remote document copy on the update network device is different than a local copy of the remote document stored in the local computer system.
US 6,041,360 a Web browser support for dynamic update of bookmarks. When a change is detected in the web page data incorporated in the first bookmark, it is automatically updated by virtue of its dynamic attribute to reflect the change in web page data. The change in web page data can be detected during a request for the web page referenced by the first bookmark. If redirection of the request to a new URL is detected, the first bookmark is updated to the new URL. A new request for the web page is issued using the new URL. The change in web page data could alternatively be a change in the name of the web page. Setting the dynamic attribute is accomplished by the browser or at the server for a downloaded bookmark .
US 6,029,175 discloses an automatic retrieval of changed files by a network software agent. An intelligent network agent intercepts transactions between clients and servers to perform Distributed Information Logistics Services (DILS) functions such as automatically retrieving updated files from remote servers and delivering them to local client programs.
Summary of the invention
A primary object of the invention is to provide a method, computer system and computer program product to facilitate the updating of a data sink such that the response time is reduced and more efficient usage is made of the channel capacity of the communications link used to download the data. In brief this is accomplished by the invention by invoking a program on the server computer to fetch updated data. In a preferred embodiment the program on the server computer is invoked by supplying a uniform resource locator corresponding to the program to the server computer; in response to receiving the uniform resource locator from the client computer the server computer starts the program. In a further preferred embodiment the program is implemented as a common gate way interface ("CGI") script.
The program on the server computer performs the required data processing operations in order to obtain the updated data, such as querying a database or another web site. Once the program on the server computer has obtained the updated data it is sent from the server computer to the client computer.
In addition to the updated data the server computer also sends another program to the client computer. This program is provided to the client computer concurrently with the updated data and is started automatically on the client computer after its' reception. This program can be implemented as a Javascript or a JAVA applet. Under control of the program received from the server computer the updated data is directly or indirectly written to the data sink where typically the dynamic data contained in a web paged is updated.
The updated data can be written directly to a HTML form field of the web page for display on the web page. Alternatively intermediate data processing steps can be performed on the updated data before it is actually displayed in the web page or otherwise utilized on the client computer.
According to a further preferred embodiment one or more parameters are transmitted from the client computer to the server computer within the uniform resource locator of the program on the server computer performing the data retrieval for performing the update on the client computer. The additional parameters can specify a set or a subset of dynamic data to be retrieved in order to further improve response time. This way the user is enabled to work with its' browser program as with an usual application program running locally on its' client computer as the response time for updating of data over the internet and of the browser interface can be as low as fractions of a second and is thus in the same order of magnitute as the response time provided by an application program running locally.
In accordance with the preferred embodiment of the invention an object oriented programming methodology is used for implementation. Using object oriented terminology the data sink object has a data field for holding the data to be updated and typically a window handle pointing to the browser window containing the form field for the updated data. To perform the update operation an update method of a reference object is triggered. The reference object has a handle to the data sink. The update method invokes a load method of another object after having obtained a semaphore. The load method accesses the server computer via the internet for triggering the execution of the CGI script program on the server computer for obtainment of the updated data.
According to a further embodiment the updated data is written to a buffer under control of the JAVA applet received concurrently with the updated data from the server computer. When the updated data is written to the buffer a watchdog function is invoked. The watchdog function obtains the handle to the data sink from the reference object and interrupts the execution of the JAVA applet. This way the watchdog updates the data field of the data sink object either directly or indirectly through the reference object. After the watchdog function has been performed the execution of the JAVA applet resumes and the semaphore is released again.
It is advantageous that the object comprising the load method has an absolute relation to the semaphore and to the buffer such that the server computer does not need to have any a priori knowledge of the address and object structure of the client computer - either implied nor by parameterized data exchange. The absolute location can be defined by the location of a window of the browser on a top level of hierarchy or by the location of an element having a fixed access path to such a top level window or by any public static object of the client computer local object hierarchy having similar properties .
The invention is advantageous in that it allows to obtain the updated data without having to reload the complete web page. For example this can be important for dynamic data, such as stock market or currency exchange data, displayed on the web page of a financial services web portal on a client computer.
The invention also allows to update more than one data sink at a time by means of a control function overlying the updating and load methods .
Brief description of the drawings
The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein: Fig 1 is a schematic block diagram illustrating the functional elements of a method and a computer system according to the invention;
Fig. 2 shows a flow chart of a first embodiment of a method of the invention; and
Fig. 3 is a flow chart of a second embodiment of the invention.
Detailed description of the preferred embodiment
Glossary of terms and acronyms
The following terms and acronyms are used throughout the detailed description:
Client-Server. A model of interaction in a distributed system in which a program at one site sends a request to a program at another site and waits for a response. The requesting program is called the "client", and the program which responds to the request is called the "server". In the context of the World Wide Web (discussed below) , the client is a "Web browser" (or simply "browser") which runs on a computer of a user; the program which responds to browser requests by serving Web pages is commonly referred to as a "Web server" .
Internet. A collection of interconnected (public and/or private) networks that are linked together by a set of standard protocols (such as TCP/IP and HTTP) to form a global, distributed network. (While this term is intended to refer to what is now commonly known as the Internet, it is also intended to encompass variations which may be made in the future, including changes and additions to existing standard protocols) .
World Wide Web ("Web"). Used herein to refer generally to both (i) a distributed collection of interlinked, user viewable hypertext documents (commonly referred to as Web documents or Web pages) that are accessible via the Internet, and (ii) the client and server software components which provide user access to such documents using standardized Internet protocols. Currently, the primary standard protocol for allowing applications to locate and acquire Web documents is HTTP, and the Web pages are encoded using HTML. However, the terms "Web" and "World Wide Web" are intended to encompass future markup languages and transport protocols which may be used in place of (or in addition to) HTML and HTTP.
Web Site. A computer system that serves informational content over a network using the standard protocols of the World Wide Web. Typically, a Web site corresponds to a particular Internet domain name, such as "IBM.com", and includes the content associated with a particular organization. As used herein, the term is generally intended to encompass both (i) the hardware/software server components that serve the informational content over the network, and (ii) the "back end" hardware/software components, including any non-standard or specialized components, that interact with the server components to perform services for Web site users.
HTTP (Hyper Text Transport Protocol) . The standard World Wide Web client-server protocol used for the exchange of information (such as HTML documents, and client requests for such documents) between a browser and a Web server. HTTP includes a number of different types of messages which can be sent from the client to the server to request different types of server actions. For example, a "GET" message, which has the format GET <URL>, causes the server to return the document of file located at the specified URL.
JAVA. A portable language for building of highly distributable applications or applets. An1 applet can be accessed over the Internet. It is self-contained in that it carries its' own presentation and processing code and can run on whatever type of computer which imports it. Applets are being used as "plug- in" units that form part of a larger application.
URL (Uniform Resource Locator) . A unique address which fully specifies the location of a file or other resource on the Internet. The general format of a URL is protocol : //machine address :port/path/filename . The port specification is optional, and if none is entered by the user, the browser defaults to the standard port for whatever service is specified as the protocol.
CGI (Common gateway interface) . A protocol associated with file servers for the World Wide Web. CGI is the logical interface between an http server and an application server. It allows information to be presented to the end user via standard forms.
Semaphore. A method of restricting access to shared resources (e.g., a database or a storage device) in a multiprocessing environment. The semaphore is usually a protected variable (with only a few states) to which access is limited. Fig. 1 shows a block diagram of the functional elements of an embodiment of the method and computer system of the invention. The client computer 1 has a web browser program with a graphical user interface, such as Microsoft Internet Explorer or a netscrape browser. The browser program shows a web page in window 2. The web page has at least one form field 3 which contains certain data. The web page has been downloaded from server computer 4 via internet 5.
The web page can be of any nature: For example it can be a web portal for financial information such as stock quotes or currency exchange rate information. Such information is shown in a plurality of form field 3 in the window 2. However it is also possible that the data which has been downloaded from server computer 4 together with the web page is not directly shown in the browser window 2 but is stored in data field 6 on the client computer 1. The client computer 1 carries out one or more data processing operations on the data stored in data field 6 before the resulting data is shown in one way or another in the form field 3.
The data field 6 forms part of data sink 7 which also has a window handle 8 for the window 2.
Client computer 1 further has reference object 9 which supplies a reference to data sink 7. The reference object 9 comprises update method 10 which is a method for updating of data contained in data field 6 of data sink 7. Further the reference object 9 has handle 11 which points to the data sink such that the data sink 7 is accessible from reference object 9. It is however art essential that the back link 17 is associated with the semaphore 13 provided that the back link has the same object 9 relation or another relation. Further, the client computer provides for a trigger 12. The trigger 12 invokes an update operation to update the data contained in data field 6 of data sink 7 by calling the update method 10. Trigger 12 can be a manual input by a user of client computer 1, for example by clicking a corresponding button shown in the window 2 of the graphical user interface . It is also possible to provide trigger 12 automatically by a program run on the client computer 1 or by a timer function, such that trigger 12 is generated automatically in fixed or varying time intervals. The trigger 12 originates from the client computer 1 and not from the server computer 4.
Client computer 1 has a semaphore 13 to control access to the load method 14 of pane object 15 by update method 10. The pane object 15 has an absolute relation to the semaphore 13 and buffer 16. The absolute relation provided by semaphore 13 and buffer 16 allows the pane object 15 to access the semaphore 13 and the buffer 16. A typical example of an absolute relation is the "top" browser window or any item within it that has a fixed access path in the top window context. A back link 17 is associated with the semaphore 13 and has thus also the absolute relation. Back link 17 is a pointer to reference object 9. It is however not essential that the back link 17 is associated with the semaphore 13 provided that the back link has the same or another absolute relation.
Further the client computer 1 has a watchdog function which is invoked each time data is written into the buffer 16. The watchdog function 18 has access to data which is written into the buffer 16. The watchdog function 18 can trigger an interrupt 19 of the pain object 15 in order to interrupt the execution of a program, such as a Javascript program, executed by the pane object interpreter.
The data sink 7 and the reference object 9 can be united in data sink object 20 combining the functionalities of data sink 7 and reference object 9.
The pane object 15 can access the server computer 4 via internet 5 by means of its load method 14. For example the load method 14 can issue a request to server computer 4 for updated data by providing a uniform resource locator and/or one or more other parameters to the server computer 4 via the internet 5.
In one embodiment the uniform resource locator contained in the update request of the load method 14 specifies a CGI- script of server computer 4. In response to the reception of the uniform resource locator the corresponding CGI-script is executed on the server computer 4 in order to obtain the updated data. The CGI-script can access a database to obtain the updated data. For example in the case of a web portal for financial information the database contains data of current stock quotes and exchange rates of currencies. The update request from load method 14 can contain one or more parameters to further specify which of the data shown in window 2 is to be updated. Without such further specification all data is updated. The updated data is than sent from computer 4 via the internet 5 to the pane object 15 of client computer 1.
In operation the user of client computer 1 starts its' web browser program, inputs the web address of the desired web page which is than downloaded by the browser program from the server computer 4 via the internet 5. After a certain period of time the user may want to update the data shown in the window 2. In the prior art this is done by clicking on the "refresh button" which causes the browser program to completely download the same web page again from server computer 4. This can be frustrating for the user of the client system 1 as each complete refresh operation may require a substantial amount of time only to obtain a limited amount of updated data. A further disadvantage of this prior art method is the inefficient usage of the communication link to the internet 5 of client computer 1.
As opposed to this the update trigger 12 - which is either a manual input by the user by clicking on a button or generated automatically in fixed or varying time intervals by client computer 1 - directly or indirectly calls the update method 10 of the reference object 9. The update method 10 obtains the semaphore 13 and sets the back link 17 to the reference object 9. Next the update method 10 invokes the load method 14 of pane object 15. The load method 14 issues an update request to the server computer 4 via the internet 5. The update request contains the uniform resource locator of the required CGI- script. In response to the reception of the uniform resource locator of the CGI-script by server computer 4 the server computer 4 starts the CGI-script which queries the database to obtain the updated data. This data is than sent from the server computer 4 to the client computer 1 by means of the execution of the CGI-script. This operation is called "standard out" (STDOUT) . The STDOUT implicitly targets the pane object 15. Further the CGI-script returns a program function for initiating a write operation of the updated data.
In the example considered here the program is provided in script language - for example Javascript. The program is immediately executed by the pane objects interpreter after it has been received by the client computer 1.
The program writes the updated data into the buffer 16. The program "knows" where the buffer 16 is located because the buffer 16 is in absolute relation-as semaphore 13 is .
The writing of the updated data into the buffer 16 by the program received from server computer 4 and executed in the pane object 15 invokes the watchdog function 18. The watchdog function 18 accesses the back link 17 to obtain a handle to the reference object 9 and/or to the data sink 7. Once the watchdog function 18 has obtained the back link 17 it writes the updated data to the data sink 7 either directly or indirectly by means of a method provided by the reference object 9.
When the watchdog function is invoked it also provides interrupt 19 to the pane object 15 to interrupt the execution of the program received from the server computer 4. After the write operation of "the updated data to data sink 7 has been completed, the interrupt 19 is released and the execution of the program resumes. Next this program releases the semaphore 13. Releasing the semaphore 13 only after the watchdog function 18 has been completed and the updated data has thus been provided to data sink 7 assures that no new update operation can start before the current one is completed.
As opposed to prior art the CGI-script does not provide functional HTML code but only a Javascript or a JAVA applet program function in addition to the updated data. Overall this is a small amount of data in comparison to the reloading of the complete web page which typically contains many graphic objects. Hence, even a relatively slow internet connection allows to "refresh" a web page within fractions of a second such that the user can work with the web page as with a usual application program as far as respond time is concerned.
With reference to Fig. 2 now a preferred embodiment of the method of the invention is described in more detail also referring to the block diagram of Fig. 1.
In step 1 a web page containing data in form fields is loaded. A trigger to update the data of the form fields is provided in step 2. In step 3 the trigger invokes an update method of the reference object which has a handle to the data sink containing the data to be updated. The update method gets a semaphore in step 4 and sets the back link to itself or directly to the data sink.
After the update method has obtained semaphore in step 4 it invokes the load function in step 5. The load function calls a GCI-script on the server computer via the internet.
In step 6 updated data and a program - such as a Javascript or a JAVA applet program - are received by the pane object containing the load method. The received program is executed by the pane's object interpreter in step 7 such that the received updated data is written to the buffer in step 8. The buffer is in an absolute relation provided by top level of hierarchy by the browser windows; this absolute relation is utilized by the pane object 15 to access the buffer 16 in order to write the updated data. The same absolute relation exists with respect to the semaphore and the pane's object. The writing of the data to the buffer invokes the watchdog function in step 9. The watchdog function obtains the back link. Further the watchdog function interrupts the execution of the received program by the pane object.
In step 10 the updated data is transferred from the buffer to the data sink by the watchdog function. After this operation is completed the execution of the program of the pane's object resumes in step 11 to release the semaphore in step 12 before a next update trigger is made in step 13. An update trigger which is made before the semaphore is released needs to wait until the semaphore is released; only then the update method can be invoked.
Fig. 3 shows an embodiment of the present invention for multiple data to be updated within a web pages. In step 31 such a web page is loaded. The updating of the respective data is triggered in step 32. This invokes a control function in step 33 which creates and starts a new thread for each data sink i of the N data to be updated. The N threads are processed sequentially in steps 34 to 37: First a semaphore is obtained in step 34, the update method of the reference object corresponding to the data sink to be updated is invoked in step 35. After the complete execution of the update method the semaphore is released in step 36 such that in step 37 in the index i is increased in order to return the control to step 34 for the consecutive thread. The control function advantageously is implemented by means of a JAVA applet.

Claims

Claims
1. A method for updating a data sink (7) loaded on a client computer (1), the method comprising the steps of:
a) accessing a server computer (4) to invoke a first program on the server computer to fetch updated data;
b) receiving of updated data and a second program from the server computer; and
c) running the second program on the client computer for initialising a write operation of the updated data to the data sink.
2. The method of claim 1 further comprising the step of providing a uniform resource locator to the server computer to invoke the first program.
3. The method of claim 1 or 2 the first program being a common gateway interface script program.
4. The method of claim 1, 2 or 3 further comprising the steps of:
a) triggering the updating of the data sink by calling an update method (10) of a first object (9) , the first object comprising the update method and a handle (11) to the data sink; and
b) invoking a load method (14) of a second object (15) by means of the update method for accessing the server and receiving the updated data and the first program from the server.
5. The method of anyone of the preceding claims further comprising the steps of:
a) writing the updated data to a buffer (16) ;
b) invoking a watchdog function (18) by the write operation to the buffer to access the first object to effect the write operation of the updated data to the data sink;
c) interrupting (19) the second program when the watchdog function is invoked.
6. The method of anyone of the preceding claims the second object having an absolute relation to a semaphore (13) and to the buffer, the method further comprising the steps of:
a) obtaining the semaphore by the update method;
b) releasing the semaphore by the second program after the execution of the second program resumed following the interrupt.
7. The method of claim 6 the semaphore having an associated pointer (17) to the first object, further comprising the step of obtaining the pointer by the watchdog function for obtaining the handle from the first object.
8. The method of claim 6 or 7 the absolute location being defined by the location of a window of a top level of hierarchy of a browser program showing the web page or by the location of an element having a fixed access path to such a window.
9. The method of anyone of the preceding claims 1 to 8 , further comprising the steps of:
a) triggering the updating of the plurality of data sinks by calling a control function;
b) starting a separate thread by means of a control program for each data sink for updating of each data sink.
10. The method of claim 9 wherein the method for updating the data sink is sequentially called by each thread, the arbitration of the calling being performed by means of a semaphore .
11. A client computer system comprising means adapted for carrying out the steps of anyone of the preceding claims .
12. The client computer system of claim 11 having means for wireless communication with the server computer.
13. A computer system comprising a client computer (1) of claim 11 or 12 and a server computer (4) , the client computer and the server computer being coupled by a network (5) .
14. A data processing program for execution on a client computer system (1) for performing a method according to anyone of the claims 1 to 10 when the data processing program is run on the client computer (1) .
15. A computer program product stored on a computer usable medium, comprising computer readable program means for causing a client computer (1) to perform a method according to anyone of the claims 1 to 10 when the computer program is run to the client computer.
PCT/EP2001/015292 2001-01-10 2001-12-22 Method and system for updating a web page WO2002056198A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2003-7008934A KR20040005868A (en) 2001-01-10 2001-12-22 Method, computer system and computer program product for updating a web page
AU2002231737A AU2002231737A1 (en) 2001-01-10 2001-12-22 Method and system for updating a web page

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01100567.5 2001-01-10
EP01100567 2001-01-10

Publications (2)

Publication Number Publication Date
WO2002056198A2 true WO2002056198A2 (en) 2002-07-18
WO2002056198A3 WO2002056198A3 (en) 2004-01-08

Family

ID=8176181

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2001/015292 WO2002056198A2 (en) 2001-01-10 2001-12-22 Method and system for updating a web page

Country Status (4)

Country Link
KR (1) KR20040005868A (en)
AU (1) AU2002231737A1 (en)
TW (1) TW535071B (en)
WO (1) WO2002056198A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007090235A1 (en) * 2006-02-06 2007-08-16 Uiactive Ip Pty Ltd A system for conducting multi-media communication sessions
US7801947B2 (en) 2004-12-28 2010-09-21 Taiwan Semiconductor Manufacturing Co., Ltd. Software deployment system and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190650B2 (en) * 2006-05-02 2012-05-29 Microsoft Corporation Efficiently filtering using a web site

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055570A (en) * 1997-04-03 2000-04-25 Sun Microsystems, Inc. Subscribed update monitors
SE9703757L (en) * 1997-10-15 1999-04-16 Telia Ab Procedure and arrangement for creating card information in computer systems
US7107548B2 (en) * 1998-10-28 2006-09-12 Yahoo! Inc. Method of controlling an internet browser interface and a controllable browser interface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7801947B2 (en) 2004-12-28 2010-09-21 Taiwan Semiconductor Manufacturing Co., Ltd. Software deployment system and method
WO2007090235A1 (en) * 2006-02-06 2007-08-16 Uiactive Ip Pty Ltd A system for conducting multi-media communication sessions
US8499084B2 (en) 2006-02-06 2013-07-30 Xumii, Inc. System for conducting multi-media communication sessions

Also Published As

Publication number Publication date
TW535071B (en) 2003-06-01
AU2002231737A1 (en) 2002-07-24
WO2002056198A3 (en) 2004-01-08
KR20040005868A (en) 2004-01-16

Similar Documents

Publication Publication Date Title
US7269664B2 (en) Network portal system and methods
US6560618B1 (en) On-demand generation, packaging, and delivery of archive files
CN100380864C (en) Method and system for updating/reloading the content of pages browsed over a network
US8423527B2 (en) Enabling interactive integration of network-accessible applications in a content aggregation framework
US6363398B1 (en) Database access using active server pages
US6105028A (en) Method and apparatus for accessing copies of documents using a web browser request interceptor
US6757708B1 (en) Caching dynamic content
US6061686A (en) Updating a copy of a remote document stored in a local computer system
US6823359B1 (en) System and method for continually updating dynamic data
US6253228B1 (en) Method and apparatus for updating and synchronizing information between a client and a server
US5740430A (en) Method and apparatus for server-independent caching of dynamically-generated customized pages
US6701485B1 (en) Binding spreadsheet cells to objects
US6397253B1 (en) Method and system for providing high performance Web browser and server communications
US5991760A (en) Method and apparatus for modifying copies of remotely stored documents using a web browser
CN100514325C (en) Methods and systems for displaying content page and providing content for internet users
CA2839006C (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
CA2346156C (en) Method and system for website overview
US6665860B1 (en) Sever-based method and apparatus for enabling client systems on a network to present results of software execution in any of multiple selectable render modes
JPH1091446A (en) Discovery of java base application and usage of distribution object system for down-load
US20010047397A1 (en) Method and system for using pervasive device to access webpages
US7698256B1 (en) History support for stateless Javascript Web client
US6182140B1 (en) Hot objects with multiple links in web browsers
WO2002056198A2 (en) Method and system for updating a web page
US20030172126A1 (en) Method and system for displaying condensed web page information in response to a user query
US20070240048A1 (en) A standard communication interface for server-side filter objects

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): 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 LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020037008934

Country of ref document: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1020037008934

Country of ref document: KR

122 Ep: pct application non-entry in european phase
WWR Wipo information: refused in national office

Ref document number: 1020037008934

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP