Electrical computers and digital processing systems: multicomput – Distributed data processing – Client/server
Reexamination Certificate
1997-07-28
2001-11-27
Choules, Jack (Department: 2177)
Electrical computers and digital processing systems: multicomput
Distributed data processing
Client/server
C707S793000
Reexamination Certificate
active
06324565
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates generally to the transmission and storing of documents in a computer network and more particularly to the transmission and storing of information used to dynamically generate documents.
BACKGROUND OF THE INVENTION
The increase in the volume of blocks of information or “documents” transmitted over computer networks has placed significant demands on those networks, particularly wide area networks such as intranets, the Internet or the World Wide Web. The documents (e.g., an HTML web page and associated files) requested may be quite large and thus require a great deal of transmission bandwidth and a significant amount of time to retrieve the document. In the case of a wide area network, the requesting computer or “client” may be a long distance from the computer or “server” on which the document resides. When large distances are involved, the expense associated with the use of transmission lines for the communications naturally increases. In addition, the delay in the client receiving the document also increases which may result in a failure of a particular application, wasted computer time, and frustration on the part of users.
In order to decrease costs and transmission time, networks have begun to store or “cache” documents at various locations to reduce the distance between a user and the stored document. For instance, if a client in San Francisco requests a document which is located in New York, that request will generally flow through an intermediate server located in San Francisco. That intermediate server will request the document from the New York server and then transmit the document to the client. If the network is configured for caching, the intermediate receiver may also retain a copy of the document. When the intermediate server next receives a request for the document, the request will not be forwarded to the New York server. Instead, the transmission is interrupted by caching software at the intermediate server which retrieves the document from the intermediate server and forwards it to the client. Since all transmissions relating to fulfilling the second request for the document take place in the San Francisco area, transmission time and cost is greatly reduced.
One problem associated with caching documents is the possibility that the document cached at the intermediate server may become stale. The author of the document or others may make changes to the document at the “content providing” server in New York. If such a change is made the cached document in San Francisco is outdated or stale. In order to limit the number of stale documents which are cached, the intermediate server may destroy documents after a certain period of time or may destroy a document if a request for that document has not been received within a certain period of time. Such solutions are undesirable because they do not ensure that a cached document is not stale and require complete recopying of a document once it has been removed or flushed from a cache site. In other systems, the content providing server will notify any caching intermediate servers when a document has been altered or the intermediate server will request assurance that the document has not been changed prior to transmitting its own cached copy of the document. Such systems, however, also generally require complete retransmission of the document, along with the attendant delays, if the document has been changed.
Certain documents are not stored at a content providing server as a complete file, but are instead generated dynamically using a program which acts on data. The data may or may not be stored at the content providing server and may be subject to change or updating. Documents which are dynamically generated are usually done so in order to save storage space and because the data on which the document is based is frequently changed or updated. Caching of such dynamically generated documents is therefore problematic because those documents may require frequent updating and might also require retrieval of data, not just from the content providing server, but from other sources as well.
SUMMARY OF THE INVENTION
In accordance with one aspect of the present invention, a method of caching a dynamically generated document at an intermediate server includes receiving from a client, at the intermediate server, a request for a document located at a content providing server. The request is transmitted from the intermediate server to the content providing server and the content providing server obtains instructions and data for the document. The instructions and data for the document are transmitted to the intermediate server where the instructions and the data are stored. The document is transmitted from the intermediate server to the client.
The intermediate server may be located remote from the content providing the server. The data may be stored in a database and a database manager notifies the content providing server when the data are changed. The content providing server may notify the intermediate server when the data are changed.
The intermediate server may carry out the instructions utilizing the data to create a document. The instructions may be in the form of a CGI program.
The intermediate server may receive a second request for the document. The intermediate server then carries out the instructions utilizing the data to create the document and transmits the document to a client. A database manager may notify the content providing server when a database containing the data is being altered. The invention includes providing an apparatus for carrying out the method of the present invention.
In accordance with another aspect of the present invention, a method of dynamically generating a document at an intermediate server includes receiving from a client, at the intermediate server, a request for a document located at a content providing server. The document is of the type that can be generated from an instruction set using a data set. The request for the document is transmitted from the intermediate server to the content providing server and the instruction set is transmitted from the content providing server to the intermediate server. The instruction set is reviewed to determine if the intermediate server has the data set. If the intermediate server does not already have the data set, the intermediate server obtains the data set. The intermediate server thereafter creates the document and transmits the document to the client.
The intermediate server may retain the instruction set and the data set. Upon receiving a second request for the document at the intermediate server, the intermediate server may create the document utilizing the instruction set and the data set and then transmits the document. After receiving the second request, a determination may be made of whether the data set retained at the intermediate server is current. The content providing server may notify the intermediate server if the data set is changed.
A first portion of the data set may be located at the content providing server and a second portion of the data set may be located at a third server. The first portion of the data may be retained by the intermediate server.
Other features and advantages are inherent in the method and apparatus claimed and disclosed or will become apparent to those skilled in the art from the following detailed description in conjunction with the accompanying drawings.
REFERENCES:
patent: 5699526 (1997-12-01), Siefert
patent: 5745754 (1998-04-01), Lagarde et al.
patent: 5754774 (1998-05-01), Bittinger et al.
patent: 5758078 (1998-05-01), Kurita et al.
patent: 5761673 (1998-06-01), Bookman et al.
patent: 5781909 (1998-07-01), Logan et al.
patent: 5790790 (1998-08-01), Smith et al.
patent: 5806065 (1998-09-01), Lomet
patent: 5857191 (1999-01-01), Blackwell, Jr. et al.
patent: 5918013 (1999-06-01), Mighdoll et al.
patent: 6003087 (1999-12-01), Housel, III et al.
patent: 6012083 (2000-01-01), Savitzky et al.
patent: WO 97/19415 (1997-05-01), None
patent: WO 97/17662 (19
Ali Mohammad
Choules Jack
Qwest Communications International Inc.
Townsend and Townsend / and Crew LLP
LandOfFree
Dynamically generated document cache system does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Dynamically generated document cache system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamically generated document cache system will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2610020