IP Library Granted Patent US 11,157,970
Granted Patent B1
US 11,157,970 · App. 15/144,371 · Granted Oct 26, 2021

Apparatus, method, and computer program product for providing synchronous delivery of active media and electronic marketing communications

Inventors: Geoffrey Massanek (Chicago, IL); Erik Benoist (Chicago, IL); Abhishek Pillai (Chicago, IL); Steven Weber (Chicago, IL); Henry Bissonnette (Chicago, IL); Theron Humiston (Chicago, IL); Samuel Lopes (Seattle, WA); Ivan Moscoso (Chicago, IL)
Assignee: GROUPON, INC.
G06Q30/0277G06Q30/0241G06Q30/0601H04L67/1095
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,157,970
App. No.
15/144,371
Granted
Oct 26, 2021
Kind
B1
Abstract

A system, method, and computer program product are provided herein. An example system apparatus configured to provide synchronous delivery of active media and electronic marketing communications to a client, the apparatus including a processor including one or more processing devices configured to perform independently or in tandem to execute hard-coded functions or execute software instructions, and a memory including one or more volatile or non-volatile electronic storage devices storing computer-readable instructions, the computer-readable instructions being configured, when executed, to cause the processor to receive the electronic marketing communications, receive the active media, wherein the active media corresponds to the electronic marketing communications, synchronize the active media and the electronic marketing communications based at least in part on one or more receipt identifiers, and provide the active media and the electronic marketing communications to the client device.

Claims (54)

1. An apparatus configured to provide synchronous delivery of active media and electronic communications to client devices, the apparatus comprising:

a processor including one or more processing devices configured to perform independently or in tandem to execute hard-coded functions or execute software instructions; and

a memory comprising one or more volatile or non-volatile electronic storage devices storing computer-readable instructions, the computer-readable instructions being configured, when executed, to cause the processor to:

receive the electronic communications, wherein the electronic communications comprise one or more electronic communication timestamps encoded in electronic communication metadata of the electronic communications and relative to a first base identifier;

receive the active media, wherein the active media corresponds to the electronic communications, wherein the active media comprises one or more active media timestamps encoded in active media metadata of the active media and relative to a second base identifier;

synchronize the active media and the electronic communications based at least in part on the one or more active media timestamps and the one or more electronic communication timestamps, wherein the computer-readable instructions are configured to, when executed, cause the processor to:

calculate one or more electronic communication buffer identifiers based at least in part on the one or more electronic communication timestamps and the first base identifier;

calculate one or more active media buffer identifiers based at least in part on the one or more active media timestamps and the second base identifier; and

synchronize the active media and the electronic communications based at least in part on the one or more active media buffer identifiers and the one or more electronic communication buffer identifiers; and

provide the active media and the electronic communications to the client devices.

2. The apparatus of claim 1 , wherein the memory stores the computer-readable instructions that, when executed, cause the processor to:

receive, via synchronous integration circuitry, a synchronous integration request to associate with a synchronous integration interface; and

provide, via synchronous integration circuitry, the synced active media and the electronic communications to the client devices.

3. The apparatus of claim 2 , wherein the memory stores the computer-readable instructions that, when executed, cause the processor to:

determine a synchronous integration identifier count based on one or more synchronous integration identifiers; and

determine whether the synchronous integration identifier count exceeds a synchronous integration progress threshold.

4. The apparatus of claim 3 , wherein the memory stores the computer-readable instructions that, when executed, cause the processor to:

decrease an active sync component in response to the synchronous integration identifier count exceeding the synchronous integration progress threshold.

5. The apparatus of claim 3 , wherein the memory stores the computer-readable instructions that, when executed, cause the processor to:

increase a discount value in response to the synchronous integration identifier count exceeding the synchronous integration progress threshold.

6. The apparatus of claim 1 , wherein the electronic communications are stored in one or more internal buffers of the memory, wherein the computer-readable instructions are configured, when executed, to cause the processor to:

