Sold Out
Book Categories |
Introduction
Benefits of Distributed Computing
Challenges of Distributed Computing
What is JavaSpaces Technology?
1.Key Features
2.JavaSpaces Technology in Context
JavaSpaces Technology Overview
1.Entries and Operations
2.Going further
Putting it all together
Advantages of JavaSpaces Technologies
Chapter Preview
Exercises
JavaSpaces Application Basics
Entries
1.The Entry Interface
2.Instantiating an Entry
3.Adding Fields and Methods
Building an Application
1.The SpaceAccessor
Writing Entries into a Space
1.A Closer Look at Write
Reading and Taking Entries
1.Associative Lookup
2.The Basics of Read and Take
3.The Rules of Matching
4.Dealing with null -valued Fields in Entries
5.Primitive Fields
6.A Closer Look at Read and Take
Going Further with the Example
1.Subclassing an Entry
2.Adding a Few More Methods
3.Trying the Game
4.Post-Game Analysis
Serialization and its Effects
1.Entry Serialization
2.Matching and Equality
3.The No-arg Constructor
4.The Entry Interface Revisited
5.Improving Entry Serialization using snapshot
Summary
Building Blocks
Introduction to Distributed Data Structures
1.Building Distributed Data Structures with Entries
Shared Variables
1.Atomic Modification
2.Additional Operations
3.Creating a Web Counter
4.Stepping Back
Unordered Structures
1.Bags
2.Task Bags and Result Bags
Ordered Structures
1.Distributed Arrays Revisited
2.Summary
Exercises
Synchronization
Semaphores
1.Implementing a Semaphore
2.Implementing a License Manager
3.The License Manager Installer
4.The License Manager Client Library
Using Multiple Semaphores
1.The Dining Philosophers
Fairly Sharing a Resource
1.Using a Queue to Take Turns
2.Round-Robin Synchronization
Barrier Synchronization
Advanced Synchronization: The Readers/Writers Problem
1.Implementing a Readers/Writers Solution
2.Implementing a Counter Class
3.Implementing a Space-based Readers/Writers Application
Summary
Exercises
Communication
Basic Message Passing
1.Playing Ping-Pong
Characteristics of Space-based Communication
1.Tightly-Coupled Communication
2.Loosely-Coupled Communication
3.Benefits of Loose Coupling
Beyond Message Passing
A Basic Channel
1.A Channel Message Entry
2.The Channel Tail
3.Creating a Channel
4.Appending a Message to a Channel
5.Implementing a Channel Writer
6.Implementing a Channel Reader
7.Demonstrating the Channel Writer and Reader
Building a Chat Application with Channels
1.The Graphical User Interface
2.Combining Channel Writing and Reading
A Consumer Channel
1.Implementing a Pager Service
2.The PagerMessage Entry
3.Tracking the Start and End of a Channel
4.The Index Entry
5.Creating a Consumer Channel
6.Sending Messages to the Channel
7.Reading and Removing Messages from the Channel
8.Demonstrating the Pager
Bounded Channels
1.A Status Entry
2.Channel Creation Revisited
3.Writing to a Bounded Channel
4.Taking from a Bounded Channel
5.Demonstrating the Bounded Channel
Summary
Exercises
Application Patterns
The Replicated-Worker Pattern
1.Computing the Mandelbrot Set
2.Task and Result Entries
3.The Master
4.The Worker
The Command Pattern
1.Implementing a Compute Server
2.The Generic Worker
3.The Generic Master
4.Creating Specialized Tasks and Results
5.Creating a Specialized Master
6.Running the Compute Server
The Marketplace Pattern
1.An Automobile Marketplace
2.Interaction in the Marketplace
3.The Bid Entry
4.The Application Framework
5.The Buyer
6.The Seller
7.Running the Marketplace
Other Patterns
1.Specialist Patterns
2.Collaborative Patterns
Summary
Exercises
Leases
Leases on Entries
The Lease Object
1.Lease Expiration
2.Renewing a Lease
3.Cancelling a Lease
Lease Maps
1.Creating a LeaseMap
2.Adding and Removing Leases
3.Renewing Leases in a LeaseMap
4.Cancelling Leases in a LeaseMap
Automated Lease Renewal
1.The Lease Manager Interface
2.Implementing the Constructors
3.Adding Leases
4.Cancelling a Lease
5.Renewing Leases
6.Checking Leases
7.Processing Renewal Failures
8.Putting it All Together
Summary
Exercises
Distributed Events
Events in the Distributed Environment
HelloWorld Using Notify
The Notification API
1.The JavaSpace notify Method
2.The EventRegistration Class
3.The RemoteEventListener Interface
4.The RemoteEvent Object
Putting the Pieces Together
1.The Channel Relay Application
2.The Channel Reader Thread
3.The Relayer Listener
4.The Notify Handler Thread
Summary
Exercises
Transactions
The Distributed Transaction Model
Creating a Transaction
Web Counter Revisited
The Space's Transactional Properties
Operational Semantics Under Transactions
1.Writing Entries under a Transaction
2.Reading Entries under a Transaction
3.Read versus ReadIfExists
4.Taking Entries under a Transaction
5.Notifications under Transactions
Summary
Exercises
A Collaborative Application
The Messenger
Implementing a Messenger User
The Account
1.The Account Object
User Sessions
1.The Session Object
Friends List
1.The FriendsList Object
2.The FriendsListMonitor Object
Communication Channel
1.Message Entries and Indices
2.The Channel Object
3.Retrieving Messages from the Channel
The Messenger Applet
1.Logging in via the Login Object
2.The loginCallback Method
3.Adding to the Friends List
4.Chatting with Friends
5.Sending Messages
6.Listening for Messages
Summary
Exercises
A Parallel Application
The Compute Server
1.The Command Interface Revisited
2.The Task Entry
3.The Generic Worker
4.A Generic Master
The Crypt Application
1.Background
2.The Generic Worker and CryptTask
3.The CryptMaster
4.Generating Tasks
5.Improving Space Usage with Watermarking
6.Collecting Results
7.A Little Poison
8.Exploring Crypt
Summary
Exercises
Further Exploration
Online Resources
Related Java and Jini Technologies
Background Reading
1.Distributed Systems
2.Transactions
Historical Resources
Login|Complaints|Blog|Games|Digital Media|Souls|Obituary|Contact Us|FAQ
CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!! X
You must be logged in to add to WishlistX
This item is in your Wish ListX
This item is in your CollectionJavaSpaces Principles, Patterns, and Practice
X
This Item is in Your InventoryJavaSpaces Principles, Patterns, and Practice
X
You must be logged in to review the productsX
X
X
Add JavaSpaces Principles, Patterns, and Practice, Ever since I first saw David Gelernter's Linda programming language almost twenty years ago, I felt that the basic ideas of Linda could be used to make an important advance in the ease of distributed and parallel programming. As part of the fruits of , JavaSpaces Principles, Patterns, and Practice to the inventory that you are selling on WonderClubX
X
Add JavaSpaces Principles, Patterns, and Practice, Ever since I first saw David Gelernter's Linda programming language almost twenty years ago, I felt that the basic ideas of Linda could be used to make an important advance in the ease of distributed and parallel programming. As part of the fruits of , JavaSpaces Principles, Patterns, and Practice to your collection on WonderClub |