1) Field of the Invention
The present invention relates to a technology for matching contents of a cache memory to contents of a database.
2) Description of the Related Art
Systems are known that make is possible to execute electronic-commerce transactions, over the Internet and using a web browser, from terminal of the users, or make it possible to access database of an enterprise, over the Internet and using a web browser, from terminal of the users. An application server is used in such systems as a middleware to control access to the database from the terminals of the users.
Although it is difficult to handle status transition in the web browser, it is not so difficult in the application server. Therefore, the systems mentioned above can be easily construction and operates smoothly when the application server is provided as the middleware.
In such systems, a cache is provided to reduce frequency of access to the database. A related technology has been disclosed in, for example, Introduction to Web system, Jan. 23, 2003, HYPERLINK http://www.atmarkit.co.jp/fjava/rensai2/websys08/websys08.html.
However, when the database is updated, a mismatch is produced between the contents in the cache memory and the contents in the database. To solve this problem, a notification that indicates that the database has been updated is sent to the application server and the application server refreshes the contents in the cache to match with the contents in the database.
However, there is a problem that it is necessary to provide a means to generate and output the notification that indicates that the database has been updated.
In recent years, especially, parts-production of a program running in an application server or the like has advanced due to object-oriented languages such as JAVA 2 Enterprise Edition (J2EE). However, the parts-production of the program becomes difficult due to dependence on the processing performed at the database-side.
Further, cache contents in the application server are not stored at the database side, and a location in the database from which the cache contents have been extracted is not stored at the server side. Hence, when the database has been updated, an update notification is transmitted regardless of whether the cache contents should be refreshed, and moreover, the application server erases from the cache, even data that is not required to be updated. As a result, excessive cache refreshing occurs, which results in an increased load on the server.
Further, when the number of application servers connected to a database increases, load required for the database to perform a cache processing in each application server increases, which reduces the processing speed of the database.