CECS 327 Net-centric Computing
Final Review (May 14, 2009)
Chapter 1. Distributed Computing, An Introduction
o Introduction to Net-centric computing and Distributed computing
• What is Net-centric Computing? What is Distributed Computing?
• Different forms of Computing: Monolithic computing, Distributed Computing,
Parallel Computing, Cooperative Computing.
• The strengths and weaknesses of Distributed Computing.
o Network Basics:
• The OSI seven-layer network architecture and the Internet four-layer network
architecture
• Protocols
• Network Resource Identification: Host identification and IP address, IPv4
Classful Address Scheme, IP subnetting, IPv6, DNS, URI, Name resolution
o Operating Systems Basics
• Differences between process and thread
• Race condition and thread-safe programming (Java Thread)
• Java as a tool for Distributed Computing. Three types of Java program
Chapter 2. Interprocess Communications (IPCs)
o Interprocess Communication Interface
• Primitive operations, Event synchronization, and Data marshaling.
o Primitive Operations: Send, Receive, Connect, Disconnect
o Event Synchronization
• Synchronous and Asynchronous operation
o Data Representation and Data Encoding
• Data marshaling
o Event Diagram and Sequence Diagram
• Blocking and nonblocking operation. Sequence of message transmission
Chapter 3. Distributed Computing Paradigms
o Paradigms and Abstractions.
o Paradigms for Distributed Applications
• Message passing
• Client-server
• Peer-to-peer
• Message system: Point-to-point, Publish/subscribe
• Remote Procedure Call
• Distributed objects: Remote Method Invocation, Object request broker, Object
space
• Mobile agents
• Network services
• Collaborative applications
o Trade-offs.
• Overhead, Scalability, Cross-platform support, and Software engineering issues
Chapter 4. The Socket API
o The Socket Metaphor in IPC