100 likes | 181 Views
An Overview of OCEAN. A Small Introduction by Cyrus & Erwin. Constructed in Layers. Mobility moves stuff Negotiation makes contracts Searching finds things on network. Matching/Searching. Negotiation. Mobility. Mobility.
E N D
An Overview of OCEAN A Small Introduction by Cyrus & Erwin
Constructed in Layers • Mobility moves stuff • Negotiation makes contracts • Searching finds things on network Matching/Searching Negotiation Mobility
Mobility • Provides ability to checkpoint code & state. Transfer both to different location. Resume execution • Problem has been solved (or there are provisions) by several third party vendors. (Globus/ADK/.NET) • Sama is working on (Java based) OCEAN specific implementation.
Searching • Problem, locating specific resource in network. • Solutions: • Central server • Distributed server • Peer 2 Peer
Search language • Extremely simple yet flexible. • A resource has a name with a couple of features and typed values. These can be used for matching. • <resource name="CPUID"> <feature name="Vendor“ value="AuthenticAMD"/> <feature name="Stepping" value="2" type="numeric" match=">"/> </resource>"
Network engine • OCEAN allows searching using various protocols: • Simple Connectionless • Plum - Currently just minimal functionality to implement Dr Franks Evolution Scheme (current focus) • Connected • Marco Polo - Cyrus p2p protocol • Hybrid protocol between connectionless/connected protocol.
Network Engine • Peer Manager • Contains a List of all Peers • Provides • Ability to Send a Messages to Active Peers • Propagate a Received Message • Notify a protocol when incoming socket connections are made • Notify a protocol when a message is received
Network Engine • Abstract Peer Interface • Protocols Extend Peer concept as needed • Example: MPF Peers Must track certain stats (later) • Protocols make the selection of the “Active” Peers and make choices to add and remove peers. • Protocols interact with Matchers through a generic interface
Network Engine • Matcher / Network Interface • Matcher Asking Network to look for matches (Searcher Interface) • Network telling Matcher when a match has occurred (MatchListener Interface) • For a seller, the protocol must be able to know if the seller is a match to “search” type of messages (SellerMatcher Interface)
MPF Evolution Protocol Overview • Track success of peers over time based on successful matches. • For each peer track these vars: • nTrials • nSucesses • Rating = (nSucesses + success Bias) / (nTrials + trialBias) • Decay nTrials and nSucesses over time to ensure new data is weighted more heavily • Using rating to select which are the best peers, communicate with top peers