15
2010 Digital Signage content broadcasting through the cloud with Windows Azure Web Signage by Edisonweb srl Vittorio Polizzi – Mario Fontana

Digital Signage content broadcasting through the cloud with Windows Azure

Embed Size (px)

DESCRIPTION

The Web Signage platform consists of an integrated set of services, solutions and tools for the creation,management and delivery of multimedia content to remote audio/video devices and mobile appliances, forboth promotional and informational purposes. The platform is simple, complete, flexible and open todevelopment and integration within different environments and markets.

Citation preview

Page 1: Digital Signage content broadcasting through the cloud with Windows Azure

2010

Digital Signage content

broadcasting through the

cloud with Windows Azure Web Signage by Edisonweb srl

Vittorio Polizzi – Mario Fontana

Page 2: Digital Signage content broadcasting through the cloud with Windows Azure

Index The product ....................................................................................................................................................... 2

Roles and processes ...................................................................................................................................... 2

First considerations ....................................................................................................................................... 3

Single management console, simple, powerful, complete ........................................................................... 3

CAPEX limitation ........................................................................................................................................ 3

Simplified integration with third party systems ........................................................................................ 4

Basic architectural choices ................................................................................................................................ 5

Service achitecture ........................................................................................................................................ 5

Technologies employed ................................................................................................................................. 6

The player ...................................................................................................................................................... 7

Critical points and project choices ................................................................................................................ 8

The management console ................................................................................................................................. 8

The migration to Windows Azure .................................................................................................................. 9

Simplify interoperability: Open Communication Interface ......................................................................... 10

A real life deployement scenario ..................................................................................................................... 12

Investment and operating costs ...................................................................................................................... 13

Conclusions ...................................................................................................................................................... 14

Page 3: Digital Signage content broadcasting through the cloud with Windows Azure

The product The Web Signage platform consists of an integrated set of services, solutions and tools for the creation,

management and delivery of multimedia content to remote audio/video devices and mobile appliances, for

both promotional and informational purposes. The platform is simple, complete, flexible and open to

development and integration within different environments and markets.

The main components of the platform are the following:

Web Signage Server, a 100% web-based software provided as a Service (SaaS) for an easy and effective

production of multimedia content, schedule planning, content delivery to remote displays and devices,

monitoring and statistical analysis.

Web Signage Player, a software that runs on any computer connected to a display, enabling the execution

of scheduled playlists and delivery of targeted and synchronized contents to mobile devices (cell phones,

PDA, etc.) via Bluetooth.

Web Signage Communication Service, open interfaces available through a set of WS-* standard conform

services, that enable the creation of new business solutions and the integration with third party systems for

the optimal management of advertising campaigns.

Roles and processes

Digital signage displayBluetooth devices

Co

nfi

gura

tio

n, c

on

ten

tsan

d s

ched

ule

s

Op

erat

ing

con

dit

ion

sP

roo

f o

f p

lay

Network management

Mo

nit

ori

ng

and

co

nfi

gura

tio

n

Content creators

Co

nte

nt

man

agem

ent

Campaignmanagement

Pla

nn

ing

of

sch

edu

les

and

ad

vert

isin

g ca

mp

aign

s

Third party applications

Pla

nn

ing

of

ad c

amp

aign

san

d r

aw d

ata

extr

acti

on

Imag

es a

nd

tex

ts

Imag

es, a

nim

atio

ns,

text

s an

d v

ideo

s

On-line data and contents

The operators access to the platform with a self-modelling web interfaces based on the operative role, can

supervise the network, create and import content (even by integrating information from the web and

online systems) and plan advertising campaigns.

For every client where Web Signage Player is executed, playlists are generated by all the programmes and

campaigns. The player, after synchronizing the content cache, delivers the content to the connected

displays and, if needed, also ad hoc messages to Bluetooth devices close to the display. At regular intervals,

Page 4: Digital Signage content broadcasting through the cloud with Windows Azure

the player contacts the management platform reporting the operating conditions (temperature, CPU load,

memory usage, bandwidth usage) and the list of the executed content (proof of play).

These information are utilized by the network supervisor to assess any issues, initiate preventive

