IP Library Granted Patent US 10,838,833
Granted Patent B1
US 10,838,833 · App. 16/116,288 · Granted Nov 17, 2020

Providing for high availability in a data analytics pipeline without replicas

Inventors: Ivan Jibaja (San Jose, CA); Curtis Pullen (San Jose, CA); Prashant Jaikumar (Sunnyvale, CA); Stefan Dorsett (San Jose, CA); Gaurav Jain (Sunnyvale, CA); Neil Vachharajani (Menlo Park, CA); Srinivas Chellappa (Sunnyvale, CA)
Assignee: Pure Storage, Inc.
G06F11/2023G06F11/2094G06F2201/85
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 10,838,833
App. No.
16/116,288
Granted
Nov 17, 2020
Kind
B1
Abstract

Providing for high availability in a data analytics pipeline without replicas, including: creating a data analytics pipeline, wherein each component of the data analytics pipeline is deployed within a container; creating a failover container; detecting that a component within the data analytics pipeline has failed; and responsive to detecting that the component within the data analytics pipeline has failed, deploying the component within the data analytics pipeline that has failed in the failover container.

Claims (38)

1. A method, the method comprising:

creating a data analytics pipeline, wherein each component of the data analytics pipeline carries out a different processing step and is deployed within a container;

creating a failover container configured to support any of the different processing steps performed by the components of the data analytics pipeline;

detecting that a component within the data analytics pipeline has failed; and

responsive to detecting that the component within the data analytics pipeline has failed, deploying the component that has failed in the failover container.

2. The method of claim 1 further comprising removing the failed component from the data analytics pipeline.

3. The method of claim 1 further comprising adding the component contained in the failover container to the data analytics pipeline.

4. The method of claim 1 wherein a plurality of the components within the data analytics pipeline read input data from and write output data to shared storage that is accessible by each of the plurality of components, and

wherein the method further comprises sending, from a first component to a second component, a pointer indicating a location within shared storage where the first component has stored its output.

5. The method of claim 4 further comprising:

retrieving, by the second component, the output of the first component from the location within shared storage identified by the pointer.

6. The method of claim 1 wherein only a single instance of each component exists.

7. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

creating a data analytics pipeline, wherein each component of the data analytics pipeline carries out a different processing step and is deployed within a container;

creating a failover container configured to support any of the different processing steps performed by the components of the data analytics pipeline;

detecting that a component within the data analytics pipeline has failed; and

responsive to detecting that the component within the data analytics pipeline has failed, deploying the component that has failed in the failover container.

8. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of removing the failed component from the data analytics pipeline.

9. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of adding the component contained in the failover container to the data analytics pipeline.

10. The apparatus of claim 7 wherein a plurality of the components within the data analytics pipeline read input data from and write output data to shared storage that is accessible by each of the plurality of components, and

wherein the apparatus further comprises computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of sending, from a first component to a second component, a pointer indicating a location within shared storage where the first component has stored its output.

11. The apparatus of claim 10 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of:

retrieving, by the second component, the output of the first component from the location within shared storage identified by the pointer.

12. The apparatus of claim 7 wherein only a single instance of each component exists.

13. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of monitoring each container, a multi-container service, and a multi-service pipeline.

14. A storage system comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the storage system to carry out the step of:

creating a data analytics pipeline, wherein each component of the data analytics pipeline carries out a different processing step and is deployed within a container;

creating a failover container configured to support any of the different processing steps performed by the components of the data analytics pipeline;

detecting that a component within the data analytics pipeline has failed; and

responsive to detecting that the component within the data analytics pipeline has failed, deploying the component that has failed in the failover container, including linking the container that included the component within the data analytics pipeline that has failed and the failover container only after detecting that the component within the data analytics pipeline has failed.

15. The storage system of claim 14 further comprising computer program instructions that, when executed, cause the storage system to carry out the step of removing the failed component from the data analytics pipeline.

16. The storage system of claim 14 further comprising computer program instructions that, when executed, cause the storage system to carry out the step of adding the component contained in the failover container to the data analytics pipeline.

17. The storage system of claim 14 wherein a plurality of the components within the data analytics pipeline read input data from and write output data to shared storage that is accessible by each of the plurality of components, and

wherein the storage system further comprises computer program instructions that, when executed, cause the storage system to carry out the step of sending, from a first component to a second component, a pointer indicating a location within shared storage where the first component has stored its output.

18. The storage system of claim 17 further comprising computer program instructions that, when executed, cause the storage system to carry out the steps of:

retrieving, by the second component, the output of the first component from the location within shared storage identified by the pointer.

19. The storage system of claim 14 wherein only a single instance of each component exists.

20. The storage system of claim 14 further comprising computer program instructions that, when executed, cause the storage system to carry out the step of monitoring each container, a multi-container service, and a multi-service pipeline.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2018
From: JIBAJA, IVAN; PULLEN, CURTIS; JAIKUMAR, PRASHANT; DORSETT, STEFAN; JAIN, GAURAV; VACHHARAJANI, NEIL; CHELLAPPA, SRINIVAS
To: PURE STORAGE, INC.
Reel/Frame 046742/0068 →
Cited By (9)
US 12,204,988 US 12,219,032 US 12,260,207 US 12,306,733 US 12,353,434 US 12,354,039 US 12,360,865 US 12,399,742 US 12,430,156