Taylor I.J. From P2P and grids to services on the web: evolving distributed communities (London, 2009). - ОГЛАВЛЕНИЕ / CONTENTS
Навигация

Архив выставки новых поступлений | Отечественные поступления | Иностранные поступления | Сиглы
ОбложкаTaylor I.J. From P2P and grids to services on the web: evolving distributed communities / Taylor I.J., Harrison A.B. - 2nd ed. - London: Springer, 2009. - xxiv, 462 p.: ill. - (Computer communications and networks). - Ref.: p.443-453. - Ind.: p.455-462. - ISBN 978-1-84800-122-0; ISSN 1617-7975
 

Оглавление / Contents
 
Part I Common Themes

1  Introduction ................................................. 3
   1.1  Introduction to Distributed Systems ..................... 5
   1.2  Terminology ............................................. 7
   1.3  Centralized and Decentralized Systems ................... 9
        1.3.1  Resource Discovery .............................. 10
        1.3.2  Resource Availability ........................... 11
        1.3.3  Resource Communication .......................... 13
   1.4  Taxonomy Dependency Considerations ..................... 14
   1.5  Examples of Distributed Applications ................... 17
        1.5.1  The Web: Decentralized .......................... 17
        1.5.2  A Stand-Alone Web Server: Centralized ........... 18
        1.5.3  SETI@home: Centralized .......................... 20
        1.5.4  Napster: Brokered ............................... 21
        1.5.5  Gnutella: Decentralized ......................... 21
   1.6  Examples of Middleware ................................. 23
        1.6.1  J2EE and JMS: Centralized ....................... 23
        1.6.2  Jini: Brokered .................................. 23
        1.6.3  Web Services: Brokered .......................... 24
        1.6.4  Jxta: Decentralized ............................. 25
   1.7  Conclusion ............................................. 26
2  Discovery Protocols ......................................... 27
   2.1  Service and Directory Discovery ........................ 27
   2.2  Unicast Addressing ..................................... 29
        2.2.1  UDP ............................................. 30
        2.2.2  TCP ............................................. 30
   2.3  IP Multicast Addressing ................................ 32
        2.3.1  Multicast Grouping .............................. 33
        2.3.2  Multicast Distribution Trees .................... 34
        2.3.3  Reverse Path Forwarding ......................... 34
   2.4  Service Location Protocol .............................. 35
   2.5  Conclusion ............................................. 37
3  Structured Document Types ................................... 39
   3.1  HTML ................................................... 40
   3.2  XML .................................................... 43
   3.3  XHTML .................................................. 46
   3.4  Document Modelling and Validation ...................... 48
        3.4.1  Document Type Definition ........................ 48
        3.4.2  XML Schema ...................................... 51
        3.4.3  RELAX NG ........................................ 56
   3.5  Conclusion ............................................. 60
4  Distributed Security Techniques ............................. 61
   4.1  Introduction ........................................... 62
   4.2  Design Issues .......................................... 63
        4.2.1  Focus of Data Control ........................... 64
        4.2.2  Layering of Security Mechanisms ................. 65
        4.2.3  Simplicity ...................................... 66
   4.3  Cryptography ........................................... 67
        4.3.1  Basics of Cryptography .......................... 67
        4.3.2  Types of Encryption ............................. 68
        4.3.3  Symmetric Cryptosystem .......................... 69
        4.3.4  Asymmetric Cryptosystem ......................... 69
        4.3.5  Hash Functions .................................. 70
   4.4  Signing Messages with a Digital Signature .............. 71
   4.5  Secure Channels ........................................ 72
        4.5.1  Secure Channels Using Symmetric Keys ............ 73
        4.5.2  Secure Channels Using Public/Private Keys ....... 74
   4.6  Secure Mobile Code: Creating a Sandbox ................. 75
   4.7  Conclusion ............................................. 77

Part II Distributed Environments

