Title of Invention | " METHOD FOR FULFILLING REQUESTS FOR INFORMATION DATA FROM A NETWORK CLIENT" |
---|---|
Abstract | Disclosed herein are a method and a system of fulfilling requests for information data from a network client in a client-server environment. The information data requested is accessible from a network server and is displayable through a form-based format hypertext document whereby the information data are provided by the filling of dedicated form fields in the hypertext document. The method comprises the following steps. Receiving (13) at the network client a hypertext document and a program component; displaying (31) the hypertext document, the hypertext document having initially no information data filling its form fields; obtaining (41) a request for information from a user of the network client, through a user interface presented to the user as a result of the displaying of the hypertext document, and calling (43) the program component for obtaining the requested information data; upon determination (51) that the requested information data is already or not stored in a buffer memory allocated to the program component in the network client, obtaining (57) the requested data by retrieving them from the buffer memory, or downloading (53, 55, 57) them from the network server; filling (59) the appropriate form fields in the hypertext document with the obtained information data, and displaying the hypertext document with the requested information data contained therein. |
Full Text | METHOD AND SYSTEM OF FULFILLING REQUESTS FOR INFORMATION FROM A NETWOPK CLIENT TECHNICAL FIELD The invention relates generally to exchanging information in a Client-server computer network More particularly, the invention relates to a method of fulfilling requests for information data from a network client, the information data being accessible from a network server and being displayable through a form-based format hypertext document The invention also relates to a system for carrying out such a method BACKGROUND OF THE INVENTION Client-server computer networks are well known The most prominent example of a client-server computer network is the Internet The Internet is a collection of networks that allows users at disparate, heterogeneous computer systems to communicate with each other across organizational ard geographical boundaries The exchange of information on the Internet follows the traditional network rule based on the client-server architecture The Internet uses a packet switched protocol referred to as the Transmission Control Protocol/Internet Protocol (TCP/IP) Full Internet access usually includes five key features, electronic mail (e-mail), logging on to Internet-connected computers using Telnet, transferring files from Internet-connected computers using File Transfer Protocol (FTP), getting access to discussion groups, and using various information-research tools, especially the World Wide Web (WWW or Web) The present invention is particularly concerned with the World Wide Web The World Wide Web is a hypertext-based information service that makes collections of information available across the Internet It allows web browser clients to access information from any accessible web server and supports multiple media types The World Wide Web can be used to invoke other software by means of embedded hypertext links Hypertext Markup Language (HTML) is used to describe static text documents, and a web browser is essentially an HTML interpreter A Uniform Resource Locator (URL) is basically a network location which tells the user not only where something is (its address), but also what it is The basic form of a URL address is service //hostname/path which identifies what Internet service is needed to reach the resource, what computer it is located on, and enough detail to find what is being searched for Embedded hypertext links on a given web page can be used to find information related to the given web page By clicking on a hypertext link in one web page, the user can display another related web page or even invoke a related program By navigating through the Web, it is now possible to connect and communicate with platforms of different, architectures, such as remote databases, accessible via web servers Typically, data stored in a remote database are presented to a user connected to a web client (e g , a web browser), through a form-based format HTML document, commonly referred to as HTML form In tne HTML form, data which is to be looked up 1 e , the "dynamic data", populate dedicated fields of the HTML form At the client side, the HTML documert is interpreted by the client web browser and a GUI (graphical user interface) presenting the data is displayed to the user According to a typical process, an input HTML form is used to collect data defining a request from a user connected to a web client The request data is then supplied to a language-independent interface program in the web server, such as a CGI program (common gateway interface) or a servlet program, which interfaces a database application program that is responsible for providing the data requested The server interface program finally produces an output HTML form containing the requested data populating the form fields, and send it to the web client Thus, at the server side, the data which are looked up, 1 e , the "dynamic" or "useful" data are retrieved from their storage location, then they are merged with the static data 1 e the "template" or "mask" data of the HTML form-based format document, finally the whole document is sent to the web client However, the above process presents the shortcomings that it penalizes the response time and generates internet traffic overheads, particularly, for example, in cases when only the dynamic data vary while the static data remain unchanged from one query to another, in other words, when the way of presentation of the data remains unchanged Still according to that typical process, when a user, at the client side, wants to make a new information query through a GUI displayed, a new request is generated through an HTML form and the whole document is sent to the web server, even if the new data requested had already been sought and obtained by the user during the same database query session This again penalizes the response time and generates internet traffic overheads Furthermore, in cases when the user wants to update certain data currently displayed through the HTML form, the user typically modifies those data by changing the value of certain fields of the HTML form displayed 1 e , the web page currently displayed To validate that modification the whole HTML form is transmitted to the web server Now, if the web page displayed was only a portion of a data record stored in the database, then, in order to modify another portion of the same data record, the user has to make a new request for downloading that portion of the same data record This latter operation is again not effective in terms of response time and Internet traffic overheads generated Furthermore, it is of a non convenient use for the user SUMMARY OF THE INVENTION Accordingly, a main object of the present invention is to overcome the above-mentioned shortcomings of prior art methods of accessing information from a web client This and other objects are achieved by the invention, by providing, in one aspect, a method of fulfilling requests for information data from a network client, these information data being accessible from a network server and being displayable through a form-based format hypertext document whereby the information data are provided by the filling of dedicated form fields in the hypertext document In accordance with the invention, this method comprises the following steps - receiving at the network client, sent from the .network server, a hypertext document and a program component, displaying the hypertext document, the hypertext document having initially no information data filling its form fields, - obtaining a request for information from a user of saia network client through a user interface presented to the user as a result of the displaying of the hypertext document, and calling the program component for obtaining the requested information data, - upon determination that the requested information data is already or not stored in a buffer memory allocated to the program component m the network client, obtaining the requested data by retrieving them from the buffer memory, or downloading them from the network server, - filling the appropriate form fields in the hypertext document with the obtained information data, and displaying the hypertext document with the requested information data contained therein The method of fulfilling client requests for information data as succinctly defined above makes it possible to save a great deal of network traffic between the client and rbe server This is achieved, in the one hand, by neatly separating the management of the (HTML) form (1 e static data or mask data) displayed to the user, from the data obtained from the database (1 e the dynamic data) , and, in the other hand, thanks to a temporary storing of the dynamic data controlled by the program component in the client machine Furthermore, the response times in looking up data in the client machine are considerably reduced, due notably to the temporary storage of downloaded data locally in the client machine (in the buffer memory) Besides a client browser to be used to request information data to look up is completely standard, 1 e it need not be adapted or configured to implement the present invention According to an advantageous characteristic of the invention, the user is provided with the capability of modifying at least some of the information data which are presented to him (her) , by changing the content of the corresponding form fields through the user interface The method according to the invention, comprises the further steps of - automatically retrieving the modified information data contained in the form fields and calling the program component in order to store the modified information data in the buffer memory, - in response to an action performed by the user through the user interface, said action being performed independently of the retrieval of modified information data, calling the program component in order to upload to the network server the modified information data One advantageous feature is that the user (validation) action is performed independently of the retrieval of the modified information data That is, the user may look up other data records and decide to "commit" the modifications applied to one or more records at the end of the database lookup session According to a preferred implementation of the invention, the hypertext document is an HTML document in which the content of the form fields is managed by a script program referenced in the HTML document by appropriate tags The script program is notably responsible for calling the program component for triggering a download of information data requested by the user, for automatically retrieving from the form fields modified information data and calling the program component for temporarily storing the modified information data in the buffer memory, and for calling the program component for triggering an upload of previously stored modified information data According to a preferred embodiment of the invention, the so-called script program is a JavaScript program and the so-called program component is a Java applet, that are referenced in the HTML document by appropriate tags Another important and advantageous feature of the invention is the "coupling" between a script program (JavaScript program in the preferred implementation) that manages the interaction between the HTML form and a user connected to a network client, and a program component (applet) that controls the interaction between the HTML form presented to the user and the distant server In particular the (applet) program component is provided with a buffer memory allocated to it in the network client and intended notably for temporarily storing data downloaded to the client or to be uploaded to the server from the client, thus acting as a cache memory According to another aspect, the invention concerns a computer system comprising means adapted for carrying out a method of fulfilling requests for information as succinctly described above The invention also concerns a computer program comprising software code portions for performing a method as briefly defined above, when the computer program is loaded into and executed by a computer The invention further concerns a computer program product stored on a computer usable medium The computer program product comprises computer readable program means for causing a computer to perform a method of fulfilling requests for information as briefly defined above The advantages of this computer system, this computer program, this computer program product are identical to those of the method as succinctly disclosed above Other particularities and advantages of the invention will also emerge from the following description BRIEF DESCRIPTION OF THE DRAWINGS In the accompanying drawings, given by way of non-limiting examples - Figure 1 is a flowchart illustrating the mam steps of a method of fulfilling requests for information data from a network client, in accordance with the invention, - Figure 2, which includes FIGs 2a-2d, is a flow chart illustrating in more detail a method of fulfilling requests for information data form a network client in accordance with a preferred implementation of the invention, - Figure 3 is a diagram showing the layout of a screen into two frames in accordance with a preferred embodiment of the invention, Figure 4 is a block diagram showing a web client communicating with a web server through a client-server communication network, in accordance with the invention Like reference numerals refer to corresponding parts throughout the several views of the drawings DETAILED DESCRIPTION OF THE INVENTION The following definitions may be useful in furthering the understanding of the present invention APPLET— a small Java program that can be embedded in a HTML page Applets differ from full-fledged Java applications in that they are not allowed to access certain resources on the local computer, such as files and serial devices (modems, printers, etc ) , and are prohibited from communicating with most other computers across a network The current rule is that an applet can only make an Internet connection to the computer from which the applet was sent BROWSER— a client software program that is used to look at various kinds of Internet resources CLIENT— a computer or a software package that is used to contact and obtain data from a server software program or another computer, often a great distance Each client program is designed to work with one or more specific kinds of server programs, and each server requires a specific kind of client A web browser is a specific kind of client CGI— Common Gateway Interface provides an interface for running programs on the a world Wide Web server The most common uses are for input forms with dynamic returns forms The CGI-BIN is often the directory where a specific CGI program is located on the server GUI— graphical user interface which allows interaction between a computer user and an application by graphical commands as opposed to typed commands HTML— hypertext mark-up language enables embedding of simple commands within standard ASCII text documents to provide an integrated visual display HTML is used in Internet and WWW applications allowing the user to specify text size and flow, integrate audio and pictures, create links and to create interactive forms HTTP— hypertext transport protocol allows moving of hypertext files across the Internet It requires a HTTP client program on the one hand, and an HTTP server program on the other hand HTTP is the most important protocol used in the WWW INTRANET— A private network inside a company or organization that uses the same kinds of software that you would find on the public Internet, but that is only for internal use As the Internet has become more popular many of the tools used on the Internet are being used in private networks, for example, many companies have web servers that are available only to employees JAVA— Java™ is a network-oriented programming language invented by Sun Microsystems that is specifically designed for writing programs that can be safely downloaded to a computer through the Internet and immediately run without fear of viruses or other harm to the computer or files Using small Java programs (Applets), web pages can include functions such as animations, calculators and other fancy tricks JAVASCRIPT— a scripting language that allows lines of Java code to be inserted into HTML scripts Microsoft version is named Jscript™ SERVLET— Servlets are modules of Java code that run in a server application (hence the name "servlets", similar to "applets" on the client side) to answer client requests Servlets are not tied to a specific client-server protocol but they are most commonl used with HTTP and the word "servlet" is often used in the meaning of "HTTP servlet" Since servlets are written in the highly portable Java language and follow a standard framework, they provide a means to create sophisticated server extensions in a server and operating system independent way Servlets are replacing progressively CGI programs The present invention aims to provide a method of fulfilling requests for information data from a network client in a client-server networking environment The information data requested are accessible from a network server, e g , a database server, and are displayed to a user in a form-based format hypertext document That is, when the hypertext document is displayed, data is presented to the user as populating fields of a form Such database applications whose data is typically presented to a user through displayed forms, include for example banking database applications and human resources database applications Referring now to the drawings, and more particularly to FIG 1, a description will be given of the main steps of a method of fulfilling requests for information data from a network client, in accordance with the invention The network client is typically a client machine such as a computer The method illustrated at FIG 1, starts at step 11 in which a user connected to a client machine makes a request for a network server home page The network server considered here is a database server that provides information stored in a database locally stored in the server machine or accessible via the server machine That is, in the latter case, the database may be accessible through a private network such as a local area network (LAN) or an Intranet, to which the server machine is connected The user gains access to the server home page by "pointing" a web browser running on the client machine to the corresponding URL, denoted here "URL(server) " As shown in box 11, "URL(server)" points to a hypertext document referred to here as "FRAMESET HTM" In practice this hypertext document is a HTML document At step 13 the client receives the HTML document sent from the server The HTML document is then loaded by the client web browser As previously mentioned, the HTML document loaded is a form-based hypertext document whereby the information data displayed through it are provided by the filling of dedicated HTML form fields in the document According to the invention, the content of the HTML form fields is managed by a script program, i e , a scripting language program, referenced in the HTML document "FRAMESET HTM" by appropriate tags In the preferred implementation of the invention, that script program is a JavaScript program As will be further detailed, the script program is notably responsible for calling the program component for triggering a download of information data requested by a user, for automatically retrieving from the form fields modified information data and calling a program component for temporarily storing the modified information data in a buffer memory associated to the program component, and for calling the program component for triggering an upload of previously stored modified information data According to a preferred embodiment of the invention, the HTML document "FRAMESET HTM" includes at least two frames To this end, the document "FRAMESET HTM" commonly includes the appropriate following HTML tags The content of one of the frames is associated with a URL referred to as "URL(framel)" and points to an HTML document herein designated by "APPLET HTM" Another one is associated with a URL referred to as "URL (f rame2) " which points to an HTML document denoted "BORDER HTM" The following HTML tags contained in HTML document "FRAMESET HTM" show the principle of the definition of frames in an HTML document HTML document "APPLET HTM" contains a reference, effected by appropriate HTML tags, of a program component which is a Java small program called "Applet" in the preferred implementation of the invention Java applets are inserted into a HTML document by means of the |
---|
837-delnp-2003-complete specification (as files).pdf
837-delnp-2003-complete specification (granted).pdf
837-delnp-2003-correspondence-others.pdf
837-delnp-2003-correspondence-po.pdf
837-delnp-2003-description (complete).pdf
837-delnp-2003-petition-138.pdf
Patent Number | 218296 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Indian Patent Application Number | 837/DELNP/2003 | ||||||||||||||||||
PG Journal Number | 42/2008 | ||||||||||||||||||
Publication Date | 17-Oct-2008 | ||||||||||||||||||
Grant Date | 31-Mar-2008 | ||||||||||||||||||
Date of Filing | 28-May-2003 | ||||||||||||||||||
Name of Patentee | INTERNATIONAL BUSINESS MACHINE CORPORATION, | ||||||||||||||||||
Applicant Address | ARMONK, NEW YORK 10504, U.S.A. | ||||||||||||||||||
Inventors:
|
|||||||||||||||||||
PCT International Classification Number | G06F 17/30 | ||||||||||||||||||
PCT International Application Number | PCT/EP01/10301 | ||||||||||||||||||
PCT International Filing date | 2001-09-07 | ||||||||||||||||||
PCT Conventions:
|