Download Design of Secure Multi-Tier Web

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Distributed operating system wikipedia , lookup

Airborne Networking wikipedia , lookup

Policies promoting wireless broadband in the United States wikipedia , lookup

Wake-on-LAN wikipedia , lookup

IEEE 1355 wikipedia , lookup

Deep packet inspection wikipedia , lookup

Wireless security wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Serial digital interface wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Transcript
Kernel-Middleware Interaction to
Support Adaptation in Pervasive
Computing Environments
F. Samimi, P. McKinley, S. Sadjadi, P. Ge
Software Engineering and Networking Systems Laboratory
Department of Computer Science and Engineering
Michigan State University
(http://www.cse.msu.edu/sens)
Agenda
• Motivations
• RAPIDware and transparent shaping
• Kernel-Middleware eXchange (KMX)
• Wireless video streaming case study
• Conclusions and Future Work
Pervasive Computing
• Driving Factors
– Convergence of advanced electronic technologies (wireless,
handheld, sensors, etc) and the Internet.
– Promises anywhere, anytime access to data and computing.
• Need for Dynamic Adaptation
– Heterogeneity of hardware, network, software.
– Dynamics of the environmental conditions, especially at the
wireless edge of the Internet
– Limited resources (such as battery lifetime).
Handheld/Wearable Computing
Military Applications
Sensor Networks
RAPIDware Project
• Funded by U.S Office of Naval Research
– Adaptable Software / Critical Infrastructure Protection Program
– Outgrowth of Presidential Decision Directive 63 (May ’98)
• Software adaptation technologies for:
– Detecting and responding to environmental changes
– Strengthening self-auditing capabilities of “always-on” systems
• Focus: High-assurance adaptive middleware
–
–
–
–
Rigorous software engineering, code generation, etc
military command and control
crisis management systems
management of military/industrial installations
• Enable systems to operate through failures and attacks
Transparent Shaping
• Automatically transform existing non-adaptive
programs into adaptable programs
Adaptive
Logic
Dynamic Adaptation
Transparent Shaping
Adapt-Ready
Adaptable
Adapted
Business
Logic
Corrective
Logic
Development
Time
Hooks
Compile
Time
Start/Load
Time
Adaptation Assurance Tools and Techniques
Run
Time
MetaSockets
• Provide low-level, adaptable communication
• Example of host-infrastructure middleware
TRAP (Transparent Reflective Aspect Programming)
• Generator that enables
adaptive behavior to be
woven into existing
programs
• Java and C++ versions
available
• Example: Existing Java
applications can be
“upgraded” to use
MetaSockets
Application Source
Class Name List
java.net.
Sender.java
MulticastSocket
Java Compiler (javac)
TRAP/J
Aspect
Generator
Reflective Class
Generator
WrapperLevel_
MetaLevel_
Absorbing_
MulticastSocket MulticastSocket MulticastSocket
.aj
.java
.java
AspectJ Compiler (ajc)
Adapt-Ready App.
Sender.class
Data Flow
Adaptive CORBA Template (ACT)
• Enables run-time improvements to CORBA
applications in response to unanticipated changes in
either their functional requirements or their execution
environments.
• Transparently weaves adaptive code into CORBA
object request brokers (ORBs) at run time using a
generic CORBA request interceptor.
• The woven code intercepts and adapts the requests,
replies, and exceptions that pass through the ORBs
Need for More than Middleware…
• RAPIDware focuses on adaptive middleware
technologies
– Combines computational reflection, aspect-oriented
programming, component-based design
– Transparent shaping: automatically generating adaptable
programs from non-adaptive existing programs
– Automated checking for consistency and safe adaptation
– Dynamic configuration of software sensors and actuators
• However, many adaptations require cooperation of
middleware and the operating system, especially in
pervasive computing contexts
– Security (packet interception, usage monitoring)
– Quality of service (faster response in OS)
– Energy management (global tradeoffs among applications)
Kernel-Middleware eXchange (KMX)
• KMX investigates interaction between adaptive
middleware and commodity operating systems
• Goal: general model of MW/OS interaction
• Enable sensors and actuators to “reach” from
middleware into the OS kernel (as an optimization!)
• Combine vertical (cross-layer) and horizontal (crossplatform) adaptation
Example: “Universal” Adaptation
• Adaptive middleware mechanisms can be used to
reconfigure transient proxies
• KMX can be used to support vertical cooperation
• Uses: Overlay networks, MANETs, wireless edge, …
Horizontal Cooperation
Vertical Cooperation
Transient Proxy
Application
Middleware
OS
Hardware
Communication Infrastructure
Normal Data Flow
Intercepted Data Flow
KMX Architecture
Incoming/Outgoing
Flow
Control Line
Sensor
Legend
Actuator
Cross-Layer Coordination
Application
Transient Proxy
Middleware
Operating System
Hardware
Networking
Subsystem
Incoming Control/Data
Interception
Resources
Network
CPU
Memory
Energy
Outgoing Control/Data
Kernel- and
hardware-level
status
information
Kernel-Middleware Communication
Coordination and
Decision Making
Case Study
• Use KMX to improve wireless video
streaming
• Linux implementation
– In-kernel packet manipulation: interception of
packet streams using iptables
• Transient proxies created at wireless edge
– Dynamically configured using TRAP and
MetaSockets
– Intercept packet streams and add forward error
correction
SENS Mobile Computing Testbed
• Multiple-cell WLAN
– Various Wireless LANs
– WLAN analyzers
• Mobile computers
– Dell laptops (Windows,
Linux)
– iPAQ handhelds
(Familiar Linux, Blackdown
Java)
– Xybernaut MA-V wearables
(Windows)
• Multimeter for measuring
energy consumption
Test configuration and parameters
100Mbps LAN
802.11b AP
• Video Specifications
Video
Highway drive
Number of
Frames
1375
(original video contains 2001)
Frame Rate
25 fps
Playing
Time
55 seconds
Encoding
Mpeg-4 avi
Using DivX Pro 5.0.5 Codec
200 kbps encoding rate
Max key frame interval: 12
frames
Video Size
352*288 (CIF)
File Size
1386 KB (on hard disk)
Streaming
1 KB packet-size
(including a 48-byte
application header)
1905 packets totally
Video Stream
Path
Router
Sender
Multicast
Receivers
802.11b ad hoc
network
Block Erasure Code Operation
•
Wireless networks produce dynamic and location dependent packet
loss because of signal strength, interference, antenna alignment.
•
802.11b MAC layer does not provide link-level acknowledgement for
multicast frames.
•
FEC can be used to improving reliability by introducing redundancy into
the data channel.
Results
5
90
4.5
80
4
70
3.5
quality score
percentage of packets received
Packet Loss
100
60
50
40
30
Video Quality Measurement
3
2.5
2
`
1.5
20
1
10
0.5
0
1
4
7
0
10 13 16 19 22 25 28 31 34 37 40 43 46 49 52
1
2
3
seconds
Kernel Routing
4
5
video segment
Kernel Routing
Middleware - FEC (4, 2)
Overall Packet Loss and Video Quality
Kernel
Routing
Middleware
FEC (4, 2)
Total Packet Loss
(middleware layer)
27.01%
8.6%
Root Cause Analysis
[2.5%] / [45%] /
[73.5%]
[0%] / [32%] /
[59.83%]
[Blurring] / [Jerky Motion] /
[Block Distortion]
VQM Score
(video conferencing model)
2.13
3.94
(84.97% boost)
Middleware - FEC (4, 2)
6
Related Work
• Cross-layer adaptation
– Odyssey (CMU): application-aware adaptation
– GRACE (UIUC): global adaptation in mobile multimedia
applications
– DEOS (GATECH): user/kernel communication and end-toend adaptation
– Milly Watt (Duke): energy efficiency
 Coordination among layers on a single platform and
exchange of events between end nodes
• Peer-to-Peer systems
– Overlay networking
• Conductor (UCLA): distributed adaptation of data streams
– Ad hoc networks
• Roofnet (MIT): routing in multi-hop wireless ad hoc networks
 System-level (or application-layer) oriented
Conclusions
• KMX
– Addresses cross-layer adaptation with respect to
coordinated adaptation across multiple platforms (horizontal
cooperation)
– Adaptive middleware as the key enabling technology,
extended into operating system
– Universal adaptation needed to support distributed
applications
• Cooperation among:
– Adaptive middleware
– Extensible operating system
– Adaptable overlay networks
• Case study reveals potential benefits of this
cooperation for wireless video streaming
Related Recent Activities
• MetaSockets (ISWC’02, FTDCS’03)
• Transparent weaving weaving of adaptive behavior
into CORBA applications [ICDCS’04, ICAC’04]
• TRAP for Java programs [DOA’04]
• Efficient overlay networks [ICNP’03,ICDCS’04]
• Decision-making software [ICDL’04]
– Hierarchical discriminant regression (HDR)
– Enable systems to “learn” how to adapt effectively
• Safe adaptation [WADS’04]
• Adaptive energy management [IWQoS’04]
Acknowledgements
• This work was supported in part by
– U.S. Navy, Office of Naval Research
• Grant No. N00014-01-1-0744
– National Science Foundation grants
• CCR-9912407
• EIA-0000433
• EIA-0130724
• ITR-0313142
Further Information
• Related papers of the Software Engineering
and Network Systems (SENS) Laboratory are
available at: http://www.cse.msu.edu/sens
• RAPIDware project:
www.cse.msu.edu/rapidware
– Includes source code downloads
• Email contact: [email protected]