Cloud Computing for Targeted Advertising

Page 1

http://www.seipub.org/rae

Research and Applications in Economics Volume 2, 2014

Cloud Computing for Targeted Advertising Mimoza Durresi*1, Tamara Luarasi2, Arjan Durresi3 Department of IT, Mathematics and Statistics, European University of Tirana, Tirana, Albania

1,2

Department of Computer and Information Science, Indiana University Purdue University Indianapolis, Indianapolis, USA 3

mimoza.durresi@uet.edu.al; 2tamara.luarasi@uet.edu.al; 3durresi@cs.iupui.edu

1

Received 12th February 2014; Accepted 24th February 2014; Published 29th April 2014 Š 2014 Science and Engineering Publishing Company

Abstract Now, with the advent of Big Data and Cloud Computing advertisers, publishers and agencies can track the effects of advertising companies with unprecedented accuracy, directly linking sales to advertising. Targeted advertisement is an efficient way of matching clients' buying preferences with potential products from various vendors. We propose an application architecture that uses smartphones and cloud computing to distribute in real time advertisement information to clients by matching their location, preferences and price range with available products. Our test results of the proposed application show its applicability in targeted advertisement. Keywords Targeted Advertisement; Cloud Application; Mobile Android Applications

Introduction Traditional marketing is passive, that means people get the ad not while they are active, on the go, but at home while resting. Therefore, advertising used to be an exercise in mass marketing. Relying on frequency exposure, brands pushed their messages to concentrated audiences through a limited et of print and broadcast tools. Shopping is emotional, having the ad at the right time and the right place, having it rich with multimedia videos that come in your computer through the Cloud will be more beneficial. In this paper we build a new application for android users that get special ads through the cloud. It can be activated by voice by a busy travelling manager. When we talk about the traditional marketing we mean the usual flyers, e-mails or TV-ads. Busy people read or most of the time throw those way. As for e-mails they don't even open them when log in their accounts and find a dozens of e-mails that need an answer. What about the TV ads? It's known that shopping is

44

emotional with an exponential negative curve [Android], which means that if they watch the ads at night, by the next morning that emotion will be close to 0. By using Cloud computing you can send ads to customer's cell phones, at the right time and for the right customer. The ads can be loaded with multimedia effects as we know about the unlimited storage power as a great feature of cloud. Cloud Computing Cloud Computing is the new paradigm of computing empowered by Internet. This is a new application that is bringing thousands of new applications, giving us the possibility to go faster and with greater quality in everything. In other words Cloud Computing means the renting of infrastructure and software, as well as bandwidths, under defined service conditions [Durresi]. These components can be adjusted daily to the needs of the customer and offered with a great availability and security. The name "cloud computing" comes from the symbol used to represent a group of networked computers that are connected to the Internet. The network engineers often use this symbol (a puffy cloud shape) to draw diagrams of computer networks. This symbol condenses away the unnecessary details about what is in that cloud of linked computers. For instance, when you think about the Internet, the precise location of the computers it relies on usually doesn't matter to you. Since so many computers are involved, they are spread all over the world. Similarly, the precise configuration of these computers also doesn't matter in many cases. They might be powerful or weak, servers or desktops. But because they are so numerous, their aggregate power is immense. These ideas Internet scale and abstraction of unnecessary detail are at the core of cloud computing. You are probably


Research and Applications in Economics Volume 2, 2014

already using cloud-computing applications, such as Gmail. Other cloud-based applications include Facebook and Flickr [Miller]. Cloud and Targeted Advertizing Cloud Computing deals with the big data and this reshapes the marketing role [Android]. Marketing is being redefined in this era, creating many clouddelivered, self-service applications and services in one side and web-connected consumers on the other. As a result the effective marketing is both broader and more focused than it has been in the past. "Broader" here means that the channels are no longer limited to radio, TV, print and online publications but social networks as well. Data flowing in via Twitter and Facebook is an important source of market intelligence [Darrow, T Systems, Smith, Cloud Computin, Hunter, Beck, Buyya, Vision, Verizon, Armbrust]. Targeted advertising is a type of advertising whereby advertisements are placed so as to reach consumers based on various traits such as demographics, psychographics, behavioral variables (such as product purchase history), and firmographic variables or other second-order activities which serve as a proxy for these consumer traits [Discovery]. These are difficult times for advertisers. Gone are the days of three network television channels; dead or dying are many of the powerhouse magazines of yesteryear; television viewers with DVRs or Tivo can record programs and view them later (or just later on in the live broadcast), zooming right past advertisements. Advertisers, today more than ever, want to reach the most consumers for the fewest dollars, all the while reaching the "right" people. So, rather than running a commercial for a woman's shampoo during a show that might have lots of viewers, but of the wrong target demographic, companies can strategically pick the shows and networks whose ratings data tells them that a certain audience (women, for this example) is most likely to be watching. This strategy is known as targeted advertising -- it's an attempt to reach a specific demographic, be it people of a certain age, gender, social class, profession or ethnicity. And that's just one example. With today's technology, targeted advertising is becoming more pervasive. For example, Facebook can pull information from your profile and select the ads that appear on your screen. Similarly, your Internet search terms, in the moment and over time, may