maintenance and document everything for the advertisers.

Finally, thanks to the utilization of standard interfaces, third party systems can access to the system and

manage content and advertising campaigns automatically. The same interfaces can be used to extract data

and complete reports for external business intelligence systems.

First considerations Realizing a successful product means satisfying the needs of the target market.

Web Signage was conceived after a careful analysis of

the specific needs of the digital signage environment and proximity marketing

unsatisfied requests and needs

the formulation of new and most effective ways to satisfy the known needs

Single management console, simple, powerful, complete Among the potential users of Web Signage there are several professionals with very different skills:

the creative designer, responsible for the planning of communication campaigns

the editor, responsible for content editing and production

the scheduler, responsible for content planning and composition

the publisher, who approves the schedules and initializes the content broadcasting

The figures involved make up the chain of content production:

The products available on the market have the following limitations:

• require competencies that exceed the skill set of an average user (scripting languages)

• functionality splitting across multiple software and lack of an unified approach to communication

• limited functionalities

Web Signage, as a tool for daily work, allows all the actors of the production chain to be immediately

productive without requiring the knowledge of techniques other than those already owned by a typical

operator. The web-based user interface has been designed to be simple and intuitive, and to provide a

desktop-like user experience.

CAPEX limitation

In the digital signage area, a large part of the expenses is represented by the purchase of management

servers, displays, PCs for content visualisation (players). The capital expenditure to deploy a new network

can be optimized by some evaluations:

by using a software able to run on less powerful, therefore less expensive machines.

Create Produce Manage Broadcast Display

Page 5: Digital Signage content broadcasting through the cloud with Windows Azure

managing the network with a service provided by a reliable vendor, eliminating the need of an own

infrastructure.

For those reasons, a particular care has been put in the resource usage optimisation of the Web Signage

Player, that can run effortlessly even on PCs with Atom CPU.

Furthermore, the choice to deliver the solution as a service has enabled Web Signage to take advantage of

the technologies provided by Windows Azure. In this way, besides the hardware cost reduction, it’s

possible to benefit from the usage of a reliable, performing and elastic delivery platform.

Simplified integration with third party systems

The activities connected to the commercial communication and proximity marketing are connected with a

wealth of processes that include planning, management and final report of an advertising campaign. For

example, the sales analysis have an influence on the definition of the advertising planning and the free

advertising slots that can be sold through an e-commerce portal.

To simplify the integration with third party systems, render communication and commercialisation

processes more direct and natural, it has been necessary to create a set of communication interfaces

conform to the most adopted standards. The answer to this need is Web Signage Open Communication

Interface (OCI)

Simple and effective management of multiple and transnational networks from a single

dashboard

For a company that operates in the digital signage market, it is quite common to have a network extended

over several regions or countries. The territorial diversity implies a differentiated content management, an

adequate and homogeneous performance level, even in the case of trans-national networks.

The hierarchic player management, grouped per location, group, service and area, allows to manage

visibility, user and content distribution criteria in a natural and intuitive way. With the usage of Windows

Azure Content Delivery Network, it is possible to distribute content in an efficient way, regardless from the

country where the players are installed.

Page 6: Digital Signage content broadcasting through the cloud with Windows Azure

Basic architectural choices

Service achitecture

Data store(SQL Azure Database)

Content storeWindows Azure Storage Service Windows Azure Compute Service Roles

Open Communication InterfacePlayer Communication Interface

Auth Service

Content DeliveryNetwork

Content synchronization(Windows BITS Service)

Configuration and reporting

Watchdog

Content playback and layout management

External devices management

Third party applications and solutions(E-commerce,self care, ERP)

WCF

SOAP XML

Web based user interface

The Web Signage solution consists of two main components: Web Signage Server Platform and Web

Signage Player.

Web Signage Server Platform is a web application that provides the tools to control the display network,

create content and manage its distribution. The decision to provide a web-based environment, avoiding the

installation of a client software, makes each upgrade easier and immediate, providing customers with the

freedom to manage the network and the content from any computer. In order to achieve maximum

usability and ensure a desktop-like user experience, the ASP.NET AJAX Extensions 3.5 of .NET Framework

3.5 have been used extensively.

