HOME > 상세정보

상세정보

Network computing system tutorial

Network computing system tutorial

자료유형
단행본
개인저자
Lyons, Tom.
단체저자명
Hewlett-Packard Company.
서명 / 저자사항
Network computing system tutorial / Tom Lyons (Hewlett Packard).
발행사항
Englewood Cliffs, N.J. :   Prentice Hall,   c1991.  
형태사항
xviii, 334 p. : ill. [some col.] ; 24 cm.
ISBN
0136172423 :
일반주기
"Explains how to use Version 1.5.1 of the Network Computing System (NCS)"--Pref.  
Includes index.  
일반주제명
Computer networks. Computer network architectures. Electronic data processing --Distributed processing.
000 00908camuuu200265 a 4500
001 000000901640
005 19990111132245.0
008 900906s1991 njua 00110 eng
010 ▼a 90047808
020 ▼a 0136172423 : ▼c US$16.95
040 ▼a DLC ▼c DLC ▼d DLC ▼d 244002
049 0 ▼l 151001481
050 0 0 ▼a TK5105.5 ▼b .L96 1991
082 0 0 ▼a 004.6 ▼2 20
090 ▼a 004.6 ▼b L991n
100 1 ▼a Lyons, Tom.
245 1 0 ▼a Network computing system tutorial / ▼c Tom Lyons (Hewlett Packard).
260 ▼a Englewood Cliffs, N.J. : ▼b Prentice Hall, ▼c c1991.
300 ▼a xviii, 334 p. : ▼b ill. [some col.] ; ▼c 24 cm.
500 ▼a "Explains how to use Version 1.5.1 of the Network Computing System (NCS)"--Pref.
500 ▼a Includes index.
650 0 ▼a Computer networks.
650 0 ▼a Computer network architectures.
650 0 ▼a Electronic data processing ▼x Distributed processing.
710 2 ▼a Hewlett-Packard Company.

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 004.6 L991n 등록번호 151001481 도서상태 대출가능 반납예정일 예약 서비스 C

컨텐츠정보

저자소개

Tom Lyons(지은이)

정보제공 : Aladin

목차


contents
Preface = xiii
 About this Book = xiii
 Using this Book = xv
 Sample Programs = xv
 Related Manuals = xvi
 Typographic Conventions = xvii
 Acknowledgements = xviii
Chapter 1 The Network Computing Architecture and Network Computing System = 1
 1.1 The Distributed Computing Environment = 1
 1.2 NCA = 2
  1.2.1 Remote Procedure Calls = 3
  1.2.2 The Network Interface Definition Language = 5
  1.2.3 The Network Data Representation = 6
  1.2.4 Clients and Servers = 7
  1.2.5 Brokers = 7
 1.3 A Summary of NCA = 8
 1.4 NCS = 9
  1.4.1 What You Need to Get Started = 10
  1.4.2 NCS and NCA = 10
Chapter 2 Calling A Remote Procedure = 13
 2.1 The rrpc-$inq_stats Call = 13
  2.1.1 RPC Handles = 14
  2.1.2 UUIDs and uuid_$nil = 15
  2.1.3 A Digression on Sockets = 16
  2.1.4 How NCS Uses Socket Addresses = 17
  2.1.5 Handles and Binding = 17
 2.2 Compiling the Program = 18
  2.2.1 Dealing with $s = 18
  2.2.2 Using the NCS C Preprocessor = 19
 2.3 Running the Program = 19
 2.4 What's Happening? = 20
 2.5 making Repeated Calls to a Single Server = 23
 2.6 How NCS Represents Socket Addresses = 24
 2.7 Identifying a Server = 25
 2.8 Specifying a Server = 28
 2.9 Other Servers = 30
Chapter 3 A Simple Distributed Application = 31
 3.1 A Conventional Application = 31
 3.2 A Distributed Application = 34
 3.3 The Network Interface Definition File = 34
  3.3.1 Attributes = 35
  3.3.2 The NIDL Compiler = 36
  3.3.3 Compiling the Stubs = 37
  3.3.4 How Stubs Work = 39
  3.3.5 Stub Code = 40
 3.4 Binding with a Generic Handle = 40
  3.4.1 The_bind Handle Binding Function = 43
  3.4.2 The_unbind Handle Releasing Function = 43
  3.4.3 Caching RPC Handles = 43
  3.4.4 Compiling the Handle Binding Code = 44
 3.5 Specifying Pathnames in Distributed Applications = 44
 3.6 The Server Code = 45
  3.6.1 Registering with NCK = 47
   3.6.1.1 The Interface Specification = 47
   3.6.1.2 The Server EPV = 47
   3.6.1.3 The Manager EPV = 48
   3.6.1.4 The rpc_$register_mgr Call = 48
   3.6.1.5 The Ib_$register Call = 48
  3.6.2 Servicing RPCs = 49
  3.6.3 Catching Signals and Faults = 50
  3.6.4 Compiling the Server Code = 51
 3.7 Building the Distributed Application = 51
 3.8 Running the Distributed Application = 54
