IP Library Granted Patent US 11,641,513
Granted Patent B2
US 11,641,513 · App. 16/102,957 · Granted May 2, 2023

Message processing using a client-side control group

Inventors: Drew Maniglia (Los Gatos, CA); Lauren Pendo (Los Gatos, CA)
Assignee: Roku, Inc.
H04N21/8126H04L43/0876H04N21/262H04N21/4532H04N21/812
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,641,513
App. No.
16/102,957
Granted
May 2, 2023
Kind
B2
Abstract

Disclosed herein are system, apparatus, article of manufacture, method, and/or computer program product embodiments for processing of messages at a media device for analysis purposes. An embodiment operates by transmitting a message request from a media device to a messaging server. In response, the media device receives a message response containing a message and messenger identifier. The media device generates a hash value of an identifier associated with the media device and the messenger identifier. The media device then determines whether the hash value maps into a control group. Finally, the media device processes the message based on whether the hash value maps into the control group.

Claims (63)

1. A message distribution system, comprising:

a network;

a messaging server coupled to the network; and

a client-side media device coupled to the network;

wherein the client-side media device is configured to:

transmit, over the network, a message request to the messaging server;

receive, at the client-side media device, a message response from the messaging server in response to the message request, wherein the message response comprises a message and a messenger identifier;

generate a hash value of an identifier associated with the client-side media device and the messenger identifier, wherein the identifier associated with the client-side media device specifies a user of the client-side media device;

determine the message maps into a control group by determining the hash value maps into the control group, wherein the control group identifies a set of users for which the client-side media device withholds processing of the message, and a size of the control group is defined by a threshold value; and

transmit a pixel tag to the messaging server based at least in part on a determination that the hash value maps into the control group, wherein the pixel tag comprises an indication that the message was withheld for processing by the client-side media device.

2. A client-side media device, comprising:

at least one processor; and

a memory operatively coupled to the at least one processor, the at least one processor configured to:

transmit, over a network, a message request to a messaging server;

receive, at the client-side media device, a message response from the messaging server in response to the message request, wherein the message response comprises a message and a messenger identifier;

generate a hash value of an identifier associated with the client-side media device and the messenger identifier, wherein the identifier associated with the client-side media device specifies a user of the client-side media device;

determine the message maps into a control group by determining the hash value maps into the control group, wherein the control group identifies a set of users for which the client-side media device withholds processing of the message, and a size of the control group is defined by a threshold value; and

transmit a pixel tag to the messaging server based at least in part on the determination that the message maps into the control group, wherein the pixel tag comprises an indication that the message was withheld for processing by the client-side media device.

3. The client-side media device of claim 2 , wherein the identifier associated with the client-side media device comprises a user identifier.

4. The client-side media device of claim 2 , wherein the messaging server implements a Video Ad Serving Template (VAST) specification.

5. The client-side media device of claim 2 , wherein the at least one processor is further configured to:

determine the hash value maps into the control group based at least in part on an equivalence class in modular arithmetic.

6. The client-side media device of claim 2 , wherein the at least one processor is further configured to:

transmit an error message to the messaging server based at least in part on the determination that the hash value maps into the control group.

7. The client-side media device of claim 2 , wherein the at least one processor is further configured to:

transmit a second message request to the messaging server in response to the determination that the hash value maps into the control group;

receive a second message response from the messaging server in response to the transmitted second message request, wherein the second message response comprises a second message and a second messenger identifier;

generate a second hash value of the identifier associated with the client-side media device and the second messenger identifier; and

determine the second message does not map into the control group by determining the second hash value does not map into the control group.

8. The client-side media device of claim 7 , wherein the at least one processor is further configured to:

display the second message on a display communicatively coupled to the client-side media device based at least in part on a determination that the second hash value does not map into the control group.

9. A computer implemented method, comprising:

transmitting, at a client-side device over a network, a message request to a messaging server;

receiving, at the client-side device, a message response from the messaging server in response to the transmitted message request, wherein the message response comprises a message and a messenger identifier;

generating, at the client-side device, a hash value of an identifier associated with the client-side device and the messenger identifier, wherein the identifier associated with the client-side device specifies a user of the client-side device;

determining, at the client-side device, that the message maps into a control group by determining the hash value maps into the control group, wherein the control group identifies a set of users for which the client-side device withholds processing of the message, and a size of the control group is defined by a threshold value; and

skipping, at the client-side device, processing of the message based at least in part on the determination.

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

transmitting, at the client-side device, a pixel tag to the messaging server based at least in part on the determination that the hash value maps into the control group, wherein the pixel tag comprises an indication that the message was withheld for processing by the client-side device.

11. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one client-side computing device, cause the at least one client-side computing device to perform operations comprising:

transmitting, over a network, a message request to a messaging server;

receiving, at the client-side computing device, a message response from the messaging server in response to the transmitted message request, wherein the message response comprises a message and a messenger identifier;

generating a hash value of an identifier associated with the at least one client-side computing device and the messenger identifier, wherein the identifier associated with the at least one client-side computing device specifies a user of the at least one client-side computing device; and

determining the message maps into a control group by determining the hash value maps into the control group, wherein the control group identifies a set of users for which the at least one client-side computing device withholds processing of the message, and a size of the control group is defined by a threshold value.

12. The computer-readable medium of claim 11 , the operations further comprising:

transmitting a pixel tag to the messaging server based at least in part on the determination that the hash value maps into the control group, wherein the pixel tag comprises an indication that the message was withheld for processing.

13. The computer-readable medium of claim 11 , the operations further comprising:

transmitting an error message to the messaging server based at least in part on the determination that the hash value maps into the control group.

14. The computer-readable medium of claim 11 , the operations further comprising:

transmitting a second message request to the messaging server in response to the determination that the hash value maps into the control group;

receiving, at the client-side computing device, a second message response from the messaging server in response to the transmitted second message request, wherein the second message response comprises a second message and a second messenger identifier;

generating a second hash value of the identifier associated with the at least one client-side computing device and the second messenger identifier; and

determining the second message does not map into the control group by determining the second hash value does not map into the control group.

15. The computer-readable medium of claim 14 , the operations further comprising:

displaying the second message on a display communicatively coupled to the at least one client-side computing device based at least in part on a determination that the second hash value does not map into the control group.

16. The message distribution system of claim 1 , wherein the client-side media device is further configured to:

receive, at the client-side media device, the threshold value from the messaging server or a platform server during playback of content from a content provider by the client-side media device.

17. The client-side media device of claim 2 , wherein the at least one processor is further configured to:

receive, at the client-side media device, the threshold value from the messaging server or a platform server during playback of content from a content provider by the client-side media device.

18. The computer implemented method of claim 9 , further comprising:

receiving, at the client-side device, the threshold value from the messaging server or a platform server during playback of content from a content provider by the client-side device.

19. The computer-readable medium of claim 11 , the operations further comprising:

receiving, at the client-side computing device, the threshold value from the messaging server or a platform server during playback of content from a content provider by the at least one client-side computing device.

Assignments (4)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 048385/0375) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.
Reel/Frame 062826/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 20, 2019
From: ROKU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 048385/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2018
From: MANIGLIA, DREW; PENDO, LAUREN
To: ROKU, INC.
Reel/Frame 046794/0884 →
Continuity (2)
Provisional Application 62547470 · Aug 18, 2017
Related Publication 20190058925A1 · Feb 21, 2019
Cited By (2)
US 12,200,037 US 12,328,485