Browse Prior Art Database

Callback mechanism for executables

IP.com Disclosure Number: IPCOM000014474D
Original Publication Date: 2001-Jul-12
Included in the Prior Art Database: 2003-Jun-19
Document File: 1 page(s) / 36K

Publishing Venue

IBM

Abstract

The disclosed invention provides a simple way to create interprocess communication beween two executables without using pipes, sockets or any other such operating system mechanisms. Assuming process A spawns process B and process B may at some point need some information (INF) from process A. Assume that INF is not fixed but rather changes based on the request from B and other circumstances. That is, B can request INF1...INFn where n is an arbitrary number and the INF can only be determined by A. The normal way to handle this is to use operating system pipes. However this requires synchronization between the processes. Instead, we propose to use the command line and standard output of the processes as follows. When B is spawned by A, it may or may not need INFx (where x is from 1-n see above). If B needs INFx, it checks to see if INFx is specified in the command line arguments. If not, it terminates itself and prints out to its standard out that it needs INFx. A reads B's standard out and finds that B needed INFx in its recent execution. A determines what INFx is and respawns B, this time with INFx as one of B's command line parameters. Now that B is executed again, it comes to the point where it needs INFx again. This time, however, INFx is in the command line argument. B once again checks its command line arguments, and this time finds INFx there. Now, it can exectue succesfuly to completion. 1

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 1

Callback mechanism for executables

    The disclosed invention provides a simple way to create interprocess communication beween two executables without using pipes, sockets or any other such operating system mechanisms. Assuming process A spawns process B and process B may at some point need some information (INF) from process A. Assume that INF is not fixed but rather changes based on the request from B and other circumstances. That is, B can request INF1...INFn where n is an arbitrary number and the INF can only be determined by A.

The normal way to handle this is to use operating system pipes. However this requires synchronization between the processes. Instead, we propose to use the command line and standard output of the processes as follows.

When B is spawned by A, it may or may not need INFx (where x is from 1-n see above). If B needs INFx, it checks to see if INFx is specified in the command line arguments. If not, it terminates itself and prints out to its standard out that it needs INFx. A reads B's standard out and finds that B needed INFx in its recent execution. A determines what INFx is and respawns B, this time with INFx as one of B's command line parameters. Now that B is executed again, it comes to the point where it needs INFx again. This time, however, INFx is in the command line argument. B once again checks its command line arguments, and this time finds INFx there. Now, it can exectue succesfuly to completion.

1