Upload
alexander-patterson
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
O.C.E.A.N
Open Computation Exchange and Auctioning Network
Overview
• Distributed Computing
• What is O.C.E.A.N. ?
• The O.C.E.A.N. Architecture.
• Future Goals
Distributed Computing
• What is Distributed Computing?
• History
• Why we need Distributed Computing?
• Applications of Distributed Computing
• Projects
O.C.E.A.N Roots
• OCEAN (Open Computation Exchange & Arbitration Network) – An evolving open distributed protocol for
dynamic exchange of computing resources.– Begun at MIT with other MIT/Stanford alums.– OCEAN already led to at least 1 company (
popularpower.com) & VCs want more.
O.C.E.A.N Architecture Overview
• Highly flexible.• Deployable on any arbitrary network of host
nodes connected by TCP/IP.• Supports distributed P2P double auctions &
job subcontracting.
OCEAN Architecture
Security Layer
Communication Layer
Auction Layer Negotiation Layer
Task Spawning and Migration
Plum
Accounting Layer (Local)
Custom Node Operation & Maintenance Code
Naming
Node Operator GUI
Node Configuration/Operation Layer OCEAN API
Persistence Manager
Financial Network Proxy (OCEAN Node)
Firewall
Java VM & API
Application Specific Job/Task Code
Accounting (Centralized)
Highly Secured
Submitted by: Nitin Chawla Revised on Aug. 23rd, 2001
Scheduler
Trader
Features of OCEAN
• Server and API software freely available. – Anyone w. a TCP/IP node can host a worker,
auctioneer, or node-listing service.– Anyone can write OCEAN applications and/or
submit app invocations (jobs) to OCEAN.
• Uses open, XML-based protocols.
• Deployable on an internet, intranet or extranet basis.
Potential OCEAN Apps
• CGI/Animation Rendering.
• Computational science & engineering(e.g., simulations).
• Bioinformatics (genetic data processing).
• Data mining, machine learning.
• Combinatorial search & optimization.
O.C.E.A.N. Components
• Communications/Security
• Task Spawning and Migration(TSM)
• Peer List Update Manager(PLUM)
• Naming
• Auctioning
(more)
O.C.E.A.N. Components(contd.)
• Negotiation
• Central Accounting Server(CAS)
• Trader
• Job Maker API
Communications/Security Component
• The Security Component interacts with the Accounting, Auction, Negotiation, PLUM, TSM, Communication and Node Configuration components in each OCEAN node.
• It provides various security services, which include authentication, access control, confidentiality, integrity and non-repudiation.
• The security mechanism uses symmetric and asymmetric cryptographic techniques to maintain confidentiality of information; CA certificates, digital signatures and message authentication codes (MAC) or hash functions to ensure data integrity and authentication and security managers to implement access control functions and node security.
• Security layer plays an important role in CAS (Centralized Accounting Server), which contains accounting and transaction information of all OCEAN nodes. It is also responsible for offering secured exchange of financial information between financial networks and the CAS
CAS
Financial Network
Certification Authority
Security and Communication layer of Node 2
Security & Communication Layer Databas
e
Security and Communication layer of Node 1
Security Component
ONS(Ocean Naming System)• Provides a unique naming scheme
• Syntax: ocean://<well qualified dns address>:<port number>/<well qualified dns address>:<portnumber/…. /@<ocean module name>/jobid
• Implementation provides wrappers to work with parts of names
• All modules are served by Naming
• Directory services will be added through JNDI in future
ONS
TSM
www.node1.com:400/www.node2.com:100/@auction/jobid
Returned name
www.node2.com, 100
Destination address, port
OCEAN Node 1
Name sent to other Ocean node
Name sent as a parameter
ONSSecurity / Communic
AUCTION
www.node1.com:400/www.node2.com:100/@auction/jobid/
Auction, jobid
OCEAN Node 2
Name received from other node
JobidJob
Security / Communic
Task Spawning and Migration
Provides a mechanism to transfer OCEAN tasks to one (or more) OCEAN nodes that function as service providers and takes care of the execution of the OCEAN task on the receiver side.
When negotiation between the buyer and seller by an auctioning process is complete and a contract agreed upon, the Task Spawning & Migration (TSM) component of the sender begins its task.
• The TSM obtains Task Sender information from the Trader Layer subsystem and migrates Ocean tasks from the buyer ( Task Sender ) to the seller ( Task Receiver ) through the Communication/Security Layer.
Node 1 Node 2
TraderTrader
TSM
Communication /SecurityCommunication /Security
AuctionAuction NegoNego..
Web Web ServerServer
TraderTrader
TSM
CommunicationCommunication / /SecuritySecurity
AuctionAuction NegoNego..
TSM Architecture
PLUM
• The PLUM is acronym for Peer List Update Manager
• The role of PLUM is to maintain a list of peer’s with which transactions can be performed
• The PLUM component is present in each OCEAN node.
• The PLUM is primarily used by Auction component.
PLUM
• The components PLUM interacts with.
– The PLUM mainly interacts with Communication and Security component.
• What the PLUM needs.
– The PLUM may need some sort of lightweight database or persistence manager.
• The stages of operation of PLUM.
– Registration Stage
– Maintenance Stage
– Termination Stage
LOCATION
another OCEAN node - potential peer to node 1
OCEAN node 1
Auction
PLUM
Security/communic.
NegotiatorNode config./maint./oper.interface
PLUM
Security/communic.
ARCHITECTURE
Peer Peer Peer
Peer List
Configuration PeerEditor Ordering CheckUnique PreferenceChecker BlackList TransferPeerList Adder
PLUM Interfaces QueryManager
Other Node Other Node Other Components
Negotiation Component
• This is a higher level Component
• Gets peer list from auction layer and negotiates with the nodes in the peer list
• Chooses a winning node based on the negotiations
• Gives the winning node address to the TSM component
• Improvements:
– Include multiple simultaneous negotiations with several nodes
– Include level of negotiation
– Include history of past negotiations to make better negotiations in the future.
Buyer SellerSigned contract
Buyer SellerModify proposal
New proposal
Signed contract
contract
1.No Negotiation. The buyer sends the contract and the seller signs the contract and sends it back.
2.Negotiation where the buyer sends a counter proposal and the seller adjusts to meet the new proposal .
contract
Negotiation Examples
CAS (Central Accounting Server)
• High level component in the OCEAN architecture.
• Connecting with financial network and local accounting layer through security and communication layer.
• To maintain OCEAN account in a secure location.
• To provide a connection between the OCEAN network and real-world financial networks.
• To communicate critical information to the local accounting system.
• Implementation using Oracle and JDBC.
Negotiation Layer
CAS
Security and Communication Layer
Financial Network
Local Accounting Layer
CAS
Functionality
• Utilitarian functionality.
• XML Document Generators.
• Libraries.
Application
API
Trader TSM Accounting
Auction
Communication
OCEAN API
Motivation
• Application produces the proper results.
• Application does not do anything malicious.
• Estimate cost of execution in OCEAN.
Design
• Support OCEAN API.
• Free Auctions
• Nodes as Threads.
No Auctioning Required!
OCEAN SIMULATOR
Future Goals
• Implement beta version 1 of O.C.E.A.N by the end of fall semester.
• Deploy O.C.E.A.N. so that it can be tested by various distributed applications simultaneously being developed.
• Improve the higher layer components like Auction and Negotiation by adding more functionality.