Browse Prior Art Database

Code Page Conversion Negotiation Algorithm for Distributed Databases

IP.com Disclosure Number: IPCOM000104978D
Original Publication Date: 1993-Jun-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 4 page(s) / 120K

Publishing Venue

IBM

Related People

Shi, SB: AUTHOR [+2]

Abstract

In a heterogeneous client-server environment it is possible for two communicating processes to be operating in two different code pages. It is therefore important to be able to convert such that the proper data be manipulated, and the original intent be preserved. This disclosure presents an algorithm for database client and server to negotiate which will do the code page conversion.

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

Code Page Conversion Negotiation Algorithm for Distributed Databases

      In a heterogeneous client-server environment it is possible for
two communicating processes to be operating in two different code
pages.  It is therefore important to be able to convert such that the
proper data be manipulated, and the original intent be preserved.
This disclosure presents an algorithm for database client and server
to negotiate which will do the code page conversion.

      DRDA (Distributed Relational Database Architecture) defines
that whichever workstation receives the data should do the
conversion.  In this case, both the client and the server need to
store the necessary conversion tables.  This causes problems for
clients with limited amount of memory but which need to connect to a
number of servers.  Because of memory constraints, those clients will
not be able to store large number of conversion tables.  Another
alternative is to dedicate the conversion work to either client or
server.  The problem with this approach is that the server will be
overloaded with conversion work, or the client, which is short of
memory will not be able to communicate with the server.  Instead, we
are proposing an algorithm to allow database clients and servers to
negotiate which workstation should do the conversion.  In this
algorithm, the workload of the server can be dynamically adjusted by
asking those clients who are capable of doing conversion to do
conversion.  On the other hand, the server will perform conversion
for those skinny clients which do not have conversion capabilities.

      In designing our system, we recognized that it possible that
not every machine will be able to perform the code page conversions
for every combination of code pages.  Further, it is possible that in
some cases both the client and the server are capable of the
conversion, but that a system administrator desires that one machine
or the other perform the conversions due to system loading concerns.

      The decision of the machine on which to perform the conversions
is made when the connection is made from the client to the server.
This is done via the START USING DATABASE procedure.  Our design
allows for a negotiation to be made between client and server.  It
provides for the following:

1.  If neither of the machines can perform the necessary code page
    conversions, the START USING DATABASE fails.

2.  If only one of the two machines can perform the conversions, then
    that machine is assigned the conversion task.

3.  If both machines can perform the conversions, then "preference"
    flags are used to decide the converting machine - with the server
    machine having the final say.

The preference flags are assigned as follows:

Client

1 - I want to do conversions.
2 - I can convert, but do not want to.
3 - I cannot do conversions.

Server

1 - I will do the conversions.
2 - I can convert, but do not want to.

      Fig. 1.  i...