High in the Cloud

Design Pattern One by One- List

Posted by: blukee on: June 29, 2010

“Each Pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over,without ever doing the same thing twice.”
- Christopher Alexander

A pattern has four essential elements:

  • The pattern name that we use to describe a design problem,
  • The problem that describes when to apply the pattern,
  • The solution that describes the elements that make up the design, and
  • The consequences that are the results and trade-offs of applying the pattern.

Design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context.

I’m going to learn the following pattern in this year.

From July 2010 to Dec 2010.

Interface Patterns:

  • Adapter
  • Facade
  • Composite
  • Bridge

Responsibility Patterns:

  • Singleton
  • Observer
  • Mediator
  • Proxy
  • Chain of Responsibility
  • Fly weight

Operation Patterns:

  • Template Method
  • State
  • Strategy
  • Command
  • Interpreter

Extension Patterns

  • Decorator
  • Iterator
  • Visitor

Here’s a template to describe a design pattern:

  • Pattern Name and Classification
  • Intent
  • Also Known As
  • Motivation(Problem, Context)
  • Applicability(Solution)
  • Structure(a detailed specification of structural aspects)
  • Participants, Collaborations(Dynamics)
  • Implementation
  • Example
  • Known Uses
  • Consequences
  • Known Uses

Reference Books:

“Design Pattern In Java” as a reference book.

Steven John Metsker (Author), William C. Wake (Author)

“C# 3.0 Design Pattern

Judith Bishop (Author)

REST paper notes

Posted by: blukee on: June 28, 2010

(Fielding and Taylor 2002)

Why am I reading this?

Get to know REST. Can it be applied to my dissertation as the architecture?

What are the authors trying to do in writing this? (Abstract, Introduction, Conclusion)

The authors focus on the rationale behind the modern Web’s architectural design and the software engineering principles upon which it is based.

.

What is the motivation for this work (both the development and the technical problem)?

“what was needed was a way for people to store and structure their own information, whether permanent or ephemeral in nature, such that it could be usable by themselves and others, and to be able to reference and structure the information stored by others so that it would not be necessary for everyone to keep and maintain local copies.”

The challenge was to build a system what would provide a universally consistent interface to this structured information, available on as many platforms as possible and incrementally deployable as new people and organizations joined the project.

What is the proposed solution (hypothesis, idea, design)?

REST focus upon the generic connector interface of resources and representations.

Representational State Transfer: it’s a coordinated set of architectural constraints that attempts to minimize latency and network communication while at the same time maximizing the independency and scalability of component implementations.

Web pages -> Virtual State machines

Selecting a link or submitting a form -> State Transition -> transfer a representation of that state to the user.

Requirement of Modern WWW: the challenge was to build a system that would provide universally consistent interface to this structured information, available on as many platforms as possible and incrementally deployable as new people and organization joined the project

History:

Client-Server: separating the UI concerns from the data storage concerns. Improve the portability of UI across multiple platforms and improve scalability by simplifying these components.

Client-Stateless-Server: Each request from client to server must contain all the information necessary to understand the request, and cannot take advantage of any stored context on the server. Session state is kept on the client. This induces the:

  • Visibility- monitoring system does not have to look beyond a single request data message to determine the full nature of the request.
  • Reliability- eases the task of recovering from partial failures.
  • Scalability- server doesn’t need manage resource used across requests.

Stateless constraint trade-off:

  • It may decrease network performance by increasing the repetitive data-per-interaction overhead sent in a series of request.
  • Placing the application state on the client-side reduces the server’s control over consistent application behavior.

Client-cache-stateless-server: enable cache of client or server to improve network efficiency.

REST emphasis on a uniform interface between components

  • Overall system architecture is simplified
  • Visibility of interactions is improved
  • Implementations are decoupled from the service they provided
  • Information is transformed in a standardized form.

REST interface is designed to be efficient for large grain hypermedia data transfer, optimizing for the common case of the web.

