IP Library Granted Patent US 9,501,302
Granted Patent B1
US 9,501,302 · App. 14/465,709 · Granted Nov 22, 2016

System, method, and computer program for combining results of event processing received from a plurality of virtual servers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,501,302
App. No.
14/465,709
Granted
Nov 22, 2016
Kind
B1
Abstract

A system, method, and computer program are provided for combining results of event processing received from a plurality of virtual processes or servers. In use, an event is sent to a plurality of virtual processes or virtual servers. Further, a result of processing of the event is received from each of the virtual processes or virtual servers. In addition, the results received from the plurality of virtual processes or virtual servers are combined.

Claims (39)

1. A computer program product embodied on a non-transitory computer readable medium, comprising computer code for:

sending an event to a first function of a first virtual server of a plurality of virtual servers each including an identical plurality of functions, where the first function of the first virtual server processes the event to obtain an intermediate result;

sending the intermediate result from the first function of the first virtual server to a subsequent function of a subsequent server of the plurality of virtual servers according to a predetermined order;

in response to a determination that the subsequent function of the subsequent server is not a last function within the subsequent server, processing the event at the subsequent function of the subsequent server to obtain other intermediate result, and sending the other intermediate result to another subsequent function of another subsequent server of the plurality of virtual servers according to the predetermined order;

in response to a determination that the subsequent function of the subsequent server is a last function within the subsequent server, processing the event at the last function to obtain a final result of the event;

sending the event to the first function of a second virtual server other than the first virtual server of the plurality of virtual servers, where the first function of the second virtual server processes the event to obtain a second intermediate result;

sending the second intermediate result from the first function of the second virtual server to a subsequent function of a subsequent server of the plurality of virtual servers according to an order other than the predetermined order;

in response to the determination that the subsequent function of the subsequent server is not a last function within the subsequent server, processing the event at the subsequent function of the subsequent server to obtain other second intermediate result, and sending the other second intermediate result to another subsequent function of another subsequent server of the plurality of virtual servers according to the order other than the predetermined order;

in response to the determination that the subsequent function of the subsequent server is the last function within the subsequent server, processing the event at the last function to obtain a second final result of the event; and

combining the final result of the event and the second final result of the event.

2. The computer program product of claim 1 , wherein the event is included within a controlled list of events sent to the plurality of virtual servers.

3. The computer program product of claim 2 , wherein the controlled list of events is distributed between all entry points associated with the plurality of virtual servers.

4. The computer program product of claim 3 , wherein the computer program product is operable such that the controlled list of events is controlled in a manner that will give different probabilities of passing through the plurality of virtual processes.

5. The computer program product of claim 4 , wherein the computer program product is operable such that a plurality of events are processed at each of the plurality of virtual processes.

6. The computer program product of claim 1 , wherein the computer program product is operable such that the sending of the event initiates the processing of the event.

7. The computer program product of claim 1 , further comprising computer code for identifying a malfunctioning virtual process based on the combined final results.

8. A method, comprising:

sending an event to a first function of a first virtual server of a plurality of virtual servers each including an identical plurality of functions, where the first function of the first virtual server processes the event to obtain an intermediate result;

sending the intermediate result from the first function of the first virtual server to a subsequent function of a subsequent server of the plurality of virtual servers according to a predetermined order;

in response to a determination that the subsequent function of the subsequent server is not a last function within the subsequent server, processing the event at the subsequent function of the subsequent server to obtain other intermediate result, and sending the other intermediate result to another subsequent function of another subsequent server of the plurality of virtual servers according to the predetermined order;

in response to a determination that the subsequent function of the subsequent server is a last function within the subsequent server, processing the event at the last function to obtain a final result of the event;

sending the event to the first function of a second virtual server other than the first virtual server of the plurality of virtual servers, where the first function of the second virtual server processes the event to obtain a second intermediate result;

sending the second intermediate result from the first function of the second virtual server to a subsequent function of a subsequent server of the plurality of virtual servers according to an order other than the predetermined order;

in response to the determination that the subsequent function of the subsequent server is not a last function within the subsequent server, processing the event at the subsequent function of the subsequent server to obtain other second intermediate result, and sending the other second intermediate result to another subsequent function of another subsequent server of the plurality of virtual servers according to the order other than the predetermined order;

in response to the determination that the subsequent function of the subsequent server is the last function within the subsequent server, processing the event at the last function to obtain a second final result of the event; and

combining the final result of the event and the second final result of the event.

9. A system, comprising:

a processor; and

computer program, when executed by the processor, to perform a method comprising:

sending an event to a first function of a first virtual server of a plurality of virtual servers each including an identical plurality of functions, where the first function of the first virtual server processes the event to obtain an intermediate result;

sending the intermediate result from the first function of the first virtual server to a subsequent function of a subsequent server of the plurality of virtual servers according to a predetermined order;

in response to a determination that the subsequent function of the subsequent server is not a last function within the subsequent server, processing the event at the subsequent function of the subsequent server to obtain other intermediate result, and sending the other intermediate result to another subsequent function of another subsequent server of the plurality of virtual servers according to the predetermined order;

in response to a determination that the subsequent function of the subsequent server is a last function within the subsequent server, processing the event at the last function to obtain a final result of the event;

sending the event to the first function of a second virtual server other than the first virtual server of the plurality of virtual servers, where the first function of the second virtual server processes the event to obtain a second intermediate result;

sending the second intermediate result from the first function of the second virtual server to a subsequent function of a subsequent server of the plurality of virtual servers according to an order other than the predetermined order;

in response to the determination that the subsequent function of the subsequent server is not a last function within the subsequent server, processing the event at the subsequent function of the subsequent server to obtain other second intermediate result, and sending the other second intermediate result to another subsequent function of another subsequent server of the plurality of virtual servers according to the order other than the predetermined order;

in response to the determination that the subsequent function of the subsequent server is the last function within the subsequent server, processing the event at the last function to obtain a second final result of the event; and

combining the final result of the event and the second final result of the event.

10. The system of claim 9 , wherein the processor is coupled to memory via a bus.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2016
From: AMDOCS SOFTWARE SYSTEMS LIMITED
To: AMDOCS DEVELOPMENT LIMITED; AMDOCS SOFTWARE SYSTEMS LIMITED
Reel/Frame 039695/0965 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2015
From: SHANI, OMER
To: AMDOCS SOFTWARE SYSTEMS LIMITED
Reel/Frame 035871/0550 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2015
From: SHANI, OMER
To: AMDOCS SOFTWARE SYSTEMS LIMITED
Reel/Frame 035101/0127 →