Chapter 4 Transmittable Types, Error Reporting and Address Family Independence = 57
 4.1 Data Types in NIDL and C = 57
  4.1.1 Pointers, Arrays, and Strings = 60
  4.1.2 Stubs and Prototype Declarations = 63
 4.2 Status Checking = 64
  4.2.1 A Simple Completion Status Checker = 64
  4.2.2 Adding Status Checking to the Application = 65
  4.2.3 Rebuilding and Running the Applications = 70
 4.3 Address Family Independence = 72
  4.3.1 Registering in Multiple Address Fmilies = 73
  4.3.2 Binding in Multiple Address Families = 77
Chapter 5 A Tour of NCS = 81
 5.1 NIDL = 81
  5.1.1 The Format of a NIDL File = 82
  5.1.2 The Interface Identifier and Interface Attribute List = 83
  5.1.3 Import Declarations = 85
  5.1.4 Constant Declarations = 86
  5.1.5 Type Declarations = 87
   5.1.5.1 NIDL Scalar Type Specifiers = 88
   5.1.5.2 Constructed Types = 92
   5.1.5.3 Arrays, last_is and max_is = 92
   5.1.5.4 Strings = 99
   5.1.5.5 Structures = 99
   5.1.5.6 Unions = 100
   5.1.5.7 Pointers = 102
  5.1.6 Operation Declarations = 103
   5.1.6.1 Operation Attributes = 103
   5.1.6.2 Parameter Attributes = 105
 5.2 using transmit_as to Marshal an Array of Pointers = 106
 5.3 Invoking the NIDL Compiler = 115
 5.4 A Few Last Words on NIDL and nidl = 116
 5.5 The NCK Library =118
  5.5.1 The lb_$ Calls = 120
  5.5.2 The rpc_$ and rrpc_$ Calls = 121
  5.5.3 The socket_$ Calls = 123
  5.5.4 The uuid_$ Calls = 126
 5.6 Error and Fault Handling Calls = 128
  5.6.1 Establishing Cleanup Handlers = 129
  5.6.2 Leaving Cleanup Handlers = 130
  5.6.3 Releasing Cleanup Handlers = 132
  5.6.4 Enabling Faults on Leaving a Cleanup Handler = 134
  5.6.5 Inhibting Asynchronous Faults = 134
  5.6.6 The Volatile Macro = 135
  5.6.7 More on status_$t = 136
  5.6.8 Detecting Communication Faults = 137
  5.6.9 Using comm_status to Trap Communication Faults = 138
  5.6.10 PPFM and Signals = 139
  5.6.11 Exception Handling in Distributed Applications = 140
 5.7 Daemons and Support Tools = 141
  5.7.1 The Location Broker = 141
   5.7.1.1 The Local Location Broker Daemon = 141
   5.7.1.2 The Global Location Broker Daemon = 141
   5.7.1.3 The LB Administration Tools = 142
  5.7.2 The UUID Generator = 143
  5.7.3 The Status Code Interpreter = 144
Chapter 6 Designing a Distributed Application = 145
 6.1 Traditional Programming with Procedure Calls = 145
 6.2 Frogramming with RPCs = 146
  6.2.1 Narrow Interfaces = 146
  6.2.2 Dynamic Binding = 147
  6.2.3 Designing for NCS = 147
 6.3 Using Encapsulation = 148
 6.4 Designing a Good Interface = 148
 6.5 A Simple Database Manager = 152
  6.5.1 A Digression on Defining the Manager EPV = 159
  6.5.2 Rapid Prototyping = 161
 6.6 The Complete Database Server = 161
  6.6.1 Building the Database Daemon = 168
  6.6.2 Running the Database Daemon = 169
 6.7 Using the Database Daemon = 170
  6.7.1 Modifying the Message Server Program = 171
  6.7.2 Building and Running the User Daemon Program = 180
  6.7.3 Modifying the Message Client Program = 182
  6.7.4 Building the Net Message Client Program = 185
  6.7.5 Putting all the Pieces Together = 186
 6.8 using make to Maintain Distributed Applications = 188
  6.8.1 NIDL File Dependency Rules = 190
  6.8.2 Building the Application with make = 191
