IP Library Granted Patent US 8,850,458
Granted Patent B1
US 8,850,458 · App. 12/135,001 · Granted Sep 30, 2014

System, method, and computer program for combining results of event processing received from a plurality of 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 8,850,458
App. No.
12/135,001
Granted
Sep 30, 2014
Kind
B1
Abstract

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

Claims (42)

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

computer code for identifying a plurality of servers, where each server includes a plurality of functions, and where both the plurality of servers and the plurality of functions are arranged in a predetermined order;

computer code for sending a first event to each of the plurality of servers according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, where the first function of each of the plurality of servers processes the event to obtain an intermediate result, and each of the plurality of servers sends the intermediate result to a subsequent function of a subsequent server according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, where:

when the subsequent function of the subsequent server is not determined to be the last function within the subsequent server, the subsequent function processes the event to obtain another intermediate result and the subsequent server sends the other intermediate result to another subsequent function of another subsequent server according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, and

when the subsequent function of the subsequent server is determined to be the last function within the subsequent server, the last function processes the event to obtain a final result of the first event and the subsequent server returns the final result of the first event;

computer code for sending a second event to each of the plurality of servers according to an opposite order of the predetermined order of the plurality of servers, where the first function of each of the plurality of servers processes the second event to obtain a second intermediate result, and each of the plurality of servers sends the second intermediate result to the subsequent function of the previous server according to the opposite order of the predetermined order of the plurality of servers, and according to the predetermined order of the plurality of functions, where:

when the subsequent function of the previous server determined to be the last function within the subsequent server, the subsequent function processes the event to obtain another second intermediate result and the previous server sends the other second intermediate result to another subsequent function of another previous server according to the opposite order of the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, and

when the subsequent function of the previous server is determined to be the last function within the subsequent server, the last function processes the event to obtain the final result of the second event and the previous server returns the final result of the second event;

computer code for receiving the final results of the first event and the fine results of the second event;

computer code for combining the final results of the first event and the final result of the second event received from the plurality of servers, such that a combined result associated with each server is generated; and

computer code for identifying a malfunctioning function of the set of functions, based on the combined results.

2. The computer program product of claim 1 , wherein a sending of the plurality of events initiates the processing of the event on each of the servers.

3. The computer program product of claim 1 , wherein the plurality of functions on a first one of the servers is identical to the plurality of functions on each other one of the servers.

4. The computer program product of claim 1 , wherein the sending of the second event initiates processing of the second event on each of the servers.

5. The computer program product of claim 1 , wherein combining the final results includes summing the final results.

6. The computer program product of claim 1 , wherein identifying the malfunctioning function includes comparing the combined results against an expected result associated with the processing of the plurality of events.

7. The computer program product of claim 1 , wherein identifying the malfunctioning function based on the combined results includes identifying a result within the combined results that is different from a result produced by a normally operating function of the set of functions.

8. A method, comprising:

identifying a plurality of servers, where each server includes a plurality of functions, and where both the plurality of servers and the plurality of functions are arranged in a predetermined order;

sending a first event to each of the plurality of servers according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, where the first function of each of the plurality of servers processes the event to obtain an intermediate result, and each of the plurality of servers sends the intermediate result to a subsequent function of a subsequent server according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, where:

when the subsequent function of the subsequent server is not determined to be the last function within the subsequent server, the subsequent function processes the event to obtain another intermediate result and the subsequent server sends the other intermediate result to another subsequent function of another subsequent server according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, and

when the subsequent function of the subsequent server is determined to be the last function within the subsequent server, the last function processes the event to obtain a final result of the first event and the subsequent server returns the final result of the first event;

sending a second event to each of the plurality of servers according to an opposite order of the predetermined order of the plurality of servers, where the first function of each of the plurality of servers processes the second event to obtain a second intermediate result, and each of the plurality of servers sends the second intermediate result to the subsequent function of the previous server according to the opposite order of the predetermined order of the plurality of servers, and according to the predetermined order of the plurality of functions, where:

when the subsequent function of the previous server is not determined to be the last function within the subsequent server, the subsequent function processes the event to obtain another second intermediate result and the previous server sends the other second intermediate result to another subsequent function of another previous server according site to the opposite order of the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, and

when the subsequent function of the previous server is determined to be the last function within the subsequent server, the last function processes the event to obtain the final result of the second event and the previous server returns the final result of the second event;

receiving the final results of the first event and the final results of the second event;

combining the final results of the first event and the final result of the second event received from the plurality of servers, such that a combined result associated with each server is generated; and

identifying a malfunctioning function of the set of functions, based on the combined results.

9. A system, comprising:

a processor; and

a memory coupled to the processor;

wherein the memory storing computer executable instructions for:

identifying a plurality of servers, where each server includes a plurality of functions, and where both the plurality of servers and the plurality of functions are arranged in a predetermined order;

sending a first event to each of the plurality of servers according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, where the first function of each of the plurality of servers processes the event to obtain an intermediate result, and each of the plurality of servers sends the intermediate result to a subsequent function of a subsequent server according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, where:

when the subsequent function of the subsequent server is not determined to be the last function within the subsequent server, the subsequent function processes the event to obtain another intermediate result and the subsequent server sends the other intermediate result to another subsequent function of another subsequent server according to the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, and

when the subsequent function of the subsequent server is determined to be the last function within the subsequent server, the last function processes the event to obtain a final result of the first event and the subsequent server returns the final result of the first event;

sending a second event to each of the plurality of servers according to an opposite order of the predetermined order of the plurality of servers, where the first function of each of the plurality of servers processes the second event to obtain a second intermediate result, and each of the plurality of servers sends the second intermediate result to the subsequent function of the previous server according to the opposite order of the predetermined order of the plurality of servers, and according to the predetermined order of the plurality of functions, where:

when the subsequent function of the previous server is not determined to be the last function within the subsequent server, the subsequent function processes the event to obtain another second intermediate result and the previous server sends the other second intermediate result to another subsequent function of another previous server according the opposite order of the predetermined order of the plurality of servers and the predetermined order of the plurality of functions, and

when the subsequent function of the previous server is determined to be the last function within the subsequent server, the last function processes the event to obtain the final result of the second event and the previous server returns the final result of the second event;

receiving the final results of the first event and the final results of the second event;

combining the final results of the first event and the final result of the second event received from the plurality of servers, such that a combined result associated with each server is generated; and

identifying a malfunctioning function of the set of functions, based on the combined results.

Assignments (2)
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 6, 2008
From: SHANI, OMER
To: AMDOCS SOFTWARE SYSTEMS LIMITED
Reel/Frame 021063/0277 →