Layered system style: each component cannot see beyond immediate layer. Layers can be used to encapsulate legacy services and to protect new services from legacy clients, simplifying components by moving infrequently used functionalities to a shared intermediary. Intermediaries can also be used to improve system scalability by enabling load balancing of services across multiple networks and processors.

Disadvantage of layered systems: add overhead and latency to the processing of data, reducing user perceived performance.

Code-on-demand (COD) style is optional: client downloads and executes code (applets or scripts)

In order t obtain a uniform interface across multiple architectures. There are 4 constraints to behaviors of components:

  1. Identification of resource
  2. Manipulation of resource through representations
  3. Self-descriptive message
  4. Hypermedia as the engine of application state

Resource – Mr(t) is a function of time mapping to a set of entities/values.

Value- resource representations or resource identifiers. So the reference of resource refers to a concept/ semantics of a resource rather than some representations.

REST components perform actions on a resource by using a representation to capture or intended state of that resource and transferring that representation between components.

A representation consists of: data, metadata of data.

A response message may include both representation metadata and resource metadata.

Control data defines the purpose of a message. A give representation may indicate the following by control data.

  • The current state of the request resource.
  • The desired state for the requested resource
  • The value of some other resource. Such as a representation of the input data within a client’s query form.
  • A representation of some error condition for a response.

In parameters of a request:

-          Control data

-          Resource identifier

-          An optional representation

Out parameters of a response:

-          Control data

-          Optional resource metadata

-          Optional representation

Reference:

Fielding, R. and R. Taylor (2002). “Principled design of the modern Web architecture.” ACM Transactions on Internet Technology (TOIT) 2(2): 115-150.

Tags:

Ji Hyun, K., L. E. E. Won Il, et al. (2006). Services-oriented computing in a ubiquitous computing platform. Berlin, ALLEMAGNE, Springer. 4294: XIX-653 p.

Why am I reading this?

  • How does this service oriented platform works?
  • How does this differentiate from Transportation Cloud?

What are the authors trying to do in writing this? (Abstract, Introduction, Conclusion)

To present the TOPAZ — a services-oriented, business oriented ubiquitous computing platform called TOPAZ which resides between the end users and application providers. It is aiming to build a marketplace of telematics services, which provides an platform with a set of services. These services are subscription based, session enabled which provide asynchronous communication paradigms to application providers who use TOPAZ as the a platform  to provide accessibility to the lower infrastructure, as well as end user community who can subscribe application services provided by these application providers.

As a business oriented platform, it also provides services such as service metering, service monitoring, service diagnostics etc ( some services from another paper “The XVC Framework for In-Vehicle User Interfaces”).

What is the motivation for this work (both the development and the technical problem)?

Service-oriented computing offers means to better expose the value of such infrastructures. They want to build a marketplace in which applications providers are able to easily compete for the business of users and user communities.

What is the proposed solution (hypothesis, idea, design)?

The nature of the TOPAZ services, as enabling long-running sessions between applications and remote clients, presents peculiar challenges to the generic issues of service metering and resource management.

TOPAZ is a platform of core services for ubiquitous-computing applications and makes them available in a uniform way to all application providers, through public applications-programming interfaces.

TOPAZ provides a multi-layered session based communication model, which also are used to facilitate resource reclamation.

Why Application services?

  • TOPAZ services are in general concerned with facilitating and managing data flows between applications and clients or between peer clients.
  • Service for managing data flows (mainly asynchronous communications):
  • Telemetry Subscription: Service providers subscribe to individual vehicles.
  • Content Push: application provider push content to customers’ in vehicle displays.
  • Client-to-Client: application providers to connect groups of users directly, for message- or connection-oriented communications.
  • Spatiotemporal Event Detection: Sensing conditions in real-time and responds accordingly.  (daemon monitoring)
  • Event-Based Content Push: ECPS push a associated content to a user who cause the rule triggered.