Chapter 7 Developing a Distributed Application = 193
 7.1 A Digression on Address Family Support = 193
 7.2 Creating a New Interface Version = 194
  7.2.1 A Manager for Version 2 of the db Interface = 196
  7.2.2 A New Database Daemon = 202
  7.2.3 Updating the User Message Daemon = 208
  7.2.4 Updating the Message Sending Program = 218
  7.2.5 A Makefile for Version 2 of the Application = 221
  7.2.6 Running Version 2 of the Application = 222
 7.3 Supporting Obsolete Clients = 226
  7.3.1 Implementing Multiple Interface Versions in a Manager = 227
  7.3.2 Exporting Multiple Versions of an Interface from a Server = 228
  7.3.3 Building and Running the New Database Daemon = 236
 7.4 Extending an Interface = 238
 7.5 Adding a New Interface to a Server = 242
Chapter 8 Recovery Techniques = 253
 8.1 Detecting Multiple Instances of a Server = 253
 8.2 Detecting Server Crashes = 255
  8.2.1 Using rrpc_$are_you_there = 256
  8.2.2 Long and Short RPC Timeouts = 259
  8.2.3 Calling a dba Operation from the dba Server = 262
  8.2.4 Using the Client EPV = 264
 8.3 Adding Persistence to a Server = 267
  8.3.1 Save and Restore Functions = 268
 8.4 Shutting Down a Server = 270
Chapter 9 Object-Oriented Distributed Computing = 273
 9.1 Using the Object Identifier = 273
  9.1.1 Binding a Handle on an Object = 275
  9.1.2 Registering an Object with NCS = 276
  9.1.3 Registering a User as an Object = 278
 9.2 Locating Objects = 281
  9.2.1 The Structure of an LB Entry = 281
  9.2.2 The LB Lookup Calls = 282
 9.3 The NCS Object Model = 283
  9.3.1 Objects and Types = 283
  9.3.2 Types and Intertaces = 284
  9.3.3 Object-Oriented Binding = 291
 9.4 Object Orientation in Distributed Systems = 305
  9.4.1 Re-use with Encapsulation = 306
  9.4.2 Flexible Binding = 306
  9.4.3 Object-Oriented Programming in the Large = 306
 Glossary = 309
 Index = 319
