IP Library Granted Patent US 11,714,728
Granted Patent B2
US 11,714,728 · App. 17/669,076 · Granted Aug 1, 2023

Creating a highly available data analytics pipeline without replicas

Inventors: Ivan Jibaja (San Jose, CA); Curtis Pullen (Victoria, 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 11,714,728
App. No.
17/669,076
Granted
Aug 1, 2023
Kind
B2
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 (41)

1. A method comprising:

creating a data analytics pipeline, having a component that is deployed within a container, wherein the container executes in a container cluster that is external to shared storage accessible by components of the data analytics pipeline;

creating a failover container, wherein the failover container is configured to support at least one of components of the data analytics pipeline;

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

removing the failed component from the data analytics pipeline; and

adding the component contained in the failover container to the data analytics pipeline.

2. 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.

3. The method of claim 2 wherein the shared storage is included in one or more storage systems, and wherein the containers are executed in a container cluster that is external to the storage system.

4. The method of claim 3 wherein each of the one or more storage systems include a plurality of blades in a single chassis.

5. The method of claim 2 further comprising:

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; and

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 5 wherein the pointer references a location in a storage system that is external to a container cluster that is executing a first container that includes the first component and a second container that includes the second component.

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

8. 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 having a component that is deployed within a container, wherein the container executes in a container cluster that is external to shared storage accessible by components of the data analytics pipeline;

creating a failover container, wherein the failover container is configured to support at least one of components of the data analytics pipeline;

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

removing the failed component from the data analytics pipeline; and

adding the component contained in the failover container to the data analytics pipeline.

9. The apparatus of claim 8 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.

10. The apparatus of claim 9 wherein the shared storage is included in one or more storage systems, and wherein the containers are executed in a container cluster that is external to the storage system.

11. The apparatus of claim 10 wherein each of the one or more storage systems include a plurality of blades in a single chassis.

12. The apparatus of claim 9 further comprising 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; and

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

13. The apparatus of claim 12 wherein the pointer references a location in a storage system that is external to a container cluster that is executing a first container that includes the first component and a second container that includes the second component.

14. The apparatus of claim 8 wherein only a single instance of each component exists.

15. A computer program product disposed on a non-transitory computer readable medium, the computer program product including computer program instructions that, when executed, carry out the steps of:

creating a data analytics pipeline having a component that is deployed within a container, wherein the container executes in a container cluster that is external to shared storage accessible by components of the data analytics pipeline;

creating a failover container, wherein the failover container is configured to support at least one of components of the data analytics pipeline;

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

removing the failed component from the data analytics pipeline; and

adding the component contained in the failover container to the data analytics pipeline.

16. The computer program product of claim 15 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.

17. The computer program product of claim 16 wherein the shared storage is included in one or more storage systems, and wherein the containers are executed in a container cluster that is external to the storage system.

18. The computer program product of claim 17 wherein each of the one or more storage systems include a plurality of blades in a single chassis.

19. The computer program product of claim 16 further comprising 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; and

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

20. The computer program product of claim 19 wherein the pointer references a location in a storage system that is external to a container cluster that is executing a first container that includes the first component and a second container that includes the second component.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2022
From: JIBAJA, IVAN; PULLEN, CURTIS; JAIKUMAR, PRASHANT; DORSETT, STEFAN; JAIN, GAURAV; VACHHARAJANI, NEIL; CHELLAPPA, SRINIVAS
To: PURE STORAGE, INC.
Reel/Frame 058976/0667 →
Continuity (6)
Continuation 17010565 · Sep 2, 2020
Continuation 16116288 · Aug 29, 2018
Provisional Application 62658867 · Apr 17, 2018
Provisional Application 62650736 · Mar 30, 2018
Provisional Application 62648368 · Mar 26, 2018
Related Publication 20220197763A1 · Jun 23, 2022