IP Library › Granted Patent US 10,425,341
Granted Patent B2
US 10,425,341 · App. 14/901,395 · Granted Sep 24, 2019

Processing high volume network data

Inventors: Sharad R. Murthy (San Ramon, CA); Bhaven Avalani (Cupertino, CA); Hongyue Nemo Chen (ShangHai, CN); Tony Chung Tung Ng (San Ramon, CA); Weiwei Jin (Shanghai, CN); Xinglang Wang (Shanghai, CN); Mingming Wang (ShangHai, CN); Wei Fang (ShangHai, CN)
Assignee: eBay Inc.
H04L47/15G06F15/16G06F15/17G06Q10/101G06Q20/32G06Q30/016H04L47/19H04L47/30H04L67/10H04L67/26
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,425,341
App. No.
14/901,395
Granted
Sep 24, 2019
Kind
B2
Abstract

Disclosed are a system comprising a computer-readable storage medium storing at least one program, and a computer-implemented method for event messaging over a network. A subscription interface receives data indicative of a subscription request for sessionized data. An allocation module allocates a sessionizer bank linked to the subscription request. A messaging interface module provisions identifiers linked to the respective processing engines of the sessionizer bank. The messaging interface module registers the allocated sessionizer bank as available to process event messages matching the subscription request by providing the provisioned identifiers. The messaging interface module receives event messages from a producer device linked by a collection server to a selected one of the processing engines of the sessionizer bank. The selected one of the processing engine processes the received event messages in accordance with session rule data linked to the subscription request to generate sessionized data.

Claims (47)

1. A system comprising:

at least one processor and executable instructions accessible on a computer-readable medium that, when executed, cause the at least one processor to perform operations comprising:

receiving data, via a subscription interface and from a client device, indicative of a subscription request for sessionized data, the request data including a quantity of time defining a period of inactivity in which a session identifier is not received and signifying an end of a session;

allocating a sessionizer bank responsive to receiving the subscription request, the sessionizer bank comprising processing engines;

provisioning a first plurality of identifiers to each of the respective processing engines;

registering, with a collection server, the allocated sessionizer bank as available to process event messages matching the subscription request; and

receiving event messages from a transmitting device linked by the collection server at a selected one of the processing engines of the sessionizer bank, the selected one of the processing engines configured to process the received event messages in accordance with session rule data linked to the subscription request and the quantity of time defining the period of inactivity to generate the sessionized data, the subscription interface being further configured to provide the generated sessionized data to the client device.

2. The system of claim 1 , wherein the session identifier includes a web resource session identifier, and wherein the generated sessionized data corresponds to data indicative of a first user input to a web resource and a second user input to the web resource, wherein the generated sessionized data includes the web resource session identifier in association with the first user input and the second user input, wherein a quantity of time between the first user input and the second user input is less than the quantity of time defining the period of inactivity.

3. The system of claim 1 , wherein the generating of the sessionized data is performed in substantially real time.

4. The system of claim 1 , wherein the sessionized data is generated for the client device in response to the receiving of the request data indicative of the subscription request for sessionized data.

5. The system of claim 1 , wherein the sessionizer bank is deployed by a plurality of data centers.

6. The system of claim 1 , wherein the processing engines are assigned to receive the event messages by utilizing a consistent hash scheduler, the event messages including a first event message, the first plurality of identifiers including a second plurality of identifiers, the processing engines including a first processing engine associated with the second plurality of identifiers including a first identifier the consistent hash scheduler performing operations comprising:

computing a first hash value based on a first key value included in the first event message;

comparing the first hash value with at least one of the identifiers associated with each of the respective processing engines; and

assigning the first processing engine to receive the first event message responsive to identifying the first hash value as matching the first identifier.

7. The system of claim 1 , the operations further comprising:

processing Internet bot event messages, the Internet bot event messages corresponding to event messages generated by an automated software program; and

determining whether the received event messages corresponds to at least two types of data, the at least two types of data includes an Internet bot type and an sessionable event type, the Internet bot type corresponding to event messages generated by an automated software program, the sessionable event type corresponding to event messages marked for sessionizing, wherein:

in response to a determination that the received event messages corresponds to the Internet bot type, passing the received event messages; and