http://www.seipub.org/rae

determine the next ad you see on a search results page or on a specific Web site in the search engine's ad network. The targeting is getting more accurate all the time. In 2009, Cablevision Systems rolled out a project to serve targeted ads to markets in New York and New Jersey. The technology was able to send television advertisements to certain households and not others based on statistical information about the residents. Income data, ethnicity and gender were some of the items used to do the targeting. The cable company used data provided by credit ratings agency Experian to match the data to various blocs of customers. For even simpler examples of targeted advertising that have nothing to do with computers or TVs, you could always go old school and check your mailbox. If you've not yet managed to rid your life of junk mail, chances are some of your mail was sent to you based on past buying habits, the demographics of your area, and so on. We target customers from their interest declared in their registered purchases. To create value for the targeted customers the following steps are needed: Segmentation Divide the total market into smaller segments, customers. Target Selection Aggregate consumers with similar needs or demand patterns that are: Homogeneous Demand-uniform, everyone demands the product for the same reason(s), usually rare. Clustered Demand-consumer demand classified in two or more identifiable clusters, that applies for most customers. Differentiation Differentiate the market offering to create superior customer value. Positioning Position the market offering in the minds of target customers. Most targeted new media advertising currently uses second-order proxies for targeting, such as tracking online or mobile web activities of consumers, associating historical webpage consumer demographics with new consumer web page access,

45


http://www.seipub.org/rae

using a search word as the basis for implied interest, or contextual advertising. Addressable advertising systems serve ads directly based on demographic, psychographic, or behavioral attributes associated with the consumer(s) exposed to the ad. These systems are always digital and must be addressable in that the end point which serves the ad (set-top box, website, or digital sign) must be capable of rendering an ad independently of any other end points based on consumer attributes specific to that end point at the time the ad is served. Addressable advertising systems therefore must use consumer traits associated with the end points as the basis for selecting and serving ads. Mobile Marketing Cloud Computing deals with the big data and this reshapes the marketing role[Android]. Mobile Marketing is the new marketing era emerged from the great use of smartphones worldwide. Customers are most of the time on the move. No consumers are on their phones all day long. That's why the new way of marketing is the mobile Marketing. Marketers, are supposed to "go where the consumers are and get there first". Nowadays the consumers are looking to their mobile device for shopping, searching, entertainment, socializing and brand interaction. Often, the challenge is resourcing to manage the program; however, from a testing perspective, now is the time to engage. Mobile is arguably the closest you can get to the consumer. There is no other device that is as personal (everybody has their own phone), as pervasive (is with you all of the time), and provides the opportunity for proximity. As marketers seek to understand - and leverage - a consumer's path to purchase, mobile devices have the potential to be a tremendous enabler. The power (in the future) to determine that a target consumer is driving in the proximity of your restaurant and then feed them an immediate message or coupon is unprecedented. As reported in [Voxox], Americans spent 2.7 hours per day socializing on their mobile phones - more than twice the time they spent eating. 75% of the globe now has a mobile phone offering access to developed markets as well as merging regions [Whitler]. Mobile will truly enable marketers to connect at the right time, in the right place, with the right individual. Finally, mobile to overtake fixed internet access by 2014 [Smartinsights]. Architecture In our scenario, different managers from different departments orders the activation of an ad to the group of customers interested in their departments 46

Research and Applications in Economics Volume 2, 2014

merchandises. The manager will broadcast the advertising to the user group of interest, and the users will receive this advertising as the result of a call. From the user perspective, they need an Android application to be able to listen this call that will trigger the display of an advertising information that comes from the database. The database will be a Cloud SQL. The cloud database provokes the integration of other cloud technologies. The Google Cloud Platform is proposed in this study, and for this reason all the other technologies are part of Google Cloud Framework. This work involves two aspects: the Google Console aspect and the programming aspect. From Google Console we create a project and define some settings for this project by a Wizard. Two components are defined for this project: a Google App Engine component[Cloud Intereactive], and a Google Cloud SQL component[Java]. The last one includes in his configuration the Google App Engine Component identification, Figure 1.