The role-based user access control is achieved by using Web Automation, an application framework

developed by Edisonweb and applied to all projects that use .NET technology. This framework, originally

developed with .NET Framework version 1.1 and evolved over time, represents the foundation of all

Edisonweb services and allows customizing and merging multiple solutions into a single user environment.

Page 7: Digital Signage content broadcasting through the cloud with Windows Azure

The authentication

architecture is similar to the

one proposed by Windows

Communication Foundation

Authentication Service, not

yet available when Web

Automation was developed.

To access to the applications

(under which we understand

the functionalities within the

operating environment), it is

necessary to enter the user’s

credentials in the

authentication service (Auth

Service), that validates them and returns an encrypted ticket. This delivers the key to access to the service.

In order to have an adequate security level, the ticket has a limited time validity and the interface requires

a reentry of the data during the usage. The user’s credentials are tied to one or more operating roles and a

hierarchic group (the service belongs to an area). The hierarchy allows to create a user domain with

permissions and sharing capabilities on single objects. In this way, a user creates an object (e.g. a clip), can

share it with other users by specifying the level of allowed action or giving ownership over it, enabling the

creation of workflows and the automation of organizational processes.

The Web Application is executed utilizing Web Roles on Windows Azure, that integrate the business logic

and the services (Player Communication Interface and Open Communication Interface). The Player

Communication Interface is the interface, created through the web services SOAP XML, that allows the

management and the configuration of the players and the synchronisation of the playlist. The Open

Communication Interface, realized through the WCF services, is a public interface that enables third party

applications to exchange data with the Web Signage platform, create content and operate on advertising

campaigns and playlists

Multimedia content, either uploaded or created with a guided procedure, is stored by the Windows Azure

storage service. Based on the information received through the Player Communication Interface, the

players synchronise the local playlist and then the local cache, by downloading the new content from the

storage service. This can be done directly or, in case of trans-national networks, through the content

delivery nodes.

The content’s metadata, the user’s credentials and the configurations are stored by utilizing a unique SQL

Azure database for each client. The Web Signage platform is, for commercial and security reasons, single

tenant. Every client has its own application instance and an isolated data and content repository.

Technologies employed For the realisation of the Web Signage platform, following technologies by Microsoft have been employed:

Open Communication Interface of Web Signage, that enables the integration with third party

systems, has been developed by utilizing Windows Communication Foundation (WCF) from the

.NET Framework 3.5 SP1

Operator

Application

XML

Data

Encrypted ticket

User account

or smart card

Data set

Ticket and

application parameters

Authentication

service

Page 8: Digital Signage content broadcasting through the cloud with Windows Azure

the application is delivered by utilizing computing and storage services of Windows Azure; the data

and the configurations are stored on SQL Azure. This has allowed a higher competitivity, cost

efficiency, and thanks to the functionalities of the Content Delivery Network, has simplified the

expansion on international markets.

the management environment is web-based and, to guarantee a high level of usability and a

desktop-like experience, the extensions ASP.NET AJAX 3.5 from .NET 3.5 Framework have been

widely utilized

the view of the geographic position of the players, the location description, the research and

reverse geocode functions are delivered by Bing Maps

the content transfer on the players is done by utilizing the Background Intelligent Transfer Service

(BITS) 4.0 from Windows 7. The players is also compatible with the previous versions of BITS,

present on Windows XP and Vista

Web Signage Player has passed the Windows 7 Logo Program tests and utilizes the characteristics

of the Windows 7 32 and 64 bit operating systems at best.

The player

Content synchronization(Windows BITS Service)

Configuration and reporting

Watchdog

Content playback and layout management

External devices management

The main functionalities of the player are:

execute the campaign’s content and the program schedule (images, text, animation and video) in

an optimal way, by adapting the screen space if necessary and broadcast via Bluetooth eventual

content associated with this channel. The video content is visualized within a graphic layout that

allows to couple images, text and video delivered from online sources (RSS), internal CMS or

external one (XML)

provide the Flash content with an application support that allows to modify the execution

sequence, manage the layout objects visualisation, manage the storage of local information and

interact with the environment with serial interfaces, domotic devices (BUS EDS e OpenWebNet)

