IP Library Granted Patent US 11,438,426
Granted Patent B1
US 11,438,426 · App. 17/243,419 · Granted Sep 6, 2022

Systems and methods for intelligent session recording

Inventors: Feng Shao (Santa Clara, CA); Amod Setlur (Portola Valley, CA); Jinlin Wang (Los Altos, CA)
Assignee: AURYC, INC.
H04L67/146H04L67/143H04L67/22H04L67/40
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,438,426
App. No.
17/243,419
Granted
Sep 6, 2022
Kind
B1
Abstract

A computer-implemented method, comprising: receiving and storing, by a computer device, messages of one or more browsing sessions of a website in a first database; determining, by the computer device, whether one of the one or more browsing sessions is terminated; upon determining the one browsing session being terminated, fetching, by the computer device, the messages of the terminated browsing session; determining, by the computer device, one or more tags based at least on the messages of the terminated browsing session; and storing, by the computer device, the terminated browsing session with the one or more tags into a second database for data analysis.

Claims (71)

1. A computer-implemented method, comprising:

receiving and storing, by a computer device, messages of a plurality of browsing sessions of a website in a first database;

determining, by the computer device, whether one or more of the plurality of browsing sessions are terminated based on the messages;

determining, by the computer device, whether a timer for fetching terminated browsing sessions is expired, and fetching the messages of the one or more terminated browsing sessions if the timer is expired;

in response to the timer is not expired, determining, by the computer device, that a number of the one or more terminated browsing sessions is greater than a threshold, and fetching, by the computer device, the messages of the one or more terminated browsing sessions as a batch;

determining, by the computer device, one or more tags for the one or more terminated browsing sessions based on the fetched messages, wherein the determining comprises:

selecting a first number of terminated browsing sessions from the one or more terminated browsing sessions based at least on applying a rule to the messages of the one or more terminated browsing sessions;

selecting a second number of terminated browsing sessions based on a sampling rate;

assigning to each of the first number of terminated browsing sessions a first tag corresponding to the rule, and assigning to each of the second number of terminated browsing sessions a second tag, and

storing, by the computer device, the one or more terminated browsing sessions with the one or more tags into a second database for data analysis.

2. The method of claim 1 , further comprising:

receiving a data analysis request;

determining one or more requesting tags associated with the data analysis request;

retrieving a terminated browsing session from the second database if the one or more tags of the terminated browsing session match the one or more requesting tags; and

returning the terminated browsing session in a response to the data analysis request.

3. The method of claim 1 , wherein determining one or more tags comprises:

searching the messages for one or more user actions represented as API calls to the website that satisfy the rule.

4. The method of claim 3 , wherein the API calls comprise at least one of an order-placing call, an add-to-cart call, a payment call, a like call, or an add-to-list call.

5. The method of claim 1 , wherein receiving messages of one or more browsing sessions of the website comprises:

monitoring activity of at least one of a mouse, a cursor, a keyboard, a microphone, or a touch sensor.

6. The method of claim 1 , wherein the determining a browsing session being terminated comprises:

identifying a most recently received message of the one browsing session;

determining a time difference between a timestamp of the most recently received message and a current timestamp; and

in response to the time difference being greater than a second threshold, determining the one browsing session as terminated.

7. The method of claim 1 , further comprising:

updating a counter representing the number of terminated browsing sessions in the first database, wherein

the determining that a number of terminated browsing sessions in the first database is greater than the threshold comprises:

comparing the counter against the threshold.

8. A system comprising one or more processors and one or more non-transitory computer-readable memories coupled to the one or more processors and configured with instructions executable by the one or more processors to cause the system to perform operations comprising:

receiving and storing messages of a plurality of browsing sessions of a website in a first database;

determining whether one or more of the plurality of browsing sessions are terminated based on the messages;

determining whether a timer for fetching terminated browsing sessions is expired, and fetching the messages of the one or more terminated browsing sessions if the timer is expired;

in response to the timer is not expired, determining that a number of the one or more terminated browsing sessions is greater than a threshold, and fetching the messages of the one or more terminated browsing sessions as a batch;

determining one or more tags for the one or more terminated browsing sessions based on the fetched messages, wherein the determining comprises:

selecting a first number of terminated browsing sessions from the one or more terminated browsing sessions based at least on applying a rule to the messages of the one or more terminated browsing sessions;

selecting a second number of terminated browsing sessions based on a sampling rate;

assigning to each of the first number of terminated browsing sessions a first tag corresponding to the rule, and assigning to each of the second number of terminated browsing sessions a second tag; and

storing the one or more terminated browsing sessions with the one or more tags into a second database for data analysis.

9. The system of claim 8 , further comprising:

receiving a data analysis request;

determining one or more requesting tags associated with the data analysis request;

retrieving a terminated browsing session from the second database if the one or more tags of the terminated browsing session match the one or more requesting tags; and

returning the terminated browsing session in a response to the data analysis request.

10. The system of claim 8 , wherein determining one or more tags comprises:

searching the messages for one or more user actions represented as API calls to the website that satisfy the rule.

11. The system of claim 10 , wherein the API calls comprise at least one of an order-placing call, an add-to-cart call, a payment call, a like call, or an add-to-list call.

12. The system of claim 8 , wherein receiving messages of one or more browsing sessions of the website comprises:

monitoring activity of at least one of a mouse, a cursor, a keyboard, a microphone, or a touch sensor.

13. The system of claim 8 , wherein the determining a browsing session being terminated comprises:

identifying a most recently received message of the one browsing session;

determining a time difference between a timestamp of the most recently received message and a current timestamp; and

in response to the time difference being greater than a second threshold, determining the one browsing session as terminated.

14. The system of claim 8 , further comprising:

updating a counter representing the number of terminated browsing sessions in the first database, wherein

the determining that a number of terminated browsing sessions in the first database is greater than the threshold comprises:

comparing the counter against the threshold.

15. One or more non-transitory computer-readable storage media storing instructions executable by one or more processors, wherein execution of the instructions causes the one or more processors to perform operations comprising:

receiving and storing messages of a plurality of browsing sessions of a website in a first database;

determining whether one or more of the plurality of browsing sessions is terminated based on the messages;

determining whether a timer for fetching terminated browsing sessions is expired, and fetching the messages of the one or more terminated browsing sessions if the timer is expired; in response to the timer is not expired, determining that a number of the one or more terminated browsing sessions in the first database is greater than a threshold, and fetching the terminated browsing sessions as a batch;

determining one or more tags based at least on the messages of the one or more terminated browsing sessions based on the fetched messages, wherein the determining comprises:

selecting a first number of terminated browsing sessions from the one or more terminated browsing sessions based at least on applying a rule to the messages of the one or more terminated browsing sessions;

selecting a second number of terminated browsing sessions based on a sampling rate;

assigning to each of the first number of terminated browsing sessions a first tag corresponding to the rule, and assigning to each of the second number of terminated browsing sessions a second tag; and

storing the one or more terminated browsing sessions with the one or more tags into a second database for data analysis.

16. The one or more non-transitory computer-readable storage media of claim 15 , wherein determining one or more tags comprises:

searching the messages for one or more user actions represented as API calls to the website that satisfy the rule.

17. The one or more non-transitory computer-readable storage media of claim 15 , wherein the determining a browsing session being terminated comprises:

identifying a most recently received message of the one browsing session;

determining a time difference between a timestamp of the most recently received message and a current timestamp; and

in response to the time difference being greater than a second threshold, determining the one browsing session as terminated.

Assignments (5)
MERGER Recorded Jul 9, 2026
From: AURYC, INC.
To: AURYC, LLC
Reel/Frame 075223/0799 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY ADDRESS PREVIOUSLY RECORDED AT REEL: 72439 FRAME: 867. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 21, 2025
From: HEAP INC.
To: CONTENT SQUARE, INC.
Reel/Frame 073140/0604 →
MERGER Recorded Oct 1, 2025
From: AURYC, LLC
To: HEAP INC.
Reel/Frame 072439/0711 →
MERGER Recorded Oct 1, 2025
From: HEAP INC.
To: CONTENT SQUARE, INC.
Reel/Frame 072439/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2021
From: SHAO, FENG; SETLUR, AMOD; WANG, JINLIN
To: AURYC, INC.
Reel/Frame 056075/0515 →
Cited By (1)
US 12,724,597