Title: WideArea Computation Seminar Uppsala University Dept. Information Science Kenji Taguchi
1Wide-Area Computation (Seminar)Uppsala
UniversityDept. Information ScienceKenji
Taguchi
2Some Remarks
- If you come across some unknown terms such as
- IBMs Personal Area Network,
- try to find it out on the web.
3Luca Cardelli
- An Italian researcher at Microsoft Research
Cambridge - Famous for his works on
- programming languages,
- ML (Meta Language)
- Modular3
- Obliq
- Object-orientation
- A theory of Objects
- Mobile computing
- Ambients
4About this paper
- An invited paper appeared at
- International Colloquium on Automata, Languages
and Programming (ICALP)99 - Short version of Abstractions for Mobile
Computation
5Summary of the paper
- LAN to WAN
- New observables on WAN (the Web)
- Several Mobilities
- Modelling Wide Area Computation
- Ambients
- Wide Area Challenge A Conference Reviewing System
6How to proceed?
- Can you suggest any issues you would like to
pursue at this seminar?
7Question 1
- What is the authors claim about objects in the
past?
8Answer 1-1
Interface
Object
9Distributed Object-Oriented Programming (1)
- CORBA, DCOM
- CORBA (Common Object Request Broker Architecture)
by OMG (Object Management Group) - Open, vendor-independent architecture and
infrastructure that computer applications use to
work together over networks - DCOM( Distributed Component Object Model)
- Microsoft versions CORBA
10Distributed Object-Oriented Programming (2)
IDL (Interface Definitin Language)
Request
ORB (Object Request Broker)
The ORB will act as a central object which will
receive a request from objects and pass it to its
implementation.
11Question 2
- What makes the wide area network different from
the local area network?
12Answer 2
- Virtual locations
- Physical locations
- Bandwidth fluctuations
- Failures
13My Answers to Q 2
- Virtual locations
- domain names
- more than one domain name can be assigned to the
same network - Physical locations
- The speed of light is too slow for the global
network - One extreme example is a probe (and its software
system) sent to Mars. - Bandwidth fluctuations
- congested along the continent
- Failures
- server might be down, but we cant figure out
whether the failure was caused by the server or
the network itself
14Question 3
- How can mobile computation overcome those
difficulties?
15Answer 3
- Virtual locations
- Physical locations
- Bandwidth fluctuations
- Failures
Local resource
Barrier
Trust mechanisms
Physically distant
16Section 2- Three Mental Images -
- Local Area Network
- Wide Area Network
- Mobile Computing
17Mental Image 1
Administrative Domain
Fire Wall
18Mental Image 2
19Mental Image 3
AF81
EU
US
CDG
SFO
NSA
20Question4- Mental Image 1 -
- What features does the mental image 1
characterise? - Are they plausible enough?
21Mental Image 1 (1)- Characteristics -
- Computers
- about the same power
- Network links
- about the same bandwidth and latency
22Mental Image 1 (2)- Characteristics -
- Predictability
- Communication delays are bounded
- processor response time can be estimated
- link and process failures can be detected by
time-outs and by pinging nodes
23Mental Image 1 (3)- Characteristics -
- Well-administered
- Secure against attach
24Question 5- Mental Image 1 -
- What makes the local area network different from
the previous mainframes with dumb terminals?
25Question 6- Mental Image 1 -
- What new technologies emerged from the local area
network?
26Answer 6 - Mental Image 1 -
- Remote Procedure-call
- Client-Server Architecture
- Distributed object-oriented programming
27Involved Mobilities
- Control mobility
- control flows move to a remote host
- Data mobility
- data flows move to a remote host
- Link mobility
- e.g., proxy servers
- Object mobility
- e.g., load balancing between more than one
processor - Remote execution
- e.g., rsh command in Unix
28Meaning of each figure - Mental Image 2 -
- Computers differ in
- power
- availability
- Network links differ in
- capacity
- reliability
- Physical distance has
- visible effects
- time zones
29The Internet
- Basic Knowledge on the Internet
- What features characterise the Internet?
- The routing mechanism
- Global address
30LAN to WAN - Mental Image 2 -
- File systems
- NFS (Network File System) to Global file system
- The Web is not a global file system
- The Web is not just a big LAN
31Network File System
- The Network File System (NFS) is a distributed
file system that allows users to access files and
directories located on remote computers and treat
those files and directories as if they were
local.
32Mental Image 3
- More abstract image of mobility
- Several boundaries with different properties
exist over the network - political boundaries
- etc
33Question 7- General Mobility -
- How do mobile computing and mobile
computation interact with each other? - Do they have common problem and principle?
- Mobile Computing
- physical mobility
- mobile hardware
- Mobile Computation
- virtual mobility
- mobile software
34Answer 7-1-1
Security Check (bytecode verification)
35Answer 7-1-2
Security Check (virus protection)
36Answer 7-2
E.g., X-windows
37Answer 7-3
High band-width connection
Server
PC
Server
38Essential Feature of Mobility
- Intermittent connectivity
- can be caused by
- physical movement as well as
- virtual movement.
- Accidental disconnection
- bad infrastructure, solar flares (from Cardellis
slides) - Intentional disconnection
- privacy, security, quiet (from Cardellis slides)
39Question 8- Barriers and Action-at-a-Distance -
- Why are barriers so important?
- Why can we ignore the notion of
action-at-a-distance computing?
40Some History- Access Barriers -
- The solution in the past is to abstract them
away. - Physical memory boundaries
- virtual memory
- Address space boundaries
- network proxies
- Firewall boundaries
- secure tunnels
- agent sandboxing
41What is tunnelling?
- Tunnelling can be thought of as the act of
encapsulating ordinary (non-secure) IP packets
inside of encrypted (secure) IP packets.
42Sandboxing
- a sand-box, a restricted environment in which the
executables can execute safely. - In a sand-box, an executable can only perform
functions that cannot harm the system
43Good old days (1)
- The internet
- Good old days
- Now
44Good old days (2)
- Mobile Agents
- Good old days
- Free access to remote hosts
- Now
- hostile agents
- hostile hosts
45Hiding virtual locations
- A security infrastructure makes crossing borders
transparent. - Cryptography is a great help, but not almighty.
- Hostile or unfair servers (hosts) would cause
this problem unsolvable.
46Hiding physical locations
- Caching and replication might be practical
solutions, but not satisfactory - No help for long-distance real-time control and
interaction. - Its possible to make all delays uniform by
introducing unacceptable delays!
47Hiding bandwidth fluctuations
- QoS (Quality of Service) technique would be of
some help, but again, not satisfactory.
48Revealing failures
- A fundamental problem,
- Inherent to distributed system,
- We cannot achieve distributed consensus
- which detects the failure of processors or of
network nodes or links.
49WAN Postulates - Summary -
- Locations
- separate locations with different properties
- Barriers
- in order to preserve the properties of locations
- Mobility
- crossing the barriers.
50- Modelling Wide Area Computation -
- Move from observables to modelling
- Barriers
- Locality
- Mobility
- Security
- Communication
- long-distance communication can only be achieved
by a combination of local communication and
movement across barriers. - Action at a distance is forbidden
51Some Approaches (1)
- Wide area network languages
- agent-based languages
- e.g., TeleScript
- place-based languages
- e.g., Linda
- Ambients
- a generalisation of both notions
52Some Approaches (2)
- Agents (Telescript, etc)
- Move globally, co-ordinate locally.
- Spaces (Linda, etc)
- Communicate globally, co-ordinate locally.
- Dynamic hierarchies (Ambients, D-Join, etc),
- Various synchrony assumptions, wide spectrum
between D-Join, Ambients, and Seal. - Distributed transactions, Workflow, etc
- (Taken from Cardellis slide)
53Linda
- Invented by D. Gelernter
- Sometimes called Co-ordination Language
- based on a simple shared memory architecture with
operations for updates, remove and add operations - A memory space is called a tuple space which
consists of tuples - An example of a tuple ( camera,
shop, 300) - Operations which manipulate tuples are in,
read and out. They use matching to retrieve
data.
54Ambients
- a bounded place
- can be nested
- can have a collection of local running processes
- can moves as a whole with all its subcomponents
- has a name
name
55Ideals for Wide Area Languages
- Final Goal
- to program the Internet in some high-level
language - need to find programming constructs
56Compatibility Requirements
- WAN-soundness
- No primitives which entail
- action-at-a-distance
- continued connectivity
- global consensus,
- security bypasses.
- WAN-completeness
- can mimic the behaviour of
- web surfers,
- mobile agents,
- users,
- any other entities which roam the network.
57Necessary ingredients of WAL (1)
- Naming
- a solid reference to entities across barriers.
- Names should be pure in the sense that they are
not assumed to contain any information about
their creation. - Migration
- migration of of active software components is not
possible at the moment - it must be supported at the OS level.
- Hot plug in/out of devices.
58Necessary ingredients of WAL (2)
- Dynamic connectivity
- of software component.
- Static linking (at compile time)
- Dynamic linking (e.g., library)
- Ambient is a mixture of both
- Communication
- asynchronous at the wide-area level
- synchronous at the local-area level
- synchronisation between communication and
movement operations remains open.
59How Can/Should Things Interact?
- Remote interaction Asynchronous only.
- No instantaneous remote communication.
- No instantaneous remote mobility.
- But we cannot make everything asynchronous...
- Local interaction Synchronous is better.
- Synchronous local communication good for
awareness of communication for both parties
(sender and receiver) and particularly good for
reactive/real-time systems. - Synchronous local mobility good for awareness of
movement for both parties (agent and host). - They fit together (globalreactive)
- Mobility can be used to turn remote/asynch into
local/synch. - (e.g., send agent to do real-time control of Mars
probe) - Taken from Cardellis slides.
60Necessary ingredients of WAL (3)
- Security
- Security abstractions should be provided at the
programming-language level
key ... door ... try open_sesame (
key, door ) catch ( ex ) ...
open_sesame (key, door)
lang. construct
Some authentication mechanism based on
cryptographic protocol is assumed
61Question 9
- The author claims that the followings must be
supported at the language-design level. Do you
think this claim is plausible? - Ingredients of WAL
- Naming
- Migration
- Dynamic connectivity
- Communication
- Security
62Some Examples- Relations between foundational
calculus and prog languages -
- Lambda calculus
- Functional programming languages (Scheme, ML,
Haskell) - First-order Predicate logic
- Logic programming languages (Prolog)
- Ambients
- Wide Area Programming languages?
63Wide Area Challenge- A Conference Reviewing
System -
- Management of a virtual program committee meeting
for a conference - Roles in this system
- the conference chair(s)
- the programme chair(s)
- authors
- committee members
- external reviewers
64Wide Area Challenge- A Conference Reviewing
System -
Prog. chair
Conf. chair
Review Form
Sub. Form
Comm. members
authors
Notification
Review Form
Final version
Review Form
Proceedings
Extern. Reviewers
Publisher
65Next Seminar
- Mobile Agents White Paper by J. White.
- Some Remarks
- concentrate on the overview of underlying
concepts - dont need to poke your nose into programming
examples (we will experience many examples
later), but read the paper carefully .