and with the Internet in general. This is finalized to the creation of interactive applications, from

simple to very sophisticate.

Page 9: Digital Signage content broadcasting through the cloud with Windows Azure

report the proof of play and the operative conditions of the platform

synchronize the content cache, downloading new content in a reliable way, utilizing few resources.

Critical points and project choices During the development of the player, some aspects have been regarded particularly:

service continuity

reliable content cache synchronisation

low resource usage

To guarantee the maximum service continuity, a watchdog that checks the player’s performance has been

implemented. The watchdog, simple and reliable, checks the heartbeat of the player’s process and in case

of issues, starts some operations to restore the optimal working status. In exceptional cases the machine

can be rebooted by the watchdog.

To guarantee the player’s functionality even in case of missing connectivity, a local content cache is

managed. This is kept synchronized with the downloaded playlist through the Player Communication

Interface.

The content can also be downloaded by the player from the CDN, based on the player’s configuration.

To execute the download in an absolute reliable way and limit the resource usage during the

communication process, the service Background Intelligent Transfer System (BITS), available with the

supported OS (Windows XP, Vista and 7 both 32 and 64 bit) has been implemented. BITS transfers the data

in background without interfering with other processes that are accessing to the net. In this way it is

possible to execute at the same time both download and streaming. Furthermore BITS can manage

eventual connectivity issues, by resuming partial downloads. The implementation of BITS, along with a

strongly optimized and multithreading visualisation code, has allowed to reduce the system requirements

to the minimum, allowing to reduce the investment on the player’s hardware.

The management console

Data store(SQL Azure Database)

Content storeWindows Azure Storage Service Windows Azure Compute Service Roles

Open Communication InterfacePlayer Communication Interface

Auth Service

Content DeliveryNetwork

Web based user interface

The management dashboard is accessible through the most common browsers that after the initial

authentication, allows the management of the players’ configuration and their operating status, as well as

the production and the content’s scheduling

To guarantee the best user experience the extensions ASP.NET AJAX 3.5 have been widely utilized.

Page 10: Digital Signage content broadcasting through the cloud with Windows Azure

User databaseUser database

Storage serviceStorage service

Web Role

Presentation(Web forms)

Business logic

Player Communication

Interface

Open Communication

Interface

Web Role

Presentation(Web forms)

Business logic

Player Communication

Interface

Open Communication

Interface

Web Role

Presentation(Web forms)

Business logic

Player Communication

Interface

Open Communication

Interface

To guarantee maximum reliability, every application instance presents itself with a least a pair of Web Roles

that have a structure composed of three logical and separated layers: presentation, service (based on the

SOAP XML interface for the communication with the player and WCF services of the Open Communication

Interfaces) and business logic.

The presentation and service layer rely on the business logic to fulfil their functions. The business logic

implements all the processes in an isolated way and utilizes a single database on SQL Azure for the

metadata storage content, configuration and user’s credential. Multimedia content is stored within a series

of public containers (therefore accessible from the CDN) and from storage service.

The migration to Windows Azure Thanks to the participation of Edisonweb to the Microsoft Partner Network as a Gold Certified Partner with

ISV competence, it was possible to test and study Windows Azure much earlier than its official release.

Cloud computing brings significant advantages to the activity of an ISV, especially for those working in very

vertical market segments. Therefore the decision to migrate Web Signage to the cloud was taken, retaining

the integrity of the project and the compatibility with installation on premises.

Web Signage has been completely developed by utilizing the .NET Framework, consequently the choice to

use Windows Azure has been absolutely natural and has guaranteed the possibility to migrate smoothly

and fast. Furthermore Windows Azure allows the reduction of infrastructure costs and enhances the offer

for foreign markets, with great advantages in terms of competitivity.

To those advantages, a further marketing opportunity has been stressed out: Web Signage would have

been the first digital solution in the world to be erogated utilizing the Windows Azure services.

The first step in the migration process has been the evaluation of potential incompatibilities of the T-SQL

code in use in the data store with SQL Azure. The analysis brought to the conclusion that, besides some

code chunks where the construct SELECT INTO and the column names in the form of schema.table.column,