FIG. 1 COMPONENTS OF A GOOGLE WEB APPLICATION

On the other side, on the development environment, which is the Eclipse in our case, some other configurations are done to be connected with the Google project components and Google API. In Eclipse we have included first of all the Google plugins, which make possible the development of a Google web application which is part of Google App Engine. The servlet technology is used. A configuration is done to be connected with Google App Engine Component ID, using the property option of the Eclipse project. At the beginning we connect the web application with a local MySQL database, and for this we make a specific configuration of the project using the property option. Inside the application the connection with the local database is provided by:


Research and Applications in Economics Volume 2, 2014

http://www.seipub.org/rae

Class.forName("com.mysql.jdbc.Driver")url = "jdbc:mysql://127.0.0.1:3306/database_name?user=root"; The testing process includes the running of the application in Eclipse as a web application, and from the browser we use the address http://localhost:8888/googleproject, where googleproject is the name that identifies our servlet in the web.xml file in our project. When we have tested everything with a local database, we replace the connection with a local database with the connection with a Cloud MySQL database. Meanwhile, the Google Cloud SQL instance console gives us the possibility to create our conceited database, which was tested locally. Inside the code the connection will be as follows: Class.forName("com.mysql.jdbc.GoogleDriver"); url = "jdbc:google:mysql://project-ID: SQL-component-ID/database_name?user=root"; Where project-ID is the project identification on Google side, and SQL-component-ID is the identification of Cloud SQL component on Google site too. From this moment we are able to deploy our web application in Google and this means that we can use now our application from browser with a URL address that Google provides us in the moment of the Google App Engine component creation. All this process provides the web application which can be considered now as a Google service and make us able to use a Cloud database for which we are interested. There are different ways of using service. We can use it with a browser URL address as we mentioned above, or by a smart-phone. Therefore, part of the technical aspect of the study is the Android Application that we consider to be used by the users and by employees. Android Application Android is a Linux-based operating system for mobile devices such as smartphones and tablet computers. It is developed by the Open Handset Alliance, led by Google, and other companies [Armbrust]. The language used is Java. The interface of the Android application contains a button, microphone image and a text field to display the corresponding text. The Android application is able to convert the voice into a text too. The Figure 2 represents different communication scenarios between the users and cloud databases.

FIG. 2 ANDROID USERS CONNECTED THROUGH THE CLOUD

There are some key points that we have considered in our Android application. We worked in Eclipse for this application too. The Google authentication makes the application able to use the Google services. These key points are general for every Android application, that needs to use a Google service or a Google API. To provide the knowledge about our application to Google and to provide its authorization we need again to work on both sides: on Google Console and on programming side. On the Google Console we define a new project and some settings for this project, like OAuth 2.0 Client ID, the type of the application, and in our case we have the installation application type, we put the package name of our Eclipse project, and the fingerprint of our application to Google. We are not intended to give here details for the steps of this process. On the programming side we have use the class Activity and some interfaces like Connection Callbacks, On Connection Failed Listener, On ClickListener, On Access Revoked Listener and the class PlusClient to activate the implementations of the interface methods [Risk]. Having as objective the Android application used from the user side, we have used three classes. One is FirstActivity, the class that extends the Activity class, and its role is just to activate the application, the second class is an extension of the BroadcastReceiver class, which receives the phone call, and the third one is the class Incoming CallService as extension of Service class, where we can perform different tasks, according the phone state. For example the state Telephony Manager. CALL_STATE_RINGING will

47


http://www.seipub.org/rae

cause the activation of the web application (connection with the database) through the method on Start Command of the class Incoming Call Service. // FirstActivity class public class FirstActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

Research and Applications in Economics Volume 2, 2014

protected doInBackground(String... urls) { . . . .

String

return result; } @Override protected

void

onPostExecute(String

result) { txtIncomingnumber.setText(result); } }

} } // BroadcastUser class public class BroadcastUser extends BroadcastReceiver { public static String IncomingNumber; @Override public void onReceive(final Context context, Intent intent) { TelephonyManager teleMgr = (TelephonyManager)context.getSystemService(Context .TELEPHONY_SERVICE); PhoneStateListener psl = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { switch (state) { case TelephonyManager.CALL_STATE_RINGING: IncomingNumber = incomingNumber; Log.i("CallReceiverBroadcast", "Incoming call caught. "+ Caller's number is " + incomingNumber + "."); Intent i = new Intent(context, IncomingCallService.class); context.startService(i); case TelephonyManager.CALL_STATE_IDLE: . . . break; case TelephonyManager.CALL_STATE_OFFHOOK: . . . break; } } }; // IncomingCallService class public class IncomingCallService extends Service { . . . private static TextView txtIncomingnumber; . . . @Override public int onStartCommand(Intent intent, int flags, int startId) { super.onCreate(); // the screen preparation . . . txtIncomingnumber = (TextView)view.findViewById(R.id.txtIncomingnumber ); WebOperations task=new WebOperations (); task.execute(DatabaseURLAddress); return START_STICKY; } private class WebOperations extends AsyncTask<String, Void, String> { @Override

