IP Library Granted Patent US 9,559,892
Granted Patent B2
US 9,559,892 · App. 14/254,800 · Granted Jan 31, 2017

Fast node/link failure detection using software-defined-networking

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,559,892
App. No.
14/254,800
Granted
Jan 31, 2017
Kind
B2
Abstract

Embodiments of the present invention include systems and methods for detecting failure of node, link, or both, in a network. The system for detecting failure of nodes, link, or both, in a network includes an agent that monitors status of one or more applications on a first end node, sends a status notice related to the applications on the first end node to a controller through an input-output (IO) port, receives status information of at least one application on a second end node from the controller through the IO port, and stores the status information into a memory. When the agent receives a query from an application on the first end node, it looks up the status information in the memory to check aliveness of an application on the second end node.

Claims (32)

1. An agent installed in a first end node and communicatively coupled to a controller and to a second end node via one or more switches in a network, the agent performing the steps comprising:

monitoring status of one or more applications on the first end node;

sending a status notice that includes information regarding at least a portion of the monitored status of the one or more applications on the first end node to the controller;

receiving status information of at least one application on the second end node from the controller; and

storing the status information into a memory.

2. An apparatus as recited in claim 1 , further comprising:

responsive to a query from the one or more of the applications on the first end node, querying the status information to check aliveness of the at least one application on the second end node.

3. An apparatus as recited in claim 1 , wherein the status notice includes one or more of identity, capability, and protocol state of the one or more applications on the first end node.

4. An apparatus as recited in claim 1 , wherein the status information has a reachability graph that indicates a route from the first end node to the at least one application on the second end node.

5. An apparatus as recited in claim 4 , wherein the reachability graph further indicates aliveness of the one or more applications on the first end node.

6. An apparatus as recited in claim 1 , wherein the step of sending a status notice includes sending a status notice periodically at a preset time interval.

7. An apparatus as recited in claim 1 , wherein the step of sending a status notice includes sending a status notice responsive to an application on the first end node having a status change.

8. An apparatus as recited in claim 1 , wherein the first end node is a virtual machine host server and at least one of the one or more applications on the first end node is a virtual machine.

9. A controller communicatively coupled to a set of end nodes and one or more switches in a network to facilitate communication of status of one or more applications in the network and performing the steps comprising:

receiving, from each of a set of end nodes, a status notice that includes information of status regarding one or more applications on each of the end nodes;

compiling at least some of the status notices to generate status information of at least a portion of the one or more applications on the set of end nodes;

storing the status information into a memory; and

sending at least a portion of the status information to at least one end node.

10. A controller as recited in claim 9 , wherein the status notice from a particular one of the set of end nodes comprises status of all of the one or more applications on the particular end node.

11. A controller as recited in claim 9 , wherein the status notice from a particular one of the set of end nodes is related to a portion of the one or more applications on the particular end node that have status change since a preceding status notice was received from the particular end node.

12. A controller as recited in claim 9 , wherein the sent status information has a reachability graph that indicates a communication route between a first end node and an application on a second end node via the network.

13. A controller as recited in claim 9 , wherein the step of sending the status information is performed periodically at a preset time interval.

14. A controller as recited in claim 9 , wherein the step of sending the status information is performed each time when the status notice is received.

15. A computer-implemented method for tracking status of a plurality of end nodes that are communicatively coupled to each other and a controller via a network, the method comprising:

causing an agent on each of the end nodes to generate a status notice that includes information of status of one or more applications on each said node on which the agent is installed; and

causing at least one agent to send the status notice to the controller that compiles the status notice to generate status information and sends the status information to one or more of the end nodes.

16. A computer-implemented method as recited in claim 15 , wherein the step of causing the at least one agent to send the status notice is performed in response to the one or more applications on an end node where the agent is installed having a status change.

17. A computer-implemented method as recited in claim 15 , wherein the step of causing at least one agent to send the status notice is performed periodically at a preset time interval.

18. A computer-implemented method as recited in claim 15 , wherein the status information has a reachability graph that indicates a route from one end node to a second end node.

19. A computer-implemented method as recited in claim 15 , further comprising:

causing a first end node to store the status information into a memory; and

responsive to a query from an application on the first node, querying the status information to check aliveness of one or more applications on a second node.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 033625 FRAME 0748 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0050 →
RELEASE OF REEL 033625 FRAME 0688 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0757 →
RELEASE OF REEL 033625 FRAME 0711 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040016/0903 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 033625/0688 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033625/0748 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033625/0711 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2014
From: DHARMADHIKARI, VIVEK; SANE, SANJAY; SAWAL, VINAY
To: DELL PRODUCTS, L. P.
Reel/Frame 032696/0460 →