the entire code would have been perfectly compatible with Windows Azure. After a first code revision, it

has been possible to start a first mixed application session, with the application on premises and the data

store on the cloud.

Page 11: Digital Signage content broadcasting through the cloud with Windows Azure

Web Signage has been designed to be able to work in a web farm with a battery of front end server with

load balancing. The application is stateless, therefore the shift from a series of physical servers to multiple

Web Role would not have any critical impact.

remove some legacy code (DLL COM and interops)

rewrite some code chunks utilizing GDI+

implement some mechanism to utilize cloud storage

Web Signage is a project based on Web Automation, the role based framework developed by Edisonweb

for user account and auditing management able to enforce object manipulation and sharing policies.

Web Automation was developed with the .NET 1.1 Framework and at those times some unmanaged code

chunks have been utilizes (COM Interops). This code, maintained just to guarantee the backward

compatibility, requires the registration of COM libraries and therefore activities that require the

administrator profile on the server.

Therefore, instead of implementing some side-by-side activation mechanism of the library, considering that

the legacy code remains unused, it was preferred to remove the interop and substitute the components

that could be potentially utilized with managed code versions.

Code chucks that utilize the GDI+ image manipulation functions, when they are used on Windows Azure,

provoke the exception OutOfMemoryException. This issue has been noticed by many developers. Web

Signage handles multimedia file and to ensure maximum reliability, some specific functions have been

rewritten by using WPF code.

Web Signage distributes to the player multimedia content that are reproduced by the Web Signage Player.

In an on premises installation, the multimedia content is stored in a SAN connected to front end servers.

The migration to Windows Azure required the substitution of this shared storage with cloud storage.

All the file manipulation operations are done on every instance of the local storage, therefore it has been

necessary to implement some mechanism to guarantee the resilience of the service and the integrity of the

information, retaining at the same time the compatibility with the installation on premises. For this reason,

a class has been created to manage the operations on the content in a transparent way, regardless of the

installation typology.

Simplify interoperability: Open Communication Interface As indicated in the initial considerations, the activities related to the commercial communication and to

proximity marketing are tied to analysis processes and the commercialisation of advertising campaigns.

Therefore it is fundamental that a tool for communication management like Web Signage can be integrated

in processes where third party software is utilized. To simplify the integration, Open Communication

Interface (OCI) has been created: a set of WCF services that allows to manage content and manipulate the

broadcasting criteria on the net.

Page 12: Digital Signage content broadcasting through the cloud with Windows Azure

Access to the OCI functionality is managed through the Security service that authenticates the user and

sends back an access ticket. This qualifies the authenticated user and allows him to access to functionalities

and data coherently to his operational role. Even if the authentication criteria are similar to the one used in

the web interface, the Security service ticket has on purpose been kept non compatible with the

authentication service of the user interface.

The clip service allows the creation of content, starting from images, videos or Flash animations. The same

service allows the manipulation of existing clips. The content broadcasting can be planned utilizing the

Schedule service, that determinates a playlist associated to a player or a group of players, utilizing the

Location and Campaign services. The latter two enable the creation of an advertising campaign targeted on

a specific potential customer segment (based on statistic income distribution, gender and age) for a series

of locations.

Locations can be identified by the proximity to a pair of geographic coordinates or by a city, district or

country. The Data and Report services deliver the data on the proof of play or on the campaign and the

planning as raw data (XML), playlog conform to the POPAI standard and reports in PDF. Those can be used

by third party systems for further elaboration (e.g. for billing) and data mining.

Page 13: Digital Signage content broadcasting through the cloud with Windows Azure

A real life deployment scenario

An example of a deployment scenario that greatly benefits from Windows Azure is now under development

with a company headquartered in Italy and expanding in Latin America, with focus on Brazil.

Activity Rio de Janeiro branch Milano branch

Content production √

Content publishing √

Advertising acquisition √ √

Technical supervision √

Monitoring √ √

The branches of Milano and Rio de Janeiro have a commercial facility dedicated to the selling of advertising

spaces. The contracts subscribed in Brazil are visible to the headquarter in Milano that activates the

production process in Italy. The graphic designers and the copywriter access to the Web Signage

