Method and systems for creating multi-instanced software...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000

Reexamination Certificate

active

06341368

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to computer technology and, more particularly, to creating multiple-instance software from single-instance source code utilizing a compiler's preprocessor.
2. Description of Related Art
Most software is written to use a “single instance”, which means that it is designed to run only one copy of the program and its data at a given time on a single system. Some other software can be shared by more than one “client” program at a time, allowing each client to run a copy of the program with its own set of data. This software can be called “multi-instanced”, in that more than one “instance” of the code can be running at one time.
A good example of multi-instanced software is that of a Windows DDL (Dynamically-Linked Library), which can be shared among many programs at once. A Dynamically-Linked Library (or DLL) is a collection of program functions and data in the Microsoft Windows software architecture. On its own, a DLL performs no useful function, as it is merely a library of code that is linked together into one single unit, or file, on a computer's magnetic storage medium. Client applications running on a Windows system can dynamically load these libraries into computer memory and access the program functions contained therein. A DLL uses the client application's data space to hold its data, so the DLL is able to keep each client program's data separate from the data of other client programs. That approach, however requires operating system support to manipulate the data segments and keep track of which process owns the data. It also requires each client's copy of the DLL's data to exist in a different “data segment”. A data segment is a section of computer memory that is reserved by the operating system for exclusive use by a client program. Intel architecture microprocessors provide support for manipulating data segments via the DS hardware register.
In the prior art, when one wished to change software from single instance to handle multiple instances, a complete redesign of the software was required. This caused many problems. First, significant training was required of customer personnel in order to understand and utilize the redesigned software. Further, it was expensive to maintain because maintenance personnel would have to be conversant with two versions of the software; that is one version would be a single instance version and the other would be a multiple instance version. Further, when running the software, plural copies of the code would typically run, each having its own data which produced a substantially redundant situation. Thus, it would be desirable if the same code could be used for single-instance and multi-instance implementations. Further, it would be desirable if only one copy of the code were running which would service all of the instances needed.
SUMMARY OF THE INVENTION
In accordance with the invention, single-instance software is converted into software that supports multiple instances, each with its own data, running simultaneously on a system. The approach enables multiple instance support without modifying the original source code. This is preferably done at compile time using the preprocessor.
Also in accordance with the invention, modems or computers run a multi-instantiated modem code set(s) or portions of a modem code set, such as a protocol stack or data link control element.
Also in accordance with the invention, a processor having no memory management unit is enabled to operate as if it had one.
Also in accordance with the invention, a single task operating system, such as DOS, is enabled to run as a multi-task system.
When multiple instances of the same piece of code are running, only one copy of the code need be resident in memory. However, by changing instances, one can create a global change in behavior of the currently executing software without changing the source code.


REFERENCES:
patent: 4667290 (1987-05-01), Goss et al.
patent: 5146594 (1992-09-01), Iitsuka
patent: 5339419 (1994-08-01), Chan et al.
patent: 5381550 (1995-01-01), Jourdenais et al.
patent: 5613120 (1997-03-01), Palay et al.
patent: 5790895 (1998-08-01), Krontz et al.
patent: 5812820 (1998-09-01), Loram
patent: 5812852 (1998-09-01), Poulsen et al.
patent: 5864710 (1999-01-01), Sands et al.
patent: 0 416 768 (1991-03-01), None
patent: WO 99/10807 (1991-03-01), None

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 systems for creating multi-instanced software... 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 systems for creating multi-instanced software..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and systems for creating multi-instanced software... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2851530

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