Method and system for detecting work completion in loosely coupled components
First Claim
1. A computer program product comprising a non-transitory computer useable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
- select a subset of functions from a set of functions defined in a component as an event sequencing group, wherein events for the functions in the event sequencing group are sequenced based on a processing order;
for each of the functions in the event sequencing group defined in the component, add event sequencing qualifier code in the component'"'"'s definition of that function, the event sequencing qualifier code indicating the processing order;
receive a request to invoke a function from the set of functions; and
in response to determining that the function is in the event sequencing group and that there is no other invocation of the function having a same event sequencing identifier,asynchronously perform the function in a multi-threaded environment according to the request and the processing order; and
provide, to one or more programs, an indication that the asynchronously performed function has completed work according to the request.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer program product is disclosed. The computer program product includes a computer useable medium that has a computer readable program. The computer readable program when executive on a computer causes the computer to receive a request from a component to invoke a function. Further, the computer readable program, when executed on a computer, causes the computer to asynchronously perform the function according to the request. In addition, the computer readable program, when executed on a computer, causes the computer to provide, to one or more programs, an indication that the function has completed work according to the request.
64 Citations
28 Claims
-
1. A computer program product comprising a non-transitory computer useable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
-
select a subset of functions from a set of functions defined in a component as an event sequencing group, wherein events for the functions in the event sequencing group are sequenced based on a processing order; for each of the functions in the event sequencing group defined in the component, add event sequencing qualifier code in the component'"'"'s definition of that function, the event sequencing qualifier code indicating the processing order; receive a request to invoke a function from the set of functions; and in response to determining that the function is in the event sequencing group and that there is no other invocation of the function having a same event sequencing identifier, asynchronously perform the function in a multi-threaded environment according to the request and the processing order; and provide, to one or more programs, an indication that the asynchronously performed function has completed work according to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
selecting a subset of functions from a set of functions defined in a component as an event sequencing group, wherein events for the functions in the event sequencing group are sequenced based on a processing order; for each of the functions in the event sequencing group defined in the component, adding event sequencing qualifier code in the component'"'"'s definition of that function, the event sequencing qualifier code indicating the processing order; receiving a request to invoke a function from the set of functions; and in response to determining that the function is in the event sequencing group and that there is no other invocation of the function having a same event sequencing identifier, asynchronously performing the function in a multi-threaded environment according to the request and the processing order; and providing, to one or more programs, an indication that the asynchronously performed function has completed work according to the request. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
selecting a subset of functions from a set of functions defined in a component as an event sequencing group, wherein events for the functions in the event sequencing group are sequenced based on a processing order; for each function in the event sequencing group, adding event sequencing qualifier code in the component'"'"'s definition of that function, the event sequencing qualifier code indicating the processing order; receiving an event that requests an invocation of a function from the event sequencing group of functions in the component; in response to determining that there is no other invocation of the function having a same event sequencing identifier, asynchronously performing the function in a multi-threaded environment according to the event and the processing order; and providing, to one or more programs, an indication that the asynchronously performed function has completed work according to the event so that a lock can be removed from the event; and in response to determining that there is another invocation of the function having a same event sequencing identifier, preventing the event from being processed. - View Dependent Claims (18, 19, 20)
-
-
21. A system comprising:
-
a processor; and storage for storing program code, wherein the program code, when executed by the processor, performs; selecting a subset of functions from a set of functions defined in a component as an event sequencing group, wherein events for the functions in the event sequencing group are sequenced based on a processing order; for each of the functions in the event sequencing group defined in the component, adding event sequencing qualifier code in the component'"'"'s definition of that function, the event sequencing qualifier code indicating the processing order; receiving a request to invoke a function from the set of functions; and in response to determining that the function is in the event sequencing group and that there is no other invocation of the function having a same event sequencing identifier, asynchronously performing the function in a multi-threaded environment according to the request and the processing order; and providing, to one or more programs, an indication that the asynchronously performed function has completed work according to the request. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
Specification