Container-based method for exchanging information between...

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

Reexamination Certificate

active

06230211

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention pertains to a method by which information may be exchanged between computer processes using a container-based exchange medium. More specifically, the present invention relates to an information exchange method whereby the computer processes, rather than exchanging information directly, exchange information by depositing and/or retrieving information in a container.
2. Description of The Related Art
Application programs that execute on today's computing equipment rarely possess all the functionality that is needed for the application program to execute fully. Rather, those application programs rely on external libraries of other programs in order to execute all programs for the functionality that is required. For example, an application program may rely on an external library containing device drivers such as printer drivers or monitor drivers in order to output data, and the application program may rely on the computer operating system, such as DOS, to store and to retrieve information from files. Likewise, the application program may use functionality that is not even present on the computer in which the application program is running; for example, in a network environment, the application program may print information to a printer that is not physically co-located with the computer and which is controlled by an altogether different computer.
Traditionally, the mechanism for passing information between the application program and other programs is through shared memory in which both the application program and the other program are aware of the structure of the information stored in the shared memory. For example, to print information on a printer, the application program stores the print information in a pre-designated block of shared memory, and then signals the print driver that the print information is stored in the shared memory. The print driver, knowing the structure by which the print data has been stored in shared memory, retrieves the print information from shared memory and executes printing processing.
Such a structured information exchange using shared memory has been found to be unsatisfactory. In particular, the shared memory must be reserved at compile time by the compiler and resolved into specific memory addresses at load time by the operating system loading program. Thus, memory which is potentially used only infrequently may be wasted.
Second, both the application program and the other program must have knowledge of the structure of shared memory. For example, if an application program has queried a print driver for the current printer setup and capabilities, the application program must have knowledge of how the printer driver will store that information in memory, for example, fonts first, then paper trays, then collating capabilities, and so on.
Finally, direct information exchange using shared memory is inflexible. Once the structure of shared memory is defined, which normally occurs early on in system design, the structure cannot be changed lest the new structure be incompatible with the old structure. Accordingly, as new system capabilities are provided, for example, upgrading a printer to a printer that includes a stapler, those new capabilities cannot be accessed by the application program because there is no provision in the shared memory area for defining the parameters of the new capability.
SUMMARY OF THE INVENTION
It is the object of the present invention to address the foregoing difficulties.
In one aspect, the invention is a method for exchanging information between two computer processes, for example, between a application program such as a word processing program and a print server program that controls printing on a printer, using a container-based exchange wherein the two computer processes deposit and retrieve information into the container rather than exchanging information directly with each other. The container stores the information based on the name of the information assigned by the depositing computer process, and maintains a dictionary of the names of the information contained in the container. Memory is allocated dynamically as information is deposited. Information is retrieved by the retrieving computer process by querying the container for the information by information name.
According to this aspect of the invention, a method for exchanging information between first and second computer processes comprises executing the first computer process to set named information values into a container. In response to setting the named information into the container, container processing is executed to store the value of the named information and to update a dictionary of names in the case where the named information is not already in the dictionary. The second computer process is executed to get named information from the container and designates a buffer into which the container places the information value. In response to a command to get named information from the container, container processing is executed to store the value of the named information into the designated buffer by reference to the dictionary of names, or to store an error code in the case where the dictionary of names does not include the requested name.
In case the second computer process does not know the names of information stored in the container, the second process can instead request for the first named value stored in the container's dictionary and then for subsequent values, whereby the second process may interactively proceed through all values stored in the container.
By virtue of the foregoing arrangement, memory need not be allocated at compilation time but rather is dynamically allocated during execution. There is no need for the two computer processes to know the structure of a shared memory area because storage and retrieval is based on names of information rather than position. Finally, complete flexibility is offered since any values can be stored in the container rather than only values which may have been designated early on in design.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiment thereof and to the drawings.


REFERENCES:
patent: 4212057 (1980-07-01), Dentin et al.
patent: 4525780 (1985-06-01), Bratt et al.
patent: 4914586 (1990-04-01), Swinehart et al.
patent: 5129083 (1992-07-01), Cutler et al.
patent: 5220674 (1993-06-01), Morgan et al.
patent: 5367698 (1994-11-01), Webber et al.
patent: 5432928 (1995-07-01), Sherman
patent: 5452447 (1995-09-01), Nelson et al.
patent: 5463774 (1995-10-01), Jenness
patent: 5475819 (1995-12-01), Miller et al.
patent: 5535375 (1996-07-01), Eshel et al.
patent: 5745902 (1998-04-01), Miller et al.
Gehringer, Edward F., “Name-Based Mapping: Addressing Support for Persistent Objects,” Dept. of Electrical Engineering, University of Newcastle, Austalia, published by Bristish Computer Society, Alden Press Ltd., Oxford, pp. 218-231, 1990.*
“Microsoft Windows Programmer's Reference” Microsoft Press, 1990 pp. 15-1 to 15-18.*
M. Heller, “Strengthening the ties that bind”, Windows Magazine, Mar. 1993, pp. 129-134.

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

Container-based method for exchanging information between... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Container-based method for exchanging information between..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Container-based method for exchanging information between... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2550658

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