分布式计算原理与应用:英文版

分布式计算原理与应用:英文版
作 者: Liu
出版社: 清华大学出版社
丛编项: 国外经典教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 分布式系统设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《分布式计算原理与应用:英文版》作者简介

内容简介

这是专门为本科生和研究生设计的教材,供分布式计算课程使用,不仅详细介绍了分布式程序设计技术的核心概念和原理,还采用learn by doing方法,使读者能通过程序设计和实验练习来巩固所学知识。本书特色:·专门为本科生和研究生设计·突出显示关键术语、保留字和标识符:用粗体显示关键术语和短语;用斜体显示特殊单词,比如程序的标识符、非标准的协议名称或操作名称;Java语言和协议的保留字和标识符也用斜体显示·重点讨论计算抽象(也称为细节隐藏)和范例·揉合了概念与实践,使用示范代码和动手练习来说明和巩固所提出的概念·为learn by doing教学而设计,提供了示范代码和实验活动·提供教辅,包括演示文稿、示范代码、网站和教师手册·提供参考文献,供读者进一步探索分布工计算领域通过本书的阅读,读者能应用基本的分布式编程技术来建立网络服务和网络应用。

图书目录

Preface

Acknowledgment

CHAPTER 1 Distributed Computing,An Introduction

1.1 Definitions

1.2 The History of Distributed Computing

1.3 Different Forms of Computing

Monolithic Computing

Distributed Computing

Parallel Computing

Cooperative Computing

1.4 The Strengths and Weaknesses of Distributed Computing

1.5 Basics of Operating Systems

Computer Programs and Processes

Concurrent Programming

1.6 Network Basics

Protocols

Network Architecture

Network Architecture Protocols

Connection-Oriented versus Connectionless Communication

Network Resources

Host Identification and Internet Protocol Addresses

Identifying Processes with Protocol Ports

Email Addresses

Email Addresses

URLs

1.7 Software Engineering Basics

Procedural versus Object-Oriented Programming

The Unified Modeling Language

The Architecture of Distributed Applications

Toolkits,Frameworks,and Components

Summary

Exercises

References

CHAPTER 2 Interprocess Communications

2.1 An Archetypal IPC Program Interface

2.2 Event Synchronization

Synchronous Send and Synchronous Receive

Asynchronous Send and Synchronous Receive

Synchronous Send and Asynchronous Receive

Asynchronous Send and Asynchronous Receive

2.3 Timeouts and Threading

2.4 Deadlocks and Timeouts

2.5 Data Representation

2.6 Data Encoding

2.7 Text-Based Protocols

2.8 Request-Response Protocols

2.9 Event Diagram and Sequence Diagram

2.10 Connection-Oriented versus Connectionless IPC

2.11 The Evolution of Paradigms for Interprocess Communications

Summary

Exercises

References

CHAPTER 3 Distributed Computing Paradigms

3.1 Paradigms and Abstraction

Abstraction

Paradigms

3.2 An Example Application

3.3 Paradigms for Distributed Applications

Message Passing

The Client-Server Paradigm

The Peer-to-Peer Paradigm

The Message System Paradigm

Remote Procedure Call Model

The Distributed Objects Paradigms

The Object Space

The Mobile Agent Paradigm

The Network Services Paradigm

The Collaborative Application(Groupware)Paradigm

3.4 Trade-offs

Level of Abstraction versus Overhead

Scalability

Cross-Platform Support

Summary

Exercises

References

CHAPTER 4 The Socket API

4.1 Backgroun

4.2 The Socket Metaphor in IPC

4.3 The Datagram Socket API

The Connectionless Datagram Socket

Connection-Oriented Datagram Socket API

4.4 The Stream-Mode Socket API

Operations and Event Synchronization

4.5 Sockets with Nonblocking I/O Operations

4.6 Secure Socket API

The Secure Socket Layer

The Java Secure Socket Extension

Summary

Exercises

References

CHAPTER 5 The Client-Server Paradigm

5.1 Background

5.2 Client-Server Paradigm Issues

A Service Session

The Protocol for a Service

Interprocess Communications and Event Synchronization

Data Representation

5.3 Software Engineering for a Network Service

Software Architecture

IPC Mechanism

Daytime Client-Server Using Connectionless Datagram Socket

Daytime Client-Server Using Stream-Mode Socket