in response to a determination that the received event messages corresponds to the sessionable type, passing the received event messages to the selected one of the processing engines.

8. The system of claim 1 , wherein the sessionizer bank is configured to detect a presence of an actor identifier in the received event messages that is usable to determine a user of the user device, wherein in response to a determination of a presence of an actor identifier the sessionizer bank is configured to process the event messages to generate sessionized data corresponding to an aggregate of sessionized data linked to the user of the user device across multiple channels.

9. The system of claim 1 , wherein sessionizer bank is configured to partition a session into one or more sub sessions.

10. The system of claim 1 , further comprising a cache interface module configured to store sessionized data records, the cache interface module being further configured to scan the stored sessionized data records to determine expired sessionized data.

11. A method comprising:

receiving request data, from a client device, indicative of a subscription request for sessionized data, the request data including a quantity of time defining a period of inactivity in which a session identifier is not received and signifying an end of a session;

allocating a sessionizer bank responsive to receiving the subscription request, the sessionizer bank comprising processing engines;

provisioning a first plurality of identifiers to each of the respective processing engines;

registering, with a collection server, the allocated sessionizer bank as available to process event messages matching the subscription request;

receiving event messages from a transmitting device linked by the collection server to a selected one of the processing engines of the sessionizer bank;

processing, using one or more computer processors, the received event messages in accordance with session rule data linked to the subscription request and the quantity of time defining the period of inactivity to generate the sessionized data; and

providing the generated sessionized data to the client device.

12. The method of claim 11 , wherein the session identifier includes a web resource session identifier, and wherein the generated sessionized data corresponds to data indicative of a first user input to a web resource and a second user input to the web resource, wherein the generated sessionized data includes the web resource session identifier in association with the first user input and the second user input, wherein a quantity of time between the first user input and the second user input is less than the quantity of time defining the period of inactivity.

13. The method of claim 11 , wherein the sessionized data is generated in substantially real time.

14. The method of claim 11 , wherein the sessionized data is generated for the client device in response to the receiving of the request data indicative of the subscription request for sessionized data.

15. The method of claim 11 , wherein the sessionizer bank is deployed by a plurality of data centers.

16. A non-transitory machine-readable storage medium having no transitory signals and embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:

receiving request data, from a client device, indicative of a subscription request for sessionized data, the request data including a quantity of time defining a period of inactivity in which a session identifier is not received and signifying an end of a session;

allocating a sessionizer bank responsive to receiving the subscription request, the sessionizer bank comprising processing engines;

provisioning a first plurality of identifiers to each of the respective processing engines;

registering, with a collection server, the allocated sessionizer bank as available to process event messages matching the subscription request;

receiving event messages from a transmitting device linked by the collection server to a selected one of the processing engines of the sessionizer bank;

processing the received event messages in accordance with session rule data linked to the subscription request and the quantity of time defining the period of inactivity to generate the sessionized data; and

providing the generated sessionized data to the client device.

17. The machine-readable storage medium of claim 16 , wherein the session identifier includes a web resource session identifier, and wherein the generated sessionized data corresponds to data indicative of a first user input to a web resource and a second user input to the web resource, wherein the generated sessionized data includes the web resource session identifier in association with the first user input and the second user input, wherein a quantity of time between the first user input and the second user input is less than the quantity of time defining the period of inactivity.

18. The machine-readable storage medium of claim 16 , wherein the sessionized data is generated in substantially real time.

19. The machine-readable storage medium of claim 16 , wherein the sessionized data is generated for the client device in response to the receiving of the request data indicative of the subscription request for sessionized data.

20. The machine-readable storage medium of claim 16 , wherein the sessionizer bank is deployed by a plurality of data centers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2019
From: MURTHY, SHARAD R; AVALANI, BHAVEN; NEMO CHEN, HONGYUE; CHUNG TUNG NG, TONY; JIN, WEIWEI; WANG, XINGLANG; WANG, MINGMING; FANG, WEI
To: EBAY INC.
Reel/Frame 049179/0732 →
Continuity (1)
Related Publication 20170317935A1 · Nov 2, 2017
Cited By (1)
US 12,556,420