Borland Load Distribution Submission - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Borland Load Distribution Submission

Description:

resolving the cluster's name gives a bound object reference ... The Name of an Object Cluster needs to have two meanings ... the cluster name at the parent ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 15
Provided by: omg3
Category:

less

Transcript and Presenter's Notes

Title: Borland Load Distribution Submission


1
BorlandLoad DistributionSubmission
  • Dave Stringer
  • dstringer_at_borland.com
  • mars/2004-10-08

2
Borland submission to the Load Distribution RFP
  • Specifications and Products
  • The Load Distribution Problem
  • Extending the Naming Service
  • Future Enhancements

3
Specifications and Products
  • Load distribution is part of many ORB products
  • it has been part of VisiBroker for 10 years
  • Load distribution is used by many ORB customers
  • they havent been requesting this specification
  • they expect any new specifications to protect
    their investment or vendors to protect it
  • Specifications should be based on real technology
  • Proof of concept !!

4
Object Interactions in CORBA
NS
C
S
REF
1. Bind Name to Object Reference
2. Resolve Name for Object Reference
3. Bind Reference to Object
4. Invoke Operation on Object
. . . Invoke again
5
The Load Distribution Problem
  • Load Balancing who is responsible for achieving
    balance?
  • heterogeneous systems measuring load
  • stability of feed-back systems
  • Skewed Distributions
  • abnormal versus uniform units of work
  • long lived clients
  • When to take the load distribution decision
  • at discovery, at binding or at invocation?
  • how do applications influence the decision?
  • Fail-over and Fault Tolerance
  • not part of the RFP, should it be part of the
    solution?
  • Load Re-distribution
  • recovering a group member gives a skewed
    distribution

6
Naming Contexts and Object Clusters
  • Object Clusters are bound in Naming Contexts
  • just like ordinary Naming Contexts
  • Object Clusters are transparent
  • resolving the clusters name gives a bound object
    reference
  • bindings within Object Clusters are not directly
    accessible
  • The Name of an Object Cluster needs to have two
    meanings
  • the name of the cluster and the name of a member

7
Object Cluster in Name Service
S1
NS
C
S2
REF 2
1. Bind Name to Object Reference
and to another
2. Resolve Name for Object Reference
3. Bind Reference to Object
4. Invoke Operation on Object
8
Explicit Clusters
  • // Client.java
  • . . .
  • Object obj rootCtx.resolve(My_Server)
  • Srvr sa SrvrHelper.narrow(obj)
  • . . .
  • obj rootCtx.resolve(My_Server)
  • Srvr sb SrvrHelper.narrow(obj)
  • . . .
  • if (sa._is_equivalent(sb))
  • System.out.println(
  • distribution failed)
  • // Server.java
  • . . .
  • Cluster cluster clusterMgr.create_cluster("RR")
  • rootCtx.bind(My_Server", cluster)
  • . . .
  • Srvr s1 aPOA.create_reference( srvrRepId)
  • cluster.bind(First_Member", s1)
  • . . .
  • Srvr s2 aPOA.create_reference( srvrRepId)
  • cluster.bind(Second_Member",s2)

// Server.java . . . Cluster cluster
clusterMgr.create_cluster("RR")
rootCtx.bind(My_Server", cluster) . . . Srvr
s1 aPOA.create_reference( srvrRepId) cluster.bi
nd(First_Member", s1) . . . Srvr s2
aPOA.create_reference( srvrRepId) cluster.bind(S
econd_Member",s2)
// Client.java . . . Object obj
rootCtx.resolve(My_Server) Srvr sa
SrvrHelper.narrow(obj) . . . obj
rootCtx.resolve(My_Server) Srvr sb
SrvrHelper.narrow(obj) . . . if
(sa._is_equivalent(sb)) System.out.println(
distribution failed)
9
Implicit Clusters
  • // Client.java
  • . . .
  • Object obj rootCtx.resolve(My_Server)
  • Srvr sa SrvrHelper.narrow(obj)
  • . . .
  • obj rootCtx.resolve(My_Server)
  • Srvr sb SrvrHelper.narrow(obj)
  • . . .
  • if (sa._is_equivalent(sb))
  • System.out.println(
  • distribution failed)
  • // Server.java
  • . . .
  • Srvr s1 aPOA.create_reference( srvrRepId)
  • rootCtx.bind(My_Server", s1)
  • . . .
  • Srvr s2 aPOA.create_reference( srvrRepId)
  • rootCtx.bind(My_Server", s2)
  • // AlreadyBound will not be thrown

// Server.java . . . Srvr s1 aPOA.create_referen
ce( srvrRepId) rootCtx.bind(My_Server", s1) .
. . Srvr s2 aPOA.create_reference(
srvrRepId) rootCtx.bind(My_Server", s2) //
AlreadyBound will not be thrown
// Client.java . . . Object obj
rootCtx.resolve(My_Server) Srvr sa
SrvrHelper.narrow(obj) . . . obj
rootCtx.resolve(My_Server) Srvr sb
SrvrHelper.narrow(obj) . . . if
(sa._is_equivalent(sb)) System.out.println(
distribution failed)
10
Cluster Interface
  • Interface Cluster
  • Object select()
  • // cf. resolving the cluster name at the
    parent context
  • void bind(in CosNamingNameComponent n, in
    Object o)
  • void rebind( . . . )
  • Object resolve(in CosNamingNameComponent n)
  • void unbind( . . . )
  • void destroy()
  • void list(in unsigned long how_many, out . .
    . bl, out . . . bi)

11
ClusterManager Interface
  • Interface ClusterManager
  • Cluster create_cluster(in string algorithm)
  • Cluster find_cluster(in CosNamingNamingContex
    t ctx,
  • in CosNamingName n)
  • Cluster find_cluster_str(in CosNamingNamingCo
    ntext ctx,
  • in string n)
  • ClusterList clusters()

12
2 more (supporting) Interfaces
  • Interface NamingContextExtExtended
  • void unbind_from_cluster(in CosNamingName
    cn,
  • in Object srvrRef)
  • boolean is_ncluster_type(in CosNamingName n,
  • out Object c)
  • Interface NamingContextFactory
  • CosNamingNamingContextExt create_context()
  • oneway void shutdown()
  • ClusterManager get_cluster_manager()

13
Future Enhancements
  • Consolidate interfaces into the CosNaming
    interfaces
  • Cluster as an alternate implementation of
    NamingContext
  • NamingCluster derived from NamingContext
  • Clusters that combine Object References
  • Obviates need to declare fail-over alternates at
    POA
  • Federate NamingContexts to Clusters
  • Improve scalability of Load Distribution
  • Review outstanding RFP requirements
  • . . .

14
Thank You
Write a Comment
User Comments (0)
About PowerShow.com