Patent Description:
A media system may provide content to one or more media devices from one or more content providers. A user at a media device may select a particular content provider from a list of content providers maintained at a platform server in the media system. The media device may receive content from the selected content provider. For example, a media device may receive a streaming movie from a movie rental provider.

A media system may provide one or more messages from one or more message providers to one or more media devices. Specifically, a media device may receive messages from a messaging server during playback of content. For example, a media device may receive a copyright warning, a warning about explicit language and/or content, a public service announcement, or programming information, to name just a few examples. The messages may be created by different message providers, including the operator of the media system itself and any of the content providers.

A user of a media device may perform various actions in response to receiving a message. For example, a user may choose to view content associated with the message, perform an operation based on the message, or provide personal information. A message provider may want to measure the effect of a message on a user performing various actions. The message provider may measure the effect by withholding a random set of users from receiving messages. The message provider may then compare user performance of various actions with and without receiving the messages.

<CIT> discloses an advertisement system that measures an ad lift metric for advertisement campaigns, which indicates the increase in conversions that can be attributed to the advertisement campaign. As impression opportunities become available for users for the ad in the lift study, the advertisement system determines whether the user is in a test group or a control group. To limit bias in the lift study, rather than holding out ads from being provided to users after the ad has been selected for the user and right before the impression, the system holds out the ads at a higher level in the ad selection process. In this manner, not all test group users receive the advertisement. The system computes the lift metric as e.g., the incremental lift (difference between conversion rates in the test and control groups), and this is divided by conversion rate of an exposed target group minus the incremental lift.

<CIT> discloses a method of providing advertisements includes requesting, by a software development kit for an application, an advertisement from an advertisement server in response to playback of a video content item by the application; receiving the advertisement from the advertisement server based on the requesting; displaying, with the application, the advertisement received from the advertisement server; collecting a set of metrics while the advertisement is displayed; and providing the set of metrics to the advertisement server.

<CIT> discloses a method of observing and using actions and/or behaviors of social networking system users for measuring advertising effectiveness. More specifically, advertisements from an advertising campaign are selectively targeted and presented to specific subsets of social network users and withheld from other subsets of social network users. After the advertisements are presented, actions performed by users in the different subsets are be identified and analyzed to determine metrics describing the effectiveness of the particular advertising campaign.

According to a first aspect of the present invention, there is provided a media device as specified in claim <NUM>. The media device may optionally be as specified in any one of claims <NUM> to <NUM>.

According to a second aspect of the present invention, there is provided a computer implemented method as specified in claim <NUM>. The computer implemented method may optionally be as specified in claim <NUM> or <NUM>.

According to a third aspect of the present invention, there is provided a non-transitory computer-readable medium as specified in claim <NUM>. The non-transitory computer-readable medium may optionally be as specified in claim <NUM>.

Because the media device automatically establishes a control group for withholding the processing of messages, a messaging provider may analyze the impact of messages without modifying the operation of messaging server itself. Moreover, because the messaging server does not need to be modified to establish a control group, the messaging server may avoid the computation and memory overhead associated with establishing a control group. This is beneficial because the processing and memory usage associated with establishing a control group may cause the messaging server to be unable to deliver messages to many media devices simultaneously in real-time. Accordingly, this disclosure addresses and solves a technological problem (e.g., the inability to establish a control group at a messaging server to process messages) using a technological solution (e.g., establishing a control group at a media device to process messages) to achieve improvements in technology (e.g., avoiding computation and memory overhead associated with establishing a control group, to better enable the messaging server to deliver messages to multiple media devices simultaneously in real-time). This disclosure further reduces the manual overhead associated with producing a control group. This generates an increase in scalability.

<FIG> illustrates a block diagram of a media system <NUM>, according to an example embodiment. Media system <NUM> can include a media device <NUM>, a platform server <NUM>, a content provider <NUM>, and a messaging server <NUM>. As would be appreciated by a person of ordinary skill in the art, there may be one or more media devices <NUM>, one or more content providers <NUM>, and one or more messaging servers <NUM>.

In <FIG>, media device <NUM>, platform server <NUM>, content provider <NUM>, and messaging server <NUM> are connected via network <NUM>. In some embodiments, network <NUM> can include, without limitation, a wired and/or wireless computer and/or telecommunications network which can enable coupled and/or interconnected systems and/or devices to communicate information between and among each other. In some embodiments, network <NUM> can include, without limitation, intranet, extranet, Internet, and/or any other local, regional, global telecommunications network.

