150 likes | 282 Views
Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall 2011 http://code.google.com/p/alt-hs /. Android Home Network. Department of Electrical and Computer Engineering University of Michigan Dearborn. System Overview. Key Features USB Tethering System: Android Phone & Linux Computer
E N D
Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall 2011 http://code.google.com/p/alt-hs/ Android Home Network Department of Electrical and Computer Engineering University of Michigan Dearborn
System Overview Key Features • USB Tethering System: Android Phone & Linux Computer • Scalable for a network configuration • Support for multiple machines • Permanent Network Solution • Easy on the phone • Customizable Security Features • No modifications to Android Phone & Linux Computer • Android 1.5+ Achievements • Fully functional under heavy loads • Network Scalable • No Starvation Limitations • Currently Limited to 512 Open Connection: Limited up to three devices • Maximum Single Request throughput ~ 10%, wide load ~ 40%
Technical problem & Requirements Technical Problem Provide a flexible, secure, and reliable system that enables an Android device to send and receive network traffic for a small LAN Design Requirements • Unmodified Android Device and Linux Computer • Routing capable • USB Interface • Support the major protocols: • TCP, UDP, ICMP • Scalable customizable security features • High-speed
Technical specifications Minimum Operating System Specifications • Routing Computer: 1GHz, 64 MB Ram, 64 MB Space, Linux 2.6, NICs, USB 2.0, switch (optional) • Android Device: 64MB Ram, 20 MB Storage, Android 1.5+, Data / Tethering Services Performance Specifications • Maximum cellular throughput: 95% • Maintain enough connectivity for up to 4 machines • Fully Functional, Stable System Standards • Router Development: POSIX C API: Threading, Sockets, Portability • Phone Development: Java, Android/Dalvik API • Network Protocols: IPv4, TCP, UDP, ICMP • Network Interfaces: IEEE 802.11, IEEE 802.3 (Ethernet), USB 2.0
subsystems • Interface Tasks (Chris) • Tunnel to Router Interface: Hook Traffic into router program • Phone to Router USB Interface: Controlled Socket link between phone and router • Router Tasks (Chris) • TCP Implementation: TCP to Application Converter • UDP/ICMP Implementation: UDP/ICMP to Application Converter • Phone Tasks (Chris & Justin) • TCP Implementation: Socket Channel Connection • UDP/ICMP Implementation: Datagram Channel Connection • Integration (Chris) • Debugging, Validation & Verification • Optimization
Design Criteria Internet/Transport Features • Protocol Selection: IPv4, TCP, UDP, ICMP • Alternatives: IPv6, DCCP, SCTP, RSVP, ECN, etc. • Constraints: • IP Fragmentation • ICMP message types • Client connections only TCP Features • TCP Options: MSS • Alternatives: Timestamp, SACK, Window Scaling
Design Criteria System Optimization (Phone) • Open Connections Maintained Single SuperThread • Alternatives: Dynamic Thread Allocation, Thread Pool • Idle Connection lifetime, TCP: 20 seconds, UDP 5 seconds • Alternatives: Unlimited lifetime, Very Low lifetime • USB interface dedicated thread • Constraints: limited open connections to 512
Test Results of each subsystem, overall Results and performacnes, compare with specs, list those that were not met