IP Library Granted Patent US 9,722,870
Granted Patent B2
US 9,722,870 · App. 14/543,665 · Granted Aug 1, 2017

Locality and time based dependency relationships in clusters

Inventors: Martin H. Rattner (Los Altos, CA); Nicholas A. Solter (Colarado Springs, CO); Bharath Venkatakrishnan (Chicago, IL); Hariharan Kolam Govindarajan (Stony Brook, NY); Gia-Khanh Nguyen (Santa Clara, CA)
Assignee: Oracle International Corporation
H04L41/0816G06F11/20H04L41/0668H04L41/0893H04L67/16G06F11/142G06F11/202H04L43/0817
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,722,870
App. No.
14/543,665
Granted
Aug 1, 2017
Kind
B2
Abstract

A method, apparatus, and system are directed toward configuring a dependency relationship between resources in a cluster. A dependency relationship between a dependent in a first resource group and a dependee in a second resource group is declared. The dependency relationship might include a locality based qualifier and/or a time based qualifier. The locality based qualifier includes a Local Node, Any Node, or From Resource Group Affinity relationship. The time based dependency qualifier includes a Strong dependency, Weak dependency, Online Restart dependency, or Offline Restart dependency. The declaration might be made using a graphical user interface, property list, configuration file, or the like. A candidate node on which to activate the first resource group is determined. The dependent is brought online on the candidate node based on whether an instance of the dependee is online on a node specified by the locality based qualifier.

Claims (34)

1. A method for configuring a dependency relationship between resources in a cluster, comprising:

declaring at least one relationship for a dependent resource in a first resource group,

wherein the at least one relationship includes a Local Node dependency relationship between the dependent resource in the first resource group and a first dependee resource in a second resource group, and

wherein the at least one relationship further includes an Any Node dependency relationship between the dependent resource in the first resource group and a second dependee resource in the second resource group;

determining a candidate node on which to activate the first resource group;

satisfying the Local Node dependency relationship for an instance of the dependent resource, if an instance of the first dependee resource is online on the candidate node;

satisfying the Any Node dependency relationship for the instance of the dependent resource, if an instance of the second dependee resource is online on any node in the cluster;

performing a check, after declaring, to determine if every relationship between every resource in the first resource group and any other resource maintains a directed acyclic relationship; and

activating, based on the check succeeding, the instance of the dependent resource on the candidate node, if every relationship of the at least one relationship is satisfied.

2. The method of claim 1 , wherein declaring further comprises:

receiving the at least one relationship from a graphical user interface, a property list, a configuration file, a configuration repository, or a command line interface; and

encoding the at least one relationship on a processor readable medium, wherein the at least one relationship includes information about the dependent resource, at least one dependee resource, and a locality based relationship qualifier.

3. The method of claim 1 , further comprising:

declaring an identity for every resource in the first resource group, wherein an instance of every resource in the first resource group is configured to be online on a same node.

4. The method of claim 1 , further comprising:

failing to satisfy the Local Node dependency relationship for the first dependee resource, if the dependee resource is offline on the candidate node; and

failing to satisfy the Any Node dependency relationship for the second dependee resource, if the dependee resource is offline on every node in the cluster.

5. A non-transitory computer readable medium comprising instructions which, when executed by a processor, perform a method for configuring a dependency relationship between resources in a cluster, comprising:

declaring at least one relationship for a dependent resource in a first resource group,

wherein the at least one relationship includes a Local Node dependency relationship between the dependent resource in the first resource group and a first dependee resource in a second resource group, and

wherein the at least one relationship further includes an Any Node dependency relationship between the dependent resource in the first resource group and a second dependee resource in the second resource group;

determining a candidate node on which to activate the first resource group;

satisfying the Local Node dependency relationship for an instance of the dependent resource, if an instance of the first dependee resource is online on the candidate node;

satisfying the Any Node dependency relationship for the instance of the dependent resource, if an instance of the second dependee resource is online on any node in the cluster;

performing a check, after declaring, to determine if every relationship between every resource in the first resource group and any other resource maintains a directed acyclic relationship; and

activating, based on the check succeeding, the instance of the dependent resource on the candidate node, if every relationship of the at least one relationship is satisfied.

6. The non-transitory computer readable medium of claim 5 , wherein declaring further comprises:

receiving the at least one relationship from a graphical user interface, a property list, a configuration file, a configuration repository, or a command line interface; and

encoding the at least one relationship on a processor readable medium, wherein the at least one relationship includes information about the dependent resource, at least one dependee resource, and a locality based relationship qualifier.

7. The non-transitory computer readable medium of claim 5 , further comprising instructions for:

declaring an identity for every resource in the first resource group, wherein an instance of every resource in the first resource group is configured to be online on a same node.

8. The non-transitory computer readable medium of claim 5 , further comprising instructions for:

failing to satisfy the Local Node dependency relationship for the first dependee resource, if the dependee resource is offline on the candidate node; and

failing to satisfy the Any Node dependency relationship for the second dependee resource, if the dependee resource is offline on every node in the cluster.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded May 2, 2018
From: SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 045696/0585 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 042067 FRAME: 0143. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded May 2, 2018
From: RATTNER, MARTIN H.; SOLTER, NICHOLAS A.; VENKATAKRISHNAN, BHARATH; GOVINDARAJAN, HARIHARAN KOLAM; NGUYEN, GIA-KHANH
To: SUN MICROSYSTEMS, INC.
Reel/Frame 046070/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2017
From: RATTNER, MARTIN H.; SOLTER, NICHOLAS A.; VENKATAKRISHNAN, BHARATH; GOVINDARAJAN, HARIHARAN KOLAM; NGUYEN, GIA-KHANH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 042067/0143 →
Continuity (2)
Division 11777184 · Jul 12, 2007
Related Publication 20150074252A1 · Mar 12, 2015