In some embodiments, media device <NUM> can include, but is not limited to, a desktop computer, streaming media device, laptop, smartphone, touchpad, wearable electronic device, smart watch, set-top box, or other smart electronic device. Media device <NUM> can be configured to acoustically, graphically, and/or visually present content received over network <NUM> from platform server <NUM>, content source <NUM>, and/or messaging server <NUM> on display device <NUM>. In some embodiments, display device <NUM> can be integrated with, operatively coupled to, and/or connected to media device <NUM>.

In some embodiments, media device <NUM> can be communicatively coupled to control device <NUM>. In some embodiments, control device <NUM> can be configured to communicate user input information to media device <NUM>. Control device <NUM> can be configured to use one or more wired and/or wireless communication protocols and/or standards, which can include, without limitation, infrared (IR) protocols and/or standards, radio frequency (RF) protocols and/or standards, and/or Bluetooth protocol and/or standard to communicate with media device <NUM>. In some embodiments, control device <NUM> can be further configured to enable a user of media device <NUM> to navigate, select, or otherwise interact with various content received from platform server <NUM>, content source <NUM>, and/or messaging server <NUM> which is presented on display device <NUM>. In some embodiments, control device <NUM> can include, without limitation, a remote control and/or mobile device.

In some embodiments, platform server <NUM> can be configured to provide content from content provider <NUM> to media device <NUM>. Specifically, media device <NUM> can communicate with platform server <NUM> to request specific content from content provider <NUM> for aural and/or graphical presentation on display device <NUM>. In some embodiments, content provider <NUM> can include content organized in one or more content datastores. In some embodiments, the content can include music, video, multimedia, still pictures, text, graphics, gaming applications, and other types of content as would be appreciated by a person of ordinary skill in the art.

In some embodiments, platform server <NUM> can be configured to maintain information about content available at content provider <NUM>. In some embodiments, platform server <NUM> can be configured to maintain content location information which can include, without limitation, network address and/or path of content stored within content provider <NUM>. In some other embodiments, platform server <NUM> can be configured to maintain network location information of content source <NUM> while the specific locations of corresponding content are managed locally by content source <NUM>.

In some embodiments, media device <NUM> can communicate with platform server <NUM> to request content available at content provider <NUM>. In some embodiments, platform server <NUM> can provide content location information to media device <NUM>, and media device <NUM> can subsequently request the specific content from content source <NUM>. Media device <NUM> can receive at least a portion of the specific content transmitted or streamed by content source <NUM> via network <NUM> for aural and/or graphical presentation on display device <NUM>. In some other embodiments, platform server <NUM> can provide the network location information of content provider <NUM> to media device <NUM>, and media device <NUM> can subsequently request the specific content from content source <NUM>. Media device <NUM> can receive at least a portion of the specific content transmitted or streamed by content source <NUM> via network <NUM> for aural and/or graphical presentation on display device <NUM>.

In some embodiments, platform server <NUM> can be configured to determine that specific content requested by media device <NUM> from content source <NUM> should be provided with one or more messages from messaging server <NUM>. In some embodiments, messaging server <NUM> may contain one more messages from one or more message providers. For example, a message can include a station identifier, pre-media content, a warning (such as a copyright warning, warning about explicit language and/or content in the requested media content, and/or other warning), public service announcement, programming information, an advertisement, a commercial, instructions, and/or any other content as would be appreciated by a person of ordinary skill in the art. In some embodiments, messaging server <NUM> may be a messaging server that implements various standards such as the Digital Video Ad Serving Template (VAST) standard of the Interactive Advertising Bureau (IAB).

In some embodiments, in response to determining that specific content requested by media device <NUM> should be provided with one or more messages from messaging server <NUM>, platform server <NUM> can be configured to provide message location information including the network address and/or path of messaging server <NUM> to media device <NUM>, and media device <NUM> can subsequently directly request the specific messages from messaging server <NUM>. Media device <NUM> can receive at least a portion of the messages transmitted or streamed by messaging server <NUM> via network <NUM> for processing. In some embodiments, media device <NUM> may aurally and/or graphically present the messages on display device <NUM>. In some other embodiments, in response to determining that specific content requested by media device <NUM> should be provided with one or more messages from messaging server <NUM>, platform server <NUM> can request the specific messages from messaging server <NUM> via network <NUM>, receive at least a portion of the specific messages, and transmit or stream the at least a portion of the specific messages to media device <NUM> via network <NUM>. In some embodiments, media device <NUM> may play a message prior to, during, or after the requested specific content. As would be appreciated by a person of ordinary skill in the art, any number or arrangement of messages can be delivered with the requested content to media device <NUM>.

