US6567861B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for remotely running objects using data streams and/or complex parameters
Assignee: International Business Machines Corp
•
Filing: 1997-09-17
•
Granted: 2003-05-20
•
Expires: 2017-09-17
Abstract
Abstract Proxy data stream handling and complex object parameter handling allow object oriented programs to be run as distributed programs without any explicit networking code, and without using an interface definition language (IDL). Two proxies are generated dynamically that allow method calls written for local invocation to be invoked over a network. These dynamically-generated proxies allow calls to flow across a network as if they were local, and contain support for using data stream and complex objects as parameters.
Inventors
- 👤 Manoj V. S. Kasichainula
- 👤 Zhiyong Li
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-30 16:53
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/547; G06F9/548
Claims Analysis
Total Claims: 11
Claim 1
Independent Claim
297 words
A computer implemented method for programmatically creating a distributed object program which includes data streams as parameters, wherein said programmatically created program is programmatically generated from a programmer-written program which is not specially adapted for distributed execution, the method comprising steps of: identifying one or more objects of the programmer-written program, wherein each of said objects contains one or more programmed member functions and wherein at least one of said programmed members functions is written to pass and/or return a data stream object as a parameter; determining a first set of the identified objects which are to reside on a first computer and a second set of the identified objects which are to reside on a second computer, wherein the first set and the second set together comprise the identified objects of the program; determining that a first object in the first set contains logic to call a second object in the second set to obtain stream data; and programmatically generating a first proxy and a second proxy for the second object, wherein the second proxy is generated to be installed on the second computer and to include logic for obtaining the stream data from the data stream object on the second computer and for passing the stream data to the first proxy as data transmitted over a network connection, and wherein the first proxy is generated to be installed on the first computer and to include logic for building a local data stream object on the first computer and for returning the local data stream object to the first object, such that the first object can transparently obtain, at run time, data from the local data stream object, wherein the local data stream object has been built to read the data transmitted over the network connection.
Claim 2
Dependent Claim
297 words
A computer implemented method for programmatically creating a distributed object program which includes data streams as parameters, wherein said programmatically created program is programmatically generated from a programmer-written program which is not specially adapted for distributed execution, the method comprising steps of: identifying one or more objects of the programmer-written program, wherein each of said objects contains one or more programmed member functions and wherein at least one of said programmed members functions is written to pass and/or return a data stream object as a parameter; determining a first set of the identified objects which are to reside on a first computer and a second set of the identified objects which are to reside on a second computer, wherein the first set and the second set together comprise the identified objects of the program; determining that a first object in the first set contains logic to call a second object in the second set to obtain stream data; and programmatically generating a first proxy and a second proxy for the second object, wherein the second proxy is generated to be installed on the second computer and to include logic for obtaining the stream data from the data stream object on the second computer and for passing the stream data to the first proxy as data transmitted over a network connection, and wherein the first proxy is generated to be installed on the first computer and to include logic for building a local data stream object on the first computer and for returning the local data stream object to the first object, such that the first object can transparently obtain, at run time, data from the local data stream object, wherein the local data stream object has been built to read the data transmitted over the network connection.
Claim 3
Dependent Claim
103 words
The method as claimed in claim 1 , wherein the programmatically generated first proxy further comprises logic for: receiving a call, responsive to invocation of the logic to call the second object in the second set to obtain the stream data; and responsive to receiving said call, calling the second proxy; and wherein the programmatically generated second proxy further comprises logic for: causing the second proxy to call the second object to obtain the stream data, responsive to receiving the call from the first proxy; and receiving, from the called second object, a reference to the data stream object on the second computer.
Claim 4
Dependent Claim
37 words
The method as claimed in claim 1 , wherein the logic in the programmatically generated second proxy for passing the stream data as data transmitted over a network connection transmits the data in a raw data format.
Claim 5
Dependent Claim
69 words
The method as claimed in claim 1 , further comprising the steps of: determining that a third object in the second set contains logic to call a fourth object in the first set to obtain stream data; and performing the method bidirectionally, wherein the steps of the bidirectionally-performed method operate on the third object as for the first object and on the fourth object as for the second object.
Claim 6
Dependent Claim
56 words
The method as claimed in claim 4 , wherein the logic in the programmatically generated second proxy for passing the stream data as data transmitted over a network connection creates one network connection for transmitting data between the first and second objects and a separate network connection for transmitting data between the third and fourth objects.
Claim 7
Dependent Claim
82 words
The method as claimed in claim 3 , wherein the logic in the programmatically generated second proxy for passing the stream data as data transmitted over a network connection creates a single network connection for transmitting data between the first and second objects and also for transmitting data between the third and fourth objects, and wherein the programmatically generated first proxy and a programmatically generated proxy for the fourth object further include logic for distributing the transmitted data upon receipt using multiplexing.
Claim 8
Dependent Claim
336 words
A computer program product for programmatically creating a distributed object program which includes data streams as parameters, wherein said programmatically created program is programmatically generated from a programmer-written program which is not specially adapted for distributed execution, the computer program product comprising: a computer-readable storage medium having computer-readable program code means embodied in the medium, the computer-readable program code means comprising: computer-readable program code means for identifying one or more objects of the programmer-written program, wherein each of said objects contains one or more programmed member functions and wherein at least one of said programmed members functions is written to pass and/or return a data stream object as a parameter; computer-readable program code means for determining a first set of the identified objects which are to reside on a first computer and a second set of the identified objects which are to reside on a second computer, wherein the first set and the second set together comprise the identified objects of the program; computer-readable program code means for determining that a first object in the first set contains logic to call a second object in the second set to obtain stream data; and computer-readable program code means for programmatically generating a first proxy and a second proxy for the second object, wherein the second proxy is generated to be installed on the second computer and to include logic for obtaining the stream data from the data stream object on the second computer and for passing the stream data to the first proxy as data transmitted over a network connection, and wherein the first proxy is generated to be installed on the first computer and to include logic for building a local data stream object on the first computer and for returning the local data stream object to the first object, such that the first object can transparently obtain, at run time, data from the local data stream object, wherein the local data stream object has been built to read the data transmitted over the network connection.
Claim 9
Dependent Claim
336 words
A computer program product for programmatically creating a distributed object program which includes data streams as parameters, wherein said programmatically created program is programmatically generated from a programmer-written program which is not specially adapted for distributed execution, the computer program product comprising: a computer-readable storage medium having computer-readable program code means embodied in the medium, the computer-readable program code means comprising: computer-readable program code means for identifying one or more objects of the programmer-written program, wherein each of said objects contains one or more programmed member functions and wherein at least one of said programmed members functions is written to pass and/or return a data stream object as a parameter; computer-readable program code means for determining a first set of the identified objects which are to reside on a first computer and a second set of the identified objects which are to reside on a second computer, wherein the first set and the second set together comprise the identified objects of the program; computer-readable program code means for determining that a first object in the first set contains logic to call a second object in the second set to obtain stream data; and computer-readable program code means for programmatically generating a first proxy and a second proxy for the second object, wherein the second proxy is generated to be installed on the second computer and to include logic for obtaining the stream data from the data stream object on the second computer and for passing the stream data to the first proxy as data transmitted over a network connection, and wherein the first proxy is generated to be installed on the first computer and to include logic for building a local data stream object on the first computer and for returning the local data stream object to the first object, such that the first object can transparently obtain, at run time, data from the local data stream object, wherein the local data stream object has been built to read the data transmitted over the network connection.
Claim 10
Dependent Claim
302 words
A computer system for programmatically creating a distributed object program which includes data streams as parameters, wherein said programmatically created program is programmatically generated from a programmer-written program which is not specially adapted for distributed execution, the system comprising: means for identifying one or more objects of the programmer-written program, wherein each of said objects contains one or more programmed member functions and wherein at least one of said programmed members functions is written to pass and/or return a data stream object as a parameter; means for determining a first set of the identified objects which are to reside on a first computer and a second set of the identified objects which are to reside on a second computer, wherein the first set and the second set together comprise the identified objects of the program; means for determining that a first object in the first set contains logic to call a second object in the second set to obtain stream data; and means for programmatically generating a first proxy and a second proxy for the second object, wherein the second proxy is generated to be installed on the second computer and to include logic for obtaining the stream data from the data stream object on the second computer and for passing the stream data to the first proxy as data transmitted over a network connection, and wherein the first proxy is generated to be installed on the first computer and to include logic for building a local data stream object on the first computer and for returning the local data steam object to the first object, such that the first object can transparently obtain, at ran time, data from the local data stream object, wherein the local data stream object has been built to read the data transmitted over the network connection.
Claim 11
Dependent Claim
302 words
A computer system for programmatically creating a distributed object program which includes data streams as parameters, wherein said programmatically created program is programmatically generated from a programmer-written program which is not specially adapted for distributed execution, the system comprising: means for identifying one or more objects of the programmer-written program, wherein each of said objects contains one or more programmed member functions and wherein at least one of said programmed members functions is written to pass and/or return a data stream object as a parameter; means for determining a first set of the identified objects which are to reside on a first computer and a second set of the identified objects which are to reside on a second computer, wherein the first set and the second set together comprise the identified objects of the program; means for determining that a first object in the first set contains logic to call a second object in the second set to obtain stream data; and means for programmatically generating a first proxy and a second proxy for the second object, wherein the second proxy is generated to be installed on the second computer and to include logic for obtaining the stream data from the data stream object on the second computer and for passing the stream data to the first proxy as data transmitted over a network connection, and wherein the first proxy is generated to be installed on the first computer and to include logic for building a local data stream object on the first computer and for returning the local data steam object to the first object, such that the first object can transparently obtain, at ran time, data from the local data stream object, wherein the local data stream object has been built to read the data transmitted over the network connection.
References Cited (Backward Citations)
US5218713A
Cited
US5247676A
Cited
US5481721A
Cited
US5307490A
Cited
US5457797A
Cited
US5822585A
Cited
US5960087A
Cited
US6173327B1
Cited
US6157960A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2006-05-19 | 2006-11-18 | 2007-05-20 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2010-05-19 | 2010-11-18 | 2011-05-20 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2014-05-19 | 2014-11-18 | 2015-05-20 | $7700.00 | Window Closed / Lapsed |