27
O.C.E.A.N Open Computation Exchange and Auctioning Network

O.C.E.A.N Open Computation Exchange and Auctioning Network

Embed Size (px)

Citation preview

Page 1: O.C.E.A.N Open Computation Exchange and Auctioning Network

O.C.E.A.N

Open Computation Exchange and Auctioning Network

Page 2: 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

Page 3: O.C.E.A.N Open Computation Exchange and Auctioning Network

Distributed Computing

• What is Distributed Computing?

• History

• Why we need Distributed Computing?

• Applications of Distributed Computing

• Projects

Page 4: O.C.E.A.N Open Computation Exchange and Auctioning Network

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.

Page 5: O.C.E.A.N Open Computation Exchange and Auctioning Network

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.

Page 6: O.C.E.A.N Open Computation Exchange and Auctioning Network

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

Page 7: O.C.E.A.N Open Computation Exchange and Auctioning Network

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.

Page 8: O.C.E.A.N Open Computation Exchange and Auctioning Network

Potential OCEAN Apps

• CGI/Animation Rendering.

• Computational science & engineering(e.g., simulations).

• Bioinformatics (genetic data processing).

• Data mining, machine learning.

• Combinatorial search & optimization.

Page 9: O.C.E.A.N Open Computation Exchange and Auctioning Network

O.C.E.A.N. Components

• Communications/Security

• Task Spawning and Migration(TSM)

• Peer List Update Manager(PLUM)

• Naming

• Auctioning

(more)

Page 10: O.C.E.A.N Open Computation Exchange and Auctioning Network

O.C.E.A.N. Components(contd.)

• Negotiation

• Central Accounting Server(CAS)

• Trader

• Job Maker API

Page 11: O.C.E.A.N Open Computation Exchange and Auctioning Network

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

Page 12: O.C.E.A.N Open Computation Exchange and Auctioning Network

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

Page 13: O.C.E.A.N Open Computation Exchange and Auctioning Network

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

Page 14: O.C.E.A.N Open Computation Exchange and Auctioning Network

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

Page 15: O.C.E.A.N Open Computation Exchange and Auctioning Network

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.

Page 16: O.C.E.A.N Open Computation Exchange and Auctioning Network

• 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

Page 17: O.C.E.A.N Open Computation Exchange and Auctioning Network

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.

Page 18: O.C.E.A.N Open Computation Exchange and Auctioning Network

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

Page 19: O.C.E.A.N Open Computation Exchange and Auctioning Network

LOCATION            

  

another OCEAN node - potential peer to node 1

OCEAN node 1

Auction

PLUM

Security/communic.

NegotiatorNode config./maint./oper.interface

PLUM

Security/communic.

 

Page 20: O.C.E.A.N Open Computation Exchange and Auctioning Network

ARCHITECTURE

Peer Peer Peer

Peer List

 Configuration PeerEditor Ordering CheckUnique PreferenceChecker BlackList TransferPeerList Adder

PLUM Interfaces QueryManager

Other Node Other Node Other Components

Page 21: O.C.E.A.N Open Computation Exchange and Auctioning Network

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.

Page 22: O.C.E.A.N Open Computation Exchange and Auctioning Network

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

Page 23: O.C.E.A.N Open Computation Exchange and Auctioning Network

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.

Page 24: O.C.E.A.N Open Computation Exchange and Auctioning Network

Negotiation Layer

CAS

Security and Communication Layer

Financial Network

Local Accounting Layer

CAS

Page 25: O.C.E.A.N Open Computation Exchange and Auctioning Network

Functionality

• Utilitarian functionality.

• XML Document Generators.

• Libraries.

Application

API

Trader TSM Accounting

Auction

Communication

OCEAN API

Page 26: O.C.E.A.N Open Computation Exchange and Auctioning Network

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

Page 27: O.C.E.A.N Open Computation Exchange and Auctioning Network

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.