A message provider may want to provide messages to a media device <NUM> for a variety of reasons. A message provider may want to provide messages containing legal notices in order to deter copyright infringement. A message provider may want to provide messages containing content warnings in order to satisfy government content regulation guidelines. A message provider may want to provide messages containing pubic announcements in order to be in compliance with government regulations. A message provider may want to provide messages containing future programming to enhance the viewing experience of a user of media device <NUM>. A message provider may want to provide messages containing advertisements to promote the sale of products and/or services to a user of media device <NUM>. Thus, a message provider has many reasons to provide messages to a media device <NUM> along with requested content.

A message provider may also want to measure the impact of various messages on whether a user of media device <NUM> performs the action(s) indicated or suggested by the messages.

In some embodiments, a message provider may measure the impact of a message on whether a user of media device <NUM> performs various actions using A/B testing. A/B testing is a randomized experiment with two variables, A and B, which are the control and test variables in an experiment. The goal of A/B testing is to identify changes to content (that is, messages) that increase or maximize an outcome of interest, e.g., click-through rate for an advertisement message. A/B testing involves testing a subject's response to the two variables, which are identical except for one variation that might affect a user's behavior, and determining the difference in effectiveness of the two variables.

In some embodiments, a message provider may use A/B testing to measure the impact of a message on whether a user of media device <NUM> performs various actions. Specifically, in an embodiment, a message provider may automatically withhold messages from a certain percentage of users. This control group of users may instead receive generic messages. For example, a message provider may automatically withhold a future programming message related to a soon to be released movie from a user of media device <NUM>. This user may instead receive a generic future programming message that does not explicitly mention the movie. In this example, A/B testing would monitor the extent to which users who received the movie-specific message requested the movie, versus users who received the generic message. A/B testing enables a message provider to actually measure the impact of a specific message, or series of messages, on user behavior over a given period of time.

Conventional media systems, however, are unable to provide A/B testing to measure the impact of a specific message, or series of messages, on user behavior, without substantial system overhead and/or user involvement. This is due to several reasons. First, conventional media systems often use a messaging server operated by a third-party to provide messages to media devices. Message providers are often unable to modify such a messaging server to withhold a random set of users from receiving messages because they do not have permission from the third-party. Second, conventional media systems often use a messaging server that implements a specific messaging server standard. For example, a messaging server may implement the Video Ad Serving Template (VAST) specification of the Interactive Advertising Bureau (IAB). Message providers are often unable to modify such a messaging server to withhold a random set of users from receiving messages because doing so would violate a messaging server standard. Finally, even if a message provider could modify a messaging server to withhold a random set of users from receiving messages, the messaging server may be unable to transmit the messages in real-time to media devices because of the computation and memory overhead associated with withholding a random set of users from receiving messages. In summary, conventional media systems fail to adequately address the technological problem of being unable to establish a control group at a messaging server to process messages.

To solve this technological problem, in some embodiments, media device <NUM> may be configured to use a hashing mechanism to process messages according to a control group. Because media device <NUM> establishes the control group for message processing, no changes need to be made to messaging server <NUM> in media system <NUM>.

In some embodiments, media device <NUM> may be configured to process a message according to a control group by first issuing a message request for one or more messages from messaging server <NUM>. This message request may be issued in response to an attempt to playback content from content provider <NUM>. In some embodiments, the message request may conform to a message request of the VAST specification.

In some embodiments, media device <NUM> may determine the location of messaging server <NUM> from platform server <NUM>. Specifically, platform server <NUM> may provide messaging server location information including network address and/or path of messaging server <NUM> to media device <NUM>. Platform server <NUM> may provide this messaging server location information in response to a request by media device <NUM> to playback content from content provider <NUM>.

In some embodiments, in response to issuing a message request to messaging server <NUM>, media device <NUM> may receive a message response from messaging server <NUM>. In some embodiments, the message response may conform to the VAST specification. The message response may include a message and a messenger identifier. The message may represent the message content that is to be played back by media device <NUM>. The messenger identifier may be an identifier of a message provider who is providing the message. For example, the message identifier may be an advertiser identifier, such as an advertiser identifier in the VAST specification. In some embodiments, the messenger identifier may be an identifier for a collection of related messages associated with a given message provider.