Why session?

  • For programming logic and Resource Reclamation in the end of a session.

How reclamation?

  • Modular Resource Management: each application service manages its own set of resources. Each service is notified for reclamation when session ends.

How QoS works?

  • Client-session-oriented QoS: TOPAZ service allers specify certain qualities of the client session, on a per-session or finer, basis.

How to Meter the service?

  • Based on aggregated cost of providing flows:  Sum(f(service parameters, service statistics record, service output))
  • Each service has its own metering model, according to how flows in the service consume system resources.

What evaluation of the solution is presented? Did this evaluation convince you of the merit of the proposed solution?

What are the paper’s contribution (both the author’s opinion and your own)?

What are the future directions for this research (both the author’s opinion and your own)?

What questions do you have? What don’t you understand?

In conclusion what can I make of this? Am I negatively or positively minded? Do I agree/disagree? Does the text contribute to answering the review question?


Questions:

  1. Web services would enable us to clearly separate the execution environments of the TOPAZ Platform Operator and the application providers, and enable TPOs to provide their services to any application provider on the Internet.
  2. Web service based platforms need to concerns of service metering, quality of service guarantees, and resource management

X as a Service to the concept of Ubiquitous Computing

Posted by: blukee on: March 24, 2010

According to different levels of services in the Cloud, and inspired by the taxonomy of “Everything As A Service” (XaaS), Cloud services can be categories as Infrastructure As A Service (IaaS), Platform As A Service (PaaS), and Software As A Service (SaaS).

1)    Infrastructure as a Service provisions hardware and equipments which can be accessed through a standard API to deliver software application environment with a on-demand resource usage-based pricing model. Infrastructure, including computational power,  storage, network and sometimes legacy system can be required on-demand or scaled up and down as the need of applications , and be charged on usage. These features of IaaS are enabled by hardware virtualization, resource monitoring, and usage metering.

2)    Platform as a Service offers developer with a high-level integrated environment to build, test, and deploy custom applications. Services in PaaS can be categorized into Programming Environment and Execution Environments . An Execution Environment PaaS typically encompasses a Programming Environment. Most commercialized implementations of PaaS are design for hosting Web applications, such as Google’s App Engine, and Microsoft Azure. Developers of these PaaS accept some restrictions on the type of software, use hundreds of readily available tools and services, and build quickly scalable applications. To the concept of Ubiquitous Cloud, users can use data from remote sensors and control remote devices like a virtually local devices through a standard Web service interfaces or even deploy user’s application onto the PaaS.

3)    Software as a Service is a software-delivery mode . The software vendor delivers software as utility services and charges on a per-use basis. And users subscribe to such a service and execute it on-demand through some form of client-side architecture via the Internet or Intranet. One of the most famous SaaS stockholder is Slaesforce.com who delivery Customer Relationship management (CRM) Services.

SaaS enables effective and efficient delivery of software systems as services. SOA and Web services can transform existing software systems into Web services, which can be access by programs and integrated into other business process. Traditional service providers , such as Google, Amazon.com, and PayPal have been working delivering Web services, which enable software users can access their service without going through Web pages via standard Web service interfaces.

In ubiquitous computing domain, especially for global smart spaces, raw data, integrated data, control power of remote devices, and value-added services can all be delivered as services of various granularities. In iTransIT framework, highlighted software resources are information ranging from places of interest, to prevailing road and weather conditions, to expected journey times, to up-to-date public transport information, to enable privileged users to interact with the infrastructure. All this software can be transformed to Web services and delivered as SaaS.

Reference:

I. Foster, Y. Z., I. Raicu, and S. Lu Cloud Computing and Grid Computing 360-Degree Compared. IEEE Grid Computing Environments (GCE08)2008), pp. 1-10.

Lenk, A., Klems, M., Nimis, J., Tai, S. and Sandholm, T. What’s inside the Cloud? An architectural map of the Cloud landscape. Software Engineering Challenges of Cloud Computing, 2009. CLOUD ’09. ICSE Workshop on, 23 – 31.