48

} FIG. 3 THE ANDROID APPLICATION CLASSES

Another key point of the Android application is the use of the AsyncTask class, which makes possible the activation of the Google web application, from the Android application. The figure 4 shows the communication Android and web application.

between

private class WebOperations extends AsyncTask<String, Void, String> { protected String doInBackground(String... urls){ String response = ""; for (String url : urls) { DefaultHttpClient client = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(url); try { HttpResponse execute = client.execute(httpGet); ObjectInputStream content= new ObjectInputStream(execute.getEntity(). getContent()); obj = (Model)content.readObject(); response=obj.getDescription().toString(); }catch (Exception e) { e.printStackTrace(); } } return response; } protected void onPostExecute(String result) { txtText.setText(result); FIG. 4 COMMUNICATION BETWEEN ANDROID AND WEB APPLICATION

To manage the manager phone call from the user side, we need some additional permissions, which are added on AndroidManifest.xml file, like in Figure 5. Beside the permissions, we have declared here the activity FirstActivity, the receiver BroadcastUser, and the service IncomingCallService. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk /res/android" package="com.example.broadcastphone"


Research and Applications in Economics Volume 2, 2014

android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <uses-permission android:name="android.permission.READ_PHONE_S TATE"/> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT _WINDOW" /> <uses-permission android:name="android.permission.VIBRATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".FirstActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHE R" /> </intent-filter> </activity> <receiver android:name=".BroadcastUser" > <intent-filter android:priority="99999"> <action android:name="android.intent.action.PHONE_STA TE"/> </intent-filter> </receiver> <service android:name=".IncomingCallService"> </service> </application> </manifest> FIG. 5 ANDROIDMANIFEST.XML FILE

The manager's phone call will trigger the event of searching the Ads Database for Health product, and one of the entries on the last one will be the current ad to be distributed from the health Product Department. It can be a text message, a multimedia ad sent in the right time to the interested customers. The results of many test that we have done regarding the time needed for the communication between the Android application and the web application, show us a time of the range 13 seconds, which is acceptable for the user.

http://www.seipub.org/rae

Conclusions We proposed and implemented an application architecture that uses Android smart phones and Cloud Computing to distribute in real time advertisement information to clients by matching their location, preferences and price range with available products. Our tests of the proposed application show its applicability in targeted advertisement. Our application can have great impact on targeted advertising. REFERENCES

Android Developer's Guide, http://developer.android.com/ about/index.html Armbrust, Michael et al. "Above the Clouds: A Berkeley View of Cloud Computing," Electrical Engineering and Computer Sciences, University of California at Berkeley, February 10, 2009, http://www.eecs.berkeley.edu/Pubs/ TechRpts/2009/EECS-2009-28.pdf Beck, Koa. "Radian6 Sees Cloud Computing As Future of Marketing,"

CRM

Magazine,

June

2011,

http://www.destinationcrm.com/Articles/ColumnsDepartments/Insight/Radian6-Sees-Cloud-ComputingAs-Future-of-Marketing-75295.aspx Buyya, Rajkumar and Yeo, Chee Shin and Venugopal, Srikumar. "Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities," http://arxiv.org/ftp/arxiv/papers/ 0808/0808.3558.pdf Cloud

Computin,

Advertisement

Journal,

http://www.advertisementjournal.com/2012/10/cloudcomputing/ Cloud Intereactive, http://www.cloud-interactive.com/webapp/ Darrow, Barb. "Marketing is dead, long live marketing," August 10, 2012, gigaom.com/2012/08/13/marketing-isdead-long-live-marketing/ Discovery,

What

is

Targeted

Advertising?

http://curiosity.discovery.com/question/targetedadvertising Durresi, Mimoza and Luarasi, Tamara and Baholli, Indrid. "Targeted Advertisements using Smartphones and Cloud Computing," 16th International Conference on NetworkBased Information Systems, NBiS 2013, , pp. 126-133, Seo-gu, Gwangju, CA, Korea (South), September 4-6, 2013.

49


http://www.seipub.org/rae

Research and Applications in Economics Volume 2, 2014

Hunter, Philip. "Cloud computing benefits for broadcast media industry," Engineering and Technology Magazine, May

22,

2012,

http://eandt.theiet.org/magazine/

2012/05/clouds-broadcast-benefits.cfm Java J2EE Tutorials, http://www.j2eebrain.com/java-J2eeadvantages-of-servlets.html Miller,

Michael.

"Cloud

Computing,

Web-Based

Applications that Change the Way You Work and Collaborate Online," 2008 Smartinsights,

Mobile

Market

Statistics

2013,

http://www.smartinsights.com/mobilemarketing/mobile-marketing-analytics/mobilemarketing-statistics/ Smith LLP, Reed and Rosenbaum, Joseph I. and Bruce, Keri S. "Cloud computing in advertising & marketing: looking for the silver lining, making rain, Association of Corporate

Counsel,"

June

20,

2011,

http://www.lexology.com/library/detail.aspx?g=3899e673 -3797-46ad-a876-d1deb466e718 Risk

Complete

Failure,

March

15,

2003,

http://www.riskcompletefailure.com/2013/03/commonproblems-with-google-sign-in-on.html T Systems, White Paper Cloud Computing. Alternative sourcing strategy for business ICT, http://www.tsystemsus.com/umn/uti/508260_1/blobBinary/White+Pap er+Cloud+Computing+%257B%257BPDF%252C+351+KB %257D%257D.pdf Google App Engine: Platform as a Service, Google Developer's

Guide,

https://developers.google.com/

appengine/?csw=1 Verizon, Cloud Computing, White paper, http://www.verizonenterprise.com/resources/whitepapers/it solutions/wp_cloud-computing_en_xg.pdf?__ct_return=1 Vision, Hype, and Reality for Delivering IT Services as Computing

Utilities,

http://arxiv.org/ftp/arxiv/papers/0808/0808.3558.pdf Voxox, Shocking: Americans Spend More Time Socializing via Mobile Than They Do Eating, http://blog.voxox.com/ shocking-americans-spend-more-time-socializing-viamobile-than-they-do-eating/4731 Whitler, Kimberly. "Why Should Marketers Care About Mobile

Marketing?,"

April

25,

2013,

http://www.forbes.com/sites/kimberlywhitler/2013/04/25/ why-should-marketers-care-about-mobile-marketing/

50

Mimoza Durresi received her BSEE, in Electronic-Telecommunications in 1989, and a Diploma of Superior Specialization in Telecommunications from La Sapienza University in Rome, Italy and Italian Telecommunications Institute in 1991. She received the MS in Electric Computer Engineering in 2002 from The Ohio State University and her Ph.D. from Fukuoka Institute of Technology, Japan in 2007. She is with European University of Tirana. Her research interest are in wireless networking, Big Data, inter vehicle communications and routing. Tamara Luarasi received her BS PhD. degree in Mathematics from University of Tirana, on 1976 and 1989 respectively. Shi is an Associate Professor in European University of Tirana, Department of Business Information Technology and Statistics since 2010. Previously she has been with Northeastern University 2002-2009, Benjamin Franklin Institute 2007-2009, and University of Tirana, School of Economics, Computer Science Department 1977-1984. Her research interests include : Algorithmic, Programming in C++, Java, Data Structure, Web applications programming, Application for Data Analysis etc. Arjan Durresi received his B.E., M.E. and Ph.D. in Electronics and Telecommunications, in 1986, 1991 and 1993, respectively; and a Diploma of Superior Specialization in Telecommunications from La Sapienza University in Rome, Italy and Italian Telecommunications Institute. He is currently a Professor in the Department of Computer and Information Science at Indiana University Purdue University at Indianapolis. Previously he has been with Louisiana State University and Ohio State University. His current research interests include network architectures, security, and trust management. Dr. Durresi has authored more than seventy journal papers, and more than one hundred forty conference papers. He is an area editor for the Ad Hoc Networks Journal, (Elsevier), Journal of Network and Computer Applications (Elsevier), Journal of Ubiquitous Computing and Intelligence -JUCI, (American Scientific Publishers ASP), and ICST Transactions on Networks and Communications. Dr. Durresi has delivered several keynote speeches at international conferences, including IEEE AINA 2007 and NBiS 2009; he is Yamacraw Distinguished Speaker (2003). He is a recipient of several paper awards in international conferences. Dr. Durresi has organized many international events, such as International Workshops on Heterogeneous Wireless Networks – HWISE, the International Workshop on Advances in Information Security – WAIS, International Workshop on Bio Computing and Intelligence, IEEE AINA 2009, NBiS 2009, 2010.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.