~dE~' CorporaxiOn 1 Scope This document is intended to provide an overview of the processes and technology used by AdExact Corporation to deliver targeted advertisements and information within interactive television environments. Some or all of these processes are not limited to applications in Interactive Television (ITV) and may be applicable in other areas, such as the Internet. The uses of these processes and the technology upon which they are built is only discussed insofar as their application within ITV applications.
As an e-business, delineation between AdExact's business processes, its software technology and the hardware upon which they execute can be diff cult to differentiate.
Exacerbating this is the fact that the technologies utilized in the implementation of AdExact's business support a distributed execution within a load balanced and fault tolerant environment. Therefore it is important to recognize that when flow diagrams and description are presented herein, any one process or database identified may in fact represent a series of servers distributed at various locations. These servers, data sources and sinks dynamically exchanging data from a single logical yet physically distributed database.
The introductory section that follows introduces AdExact's overall business.
It provides an overview of the goals and processes involved in the delivery of targeted ads and information and an introduction to some of the major components of the technology and processes.
Following the introductory section is a more detailed description of AdExact's business processes and technology. Complete flowcharts are provided in the appendix A. In many sections of this document excerpts from those flowcharts are presented to aide in descriptions of process and technology.
2 Introduction 2.1 Background Interactive Television is a result of the convergence of computer and television technology. With the advent of interactive television, every television becomes a sophisticated computer that not only processes incoming video and data, but also, like a computer, it has the capability to transmit data as well. This computer, commonly referred to as a set-top box, connects each television to high-speed data transmissions from cable, satellite, microwave and even off air television service providers. Cable, telephone and even wireless connections close the transmission loop, enabling a full two-way connection from the set-top to the Internet. This connection enables the next wave of the interactive commerce gold rush - Interactive Television (ITV).
In the last $ve years, the Internet has moved targeted advertising to a whole new level. Entire web pages from advertiser-sponsored sites are now customized for individual users.
With this type of capabilities like these, Internet ad revenue is projected to surpass radio advertising by 2004, according to Forrester Research. Internet ads, however, are often seen as fluff on a page with other information requested by the user, and, unlike television and radio advertising, and much more likely to go unnoticed. ITV advertising brings together the targeting and interactivity capabilities of the Internet and the attention-grabbing experience of television.
2.2 The opportunity Forester Research Inc. predicts that ITV in the US will generate $20 Billion (USD) in revenue by 2004 ($11 B in advertising, $7B in commerce and $2B in subscriptions). Add to this number the $15 Billion (USD) spent on TV spot ads annually in the US and AdExact's target market has been identified. Interactive Television is poised to become a massive revenue generator and AdExact's technology is at the heart ojmanaging, processing and delivering viewer-targeted advertisements and information within ITV environments.
ITV affords unprecedented opportunities for targeted advertisements by advertisers and network service providers (cable MSO, satellite, telco's). Within ITV networks, every commercial avail provides the opportunity for a targeted advertisement and a customer response.
There has never been a better opportunity for brand building or for taFget marketing than the ITV medium However, the complexities are formidable. With vi~virers moving across the large number of channels offered to them by cable and satellite service providers, hitting the target viewer has never been more di~cult - or more possible.
AdExact manages this complexity, providing standards-based technology and services to enable demographic based advertising and information delivery in interactive television environments.
AdExact's patent-pending technologies provide a true portal capability for ITV
This allows advertisers and content providers to leverage filll Internet capabilities, with complete video and data integration, as they target ads and information to viewers.
i AdF~ca~t~' Corporation 2.3 AdExact Corporation AdExactTM has developed a suite of technology that allows interactive television environments, such as WebTV, to become a real-time portal for video and data information.
Most importantly, the information can be targeted to subscribers based on a combination of fine-grain demographics.
profiles, viewing activities and subscriber-registered interests in a secure and audited environment.
ITV environments allow for the expansion of traditional advertising models.
Today only a single ad can be broadcast to subscribers within a certain allocated avail. The ad must be queued and scheduled prior to the broadcast. With AdExact technology it is possible to target the advertisement down to the individuai subscriber or group of subscribers based on their current or historical viewing patterns and their individual demographics. Different advertisements and information can be sent to different viewers at the same time!
The nature of an advertisement has also changed. With ITV, customization can be as simple as a message scrolling across the screen, or as complex as a complete video substitution or an application where the video becomes a window in a web-style interactive page.
AdExact'~"' is flexible enough to provide management and delivery of all of these advertising capabilities.
2.4 How it Works Advertisers Ty~ fable, Satellite Buying Avails ~//j~~,qvalis w Real-time Delivery of Targeted Ads &
i Information with Instant Behavior Tracking AdExact Delivery Engine AdExact ~ Real-time Ad Matching Broker/ RouGe~
En ine "' 9 L--~.~
AdExact Database Matched Targets Buyers & Seller are matched to demographic targets in real-time AdExact~' Corporation Through web-based interactions, buyers and seller of available advertising space are brought together. In a bid/ask process, buyers and sellers indicate what they would like to buy and sell.
AdExact's Matching Engine, patent pending technology, uses this information and its extensive accumulated demographic information and profiles to create the best matches between buyers and sellers while being compliant with applicable FCC/FTC and CRTC regulations.
The AdExact real-time Delivery Engine, patent pending technology, then uses extensive accumulated real-time data, consumer demographics and real-time feedback from viewers' current selections, to broker and manage the delivery of advertisements to the desired target. What the viewer sees on his or her television are ads and information targeted directly at them or a selected demographic in which they are a member - again, all tempered by what he or she is currently viewing.
As an example, an advertiser can purchase space for an advertisement targeted at executives who drive sports utility vehicles and have children, for play-out when the viewer is watching a golf game. Via AdExact's web site, the advertiser indicates this intention. The Matching Engine then determines the most appropriate matches for this request and the database is updated with the new information.
Now the AdExact Delivery Engine takes over. Using current viewer channel information, the Delivery Engine matches the advertiser's request with viewers that currently meet the criteria.
The executive with children, who drives a sports utility vehicle, now receives the advertisement targeted to him or her while watching the Golf Channel. The viewer can then indicate if they would like to receive further information related to the ad at a more appropriate time. This all happens while other viewers watching the Golf Channel receive advertisements that were targeted for a demographic to which they belong. During this time all the business transactions are completed electronically. The environment provides end-to-end supply chain visibility, allowing all the necessary management and audit reports to be generated within a secure, fault-tolerant environment.
2. S AdEx~act"" Technology Real-time delivery of data requires tight integration of computer and broadcast technology. It is impossible to accomplish the monitoring and delivery of advertisements and information using traditional computer paradigms. Current "flavor-of the-week" technologies do not scale or have the processing capabilities to handle large-scale deployment of "instant"
information delivery mechanisms based on real-time monitoring. Even multi-tier client-server architectures cannot cost-effectively provide the necessary computing capabilities.
AdExactr'" solves the problem by using reliable multicast technology that incorporates true event-driven computing. AdExactrM incorporates network and data capabilities that mimic ITV
environments rather than trying to force traditional client /server computer technology into an ITV environment.
AdExactr"' patent pending technologies are built on open industry standards.
The architecture provides a true modular plug-and-play software architecture that allows simple integration of new technologic ~ and services. Upon installation, new modules are automatically highly available and i, AdExact~' Corporation load-balanced. Reliability and scalability can be maintained as the volume of transactions, subscribers and material grow.
Unlike the traditional 'videotape based' model for delivery of material, advertisers and c.~ntent providers are directly integrated into the architecture. Ad and information providers can have their materials brokered directly through the AdExactTM systems. AdExact's Matching Engine provides them with the capability to change the materials or the target market at a moment's notice. All of the processing and capabilities of the services from AdExactT"' are secure and industry-tempered.
Leveraging these technological advantages. AdExactTM can deliver advertisements and information to individual demographic profiles within regions, states, cities, and neighborhoods or to individuals. Real-time technology enables brokering between ad avails and target viewers and provides a complete e-business solution for the market created by these transactions. AdExact's fully managed e-business solution is a revolution for advertising. It supports traditional models of buying and selling advertising with completely new and innovative methods.
AdExactTM truly enables a portal capability for ITV with targeted advertisement and information delivery.
3 Business Processes & Technology The following subsections outline eight areas of process and technology that are unique and novel AdExact's targeted delivery of advertisements and information between advertisers. content and information providers, network service providers, and subscribers within interactive television environments. Each subsection provides a brief introduction to each process and/or technology.
Section 4 provides explanations of each area.
3.1 Overall Process As introduced in section 2, the overall process that AdExact uses is innovative and revolutionary to advertising. The process from buyer and sellers through to delivery of targeting ads and information on a subscriber's digital television is built upon numerous technological components and processes. 'This structure and its components are discussed in detail in section .I.
Each of the following subsections identifies a unique and individually novel component of business process or technology that has been developed or applied by AdExact in its business.
3.2 Matching Engine The Matching Engine coordinates the selling and purchasing of avail slots within the television environments. It also coordinates the purchasing of rights to send data to subscribers. All these transactions are the front-end to a secure and audited environment that will perform all the necessary e-business (e-commerce) transactions required in this business.
One key to this technology is the use of subscriber information and demographics to allow purchasers and sellers to transcend current models for advertising selling and allow them to create novel and innovative techniques for completing their tratlsactions. Another is that as an e-service.
users of the service may interact with the Matching engine through AdExact~s web browser based interfaces or through distributed client applications utilizing secure data messa~in~~. The Matching Engine also ensures that all regulatory and business rules are enforced.
Althoueh the bid/ask process can be anonymous. the business rules ensure that buyers and sellers of advertising will interact and prioritize transactions with targeted parties.
3.3 Delivery Engine The Delivery Engine uses database information generated by~the -results of the Matching Engine.
Combining what has been purchased. advertising and/or information delivery, the matching engine monitors subscriber viewing patterns in real-time and delivers the material to the viewers dieital settop box for display at the appropriate time.
3.4 Topic-based Addressing and RTP
As generalized above. the Delivery Engine sounds monolithic in nature. In fact. it is verv much a distributed entity that runs on numerous severs. It is a load balanced and fault tolerant distributed r'~ '~t" COl'~OZ'AtlOi1 application with each node responding to and generating thousands of events and messages each second.
This is a monumental task and require9 significant technological innovation to coordinate the activities of the Deliven~ Engine. AdExact has applied an event driven software bus architecture to this problem that uses topic-based addressing techniques to uniquely solve the coordination and transmission of massive amounts of data within the real-time environment of ITV.
The techniques used climinatc redundant messages flowing within the network thereby allow for highly e~cient use of network resources. Also, because the environment is event driven, prioritization of messages can ensure that time critical messages and events are processed in a timely manner while other, less urgent message, are processed when there are available resources.
Time stamping in the distributed object messages ensures that the required QoS
(Quality of Services) is maintained.
This bus-based event driven architecture that utilizes topic-based congestion control uniquely solves difficulties with the ITV environment and significantly reduces the cost of hardware ( computer servers) required to run the application.
3.5 Advertisement Transport Streams MPEG Transport Streams are the standard network transport to move Digital Video content in ITV environments. In some instances these transport streams are carried on top of other transport data layers such as ATM or TCP/IP. Regardless, digital TV data is encapsulated within MPEG
Transport Streams that are compliant to DVB (European) or ATSC (North American) standards.
Within some network environments AdExact employs special Transport Streams used to bundles advertisements and information. The use of these Transport Streams, their creation, structure and interaction with settop boxes within the environment are innovations developed by AdExact.
Although delivery of ads and information need not utilize this technique it is innovative and represents a technique used by AdExact to deliver ads and information.
3.~. I Transport Stream splicing To insert ads in real-time or to build advertisement Transport Stream bundles (describe above) requires that specific transformations and/or additions to the information carried within the transport stream be made. These additions are necessary to allow for the dynamic switching between standard television content and,then stepping through the targeted advertisements delivered, and then back again. Techniques used in this area novel and are unique to AdExact's process.
3.6 Settop Enhancements AdExact incorporates a number of settop box enhancements to facilitate the monitoring of viewers and in the delivery and auditing of targeted information and advertising. These agents enable a settop box to participate within the AdExact environment and utilize techniques that allow the settop boxes to participate within the congestion control model, targeted demographics ~dExact'" Corporation and distributed messaging employed by AdExact. Additionally. software agents are used to solve the problems associated with channel surfing and the delivery of targeted information and advertising with the real-time environment of television. These agents provide tracking and monitoring of the responses to the information and advertisements presented to the subscribers within the real-time ITV environment.
3.6. l Video Pre-roll One feature that can be used on settop boxes, or is required in some instances. is video pre-roll.
Regardless of how the targeted video was delivered to the subscriber. before the switch is made from one video data source to another. the destination video and audio may be decoded in manner that allows a digital video decoder in the settop box to instantly switch and play the new source.
This reduces or eliminates the channel changing time that is seen when switching channels in digital television environment. The development and application of the technology by AdExact was driven by the desire to eliminate settop box decoder time required to switch between different advertisements and television program content.
4 AdExaet Advertising c~c Information Delivery Network The following subsections outline AdExact's "Precision Advertising &
Information Delivew Network for Interactive Television"'. A process summary flowchart and a more detailed process flowchart are provided in Appendix A. Excerpts and decompositions of elements contained in those charts appear in the subsections that follow.
4.1 Introduction The purpose of the overall process is to bring together the buyers and sellers of advertising space and to deliver the results of those transactions to groups of subscribers or individuals targeted in the interactive television environment. The targeting of the delivery is based on as much information as possible on the ITV subscribers.
The following subsections assume you have read section 2.
4.2 Matching Engine The Matching Engine (ME) is the front-end brain of the delivery process. One could describe AdExact's overall system as an Expert System comprised of multiple experts.
The Matching Engine utilizes Fuzzy Logic in its decision making process. The application of fuzzy logic techniques in the Matching Engine is a novel and highly innovative application of this technology.
The application of fuzzy system techniques is essential to creating an effcient and reasonable process in an environment where any Delivery Engine might be tracking the viewing behavior of tens of thousands of people and then making decisions on when and what targeted advertising and information to deliver to them.
As the complexity of a system increases, the ability to make precise and yet significant statements about its behavior diminishes until a threshold is reached beyond which precision and significance (or relevance) become almost mutually exclusive characteristics.
It can be said that AdExact's system is part of a chaotic system. The future state of tl>is highly complex system cannot be determined or predicated in absolute terms. The rigidity of the standard "if then" type logic normally applied to decision making in computer software is too rigid to make optimal decisions.
The Fuzzy System Model applied in the ME allows AdExact's system to calculate strategies less rigidly and more adaptable to the chaotic environment of Interactive Television viewing. The fuzzy set theory applied within the ME enables approximate reasoning and provides the underpinning for its efficient and dynamic behavior. Approximate reasoning also provides input to the bid/ask process that influences the pricing of avails based on the "exactness" of the match.
~dE.~cact~' Corporation -i.2. I Matching Engine Real-time TCPIIP Extensions - RTP
AdExact multicast technology incorporates RTP, real-time extensions to TCP/IP, into its multicast mechanism. Because of the real-time nature of ITV. the use of RTP
enhances the reliability and predictability of the Matching Engine's behavior.
Most IP based systems use a best efforts strategy to deliver data. AdExact incorporates the use of the RTP open industry standard in all time critical interactions between the Matching Engine and other components of the system.
Two examples best illustrate the importance of the application RTP within the AdExact business process. First, users interacting with the Matching Engine may be distributed around the world.
Also, unbeknownst to the users, the Matching Engine may be distributed in the same manner.
Therefore the ME must incorporate real-time extensions to broker buying and selling in real-time.
A user on a slow-speed connection may actually purchase avails before a user on a high-speed connection but unfairly end up later in the processing queue. The matching engine must overcome delays introduced by technology to provide a fair bidding system to all participants.
Secondly. because both engines are highly distributed systems operating in a real-time environment, when the Matching Engine is delivering data to the databases used by the Delivery Engine the time element of the data is critical in processing data to determine the validity and order of processing on that data. The Delivery Engine determines a real-time strategy for delivering the ads and information specified by the Matching Engine. Real-time information is a critical dimension in the delivery strategy.
->t.2.2 Front-end Interfaces There are a number of interfaces to the Matching Engine. both electronic data interfaces and web based interfaces provided by AdExact' .
Web Genera6ed Requests R
~\ 1 Reply / ' ~ ~~ , User p~ Ad6aet Bus ~.
Third Party \Electronic Systems, ~ R~
Eetsctonic -i~ Incertacas R~
' .A third party or custorners could use the electronic interfaces exposed by the Matching Engine to create web their own web based interfaces to interact with the Matching Engine.
The Messaging Agent sits between the interfaces to AdExact event bus and client interfaces. This agent is acts as a conduit for secure transactions between AdExact"s system and external interfaces. It enforces security policies without comprising either client or AdExact security. In the case of AdExact web based applications. the Messaging Agent provides a link from a client's web browser to AdExact systems-.
The web-based and electronic interfaces provide the following functionality to clients but are not limited to this functionality.
~ Buying and selling ad avails and information carrying services.
~ Creation of demographic based hierarchies for purchase/sale alternatives (first choice, second. third. . . ).
~ Selection of demographic targets or hierarchies for purchase or sale. This includes standard Run-of Schedule (ROS) purchases and Specific program purchases (Molson wants ad time and information delivered during hockey games). Demographic Hierarchies may be applied within ROS and Specific programming selection.
~ Parameterization of the Fuzzy Logic technology used in the Matching and Delivery eneine.
~ Instructions for delivery or generation of management and audit reports resulting from the use of the advertising and information delivery services.
~ Customer information that includes general customer information. billing information and current account information.
-1.2.3 Matching Engine Internals _______________________________________ I I
I i ~ , ~ I
i _ j I
Request Queue ~~,,, I Wak Queue I M~ patabase rds J I ~ patabase~ I~ I
I ' ~ I ~ _T I
i i I I
- Applets running in web browsers cannot communicate through firewalls and other security measures employed by firms. The Rendezvous Agent facilitates transactions in these environments.
I Matching Engine I
________________________________________i AdExacY" Corporation The Messaging Agent interprets requests generated by interfaces to AdExact's network. The Messaging Agent interprets the message and generates an event with the appropriate event class (or topic). The Matching Engine's Request Agent (MERA) listens on the bus' for topics related to matching requests. This is done by registering a topic or series of topics with a daemon that listens for topics on the bus.
When an appropriate request appears on the bus an MERA is alerted. The MERA
adds the message to its queue of requests and begins to look for a Matching Agent (MEMA) to execute the matching request. The MERA negotiates with MEMA by generating a topic on the bus that MEMA are listening for. An available MEMA now processes the matching request.
The interaction between the event on the bus, the MERA and the MEMA is critical to the process of achieving dvrtamic load balancing and fault tolerance. MERAs and MEMAs run on any number of servers distributed across a network. It is as efficient for an MERA and an MEMA to cooperate on the same server or to execute on two servers across a vast network. For instance one server may be on the east coast, the other on the west coast. It is critical to note that no bi-directional communication is required between the MERA and available MEMAs to achieve this interaction. The MERA that generated the message only receives a message if the request failed to be processed.
This is crucial in eliminating the network traffic and the congestion that would be generated in a client/server model. In a traditional client/server model. load balancing would be achieved by an MERA asking servers running MEMAs which server had resources to process the request. This not only requires knowledge of each of the servers available to run MEMAs, which alone is extremely problematic for a distributed fault-tolerant environment. but also requires messaging to occur between an undetermined number of MEMAs and servers that might be running an MEMA.
Again. in contrast to client/server models. within the AdExact implementation, an MERA simply puts a single request on the bus with a topic that an MEMA is listening for.
An available MEMA
picks up the message and processes it. Load balancing and fault tolerance are intrinsic to the process.
,t Matching Agents The Matching Engine Matching Agent (MEMA) is the process that calculates the disposition of an advertisement or information that needs to be delivered to subscribers.
Each MEMA uses the following information to calculate matches.
~ Available advertisements or Information c Advertisement description (not the content of the add or information. but its source and other information required for billing and tracking purposes) Targeting options (who, when. where...) Details of the bus are explained in the subsection 4.3 which discusses techniques on congestion control in ITV
~dExact" Corporation o Demographic hierarchies o Run-of schedule (ROS) o Specific program purchase o Combinations of the above options Fuzzy logic configuration parameters (Fuzzy set qualifiers - often known as Hedges) /Available Ad 8 Info / Target FuaY Sets /
i i Data ~ Information / p~gfers /
l: ~;, ~ i.
;'=::.. t :f : ;
, _~:_ , , _,~_ _ _ , ,_._. _-_.___ ._-"~_ __ ____-__ _ Eat BUS _.y~__ _. _ , The MEMA uses three basic types of information to create a Matching Record that is the end product of the Matching Agent. By using Fuzzy Sets and qualifiers the Matching Agent processes the target information and the description data for the ad or information into a Matching Record.
The matching record is placed as an event on the bus. Again, the topic-based congestion control technique used to register topics on the event bus is critical in directing traffic on the network to only the required routes. The matching record topic is identified such that only a subnet containing potential target Database Agents, listening for the appropriate Topic will have the message routed on them. Onlv Database Agents on those subnets will actually receive the message. The Database Agent then deposits the Matching Record in the desired databases) that will be used by an appropriate Delivery Engine.
4.3 Matching Engine Algorithm The Matching Engine uses a very flexible and novel algorithm to determine the best matches between what buyers are trying purchase and what sellers have to offer. The quality of these matches can be ascertained by the Matching Engine and used to determine various results, for instance pricing of the transaction.
' Refer to section 4.3 for an explanation of the Topic-based Congestion Control techniques.
~dExact'~ Corporation The Matching Engine uses approximate reasoning to match demographic attributes desired by purchasers of ad and information time with demographics targets available from sellers of ad and information time. The matching process produces a value that indicates the strength of a match rather than a binary ''match/no match" result. Therefore, the technology does not need to incorporate business rules to determine if there is a match. The business rules may not be agreeable across all parties involved. The "strength" of the match will allow the parties involved to determine if the fit is close enough, and the price relative to the strength of the fit.
The matching process also allows the matching criteria to be weighted. Each matching processing is therefore customizable to the users' requirements and not arcane imbedded business logic.
-x.3.1 ~l~fatching Algorithm - Demographic Xierarchies An n-dimensional array of correlations between buyer demographic attributes and seller demographics attributes available is created. The correlations are calculated using approximate reasoning that makes use of Fuzzy Set theory. The results of these calculations are plotted over a Vector Space F. Thus X,, Xz, Xz,....X~ are n-vectors over F. where each X; is a dimension that represents one demographic criterion that will be used in calculating a match between a buyer and sellers. The set of all linear combinations k,X, + k2X~ + k3X3 + ... + kmXm (k; in F) is the Vector Space over F. The totality of V~(F) of all n-vectors over F is the n-dimensional vector space over which seller demographic attributes span. Each demographics attribute is a linearly independent vector and together all the demographics attributes under consideration represent the basis of the space. This n-dimensional vector space represents the possible demographic attributes the sellers under consideration possess. The buyer is represented by the zero n-vector subspace of V"(F).
The result at this point is that the demographic attributes desired by the buyer have been surrounded. in n-dimensional space, by the demographic attributes made available by each seller.
Each dimension in the space represents a quality measure of the match as determined by the approximate reasoning technique applied to that calculation (e.g., fiizzy logic using fuzzy sets).
At this point a bias may be applied to each of the dimensions in the analysis.
This bias may include throwing away a given vector that does not meet the minimum threshold in any given dimension. The user controllable bias is then used to calculate a mass for each point in the n-dimensional space associated with each vector. The magnitude of the vector in a given dimension is associated with the bias for that dimension to determine a component of the mass that will be associated with the given point'. By summing the component of mass generated in each dimension. a mass for the point is calculated. This mass represents bias applied by the user to the overall quality of the match generated in n-dimensional space. Again each dimension in the space represents the quality of a demographic attribute match between the buyer and a given seller.
In AdExact speak. a weighting applied each dimension, or subset of dimensions, of a vector in V"(F) is called a Demographic Hierarchy. The term is used to imply that a user has specified a hierarchy with respect to the sie_nificance of each dimension in V"(F).
~dExact~' Corporation At this point any number of analysis may be applied to determine the best match or to determine how to best distribute spending to optimize results. As an example (and for clarity), the n-dimensional space may be collapsed into two dimensions by considering the mass of the points versus the square of the norms (magnitude) of the vectors. In the result, the magnitude of the vector from the origin (the buyer) to a point in the cluster of sellers represents a measure of the attraction of the buyer to a given seller. In this example the relationship is following an inverse square iaw much like a gravitational calculation. Also, the buyer can be moved from the origin to a point of equilibrium amongst the cluster sellers (each seller point has its calculated mass and the buyer has a mass on unity). This point represents an optimal distribution of how where to purchase advertising amongst the numerous sellers. In theory spending would with each seller would be proportional to the norm of the vector from the buyer to that seller.
Some assumptions not made in these algorithms are as follows.
1. The Fuzzy Sets and the Logic used to determine the quality of the match of a given demographic attribute between the buyer and seller is not fixed. This to say that there are infinite number of possibilities (Fuzzy Sets) to determine the quality of match.
2. The collapsing of the n-dimensional space into a plot of distance from the buyer and mass is only an example and one technique applied by AdExact in creating spending decisions from the data.
AdExact"' Corporation r 4.4 Delivery Engine The Deliver Engine is the real-time process that calculates the disposition of an advertisement or information to be delivered.
4.4.1 Delivery Engine Internals _________________________________ /
I . I
I ~ Matching Records i I Dati~ase ~~ I
I Router / Re_~tlme ~I Subacxiber I Formatter I
I _ _ ~ r~
I Delivery Engine i _________________________________, The Delivery Engine comprises three processes, the Router Broker (DERB), the Real-time Data Formatter (DEDF) and the Database Agent (DEDA). It is critical to remember that components attached to the event bus may be distributed in any manner across the network.
This ability to distribute or localize processing is used in congestion control, load balancing and fault tolerance of the system.
Typically multiple instances of a Delivery Engine will be localized to service a logical subdivision of the overall network. For instance, a group of Delivery Engine tasks could be responsible for delivering ads and information to subscribers resident at one cable headend of a particular cable system. Again, the topic-based congestion control techniques are used to minimize unnecessary network traffic.
In the figure above, the Subscn'ber Monitor is shown to emphasize that the Delivery Engine responds to monitoring events generated by subscribers. As subscribers change channels and interact with their televisions, the Subscriber Monitor translates these activities into events on the Event Bus. When a subscriber establishes himself or herself on a channel, an Event is generated with that Topic (e.g., otherstuffcablesys.ohio.dayton.subscriber.selection).
The DEDF processes the event and incorporates the subscriber information in the Matching Data.
Both the RouterBroker (DERB) and DEDF use the DEDA to proxy requests for data maintained in the distributed databases.
~AdExact" Corporation 4.4.2 Real-time TCP'IP Extensions - RTP
AdExact multicast technology incorporates RTP, real-time extensions to TCP/IP, into its multicast mechanism. Because of the real-time nature of ITV, the use of RTP
enhances ..he reliability and predictability of the system. Most IP based systems use a best efforts stra~egy to deliver data. AdExact incorporates the use of this open industry standard in all time critical interactions between the Delivery Engine and other components of the system.
As discussed in the Matching Engine section, the time dimension of the data is critical to the Delivery Engine in determining its strategy for the delivery of ads and information to settop boxes and the Settop Schedule used to coordinate subscribers' settop boxes and the Delivery Engine.
Time information is also critical to coordinate the activities between the many distributed servers that comprise the Delivery Engine.
-~. 4. 3 Delivery Engine ! Settop Box Interactions The DERB uses the current Matching Data to bias its strategy for delivering content to ITV
settop boxes. In collaboration with video, ad serversb and the AdExact Agents resident on the settop boxes, the DERB controls the delivery of ads and information to settop boxes.
Previous to the delivery of a targeted ads or information. the settop box has had a highly optimized table downloaded to it that identifies the strategy the DERB will be following to delivery infbrmation to that settop. This table is customized on a per subscriber basis and includes.
but is not limited, data descriptions of when and through which network resources targeted advertisements and information will be delivered to that settop. For instance, this table can be used by the Settop Agent to determine which service within the available bundles of MPEG
transport streams to decode at a given instance of time based on the viewers current viewing selection.
'' AdExact may control Video and Ad Servers that output video in a number of formats. These formats include, but are not limited to. analog video and MPEG Transport Stream over ATM or IP
(Internet Protocol). Note that MPEG
Transport streams carried on IP that is then carried over ATM is also a possible transport.
~dExact'~ CorporRtion _-.
n j /. _ p~,~, to ,.
wfewer Subscriber b Feedback Interaction -~ y Seer Matching Engine 11 (ad inj~
n Video Sources Consumer Monitor Using this table the settop box could play a series of advertisements back to the viewer. The follow drawing shows how a settop might use the table to playback a series of four advertisements.
Channel Time Source ID
250 t MPEG 340 TS
t+30 File /ad/axool.mpg t+60 MPEG 344 TS
Data links t+90 Stream otherstuff.ad.stream.one IP, ATM... t2 s~uoP t2+30 ...
Streams i s~--~~,~I~--~~~°r°t~et (optional) To~
Advertisment Sources The drawing above illustrates a number of features of the Settop Agent that are novel to AdExact's process. First. the table allows the Settop Agent to operate in an ITV environment without requesting or needing new information from the Delivery Engine every time the ~dExact~' Corporation subscriber changes a channel. The table represents the Delivery engines current strategy for delivering ads to a given settop. The table includes information for every channel selections a subscriber could make over a variable window of time (for instance the following 12-hour period on a rolling schedule).
The Delivery Engine and the Settop Agent cooperate to maintain this table.
This means that the Delivery Engine can update the table in the settop box via the Settop Agent in increments. As the Settop Agent executes through the Settop Table. audit information is maintained in real-time.
Obsolete portions of the Settop Table may be discarded as the delivery of the audit information back to the AdExact databases is verified.
Again, the Settop Agent uses the Settop table to combat issues related to subscriber channel surfing. The Agent can instantly look at subscriber activity and via the table prepare the next targeted advertisement. In instances where a subscriber has made it impractical to display a targeted advertisement, the material in the networks standard feed would play through in that time slot. For instance, if the viewer has changed the channel 20 seconds into a 30 second spot, the tail end of a targeted advertisement would not be played in the remaining 10 seconds. The networks standard feed would play through for the remaining 10 seconds and a targeted advertisement would be played at the start of the next available commercial time slot.
-!.-~.-t Calculating Settop Table Entries Each entry in the Settop Table represents an intersection between data calculated by the Matching Engine, the demographics of an individual subscriber and the current viewing activities of that subscriber'. For each channel availableg to the viewer an entry. or list of entries, is made at each point that a targeted ad or information may be displayed to the viewer. Each of these entries represents an individual subscriber's (or households) match to a demographic hierarchv_ calculated by the Matching Engine (section 4.3.1 ).
While the Matching Engine determined matches between the buyers and sellers of advertisement space. the Delivery Engine determines the match between the results of buyer/seller transaction and an individual subscriber. When the Matching Engine completed the transaction between the buyer and the seller it recorded the demographic attributes of the target subscribers as an n-dimensional vector and an associated Demographic Hierarchy. To create an entry in the Settop Table the Delivery Engine uses a corresponding n-dimensional vector that represents the subscriber's demographics characteristics and compares it to an existing vector generated by the Matching Engine. Using the Demographic Hierarchy stored with the vector, the qualit<~ of the match between the two vectors is assessed using approximate reasoning.
Acceptable matches result in entries in the Settop Table.
Recall that another parameter in this intersection of data may also include biases or preferences that the subscriber has indicated to the system previously. For instance. 1 am buying a car; please show me more ads and information pertaining to automobiles.
s .AdExact's system automatically parses Electronic Program Guides (EPG) to determine services available to subscribers and to classify the content carried within those services. This information may be augmented manually via web interfaces.
AdExa~et" Corporation = ..
4.5 Topic-based Addressing & RTP
A critical element in the success of AdExact's network is the use of topic-based addressing with RTP extensions (real-time extensions to TCP/IP). This scheme is critical in achieving network effciency, redundancy, fault-tolerance and application distribution on the network.
As discussed in previous sections, applications run in distn'buted manner across the network.
Agents communicate amongst each other by producing and recognizing messages that are associated with a given topic. For a given topic there are producers and consumers of messages within the topic. Routing packets within the system is also controlled by these topics. When consumers of messages within a given topic register that they are interested in that topic, messages pertaining to the topic, or all subclasses of that topic, are routed to that subnet. Real-time extensions to the messaging system allow software agents, or hardware that is RTP capable, to prioritize the messages on the network. .
This provides two dimensions to prioritize messages on the networks on real-time basis. RTP
extensions in the messages can be inspected at each node (a server or router for example).
Alternatively, the topic names can be used to tag information with real-time requirements. Both techniques can be used simultaneously to prioritize packets on the network.
The figure below shows how a topic name could be used to route data across tl>e United States.
The * identifies the fact that any Agent could register itself to listen to an entire subclass of messages. In that case all the messages pertaining to the topic and all the subclass it contains would be routed to that subnet.
location.target.us.southeast.florida.miami 4.5.1 RTP Extensfo»s Time information associated with messages enables AdExact's system to operate within the real-time environment ITS. A number of uses are made of time stamps within messages. Messages can be prioritized to ensure their timely delivery. Messages can be optionally groomed from the ~dExact'~ Corporation network trai~c when time elements within the packet indicate that their data is no longer useful.
Also, time stamps within the messages can be used to prioritize data within processing cues to ensure fair processing within the bid/ask model of processing e-commerce transactions.
,_____________________ y--_ I
I i I
I ~ ; ~ I
I ~~~ ! Time Prioritized I I
I ~ I Data ' I
I ;-~-I I
I I ~ ____--_-, ! -.-.- ~
I ~ I ;-Topic Agent ~ I
I ~ I
I i I
I I Real-time [~- I Roofer 1 I ~ Data Agent '~ Switch I I
I '~,, I To Otber WAN
I J __ I AdExact Network Node I
___________________ As shown in the diagram above. each node in the network has one instance of the Real-time Data Agent and a Topic Agent. These two Agents combine to provide the network interface to the event bus for other Agents (applications running on given computer node) on a system.
As applications register to receive messages for a specified topic the real-time data Agent and a Topic Agent listening for messages on the event bus. As messages are received within that Topic the real-time data Agent looks for RTP extensions within the message data. If a real-time component exists in the data. the real-time data Agent makes a decision that incorporates the element of time. For instance. the data could be discarded because it's time has expired or the data could be prioritized and sent onto the topic Agent which would then distributed data to all the interested applications in a time prioritized format.
The real-time data Agent could be viewed as an input/output filter between the event bus and the Topic Agent I Application interactions. It permits each element in the AdExact network to consider the time dimension in all of its ad and information processing and delivery.
;~dExuct~' Corporation 4.6 Advertisement Transport Streams Advertisement Transport Stream bundles can be utilized for a number of purposes. Applications include both real-time playback of commercials, in the strategic delivery of commercials to settop boxes for playback at later times or a combination of both techniques 4.6.1 Structure An MPEG Transport Stream that specifically structured for delivery of advertising contains a number of services within a given Transport Stream Each service within a Transport Stream cornains a flow of advertisements spliced together. The actual flow of advertisements within a given service may or may not be continuous. At the packet level, this translates into timing within the Transport Stream that may be contiguous or noncontiguous. In MPEG terms this means that the PCR's (Program Clock Reference) applicable to that service may be continuous or marked by PCR discontinuities. In the first case separate advertisements would appear as a constant stream of video and audio data. In the second case PCR discontinuities would identify to an MPEG
decoder separate video and audio sequences requiring new timing.
Regardless of which PCR technique is used, MPEG Program Map and Service Information (DVB
or ATSC) is augmented to describe the presence of each commercial within each service of each Transport Stream bundle.
Note, any existing flow of transport streams may be augmented by an Advertisement Transport Stream for the purpose of adding targeted advertising and information delivery to the system In fact an existing Transport stream can be modified in real-time or non-real-time with Advertisement Transport Stream support.
4. 6. 2 Information Delivery Information to be delivered to customer settop boxes may also be imbedded within MPEG
Transport Streams. Again, by extending the Program Map and Service Information individual data can be targeted to individual settop boxes. In this case an individual PID is identified within the Transport Stream as the PID carrying the data map that describes the data to be delivered to individual settop boxes or groups of settop boxes.
4. 6. 3 Strategy for Use The use of these bundles allows the Matching Engine and the Delivery Engine to cooperate in a strategy that maximizes the ability to use available network resources to deliver advertisements and information to individual settop boxes.
In the case of settop boxes that have no storage capacity, memory or disk based, Transport Streams containing bundles of ads are used to provide a real-time stream of advertisements to be switched to by the settop in real-time at each commercial break. In this instance the Delivery Engine is cooperating with a minimal settop Agent to coordinate the playback of targeted advertisements. The Settop Table would have its source identified as a service within the .1 '~ct~' C'orporation appropriate Transport Stream at the time of the break. The settop would then step into the appropriate service within a given Transport Stream to playback each commercial.
Two important points must be noted. First, insertion of advertisements may be controlled on the settop box. as described above. or on the server side. In the limiting minimal case, a single advertisement can be spliced into a service within a given MPEG Transport Stream. The service.
within the Transport Stream, has been augmented with an alternative advertisement and can be broadcast on the network to subscribers. Dependent upon the network data layer transport (IP.
ATM. or MPEG for example) this commercial will be received by all or a given subset of subscribers.
Second. the MPEG techniques described above may be used in collaboration with other transport mechanisms utilized by AdExact's network. For instance, if a TCP/IP data Transport is available.
the Delivery Engine will also use that data layer to deliver data to the settop box.
Transport ---~ Data Cartier 2 I
Str~P~~, --~ Data Carrier 1 Transport ;
St Ad Service 1 Transport ~ Ad Service 2 Strum Ad Service N I
T_-... Ad 2 (t0) ~ Ad 1 (t0430) = Ad 3 (t0) Ad 4 (t0+30) I Ad 5 (t0+60) I Ad 6 (t0+90) ,., __ ______~.
The diagram above shows a number of Transport Streams that could be carried on one or more data transports (ATM, TCP/IP, MPEG etc. ). One or more of these Transport Streams could be :~dExact Advertising bundle Transport Streams. The diagram shows 1 Transport Stream decomposed into a number of MPEG services. In this case N services are carrying advertisements each of which would be composed of a number of PID. This breakdown is specified in the MPEG
program map and associated service tables (DVB or ATSC as examples). Typically one PID
carries PCR timing information, another carries video and multiple PID's carry audio for the multiple languages associated with the video. Also shown in this diagram there are two PID's used to cam data information to subscribers or groups of subscribers. Within the data transport.
freedom exists to format the data delivery to whichever standard is prevalent within the service providers network. There are a number of standards for transporting data in ITV environments.
The Advanced Television Enhancement Forum (ATVEF) standards represent one set of standards in this area.
:~dExact~" Corporation Another point to notice in the diagram is that one service has been broken down into its constituent advertisements. In this case the service demonstrates a mix of contiguous and non-contiguous blocks of advertisements. In each case an advertisement can be prefaced by a PCR
4. 7 Settop Enhancements AdExact's network makes use of Agents rurming on a subscriber's settop box.
One important note in the discussion that follows is that the Settop Agent for a given subscriber can actually run on a server in the network. In this case a minimal Agent runs on the settop to perform a subset of the following functions.
The main function of the Settop Agent is to coordinate with the Delivery Engine the display of information and advertising targeted to a given subscriber. As described in a previous subsection, the Settop Agent makes use of the Settop Table to step through the various network sources of ads in information delivered to the settop. This table is a highly optimized multidimensional table that allows the Agent to step through ads and information delivered to the settop according to the strategy previously determined by the Delivery Engine. This ability to use the Settop Table is essential to proper execution in situations where a given subscriber is surfing through channels.
AdExact's technique to deliver targeted advertisements in the face of subscriber channel surfing is embodied in the use of the settop table. In the absence of any interaction with the Delivery Engine, the Settop Agent knows that the specified advertisement targeted at a given viewer will be available on the source identified in the table based on the specific channel that the subscriber has currently selected.
Another important function offered by the Settop Agent is the ability to allow the subscriber to augment their personal information used by AdExact's network and to allow subscribers to bias the commercials and information they receive. For instance, if a subscriber is buying a car or renovating their home they can indicate they can request. via the Settop Agent, that they receive more advertisements in these areas of interest.
,t. i. l Settop Audit Perhaps the most critical feature of the Settop Agent is the feedback it provides to the network to produce audit trails. Audit trails are mandatory in the advertising industry as proof of delivery of the advertisement. AdExact's audit environment is so sophisticated that it can offer information as to whether a specific advertisement was displayed on a viewer's settop and at what point the viewer changed the channel off of that advertisement.
-f. ~ . 2 Yideo Pre-roll One feature that can be used on settop boxes, or is required in some instances, is video pre-roll.
Regardless of how the targeted video was delivered to the subscriber, in settop box memory the before the switch is made from one video data stream to another, the destination video and audio are decoded in manner that allows digital video decoder in the settop box to instantly switch and play video and audio. This reduces or eliminates the channel changing time that is seen when :ldExRCt'" Corporation switching channels in digital television environment. The development and application of the technology by AdExact was driven by the desire to eliminate settop box decoder tiwe required to switch between different advertisements and television program content.
~ldE~cact~' Corporation S Appendix A - AdExact Process Flowchart