5  The Web ..................................................... 81
   5.1  Introduction ........................................... 81
   5.2  The Dawn of the Web .................................... 82
   5.3  Naming Things in a Uniform Way ......................... 83
        5.3.1  URI Templates ................................... 86
   5.4  A Shared Representation of Things ...................... 89
   5.5  Hypertext Transfer Protocol ............................ 90
        5.5.1  HTTP and Security ............................... 92
   5.6  Representational State Transfer ........................ 94
        5.6.1  Client-Server ................................... 95
        5.6.2  Statelessness ................................... 95
        5.6.3  Caching ......................................... 96
        5.6.4  Uniform Interface ............................... 97
        5.6.5  Layering ....................................... 100
        5.6.6  Code-on-Demand ................................. 100
   5.7  The Semantic Web ...................................... 101
   5.8  Conclusion ............................................ 105
6  Peer-2-Peer Environments ................................... 107
   6.1  What Is Peer to Peer? ................................. 108
        6.1.1  Historical Peer to Peer ........................ 108
        6.1.2  The Shift to New Internet Users ................ 109
   6.2  Modern Definition of Peer to Peer ..................... 110
        6.2.1  Social Impacts of P2P .......................... 113
   6.3  The P2P Environment ................................... 115
        6.3.1  Hubs, Switches, Bridges, Access Points and
               Routers ........................................ 115
        6.3.2  NAT Systems .................................... 117
        6.3.3  Firewalls ...................................... 118
        6.3.4  P2P Overlay Networks ........................... 119
   6.4  P2P Example Applications .............................. 119
        6.4.1  MP3 File Sharing with Napster .................. 120
        6.4.2  File Sharing with Gnutella ..................... 121
   6.5  True P2P and Good Distributed Design .................. 122
   6.6  Related Projects: Volunteer Computing ................. 123
        6.6.1  Distributed Computing Using SETI@home .......... 124
        6.6.2  BOINC .......................................... 124
   6.7  Conclusion ............................................ 125
7  Web Services ............................................... 127
   7.1  Introduction .......................................... 127
        7.1.1  Looking Forward: What Do We Need? .............. 128
        7.1.2  Representing Data and Semantics ................ 130
   7.2  Web Services .......................................... 132
        7.2.1  A Minimal Web Service .......................... 132
        7.2.2  Web Services Architecture ...................... 133
        7.2.3  Web Services Development ....................... 135
   7.3  Service-Oriented Architecture ......................... 136
        7.3.1  A Web Service SOA .............................. 136
   7.4  Conclusion ............................................ 138
8  Distributed Objects and Agent Technologies ................. 139
   8.1  What Are Distributed Objects? ......................... 140
   8.2  CORBA ................................................. 141
   8.3  Mobile Agents ......................................... 143
   8.4  Objects, Services and Resources ....................... 145
        8.4.1  Objects ........................................ 145
        8.4.2  Resources ...................................... 146
        8.4.3  Services ....................................... 146
   8.5  Distributing Objects Using Java ....................... 148
        8.5.1  Remote Method Invocation ....................... 149
        8.5.2  Java Serialization ............................. 150
   8.6  Conclusion ............................................ 153
9  Grid Computing ............................................. 155
   9.1  The Grid Dream ........................................ 155
   9.2  Social Perspective .................................... 156
   9.3  History of the Grid ................................... 157
        9.3.1  The First Generation ........................... 158
        9.3.2  The Second Generation .......................... 159
        9.3.3  The Third Generation ........................... 161
   9.4  The Grid Computing Architecture ....................... 162
        9.4.1  Virtual Organizations and the Sharing of
               Resources ...................................... 163
   9.5  To Be or Not to Be a Grid: These Are the Criteria ..... 166
        9.5.1  Centralized Control ............................ 166
        9.5.2  Standard, Open, General-Purpose Protocols ...... 167
        9.5.3  Quality of Service ............................. 168
   9.6  Types of Grid ......................................... 168
   9.7  The Globus Toolkit 2.x ................................ 169
        9.7.1  Globus Tools ................................... 170
        9.7.2  Security ....................................... 171
        9.7.3  Information Services ........................... 172
        9.7.4  Data Management ................................ 174
        9.7.5  Resource Management ............................ 174
   9.8  Comments and Conclusion ............................... 176