Yun, C. H., Han, H., Jung, H. S., Yeom, H. Y. and Lee, Y. W. Intelligent Management of Remote Facilities through a Ubiquitous Cloud Middleware. In Proceedings of the Proceedings of the 2009 IEEE International Conference on Cloud Computing (2009). IEEE Computer Society, [insert City of Publication],[insert 2009 of Publication].

Laplante, P., Zhang, J. and Voas, J. What’s in a Name? Distinguishing between SaaS and SOA. IT Professional2008), 46-50.

Zhang, L., Zhang, J. and Cai, H. Services computing. Springer-Verlag New York Inc, 2007.

Meier, R. A Framework for Incremental Construction of Real Global Smart Space Applications. Elsevier Pervasive and Mobile Computing jounal, Vol 5, doi:10.1016/j.pmcj 2009).

Author: Ian Foster et al
Date:2009
Publication Details: IEEE Grid Computing Environments (GCE08)

Why am I reading this?
Get a more clear vision of Cloud Computing. And mapping issues of cloud computing in iTransIT System.

What are the authors trying to do in writing this? (Abstract, Introduction, Conclusion)
This paper strives to compare and contrast Cloud Computing with Grid Computing from various angles and give insights into the essential characteristics of both.

What is the proposed solution (hypothesis, idea, design)?
Cloud Computing is not a completely new concept; it has intricate connection to the relatively new but thirteen-year established Grid Computing paradigm, and other relevant technologies such as utility computing, cluster computing, and distributed systems in general.
The author gave a definition for Cloud Computing and compared Grids and Clouds Side-by-Side.

Definition of Cloud Computing: A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet.

Cloud Computing is a specialized distributed computing paradigm; it differs from traditional ones in:

1) Massively scalable.– how to achieve this ?
2) Can be encapsulated as an abstract entity that delivers different levels of services to customers outside the Cloud. — How to get different levels of services?
3) it is driven by economies of scale.
4) the services can be dynamically configued (via virtualization or other approaches) and delivered on demand.

Grid:

Focus: an infrastructure that delivers storage and compute resources.
Relationship: Overlaps with all these fields where it is generally considered of lesser scale than supercomputers and Clouds. (Supercomputer and Cluster Computing is more focused on traditional non-service applications.)

Aim: to enable resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations.

Goal: to enable federated resource sharing in dynamic, distributed environments.

The de facto standard implementation: The Globus Toolkit, is to build a uniform computing environment from diverse resources by defining standard network protocols and providing middleware to mediate access to a wide range of heterogeneous resources. Globus addresses various issues such as security, resource discovery, resource provisioning and management, job scheduling, monitoring, and data management.

Cloud:

Focus: economy based aiming to deliver more abstract resources and services.

Relationship: Web 2.0 covers almost the whole spectrum of service-oriented applications, where Cloud  Computing lies at the large-scale side.

Comparing Grids and Clouds Side-by-Side

Business Model:
Cloud: a customer will pay the provider on a consumption basis. e.g. Amazon EC2 and Data cloud S3.
Grid: (at least found in academia or government labs) is project-oriented in which the user or community repressed by the proposal have certain number of service units the can spend.

Architecture:
Grids focused on integrating existing resouces with their hardware, operating systems, local resouce management, and security infrastructre.

  • Fabric: compute, storage and network resources, code repository etc. are all resources of Grids.
  • Connectivity: core communicaton and authentication protocols.
  • Resource: defines protocols for the publication discovery, negotiation, monitoring, accounting and payment of sharing operations on individual resources.
  • Collective: captures interactions across collections of resources, directory services.
  • Applicatoin: whatever user applications built on top of the above protocols and APIs and operate in VO environments.

Cloud are developed to address Internet-scale computing problems. Cloud are usually referred to as a large pool of computing and /or storage resources, which can be accessed via standard protocols via an abstract interface.