Figures
 1-1. The Heterogeneous Distributed Computing Enviornment = 2
 1-2. A Local Procedure Call = 3
 1-3. Transfer of Control in a Local Procedure Call = 4
 1-4. Transfer of Data in a Remote Procedure Call = 4
 1-5. Transfer of Control in a Remote Procedure Call = 5
 1-6. The Client and Server of and Interface = 7
 1-7. Client and Server Relationships = 7
 1-8. Structure of the Network Computing Architecture = 8
 2-1. Making a Remote Procedure Call : rpcall1.c = 15
 2-2. Making a Series of RPCs to the Same Server : rpcall2.c = 23
 2-3. Identifying a Server : rpcall3.c = 26
 2-4. Specifying a Server : rpcall4.c = 29
 3-1. The client.c File = 32
 3-2. The manager.c File = 32
 3-3. The ms.h File = 32
 3-4. A Local Application = 33
 3-5. A NIDL Specification : ms.idl = 34
 3-6. Translating an Interface Definition into Stub and Header Files = 38
 3-7. Stubs Make RPCs Appear Local to the Application Code = 39
 3-8. Handle Binding and Unbinding : bind.c = 42
 3-9. Registration and Unregistration Code : server.c = 46
 3-10. Cleanup Handler Code : in server.c = 50
 3-11. The Completed Distributed Application = 53
 4-1. A Simple Network Time of Day Interface = 58
 4-2. Client Calling wwv_current_time = 59
 4-3. A NIDL Specification : ms.idl = 61
 4-4. How a Parameter Declaration Affects String Marshaling = 62
 4-5. Declaration of ms_show Prodeced by NIDL Compiler : in ms.h = 63
 4-6. A Function for Testing Completion Statuses : util.c = 65
 4-7. Completion Status Checking : bind. c = 66
 4-8. Completion Status Checking : server.c = 68
 4-9. Inquiring about Supported Address Families : in server.c = 74
 4-10. Registering a Server on Mulitple Address Families : in server.c = 75
 4-11. Unegistering a Server in Multiple Address Families : in server.c = 76
 4-12. Binding in Multiple Address Families : in bind.c = 78
 4-13. The ms_string_t_unbind Function : in bind.c = 79
 5-1. Casting Constants when Passed to NCS Calls = 91
 5-2. Marshaling and Unmarshaling an Open Array with max_is and last_is = 95
 5-3. An Argument Vector of Type char *argv[] = 107
 5-4. A Network Interface for Remote Command-Line Execution : rex.idl = 108
 5-5. Translating an Argument Vector into an Open Structure : in rex_xmit.c = 111
 5-6. The Array args in the Transmittable Structure of Type rex_args_t = 112
 5-7. Recovering an Argument Vector from an Open Structure : in rex_xmit.c = 113
 5-8. Data Structure Recovered by rex_argv_t_from_xmit_rep = 114
 5-9. Functions To Free Storage Allocated for Translation : in rex_xmit.c = 114
 5-10. Layout of a status_$t Value = 136
 6-1. Message System Database Interface : db1.idl = 150
 6-2. Definition of Types and Constants for the db Interface : db0.idl = 151
 6-3. Message Client and Server as Clients of the Database Server = 152
 6-4. Include Files and Global Data Structures : in db1.c = 153
 6-5. Private set_address and new_entry Functions : in db1.c = 154
 6-6. Public db_register Operation : in db1.c = 156
 6-7. Public db_unregister Operation : in db1.c =157
 6-8. Public db_lookup Operation : in db1.c = 158
 6-9. The Manager EPV for the db_v1 Interface, db_v1_manager_epv : in db1.c = 158
 6-10. The main Function : in dbd1.c = 162
 6-11. Global Declarations : in dbd1.c = 163
 6-12. The Initialize Function in dbd1.c = 164
 6-13. The get_socket Function : in dbd1.c = 165
 6-14. Registration Code : in dbd1.c = 166
 6-15. The Unregistration Code : in dbd1.c = 167
 6-16. New Utility Functions : util.c = 168
 6-17. Declarations of Utility Functions : util.h = 169
 6-18. Global Declarations : in userd1.c = 171
 6-19. The Initialize and get_socket Functions : in userd1.c = 172
 6-20. The register_name Function : in userd1.c = 173
 6-21. The bind_db_handle Function : in usefd1.c = 174
 6-22. The Register Function : in userd1.c = 175
 6-23. The Unregistration Code : in userd1.c = 177
 6-24. The main Function : in userd1.c = 179
 6-25. The ms User Manager : ms_user.c = 180
 6-26. Binding a Handle on a User Name : in bind1.c = 182
 6-27. The ms_string_t_unbind Function : in bind1.c = 183
 6-28. The bind_db_handle Function : in bind1.c = 184
 6-29. The ms Client Code for Sending Messages : sendmsg.c = 185
 6-30. Makefile for the New Message System = 189
 7-1. New Version of db Interface : db2.idl = 195
 7-2. New Type and Constant Declarations for db Interface : db0.idl = 196
 7-3. Global Declarations and Data Structures : in db2.c = 197
 7-4. The set_address Functon : in db2.c = 198
 7-5. The new_entry Function and db_register Opreation : in db2.c = 199
 7-6. The db_unregister Operation : in db2.c = 200
 7-7. The db_lookup_name Operation : in db2.c = 201
 7-8. Definition of the Version 2 Manager EPV : in db2.c = 202
 7-9. A Server for Version 2 of the db Interface : in dbd2.c = 203
 7-10. The get_sockets Function : in dbd2.c = 204
 7-11. Server Registration Code : in dbd2.c = 205
 7-12. Server Unregistration Code : in dbd2.c = 206
 7-13. The main Function : in dbd2.c = 207
 7-14. Global Declarations and Initialize Function : in userd2.c = 209
 7-15. The get_sockets Function : in userd2.c = 210
 7-16. The bind_db_handles Function : in userd2.c = 211
 7-17. The register_name Function : in userd2.c = 212
 7-18. The Register Function : in userd2.c = 214
 7-19. The unregister_uuid Function : in userd2.c = 215
 7-20. The Unregister Function : in userd2.c = 216
 7-21. Function main : in userd2.c = 217
 7-22. The bind_db_handle Function : in bind2.c = 219
 7-23. The ms_string_t_bind and ms_string_t_unbind Functions : in bind2.c = 220
 7-24. A Makefile for Version 2 of the Application = 221
 7-25. Defining Multiple Manager EPVs and a db_lookup Operation : db12.c = 228
 7-26. Multiple Manager EPVs and Other Global Declarations : in dbd12.c = 229
 7-27. The Initialize Function : in dbd12.c = 230
 7-28. The get_sockets Function : in dbd12.c = 231
 7-29. The Register Function : in dbd12.c = 233
 7-30. The Unregister Function : in dbd12.c = 234
 7-31. The main Function : in dbd12.c = 235
 7-32. Makefile for Building the Multiple Version Database Daemon dbd12 = 237
 7-33. New db_lookup_uuid Operation Added to db_v2 interface : db2.idl = 239
 7-34. Implementation of db_lookup_uuid operation : in db12.c = 240
 7-35. New Database Interface : dba.idl = 243
 7-36. Manager Module for dba Interface : dba.c = 244
 7-37. Header Files and Manager EPV Declarations in dbd12a.c = 245
 7-38. Global Declarations in dbd12a.c = 246
 7-39. The Initialize Function in dbd12a.c = 247
 7-40. The get_sockets Function : in dbd12a.c = 248
 7-41. The Register Function : in dbd12a.c = 249
 7-42. The Unregister Function : in dbd12a.c = 250
 7-43. The main Function : in dbd12a.c = 251
 8-1. A Function to Check for Multiple Database Daemons : in dbd12a.c = 255
 8-2. Testing Whether a Server is Still Responding to RPCs : in dbd12a.c = 257
 8-3. A check_for_daemons Function That Calls server_responding : in dbd12a.c = 258
 8-4. Using a Short Timeout in the server_responding Function : in dbd12a.c = 261
 8-5. A server_responding Function Specialized for the dba Interface : in dbd12a.c = 262
 8-6. Calling a Remote Operation Directly Throuhg the Client EPV : in dbd12a.c = 266
 8-7. Function to Save the Contents of the Name Database : in dbio.c = 268
 8-8. Function to Restore the Contents of the Name Database : in dbio.c = 269
 8-9. A New main Function to Save and Restore Database Contents : in dbd12a.c = 270
 8-10. New main Function to Enable Remote Shutdowns in dbd12a.c = 271
 9-1. Specifying an Object UUID in the ms_string_t_bind Function : in bind.c = 275
 9-2. Defining the User Type UUID : id_defs.h = 277
 9-3. Defining the User Type UUID : in userd.c = 278
 9-4. Mapping User Name onto an Object Identifier : in userd.c = 279
 9-5. Registering a User Object with the Database Daemon and NCS : in userd.c = 280
 9-6. Defining the Database Object and Type UUIDs in id_defs.h = 284
 9-7. Registering the Name Database Object with NCS : in dbd.c = 286
 9-8. Binding on the User Name Database Object : in dbd.c = 287
 9-9. Checking for Other db_oid Objects in dbd.c = 289
 9-10. Binding Handles on the User Name Database in userd.c = 290
 9-11. Binding a Handle on the User Name Database in bind.c = 291
 9-12. Defining a Type UUID for the Log Type : in id_defs.h = 292
 9-13. A Manager for the ms Interface to the Log Type : in ms_log.c = 293
 9-14. Manager EPVs and Global Declarations : in loguserd.c = 295
 9-15. The Initialize Function : in loguserd.c = 296
 9-16. The get_sockets Function : in loguserd.c = 297
 9-17. The bind_db_handles Function : in loguserd.c = 298
 9-18. Registering User and Log Objects : in loguserd.c = 299
 9-19. Registering Object Names : in loguserd.c = 301
 9-20. Unregistering Multiple Objects : in loguserd.c = 303
 9-21. The main Function : in loguserd.c = 304
Tables
 2-1. Socket Address Strings in the IP and DDS Address Families = 25
 5-1. Summary of NIDL Scalar Type Specifiers = 90
 5-2. Table of NIDL Compiler Reserved Words = 117
 5-3. Location Broker Client Agent Interface = 121
 5-4. Local and Remote RPC Runtime Interface = 122
 5-5. Socket Management Interface = 124
 5-6. UUID Manipulation Interface = 127
 5-7. Error and Fault Handling Calls = 128
 5-8. Signals Intercepted by PPFM = 129


관련분야 신착자료

김자미 (2021)