Part III Protocols and Architectures I — P2P Applications

10 Gnutella ................................................... 181
   10.1 History of Gnutella ................................... 181
   10.2 What Is Gnutella? ..................................... 183
   10.3 A Gnutella Scenario ................................... 185
        10.3.1 Discovering Peers .............................. 185
        10.3.2 Gnutella in Operation .......................... 186
        10.3.3 Searching Within Gnutella ...................... 187
   10.4 Gnutella 0.4 Protocol Description ..................... 187
        10.4.1 Gnutella Descriptors ........................... 188
        10.4.2 Gnutella Descriptor Header ..................... 189
        10.4.3 Gnutella Payload: Ping ......................... 190
        10.4.4 Gnutella Payload: Pong ......................... 190
        10.4.5 Gnutella Payload: Query ........................ 191
        10.4.6 Gnutella Payload: QueryHit ..................... 191
        10.4.7 Gnutella Payload: Push ......................... 192
   10.5 File Downloads ........................................ 193
   10.6 Gnutella Implementations .............................. 194
   10.7 More Information ...................................... 195
   10.8 Conclusion ............................................ 195
11 Scalability ................................................ 197
   11.1 Performance in P2P Networks ........................... 198
   11.2 Unstructured P2P ...................................... 199
        11.2.1 Social Networks ................................ 200
        11.2.2 Combining Network Topologies ................... 202
        11.2.3 The Convergence of the Napster and Gnutella
               Approaches ..................................... 204
        11.2.4 Gnutella Research Experiments .................. 207
   11.3 The Structured P2P Approach ........................... 208
        11.3.1 Structure of a DHT Network ..................... 209
   11.4 Further Reading ....................................... 210
        11.5 Conclusion ....................................... 211
12 Freenet .................................................... 213
   12.1 Introduction .......................................... 214
   12.2 Freenet Routing ....................................... 214
        12.2.1 Populating the Freenet Network ................. 214
        12.2.2 Self-Organizing Adaptive Behaviour in
               Freenet ........................................ 215
        12.2.3 Requesting Files ............................... 217
        12.2.4 Similarities with Other Peer Organization
               Techniques ..................................... 218
   12.3 Freenet Keys .......................................... 219
        12.3.1 Keyword-Signed Keys ............................ 219
        12.3.2 Signed-Subspace Keys ........................... 220
        12.3.3 Content-Hash Keys .............................. 221
        12.3.4 Clustering Keys ................................ 223
   12.4 Joining the Network ................................... 223
   12.5 Conclusion ............................................ 224
13 BitTorrent ................................................. 227
   13.1 What Is BitTorrent? ................................... 228
   13.2 The BitTorrent Protocol ............................... 229
        13.2.1 Terminology .................................... 229
        13.2.2 Entities in a Bit Torrent Application .......... 230
        13.2.3 Bencoding and Torrent Metafiles ................ 231
        13.2.4 The Tracker and File Downloading ............... 232
   13.3 BitTorrent, Inc. ...................................... 234
   13.4 Conclusion ............................................ 235

Part IV Protocols and Architectures II — Middleware

14 Jini ....................................................... 239
   14.1 Jini .................................................. 240
        14.1.1 Setting the Scene .............................. 240
   14.2 Jini Architecture ..................................... 241
        14.2.1 Jini in Operation .............................. 242
   14.3 Registering and Using Jini Services ................... 245
        14.3.1 Discovery: Finding Lookup Services ............. 245
        14.3.2 Join: Registering a Service (Jini Service) ..... 246
        14.3.3 Lookup: Finding and Using Services (Jini
               Client) ........................................ 247
   14.4 Jini: Tying Things Together ........................... 249
   14.5 Organization of Jini Services ......................... 250
        14.5.1 Events ......................................... 250
   14.6 Conclusion ............................................ 251