Cloud can be build on topof any existing protocols- Web servcies(WSDL, SOAP), and some advanced Web 2.0 technologies- REST, RSS, AJAX, etc.

It is possible for Clouds to be implemented over existing Grid technologies leveraging more than a decade of community.

A mapping from Transportation Cloud to Cloud Architecture:
  • Fabric: raw hardware level resources, such as compute resource, storate resources, and network resources. 
    iTransIT: Legacy, sensor-enabled and embedded systems. (need more details about fabric layer.)
    Resource: sensor data? embedded control power? data/service/control from legacy systems?
  • Unified resource: resources that have been abstracted/encapsulated (usually by virtualization) so that they can be exposed to upper layer and end user as integrated resources (e.g., a virtual computer/cluster, a logical file system, a database system, etc.).
iTransIT: Data/role/context information of individual systems are model by spatial objects (virtualization?), systems are ported with spatial application programming interface.
What’s the role of iTransIT Management system in Cloud? this system is the canonical application of this domain and is expected to implement a major part of the spatial data model. It typically serves as a main repository for geo-coded data generated and used by connected legacy and iTransIT systemslod.
  • Platform layer adds on a collection of specialized tools, middleware and services on top of the unified resources to provide a development and/or deployment platform.
tools?(provision of computation resources for both users and iTransIT systems, authentication, security, pay-as-use, user management, monitoring, metering, billing, expection handling, etc.)
service? (context aware queries, data polling, context aware control, value added service)
iTransIT: iTransIT systems are kind of platform in transportation cloud. But there are more then one iTransIT systems. May be they maintain a subset of the overall capability of all iTransIT systems in a distributed way.
Clouds in general provide services at three different levels: IaaS, PaaS and SaaS:
IaaS provisions hardware, software, and equipments (mostly at the unified resource layer, but can also include part of the fabric layer), to deliver software application environments with a resource usage-based pricing model.
e.g. Amazon EC2 and S3 (Simple Storage CService)
PaaS offers a high-level integrated environment to build, test, and deploy custom applications. Generally, developers will need to accept some restrictions on the type of software they can write in exchange for build-in application scalability.
e.g. Google’s App Engine
SaaS delivers special-purpose software that is remotly accessible by consumers through the Internet with a usage-based pricing model.
e.g. Salesforce provides online Customer Relationship Management (CRM) Services.
e.g. Live Mesh from Microsoft
Resource Management (including compute model, data model, virtualization, monitoring, and provenance)
Compute Model: Most Grids use a batch-scheduled compute model manages the compute resources for a Grid site, and users submit batch jobs to request some resources for some time.
In Cloud Computing compute model, resources in the Cloud are shared by all users at the same time. This will allow latency sensitive applications to operate natively on Clouds, although ensuring level of QoS is being delivered to the end users will not be trivial.
Data Model: Data management(mapping, partitioniog, querying, movement, caching, replication, etc) will become more and more important for both Cloud Computing and Client Computing with the increase of data-intensive applications.
Data Grids[10] have been specifically designed to tackle data intensive applications in Grid environments, with the concept of virtual data[22] playing a crucial role.
Virtual Data captures the relationship between data, programs and computations and prescribes various abstractions that a data grid can provide: location transparency where data can be requested without regard to data location, a distributed metadata catalog is engaged to keep track of the locations of each piece of data (along with its replicas) across grid sites and privacy and access control are enforced; there is also representation transparency where data can be consumed and produced no matter what their actual physical formats and storage are, data are mapped into some abstract structural representation and manipulated in that way.
Data Locality: The main challenge for efficient scaling of applications is the location of the data relative to the available computational resources – moving the data repeatedly to distant CPUs is becoming the bottleneck. To achieve good scalability at Internet scales for Clouds and its applications, data must be distributed over many computers , and computations must be steered towards the best place to execute in order to minimize the communication costs.e.g. Google’s MapReduce[13] system runs on top of the Google File System. One approach is to improve schedulers to be data-aware, and to be able to leverage data locality information when scheduling computational tasks; this approach has shown to improve job turn-around time significantly[41] It is important to schedule computational tasks close to the data, and to understand the costs of moving the work as opposed to moving the data.
Virtualization:Clouds need to run multiple(or even up to thousands or millions of ) user applications on different level of accessability, and all the applications appear to the users as if they were running simultaneously and could use all the available resources in the Cloud. Virtualization provides the necessary abstraction such that the underlying fabric can be unified as a pool of resources and resource overlays (e.g. data storage services, Web hosting environments) can be built on top of them. Virtualization also enables each application to be encapsulated such that they can be configured, deployed, started, migrated, suspended, resumed, stopped, etc., and thus provides better security, manageability, and isolation.
Other reasons to adopt actualization:
1) Server and application consolidation, as multiple applications can be run on the same server, resources can be utilized more efficiently;
2) Configurability, as the resource requirements for various applications could differ significantly, in order to dynamically configure and bundle resources for various needs, virtualization is necessary as this is not achievable at the hardware level;
3) increased application availability, virtualization allows quick recovery from unplanned outages,as virtual environments can be backed up and migrated with no interruption in services;
4) improved responsiveness: resource provisioning, monitoring and maintenance can be automated, and common resources can be cashed and used.
Service Level Agreement(SLA) requiements: A virtualization infrastructure can be just though as a mapping from IT resources to business needs.
Monitoring:Grid resources are not highly abstracted and virtualized as in Clouds. In cloud, different levels of services can be offered to an end user, the user/developer is only exposed to a predefined API, and the lower level resources are opaque to the user. Essentially monitoring in Clouds requires a fine balance of business application monitoring, enterprise server management, virtual machine monitoring, and hardware maintenance, and will be a significant challenge for Cloud Computing.
Provenance:it refers to the derivation history of a data product, including all the data sources, intermediate data products, and the procedures that were applied to produce the data product. It is vital in understanding, discovering, validating, and sharing a certain data product as well as the applications and programs used to derive it. Provenance is still an unexplored area in Cloud environment.
Programming Model
Grids: Message Passing Interface(MPI) is the most commonly used programming model in parallel computing. e.g. MPICH-G2 in Globus Toolkit. It focuss on management issues relating to the large numbers of datasets and tasks rather than the optimization of interprocessor communication. e.g. WSRF for Globus, Hadoop- MapReduce.
Cloud: Mesh-up’s and scripting ( Java Script, PHP, Python etc) have been taking the place of workflow system in the Cloud world, since there is no easy way to integrate services and applications from various providers. Google App Engine uses a modified Python runtime and chooses Python scripting language for Web application development. Cloud(e.g. Amazon Web Services, Microsoft’s Azure Service Platform) have generally adopted Web Services APIs. (Good description in paper).
Author: Laplante, PA, Zhang, J, Voas, J