In some embodiments, media device <NUM> may use an identifier associated with media device <NUM> and the messenger identifier to determine whether the associated message should be withheld from processing or not. In other words, media device <NUM> may use the identifier associated with media device <NUM> and the messenger identifier to determine whether the message belongs to a control group. A message that maps to the control group may be withheld from processing by media device <NUM>, whereas a message that does not map to the control group may be processed by media device <NUM>. The is establishment of a control group for message processing enables a message provider to measure the impact of a particular message, or series of message, on user performance of actions.

In some embodiments, the identifier associated with the system may be a user identifier representing a user currently using media device <NUM>. As would be appreciated by a person of ordinary skill in the art, media device <NUM> may have multiple users. In some other embodiments, the identifier associated with the system may be a system identifier for media device <NUM>, such as an electronic serial number.

In some embodiments, media device <NUM> may determine whether a message maps to a control group using a concatenation and hashing process. Specifically, media device <NUM> may concatenate the identifier associated with media device <NUM> and the messenger identifier into a single value. Media device <NUM> may then generate a hash value of the concatenated value using a hash function. The hash function may be Message Digest <NUM> (MD5), Secure Hash Algorithm <NUM> (SHA1), or various other hash functions as would be would be appreciated by a person of ordinary skill in the art. In some embodiments, media device <NUM> may convert the resulting hash value into an integer value.

In some embodiments, media device <NUM> may determine whether the resulting hash value maps into a control group using modular arithmetic. More specifically, media device <NUM> may determine whether the resulting hash value belongs to the same equivalence class as a number X modulo Y where is X is a random number and Y represents a threshold value that controls the size of the control group. In other words, the control group is represented by the equivalence class in modular arithmetic. For example, when the identifier associated with media device <NUM> represents a user, and variable Y is <NUM>, roughly <NUM> percent of users will be withheld from message processing. This is because the resulting hash value will belong to the same equivalence class (or control group) as a number X modulo <NUM> roughly <NUM> percent of the time. As would be appreciated by a person of ordinary skill in the art, the combination of the identifier associated with the system and the messenger identifier may be mapped to a control group in various other ways.

In some embodiments, the threshold value may be set by media device <NUM> itself. In some other embodiments, the threshold value may be set by platform server <NUM> and transmitted to media device <NUM> during playback of content from content provider <NUM>. In some other embodiments, the threshold value may be included in the message response sent by messaging server <NUM> to media device <NUM>.

In some embodiments, media device <NUM> may process a message based on the resulting hash value not mapping to the control group. For example, media device <NUM> may display the message on display device <NUM>. Alternatively, in some embodiments, media device <NUM> may withhold, or not process a message, based on the resulting hash value mapping to the control group.

In some embodiments, media device <NUM> may transmit an error message to messaging server <NUM> in response to the resulting hash value mapping to the control group. The error message may indicate to messaging server <NUM> that media device <NUM> did not process the message. In some embodiments, the error message may be a VAST error response message. In some embodiments, if messaging server <NUM> receives two or more error messages from media device <NUM>, messaging service <NUM> may provide a generic message to media device <NUM> when it receives the next message request from media device <NUM>.

In some embodiments, media device <NUM> may issue a second message request for one or more messages from messaging server <NUM> in response to the resulting hash value mapping to the control group. In response to the second message request, media device <NUM> may receive a second message response. Media device <NUM> may then determine whether to process this second message based on whether the second message maps to a control group using the same concatenation and hashing process described above.

In some embodiments, media device <NUM> may log various information about a message being withheld from processing in order to enable a message provider to measure the effectiveness of the message. Specifically, in some embodiments, media device <NUM> may transmit a pixel tag message to messaging server <NUM> after determining the message should be withheld. Alternatively, in some other embodiments, media device <NUM> may transmit a pixel tag message to platform server <NUM> after determining the message should not be withheld. A pixel tag message may represent a log entry containing the identifier associated with media device <NUM>, a timestamp representing when the message was received, the messenger identifier associated with the message, and a binary flag indicating whether the message was withheld or not. As would be appreciated by a person of ordinary skill in the art, a pixel tag message may contain other logging information.

