Documente Academic
Documente Profesional
Documente Cultură
1
University of Engineering and Technology, Taxila, 2Comsats Institute of Information Technology, Wah
Cantt, 3University of Wah, Wah Cantt, Pakistan
38 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 14, No. 1, January 2016
1.1.1 Essential Characteristics: (CHAPPELL, October 2010) [11] Microsoft describes its
On-demand self-service purpose as, “Rather than providing software that Microsoft
Broad network access customers can install and run themselves on their own
Resource pooling computers, Windows Azure today is a service: Customers use
Rapid elasticity it to run applications and store data on Internet-accessible
Measured Service machines owned by Microsoft. Those applications might
1.1.2 Service models: provide services to businesses, to consumers, or both.”
NIST definition [6] of cloud computing also describers its “It allows applications based on Microsoft Technologies to be
three well accepted service models as these are shown in hosted and run from Microsoft Data Centers. Its Fabric
Figure 1. Controller automatically manages resources, balances loads,
Software as a Service (SaaS) replicates for resilience and manages the application lifecycle”
The best development environment with azure is the Visual
Platform as a Service (PaaS)
studio and Microsoft has developed additional software
Infrastructure as a Service (IaaS)
development kit & tools for the cloud applications. To some
level, Windows Azure supports popular standards, protocols
and languages including SOAP, REST, XML, Java, PHP and
Software Ruby, but best support is available for Microsoft technology
as a
such as Visual Basic, C#.Net and etc. After installing the
Service
Windows Azure SDK and Windows Azure Tools for
Microsoft Visual Studio, Cloud Services solution templates
Platform as a
Service will appear for cloud based projects, they are similar to
Microsoft Web Application Projects but specifically tailored
for Microsoft Azure. Microsoft also provides comprehensive
Infrastructure as a Service video and lab based tutorials for new Azure developers.
Windows Azure has five main parts Compute, Storage, the
Fabric Controller, the CDN, and Connect.
Figure 1: Cloud service models 1.2.1 Computer: Runs applications in the cloud. Those
1.1.3 Deployment Models: applications largely see a Windows Server environment,
Deployment models for clouds are shown in figure 2 and these although the Windows Azure programming model isn’t
are of following types. exactly the same as the on-premises Windows Server model.
Private cloud 1.2.2 Storage: Stores binary and structured data in the cloud.
Community cloud 1.2.3 Fabric Controller: Deploys, manages, and monitors
Public cloud applications. The fabric controller also handles updates to
Hybrid cloud system software throughout the platform.
1.2.4 Content Delivery Network (CDN): Speeds up global
access to binary data in Windows Azure storage by
maintaining cached copies of that data around the world.
1.2.5 Connect: Allows creating IP-level connections between
on-premises computers and Windows Azure applications.
According to Microsoft, SQL Azure is a highly available and
scalable cloud database service built on SQL Server
technologies. SQL provides all the normal SQL server features
over the cloud which includes, creates, accesses, and
manipulate tables, views, indexes, roles, stored procedures,
Figure 2: Type of Clouds [7] triggers, and functions, complex multi table join queries,
insert, update and delete, constraints, transactions, temporary
Although there are so many cloud service providers but tables, some built in stored procedures and system views and
Amazon, Microsoft and Google are few of the largest and etc. As it is available on Microsoft Azure PaaS, which means
bests. We choose Microsoft Windows Azure [4] as cloud installing managing and maintaining is not users’
platform. responsibility, Microsoft maintains it and runs it over its own
1.2 Microsoft Windows Azure data centers. It terms programmability support ADO.net,
Microsoft Azure is Microsoft’s Platform as a service. (Azure) ODBC and PHP.
[5] According to Microsoft, Windows Azure provides Following features ensure Microsoft’s datacenter
developers with on-demand compute, storage, networking and infrastructures’ security, continuity, and privacy
content delivery capabilities to host, scale and manages Web Controlled privileges to Microsoft Operations
applications on the Internet through Microsoft data centres. personnel
Windows Azure serves as the development, service hosting Microsoft security response Centre
and service management environment for the Windows Azure Network Administration
platform. Windows Azure is now commercially available in Physical Security
40 countries.
39 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 14, No. 1, January 2016
40 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 14, No. 1, January 2016
attributes with SQL Geometry data type into Well Known LINQ query into SQL Query and send it to SQL Azure sever
Text Format. After that, these views are imported in Entity [18] via ADO.Net Entity Framework Model.
Framework Model of Web Project. Here WCF-RIA Domain
services defined in Web Project allow Silverlight application
running on the client to access entities of Entity Framework Silverlight Project
Model.
Another very important issue is displaying the WKT geometry Silverlight Bing Map Control
over Silverlight Bing Map control. There is no way of directly Regions Layer
converting a WKT geometry representation into Bing Map Accident Locations Layer
geometry. To overcome this problem, a Function is created
which takes a WKT representation of Polygon and returns a
Bing map polygon, another function takes WKT WKT to Bing Object Parser
representation of point/Location and returns a Bing Map Regions Data(Bing Map Polygons)
Location object. After that these, object are added in relevant Accident Data(Bing Map Locations)
layers and displayed on the Bing map control.
3.1 System Operation
Figure 3 depicts the work process of the system. It is clear
from the Figure that Database resides on a SQL Azure server WCF RIA Domain Services
in the cloud, System’s Web Application reside on a web server
in the cloud.
3.1.1 Client Web Project
Client is a computer with either MAC OSx or Windows XX
OS. Also it should have a browser with Microsoft Silverlight WCF RIA Services
Plugin Installed. Regions Data(WKT)
3.1.2 App Fabric
Accident Data(WKT)
App Fabric is cloud middleware platform for developing,
deploying and managing applications on windows azure
platform. It is responsible for creating and managing Web
Role instances, load balancing, secure connectivity to the web
server. Ado.Net Entity Framework Model
3.1.3 Web Role Regions Data(WKT)
Web Role represents a web server which hosts the web Accident Data(WKT)
application of the system. It has IIS and all necessary installed
APIs which are required by the hosting app.
3.1.4 Storage Account
Storage account is used to provide storage for the web role
Ado.Net
where the actual web applications are stored. In this project
only blob type storage is used as only binary data is used to
store application files. SQL Azure
Regions Data (Geometry)
3.1.5 WCF RIA Domain Services Accident Location Data(Geometry)
WCF RIA domain services provide data access to the
Silverlight client according to the application logic running on Figure 3: Spatial Data representation in the project
SQL Azure server executes this query and returns the results
the web server. In simple words, it allows the Silverlight app
to ADO.Net Entity Framework Model on the Web Server
on the client to interact with SQL azure database in a
which then passes the results to domain service. Now domain
controlled and secured way.
service passes the results to the client’s Silverlight plugin as I
It is clearly depicted in Figure 3 that the process begins with
Enumerable of the resultant Entity Framework Model Entity
client, when it sends an http request for the application web
Object, which Silverlight application used to manipulate
page to the Web server. The server responds and send asp web
resultant data.
page to the client which has a Silverlight object embedded in
3.2 Tools and techniques
it.
Following are the tools required to build the system
Now the client browser displays the page on the screen,
3.2.1 Visual Studio
whereas, Silverlight part of the page is executed by Silverlight Visual studio is used in Integrated Development Environment
plugin of the client browser. After that if the user does for building the system. One of the main reasons for using
something in the Silverlight app which requires something to Visual studio 2010 [16] is its superior integration with
do with the database, the Silverlight plugin sends a LINQ Windows Azure which speeds cloud service development as it
query to the web server via a specific domain service. Now on incorporates deployment and management tasks within the
the web server’s WCF RIA [17] Domain service translates this developer environment. It also provides state of the art
41 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 14, No. 1, January 2016
Client
App
Fabric
Browser 1-Http Request Storage
Web Role/ Services
Web Server (Blob,
Queue &
Silverlight Tables)
Plugin
Silverlight
2-Http Response
Web
(Web App Page) Application
4-SQL Query
3-Linq Query
SQL Azure
With Spatial
WCF RIA Database
Domain
Services 5-SQL Query
6-Linq Query Result Result
(IEnumerable of EMF Entity Object) (Spatial data in
WKT)
3.2.2 Silverlight 4 SDK to data for queries, changes and custom operations. It also
Microsoft Silverlight 4 Software Development Kit is used provides end-to-end support for common tasks such as data
which contains libraries and tools for developing Silverlight 4 validation, authentication and roles by integrating with
applications. This toolkit include following components Silverlight components on the client and ASP.NET on the
required to develop and run Silverlight applications mid-tier.
Silverlight 4 developer runtime 3.2.4 Bing Maps Silverlight Control SDK
Silverlight 4 SDK (software development kit) This software development kit (SDK) provides the binaries
Update for Visual Studio 2010 and Visual Web Developer and programming reference for the Bing Maps Silverlight
Express 2010 (KB982218) Control. This Control will be used to display base map for the
Silverlight 4 Tools for Visual Studio 2010 Silverlight application.
WCF RIA Services V1.0 for Silverlight 4 3.3 Description of accident management System
F# Runtime for Silverlight 4 3.3.1 Accidents in a Region
3.2.3 WCF RIA Services It is important to mention here that how the spatial data is used
Microsoft WCF RIA Services simplifies the traditional n-tier in the database in the table Region, Shape attribute contain
application pattern by bringing together the ASP.NET and regions as geometry polygon objects. In the Accident table,
Silverlight platforms. RIA Services provides a pattern to write Longitude and Latitude attributes of double type are used to
application logic that runs on the mid-tier and controls access contain the accident location coordinates.
42 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 14, No. 1, January 2016
The reason for keeping accident location in two double type downloaded from server and may be in Mega Bytes there is a
attributes instead of one geometry point is that we can’t import possibility that application will crash, given that the internet
geometry objects in Entity Framework Model and if we want speed on the client is slow or internet connection is fluctuating
to reverse-geocode the accident location to find out the between connected and disconnected state.
accident location name such as road name these two values are Test this scenario about 40000 dummy records are inserted in
required inside the Silverlight app and since we cannot import the database and searching is performed for very large date
geometry data type in Entity Framework Model. Therefore it range.
is more convenient to handle no geometry attributes inside the
database.
3.3.2 Search Accident Screen
Figure 5 shows the Search Accident Screen. This screen
allows the user to search the accidents and view them on the
map. All the controls on the screen are common controls. For
searching user there is no need to type anything, all the
controls on the search pane allow the user to select only the
valid options including dates and time.
Map control might appear as something new for some users
but it is very easy to use. To zoom in/out user uses slider on
the map. To move map user drag the map or use joy stick
control on top left corner of the map. And to change the map
view user clicks on any of the map view option buttons on top
of the map. Figure 6: Accident Statistics Screen
4.1 Stress evaluation
It was observed that when the number of resultant accident
records is too high for a region, such as 6000, then after
application crashed and showed the error request time out.
After some research it was realized that this was happening
because default keep alive time for a WCF RIA service
request is 1 minute and if a query response from SQL Server
takes more than a minute and WCF RIA service was showing
this error because it was assuming that the connection with
domain service on web server is broken.
This issue is resolved by increasing the client’s Domain
Context object keeps alive time. Client Domain Context object
consumes the WCF RIA Domain service provided by web
server.
After resolving the issue this stress test is performed again
with only the date range, it worked perfectly fine. But when
some search conditions were applied those require the SQL
Azure server to inner join multiple tables and filter through a
Figure 5: Search Accident Screen large table containing around 150000 records and the result
3.3.3 Accidents Statistics Screen was large enough then sometimes application worked and
This screen allows the user to view accidents statistics. It sometimes it crashed. But if we apply same search condition
might look alien to some users as it uses a new type of chart for a medium date range of between three and four years, then
called tree map which shows the percentage by the boxes. Size it always worked perfectly. For small date range its response
of the boxes is proportional to the percentage values. This was exceptional.
approach lists the values and allows the user to quickly make a After spending many days to identify the root of the problem I
comparison. For example, in figure 5-21 by just viewing the realized it has something to do with the SQL Azure Server. I
chart and without even reading much detail a user can tell age increased the number of web role instances from one to three,
group 31-40 was involved in most numbers of accidents as its I tried running the system from a client solely connected to the
box is largest. internet with 50Mbps broadband, same error keeps popping
up.
IV. PERFORMANCE AND EVALUATION The last thing I wanted to do is to scale up the hardware
running the SQL Azure Server to see if increasing processing
It’s one of the key tests as this application will be running in a power of the SQL Azure server may help. After doing some
very stressful environment having a substantially large research, I realized I can only scale up SQL Azure either by
database for the system also in some cases when user will be creating a portioned database on multiple servers or on a
searching for longer dates range the result may be comprised single server. I can only change the type of the database which
of thousands of records. Since those records will be scales up the database size and SQL Azure product between
43 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 14, No. 1, January 2016
web and business but the actual hardware running the database [4]. Azure, m. W. “Windows azure platform faqs”. City of
will remain the same. As spatial search is very processing london, greater london: microsoft windows azure. (april
intensive, I strongly believe this problem can be solved by 2011).
increasing the power of the machine running the SQL Azure,
[5]. B. Furht, A. Escalante. (2010). Handbook of Cloud
which unfortunately is not possible at the moment. But on the
Computing. New York: Springer, 2010.
other hand, there is no need of searching all the accidents
happened in last 20 years as the result would be a map region [6]. NIST. (2010). Cloud Architecture Reference Model.
full of thousands of accident locations pins. So logically, the New York, Springer: National Institute of Standards
application is still useful if we want to find the locations and and Technology, USA.
rectify traffic problems causing the accident in recent times up
to a few years but if we search the accidents for ten years this [7]. Yousif, Jabar H., and Dinesh Kumar Saini. "Cloud
Computing and Accident Handling Systems.",
will not make any sense on the map and hence serves no
International Journal of Computer Applications (0975 –
purpose. But technically, application should not crash in said
8887) Volume 63– No.19, February 2013
situation and it is a weak point.
This issue could be resolved if we move from PaaS to IaaS [8]. Ron Stence , “Hybrid vehicle control systems” Portable
and use most powerful servers to run SQL server and if Design, ISSN 1086-1300, Volume 12, Issue 5, p. 28-
necessary create a cluster for the SQL Azure to gain maximum 39. 05/2006,
performance but this will add up quite a lot of workload and
cost of maintaining the servers. Hence, there is a performance [9]. Aly, Ahmed Gamal, and Nevine Makram Labib,
trade-off for data and processing intensive application if we "Proposed Model of GIS-based Cloud Computing
move on from IaaS to PaaS. Architecture for Emergency System." International
Accident statistics page works perfectly fine for any data size. Journal Of Computer Science 1.4 (2013).
4.2 User Acceptance [10]. Chappel, D. (September 2010). GIS in the cloud (ESRI
The application is demonstrated to few non-computer expert Example). Aylesbury, United Kingdom: ESRI.
common people and the only objection was on the search
accident page. They think instead of a single time field there [11]. Chappell, d. (october 2010). Introducing windows
should be a range of time, as in most cases people don’t know azure. London: sponsored by microsoft corporation.
the exact time of accident and hence if we search on absolute [12]. Microsoft Silverlight 4 Tools for Visual Studio 2010.
time value we may end up with no result. http://www.microsoft.com/download/en/details.aspx?di
splaylang=en&id=18149.
V. CONCLUSION
[13]. Chen, Jim X. (Feb 2010). Geographic Information
Based on of above evaluation & testing I could say that the
Systems. Virginia, United States: IEEE Explore.
system meets all of its objectives and it can serve the aim of
helping quickly to find dangerous roads accidents and [14]. ESRI. (April 2011). MapIt. Aylesbury, United
implement accident prevention measures. It also helps to Kingdom: ESRI.
identify which age groups cause most of the accidents so the [15]. Francesco Maria Aymerich, Gianni Fenu, Simone
Law enforcement authorities take extra care when dealing Surcis. (October 2008). An Approach to a Cloud
with people of that age group. It also helps to identify what are Computing Network. Ostrava: IEEE.
the main causes of accidents, and decide which should be on
the highest priority in the road safety planning. [16]. “Visual Studio for Cloud Development”.
http://www.microsoft.com/visualstudio/engb/scenarios/
VI. REFERENCES cloud-development/overview. (2011).
[1]. Terence r. Smitha, sudhakar menonb, jeffrey l. Starb & [17]. Getting Started with WCF RIA Services.
john e. Estesb “Requirements and principles for the http://www.silverlight.net/learn/advanced-techniques/wcf-ria-
implementation and construction of large-scale services/get-started-with-wcf-ria-services.(2011)
geographic information systems”, International journal [18]. Jason Lee, Graeme Malcolm, and Alistair Matthews. (Sept
of geographical information systems, Volume 1, Issue 2009). Overview of Microsoft SQL Azure Database. London:
1, 1987 Microsoft.
[2]. Amazon. Amazon Elastic Compute Cloud (Amazon
EC2). Slough, Berkshire, United Kingdom: Amazon
(April 2011)
[3]. Qi Zhang, Lu Cheng, Raouf Boutaba. Cloud
computing: state-of-the-art and research challenges,
Journal of Internet Services and Applications , May
2010, Volume 1, Issue 1, pp 7-18
44 https://sites.google.com/site/ijcsis/
ISSN 1947-5500