dashboard, create the content based on client’s request and publish it on the entire network or a portion of

it, as requested.

The supervision of the network is handled by the Italian branch, that is also in charge for the maintenance

of the players and the display installed in Italy. The Rio de Janeiro branch is responsible for the

maintenance of the players installed in Brazil and has access to the monitoring application for the

respective sub-network.

Content delivery Network

Branch office inRio de Janeiro

Headquarter inMilan

CDN NodeIn Sao Paulo

Services with affinity to North European datacenters

Players installed in Brazil

Players installed inItaly

In order to optimize the performance, it has been decided to utilize the Content Delivery Network to allow

a fast content propagation in Latin America. The administration dashboard will be connected directly to the

storage service in Europe. The operators in Brazil will have access only to the network monitoring

functionalities that have no impact on the performance.

The Milano branch, given the high performance delivered from the European datacenter, will operate

without utilizing the CDN. This could be activated anytime if needed.

Page 14: Digital Signage content broadcasting through the cloud with Windows Azure

Investment and operating costs The deployment of a digital signage solution on premises needs a dedicated infrastructure that implies an

upfront investment and recurring costs for its maintenance:

Investment

o hardware purchase

o initial expenditure related to the procurement phase (consulting, IT resources for validation

and integration)

o licences for operating systems

o licences for server software

Recurring costs

o electricity and cooling

o location or floor space

o IT operations

Furthermore the infrastructure has to be planned based on business’ growth trend in order to guarantee an

adequate performance for almost 3 years. This means that the infrastructure is already overdimensioned

(therefore more expensive) and will be fully exploited only at the end of its lifecycle.

Let’s make a comparison between a deployment that utilizes the package “Small” (CPU 1 core, 1.7 GB RAM,

250 GB local storage) and the database on SQL Azure with a hardware configuration on premises with

similar performance:

On premises On Windows Azure

Unit Quantity Unit cost € Total € Unit Quantity Unit cost € Total €

Server N° 4 3.600 14.400 N° 0 0 0

Networking N° 2 800 1.600 N° 0 0 0

Storage TB 1 2.500 2.500 TB 0 0 0

Human resources €/hour 80 20 1.600 €/hour 1 20 20

Total CAPEX 20.100 20

Windows Server1 Licences N° 4 128 513 N° 0 0 0

SQL Server Licences N° 2 2.604 5.208 N° 0 0 0

Datacenter Services2 €/year 1 40.000 40.000 €/year 0 0 0

Compute service €/month 0 0 0 €/month 24 62 1.488

Storage service €/month 0 0 0 €/month 1 12 12

SQL Azure €/month 0 0 0 €/month 7 12 84

Bandwith usage on Azure €/GB 0 0 0 €/GB 1024 0.15 154

Total OPEX 64.221 1.738

First year total 84.321 1.758

By comparing the costs, the savings that can be achieved using Windows Azure and SQL Azure are relevant.

To those savings, which are already significant, lots of advantages arise for the business like the flexibility of

a structure that can scale and match exactly the business needs by introducing the pay per use modality,

even for the hardware infrastructure.

1 Licenses for Windows Server 2008 Web Edition and SQL Server 2008 Standard Edition acquired through the Microsoft Services Provider License

Agreement (SPLA) therefore paid on monthly base.

2 Services included in the datacenter: floor space rental, electricity, bandwidth and system supervision (security management).

Page 15: Digital Signage content broadcasting through the cloud with Windows Azure

Conclusions The licencing model of Web Signage is based on a monthly fee per player and leaves the client free to

change the number of active licences from month to month. This licencing model is best supplied by a pay

per use infrastructure that can follow the growth and the seasonal fluctuations of the player’s number

connected to the platform. The possibility to deliver the service with a constant and optimal performance,

regardless on where the players are located geographically, has allowed to expand the offer to

international markets without incurring in typical logistical and organisational issues that are inevitable

with an installation on premises. Furthermore, the dematerialisation of the infrastructural component has

allowed to greatly reduce operating costs, benefitting competitivity and profitability.

Last but not least, we must consider the productivity boost deriving from focussing on software

development and its evolution, which is the core business of Edisonweb.