In some embodiments, a pixel tag message is a tracking code that is sent to messaging server <NUM> or platform server <NUM>. The pixel tag message may indicate whether the associated message was rejected or delivered to media device <NUM>. For example, in some embodiments, this enables messaging server <NUM> or platform server <NUM> to determine that media device <NUM> displayed or did not display the associated message. For example, if media device <NUM> rejects a message targeted to a control group for new users, messaging server <NUM> or platform server <NUM> may determine the associated user is a new user because she was originally scheduled in this control group.

By logging whether a message was withheld from processing at media device <NUM>, message providers can determine which users received the message and which users were part of the control group. In some embodiments, this may enable a message provider to calculate the impact of the message on user behavior in real-time. In some other embodiments, this may enable a message provider to calculate the impact of the message on user behavior after a lag period of time, e.g., a <NUM> hour lag period of time. As would be appreciated by a person of ordinary skill in the art, a message provider may calculate the impact of the message using various mechanisms including, but not limited to, click-through rate, subscriptions bought, and/or viewing time. Moreover, while logging may simplify the process of determining which users received the message and which users were part of the control group, message providers can determine whether a message was withheld from processing at a media device <NUM> or processed at a media device <NUM> without logging. This determination may be based on an identifier associated with the media device <NUM>, a messenger identifier, and hash value range as discussed herein.

<FIG> is a flowchart for a method <NUM> for processing a message according to a control group at media device <NUM>, according to an embodiment. Method <NUM> can be performed by processing logic that can comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. In some embodiments, method <NUM> is performed by media device <NUM>, which can be implemented by a computer system such as computer system <NUM> (described below).

In <NUM>, media device <NUM> transmits a message request to messaging server <NUM>. The message request may be issued in response to an attempt to playback content from content provider <NUM>. In some embodiments, the message request may conform to a message request of the VAST specification.

In <NUM>, media device <NUM> receives a message response from messaging server <NUM>. The message response may include a message and a messenger identifier. The message may represent the message content that is to be played back by media device <NUM>. The messenger identifier may be an identifier of a message provider who is providing the message. In some embodiments, the message response may conform to the VAST specification.

In <NUM>, media device <NUM> generates a hash from an identifier associated with itself (that is, media device <NUM>), and the received messenger identifier. In some embodiments, media device <NUM> concatenates its identifier and the received messenger identifier into a single value. Media device <NUM> then generates a hash value of the concatenated value using a hash function. The hash function may be MD5, SHA1, or various other hash functions as would be would be appreciated by a person of ordinary skill in the art.

In <NUM>, media device <NUM> determines whether the resulting hash value maps into a control group. In some embodiments, media device <NUM> determines whether the resulting hash value maps into a control group using modular arithmetic. For example, media device <NUM> may determine whether the resulting hash value belongs to the same equivalence class as a number X modulo Y, where is X is a random number and Y represents a threshold value that controls the size of the control group. As would be appreciated by a person of ordinary skill in art, the threshold value may be set to various values depending on the percentage of media devices and/or users sought to be withheld from messaging processing.

If it is determined in step <NUM> that the resulting hash value maps into a control group, then in <NUM>, media device <NUM> may optionally transmit a pixel tag message to platform server <NUM> and/or messaging server <NUM> indicating the message was rejected. The pixel tag message may represent a log entry containing the identifier associated with media device <NUM>, a timestamp representing when the message was received, the messenger identifier associated with the message, and a binary flag indicating the message was withheld. Platform server <NUM> and/or messaging server <NUM> may log the information in the pixel tag message. As would be appreciated by a person of ordinary skill in the art, a message provider may use this logged information to calculate the impact of the message on user behavior in real-time. For example, a message provider may compare a click-through rate of users in the control group to users in the non-control group based on the logged information.

In some embodiments, however, media device <NUM> may not explicitly indicate to platform server <NUM> and/or messaging server <NUM> that the message was rejected. Rather, media device <NUM> may proceed directly to step <NUM>.

In <NUM>, after transmitting the pixel tag message in <NUM>, media device <NUM> repeats steps <NUM>-<NUM> until media device <NUM> determines that a message does not map to a control group.

If it is determined in step <NUM> that the resulting hash value does not map into a control group, then in <NUM>, media device <NUM> transmits a pixel tag message to platform server <NUM> and/or messaging server <NUM> indicating the message was accepted. The pixel tag message may represent a log entry containing the identifier associated with media device <NUM>, a timestamp representing when the message was received, the messenger identifier associated with the message, and/or a binary flag indicating the message was processed. Platform server <NUM> and messaging server <NUM> may log the information in the pixel tag message. As would be appreciated by a person of ordinary skill in the art, a message provider may use this logged information to calculate the impact of the message on user behavior in real-time. For example, a message provider may compare a subscription sign-up rate of users in the control group to users in the non-control group based on the logged information.

