IP Library Granted Patent US 9,800,515
Granted Patent B2
US 9,800,515 · App. 14/170,158 · Granted Oct 24, 2017

Mechanism for controlling a process on a computing node based on the participation status of the computing node

Inventors: Sajithkumar Kizhakkiniyil (Pleasanton, CA); Jeevan Pingali (Bangalore, IN); Narender Vattikonda (San Jose, CA); Rahul Kumar (Bangalore, IN); Krishnam Chapa (Bangalore, IN)
Assignee: Apollo Education Group, Inc.
H04L47/70G06F9/00H04L43/08H04L43/0817H04L67/1004
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,800,515
App. No.
14/170,158
Granted
Oct 24, 2017
Kind
B2
Abstract

A mechanism is provided for controlling a process on a computing node. In one implementation, a determination is made as to whether the participation status of a computing node has changed. The participation status may, for example, be active, in which case the computing node is participating in the processing of requests from a request handler, or it may be passive, in which case the computing node is not participating in the processing of requests from the request handler. In response to a determination that the participation status of the computing node has changed from a current status to a new status, one or more processes on the computing node may be caused to begin or halt processing, in accordance with the new status. For example, if the current status is passive and the new status is active, a process on the computing node may be caused to begin processing. On the other hand, if the current status is active and the new status is passive, the process on the computing node may be caused to halt processing. Doing so helps to ensure that a process (such as a self-initiated process) executing on a passive node will not perform any processing that may lead to incorrect or inconsistent results, or even worse, to system corruption or failure.

Claims (74)

1. A method, comprising:

a request handler, executing at a particular node of a plurality of nodes, maintaining participation status information for a set of registered nodes of the plurality of nodes;

a process controller, executing at a computing node of the plurality of nodes, determining that the participation status information, maintained by the request handler, indicates that that a participation status of the computing node is an active participation status;

after the process controller determines that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is an active participation status, the process controller determining that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is a passive participation status;

in response to determining that the participation status of the computing node is a passive participation status, after determining that the participation status of the computing node was an active participation status, the process controller causing a process executing on the computing node to halt processing.

2. The method of claim 1 , wherein the process controller determining that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is an active participation status comprises:

obtaining information from the request handler indicating that the request handler considers the computing node to be a node that participates in processing requests from the request handler.

3. The method of claim 1 , wherein the process controller determining that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is an active participation status comprises:

determining a number of requests that have been received by the computing node from the request handler over a certain period of time; and

determining, based at least in part upon the number of requests that have been received by the computing node from the request handler over the certain period of time, that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is an active participation status.

4. The method of claim 1 , further comprising:

registering the process with the process controller to produce a process registration;

wherein causing the process to halt processing is based, at least in part, on the process registration.

5. The method of claim 4 ,

wherein registering the process comprises registering a callback function associated with the process; and

wherein causing the process to halt processing comprises invoking the callback function.

6. The method of claim 1 ,

wherein the method further comprises registering a callback function associated with the process; and

wherein causing the process on the computing node to halt processing comprises invoking the callback function.

7. The method of claim 1 , further comprising:

after the process controller determines that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is a passive participation status, the process controller determining that the participation status information, maintained by the request handler, again indicates that that the participation status of the computing node is an active participation status;

in response to determining that the participation status information again indicates that that the participation status of the computing node is an active participation status, the process controller causing the process executing on the computing node to begin processing.

8. The method of claim 7 , further comprising:

registering a plurality of callback functions associated with the process;

wherein the plurality of callback functions includes a begin callback function;

wherein causing the process executing on the computing node to begin processing comprises invoking the begin callback function to cause the process to begin processing.

9. The method of claim 7 , further comprising:

registering a callback function associated with the process; and

wherein causing the process on the computing node to halt processing comprises invoking the callback function; and

wherein causing the process on the computing node to begin processing comprises invoking the callback function.

10. The method of claim 7 ,

wherein the method further comprises registering a callback function associated with the process;

wherein causing the process on the computing node to begin processing comprises invoking the callback function to cause the process to begin processing.

11. The method of claim 1 ,

wherein the method further comprises registering a plurality of callback functions associated with the process;

wherein the plurality of callback functions includes a halt callback function;

wherein causing the process on the computing node to halt processing comprises invoking the halt callback function to cause the process to halt processing.

12. One or more computer readable storage media storing one or more sequences of instructions which, when executed by one or more processors, cause:

a request handler, executing at a particular node of a plurality of nodes, maintaining participation status information for a set of registered nodes of the plurality of nodes;

