Automated system and method for generating data to drive a manufacturing process
First Claim
1. A method of generating data for driving a manufacturing process in a manufacturing environment comprising at least one tool, the method comprising:
- responsive to receipt of a bar file that includes a parts list identifying components of a computer system to be built in the manufacturing environment, creating a work object corresponding to said bar file and said computer system;
generating an output file that includes information for programming one or more of the components of the computer system;
adding said work object to a work queue;
removing said work object from said work queue and initiating an instance of a service object to perform a unit of work on said work object;
responsive to completion of said performance of said unit of work, advising a control object of said completion;
continuing said removing and initiating and said advising until processing is completed on said work object;
contemporaneously with said removing and initiating, setting a watchdog timer for said work object; and
the watchdog timer ensuring that when the work object is removed from the work queue and sent for processing by the service object, if an error occurs and processing is not completed, the work object is recovered.
12 Assignments
0 Petitions
Accused Products
Abstract
A system for generating data for driving a manufacturing process is described. A symbiotic relationship is established between two Windows NT® system services, including a single instance of a “Sequencer” service, which provides the command, control, and communication for all work in progress, and multiple instances of a “Quantum” service, which manages the execution of a unit of work on command from the Sequencer. All configuration information for the system is stored in a system registry as predefined structures. Registry key entries define the names of the installed Quantum services, as well as the configuration dynamic linked library (“DLL”) image to be loaded by and the sequence number for each Quantum. The Sequencer manages the start up of the installed Quantum services and synchronizes with the created message queues. The Sequencer manages all work in progress and maintains the state of each unit of work. The Sequencer passes work from one Quantum services message queue to the next, based on the Quantum'"'"'s registry key entry for sequence number. This sequencing is continued until all defined sequences, that is, all Quantum services, have been successfully executed in turn. One of the Quantum services provides commands to the Sequencer to create a work object associated with a machine to be assembled. If a single Quantum sequence process fails, the Sequencer will log the error and discard that work object, preventing any further processing on it.
15 Citations
18 Claims
-
1. A method of generating data for driving a manufacturing process in a manufacturing environment comprising at least one tool, the method comprising:
-
responsive to receipt of a bar file that includes a parts list identifying components of a computer system to be built in the manufacturing environment, creating a work object corresponding to said bar file and said computer system;
generating an output file that includes information for programming one or more of the components of the computer system;
adding said work object to a work queue;
removing said work object from said work queue and initiating an instance of a service object to perform a unit of work on said work object;
responsive to completion of said performance of said unit of work, advising a control object of said completion;
continuing said removing and initiating and said advising until processing is completed on said work object;
contemporaneously with said removing and initiating, setting a watchdog timer for said work object; and
the watchdog timer ensuring that when the work object is removed from the work queue and sent for processing by the service object, if an error occurs and processing is not completed, the work object is recovered. - View Dependent Claims (2, 3, 4, 5, 6)
determining whether a maximum number of retries for said unit of work for said work object has been reached; and
if said maximum number of retries has not been reached, returning said work object to said work queue; and
if said maximum number of retries has been reached, triggering a work end event for said object as failed.
-
-
3. The method of claim 1 further comprising, responsive to an indication that performance of said unit of work has failed:
-
determining whether a maximum number of retries for said unit of work for said work object has been reached; and
if said maximum number of retries has not been reached, returning said work object to said work queue; and
if said maximum number of retries has been reached, triggering a work end event for said object as failed.
-
-
4. The method of claim 1 wherein said initiating comprises loading a dynamic linked library (“
- DLL”
) image particular to said instance of said service object.
- DLL”
-
5. The method of claim 1 further comprising:
-
receiving a request from an application via a first communications port requesting notification of a designated event; and
responsive to detection of said designated event, providing notification to said application via a second communications port.
-
-
6. The method of claim 1 further comprising, upon successful completion of processing of said work object, publishing said data to a network server for access by said tools.
-
7. A computer program for generating data for driving a manufacturing process in a manufacturing environment comprising at least one tool, the computer program being stored on computer-readable media and comprising:
-
instructions for creating a work object corresponding to a bar file that includes a parts list identifying components of a computer system to be built in the manufacturing environment and corresponding to the computer system responsive to receipt of said bar file;
instructions for generating an output file that includes information for programming one or more of the components of the computer system;
instructions for adding said work object to a work queue;
instructions for removing said work object from said work queue and initiating an instance of a service object to perform a unit of work on said work object;
instructions for advising a control object of said completion responsive to completion of said performance of said unit of work;
instructions for continuing said removing and initiating and said advising until processing is completed on said work object; and
instructions for setting a watchdog timer for said work object upon said removing and initiating, the watchdog timer ensuring that when the work object is removed from the work queue and sent for processing by the service object, if an error occurs and processing is not completed, the work object is recovered.- View Dependent Claims (8, 9, 10, 11, 12)
instructions for receiving a request from an application via a first communications port requesting notification of a designated event; and
instructions for providing notification to said application via a second communications port responsive to detection of said designated event.
-
-
12. The computer program of claim 7 further comprising instructions for publishing said data to a network server for access by said tools upon successful completion of processing of said work object.
-
13. A system for generating data for driving a manufacturing process in a manufacturing environment comprising at least one tool, the system comprising:
-
means for creating a work object corresponding to said bar file that includes a parts list identifying components of a computere system to be built in the manufacturing environment and corresponding to the computer system responsive to receipt of said bar file;
means for generating an output file that includes information for programming one or more of the components of the computer system;
means for adding said work object to a work queue;
means for removing said work object from said work queue and initiating an instance of a service object to perform a unit of work on said work object;
means for advising a control object of said completion responsive to completion of said performance of said unit of work;
means for continuing said removing and initiating and said advising until processing is completed on said work object; and
means for setting a watchdog timer for said work object upon said removing and initiating, the watchdog timer ensuring that when the work object is removed from the work queue and sent for processing by the service object, if an error occurs and processing is not completed, the work object is recovered. - View Dependent Claims (14, 15, 16, 17, 18)
means for receiving a request from an application via a first communications port requesting notification of a designated event; and
means for providing notification to said application via a second communications port responsive to detection of said designated event.
-
-
18. The system of claim 13 further comprising means for publishing said data to a network server for access by said tools upon successful completion of processing of said work object.
Specification