Year: 2008

Journal: IT Professional

Publisher:IEEE Computer Society

My Notes:

The SaaS delivery model essentially separates software ownership from the user- the owner is a vendor who hosts the software and lets the user execute it on-demand through some form of client-side architecture via the Internet or an intranet. This model delivers software as utility services and charges on a per-use basis, similar to charging of electricity.

e.g. Salesforce.com is an example of SaaS

In a SOA model, the constituent components of the software system are reusable services. Software applications are close to business objects.SOA is also a consistent framework for plugging in appropriate software statically and dynamically.

The two models complement each other: SaaS helps to offer components for SOA to use, and SOA helps to quickly realize SaaS. Web services technologies are best-known enabler both for SaaS and SOA. (Web services description WSDL, publication and discovery UDDI, transportation SOAP)

SOA and SaaS must consider platform-dependent designs. For SOA-based software construction, the developer must choose a platform to carry the web services technology. BEA AquaLogic, IBM WebSphere, or Microsoft .NET.

Functioning SOA-based systems require monitoring and management of all communication, coordination, and collaboration among service components.

A functioning SaaS requires management of the communication, coordination, and collaboration among its internal components.

By keeping SOA in mind while creating a SaaS, developers can intentionally produce multiple services at various complexity levels can become available and thus facilitate more SOA-based construction.





