IP Library Granted Patent US 6,993,769
Granted Patent B2
US 6,993,769 · App. 10/230,777 · Granted Jan 31, 2006

System and method for replacing underlying connection-based communication mechanisms in real time systems at run-time

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,993,769
App. No.
10/230,777
Granted
Jan 31, 2006
Kind
B2
Abstract

A distributed processor architecture computer system and method that includes one or more processors and object oriented control program for real time and near-real time streaming data processing which is able to change the underlying communication mechanism at runtime, which includes the use of a software interface that hides the underlying communication mechanism. The present invention permits the accommodation of changes in communication resource availability due to link, equipment, or software failures or communication bandwidth resources being used by other collaborating programs. The ability to select a communication mechanism based upon cost performance for the particular program deployment and communication mechanism availability as described in the present invention. Typical criteria used for selecting different communication mechanisms for streaming a high volume data on each individual connection would include lower latency, lower overhead time per message, higher throughput in bytes per second of a particular computer, communication equipment and operating system independence.

Claims (19)

1. A distributed processor architecture computing system having one or more processors and an object oriented control program including a system for replacing underlying connection based communication mechanisms in realtime systems at runtime comprising:

a first program for emitting streaming data or a large quantity of data in near realtime having at least one object of class outport, said outport object providing interface from a first application program to an underlying communication mechanism;

said first application program for sending streaming data connected to said outport object;

said outport object including a connection list and a transport list and a send method;

said first application program providing an argument of an address in the memory space of the first application program of a data package to be sent to the outport object;

a second application program for receiving streaming data or large quantities of data in near realtime having at least one object of class InPort, said InPort object providing interface from the underlying communication mechanism to the second application program;

said second application program for receiving streaming data from said first application program;

said second application program extending a base class import object to perform meaningful processing in a method (ACCEPTPACKET) including said argument of address in the memory space of the second application program of the data packet to be received, whereby the interface to the second application program hides details of information to the communication mechanism, and whenever said, second application program ACCEPTPACKET method returns said InPort object behaves as if data were received;

said InPort object including a connection point handshake by creating a new object of class transport extending for the selected communication mechanism; and

a communication connection between said first program and said second program for transferring streaming data from said first program to said second program through the selection of the underlying communication mechanism at runtime; and

said communication mechanism for the transfer of streaming data which may be the same as or different than the communication mechanism used to establish said communication connection.

2. A system as in claim 1 that through the selection of underlying communication mechanisms at runtime permits accommodation of changes to communication resources availability due to link, equipment, software failures or communication bandwidth resources being used by other collaborating programs.

3. The system as in claim 1 wherein the interface to the first application program hides the implementation of the communication mechanism and the interface to the second application program hides the implementation of the communication mechanism.

4. The system as in claim 1 , where a multiplicity of second application programs exist, each being different or the same and communication connections are established to all such second application programs; and

the first application program transfers streaming data to all such connected second application programs.

5. The system as in claim 1 , where the selection of communication mechanism may be different for each second application program.

6. The system as in claim 1 , where the underlying communication mechanisms may be other than remote object transport mechanisms.

7. The system as in claim 1 , where said outPort on said first application program provides a method to generate buffers for use by the first application, in advance of the first application sending data, where such buffers meet the requirements of the selected communication mechanism(s), such that copying of data from the provided address in the memory space of the first application program is not required, yielding an effective improvement in communication throughput between the first application and the second application.

8. The system as in claim 1 , where said import on said second application program provides a method to generate buffers for use by the second application, in advance of the receipt of data, where such buffers meet the requirements of the selected communication mechanism(s), such that copying of data into the provided address in the memory space of the second application program is not required, yielding an effective improvement in communication throughput between the first application and the second application.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2023
From: INTELLECTUAL VENTURES ASSETS 186 LLC
To: MIND FUSION, LLC
Reel/Frame 064271/0001 →
SECURITY INTEREST Recorded Mar 24, 2023
From: MIND FUSION, LLC
To: INTELLECTUAL VENTURES ASSETS 191 LLC; INTELLECTUAL VENTURES ASSETS 186 LLC
Reel/Frame 063295/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2023
From: CALLAHAN CELLULAR L.L.C.
To: INTELLECTUAL VENTURES ASSETS 186 LLC
Reel/Frame 062708/0463 →
MERGER Recorded Dec 29, 2015
From: WISTERIUM DEVELOPMENT LLC
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 037396/0503 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNOR PREVIOUSLY RECORDED ON REEL 023292 FRAME 0340. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT SPELLING OF ASSIGNOR NAME TO BE BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC.. Recorded Dec 21, 2009
From: BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC.
To: WISTERIUM DEVELOPMENT LLC
Reel/Frame 023679/0616 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CITY NAME PREVIOUSLY RECORDED ON REEL 023148 FRAME 0206. ASSIGNOR(S) HEREBY CONFIRMS THE CITY NAME SHOULD BE WILMINGTON. Recorded Sep 21, 2009
From: BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INC.
To: WISTERIUM DEVELOPMENT LLC
Reel/Frame 023292/0340 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2009
From: BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC.
To: WISTERIUM DEVELOPMENT LLC
Reel/Frame 023148/0206 →
CONFIRMATORY ASSIGNMENT Recorded Feb 24, 2009
From: SIMONSON, PETER; COSTANTINO, ROBERT W.; VANBELLINGHEN, PAUL S.
To: BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC.
Reel/Frame 022299/0251 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2003
From: SIMONSON, PETER; COSTANTINO, ROBERT W.; VANBELLINGHEN, PAUL S.
To: BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC.
Reel/Frame 013579/0687 →