Patent US5619685A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5619685A Expired / Lapsed US ⏱️ 0.0 years remaining

Run-time dynamically adaptive computer process for facilitating communication between computer programs

Assignee: Ball Corp
•
Filing: 1994-11-04
•
Granted: 1997-04-08
•
Expires: 2014-11-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a dynamic interface between two dissimilar software programs that must communicate with each, whether running on one or a plurality of computers. The invention can provide bi-directional, non-intrusive data manipulation and communications between software programs on a distributed computing platform or across platforms on a distributed network. The invention includes user-defined template files, a user-defined equality file, first and second blocks of shared memory, a master interface, and a slave interface. The template files define the output and input data of their respective programs and map the output and input data to blocks of memory. The equality file equates the input data and output data of one program with the output data and input data, respectively, of the other computer program. The master interface takes data from the master side block of memory, reconfigures the data based on the contents of the equality file to match the input data requirements of the second computer program, and sends the reconfigured data to the slave interface to be loaded into the slave side block of shared memory. The second computer program accesses the reconfigured data from the slave side of shared memory.

Inventors

  • 👤 Daniel P. Schiavone

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 16:52
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 96 words
An interface for facilitating communications among a plurality of computer programs connected by a communications program, the interface comprising: a template file for each of the plurality of computer programs, each template file defining data for its respective computer program and allocating memory for the data, and a plurality of equality files, each equality file equating data of one of the plurality of computer programs with data of another of the plurality of computer programs, means for transmitting equated data from one of the plurality of computer programs to another of the plurality of computer programs.
Claim 2
Dependent Claim 96 words
An interface for facilitating communications among a plurality of computer programs connected by a communications program, the interface comprising: a template file for each of the plurality of computer programs, each template file defining data for its respective computer program and allocating memory for the data, and a plurality of equality files, each equality file equating data of one of the plurality of computer programs with data of another of the plurality of computer programs, means for transmitting equated data from one of the plurality of computer programs to another of the plurality of computer programs.
Claim 3
Dependent Claim 39 words
The interface of claim 1 wherein the transmitting means includes a master interface that communicates with a first of the plurality of computer programs and a slave interface that communicates with a second of the plurality of computer programs.
Claim 4
Dependent Claim 51 words
The interface of claim 2 further including a plurality of blocks of memory, wherein the first of the plurality of computer programs shares a first block of memory with the master interface and the second of the plurality of computer programs shares a second block of memory with the slave interface.
Claim 5
Dependent Claim 49 words
The interface of claim 2 wherein the master interface includes means for converting the data structure and format of the data of the first of the plurality of computer programs to match the data structure and format of the data of the second of the plurality of computer programs.
Claim 6
Dependent Claim 71 words
The interface of claim 4 wherein the means for converting includes a lexical analyzer for analyzing the template files and a memory mapper for allocating memory for data to be passed between the first and the second computer programs based on the contents of the equality file equating the data of the first of the plurality of computer programs with the data of the second of the plurality of computer programs.
Claim 7
Dependent Claim 33 words
The interface of claim 1 wherein each template file includes means for defining input and output data for its respective computer program using the data structure and format of its respective computer program.
Claim 8
Dependent Claim 52 words
The interface of claim 6 wherein the equality file includes means for equating the output data of the first of the plurality of computer programs, as defined by its respective template file, to the input data of the second of the plurality of computer programs, as defined by its respective template file.
Claim 9
Dependent Claim 28 words
The interface of claim 7 further comprising shared memory wherein each template file allocates input and output data of its respective computer program to blocks of shared memory.
Claim 10
Dependent Claim 76 words
The interface of claim 8 further including means for taking the output data of the first of the plurality of computer programs from its allocated block of shared memory, converting the output data to the structure and format of the input data of the second of the plurality of computer programs, and transmitting the converted data to the block of shared memory allocated for the input data of the second of the plurality of computer programs.
Claim 11
Dependent Claim 69 words
The interface of claim 2 wherein the master interface includes a lexical analyzer and a memory mapper, the lexical analyzer having means for converting information received from the template files into a format and structure required by the memory mapper and the memory mapper including means for defining a master memory block allocation table and a slave memory block allocation table based on information contained in the template files.
Claim 12
Dependent Claim 126 words
An interface for facilitating communications between a plurality of computer programs connected by a communication program communicating with each of the plurality of computer programs, the interface comprising: means for equating the data structure and format of output data of a first of the plurality of computer programs with the data structure and format of input data of a second of the plurality of computer programs, and means for accessing the output data of the first of the plurality of computer programs, converting the output data to the data structure and format of the second of the plurality of computer programs based on the content of the equating means, and providing the converted data as input data to the second of the plurality of computer programs.
Claim 13
Dependent Claim 126 words
An interface for facilitating communications between a plurality of computer programs connected by a communication program communicating with each of the plurality of computer programs, the interface comprising: means for equating the data structure and format of output data of a first of the plurality of computer programs with the data structure and format of input data of a second of the plurality of computer programs, and means for accessing the output data of the first of the plurality of computer programs, converting the output data to the data structure and format of the second of the plurality of computer programs based on the content of the equating means, and providing the converted data as input data to the second of the plurality of computer programs.
Claim 14
Dependent Claim 44 words
The interface of claim 11 wherein the means for accessing, converting and providing includes a plurality of template files, with each of the plurality of template files defining the data of one of the plurality of computer programs and allocating that data to memory.
Claim 15
Dependent Claim 100 words
The interface of claim 12 wherein the plurality of template files includes a first template file for defining the input and output data of the first of the plurality of computer programs and allocating that data to a first block of shared memory using the data structure and format of the first of the plurality of computer programs and a second template file defining the input and output data of the second computer program and allocating that data to a second block of shared memory using the data structure and format of the second of the plurality of computer programs.
Claim 16
Dependent Claim 61 words
The interface of claim 13 wherein the means for accessing, converting and providing includes a master interface and a slave interface wherein the master interface shares the first block of shared memory with the first of the plurality of computer program and the slave interface shares the second block of shared memory with the second of the plurality of computer programs.
Claim 17
Dependent Claim 26 words
The interface of claim 11 wherein the means for accessing, converting and providing includes a plurality of template files, a master interface, and a slave interface.
Claim 18
Dependent Claim 36 words
The interface of claim 15 wherein the master interface includes a lexical analyzer and a memory mapper and the lexical analyzer analyzes information contained in the template file and puts the analyzed information into information tables.
Claim 19
Dependent Claim 31 words
The interface of claim 16 wherein the memory mapper analyzes the information in the information tables for data size and data type and maps the information to memory block allocation tables.
Claim 20
Dependent Claim 84 words
An interface for adapting the output of a first computer program to the input requirements of a second computer program, the interface comprising: first template means for defining output data of the first computer program, second template means for defining input data of the second computer program, means for equating the definition of the data of the first computer program to the definition of the data of the second computer program, and means for transmitting equated data between the first and second computer programs.
Claim 21
Dependent Claim 84 words
An interface for adapting the output of a first computer program to the input requirements of a second computer program, the interface comprising: first template means for defining output data of the first computer program, second template means for defining input data of the second computer program, means for equating the definition of the data of the first computer program to the definition of the data of the second computer program, and means for transmitting equated data between the first and second computer programs.
Claim 22
Dependent Claim 50 words
The interface of claim 18 wherein the first template means includes first means for allocating a first memory block for the output data of the first computer program and the second template means includes second means for allocating a second memory block for the input data of the second program.
Claim 23
Dependent Claim 44 words
The interface of claim 19 wherein the transmitting means includes means for taking the output data from the first memory block and converting it for use as input data to the second computer program and transmitting the converted data to the second memory block.
Claim 24
Dependent Claim 44 words
The interface of claim 20 wherein the transmitting means includes means for converting the output data from the data structure and format of the first program to the data structure and format of the second program based on the content of the equating means.
Claim 25
Dependent Claim 119 words
The interface of claim 18 wherein the first template means includes a first template file configured to map the output data of the first computer program to a first memory block in the format and data structure of the first computer program and the second template means includes a second template file configured to map the input data of the second computer program to a second memory block in the format and data structure of the second computer program and the means for equating includes an equality file that equates the data of the first computer program, as defined by the first template file to the data of the second computer program, as defined by the second template file.
Claim 26
Dependent Claim 175 words
A run-time, reconfigurable interface for adapting the output data of a first computer program to the input requirements of a second computer program, the interface comprising: a first template file adapted to define output data of a first computer program and allocate the output data to a first memory block in the data structure and format of the first computer program; a second template file adapted to define input data of a second computer program and allocate the input data to a second memory block in the data structure and format of the second computer program; an equality file adapted to equate the output data and the input data, and a lexical analyzer using the template files and the equality file to configure a master interface and a slave interface to transmit data from the first memory block to the second block and converting the data from the data structure and format of the first computer program to the data structure and format of the second computer program during transmission to the second memory block.
Claim 27
Dependent Claim 175 words
A run-time, reconfigurable interface for adapting the output data of a first computer program to the input requirements of a second computer program, the interface comprising: a first template file adapted to define output data of a first computer program and allocate the output data to a first memory block in the data structure and format of the first computer program; a second template file adapted to define input data of a second computer program and allocate the input data to a second memory block in the data structure and format of the second computer program; an equality file adapted to equate the output data and the input data, and a lexical analyzer using the template files and the equality file to configure a master interface and a slave interface to transmit data from the first memory block to the second block and converting the data from the data structure and format of the first computer program to the data structure and format of the second computer program during transmission to the second memory block.
Claim 28
Independent Claim 122 words
A method of facilitating communications among computer programs, the method comprising the steps of: defining output data for a first computer program, defining input data for a second computer program, equating the output data of the first computer program with the input data of the second computer program, providing a master interface in communication with the first computer program and a slave interface in communication with the second computer program for transmitting data from the first computer program to the second computer program, and providing means for converting the output data from a form usable by the first computer program to a form usable by the second computer program and during transmission from the first computer program to the second computer program.
Claim 29
Independent Claim 122 words
A method of facilitating communications among computer programs, the method comprising the steps of: defining output data for a first computer program, defining input data for a second computer program, equating the output data of the first computer program with the input data of the second computer program, providing a master interface in communication with the first computer program and a slave interface in communication with the second computer program for transmitting data from the first computer program to the second computer program, and providing means for converting the output data from a form usable by the first computer program to a form usable by the second computer program and during transmission from the first computer program to the second computer program.
Claim 30
Dependent Claim 28 words
The method of claim 24 wherein the step of defining output data includes the step of creating a template file for each of the plurality of computer programs.
Claim 31
Dependent Claim 36 words
The method of claim 25 wherein each template file includes means for defining the output data and the input data for its respective computer program in the data structure and format of its respective computer program.
Claim 32
Dependent Claim 19 words
The method of claim 26 wherein the template file further includes means for defining a block of shared memory.
Claim 33
Dependent Claim 35 words
The method of claim 27 wherein each template file includes means for mapping the input and output data of its respective computer program, as defined in the template file, to the block of shared memory.
Claim 34
Dependent Claim 55 words
The method of claim 24 wherein the equating step includes the step of creating a plurality of equality files, wherein each equality file equates the definition of the output data of a first of the plurality of computer programs with the definition of the input data of a second of the plurality of computer programs.
Claim 35
Dependent Claim 125 words
An interface for facilitating communications among a plurality of computer programs, the interface comprising: a master interface in communication with a first of the plurality of computer programs, and a plurality of slave interfaces, wherein each of the plurality of slave interfaces is in communication with one of the remaining of the plurality of computer programs, and wherein the master interface takes data from the first of the plurality of computer programs, converts the data from the data structure and format of said first computer program to the data structure and format of each of the remaining of the plurality of computer programs, and transmits the converted data to the slave interfaces to be passed on to the remaining of the plurality of computer programs.
Claim 36
Dependent Claim 125 words
An interface for facilitating communications among a plurality of computer programs, the interface comprising: a master interface in communication with a first of the plurality of computer programs, and a plurality of slave interfaces, wherein each of the plurality of slave interfaces is in communication with one of the remaining of the plurality of computer programs, and wherein the master interface takes data from the first of the plurality of computer programs, converts the data from the data structure and format of said first computer program to the data structure and format of each of the remaining of the plurality of computer programs, and transmits the converted data to the slave interfaces to be passed on to the remaining of the plurality of computer programs.
Claim 37
Dependent Claim 69 words
The interface of claim 30 further comprising a template file for each of the plurality of computer programs for defining the data of its respective computer program and a plurality of equality files, wherein each of the plurality of equality files equates the data structure and format of one of the plurality of computer programs to the data structure and format of another of the plurality of computer programs.
Claim 38
Dependent Claim 48 words
The interface of claim 31 wherein the master interface further comprises a lexical analyzer and a memory mapper, wherein the lexical analyzer analyzes the information from the template file of the first of the plurality of computer programs and the memory mapper allocates data to memory mapping tables.
Claim 39
Dependent Claim 75 words
The interface of claim 30 further comprising a plurality of blocks of shared memory wherein the first of the plurality of computer programs shares a first of the plurality of blocks of shared memory with the master interface and each of the remaining of the plurality of computer programs shares one of the remaining of the plurality of blocks of shared memory with the one of the plurality of slave interfaces with which it communicates.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-04-07 2000-10-07 2001-04-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-04-07 2004-10-07 2005-04-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-04-07 2008-10-07 2009-04-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag