Method and apparatus for improved inspection and classification of attributes of a workpiece
View Patent ↗A generic, scalable consumer subsystem/producer subsystem interface controller for exchanging data between at least one producer subsystem configured to produce a set of services characterized in a producer generated data set, and at least on consumer subsystem configured to consume the set of services, including an object-oriented producer application program interface configured for use on a multi-threaded, client-server operating system, wherein producer routines are configured to: initialize producer server objects maid producer client objects; receive requests for data from a consumer subsystem via the producer client objects; send acknowledgments to a consumer subsystem in response to requests from the consumer subsystem via the producer server objects; send data to a consumer subsystem in response to requests from the consumer subsystem via the producer server objects; and wherein consumer routines are configured to: initialize consumer server objects and consumer client objects; send requests for data to a producer subsystem via the consumer server objects; receive acknowledgments from a producer subsystem in response to requests from the producer subsystem via the consumer client objects; and, receive data from a producer subsystem in response to requests from the producer subsystem via the consumer client objects.
1. A generic, scalable consumer subsystem/producer subsystem interface controller for exchanging data between at least one producer subsystem configured to produce a set of services characterized in a producer generated data set, and at least one consumer subsystem configured to consume the set of services, comprising:
an object-oriented producer application program interface (API) configured for use on a multi-threaded, client-server operating system, comprising producer routines configured to:
initialize producer server objects and producer client objects;
receive requests for data from a consumer subsystem via said producer client objects;
send acknowledgments to a consumer subsystem in response to requests from the consumer subsystem via said producer server objects;
send data to a consumer subsystem in response to requests from the consumer subsystem via said producer server objects; and
an object-oriented consumer application program interface (API) configured for use on a multi-threaded, client-server operating system, comprising consumer routines configured to:
initialize consumer server objects and consumer client objects;
send requests for data to a producer subsystem via said consumer server objects;
receive acknowledgments from a producer subsystem in response to requests from the producer subsystem via said consumer client objects; and
receive data from a producer subsystem in response to requests from the producer subsystem via said consumer client objects.
2. The subsystem interface of claim 1 wherein at least one of the consumer subsystems comprises a consumer server having a producer subscription to data from at least one of the producer subsystems, the producer API further comprising a first producer server thread configured to first initialize a producer client object and then to reply to the producer subscription by connecting to the consumer server.
3. The subsystem interface of claim 2 wherein the producer API is further configured to generate a new producer server thread for connection to a consumer server upon connection of the first producer server thread to the consumer server.
4. The subsystem interface of claim 3 wherein:
producer server threads are listed on a subscribe table accessible by consumer servers;
each producer server thread is disconnectable from a consumer server; and
upon disconnection of a producer server thread from a consumer server, the disconnected producer server thread is removed from the subscribe table.
5. The subsystem interface of claim 2 wherein the consumer API further comprises a plurality of consumer server threads each configured to create a dedicated connection to a producer subsystem.
6. A generic, scalable method for controlling the exchange of data in a consumer/producer system between at least one producer subsystem configured to produce a set of services characterized in a producer generated data set, and at least one consumer subsystem configured to consume the set of services, comprising:
initializing producer server objects and producer client objects within an object-oriented producer application program interface (API) configured for use on a multi-threaded, client-server operating system;
receiving requests for data from a consumer subsystem via at least one of the initialized producer client objects;
sending acknowledgments to a consumer subsystem in response to requests from the consumer subsystem using at least one of the producer server objects;
sending data to a consumer subsystem in response to requests from the consumer subsystem using at least one of the producer server objects;
initialize consumer server objects and consumer client objects within an object-oriented consumer application program interface (API) configured for use on a multi-threaded, client-server operating system;
sending requests for data to a producer subsystem using at least one of the consumer server objects;
receiving acknowledgments from a producer subsystem in response to requests from the producer subsystem using at least one of the consumer client objects; and
receiving data from a producer subsystem in response to requests from the producer subsystem using at least one of the consumer client objects.