IP Library Granted Patent US 9,729,612
Granted Patent B2
US 9,729,612 · App. 14/929,929 · Granted Aug 8, 2017

Distributed stream processing

Inventors: Chi-Hsien Chiu (Milpitas, CA); Patrick Crane (East Greenwich, RI); Alyssa Neckorcuk (Dedham, MA); Gyanit Singh (San Jose, CA); Neelakantan Sundaresan (Mountain View, CA)
Assignee: PAYPAL, INC.
H04L67/06H04L67/10H04L67/1097
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,729,612
App. No.
14/929,929
Granted
Aug 8, 2017
Kind
B2
Abstract

A method and system for forming hybrid cluster to process log files are described. In example embodiments, a method configures a node to execute as a first slave node. The first slave node executes in a first operating environment. The method also adds the first slave node to a Hadoop cluster. The Hadoop cluster includes a second slave node that operates in a second and different operating environment.

Claims (66)

1. A computer-implemented system comprising:

at least one processor;

a configuration module that is executable by the at least one processor to:

configure a node to execute as a first slave node in a first operating environment;

receive, from the first slave node, a public key that corresponds to the first slave node;

concatenate the public key to an authorized keys file of a master node of a cluster that includes a second slave node such that the authorized keys file includes the public key; and

add the first slave node to the cluster based on the authorized keys file including the public key and based on the public key corresponding to the first slave node, use of a passphrase is avoided during addition of the first slave node to the cluster, the second slave node is configured to operate in a second operating environment that has access to a network file system, the cluster configured to natively operate in the second operating environment, the second operating environment different from the first operating environment; and

a communication module to:

receive a request, from the first slave node, to access the network file system operated within the second operating environment, the request being based on a determination that the first slave node is operated within the first operating environment, and

responsive to receipt of the request from the first slave node, request a file from the network file system via a server-side runner module, the server-side runner module configured to communicate with the network file system on behalf of the first slave node in the second operating environment.

2. The computer-implemented system of claim 1 , wherein:

the second operating environment natively supports Hadoop; and

the cluster includes other slave nodes that operate in the second operating environment.

3. The computer-implemented system of claim 1 , wherein the communication module is further to:

receive the file from the network file system via the server-side runner module; and

store a copy of the file in a local file system that is operated within the first operating environment, the copy of the file being accessible to the first slave node operated within the first operating environment.

4. The computer-implemented system of claim 1 , wherein the configuration module is further to:

send a message to add the first slave node to the cluster, the message being sent to the server-side runner module, and

update the network file system to indicate the first slave node as being added to the cluster.

5. The computer-implemented system of claim 1 , wherein:

the master node is configured to distribute data among the first slave node and the second slave node; and

the configuration module is further to:

receive a server key from the master node, and

store the server key at the first slave node.

6. The computer-implemented system of claim 1 , wherein the configuration module is further to:

send a message to remove the first slave node from the cluster, the message being sent to the server-side runner module, and

update the network file system to indicate the first slave node as being removed from the cluster.

7. The computer-implemented system of claim 1 , wherein:

the first operating environment executes an emulating program that emulates the second operating environment; and

the first slave node is configured to make an operating environment call that is natively supported by the second operating environment based on the emulating program executed in the first operating environment.

8. The computer-implemented system of claim 1 , wherein the configuration module is further to receive data from the master node to distribute among the first slave node and the second slave node.

9. The computer-implemented system of claim 1 , wherein the cluster processes log files of a content provider stored in the network file system.

10. A computer-implemented method comprising:

configuring a node to execute as a first slave node in a first operating environment;

receiving, from the first slave node, a public key that corresponds to the first slave node;

concatenating the public key to an authorized keys file of a master node of a cluster that includes a second slave node such that the authorized keys file includes the public key;

adding the first slave node to the cluster based on the authorized keys file including the public key and based on the public key corresponding to the first slave node, the second slave node is configured to operate in a second operating environment that has access to a network file system, the cluster configured to natively operate in the second operating environment, the second operating environment different from the first operating environment;

receiving, using one or more processors, a request from the first slave node to access the network file system operated within the second operating environment, the request being based on a determination that the first slave node is operated within the first operating environment; and

responsive to receipt of the request from the first slave node, requesting a file from the network file system via a server-side runner module, the server-side runner module configured to communicate with the network file system on behalf of the first slave node in the second operating environment.

11. The computer-implemented method of claim 10 , wherein:

the second operating environment natively supports Hadoop; and

the cluster includes other slave nodes that operate in the second operating environment.

12. The computer-implemented method of claim 10 , further comprising:

receiving the file from the network file system via the server-side runner module; and

storing a copy of the file in a local file system that is operated within the first operating environment, the copy of the file being accessible to the first slave node operated within the first operating environment.

13. The computer-implemented method of claim 10 , further comprising:

sending a message to add the first slave node to the cluster, the message being sent to the server-side runner module, and

updating the network file system to indicate the first slave node as being added to the cluster.

14. The computer-implemented method of claim 10 , wherein:

the master node is configured to distribute data among the first slave node and the second slave node; and the method further comprises:

receiving a server key from the master node, and

storing the server key at the first slave node.

15. The computer-implemented method of claim 10 , further comprising:

sending a message to remove the first slave node from the cluster, the message being sent to the server-side runner module, and

updating the network file system to indicate the first slave node as being removed from the cluster.

16. The computer-implemented method of claim 10 , wherein:

the first operating environment executes an emulating program that emulates the second operating environment; and

the first slave node is configured to make an operating environment call that is natively supported by the second operating environment based on the emulating program executed in the first operating environment.

17. The computer-implemented method of claim 10 , further comprising receiving data from a master node to distribute among the first slave node and the second slave node.

18. A non-transitory machine-readable medium storing instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

configuring a node to execute as a first slave node in a first operating environment;

receiving, from the first slave node, a public key that corresponds to the first slave node;

concatenating the public key to an authorized keys file of a master node of a cluster that includes a second slave node such that the authorized keys file includes the public key;

adding the first slave node to the cluster based on the authorized keys file including the public key and based on the public key corresponding to the first slave node, the second slave node is configured to operate in a second operating environment that has access to a network file system, the cluster configured to natively operate in the second operating environment, the second operating environment different from the first operating environment;

receiving a request from the first slave node to access the network file system operated within the second operating environment, the request being based on a determination that the first slave node is operated within the first operating environment; and

responsive to receipt of the request from the first slave node, requesting a file from the network file system via a server-side runner module, the server-side runner module configured to communicate with the network file system on behalf of the first slave node in the second operating environment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2016
From: EBAY INC.
To: PAYPAL, INC.
Reel/Frame 038475/0778 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2015
From: CHIU, CHI-HSIEN; CRANE, PATRICK; NECKORCUK, ALYSSA; SINGH, GYANIT; SUNDARESAN, NEELAKANTAN
To: EBAY INC.
Reel/Frame 036936/0757 →
Continuity (3)
Continuation 12718934 · Mar 5, 2010
Provisional Application 61157865 · Mar 5, 2009
Related Publication 20160057204A1 · Feb 25, 2016