In <NUM>, after transmitting a pixel tag message to platform server <NUM> and/or messaging server <NUM> indicating the message was accepted, media device <NUM> processes the message. As would be appreciated by a person of ordinary skill in the art, media device <NUM> may process the message in various other ways. For example, in some embodiments, media device <NUM> may display the message on display device <NUM> for viewing by users.

Various embodiments and/or components therein can be implemented, for example, using one or more well-known computer systems, such as, for example, media device <NUM>, platform server <NUM>, content provider <NUM>, and/or messaging server <NUM> shown in <FIG>. Computer system <NUM> can be any well-known computer capable of performing the functions described herein.

One or more processors <NUM> can each be a graphics processing unit (GPU). In some embodiments, a GPU is a processor that is a specialized electronic circuit designed to process mathematically intensive applications. The GPU can have a parallel structure that is efficient for parallel processing of large blocks of data, such as mathematically intensive data common to computer graphics applications, images, videos, etc..

Computer system <NUM> also includes a main or primary memory <NUM>, such as random access memory (RAM). Main memory <NUM> can include one or more levels of cache. Main memory <NUM> has stored therein control logic (i.e., computer software) and/or data.

Computer system <NUM> can also include one or more secondary storage devices or memory <NUM>. Secondary memory <NUM> can include, for example, a hard disk drive <NUM> and/or a removable storage device or drive <NUM>. Removable storage drive <NUM> can be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup device, and/or any other storage device/drive.

Removable storage drive <NUM> can interact with a removable storage unit <NUM>. Removable storage unit <NUM> can be a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, and/ any other computer data storage device.

According to an exemplary embodiment, secondary memory <NUM> can include other means, instrumentalities or other approaches for allowing computer programs and/or other instructions and/or data to be accessed by computer system <NUM>. Such means, instrumentalities or other approaches can include, for example, a removable storage unit <NUM> and an interface <NUM>. Examples of the removable storage unit <NUM> and the interface <NUM> can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and USB port, a memory card and associated memory card slot, and/or any other removable storage unit and associated interface.

Computer system <NUM> can further include a communication or network interface <NUM>. For example, communication interface <NUM> can allow computer system <NUM> to communicate with remote devices <NUM> over communications path <NUM>, which can be wired and/or wireless, and which can include any combination of LANs, WANs, the Internet, etc. Control logic and/or data can be transmitted to and from computer system <NUM> via communication path <NUM>.

In some embodiments, a tangible apparatus or article of manufacture comprising a tangible computer useable or readable medium having control logic (software) stored thereon is also referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system <NUM>, main memory <NUM>, secondary memory <NUM>, and removable storage units <NUM> and <NUM>, as well as tangible articles of manufacture embodying any combination of the foregoing. Such control logic, when executed by one or more data processing devices (such as computer system <NUM>), causes such data processing devices to operate as described herein.

Based on the teachings contained in this disclosure, it will be apparent to persons skilled in the relevant art(s) how to make and use embodiments of the invention using data processing devices, computer systems and/or computer architectures other than that shown in <FIG>.

The Summary and Abstract sections can set forth one or more but not all exemplary embodiments of the invention as contemplated by the inventors, and thus, are not intended to limit the invention or the appended claims in any way.

While the invention has been described herein with reference to exemplary embodiments for exemplary fields and applications, it should be understood that the invention is not limited thereto. Other embodiments and modifications thereto are possible, and are within the scope of the invention. For example, and without limiting the generality of this paragraph, embodiments are not limited to the software, hardware, firmware, and/or entities illustrated in the figures and/or described herein. Further, embodiments (whether or not explicitly described herein) have significant utility to fields and applications beyond the examples described herein.

Claim 1:
A 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 a message request to a messaging server;
receive 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;
generate a hash value of a concatenation of an identifier associated with the media device and the messenger identifier stored in the received message response, wherein the identifier associated with the media device represents a user of the media device;
determine the hash value maps into a control group based at least in part on a threshold value controlling a size of the control group, wherein the control group identifies users for which the media device withholds processing of the message; and
in response to the determination that the hash value maps into the control group, withhold processing of the message and transmit, to the messaging server, a pixel tag indicating that the message was withheld for processing by the media device.