a process controller, executing at a computing node of the plurality of nodes, determining that the participation status information, maintained by the request handler, indicates that that a participation status of the computing node is an active participation status;

after the process controller determines that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is an active participation status, the process controller determining that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is a passive participation status;

in response to determining that the participation status of the computing node is a passive participation status, after determining that the participation status of the computing node was an active participation status, the process controller causing a process executing on the computing node to halt processing.

13. The one or more computer readable storage media of claim 12 , wherein the process controller determining that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is an active participation status comprises:

obtaining information from the request handler indicating that the request handler considers the computing node to be a node that participates in processing requests from the request handler.

14. The one or more computer readable storage media of claim 12 , wherein the process controller determining that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is an active participation status comprises:

determining a number of requests that have been received by the computing node from the request handler over a certain period of time; and

determining, based at least in part upon the number of requests that have been received by the computing node from the request handler over the certain period of time, that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is an active participation status.

15. The one or more computer readable storage media of claim 12 , wherein the one or more sequences of instructions further comprise instructions which, when executed by the one or more processors, cause:

registering the process with the process controller to produce a process registration;

wherein causing the process to halt processing is based, at least in part, on the process registration.

16. The one or more computer readable storage media of claim 15 ,

wherein registering the process comprises registering a callback function associated with the process; and

wherein causing the process to halt processing comprises invoking the callback function.

17. The one or more computer readable storage media of claim 12 ,

wherein the one or more sequences of instructions further comprise instructions which, when executed by the one or more processors, cause registering a callback function associated with the process; and

wherein causing the process on the computing node to halt processing comprises invoking the callback function.

18. The one or more computer readable storage media of claim 12 , wherein the one or more sequences of instructions further comprise instructions which, when executed by one or more processors, cause:

after the process controller determines that the participation status information, maintained by the request handler, indicates that that the participation status of the computing node is a passive participation status, the process controller determining that the participation status information, maintained by the request handler, again indicates that that the participation status of the computing node is an active participation status;

in response to determining that the participation status information again indicates that that the participation status of the computing node is an active participation status, the process controller causing the process executing on the computing node to begin processing.

19. The one or more computer readable storage media of claim 12 ,

wherein the one or more sequences of instructions further comprise instructions which, when executed by the one or more processors, cause registering a plurality of callback functions associated with the process;

wherein the plurality of callback functions includes a halt callback function;

wherein causing the process on the computing node to halt processing comprises invoking the halt callback function to cause the process to halt processing.

20. The one or more computer readable storage media of claim 18 ,

wherein the one or more sequences of instructions further comprise instructions which, when executed by the one or more processors, cause registering a callback function associated with the process;

wherein causing the process on the computing node to begin processing comprises invoking the callback function to cause the process to begin processing.

21. The one or more computer readable storage media of claim 18 , wherein the one or more sequences of instructions further comprise instructions which, when executed by one or more processors, cause:

registering a plurality of callback functions associated with the process;

wherein the plurality of callback functions includes a begin callback function;

wherein causing the process executing on the computing node to begin processing comprises invoking the begin callback function to cause the process to begin processing.

22. The one or more computer readable storage media of claim 18 , wherein the one or more sequences of instructions further comprise instructions which, when executed by one or more processors, cause:

registering a callback function associated with the process; and

wherein causing the process on the computing node to halt processing comprises invoking the callback function; and

wherein causing the process on the computing node to begin processing comprises invoking the callback function.

Assignments (5)
SECURITY INTEREST Recorded Nov 13, 2025
From: THE UNIVERSITY OF PHOENIX, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 072896/0972 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: APOLLO EDUCATION GROUP, INC.
To: THE UNIVERSITY OF PHOENIX, INC.
Reel/Frame 053308/0512 →
RELEASE OF SECURITY INTEREST Recorded Jul 15, 2019
From: EVEREST REINSURANCE COMPANY
To: APOLLO EDUCATION GROUP, INC.
Reel/Frame 049753/0187 →
SECURITY INTEREST Recorded Feb 14, 2017
From: APOLLO EDUCATION GROUP, INC.
To: EVEREST REINSURANCE COMPANY
Reel/Frame 041750/0137 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2014
From: KIZHAKKINIYIL, SAJITHKUMAR; PINGALI, JEEVAN; VATTIKONDA, NARENDER; KUMAR, RAHUL; CHAPA, KRISHNAM
To: APOLLO EDUCATION GROUP, INC.
Reel/Frame 032109/0941 →
Continuity (1)
Related Publication 20150222506A1 · Aug 6, 2015