CSCI 599: Science of Design for Continuous Media Applications Shahram Ghandeharizadeh Associate Professor Computer Science Department University of Southern California
Outline H2O & C2P2 frameworks H2O & C2P2 frameworks Uses and challenges Uses and challenges What makes these devices feasible? What makes these devices feasible? This seminar’s objective This seminar’s objective How am I graded? How am I graded?
Home-to-Home Online (H2O) devices collaborate to deliver continuous media: Home-to-Home Online (H2O) devices collaborate to deliver continuous media: A H2O device is a wireless device with a powerful processor and abundant amount of storage. A H2O device is a wireless device with a powerful processor and abundant amount of storage. H2O Framework S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim Conference on Multimedia, 2003.
Home-to-Home Online (H2O) devices collaborate to deliver continuous media: Home-to-Home Online (H2O) devices collaborate to deliver continuous media: A H2O device is a wireless device with a powerful processor and abundant amount of storage. A H2O device is a wireless device with a powerful processor and abundant amount of storage. H2O Framework S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim Conference on Multimedia, 2003.
H2O Framework (Cont…) H2O devices complement existing wired infrastructure H2O devices complement existing wired infrastructure A H2O device may: A H2O device may: Display a clip: video-on-demand Store and produce a clip for a display Act as a router of data from a producer to a display
H2O Uses & Challenges [2] A household may: A household may: Access clips for entertainment, education, etc. Publish video library (never-erase). Establish time-shifted recording of live events: monitor the house while on travel, Memex, MyLifeBits, etc. Research challenges: Research challenges: Privacy of user profiles and content. Effective user-interfaces. How to minimize loss-of-data in the presence of node removals. Hiccup-free display: Placement of data
A C2P2 device is equipped with a wireless device that may operate in a hybrid manner using either ad-hoc, cellular/802.16, or both modes of communication. A C2P2 device is equipped with a wireless device that may operate in a hybrid manner using either ad-hoc, cellular/802.16, or both modes of communication. Data services: Video/audio-on-demand, road congestion reports. Data services: Video/audio-on-demand, road congestion reports. S. Ghandeharizadeh and B. Krishnamachari, C2P2: A Peer-to-Peer Network for On- Demand Automobile Information Services, in Globe C2P2: Car-to-Car Peer-to-Peer Ad-hocCellular base station
CHaMeLeoN Software Architecture Static/Dynamic Content Application Requirements QoS, Efficiency, Availability Data and Resource Discovery Design for Mobility Routing Protocols Data Placement Admission Control Data Scheduling and Stream Merging CHaMeLeoN Environmental Conditions Mobility Traffic Patterns and Information Association Wireless Channels Constraints
Smaller & Inexpensive Disks 25% annual reduction in size; 40% reduction in cost 25% annual reduction in size; 40% reduction in cost 1 inch in height, weighs 1 ounce (16 grams) 1 GB, Year 2004 IBM $185 Size of a refrigerator, 550 pounds (250 Kg) 1 GB, Year 1980 IBM $40,000
Inexpensive wireless devices Year 2002 Intel $185 Year 2004 SMC $60 S. Bararia, S. Ghandeharizadeh and S. Kapadia, Evaluation of a for Streaming Data in Ad-hoc Networks, in ASWN 2004.
For e.g. For e.g. (a) 3:1 hop transmission (b) 1:3 hop transmission Terminology In general, any scenario is m transmissions k hops each In general, any scenario is m transmissions k hops each Denoted as m:k, m,k>=1 MovieD Node 1 Node 2 Node 3 Node 4 MovieD MovieD Node 1 Node 2 Node 3 Node 4 MovieA MovieB MovieC 1 foot
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork ADU size defines the size of chunk handed from the application to the network layer.
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
ADU Size Application Data Unit sizes are dictated by an application at the data source: Application Data Unit sizes are dictated by an application at the data source: Node 1 ApplicationNetwork
TCP and UDP performance for a 1:3 hop connection Bandwidth (Good put) and loss rate for a 1:3 hop connection. MovieD Node 1 Node 2 Node 3 Node 4 MovieDMovieD
TCP and UDP performance for 3:1 hop connection Node 1 Node 2 Node 3 Node 4 MovieA MovieB MovieC 1 foot
Observations UDP Loss rate between 15-30% with a large variance UDP Loss rate between 15-30% with a large variance Losses occur due to transient bottlenecks at intermediate routers k participants competing for the channel Due to randomness intermediate router is flooded occasionally and drops data TCP performs well even though there is the ACK overhead TCP performs well even though there is the ACK overhead A protocol with flow control and congestion control does well in case multiple senders in the same radio range System may produce data at a slower rate than available network bandwidth System may produce data at a slower rate than available network bandwidth Introduce a delay between successive ADUs
Seminar’s Objectives 1. Study fundamental principles that make delivery of continuous media across devices such as H2O and C2P2 feasible: Space-time Law of large numbers Divide-and-conquer 2. Implement a prototype of CHaMeLeoN 3. Investigate complementary frameworks: P2P and Web Services
WHAT WILL I LEARN? Design and implementation of techniques to deliver continuous media using wireless networks Design and implementation of techniques to deliver continuous media using wireless networks Design principles Hands on experience with wireless devices Team-work to implement software On-going research at USC and other places. On-going research at USC and other places. This course assumes a knowledge of relational databases and a programming language such as Java, C, C # This course assumes a knowledge of relational databases and a programming language such as Java, C, C #
WHAT WILL WE DO? Weekly lectures to cover the fundamentals. Weekly lectures to cover the fundamentals. Break into groups that is working on a certain project. I will try to meet with all groups each week to discuss: Break into groups that is working on a certain project. I will try to meet with all groups each week to discuss: Current project status. What each member is doing to bring the project to an end. An estimate of when the project will be complete. Design and implement novel research ideas, and write technical manuscripts. Design and implement novel research ideas, and write technical manuscripts.
HOW AM I GRADED? This is a seminar course, you should enroll because: This is a seminar course, you should enroll because: You are interested in the topic You have certain ideas of your own to pursue You want to learn what research is all about Your grade will depend on how fully you complete the project that you assume to work on. Generally speaking, projects are team oriented. So, your grade is somewhat dependent on your team members. Your grade will depend on how fully you complete the project that you assume to work on. Generally speaking, projects are team oriented. So, your grade is somewhat dependent on your team members. There are no exams. There are no exams. How do I choose a project? Either pick from one of the offered projects or come up with your own project. How do I choose a project? Either pick from one of the offered projects or come up with your own project.
WHERE WILL I CONDUCT MY PROJECTS? SAL 102 and 200C: SAL 102 and 200C: Linux 7.0, SAL 102 Microsoft Windows NT, SAL 200C (Microsoft’s tool set) Is there anyone to help me? YES! Shahram Ghandeharizadeh, Esam Alwagait, Tooraj Helmi, Shyam Kapadia, Sung-ah Kim, Mayank Saxena
SHORT-TERM PLAN Thursday, August 26: Thursday, August 26: S. Ghandeharizadeh, T. Helmi, S. Kapadia, and B. Krishnamachari. A Case for a Mobility Based Admission Control Policy. In Proceedings of the International Conference on Distributed Multimedia Systems, San Francisco, September (Presenter: Shyam Kapadia) A Case for a Mobility Based Admission Control PolicyA Case for a Mobility Based Admission Control Policy V. Bush. As We May Think. The Atlantic Monthly. July (Discussion leader: Shahram Ghandeharizadeh) As We May ThinkAs We May Think Overview of a a mini-project Tuesday, Aug 31, 2004: Tuesday, Aug 31, 2004: S. Bararia, S. Ghandeharizadeh, and S. Kapadia. Evaluation of a for Streaming Data in Ad-hoc Networks. In 4 th Workshop on Applications and Services in Wireless Networks, Boston, Massachusetts, August (Presenter: Shyam Kapadia) Evaluation of a for Streaming Data in Ad-hoc NetworksEvaluation of a for Streaming Data in Ad-hoc Networks Analyze the lap-tops and software to run code Thursday, Sept 2, 2004: Student presentations on their results. Thursday, Sept 2, 2004: Student presentations on their results.