15 Jxta ....................................................... 253
   15.1 Background: Why Was Project Jxta Started? ............. 253
        15.1.1 Interoperability ............................... 254
        15.1.2 Platform Independence .......................... 254
        15.1.3 Ubiquity ....................................... 255
   15.2 Jxta Overview ......................................... 256
        15.2.1 The Jxta Architecture .......................... 257
        15.2.2 Jxta Peers ..................................... 257
        15.2.3 Identifiers .................................... 258
        15.2.4 Advertisements ................................. 259
        15.2.5 Messages ....................................... 259
        15.2.6 Modules ........................................ 260
   15.3 Jxta Network Overlay .................................. 260
        15.3.1 Peer Groups .................................... 260
        15.3.2 Rendezvous Nodes ............................... 261
        15.3.3 Pipes .......................................... 262
        15.3.4 Relay Nodes .................................... 264
   15.4 The Jxta Protocols .................................... 264
        15.4.1 The Peer Discovery Protocol .................... 264
        15.4.2 The Peer Resolver Protocol ..................... 265
        15.4.3 The Peer Information Protocol .................. 266
        15.4.4 The Pipe Binding Protocol ...................... 266
        15.4.5 The Endpoint Routing Protocol .................. 266
        15.4.6 The Rendezvous Protocol ........................ 266
   15.5 A Jxta Scenario: Fitting Things Together .............. 266
   15.6 Jxta Environment Considerations ....................... 267
        15.6.1 Security ....................................... 267
        15.6.2 NAT and Firewalls .............................. 268
   15.7 Comment ............................................... 268
   15.8 Conclusion ............................................ 268
16 Web Services Protocols ..................................... 269
   16.1 SOAP .................................................. 270
        16.1.1 Just Like Sending a Letter ..................... 270
        16.1.2 Web Services Architecture with SOAP ............ 272
        16.1.3 The Anatomy of a SOAP Message .................. 273
   16.2 WSDL .................................................. 275
        16.2.1 Service Description ............................ 276
        16.2.2 Implementation Details ......................... 277
        16.2.3 Anatomy of a WSDL Document ..................... 278
   16.3 UDDI .................................................. 281
   16.4 WS-Extensions ......................................... 284
        16.4.1 WS-Addressing .................................. 284
        16.4.2 WS-Policy ...................................... 286
        16.4.3 Security Specifications ........................ 286
        16.4.4 WS-Transfer .................................... 287
        16.4.5 WS-Eventing .................................... 288
        16.4.6 WS-ReliableMessaging ........................... 288
        16.4.7 WS-Coordination ................................ 289
   16.5 Conclusion ............................................ 289
17 OGSA ....................................................... 291
   17.1 OGSA .................................................. 292
        17.1.1 Grid Services .................................. 292
        17.1.2 Virtual Services ............................... 294
        17.1.3 OGSA Architecture .............................. 295
   17.2 OGSI .................................................. 296
        17.2.1 Globus Toolkit, Version 3 ...................... 298
   17.3 WS-RF ................................................. 299
        17.3.1 Problems with OGSI ............................. 300
        17.3.2 The Specifications ............................. 301
        17.3.3 WS-Resources ................................... 302
        17.3.4 WS-ResourceProperties .......................... 302
        17.3.5 WS-Notification ................................ 305
        17.3.6 The Future of WS-RF ............................ 306
   17.4 Higher Level Interfaces ............................... 307
        17.4.1 Job Submission Description Language ............ 307
        17.4.2 Basic Execution Service ........................ 309
   17.5 Conclusion ............................................ 312
