Software Interface for dynamic API mapping

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000

Reexamination Certificate

active

06253257

ABSTRACT:

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to application Ser. No. 08/904,406, now abandoned, entitled “SOFTWARE INTERFACE ADAPTER FOR USE WITH MULTIPLE DEVELOPMENT TOOLS,” filed on same date herewith, by Jack P. Dundon and Matthew L. Courtois, which application is incorporated by reference herein.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates in general to networked computer applications, and in particular to an method and apparatus for dynamically mapping application program interfaces.
2. Description of Related Art
An important trend in the industry is the development of client/server architectures in distributed computing environments to support transaction processing applications. Currently, distributed computing environments typically comprise interconnected mainframes, minicomputers, servers, and workstations. Libraries implemented in the client/server architecture are used by the client/server applications, usually through application program interfaces (APIs) designed for use with “C” or other programming languages, to respond to commands and perform application functions. In general, these libraries may be resident on all of the nodes in the client/server architecture within a networked environment.
One advantage of the distributed client/server architecture is the ability to support different application environments. This feature is particularly useful in providing services to remote users because in some cases, hardware, communications, data access, cost, or other limitations, may require these remote users to implement reduced functionality, or “lightweight,” versions of the applications supported by the client/server architectures. A client/server architecture is thus presented with two application environments, the runtime environment of the full functionality user, and the remote environment of the limited functionality user.
The dual-environment capabilities of the client-server architecture presents unique problems. One of these problems is that the libraries that contain the runtime APIs are different from the libraries that contain remote APIs. In addition, there may be several APIs that are not supported in the remote API set. This situation prevents applications from running transparently using either runtime APIs or remote APIs.
The traditional solution to the problems presented by the dual environment is to produce two separate binary applications, one linked with each set of libraries. However, a single executable binary application should be able to run using either API set without requiring the application to be linked with the specific libraries at compile-time. The present application satisfies that need by dynamically linking with the appropriate libraries and binding the appropriate APIs at run-time, thus allowing a single application to operate in the dual environment.
SUMMARY OF THE INVENTION
The present invention discloses a method, apparatus, and article of manufacture for a software interface for dynamic API mapping. The method comprises the steps of identifying the libraries required by the API by determining which program environment the API is operating in, scanning to detect and select libraries available to the determined program environment, dynamically loading the selected libraries into the application, and binding the selected libraries to the associated API function call.
The present invention allows a single binary application to transparently work with different libraries that provide a common or overlapping API set. This is accomplished by linking the application with a separate library that provides a dynamic API mapping facility. A function in this library is invoked when the application begins execution. The application's system is scanned to determine which libraries are available. If more than one choice is available, the dynamic API mapping facility will heuristically determine which library or libraries to use. An environment variable can also be used to force the application to use a specific set of libraries when more than one choice is available. When an appropriate library is determined, it is dynamically loaded into the process, and scanned for each supported API function. When a function is found, a pointer to that function will be bound to a global function pointer named to reflect the corresponding API. Each function pointer has as its default value, a pointer to a default function that returns an appropriate error if called. Once each of the API functions has been mapped, the application can run without the need to be aware of the different libraries to which it is linked. The same binary application can run on a system with any library or set of libraries that provides the appropriate API set.


REFERENCES:
patent: 5097533 (1992-03-01), Burger et al.
patent: 5291601 (1994-03-01), Sands
patent: 5410698 (1995-04-01), Danneels et al.
patent: 5471615 (1995-11-01), Amatsu et al.
patent: 5544316 (1996-08-01), Carpenter et al.
patent: 5606702 (1997-02-01), Diel et al.
patent: 5659751 (1997-08-01), Heninger
patent: 5734871 (1998-03-01), Kleinerman et al.
patent: 5734904 (1998-03-01), Kanamori et al.
patent: 5774720 (1998-06-01), Borgendale
patent: 5819090 (1998-10-01), Wolf et al.
patent: 5832274 (1998-11-01), Cutler et al.
patent: 5872973 (1999-02-01), Mitchell et al.
NCR, TOP END Product Overview, Jan. 1996.*
NCR, TOP END on Windows NT, Feb. 1997.*
NCR, Accessing TOP END over the Intranet, Internet, Jul. 1996.

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

Software Interface for dynamic API mapping does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Software Interface for dynamic API mapping, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Software Interface for dynamic API mapping will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2512239

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