fetch the electronic communications from the one or more internal buffers in a first-in-first-out (FIFO) priority.

7. The apparatus of claim 1 , wherein the electronic communications are stored in one or more internal buffers of the memory, wherein the computer-readable instructions are configured, when executed, to cause the processor to:

fetch the electronic communications from the one or more internal buffers in a last-in-first-out (LIFO) priority.

8. A machine implemented method for providing synchronous delivery of active media and electronic communications to client devices, the machine implemented method comprising:

receiving, via processing circuitry, the electronic communications, wherein the electronic communications comprise one or more electronic communication timestamps encoded in electronic communication metadata of the electronic communications and relative to a first base identifier;

receiving, from a streaming device, the active media, wherein the active media corresponds to the electronic communications, wherein the active media comprises one or more active media timestamps encoded in active media metadata of the active media and relative to a second base identifier;

synchronizing, via synchronous delivery management circuitry, the active media and the electronic communications based at least in part on the one or more active media timestamps and the one or more electronic communication timestamps, wherein the synchronizing the active media and the electronic communications further comprises:

calculating one or more electronic communication buffer identifiers based at least in part on the one or more electronic communication timestamps and the first base identifier;

calculating one or more active media buffer identifiers based at least in part on the one or more active media timestamps and the second base identifier; and

synchronizing the active media and the electronic communications based at least in part on the one or more active media buffer identifiers and the one or more electronic communication buffer identifiers; and

providing, via the processing circuitry, the active media and the electronic communications to the client devices.

9. The machine implemented method of claim 8 , wherein synchronizing the active media and the electronic communications further comprises:

receiving, via synchronous integration circuitry, a synchronous integration request to associate with a synchronous integration interface; and

provide, via synchronous integration circuitry, the synced active media and the electronic communications to the client devices.

10. The machine implemented method of claim 9 , further comprising:

determining, via the processing circuitry, a synchronous integration identifier count based on one or more synchronous integration identifiers; and

determining, via the processing circuitry, whether the synchronous integration identifier count exceeds a synchronous integration progress threshold.

11. The machine implemented method of claim 10 , further comprising:

decreasing, via the processing circuitry, an active sync component in response to the synchronous integration identifier count exceeding the synchronous integration progress threshold.

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

increasing, via the processing circuitry, a discount value in response to the synchronous integration identifier count exceeding the synchronous integration progress threshold.

13. A system configured to provide synchronous delivery of active media and electronic communications to client devices, the system comprising:

processing circuitry configured to:

determine the electronic communications, wherein the electronic communications comprise one or more electronic communication timestamps encoded in electronic communication metadata of the electronic communications and relative to a first base identifier;

a streaming device configured to:

receive the active media, wherein the active media corresponds to the electronic communications, wherein the active media comprises one or more active media timestamps encoded in active media metadata of the active media and relative to a second base identifier;

synchronous delivery management circuitry configured to:

synchronize the active media and the electronic communications based at least in part on the one or more active media timestamps and the one or more electronic communication timestamps, wherein the streaming device is configured to:

calculate one or more electronic communication buffer identifiers based at least in part on the one or more electronic communication timestamps and the first base identifier;

calculate one or more active media buffer identifiers based at least in part on the one or more active media timestamps and the second base identifier; and

synchronize the active media and the electronic communications based at least in part on the one or more active media buffer identifiers and the one or more electronic communication buffer identifiers; and

wherein the processing circuitry is configured to further:

provide the active media and the electronic communications to the client devices.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068833/0811 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0251 →
SECURITY INTEREST Recorded Jul 23, 2020
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053294/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2020
From: PILLAI, ABHI; LOPES, SAMUEL; WEBER, STEVEN; MOSCOSO, IVAN; MASSANEK, GEOFFREY; HUMISTON, THERON; BENOIST, ERIK; BISSONNETTE, HENRY
To: GROUPON, INC.
Reel/Frame 051684/0543 →
Continuity (1)
Provisional Application 62155753 · May 1, 2015