CMU SSD8: Networks and Distributed Computing
Tan YiSoftware College Northwestern Polytechnical University
2
Outline
• Motivations• Networks and Distributed Computing• Practices and Examinations
3
Motivations
• A web based Teaching & Learning platform and abundant materials
• Learn how to use icarnegie resources• Grasp how to teach students via new platform • Know how to combine Chinese traditional educa
tional style with Web-based electronic educational mode
• Pass three Unit Exams and certification Exam• Start SSD8 lecture
4
Outcomes
• The purpose of SSD8 is for students to – Learn about the elements of the structure and
function of the Internet that are most important to application system developers.
– Learn to use Internet protocols in application development.
– Learn the principles of distributed system design. – Learn to build distributed systems using the most
important current technical approaches.
5
Outcomes cont’d 1
• Students successfully completing SSD8 will be able to PRODUCE– Programs using TCP sockets to communicate across
an IP network – Programs that act as clients using common Internet
protocols like FTP, HTTP, and SMTP – Distributed objects to be managed by an object
request broker (ORB) – Distributed applications based on existing and new
distributed objects managed by and ORB
6
Outcomes cont’d 2
• Students successfully completing SSD8 will be able to USE– Internet RFCs and other reference material for protoc
ol specification – Common Internet tools (such as nslookup, ping, trace
route, netstat) to observer and evaluate network performance and function
– An object request broker's services in constructing a distributed application
7
Outcomes cont’d 3
• Students will be able to knowledgeably DISCUSS– The structure and concepts of the OSI protocol model
and its application to TCP/IP – Fundamental concepts including abstraction, encapsu
lation, multiplexing and demultiplexing – The structure and function of the most popular layer 1
and 2 networks: Ethernets, ATM, Sonet, ADSL, ISDN, and WDM
8
Outcomes cont’d 4
• Students will be able to knowledgeably DISCUSS(cont’d)– The design criteria for distributed objects including
performance, robustness, and modularity – The functionality of an ORB and the general attributes
of popular ORB systems (CORBA and DCOM) – The issues of replication, consistency, and fault
tolerance in distributed applications
9
Outcomes cont’d 5
• The students will Hold Positions Such As – Network Application Programmer – Web site Performance Analyst – Technical Advisor to assist management in selection
of suitable enabling technologies
10
SSD8: Networks and Distributed Computing
• Three units– Unit 1. Core Network Protocol– Unit 2. End-to-End Protocols– Unit 3. Distributed Systems
• Three examinations• One certification exam
11
SSD8 contents
• Unit 1. Core Network Protocol– 1.1 Requirements and Achitecture
• 1.1.1 An Application Example: The Web• 1.1.2 Network Programming• 1.1.3 How Application Messages are Transmitted• 1.1.4 Application Requirements• 1.1.5 Protocol Stacks• 1.1.6 Standards Organizations and a Short History
12
SSD8 contents cont’d 2
• Unit 1. Core Network Protocol– 1.2 Physical and Data Link Layer
• 1.2.1 Spectrum and Bandwidth • 1.2.2 Coding and Framing• 1.2.3 Switch-Based Networking• 1.2.4 Broadcast-Based Networking• 1.2.5 Connectivity to the Home• 1.2.6 Wireless Networking
13
SSD8 contents cont’d 3
• Unit 1. Core Network Protocol– 1.3 The Internetworking Layer
• 1.3.1 Goals and Challenges• 1.3.2 Routing• 1.3.3 IP Addressing• 1.3.4 IP Protocol• 1.3.5 Packet Forwarding• 1.3.6 Management and Control• 1.3.7 Tools• 1.3.8 The Future of IP
14
SSD8 contents cont’d 4
• Unit 2. End-to-End Protocols– 2.1 Transport Protocols
• 2.1.1 Transport Protocol Function• 2.1.2 UDP• 2.1.3 TCP• 2.1.4 Congestion• 2.1.5 Other Transport Protocols
15
SSD8 contents cont’d 5
• Unit 2. End-to-End Protocols– 2.2 Other End-Point Issues
• 2.2.1 Network Programming Revisited• 2.2.2 Presentation Layer• 2.2.3 Remote Procedure Call (RPC)• 2.2.4 Multimedia Networking• 2.2.5 RTP• 2.2.6 End-Point Design• 2.2.7 Performance Considerations
– 2.3 Quality of Service• 2.3.1 Requirements• 2.3.2 Mechanism • 2.3.3 Examples
16
SSD8 contents cont’d 6
• Unit 3. Distributed Systems– 3.1 Distributed System Principles
• 3.1.1 Examples and Challenges• 3.1.2 Dealing with Distributed Processes• 3.1.3 Load Balancing and Fault Tolerance• 3.1.4 Dealing with Distributed Resources• 3.1.5 Security Basics• 3.1.6 Common Security Tools
17
SSD8 contents cont’d 7
• Unit 3. Distributed Systems– 3.2 Mid-Level Distributed Computing
• 3.2.1 Packages for Remote Invocation• 3.2.2 Mobile Code• 3.2.3 Database Access• 3.2.4 System Integration
– 3.3 Object Request Brokers and Services• 3.3.1 Requirements• 3.3.2 CORBA• 3.3.3 Other ORBs
18
Practices and Examinations
• Unit 1. Core Network Protocol– Multiple-Choice Quiz 1– Exercise 1– Multiple-Choice Quiz 2– Exercise 2– Practical Quiz 1– Exam 1 Multiple-Choice– Exam 1 Practical
19
Practices and Examinations
• Unit 2. End-to-End Protocols– Multiple-Choice Quiz 4– Exercise 3– Multiple-Choice Quiz 5– Multiple-Choice Quiz 6– Exercise 4– Exam 2 Multiple-Choice– Exam 2 Practical
20
Practices and Examinations
• Unit 3. Distributed Systems– Multiple-Choice Quiz 7– Multiple-Choice Quiz 8– Multiple-Choice Quiz 9– Exercise 5– Exam 3 Multiple-Choice– Exam 3 Practical
21
Practices and Examinations
• Certification Exam– Certification Exam Multiple-Choice– Certification Exam Practical
22
Logistic
• Textbook:– Computer Networking : A Top-down Approach Featuring the Internet (2nd)
– Java Network Programming and Distributed Computing
– David Reilly Michael Reilly
• Text book Web Site:• http://www.awl.com/kurose-ross