360 likes | 372 Views
This project explores delivering location-specific ads over Wi-Fi networks in public spaces. Utilizing beacon packets, ads are pushed to users based on proximity and preferences, enhancing user experience. The implementation involves modifying access points and client software for efficient ad dissemination and retrieval. Security measures and dynamic ad features are integrated for a personalized ad experience.
E N D
Delivering Location Sensitive Advertisements Using Wi-Fi Networks Lenin Ravindranath S Anna University BE Computer Science Year of Graduation: 2006 Mentors: Ranveer Chandra, Joseph Joy, Jitu Padhye, Alec Wolman Microsoft Research Duration: 10 weeks
Motivation • Explosive growth in Wi-Fi Networks in the last few years • Delivery of Advertisements over the Internet has become a huge market as well • Ads are targeted – relevant to the user • Location Sensitive Advertisements will be a very important market in the near future • Google has announced Free WiFi Access in San Francisco • MSN has introduced “Locate Me” feature
Scenario • Users with WiFi-equipped devices in a market/mall • Devices could be PDAs, laptops or phones. • Users receive ads from nearby stores, restaurants on their devices • Filter Ads based on preference of the user
Example Ad: Hi-Style: 30% off on any purchase of 1000 rupees or more Ad: CoffeeDay at 13rd Cross Is there an apparel store? What all is close to me? CoffeeDay Hi-Style (30% off…) Hi-Style (30% off…)
Existing Approaches • Client establish connection with an Access Point • Client may also send Info about its Location • Download Ads • “Pull” model of Ad Delivery Establish Connection Download Ads
Goal • Send Ad Text over WiFi Networks • Make it visible to all clients in the vicinity Advertisement Ad Ad
Wi-Fi Protocol - Beacons Access Point Network Name SSID: NYCWireless Beacon Packets Network Name SSID: T-Mobile Connected Networks Found Connected
Our Idea • Send Ad Text as part of Beacon packets that announce Wi-Fi networks • Modify certain fields in the Beacon to carry Ads • A software at the Client extracts Ad Text from the Beacons seen • “Push” Model of Ad Delivery Location Sensitive: Only the Clients in the vicinity of the AP receive their Ads
CoffeeDay close to me.. Hmm! WiFi Beacon Coffee Day Drink of the day is Hot Chocolate Client running our software I love Hot Choc! Go to CoffeeDay AdCenter AP at CoffeeDay Within 250 m of CoffeeDay
Advantages • Beacons are not encrypted • Advertising a network using a beacon does not mean that you have to let clients “connect” to the network • Clients receive beacons (hence ads) even when they are not connected to any network • Clients receive beacons from other networks even when they are connected to a particular network • Can update Ad text to include dynamic information • Number of tickets left • Daily specials in a restaurant • Stock quotes
Approaches to Send Ads 3 approaches, each with its own pros and cons
Implementation Details – AP • Access Points • Provide Interface to Specify Ads • Fragment Long Ads • Overload in Beacons sent Approaches • Modify Access Points • Modify AP Driver • Software Access Points • Wireless Card with modified Driver • Send beacons constructed at User Level • Effective for broadcasting Ads
Implementation Details - Client • Software at Client • Query Beacon fields • Reassemble Ads • Display to user • User Preferences • No driver modification at the client required Connected to Google Network • Client need not be connected to a network • Client can even be connected to a competitive network Still receive Ads from MSN Ad
Security • Sending Fake Ads • JavaWorld near Coffee Day sends “Coffee Day is closed for a day” • Replay Attacks • JavaWorld replays an Ad sent by Coffee Day at an earlier date • Unique ID includes a cryptographically secure signature, verifiable by client-side software • Only display ads that pass the test • The secure ID can be provided by MSN • Encrypt Ad and time of validity with MSN private key • Decrypt at the client with MSN’s public key
Preferences WiFi Beacons Preferences: See only ISPs Coffee Day Drink of the day is Hot Chocolate T-Mobile Internet at 20Rs AdCenter AP at a Shopping mall Preferences: See all Ads
Advertisements Shop ISP Dynamic Info
Features - ISP Selection • More details about the ISP without connecting to them • Dollars per hour • Supported Rates • Number of users connected etc • User connects to the ISP of his choice
Features - MapPoint • AP Sends • Lat • Long
Design - Access Point Ad Constructor Append Ad with Custom Details • Type • ISP Details • Location Info Fragmenter Divide long Ads into Fragments Append • Unique ID • Sequence Number • More Frag Bit Beacon Constructor Construct valid Beacon With Ad Fragment in SSID/BSSID/BIE
Design - Client Ad Filter Filter Ad based • User Preference • Ad Type Ad Parser Parse Ad Extract • Type • ISP Details • Location Info Reassembly Construct Ad from Fragments Driver Interface Query Beacon Fields SSID, BSSID – XP All fields – Vista/ Modified Clients
Status • Access Point • Software Access Point • Send Ads in SSID/BSSID/BIE • ISP Details • Location Details • Client Software • Client GUI • ISP Selection • Map Point • User Preferences • Modified driver to query BIE Collaborating with MSN • Paul Roy from MSN-IA, Tarek Najam from MSN AdCenter are already interested • Demos schedules in Redmond in mid August
Sending AdsApproaches 3 approaches, each with its own pros and cons • SSID field of beacons carry Ad Message • SSID field identifies the network such as MSFTWLAN • BSSID in beacons carry Ads • BSSID are 6 byte unique identifiers of an AP and can be set to any value • InfoElement blob (BIE) in beacon packets carries Ad messages • 802.11 allows to add vendor specific information • Metrics used to compare: • Ease of deployment, Spam, Bandwidth for ads
Approach 1Use SSID field • SSID is network name with 32 byte limit • Mechanism: • Break ad message into chunks < 32bytes each • Successive beacons carry next chunk of ad message • Client software assembles the ad message Beacon 1: Starbucks: Coffee of the da Beacon 2: y is Mocha Java
Approach 1Use SSID field • Pros • User level client software is enough • Works with non-Windows Clients • Cons • Low Bandwidth • Spam
Approach 2Use BSSID field • Encode ad in BSSID • Only 6 bytes per beacon packet • All ads have same SSID, say “AdCenter” • Client assembles ad message from multiple beacons • Pros • User level client software • Works with non-Windows clients • Prevent Spam • Cons • Lowest Bandwidth
Approach 3Add InfoElement Blob • Modify AP driver to add 256 byte ad message • Send larger ad messages in multiple blobs/beacons • Client driver modified to pass IE blob to user level • Driver changes not required for Vista Native WiFi cards • Pros • Higher ad bandwidth • Prevent Spam • Cons • Kernel modifications at clients • Limited support for non-Windows clients
Sending Long Ad Messages • Fragment the Message and send in successive beacon • Each message is of the form: • <UniqueID> • This identifies the specific advertisement • <SeqNo> • Fragment number • <More Flag> • Are there more fragments left to come • <Text> • Text of this fragment • User-level software on client reassembles all fragments, and presents the advertisement to user
Preventing Spam • All ads use the same SSID • E.g. “AdCenter” • This is the only extra network seen by users who do not run special client software • Ad text is sent as beacon option • Decoded and displayed by MSN-specific client software • User creates a profile on their device to filter ad messages • I do not want to see ads for shoes, but want to see ads for electronics
Revenue Model 1APs at Stores • Banner put up by a business in its own space • MSN sells special APs and associated software to business • Owners broadcast appropriate Ads • APs can provide Wi-Fi Access • MSN can manage them this Wi-Fi Access Revenue Opportunities • Sale of Hardware • Sale of the Associated Software • Periodic Subscription to keep the cryptographic keys updates • Managing the AP to provide free/paid Wi-Fi Access
Revenue Model 2APs in Public Places • Billboards placed in prominent public spaces (malls or train stations or buses) • MSN either rents are owns these “billboards” • Merchants bid to have their ads delivered via these APs • Controlled by MSN Servers • Can also support free or paid WiFi Access Revenue Opportunities • MSN charge for messages sent (depending on length, frequency etc) • Provide Wi-Fi Access and charge
Revenue Model 2APs in Public Places + AdCenter AP on Commuter Bus Ad Shown Every … $$$ decides Ad Frequency
Revenue Model 3APs at home • Banners placed on side of a residential building on a busy street • Form partnership with a broadband provider (Comcast) • Give away Free APs to Customers • Customers allow MSN to remotely program these APs to send Ads Revenue • Nearby merchants bid to have their Ads Fee Structure depends on length, frequency etc
FeaturesDistributing Coupons Starbucks: Get 10% off a Hot Chocolate Present coupon Discounted Coffee Step 1: Coupon Distribution Step 2: Coupon Validation User does not have to connect to the Internet!