Testing a Network Service

5.4 Connection-Oriented and Connectionless Servers

Connectionless Echo Client-Server

The Echo Server

Connection-Oriented Echo Client-Server

5.5 Iterative Server and Concurrent Server

5.6 Stateful Servers

Global State Information

Session State Information

Summary

Exercises

References

CHAPTER 6 Group Communication

6.1 Unicasting versus Multicasting

6.2 An Archetypal Multicast API

6.3 Connectionless versus Connection-Oriented Multicast

6.4 Reliable Multicasting versus Unreliable Multicasting

Unreliable Multicasting

Reliable Multicasting

6.5 The Java Basic Multicast API

IP Multicast Addresses

Joining a Multicast Group

Sending to a Multicast Group

6.6 Reliable Multicast API

Summary

Exercises

References

CHAPTER 7 Distributed Objects

7.1 Message Passing versus Distributed Objects

7.2 An Archetypal Distributed Object architecture

7.3 Distributed Object Systems

7.4 Remote Procedure Calls

7.5 Remote Method Invocation

7.6 The Java RMI Architecture

Client-Side Architecture

Server-Side Architecture

Object Registry

7.7 The API for the Java RMI

The Remote Interface

The Server-Side Software

The Client-Side Software

7.8 A Sample RMI Application

7.9 Steps for Building an RMI Application

Algorithm for Developing Server-Side Software

Algorithm for Developing Client-Side Software

7.10 Testing and Debugging

7.11 Comparison of RMI and Socket APIs

7.12 Food for Thought

Summary

Exercises

References

CHAPTER 8 Advanced RMI

8.1 Client Callback

Client-Side Augmentation for Client Callback

Server-Side Augmentations for Client Callback

Steps for Building an RMI Application with Client Callback

8.2 Stub Downloading

8.3 RMI Security Manager

Instantiation of a Security Manager in an RMI Program

The Syntax of a Java Security Policy File

Specifying Stub Downloading and a Security Policy File

Algorithms for Building an RMI Application,Allowing for Stub Downloading

Summary

Exercises

References

CHAPTER 9 Internet Applications

9.1 HTML

9.2 XML-The Extensible Markup Language

9.3 HTTP

The Client Request

The Server Response

Content Type and MIME

A Basic HTTP Client

HTTP,a Connection-Oriented,Stateless Protocol

9.4 Dynamically Generated Web Contents

9.5 Common Gateway Interface(CGI)

A Web Form

Query String Processing

Encoding and Decoding Query Strings

Environment Variables Used with CGI

9.6 Web Session and Session State Data

Using Hidden Form Fields for Transferring Session State Data

Using Cookies for Transferring Session State Data

Syntax of the Set-Cookie HTTP Response Header Line

Sample Code for Using Cookies to Pass State Data

Data Privacy and Security Concerns

Summary

Exercises

References

CHAPTER 10 The Common Object Request Broker Architecture

10.1 The Basic Architecture

10.2 The CORBA Object Interface

10.3 Inter-ORB Protocols

10.4 Object Servers and Object Clients

10.5 CORBA Object References

10.6 CORBA Naming Service and the Interoperable Naming Service

The CORBA Naming Service

The Interoperable Naming Service

10.7 CORBA Object Services

10.8 Object Adapters

10.9 Java IDL

Key Java IDL Packages

Java IDL Tools

An Example CORBA Application

Compiling and Running a Java IDL Application

Client Callback

10.10 Trade-offs

Summary

Exercises

References

CHAPTER 11 Internet Applications-Part 2

11.1 Applets

11.2 Servlets

Architectural Support

Servlet Programming

State Information Maintenance in Servlet Programming

11.3 Web Services

11.4 The Simple Object Access Protocol(SOAP)

A SOAP Request

A SOAP Response

Apache SOAP

Ready-Made Web Services

Invoking a Web Service Using Apache SOAP

Implementing a Web Service Using Apache SOAP

Summary

Exercises

References

CHAPTER 12 Advanced Distributed Computing Paradigms

12.1 Message Queue System Paradigm

The Point-to-Point Message Model

The Publish/Subscribe Message Model

12.2 Mobile Agents

Basic Architecture

Advantages of Mobile Agents

Mobile-Agent Framework Systems

12.3 Network Services

12.4 Object Spaces

Summary

Exercises

References

Epilogue

Index