圖書信息
出版社: 人民郵電出版社; 第1版 (2009年5月1日)
叢書名: 圖靈原版計算機科學系列
平裝: 1070頁
正文語種: 英語
開本: 16
ISBN: 9787115195869
條形碼: 9787115195869
尺寸: 23.1 x 18.8 x 5.1 cm
重量: 1.5 Kg
作者簡介
作者:(美國)Jim Gray (美國)Andreas Reuter
Jim Gray ,(1944-2007)計算機科學大師,因在資料庫和事務處理研究和實現方面的開創性貢獻而獲得1998年圖靈獎。美國科學院、工程院兩院院士,ACM和IEEE兩會會士:他25歲成為加州大學伯克利分校計算機科學學院第一位博士。在IBM工作期間參與和主持了IMS、System R、SQUDS、DB2等項目的開發。後任職於微軟研究院,主要關注套用資料庫技術來處理各學科的海量信息。2007年1月獨自駕船出海後失蹤。
內容簡介
《事務處理概念與技術(英文版)》從系統的角度全面闡述事務處理的概念和技術,其中涉及終端上的表示管理、通信子系統、作業系統、資料庫、程式設計語言的運行時系統以及套用開發環境等。《事務處理概念與技術(英文版)》重點放在事務處理的基本概念上,主要闡述事務概念是如何用於解決分散式系統問題的,以及利用這些概念如何能夠在有限的資金和風險範圍內建立高性能、高可用性的套用系統。全書重點講述了事務處理基礎、容錯基礎知識、面向事務的計算、並發控制、恢復、事務型檔案系統、系統概覽等7個主題,介紹了事務的ACID特性、並發的理論和實踐、事務管理和恢復技術等方面的內容,最後還介紹了一個非常重要的資源管理器的實現。《事務處理概念與技術(英文版)》主要面向計算機及相關專業的高年級本科生和研究生,適合作為事務處理導論、資料庫系統、分散式系統、作業系統等課程的輔助教材,需要了解事務處理系統的開發人員也可將其作為基本參考書。
目錄
Contents
PART ONE——The Basics of Transaction Processing
1 INTRODUCTION 3
1.1 Historical Perspective 3
1.2 What Is a TransacUon Processing System? 5
1.2.1 The End User's View of a Transaction Processing System 8
1.2.2 The Administrator/Operator's View of a TP System 9
1.2.3 Application Designer's View of a TP System 12
1.2.4 The Resource Manager's View of a TP System 18
1.2.5 TP System Core Services 21
1.3 A Transaction Processing System Feature List 22
1.3.1 Application Development Features 22
1.3.2 Repository Features 23
1.3.3 TP Monitor Features 26
1.3.4 Data Communications Features 29
1.3.5 Database Features 33
1.3.6 Operations Features 39
1.3.7 Education and Testing Features 40
1.3.8 Feature Summary 41
1.4 Summary 42
1.5 Historical Notes 43
Exercises 44
Answers 46
2 BASIC COMPUTER SCIENCE TERMINOLOGY 47
2.1 Introduction 47
2.1.1 Units 47
2.2 Basic Hardware 48
2.2.1 Memories 49
2.2.2 Processors 57
2.2.3 Communications Hardware 58
2.2.4 Hardware Architectures 59
2.3 Basic Software——Address Spaces, Processes, Sessions 62
2.3.1 Address Spaces 62
2.3.2 Processes, Protection Domains, and Threads 63
2.3.3 Messages and Sessions 66
2.4 Generic System Issues 67
2.4.1 Clients and Servers 67
2.4.2 Naming 69
2.4.3 Authentication 70
2.4.4 Authorization 71
2.4.5 Scheduling and Performance 72
2.4.6 Summary 74
2.5 Files 74
2.5.1 File Operations 74
2.5.2 File Organizations 75
2.5.3 Distributed Files 77
2.5.4 SQL 78
2.6 Software Performance 78
2.7 Transaction Processing Standards 80
2.7.1 Portability versus Interoperability Standards 80
2.7.2 APIs and FAPs 80
2.7.3 LU6.2, a de facto Standard 82
2.7.4 OSI-TP with X/Open DTP, a de jure Standard 83
2.8 Summary 85
Exercises 86
Answers 88
PART TWO——The Basics of Fault Tolerance
3 FAULT TOLERANCE 93
3.1 Introduction 93
3.1.1 A Crash Course in Simple Probability 93
3.1.2 An External View of Fault Tolerance 95
3.2 Definitions 98
3.2.1 Fault, Failure, Availability, Reliability 98
3.2.2 Taxonomy of Fault Avoidance and Fault Tolerance 99
3.2.3 Repair, Failfast, Modularity, Recursive Design 100
3.3 Empirical Studies 100
3.3.1 Outages Are Rare Events 100
3.3.2 Studies of Conventional Systems 101
3.3.3 A Study of a Fault-Tolerant System 103
3.4 Typical Module Failure Rates 105
3.5 Hardware Approaches to Fault Tolerance 109
3.5.1 The Basic N-Plex Idea: How to Build Failfast Modules 109
3.5.2 Failfast versus Failvote Voters in an N-Plex 109
3.5.3 N-Plex plus Repair Results in High Availability 112
3.5.4 The Voter's Problem 113
3.5.5 Summary 115
3.6 Software Is the Problem 115
3.6.1 N-Version Programming and Software Fault Tolerance 116
3.6.2 Transactions and Software Fault Tolerance 117
3.6.3 Summary 119
3.7 Fault Model and Software Fault Masking 119
3.7.1 An Overview of the Model 120
3.7.2 Building Highly Available Storage 122
3.7.3 Highly Available Processes 128
3.7.4 Reliable Messages via Sessions and Process Pairs 138
3.7.5 Summary of the Process-Message-Storage Model 147
3.8 General Principles 148
3.9 A Cautionary Tale——System Delusion 149
3.10 Summary 150
3.11 Historical Notes 151
Exercises 152
Answers 155
PART THREE——Transaction-Oriented Computing
4 TRANSACTION MODELS 159
4.1 Introduction 159
4.1.1 About this Chapter 160
4.2 Atomic Actions and Flat Transactions 160
4.2.1 Disk Writes as Atomic Actions 161
4.2.2 A Classification of Action Types 163
4.2.3 Flat Transactions 165
4.2.4 Limitations of Flat Transactions 171
4.3 Spheres of Control 174
4.3.1 Definition of Spheres of Control 174
4.3.2 Dynamic Behavior of Spheres of Control 176
4.3.3 Summary 180
4.4 A Notation for Explaining Transaction Models 180
4.4.1 What Is Required to Describe Transaction Models? 181
4.4.2 Elements of the Notation 183
4.4.3 Defining Transaction Models by a Set of Simple Rules 184
4.5 Flat Transactions with Savepoints 187
4.5.1 About Savepoints 187
4.5.2 Developing the Rules for the Savepoint Model 189
4.5.3 Persistent Savepoints 190
4.6 Chained Transactions 192
4.7 Nested Transactions 195
4.7.1 Definition of the Nesting Structure 195
4.7.2 Using Nested Transactions 198
4.7.3 Emulating Nested Transactions by Savepoints 200
4.8 Distributed Transactions 202
4.9 Multi-Level Transactions 203
4.9.1 The Role of a Compensating Transaction 204
4.9.2 The Use of Multi-Level Transactions 206
4.10 Open Nested Transactions 210
4.11 Long-Lived Transactions 210
4.11.1 Transaction Processing Context 212
4.11.2 The Mini-Batch 215
4.11.3 Sagas 217
4.12 Exotics 219
4.13 Summary 221
4.14 Historical Notes 222
Exercises 225
5 TRANSACTION PROCESSING MONITORS——An Overview 239
5.1 Introduction 239
5.2 The Role of TP Monitors in Transaction Systems 239
5.2.1 The Transaction-oriented Computing Style 241
5.2.2 The Transaction Processing Services 249
5.2.3 TP System Process Structure 252
5.2.4 Summary 258
5.3 The Structure of a TP Monitor 259
5.3.1 The TP Monitor Components 260
5.3.2 Components of the Transaction Services 263
5.3.3 TP Monitor Support for the Resource Manager Interfaces 266
5.4 Transactional Remote Procedure Calls: The Basic Idea 267
5.4.1 Who Participates in Remote Procedure Calls? 267
5.4.2 Address Space Structure Required for RPC Handling 268
5.4 3 The Dynamics of Remote Procedure Calls 270
5.4.4 Summary 273
5.5 Examples of the Transaction-Oriented Programming Style 274
5.5.1 The Basic Processing Loop 275
5.5.2 Attaching Resource Managers to Transactions: The Simple Cases 276
5.5.3 Attaching Resource Managers to Transactions: The sophisticated Case 282
5.5.4 Using Persistent Savepoints 284
5.6 Terminological Wrap-Up 285
5.7 Historical Notes 286
Exercises 288
Answers 289
6 TRANSACTION PROCESSING MONITORS 293
6.1 Introduction 293
6.2 Transactional Remote Procedure Calls 295
6.2.1 The Resource Manager Interface 297
6.2.2 What the Resource Manager Has to Do in Support of Transactions 299
6.2.3 Interfaces between Resource Managers and the TP Monitor
301
6.2.4 Resource Manager Calls versus Resource Manager Sessions
304
6.2.5 Summary 312
6.3 Functional Principles of the TP Monitor 312
6.3.1 The Central Data Structures of the TPOS 313
6.3.2 Data Structures Owned by the TP Monitor 318
6.3.3 A Guided Tour Along the TRPC Path 324
6.3.4 Aborts Racing TRPCs 331
6.3.5 Summary 332
6.4 Managing Request and Response Queues 333
6.4.1 Short-Term Queues for Mapping Resource Manager Invocations 335
6.4.2 Durable Request Queues for Asynchronous Transaction Processing 336
6.4.3 Summary 347
6.5 Other Tasks of the TP Monitor 347
6.5.1 Load Balancing 347
6.5.2 Authentication and Authorization 354
6.5.3 Restart Processing 360
6.6 Summary 362
6.7 Historical Notes 364
Exercises 366
Answers 368
PART FOUR——Concurrency Control
7 isolation CONCEPTS 375
7.1 Overview 375
7.2 Introduction to Isolation 375
7.3 The Dependency Model of Isolation 378
7.3.1 Static versus Dynamic Allocation 378
7.3.2 Transaction Dependencies 379
7.3.3 The Three Bad Dependencies 380
7.3.4 The Case for a Formal Model of Isolation 381
7.4 Isolation: The Application Programmer's View 382
7.5 Isolation Theorems 383
7.5.1 Actions and Transactions 383
7.5.2 Well-Formed and Two-Phased Transactions 385
7.5.3 Transaction Histories 385
7.5.4 Legal Histories and Lock Compatibility 386
7.5.5 Versions, Dependencies, and the Dependency Graph 387
7.5.6 Equivalent and Isolated Histories: BEFORE, AFTER, and Wormholes 388
7.5.7 Wormholes Are Not Isolated 389
7.5.8 Summary of Definitions 390
7.5.9 Summary of the Isolation Theorems 396
7.6 Degrees of Isolation 397
7.6.1 Degrees of Isolation Theorem 398
7.6.2 SQL and Degrees of Isolation 398
7.6.3 pros and Cons of Low Degrees of Isolation 400
7.6.4 Exotic SQL Isolation——Read-Past and Notify Locks 402
7.7 Phantoms and predicate Locks 403
7.7.1 The Problem with Predicate Locks 405
7.8 Granular Locks 406
7.8.1 Tree Locking and Intent Lock Modes 406
7.8.2 Update Mode Locks 409
7.8.3 Granular Locking Summary 410
7.8.4 Key-Range Locking 411
7.8.5 Dynamic Key-Range Locks: Previous-Key and Next-Key Locking 412
7.8.6 Key-Range Locks Need DAG Locking 414
7.8.7 The DAG Locking Protocol 415
7.8.8 Formal Definition of Granular Locks on a DAG 417
7.9 Locking Heuristics 419
7.10 Nested Transaction Locking 421
7.11 Scheduling and Deadlock 422
7.11.1 The convoy Phenomenon 423
7.11.2 Deadlock Avoidance versus toleration 424
7.11.3 The Wait-for Graph and a Deadlock Detector 425
7.11.4 Distributed Deadlock 426
7.11.5 Probability of Deadlock 428
7.12 Exotics 429
7.12.1 Field Calls 430
7.12.2 Escrow Locking and Other Field Call Refinements 432
7.12.3 Optimistic and Timestamp Locking 434
7.12.4 Time Domain Addressing 435
7.13 Summary 437
7.14 Historical Notes 438
Exercises 440
Answers 442
8 LOCK IMPLEMENTATION 449
8.1 Introduction 449
8.1.1 About This Chapter 449
8.1.2 The Need for Parallelism within the Lock Manager 449
8.1.3 The Resource Manager and Lock Manager Address Space 450
8.2 Atomic Machine Instructions 452
8.3 Semaphores 454
8.3.1 Exclusive Semaphores 454
8.3.2 Crabbing: Traversing Shared Data Structures 456
8.3.3 Shared Semaphores 458
8.3.4 Allocating Shared Storage 461
8.3.5 Semaphores and Exceptions 462
8.4 Lock Manager 464
8.4.1 Lock Names 464
8.4.2 Lock Queues and Scheduling 465
8.4.3 Lock Duration and Lock Counts 467
8.4.4 Lock Manager Interface and Data Structures 469
8.4.5 Lock Manager Internal Logic 471
8.4.6 Lock Escalation and Generic Unlock, Notify Locks 477
8.4.7 Transaction Savepoints, Commit, and Rollback 478
8.4.8 Locking at System Restart 479
8.4.9 Phoenix Transactions 480
8.4.10 Lock Manager Configuration and Complexity 481
8.4.11 Lock Manager Summary 481
8.5 Deadlock Detection 481
8.6 Locking for Parallel and Parallel Nested Transactions 483
8.7 Summary 484
8.8 Historical Notes 485
Exercises 485
Answers 488
PART FIVE——Recovery
9 LOG MANAGER 493
9.1 Introduction 493
9.1.1 Uses of the Log 493
9.1.2 Log Manager Overview 494
9.1.3 The Log Manager's Relationship to Other Services 495
9.1.4 Why Have a Log Manager? 496
9.2 Log Tables 496
9.2.1 Mapping the Log Table onto Files 497
9.2.2 Log Sequence Numbers 499
9.3 Public Interface to the Log 500
9.3.1 Authorization to Access the Log Table 500
9.3.2 Reading the Log Table 500
9.3.3 Writing the Log Table 502
9.3.4 Summary 503
9.4 Implementation Details of Log Reads and Writes 504
9.4.1 Reading the Log 504
9.4.2 Log Anchor 505
9.4.3 Transaction Related Anchors 505
9.4.4 Log Insert 506
9.4.5 allocate and Flush Log Daemons 507
9.4.6 Careful Writes: Serial or Ping-Pong 508
9.4.7 Group Commit, Batching, Boxcarring 509
9.4.8 WADS Writes 510
9.4.9 Multiple Logs per Transaction Manager 511
9.4.10 Summary 511
9.5 Log Restart Logic 511
9.5.1 Saving the Transaction Manager Anchor 512
9.5.2 Preparing for Restart: Careful Writes of the Log Anchor 512
9.5.3 Finding the Anchor and Log End at Restart 513
9.6 Archiving the Log 514
9.6.1 How Much of the Log Table Should Be Online? 514
9.6.2 Low-Water Marks for Rollback, Restart, Archive 515
9.6.3 Dynamic Logs: Copy Aside versus Copy Forward 516
9.6.4 Archiving the Log Without Impacting Concurrent Transactions 517
9.6.5 Electronic vaulting and Change Accumulation 518
9.6.6 Dealing with Log Manager-Archive Circularity 519
9.7 Logging in a Client-Server Architecture 519
9.8 Summary 520
9.9 Historical Notes 521
Exercises 521
Answers 523
10 TRANSACTION MANAGER CONCEPTS 529
10.1 Introduction 529
10.2 Transaction Manager Interfaces 529
10.2.1 The Application Interface to Transactions 531
10.2.2 The Resource Manager Interface to Transactions 534
10.2.3 Transaction Manager Functions 536
10.3 Transactional Resource Manager Concepts 538
10.3.1 The DO-UNDO-REDO Protocol 538
10.3.2 The Log Table and Log Records 540
10.3.3 Communication Session Recovery 541
10.3.4 Value Logging 545
10.3.5 Logical Logging 546
10.3.6 Physiological Logging 548
10.3.7 Physiological Logging Rules: FIX, WAL, and Force-Log-at-commit 550
10.3.8 Compensation Log Records 558
10.3.9 Idempotence of Physiological REDO 560
10.3.10 Summary 561
10.4 Two-Phase Commit: Making Computations Atomic 562
10.4.1 Two-Phase Commit in a Centralized System 563
10.4.2 Distributed Transactions and Two-Phase Commit 567
10.5 Summary 573
10.6 Historical Notes 574
Exercises 576
Answers 578
11 TRANSACTION MANAGER STRUCTURE 585
11.1 Introduction 585
11.2 Normal Processing 585
11.2.1 Transaction Identifiers 586
11.2.2 Transaction Manager Data Structures 586
11.2.3 MyTrid(), Status_Transaction(), Leave_Transaction(), Resume_Transaction() 590
11.2.4 Savepoint Log Records 591
11.2.5 Begin Work()592
11.2.6 Local CommiLWork(). 593
11.2.7 Remote Commit_Work(): Prepare() and Commit() 596
11.2.8 Save_Work() and Read_Context() 599
11.2.9 Rollback_Work() 601
11.3 Checkpoint 604
11.3.1 Sharp Checkpoints 605
11.3.2 Fuzzy Checkpoints 606
11.3.3 Transaction Manager Checkpoint 607
11.4 System Restart 609
11.4.1 Transaction States at Restart 610
11.4.2 Transaction Manager Restart Logic 610
11.4.3 Resource Manager Restart Logic, Identify() 613
11.4.4 Summary of the Restart Design 616
11.4.5 Independent Resource Managers 616
11.4.6 The Two-Checkpoint Approach: A Different Strategy 616
11.4.7 Why Restart Works 618
11.4.8 Distributed Transaction Resolution: Two-Phase Commit at Restart 620
11.4.9 Accelerating Restart 620
11.4.10 Other Restart Issues 621
11.5 Resource Manager Failure and Restart 622
11.6 Archive Recovery 622
11.7 Configuring the Transaction Manager 624
11.7.1 Transaction Manager Size and Complexity 624
11.8 Summary 624
Exercises 625
Answers 626
12 ADVANCED TRANSACTION MANAGER TOPICS 631
12.1 Introduction 631
12.2 Heterogeneous Commit Coordinators 631
12.2.1 Closed versus Open Transaction Managers 632
12.2.2 Interoperating with a Closed Transaction Manager 632
12.2.3 Writing a Gateway to an Open Transaction Manager 635
12.2.4 Summary of Transaction Gateways 638
12.3 Highly Available (Non-Blocking) Commit Coordinators 638
12.3.1 Heuristic Decisions Resolve blocked Transaction Commit 640
12.4 Transfer-of-Commit 641
12.5 0ptimizations of Two-Phase Commit 643
12.5.1 Read-Only Commit Optimization 644
12.5.2 Lazy Commit Optimization 645
12.5.3 Linear Commit Optimization 645
12.6 Disaster Recovery at a Remote Site 646
12.6.1 System Pair Takeover 648
12.6.2 Session Switching at Takeover 649
12.6.3 Configuration Options: 1-Safe, 2-Safe, and Very Safe 651
12.6.4 Catch-up After Failure 652
12.6.5 Summary of System Pair Designs 653
12.7 Summary 654
12.8 Historical Notes 654
Exercises 655
Answers 656
PART SIX——Transactional File System:A Sample Resource Manager
13 FILE AND BUFFER MANAGEMENT 661
13.1 Introduction 661
13.2 The File System as a Basis for Transactional Durable Storage 662
13.2.1 External Storage versus Main Memory 662
13.2.2 The External Storage Model Used in this Book 668
13.2.3 Levels of abstraction in a Transactional File and Database Manager 671
13.3 Media and File Management 673
13.3.1 Objects and Operations of the Basic File System 673
13.3.2 Managing Disk Space 677
13.3.3 Catalog Management for Low-Level File Systems 686
13.4 Buffer Management 688
13.4.1 Functional Principles of the Database Buffer 689
13.4.2 Implementation Issues of a Buffer Manager 697
13.4.3 Logging and Recovery from the Buffer's Perspective 708
13.4.4 Optimizing Buffer Manager Performance 714
13.5 Exotics 723
13.5.1 Side Files 724
13.5.2 Single-Level Storage 732
13.6 Summary 738
13.7 Historical Notes 739
Exercises 741
Answers 744
14 THE TUPLE-ORIENTED FILE SYSTEM 751
14.1 Introduction 751
14.2 Mapping tuples into Pages 752
14.2.1 Internal Organization of Pages 752
14.2.2 Free Space Administration in a File 757
14.2.3 Tuple Identification 760
14.3 Physical Tuple Management 768
14.3.1 Physical Representation of Attribute Values 769
14.3.2 Physical Representation of Short Tuples 772
14.3.3 Special Aspects of Representing Attribute Values in Tuples 784
14.3.4 Physical Representation of Long Tuples 786
14.3.5 Physical Representation of Complex Tuples and Very Long Attributes 791
14.4 File Organization 794
14.4.1 Administrative Operations 795
14.4.2 An Abstract View on Different File Organizations via Scans 799
14.4.3 Entry-sequenced Files 806
14.4.4 System-Sequenced Files 811
14.4.5 Relative Files 814
14.4.6 Key-Sequenced Files and Hash Files 817
14.4.7 Summary 818
14.5 Exotics 819
14.5.1 Cluster Files 819
14.5.2 Partitioned Files 820
14.5.3 Using Transactions to Maintain the File System 821
14.5.4 The Tuple-Oriented File System in Current Database Systems 822
14.6 Summary 823
Exercises 824
Answers 825
15 ACCESS PATHS 831
15.1 Introduction 831
15.2 Overview of Techniques to Implement Associative Access Paths 833
15.2.1 Summary 835
15.3 Associative Access By Hashing 835
15.3.1 Folding the Key Value into a Numerical Data Type 836
15.3.2 Criteria for a Good Hash Function 838
15.3.3 Overflow Handling in Hash Files 845
15.3.4 Local Administration of Pages in a Hash File 848
15.3.5 Summary of Associative Access Based on Hashing 848
15.4 B-Trees 851
15.4.1 B-Trees: The Basic Idea 851
15.4.2 Performance Aspects of B-Trees 861
15.4.3 Synchronization on B-Trees: The Page-Oriented View 867
15.4.4 Synchronization on B-Trees: The Tuple-Oriented View 868
15.4.5 Recovering Operations on B-Trees 872
15.5 Sample Implementation of Some Operations on B-Trees 876
15.5.1 Declarations of Data Structures Assumed in All Programs 876
15.5 2 Implementation of the roadkoy Operation on a B-Tree 878
15.5.3 Key-Range Locking in a B-Tree 880
15.5.4 Implementation of the Insert Operation for a B-Tree:The Simple Case 882
15.5.5 Implementing B-Tree Insert: The Split Case 884
15.5.6 Summary 886
15.6 Exotics 886
15.6.1 extendible Hashing 887
15.6.2 The Grid File 892
15.6.3 Holey Brick B-Trees 897
15.7 Summary 904
15.8 Historical Notes 905
Exercises 909
Answers 911
PART SEVEN——System Surveys
16 SURVEY OF TP SYSTEMS 917
16.1 Introduction 917
16.2 IMS 917
16.2.1 Hardware and Operating System Environment 918
16.2.2 Workflow Model 920
16.2.3 Program Isolation 923
16.2.4 Main Storage Databases and Field Calls 923
16.2.5 Data Sharing 924
16.2.6 Improved Availability and Duplexed Systems 925
16.2.7 DB2 927
16.2.8 Recent Evolution of IMS 928
16.3 CICS and LU6.2 928
16.3.1 CICS Overview 928
16.3.2 CICS Services 930
16.3.3 CICS Workflow 931
16.3.4 CICS Distributed Transaction Processing 932
16.3.5 LU6.2 934
16.4 Guardian 90 937
16.4.1 Guardian: The Operating System and Hardware 938
16.4.2 Pathway, Terminal Context, and Server Class Management 939
16.4.3 Transaction Management 941
16.4.4 Other Interesting Features 947
16.5 DECdta 947
16.5.1 ACMS's Three-Ball Workflow Model of Transaction Processing 948
16.5.2 ACMS Services 951
16.5.3 ACMS Summary 952
16.5.4 VMS Transaction Management Support 954
16.5.5 Summary of DECdta 958
16.5.6 Reliable Transaction Router (RTR) 959
16.6 X/Open DTP, OSI-TP, CCR 960
16.6.1 The Local Case 962
16.6.2 The Distributed Case: Services and Servers 964
16.6.3 Summary 964
16.7 Other Systems 965
16.7.1 Universal Transaction Manager (UTM) 965
16.7.2 ADABAS TPF966
16.7.3 Encina 968
16.7.4 Tuxedo 970
16.8 Summary 972
PART EIGHT——Addenda
17 REFERENCES 975
18 DATA STRUCTURES AND INTERFACES 993
19 GLOSSARY 1003
INDEX 1047