Neither SaaS nor SOA requires Web services technology, but it’s by far the best current option for supporting them.

[1] Laplante, P., Zhang, J. and Voas, J. What’s in a Name? Distinguishing between SaaS and SOA. IT Professional2008), 46-50.

Summary:

This article describes a standardised way to build context-aware global smart space applications using information that is distributed across independent (legacy, sensor-enabled, and embedded) systems by exploiting the overlapping spatial and temporal attributes of the information maintained by these systems. The framework supports a spatial programming model based on a topographical approach to modelling space that enables systems to independently define and use potentially overlapping spatial context in a consistent manner and in contrast to topological approaches, in which geographical relationships between objects are described explicitly. This approach is supported by an extensible data model that implicitly captures the relationships between information provided by separate underlying systems and facilitates the incremental construction of global smart spaces since the underlying systems to be incorporated are largely decoupled. The framework has been evaluated using a prototype that integrates legacy systems and context-aware services for multi-modal urban journey planning and for visualising traffic congestion.

Notes:

Global smart environments will be heterogeneous as they likely will comprise a multitude of sensors , networks, and ultimately systems.

Potential applications:from pervasive access to personal and professional information, to city-wide information system[2,3], to context-aware traveller assistance[4,5], to optimised urban traffic control[6].

Relative examples:

[2] K. Cheverst, N. Davies, K. Mitchell, A. Friday, and C. Efstratiou, “Experiences of Developing and Deploying a Context-aware Tourist Guide: The GUIDE Project,” in Proceedings of the Sixth Annual International Conference on Mobile Computing and Networking (MobiCom 2000). Boston, Massachusetts, USA: ACM Press, 2000, pp. 20-31.

[3] G. D. Abowd, C. G. Atkeson, J. Hong, S. Long, R. Kooper, and M. Pinkerton, “Cyberguide: A Mobile Context-Aware Tour Guide,” ACM Wireless Networks, vol. 3, pp. 421-433, 1997.

[4] T. Sivaharan, G. Blair, A. Friday, M. Wu, H. Duran-Limon, P. Okanda, and C.-F. Sørensen, “Cooperating Sentient Vehicles for Next Generation Automobiles,” presented at The First ACM International Workshop on Applications of Mobile Embedded Systems (WAMES’04), Boston, Massachusetts, USA, 2004.

[5] J. Kjeldskov, S. Howard, J. Murphy, J. Carroll, F. Vetere, and C. Graham, “Designing TramMateña Context-Aware Mobile System Supporting Use of Public Transportation,” in Proceedings of the 2003 Conference on Designing for User Experiences. San Francisco, California, USA: ACM Press, 2003, pp. 1-4.

[6] J. Dowling, R. Cunningham, A. Harrington, E. Curran, and V. Cahill, “Emergent Consensus in Decentralised Systems using Collaborative Reinforcement Learning,” in Post-Proceedings of SELF-STAR: International Workshop on Self-* Properties in Complex Information Systems, LNCS 3460: Springer-Verlag, 2005, pp. 63-80.

Vision: heterogeneous sensor-rich systems have already been deployed in towns and cities and along national road networks. Users in such a global smart space can access information ranging from places of interest, to prevailing road and weather conditions, to expected journey times, to up-to-date public transport information.

And this system can provide different levels of services: privileged users to change a traffic light.

Basis for the provision of context-aware services will be the integration of the individual systems associated with global smart spaces into comprehensive platforms.

iTransIT framework- a standardised way to build context-aware global smart space applications.