18 Web 2.0 .................................................... 313
   18.1 The Web as Platform ................................... 314
        18.1.1 The Long Tail .................................. 316
   18.2 Technologies and APIs ................................. 318
        18.2.1 Ajax (formerly AJAX) ........................... 318
        18.2.2 Application Programming Interfaces (APIs) ...... 322
        18.2.3 Microformats ................................... 325
        18.2.4 Syndication .................................... 327
        18.2.5 Web Application Description Language ........... 334
   18.3 Conclusion ............................................ 337
19 On the Horizon ............................................. 339
   19.1 Computing in the Cloud ................................ 339
   19.2 Ubiquitous Computing .................................. 341
        19.2.1 Everyware ...................................... 343
        19.2.2 Spimes ......................................... 345
   19.3 Conclusion ............................................ 346

Part V Deployment

20 Distributed Object Deployment Using Jini ................... 349
   20.1 RMI Security .......................................... 349
   20.2 An RMI Application .................................... 350
        20.2.1 The Java Proxy ................................. 350
        20.2.2 The Server ..................................... 351
        20.2.3 The Client ..................................... 353
        20.2.4 Setting Up the Environment ..................... 355
   20.3 A Jini Application .................................... 355
        20.3.1 The Remote Interface ........................... 356
        20.3.2 The Server ..................................... 356
        20.3.3 The Client ..................................... 358
   20.4 Running Jini Applications ............................. 360
        20.4.1 HTTP Server .................................... 360
        20.4.2 RMID Daemon .................................... 361
        20.4.3 The Jini Lookup Service ........................ 361
        20.4.4 Running the Service ............................ 361
   20.5 Conclusion ............................................ 362
21 P2P Deployment Using Jxta .................................. 363
   21.1 Example One: Starting the Jxta Platform ............... 364
        21.1.1 Peer Configuration Using Jxta .................. 365
        21.1.2 Using the Jxta Configurator .................... 366
   21.2 Example Two: Using Jxta Pipes ......................... 369
        21.2.1 Running the Examples ........................... 377
   21.3 P2P Environment: The Jxta Approach .................... 378
        21.3.1 Jxta and P2P Advert Availability ............... 378
        21.3.2 Expiration of Adverts .......................... 379
   21.4 Conclusion ............................................ 380
22 Web Services Deployment .................................... 381
   22.1 Data Binding .......................................... 382
   22.2 Setup ................................................. 383
   22.3 Container Classes ..................................... 384
        22.3.1 VEvent Class ................................... 384
        22.3.2 VCard Class .................................... 387
   22.4 Server Implementation ................................. 390
   22.5 Service WSDL .......................................... 395
   22.6 Client Implementation ................................. 397
        22.6.1 Standard Client ................................ 398
        22.6.2 Dynamic Client ................................. 404
   22.7 Conclusion ............................................ 409
23 Web Deployment Using Atom .................................. 411
   23.1 Setup ................................................. 412
   23.2 Utility Classes ....................................... 413
   23.3 The Atom Server ....................................... 414
   23.4 Atom Client ........................................... 421
   23.5 Running the Service and Client ........................ 425
   23.6 Conclusion ............................................ 428
   23.7 Ancillary Code ........................................ 428

A  Want to Find Out More? ..................................... 435
   A.l  The Web ............................................... 435
   A.2  Web 2.0 ............................................... 436
   A.3  Web Services .......................................... 436
   A.4  Grid Computing ........................................ 437
   A.5  P2P Tools and Software ................................ 438
   A.6  Distributed Object Systems ............................ 440
   A.7  Underlying Transport and Discovery Protocols .......... 440

В  RSA Algorithm .............................................. 441

References .................................................... 443

Index ......................................................... 455


Архив выставки новых поступлений | Отечественные поступления | Иностранные поступления | Сиглы
 

[О библиотеке | Академгородок | Новости | Выставки | Ресурсы | Библиография | Партнеры | ИнфоЛоция | Поиск]
  © 1997–2024 Отделение ГПНТБ СО РАН  

Документ изменен: Wed Feb 27 14:20:32 2019. Размер: 28,101 bytes.
Посещение N 2128 c 20.10.2009