Browse Prior Art Database

Cache Dynamic Structured Query Language Statements on Client for Client/Server Environments

IP.com Disclosure Number: IPCOM000117345D
Original Publication Date: 1996-Feb-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 4 page(s) / 107K

Publishing Venue

IBM

Related People

Broich, JM: AUTHOR

Abstract

A method for improving performance of the client in client/server applications is disclosed.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Cache Dynamic Structured Query Language Statements on Client for
Client/Server Environments

      A method for improving performance of the client in
client/server applications is disclosed.

      The performance of the database access portion of client/server
applications can be improved  by "caching" information related to the
database request at the client.  This improvement allows the client
to perform work typically done at the server, thus reducing server
CPU overhead and network traffic.

      Fig. 1 depicts the typical client/server application making
database requests (typically a Structured Query Language (SQL)
statement).  The database requests consist primary of 2 phases:  a
preparation phase and an execution phase.  The preparation phase
performs syntactical checks on the database request, performs
validity checking of database objects referenced in the request, and
generates an access plan (a method to access the objects in the
request).  The output of the preparation phase which is returned to
the client can include, based on the request, a detailed description
of individual database fields referenced in the request.  In the
following scenario, a full preparation and execution phase is
required for each database request.
  Psuedo-code for client
  receive database request
  issue preparation phase to the server
  if successful,
    issue execution request to the server
  Psuedo-code for server
  receive database request
  execute database request
  return status and other information to client

      As shown in Fig. 2, some implementations of client/server
applications store database requests at the server in a persistent
object.  The database requests are stored in the object with the
access plan.  The advantage of this is if the same database request
is run repeatedly, the server can recognize this (by examining the
database request) and and use the information in the object to
satisfy the request.  In effect, the preparation phase for the server
in this scenario consists only of determining if the database request
exists in the object, gathering information to be returned to the
client from the object, and then returning.  In the...