iTransIT frame work supports a spatial programming model based on a topographical location model.This spatial programming model provides access to distributed context information based on overlapping temporal and spatial aspects.

iTransIT proposes an extensible layered data model to facilitate data exchange between systems and services with diverse data sets, quallity of service requirements, and functional organizations.

Individual systems maintain one or more layers of the overall data model.This distribution of layers are distributed to a series of systems effectively. And this enables applications to access elements of a certain part of the model with a specific quality of service.

It supports gradual integration with minimal impact on other system. These layers might be integrated at a different time and the integration of one layer does not affect the data captured in the other layer.

The proposed framework has been realised in the form of a proof-of concept prototype of a global smart space. The prototype models and captures a variety of real transportation information derived from systems currently deployed in Dublin City and serves as a platform for pervasive services using this transportation information.

Project Proposal

Posted by: blukee on: March 16, 2010

Title:

The Transportation Cloud—investigating the application of transportation infrastructure to the concepts cloud computing.

Summary:

Cloud computing is an emerging computing area that addresses the provision of resources in the form of services in a dynamic and scalable fashion over the Internet. Users of the cloud are not required to have knowledge or control over the infrastructure or resources they use and act solely as service users according to a service level agreement. Cloud computing generally incorporates three distinct service models, including Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS). This project will investigate the application of transportation infrastructure to the concepts of cloud computing. An existing framework for integrating transportation information from independent systems will serve as a case study. This framework serves as a platform for developing large-scale services using the integrated information and an extension to this framework is to be developed to support Software as a Service (SaaS), Infrastructure as a Service (IaaS), and especially, Platform as a Service (PaaS).

Prior work:

This project is based on a framework has been built by Dr. Rene Meier and his fellows, which was constructed to support context-aware global smart space application using information that is distributed across independent systems. An instance of the framework is iTransIT which is motivated by the needs of Dublin City to enable information integration and sharing across independent Intelligent Transportation Systems (ITS) and to provide pervasive context-aware user services.  The transportation cloud will extend of iTransIT framework, which will enable the existing framework to enable sharing and integrating information in the manner of services of cloud computing.

Research Aims:

Research the emerging cloud computing technique, extend the cloud computing to the scope of context-aware the global smart space and investigate the application of transportation infrastructure to the concepts cloud computing.

Proposed methodlogy/implementation approach:

Firstly, carry out a comprehensive background reading about the state-of-art of cloud computing and service-oriented computing. Secondly, based on the previous work, investigate the feasibility and methodology of merging iTransIT framework to the concept of cloud computing. Thirdly, design the cloud computing framework and implement and test it on a prove-of-concept level. Lastly, examine and analysis the result of the test and summarize the achievement of the research.

Evaluation criteria:

This Transportation Cloud Framework should be proved valid theoretically. And a prove-of –concept application of this framework will be built and tested. Based on this application, features of cloud computing, QoS, and performance of the framework can be evaluated.

Workplan:

Project stage Completed work Date
Background knowledge preparing Get to know the iTransIT framework and get to know the cloud computing 10th Dec- 9th Apr
Submitting dissertation state of art and detailed hypothesis State of the art and hypothesis 9th Apr
Feasibility analysis Prove the transportation cloud can be implemented in theory. 8th May- 18th May
Investigate Investigate the method  to implement iTransIT to concept of cloud computing 19st May- 31th May
Design Design the transportation cloud 1st Jun- 20th Jun
Coding & Test Test the transportation cloud on a prove-of-concept level 21th Jun- 22nd Jul
Result analysis Analysis the result of  coding & testing 23rd Jul- 31st Jul
Thesis writing Analysis all the previous researches have been done. Collect and synthesize all the document and result from the research  and finish the dissertation 1st Aug- 25th Aug
Demonstration of results of dissertation project 31st Aug- 2nd Sep
Submission of dissertation 10th Sep
Follow

Get every new post delivered to your Inbox.