pervasive computing ---- enabling technologies€¦ · pervasive computing ---- enabling lecture #6...
TRANSCRIPT
1
Pervasive Computing Pervasive Computing ---- Enabling Enabling
Lecture #6
Pervasive Computing Pervasive Computing Enabling Enabling TechnologiesTechnologies
Dr. Kun YangU i it f E C l h t UK
1
University of Essex, Colchester, UK
Tuesday 24th March 2009
Agenda
Evolution of ComputingWeb Technologies (inc. Web 2.0 & Web 3.0)Distributed Object Technologies (inc. mobile agent technology)A i N k T h l
2
Active Network TechnologyQ&A
2
Evolution of Computing
Client/Server
Peer-to-Peer
Pervasive Computing
3
Individual Capability less capable
Client/Server(Web)
more capable
Client/Server (Web) Architecture
servers are usually powerful machines
Cluster of servers to increase capability, scalability, performance …
4
To increase server availability: proxy, CDN (Content Distribution Networks)
3
From Web to P2PWeb is useful for client-server applicationsClients advancing toward
Better connectivityBetter connectivityMore computational powerMore storage capacity
Clients want to share informationWeb solutions to increase capacity and availability cannot be applied here!
5
What is Peer-to-Peer Computing (P2P)
Napster introduced the P2P “buzz word”A type of network in which
h k i h
Pure P2P: peers act as clients and server
there is no central server, nor there is each workstation has equivalent capabilities and responsibilities. This differs from client/server architectures, in which some computers are dedicated to serving the others. clients in a P2P network can
f l h h
central router. Hybrid P2P:
Has a central server that keeps information on peers and responds to requests for that information. Peers are responsible for hosting the information as the central server doesn't store files for letting the
6
interact freely with other clients without the intervention of a server. Peer-to-peer networks are generally simpler, but usually perform poorly under heavy loads.
doesn t store files, for letting the central server know what files they want to share and for downloading its shareable resources to peers that request it. Route terminals are used addresses, which are referenced by a set of indices to obtain an absolute address.
4
From P2P to Pervasive Computing
Limitations of P2P researchBetter searching algorithmsCataloguing Mobility
Advance in handheld devicesDevices are becoming wireless, mobile and ubiquitousAbility to share information across devices is desirable
But P2P algorithms are too restrictive for small device environments …
7
Pervasive Computing
“The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.”until they are indistinguishable from it.
--- Mark Weiser, Scientific American, Vol. 265 N.9, pp. 66-75, 1991
Essence: to make computers effectively invisible to the userTechnical core: to create an environment that is saturated
8
with computing, storage and wireless communication capabilities.Pervasive service: has the ability to adapt itself to the change of environment and can be run anytime anywhere and on any device.
5
Computing
Input OutputProcessing General
Computing
Processing+
Communication
Processing+
Communication
Processing+
Communication
Networked Computing
sensors
9
Processing+
Communication Pervasive
Computing
sensors
User info
Location info
Net. context
Agenda
Evolution of ComputingWeb Technologies (inc. Web 2.0 & Web 3.0)Distributed Object Technologies (inc. mobile agent technology)A i N k T h l
10
Active Network TechnologyQ&A
6
Web
Request
Reply
The World Wide Web (WWW or Web) has become the most widely used client/server application
networkHTTP HTTPWeb Server
Web browser(client)
11
y / ppHypertext mark up language (HTML) pages on server are delivered to clients through the Hypertext Transfer Protocol (HTTP)
Discussion on HTML
HTML provides an application for displaying text and pictures as a Web page. However, HTML itself does not p p gprovide for:
complex multimedia contentprocessing of user informationinteractively generated web pagesuse of processing power in client or server for additional applications
h h d
12
Hence, other mechanisms required....
7
Extensions to web pages beyond HTML
Client side:client-side/browser scriptingembedded objects in HTML using a browser plug-in - e.g. Macromedia Flash.applets - allow use of client processing power
Server side:common gateway interface (CGI) scripting to run scripts on the server - widely used to process HTML form contentservlets - to run Java applications on a web server – more flexible and
13
powerful, widely used
Both sidescookies - to store “server information” on the client
This is computation-wise. But is this enough?
Discussion on HTML - againHTML has become a widely used document encoding format. However, it suffers from:
lack of extensibility - one cannot define one’s own tags.lack of structure - HTML is designed for display of information for Web presentation, it does not define the structure of the information.lack of description - HTML does not allow inclusion of meta-data to describe the data.no support for validation
HTML by its nature is static (it is a document representation language)
14
p g g )Hence, eXtensible Markup Language (XML) has been devised...
8
XML
XML overcomes the limitations of HTML. Extensibility - tags or attributes can be defined.Structure - the structure of the data can be defined.Structure the structure of the data can be defined.Description - meta-data is used to describe the data.Validation - use of meta-data to check XML document is valid.
XML is increasingly adopted as a common syntax for expressing structure in data. XML is particularly suitable as a data representation mechanism for use in heterogeneous environments. XML i b d i d t t d d
15
XML is based upon an open industry standard, implementations of XML parsers exist for many platforms, and in many programming languages. XML does not provide any semantic for its document, and this is completely up to the users.
XML-based Content StructuringExamples: Employees.xmlXML content:
Elements
<?xml version="1.0"?><employees>
<employee id="0001"><name>
AttributesEntities
XML is purely mark-up language.Free-format XML document is no different from plain text file.A document written in XML h f l
name<first>John</first><last>Smith</last>
</name><position>Programmer</position><address>
<street>123 Channey Road</street><city>Wivenhoe</city><zip>CO7 9ZZ</zip>
16
has to conform to some rules to be understandable and executable. These rules can basically be divided into two categories:
Document Type Definition (DTD)XML Schema: standardized by W3C
</address><phone>
<main>(1206) 825-000</main><fax>(1206) 829-001</fax>
</phone></employee>
</employees>
9
DTD (Document Type Definition)
DTD can be used to control the structure of an XML document.Once you declare a DTD, all
<?xml version="1.0" encoding="UTF-8"?><!ELEMENT employees (employee)><!ELEMENT l ( iti
ycontent (Elements, Attributes, Entities) has to be specified in XML documents. Otherwise the parser is not going to work.Elements are declared within the DTD definition using the <!ELEMENT> tag: <!ELEMENT
l t ( t t)
<!ELEMENT employee (name, position, address, phone)><!ATTLIST employeeid CDATA #REQUIRED>
<!ELEMENT name (first, last)><!ELEMENT first (#PCDATA)><!ELEMENT last (#PCDATA)><!ELEMENT position (#PCDATA)><!ELEMENT address (street, city, zip)>
17
element.name (content)>(no end tag!)
parent/child relationshipsordinal position of elements
Character content: <!ELEMENT element.name (#PCDATA)>
!ELEMENT address (street, city, zip)<!ELEMENT street (#PCDATA)><!ELEMENT city (#PCDATA)><!ELEMENT zip (#PCDATA)><!ELEMENT phone (main, fax)><!ELEMENT main (#PCDATA)><!ELEMENT fax (#PCDATA)>
Discussion
Web has been enriched both computation-wise and data representation-wise.pIs this enough?NO. We want to automate the web transactions.
As driven largely by e-commerceSo we need new mechanisms …
18
10
What is Web Service?
A Web Service is a software component that is described via WSDL and is capable of being accessed via standard network protocols such as SOAP over HTTP.Web services represent a new architectural paradigm for applications. Web services implement capabilities that are available to other application (or even other web services) via industry standard network and application interfaces and protocols. An application can use the capabilities of a web service by simply invoking it across a network without having to integrate it. As such web services represent reusable software building blocks that
19
As such web services represent reusable software building blocks that are URL addressable.
Comparison to Monolithic Applications
Application
Capability A Capability B Capability C
(a) Monolithic application with integrated capabilities A, B, and C
Capability A Client
URL address
20
Capability B
Capability C
Application
(b) Web Services Case
11
More on Web Services
The capacities provided by a WS can fall into a variety of categories, including:
Functions, such as a routine for calculating the integral square root of a bnumber
Data, such as getting the quantity of a particular productBusiness processes, such as accepting an order for a toy
When these capabilities are exposed as web services they can be loosely coupled together to fulfil a bigger task – this is sometimes called service composition.Web services expose their capabilities to client applications, not their implementations.
Thi ll WS t b i l t d i l l tf hil till
21
This allows WS to be implemented in any language or platform while still compatible with all client applications.
Web Service Architecture
http://www.w3.org/2002/ws/ Service providers: create Web services and publish them to the services and publish them to the outside world by registering the services with service brokers; Service brokers: maintain a registry of published services; Service requesters: find required services by searching the service broker’s registry. Requesters
Service Requester
Service Provider
Service Broker
1) publishing2) searching
3) binding
22
broker s registry. Requesters then bind their applications to the service provider to use particular services.
Broker
12
Core Technologies
Web service comprises a set of platform-neutral and standard-based technologies designed to ease the delivery of network services over intranets and the Internet. Web Services Description Language (WSDL) is a language programmers can use to describe the programmatic interfaces of Web services. (http://www.w3.org/TR/wsdl)Universal Description, Discovery and Integration (UDDI) lets Web services register their characteristics with a registry so that other applications can look them up. (http://www.uddi.org)Simple Object Access Protocol (SOAP) provides the means for
23
Simple Object Access Protocol (SOAP) provides the means for communication between Web services and client applications. (http://www.w3.org/TR/SOAP)
Relationship of Core Technologies
A Web services provider uses SOAP protocol to update the UDDI-based Web service directory about its WSDL-written services. A web service client then sends a request for a service qto the directory. The directory tells the client about the service’s availability, and the client and provider interact via SOAP.
Web Service Client Web Service Provider
SOAP
WSDL/
24
Web Service Directory (UDDI)
SOAPWSDL/SOAP
13
Can we make the Internet even more interactive, customized social and media-intensive? ->
25
customized, social and media intensive? > Web 2.0
Web 2.0
The term "Web 2.0" refers to a perceived second generation of web development and design, that aims to facilitate communication,
i f ti h i i t bilit d ll b ti secure information sharing, interoperability, and collaboration on the World Wide Web. Web 2.0 concepts have led to the development and evolution of web-based communities, hosted services, and applications; such as social-networking sites, video-sharing sites, wikis, blogs, and folksonomies. – from wikipediaIt supports multilayered media databases like Google Maps, software programs that run inside Web browsers like the collaboration-friendly word processor Writely, high-volume
26
collaboration friendly word processor Writely, high volume community forums like MySpace, and so-called social search tools like Yahoo Answers.
14
Web 2 Themes
27From wikipedia
Wikipedia is a Collaborative Dictionary Being Edited in Real time by Anyone
28
15
Social Networks Connect Users into Communities of Trust (or interests)
29
Blogging is the Most Recognized Example of Web 2.0
30
16
31
Hmm, Web 2.0 sounds great but can we make web understanding words like human? -> Web 3.0?
Web 3.0 or Semantic WebWeb is human-to-machine (server) via web browsers. So at least one side is clever enough. But how could we enable inhuman (dummy) machines understand each other?We need machines to become clever and say the same language -Semantic Web.
Web XML
More RepresentativeApplets/
Servlets
More Computation
32
SemanticWeb
Richer Semantics
17
What is Semantic Web about?
The Semantic Web is an evolving extension of the World Wide Web in The Semantic Web is an evolving extension of the World Wide Web in which the semantics of information and services on the web is defined, making it possible for the web to understand and satisfy the requests of people and machines to use the web content. Motivation: web pages are designed to be read by people, not machines. The semantic web is to make information understandable by computers so that they can perform more of the tedious work involved in finding, sharing, and combining information on the web.
33
g g gFor semantic publishing, especially real-time scientific publishing of and sharing of experimental data on the Internet.
The Semantic Web involves publishing in languages specifically designed for data: Resource Description Framework (RDF), Web O t l L (OWL) d E t ibl M k L
What is Semantic Web about?
Ontology Language (OWL), and Extensible Markup Language (XML). HTML describes documents and the links between them. RDF, OWL, and XML, by contrast, can describe arbitrary things such as people, meetings, or airplane parts. Tim Berners-Lee calls the resulting network of Linked Data the Giant Global Graph (GGG) in contrast to the HTML-based World Wide Web (WWW).Tim Berners-Lee has described the semantic web as a component of Web 3 0
34
of Web 3.0.
18
Agenda
Evolution of ComputingWeb Technologies (inc. Web 2.0 & Web 3.0)Distributed Object Technologies (inc. mobile agent technology)A i N k T h l
35
Active Network TechnologyQ&A
Distributed Object Technologies
Not object-oriented
Fundamental: socket programming
RPC: Remote Procedure Call
Si l L
Object-oriented
36
Multi-language:OMG CORBA (Common Object Request Broker Architecture)
Single Language:Java RMI: Remote Method Invocation
Code is stationary. Code migration! Mobile agent tech.
19
What is Mobile Agent?
Mobile agent is software code that can migrate across the network (hence mobile) representing user for various tasks (hence agent).(hence agent).The mobile agent paradigm intends to bring an increased performance and flexibility to distributed systems by promoting "autonomous code migration" (mobile code moving between places) instead of traditional RPC (remote procedure call). With code migration, the actual code or script moves from place to place and executes locally, achieving lower latency, little need for remote interactions and highly flexible control.
37
g yMost of the communicative mechanisms such as CORBA may be able to actually change the behaviour of other agents by sending messages. But mobile agents move their data and code (especially the code) to a remote site and execute locally.
Different from Traditional Mobile Code
This difference can be described by two kinds of mobility: remote execution and migration.Remote execution known from traditional mobile code means Remote execution, known from traditional mobile code, means that a program is sent to a remote location before its activation. The program remains at this location during its entire life time.
Supports only one-hopExample: Java Applet
Migration means that a program (a mobile agent) is able to change its location during its execution. A mobile agent may start its execution at location A, migrate to location B, and continue its
38
, g ,execution at location B exactly at the point at which it was interrupted before the migration.
Support multi-hop
20
MA for Network Management
MA technology will help achieve the following:Extensibility of network functionality by delegating a new task to an agent and sending it to the remote node, the functionality of the server agent and sending it to the remote node, the functionality of the server can be enhanced without upgrading the software. Reduction in network traffic since most of the interactions are local, the amount of network traffic due to management operations is reduced. Reduction of load in the Network Management Station by moving the intelligence near the data, the processing load on the network management station is minimised. Increased Responsiveness. The agents reside near the network elements so they can respond to network events avoiding delays caused by
39
so they can respond to network events, avoiding delays caused by network congestion. In response to an event of a failure, agents can interact with each other in order to reconfigure the network. Robustness and fault tolerance. Agents can interact asynchronously without loss of accuracy, so even if the network is not operational, the agent will continue to function and will report to the manager when the network is available.
Grasshopper
Grasshopper is a mobile agent development and runtime platform that is built on top of a distributed processing environment. This achieves an integration of the traditional client/server paradigm and mobile agent technology. Grasshopper is implemented in Java, based on the Java 2 specification. Most importantly, Grasshopper has been designed in conformance with the first mobile agent industry standard given by OMG, namely the Object Management Group's Mobile Agent System Interoperability Facility (MASIF), which allows
40
g y p y y ( ),interoperability of different mobile agent platforms and the deployment of mobile agents on CORBA environments. In addition, the latest Grasshopper version is also compliant with the specifications of the Foundation for Intelligent Physical Agents (FIPA).
21
Security Threats Analysis
life-cycle based threat analysisThreat A: During mobile agent storage (invaded and changed)Threat B: During mobile agent transitThreat B: During mobile agent transit
B1: disclosure of the dataB2: Change of mobile agent logic, especially for network management
Threat C: after mobile agent arrives at destination (execution)
From destination host side:C1: Counterfeit destination
41
C2: Cheated by malicious destination
From mobile agent side:C3: Mobile agent is not from correct peerC4: Behaviors of Mobile agent do not follow the contract
Strategies
solutions
Authentication: A,C1,C3
Confidentiality: B1
Integrity Check: B2
Authorization:C4
Logging:C2
42
22
Scenario: Secured Inter-domain IP VPN Provisioning Using Mobile Agents
Management Station
Secure Mobile Agent Storage
Signature verification
Domain YellowDomain Blue
IP VPN
Agent Storage (NM Codes)
Security Database(keystore)
Code downloading
MA: correct host?
Host:1)integrity check
Host: 2) authentication
Host: 3) authorization
43
SNMP SNMP
Certificates exchange
Access control Configuration
Access control Configuration
Host: 3) authorization
Mobile agents are at Application layer. But how about code migration at network layer?
44
But how about code migration at network layer?Active network technology
23
Agenda
Evolution of ComputingWeb Technologies (inc. Web 2.0 & Web 3.0)Distributed Object Technologies (inc. mobile agent technology)A i N k T h l
45
Active Network TechnologyQ&A
Packet Routing Model
Current Packet Routing Model: Store-Forward
1 D P k t f I t P t1. De-queue Packet from Input Port2. Determine “best” Output Port3. Queue Packet on Output Port
InputPackets
Active Node Packet Routing Model: Store-COMPUTE-Forward
OutputPackets
46
Active Node
InputPackets
OutputPackets
24
Current IP Networks vs Active Networks
Presently in IP Networksrouters (nodes) examine destination addresses, then determines which neighbour to forward the packetg psmart hosts on network edges, connected by routersnetwork APIs define virtual machine that interprets a specific language for the Internet Protocol (IP)limited values can be placed in that field in the IP header of a packetlimited user control over network’s behaviour
Active Networksrouters (nodes) extensively programmed by the packets passing
47
( ) y p g y p p gthrough them, under the end-user’s controlintermediate routers perform computations up to the application layerseen as providing programmable networkif IP header seen as input data to virtual machine, packets in active networks contain programs as well as input data
Motivation behind the Shift
Increased functionality introduced in the network (e.g Diffserv, firewalls, multicasting etc.)g )Interoperability among the diversity of architectures and platforms is rapidly becoming a major problem.Current mode of vertical integration impedes rapid service creation and deployment.Standardisation for introducing new services is a time consuming effort usually without any results
48
consuming effort usually without any results.Opening-up market and redefining business roles
25
DARPA Active Node Architecture
Application Application Application
Active Applications
(AA)
Node Operating System Node
ExecutionEnvironment(e.g., ALIEN)
ExecutionEnvironment(e.g., ANTS)
Execution Environments
(EE)
(AA)
49
Node Operating System(e.g., Unix, Linux, NT)
Node Operating
System
Router
Another School of Thought: Programmable Networks
IEEE P1520: Programmable Interfaces for NetworksTo standardise a set of open programmable network interfaces by modelling communication hardware and established servicesmodelling communication hardware and established services.
Impact: Opens up node resources
Interfaces are organised in a layered architecture of interfaces characterised by their scope and type of services they provide.Three sub-working groups
ATMIP RoutersMedia Gateways
50
y
Clear separation of transport & control / mgmt planes
26
AN vs. PNActive Networks Programmable Networks
Used for making the networks more PN is more focused on the definition of programmable.
AN is more general and dynamic with emphasis on the active packets carrying programming codes.
Whereas AN involves putting the control inside the router itself, and to largely leave open the type of possible control. The active network defines active nodes (e.g., routers with AN functionality) that are able to
generic programming interfaces that can be used by an external system (e.g., management tools) to configure routers.
In some sense, the router based on PN is still dumb since it does not have any computing capacity except the specialized ones as defined by the interfaces typically represented by IEEE P1520.
The available functionalities in PN mode
51
execute downloaded code and to allow the code to access its legacy functions.
Compared with PN, AN is more characterized by its high dynamic feature.
are pre-defined and not alterable. PN requires defining a large set of interfaces which involves a long standardization process for interoperability and eventually leaves the control to external devices.
Contact,Q&A
Dr Kun YangSchool of Computer Science & Elec. Eng. (CSEE),University of Essex, Wivenhoe Park, Colchester, CO4 3SQ, UK
Email: [email protected]://privatewww.essex.ac.uk/~kunyang/
52