SYSTEM AND METHOD FOR DISTRIBUTED EXECUTION OF A SEQUENCE PROCESSING CHAIN
20210157637 ยท 2021-05-27
Inventors
Cpc classification
G06F9/5027
PHYSICS
G06F9/5038
PHYSICS
G06F16/2379
PHYSICS
G06F9/4881
PHYSICS
G01R31/31718
PHYSICS
G01R31/31722
PHYSICS
International classification
Abstract
A system is provided for distributed execution of a sequence processing chain. The system comprises an interface adapted to set a measurement sequence for a plurality of measurement sites, each comprising a sequence runner. The system further comprises a sequencer repository adapted to be accessed locally from the plurality of measurement sites. Moreover, the system comprises a sequence state manager adapted to receive measurement sequence states from at least one sequence runner and further adapted to distribute the measurement sequence states to other sequence runners via a network. In this context, the measurement sequence states are associated with data and/or results through the sequence processing chain.
Claims
1. A system for distributed execution of a sequence processing chain comprising: an interface adapted to set a measurement sequence for a plurality of measurement sites, each comprising a sequence runner; a sequencer repository adapted to be accessed locally from the plurality of measurement sites, and a sequence state manager adapted to receive measurement sequence states from at least one sequence runner and further adapted to distribute the measurement sequence states to other sequence runners via a network, wherein the measurement sequence states are associated with data and/or results through the sequence processing chain.
2. The system according to claim 1, wherein the sequence runners are adapted to compute resources available on measurement instruments in the plurality of measurement sites.
3. The system according to claim 1, wherein the sequence runners are further adapted to compute resources available on remote computing resources either located at the plurality of measurement sites or connected by the network.
4. The system according to claim 1, wherein the sequence runners on the plurality of measurement sites are further adapted to determine whether a step of the sequence processing chain can be executed on non-measurement instruments and therefore conveys the measurement sequence states associated with the data and/or results to the sequence state manager for further execution of the step.
5. The system according to claim 4, wherein the sequence state manager is further adapted to determine resources available on the measurement instruments and on the remote computing resources and thereby distributes the measurement sequence states associated with the data and/or results to other sequence runners for further execution of the step.
6. The system according to claim 5, wherein the sequence state manager is further adapted to classify the steps of the sequence processing chain based on their dependency in order to execute the steps either in parallel or in sequence.
7. The system according to claim 6, wherein the sequence state manager is further adapted to allocate different resources for parallel execution of the steps and to allocate subsequent resources for sequential execution of the steps.
8. The system according to claim 5, wherein the sequence state manager is further adapted to determine the steps of the sequence processing chain that are required to be performed by the measurement instruments.
9. The system according to claim 8, wherein the remote computing resources are on a cloud computing platform and wherein the sequence state manager is further adapted to allocate the steps of the sequence processing chain that are not required to be performed by the measurement instruments to the cloud computing platform.
10. The system according to claim 9, wherein the data and/or results associated with the measurement sequence states are stored in the database of the cloud computing platform.
11. The system according to claim 2, wherein the measurement instruments are on a production line with devices under test, where the devices under test are respectively associated with an identification.
12. A method for distributed execution of a sequence processing chain comprising the steps of: setting a measurement sequence for a plurality of measurement sites, each comprising a sequence runner; receiving measurement sequence states from at least one sequence runner, and distributing the measurement sequence states to other sequence runners via a network, wherein the measurement sequence states are associated with data and/or results through the sequence processing chain.
13. The method according to claim 12, wherein the method further comprises the step of computing resources available on measurement instruments in the plurality of measurement sites.
14. The method according to claim 12, wherein the method further comprises the step of computing resources available on remote computers either located at the plurality of measurement sites or connected by the network.
15. The method according to claim 12, wherein the method further comprises the steps of: determining whether a step of the sequence processing chain can be executed on non-measurement instruments, and determining resources available on the measurement instruments and on the remote computers in order to distribute the measurement sequence states associated with the data and/or results to other sequence runners for further execution of the step.
16. The method according to claim 15, wherein the method further comprises the step of classifying the steps of the sequence processing chain based on their dependency in order to execute the steps either in parallel or in sequence.
17. The method according to claim 16, wherein the method further comprises the steps of: allocating different resources for parallel execution of the steps, and allocating subsequent resources for sequential execution of the steps.
18. The method according to claim 13, wherein the method further comprises the step of determining the steps of the sequence processing chain that are required to be performed by the measurement instruments.
19. The method according to claim 15, wherein the remote computing resources are on a cloud computing platform and wherein the method further comprises the step of allocating the steps of the sequence processing chain that are not required to be performed by the measurement instruments to the cloud computing platform.
20. The method according to claim 19, wherein the method further comprises the step of storing the data and/or results associated with the measurement sequence states in the database of the cloud computing platform.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Exemplary embodiments of the invention are now further explained with respect to the drawings by way of example only, and not for limitation. In the drawings:
[0029]
[0030]
[0031]
[0032]
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0033] Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings. However, the following embodiments of the present invention may be variously modified and the range of the present invention is not limited by the following embodiments.
[0034] In
[0035] The network 18 or the cloud service facilitates cloud computing platform that comprises a cloud server 17, which represents the remote resources available to the measurement sites 12. Such remote resources can be the computers located at the measurement sites 12 or connected via the network 18. The system 10 further comprises a sequence state manager 15 that is able to communicate with the measurement sites 12, preferably in a wireless manner. The sequence state manager 15 is further able to communicate with the cloud server 17 and vice versa, especially with the remote resources that are facilitated therein. A cloud database 16 is further included within the network 18 where the sequence state manager 15 can store intermediate results and/or process data. The system 10 further comprises a sequencer repository 14, preferably distributed at the cloud service, which can further be accesses locally by the measurement sites 12.
[0036] In
[0037] The measurement sites 12.sub.1,12.sub.2 are able to access the sequencer repository 14 locally. In order to do this, the master sequencer repository 14 can be distributed at the cloud service 18 whereas the cloned versions of the sequencer repository 24.sub.1,24.sub.2 are distributed respectively at the measurement sites 12.sub.1,12.sub.2. Due to the symbiotic operation, the measurement sites 12.sub.1,12.sub.2, by means of the sequence runners 20.sub.1,20.sub.2 send the sequence states 21 to the sequence state manager 15 along with the data and/or results, e.g., the output data/results of the measurements from the instruments 25,26 resp. 27,28. The sequence state manager 15 stores the data/results in the cloud database 16.
[0038] In addition, the remote resources or the computers that are either locally or remotely connected to the measurement sites 12.sub.1,12.sub.2 and are incorporated into the cloud server further comprises respective sequence runners 22. In this regard, the sequence state manager 15 is able to receive sequence states 23 from the cloud server 17 and is further able to send sequence states 23 to the cloud server 17.
[0039] Hence, the sequence state manager 15 can distribute sequences, especially the different steps or tasks of the sequence processing chain to different computing nodes. As a result, the computing power in the cloud service 18 can be used to execute measurement sequences so that the sequence execution is no longer bound to a specific measurement site 12 or instruments.
[0040] In
[0041] For example, the main sequence 30 can be initiated locally and the first task 31 is executed at step 1 followed by the second task 32 at step 2. At this point, the sub-sequence 300 is initiated along the third task 33, for instance, at a remote computing node, and the consecutive steps 1 to 3 of the sub-sequence 300 are executed. After that, during the fourth task 34 of the main sequence 30, a further sub-sequence 400 is initiated, for instance, at a remote computing node, and the consecutive steps 1 to 2 of the sub-sequence 400 are executed. Along the fifth task 35, the execution of the main sequence is continued and any residual steps, e.g., step 5 of the main sequence, are executed.
[0042] It is further possible that the main sequence can be interrupted or halted until the execution of the sub-sequences 300,400 are finished, e.g., along the sixth task as illustrated herein. A verdict can be build, for instance, along the seventh task 37 of the main sequence 30, either solely based on the execution of the main sequence 30 or in combination of the main sequence 30 and the sub-sequences 300,400. As a result, asynchronous execution of the measurement sequences is incorporated so that the measurement sequences may contain sub-sequences that can run on other computers or measurement sites in parallel.
[0043] It is to be noted that the tasks 31,32,35 of the main sequence as well as the steps of the sub-sequences 300,400 require substantial time to execute the respective steps. Whereas the task for spawning the sub-sequences 300,400 into the main sequence 30, for instance, along the tasks 33,34, takes no substantial time. Thus, the sub-sequences 300,400 can be spawns in the sequence processing chain in real-time in an asynchronous manner. It is preferred that the measurement sequences are version-controlled, for instance, by means of timestamp, in order to provide control over changes during the execution.
[0044] In
[0045] The embodiments of the present invention can be implemented by hardware, software, or any combination thereof. Various embodiments of the present invention may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, or the like.
[0046] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Numerous changes to the disclosed embodiments can be made in accordance with the disclosure herein without departing from the spirit or scope of the invention. Thus, the breadth and scope of the present invention should not be limited by any of the above described embodiments. Rather, the scope of the invention should be defined in accordance with the following claims and their equivalents.
[0047] Although the invention has been illustrated and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In addition, while a particular feature of the invention may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application.