Method and apparatus for translating variable names to...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C707S793000, C704S007000, C717S152000

Reexamination Certificate

active

06334122

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to information handling systems, and, more particularly, to a method and apparatus for translating variable names to column names for accessing a database.
2. Description of the Related Art
Many manufacturing facilities have installed automated systems for controlling the manufacture of products. These control systems typically include a network of computers, or other processing devices, that connect various components of the system (e.g., processing equipment, records control equipment, product flow equipment, etc.). Usually the control system is implemented using software written for computers implementing UNIX or Microsoft Windows® NT that communicate over a Transmission Control Protocol/Internet Protocol (TCP/IP) network.
The control system software allows various components on the system to interact in accordance with the system protocol. An exemplary messaging product for providing such an exchange is the ISIS system offered by Stratus Computer, Inc. Generally, the ISIS system provides a message bus for use in information exchange. One or more pieces of equipment may be coupled to the message bus. An equipment interface (i.e., a computer executing interface software) communicates with the message bus and generates ISIS compatible messages for transmission to other devices. Available messaging systems, such as the ISIS system, sometimes use non-preemptive, ping-based communication protocols. If the message bus checks the availability of a piece of equipment (i.e., pings the equipment), and the equipment interface fails to respond, the device is disconnected from the message bus. A disconnection problem is also encountered by other programs, such as 16-bit Windows® programs handling context switches and user input.
Typically, one or more servers are coupled to the message bus for storing and retrieving information, such as tracking information, manufacturing information, and the like. The servers are coupled to relational databases for storing and retrieving the data. Relational database transactions are inherently atomic, in that they cannot be broken down into smaller transactions for completion. In some cases, a database transaction may take a long time to complete due to the size of the database being accessed. During this access time, the message bus may ping the device database application, which cannot respond due to the pending transaction. In such a case, the application may be disconnected from the bus and thus be unavailable for future access.
One technique for addressing the latency problem involves using a front end application on the server to receive a message, decode the message (ie., also known as parsing the message), and enqueue the message. A database interface portion of the server software retrieves messages from the queue and executes the instructions therein as resources are available. The front end application maintains communication with the message bus, so the server is not disconnected while retrieving the data. This technique has several limitations.
Typically, accesses to the server include database column name information. The front end application parses the message to extract the command and column name information to verify that the command is acceptable to the database interface (e.g., proper format, necessary fields are present, etc.). Both the front end application and the database interface must know the structure of the database to properly address the instruction. Changes in the database structure require reprogramming of both the front end application and the database interface.
Another limitation lies in the fact that programming names used to reference variables often do not mirror the column names of the database. For example, programming names often include mixed-case characters and/or special characters (e.g., wafer_Id). Typically database column names referenced by the database are not case sensitive and cannot include some special characters. Also, the results are returned from the database in lower case (e.g., waferid). To address this problem, the front end application and the database interface must be hard coded to translate the program names to column names for accessing the database (e.g., wafer_Id=waferid), and must also translate the column names provided in the results of the database transaction back into program names that can be transferred back to the requesting device (e.g., waferid=wafer_Id).
Using the two process architecture described above (i.e., front end application and database interface) to address the latency problem creates a code maintenance problem. Both the front end application and the database interface must be reprogrammed in response to changes in the database structure or column names (e.g., addition of a new column to the database). If other devices on the message bus access the database, they must also be re-coded in response to database changes. The code is not portable, in that unique code must be created for each type of equipment being serviced. For example, if a different device is added to the network a custom front end application specific to the new device must be created.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
SUMMARY OF THE INVENTION
One aspect of the present invention is seen in a method for accessing a database. The database includes an information table. The method includes providing an alias table. The alias table includes a plurality of variable names and a plurality of column names. Each column name is associated with one of the plurality of variable names. A message is received. The message includes at least a first variable name. The alias table is accessed based on the first variable name to identify a first column name associated with the first variable name. The information table is accessed based on the first column name.


REFERENCES:
patent: 5418950 (1995-05-01), Li et al.
patent: 5584026 (1996-12-01), Knudsen et al.
patent: 5594899 (1997-01-01), Knudsen et al.
patent: 5596752 (1997-01-01), Knudsen et al.
patent: 5682535 (1997-10-01), Knudsen
patent: 5734887 (1998-03-01), Kingberg et al.
patent: 5761672 (1998-06-01), Samuelsson et al.
patent: 5774692 (1998-06-01), Boyer et al.
patent: 5794229 (1998-08-01), French et al.
patent: 5812840 (1998-09-01), Shwartz
patent: 5893087 (1999-04-01), Wlaschin et al.
patent: 5937402 (1999-08-01), Pandit
patent: 6161103 (2000-12-01), Rauer et al.
Sullivan, Joan, “SQL Test Suite Goes Online”, Software Diagnostics & Conformance Testing Div., US NIST, Computer, vol. 30, Issue: 6, Jun. 1997, pp. 103, 105.*
Bansal, Arvind K. et al., “Data-parallel Compilation and Query Power Extension of Large Knowledge Bases”, Proceedings of the Fourth International Conference on Tools with Artificial Intelligence, 1992, TAI '92, Nov. 10-13, 1992, pp. 276-283.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for translating variable names to... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for translating variable names to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for translating variable names to... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2595516

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.