Query on the Load Balancing ?

Guys
I would like to understand how the FAV_COMPUTE_TIME has been calculated for the system to indentify the FAV_COMPUTE_SERVER
I have enclosed a snapshot of our prd server.Appreciate  advise on this subject
Integer-Storage             MSGSERVER
REL_SYSTEM               4,640      8,464          0          0          0          0          0          0          0          0
REL_PATCHNO_00000144     2,381      8,465          0          0          0          0          0          0          0          0
sapdp16_P16_16          58,643      7,353        122          5         46        520         14          0          0         21
sapap16b_P16_16         58,867      7,353        539        179        214        201         16          0  *73741824-        56
sapap16a_P16_16         58,736      7,353        889        215        184         20         16          0  *73741824-        63
sapap16c_P16_16         58,804      7,353        650        192        181        156         16          0  *73741824-        49
sapap16d_P16_16         58,758      7,353        664        145        173        150         16          0  *73741824-        94
Short-Text-Storage          MSGSERVER
FAV_COMPUTE_TIME     FAV_COMPUTE_TIME    58867
FAV_COMPUTE_SERVER   sapap16b_P16_16     16:21:07
Logon Favorite Storage          MSGSERVER
P16                  3,216  46C  (sapap16b_P16_16)
P16-TPA              3,216  46C  (sapap16b_P16_16)
SPACE                3,216  46C  (sapdp16_P16_16)
USED-BY-BW           3,216  46C  (sapap16b_P16_16)
USED-BY-EBPRO        3,216  46C  (sapap16b_P16_16)
Long-Text-Storage           MSGSERVER
Regards
Karthi

Hello Karthi,
I would like to understand how the FAV_COMPUTE_TIME has been calculated for the system to indentify the FAV_COMPUTE_SERVER
Short-Text-Storage          MSGSERVER
FAV_COMPUTE_TIME     FAV_COMPUTE_TIME    58867
FAV_COMPUTE_SERVER   sapap16b_P16_16     16:21:07
the value for FAV_COMPUTE_TIME is very easy to calculate: simply count the seconds since midnight, i.e. the value 58867 only represents the time stamp 16:21:07 (16 hours = 57600 seconds, 21 minutes = 1260 seconds. 5760012607=58867).
Very easy, isn't it?
In other words: the information FAV_COMPUTE_TIME and FAV_COMPUTE_SERVER is only a remark at what time an instance has forwarded its load information to the message server. It has nothing to do with the quality value itself. In your example the instance sapap16b_P16_16 has calculated and forwarded its load information (resp.time 539ms, 214 users, quality value 201) at 16:21:07. But this does not mean that this instance is automatically the favourite instance (ok, in your example it is indeed the favourite instance for all logon groups, but that's only by chance. Some minutes later most probably sapap16b_P16_16 is still favourite server for the logon groups but for FAV_COMPUTE_SERVER another instance is listed).
Personally I think it is sufficient to have a look at the load distribution screen in SMLG (Goto - Load distribution (or simply F5)) than to try to guess araound what exactly the figures in the message server status area mean.
But if I understand you correctly you are more interested how this mysterious quality value is calculated, right?
It is calculated in report RSRZLLG0 (or more detailed in RSRZLLG0_ACTUAL) which is started on each instance each five minutes (by sapmssy6) and each fifth logon.
Believe a simple maths is involved
Not, not really simple. The report uses as well response time and the number of logged on users. But it uses also the difference between the current values and the thresholds (if they are used), i.e. if the number of users is very close to the (defined) threshold the quality will be lower than compared to an instance with less users (and same threshold).
Also the report calculates at first each part seperately (users, response time) and uses then an additional weighting so that the response time has more influence than the number of users (see also the already mentioned [note 51789|http://service.sap.com/sap/support/notes/51789]).
Maybe describing the principle as it happened know contains enough information for you, but if you really want to understand the coding in every detail, you should ask an ABAPer to explain it to you
Regards, Michael

Similar Messages

  • Site not accessible from the Load balanced web front end server - sharepoint 2010

    I have a production environment with 2 WFE's(sp-wfe1 & sp-wfe2), 2 APP's and 2 SQL clustered VM's.
    2 WFE's are load balanced using hardware load balancer.
    An A-Record(PORTAL) is created in DNS for the virtual IP of the load balancer which points to the 2 WFE's.
    A web application is created on the WFE's on port 80.
    alternative access mapping is configured and the load balanced record "http://PORTAL" is used under the default zone.
    Under IIS I have edited the bindings for the sharepoint site at port 80 and added the HOSTNAME as PORTAL.
    Result: The site is accessible from outside the server and works fine.
    ISSUE: The site is not accessible within the WFE's(sp-wfe1 & sp-wfe2).
    When I browse the site from the WFE's server it ask for the credentials and when I enter the credentials and click OK it ask the credentials again and again and in the end displays a blank page.
    Kindly help me in this issue because I am clueless and couldn't find anything helpful on the internet. 
    Regards,
    Mudassar
    MADDY-DEV Forum answers from Microsoft Forum

    Loop back check.
    http://www.harbar.net/archive/2009/07/02/disableloopbackcheck-amp-sharepoint-what-every-admin-and-developer-should-know.aspx

  • How to use the Load Balancer Plug-in to serve multiple domains

    In SJSAS8.1 SE/EE the asadmin commands that create and maintain a load balancer configuration operate within a domain. When the load balancer configuration is exported an xml file is created that contains all the information for that domain. To make the load balancer plug-in balance the load for multiple domains, the loadbalancer.xml files can be manually merged to conatin the data that is exported from each domain's load balancer configuration.
    For example, 2 domains are created, both having a load balancing configuration. After exporting both configurations using the asadmin export-http-lb-config command, the user would then cut and past the cluster information into the single loadbalancer.xml file that resides under the web server's config directory.
    An example of the manually merged loadbalancer.xml file follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <loadbalancer>
    <cluster name="domain1">
    <instance disable-timeout-in-minutes="30" enabled="true" listeners="http://localhost:1026 https://localhost:38181" name="i1"/>
    <instance disable-timeout-in-minutes="30" enabled="true" listeners="http://localhost:1027 https://localhost:38182" name="i2"/>
    <web-module context-root="ab" disable-timeout-in-minutes="30" enabled="true"/>
    <health-checker interval-in-seconds="5" timeout-in-seconds="60" url="/"/>
    </cluster>
    <cluster name="domain2">
    <instance disable-timeout-in-minutes="30" enabled="true" listeners="http://localhost:1029 https://localhost:38189" name="i3"/>
    <instance disable-timeout-in-minutes="30" enabled="true" listeners="http://localhost:1030 https://localhost:38188" name="i4"/>
    <web-module context-root="webservice" disable-timeout-in-minutes="30" enabled="true"/>
    <health-checker interval-in-seconds="5" timeout-in-seconds="60" url="/"/>
    </cluster>
    <property name="response-timeout-in-seconds" value="60"/>
    <property name="reload-poll-interval-in-seconds" value="5"/>
    <property name="https-routing" value="false"/>
    <property name="require-monitor-data" value="false"/>
    <property name="route-cookie-enabled" value="true"/>
    </loadbalancer>
    Hope this helps - Mark

    Mark, be my savior, I work for SUN as subcontractor at client site. the only one at site ...so I depend on this forum for solutions........
    still having trouble failingover to second instance. I have two AccessManagers behind this loadbalancer.
    Here is what I saw......
    **************LOGS**********************
    [20/Jun/2005:14:22:47] failure (15102): for host 128.114.65.13 trying to GET /amconsole/base/AMA
    dminFrame, service-passthrough reports: timed out waiting for request body
    [20/Jun/2005:14:22:47] warning (15102): reports: lb.runtime: ROUT1014: Non-idempotent request /
    amconsole/base/AMAdminFrame cannot be retried.
    So I went and updated the loadbalancer.xml (see at the end of the msg). Now I get a different kind of problem...
    **************LOGS******************************
    [20/Jun/2005:15:25:18] failure (15295): for host 128.114.65.13 trying to GET /amconsole/base/AMA
    dminFrame, service-passthrough reports: timed out waiting for request body
    [20/Jun/2005:15:25:18] info (15295): reports: lb.runtime: RNTM3003 : Error servicing the request : NoVal
    Here is my loadbalancer.xml file...
    <loadbalancer>
    <cluster name="cluster1">
    <instance name="instance1" enabled="true" disable-timeout-in-minutes="1" listeners="http://idm-test-1.ucsc.
    edu:80 "/>
    <instance name="instance2" enabled="true" disable-timeout-in-minutes="1" listeners="http://idm-test-2.ucsc.
    edu:80 "/>
    <web-module context-root="amconsole" disable-timeout-in-minutes="1" enabled="true" error-url="sun-http-lber
    ror.html" >
    <idempotent-url-pattern url-pattern="/*" no-of-retries="3" />
    </web-module>
    <web-module context-root="amserver" disable-timeout-in-minutes="1" enabled="true" error-url="sun-http-lberr
    or.html" >
    <idempotent-url-pattern url-pattern="/*" no-of-retries="3" />
    </web-module>
    <web-module context-root="ampassword" disable-timeout-in-minutes="1" enabled="true" error-url="sun-http-lb
    error.html" />
    <web-module context-root="amcommon" disable-timeout-in-minutes="1" enabled="true" error-url="sun-http-lberr
    or.html" >
    <idempotent-url-pattern url-pattern="/*" no-of-retries="3" />
    </web-module>
    <health-checker url="/" interval-in-seconds="15" timeout-in-seconds="2" />
    </cluster>
    <property name="reload-poll-interval-in-seconds" value="60"/>
    <property name="response-timeout-in-seconds" value="30"/>
    <property name="https-routing" value="false"/>
    <property name="require-monitor-data" value="true"/>
    <property name="active-healthcheck-enabled" value="true"/>
    <property name="number-healthcheck-retries" value="3"/>
    <property name="route-cookie-enabled" value="true" />
    </loadbalancer>
    **************************************************************

  • How to get a server name through the load balancer

    Hi.
    I'd like to get the server name where is my application installed. There are some servers and clients access there throuth the load balancer. When I try to get it with request.getServerName(), I get the virtual address of the load balancer.
    Any suggestions?
    Thanks.

    Dear Sikindar;
    THanks for your cooperation, but I believe that these Tcodes will eb helpful if I know the table name, actually we don't know its name and that's what I'm asking about, how can I get the table name for the ABAPer?
    Appreciating your cooperation.
    Best Regards;
    Lobna

  • Web Dispatcher not doing the load balancing on the portal

    Hi Experts
    I am having a production issue where the SAP web dispatcher is not doing the load balancing on the portal.
    We have ESS/MSS portal with 1 Message server and 2 Application servers. The Web dispatcher is installed on the message server itself. Here is my Web disp profile file
    Profile generated by sapwebdisp bootstrap
    unique instance number
    SAPSYSTEM = 16
    add default directory settings
    DIR_EXECUTABLE = .
    DIR_EXECUTABLE = F:\usr\sap\<SID>\sapwebdisp
    DIR_INSTANCE = .
    Accessibility of Message Servers
    rdisp/mshost = <hostname>.com
    ms/http_port = 8111
    #Log and Trace
    rdisp/TRACE = 2
    SAP Web Dispatcher Parameter
    wdisp/auto_refresh = 120
    wdisp/max_servers = 100
    wdisp/shm_attach_mode = 6
    configuration as per SAP note 538405
    icm/max_conn      = 7000
    icm/max_sockets   = 14000
    icm/req_queue_len = 6000
    icm/min_threads   = 100
    icm/max_threads   = 300
    mpi/total_size_MB = 500
    mpi/max_pipes       = 14000
    wdisp/HTTPS/max_pooled_con = 7000
    SAP Web Dispatcher Ports
    icm/server_port_0 = PROT=HTTP,PORT=8888
    SSL
    icm/server_port_1 = PROT=ROUTER,PORT=443, TIMEOUT=60
    SAP Web Dispatcher Web Administration
    icm/HTTP/admin_0 = PREFIX=/sap/wdisp/admin,DOCROOT=./admin,AUTHFILE=icmauth.txt
    wdisp/enable_j2ee_groups = TRUE
    wdisp/HTTPS/sticky_mask = 255.255.255.255
    In my Web dispatcher Admin page, I see all the three application servers, however the requests are going to only 1 App server. We are using ENd to End SSL configuration for the web dispatcher.
    We also have a reverse proxy in the landscape and reverse proxy is forwarding all the requests to the Web dispatcher. In Web disp Admin page>Dispatching Module>SSL End to END dispatching, I see only ONE table entry in the dispatching table and it is our Reverse Proxy.
    As all the requests are coming from only one source (Reverse proxy), it seems to me that the sap web dispatcher  is forwarding those to the same Application server every time.
    Can anyone please advise ?
    I also tried to configure logon group in NWA, the web dispatcher is detecting the logon group and all the app servers in the logon group. It still not doing the load balancing.
    I would greatly appreciate any help.
    Thanks
    Viny

    Vincent, can you please elaborate more ?  Is the web dispatcher not able to recognize stateful and stateless application requests ?
    I saw that the procedure for configuring SSL Termination on Web dispatcher is long and complicated and looks like SAP web dispatcher needs to have SSL certificate of its own. As we have no ABAP servers and only Java servers, I can not even create the PSEs using STRUST (as described in SAP help -http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/99c388d7c46bb9e10000000a42189d/frameset.htm
    We already have SSL certificates for Java App servers.
    I suppose there should be a way for web dispatcher to identify the incoming requests and forward to appropriate application servers.
    Any help is much appreciated.
    Thanks
    Viny

  • The load balancer is not provisioned error when attempting to deploy a SP 2013 App

    Hello:
    I am in VS 2013 with SP 2013 colocated on same Win 2008 R2 server.  I opened a SP 2013 App and directly hit F5 and got this error:
    Error occurred in deployment step 'Install app for SharePoint': The load balancer is not provisioned. Verify the load balancer was provisioned successfully before retrieving endpoint addresses.  When creating the project, the first screen asks for a
    site to deploy to, and I just took the default, which was http://<servername> for the colocated server.
     I googled this and could not find a solution.  Would anyone have any direction?
    thank you
    Harvey
    Regards, Harvey

    Hi Harvey Flaisher,
    Based on the error message, this seems to be a service application not working issue.
    Please check the ULS log or Event log to check in which service application the error occurs, like BCS, secure store service, app management service, then re-provision the service application using PowerShell command, or re-create the service application
    from UI to check the result.
    Thanks,
    Qiao Wei
    TechNet Community Support

  • Query on Clustering,Load Balancing and Dehydration in Oracle BPEL PM

    Hi,
    I had a Few queries on Dehydration ,Clustering and Load Balancing:
    1) In section 5.1 "Use Case for Asynchronous Web Services",insertion of a dehydration point is mentioned.What do you exactly mean by this.Can a dehydration point be inserted explicitly?OR we have to put a wait activity or something so that dehydration happens?
    2) If a dehydration point needs to be inserted explicity arent we assuming that the invoke-reply will take long?But this might not be the case always.Is is a lso possible that an asynchronous process is not a long running one.
    3) Can we configure administratively ,how much time the process (say 10 seconds or so)waits after which it gets dehydrated?
    4) Consider a load balancing scenario,where we have 2 BPEL PM's (PM1 and PM2) running on 2 different App Servers (SRV1 and SRV2)in an clustered environment.
    Scenario:
    1)We have an asynchronous process which makes a call to a human task activity.
    2)A request from client comes for this process.
    3) The load balancing server forwards it to PM1 on SRV1.PM1 processes the request and calls the human task.
    4) PM1 has not dehydrated the process.
    5) The response from the Human User comes back to the Load Balancer before the process is dehydrated by PM1.It forwards this response to PM2.PM2 searches for the Process based on the Cor-relation ID and does not find it.
    Can you tell me how this scenario is handled?
    I would be grateful if someone can answer these queries or direct me to some place where it is already explained.
    Thanks
    Dileep

    1) In section 5.1 "Use Case for Asynchronous Web Services",insertion of a dehydration point is mentioned.What do you exactly mean by this.Can a dehydration point be inserted explicitly?OR we have to put a wait activity or something so that dehydration happens?
    Insert a java snippet with "checkpoint();"
    3) Can we configure administratively ,how much time the process (say 10 seconds or so)waits after which it gets dehydrated?
    No, this is due to the performance of your database.

  • ConnectionFactory - who does the load balancing

              Consider creating a connectionfactory (with server affinity unticked, load balancing
              ticked and using the message delivery policy of round robin) we then go on to
              create a distributed domain targetted at the cluster of two managed server's (managed1
              and managed2)
              If I create a simple java app that put's messages to that distributed destination,
              using the connectionfactory above, who's responsible for doing the load balancing.
              Does the client create the session knowing that the connectionfactory requires
              load balancing and thus takes the responsibility for it, or does the client just
              put a constant stream of JMS messages to the WLS and the connectionfactory class
              takes responsibility for the load balancing
              Who maintain's the delivery state, the client application or WLS (i.e who's job
              is it to look up the last messages queue destination?)
              

    Hi Barry,
              A JMS client's produced messages are first delivered to the WL server
              that hosts the client's JMS connection. The JMS connection
              host remains unchanged for the life of the connection.
              Once produced messages arrive on the connection host,
              they are load balanced to their JMS destination.
              For more information I suggest reading the clustering
              sections of the JMS Performance Guide white-paper. You can find
              the white-paper here:
              http://dev2dev.bea.com/technologies/jms/index.jsp
              Tom Barnes
              Barry Myles wrote:
              > Consider creating a connectionfactory (with server affinity unticked, load balancing
              > ticked and using the message delivery policy of round robin) we then go on to
              > create a distributed domain targetted at the cluster of two managed server's (managed1
              > and managed2)
              >
              > If I create a simple java app that put's messages to that distributed destination,
              > using the connectionfactory above, who's responsible for doing the load balancing.
              >
              > Does the client create the session knowing that the connectionfactory requires
              > load balancing and thus takes the responsibility for it, or does the client just
              > put a constant stream of JMS messages to the WLS and the connectionfactory class
              > takes responsibility for the load balancing
              >
              > Who maintain's the delivery state, the client application or WLS (i.e who's job
              > is it to look up the last messages queue destination?)
              >
              >
              >
              >
              

  • Call to the load-balanced SO not through router

    Hi all
    This in fact not correct - if you make a call to the load-balanced SO,
    from within that SO it will not go through the router. You can work around
    it quite easily
    with a simple Forwarding Dispatcher (design pattern).
    Whenever you make a call to your load-balanced SO,
    it
    would go through the router. That is what I
    understand. No matter you make the call from inside
    or outside the SO.
    Anton van Niekerk
    [email protected]

    Hi all
    This in fact not correct - if you make a call to the load-balanced SO,
    from within that SO it will not go through the router. You can work around
    it quite easily
    with a simple Forwarding Dispatcher (design pattern).
    Whenever you make a call to your load-balanced SO,
    it
    would go through the router. That is what I
    understand. No matter you make the call from inside
    or outside the SO.
    Anton van Niekerk
    [email protected]

  • WLC 4404 - Clearing the Load Balancing Statistics?

    Does anyone know of a way to clear the load balancing statistics from a WLC 4404?  I've looked through the gui and CLI and can't seem to find a way to do it.
    Thanks,
    Rob

    You can do a 'show summary' to see the number of connections that have been sent to each servers.
    You can't see the number of bytes so.
    I would suggest to collect this info on the server.
    Regards,
    Gilles.

  • Using the load balancer

    Hi, I just started using the SJWS7.0. When a client sends a request, is the request to the load balancer server name or the admin server name? Any information on how to use the load balancer will also be appreciated

    The server where the load balancer is running. The admin server has not play in the load balancing beyond allowing you to configure and manage it using the administration console.

  • How the Load balancing happens in CPO

    Hi All,
    On what bases the process engine selects the process or request and how the load balancing happens.

    Hi!
    I am a little confused by the question (as it refers to "request"), but I am going to assume that you are asking how a High Availability Process Orchestrator environment with several servers chooses which processes running on which server.
    The answer to that question is...
    In general, processes to be executed are split equally between all servers. The only piece of data being taken into account during process instance assignment is the current load on the servers (as counted by the number of top-level processes, not counting child processes). For example, suppose that there are 3 servers in the environment, and server A is running 5 top-level processes, servers B & C are running 3 top-level processes. When new process is started (e.g. on a schedule or manually or triggered via an external event), it will be assigned to either server B or server C for execution, because servers B & C have less load. If under the same circumstances (A:5, B:3, C:3), there are 4 processes started at the same time. When the work is distributed, the total expected work 5+3+3=11 (existing work) and 4 (new work) will be distributed equally with, with servers B&C each getting 2 new processes.
    This is a general load balancing algorithms used by the servers in HA environment to decide which server runs which process instance.
    There are other factors that come into play, as some processes/activities can only run on server A or server B for technical limitations (e.g. SAP work against a particular SAP System can only be executed from one server in the environment). When those come into play, the work may end up distributed unevenly.
    Note that available memory, CPU load, or disk space on servers are not directly taken into account during load distribution.

  • FDM keeps give me DCOM Security Error when I configure the Load Balance

    Hello, everyone.
    I installed FDM on the Windows 2008 Server.
    When I configure the Load Balance Server for FDM.
    It keeps give me error:
    Unable to create Load Balance Manager Object!
    Please verify that the user name, password, and domain name are correct.
    However, I am pretty sure the user name and password input are correct.
    I have tried the solution provides on Oracle Support. And changes the DCOM component's security settings.
    However, the issue is still existed.

    If after clearning out the security on the DCOM object and attempting to reset the Load Balance Config the same issue occurs, you will need to un-install FDM using the EPM System Un-installer and reboot. Following the reboot you will then choose to install FDM again, configure FDM using the EPM System Configuration utility, and then reset the FDM configuration items.

  • SSL credentials forwarding by the load balancer

    Hi,
    Is it possible to send the client authentication to a real server ? The idea is to leave the ssl termination to the load balancer but do autentication on the (real) server. Thanks in advance

    not possible.
    Gilles.

  • RE: (forte-users) Call to the load-balanced SO not throughrouter

    We never call an SO from within an SO. Instead we do the following :
    MySO is mapped to MySOclass.
    MySOclass is a facade which has an attribute for every Policy Manager
    related to this SO.
    Each Policy manager is instanciated in MySOclass.
    Each Policy manager has an attribute called Parent.
    Parent is defined by MySOclass to be self.
    If two Policy managers need to work together we invoke methods via the
    parent attribute :
    Example
    I have a partition for Enrolments.
    It has three Policy Managers within it
    a Students Policy Manager (with a Add, Delete, Get methods)
    a Courses Policy Manager (with a Add, Delete, Get methods).
    an Enrolments Policy Manager (with a Add, Delete, Get methods).
    To enable this partition we have defined :
    EnrolmentsSO (environment visible, message duration) with the EnrolmentsMgr
    class as its related class.
    The EnrolmentsMgr class has the following methods and attributes :
    Methods :
    AddStudent
    AddCourse
    AddEnrolment
    GetStudent
    GetCourse
    GetEnrolment
    DeleteStudent
    DeleteCourse
    DeleteEnrolment
    All of these methods do a one line return statement, simply passing the
    method invocation to
    the appropriate Policy Manager. For example AddStudent would say
    Return theStudentPM.AddStudent(pInStudentParams : pInStudentParams)
    : pOutStudentParams
    In the Init method for the EnrolmentsMgr we instanciate the following
    attributes :
    theStudentPM (which is typed to the StudentPM class)
    theCoursePM (which is typed to the CoursePM class)
    theEnrolmentsPM (which is typed to the EnrolmentsPM class)
    Also in the Init method we set an attribute (called parent) on each
    PM to the value of Self.
    Then when one PM needs to invoke a method on another PM we simply do :
    For example in the theEnrolmentPM.GetEnrolment method we need to get
    Students and Courses
    thus we code :
    Parent.GetStudent(pInStudentParams = pInStudentParams) : pOutStudentParams
    Parent.GetCourse((pInCourseParams = pOutStudentParams.CourseStuff) :
    pOutCourseParams
    Build Enrol details based on student / course stuff.
    Return EnrolmentParams.
    Hope this makes sense.
    Regards,
    Chris Will, Dept. of Educ. Training, ITB, Sydney, Australia
    -----Original Message-----
    From: Peter Sham [mailto:[email protected]]
    Sent: Friday, 8 October 1999 9:35
    To: [email protected]; [email protected]
    Subject: Re: (forte-users) Replicating the PersistenceMgrSO
    Hi,
    Whenever you make a call to your load-balanced SO, it
    would go through the router. That is what I
    understand. No matter you make the call from inside
    or outside the SO.
    Secondly, you can turn on the "fail-over" option of a
    router but not load-balanced it. On these routers,
    you can check their instruments to see which one is
    really running.
    Hope this help.
    Regards,
    Peter Sham.

    We never call an SO from within an SO. Instead we do the following :
    MySO is mapped to MySOclass.
    MySOclass is a facade which has an attribute for every Policy Manager
    related to this SO.
    Each Policy manager is instanciated in MySOclass.
    Each Policy manager has an attribute called Parent.
    Parent is defined by MySOclass to be self.
    If two Policy managers need to work together we invoke methods via the
    parent attribute :
    Example
    I have a partition for Enrolments.
    It has three Policy Managers within it
    a Students Policy Manager (with a Add, Delete, Get methods)
    a Courses Policy Manager (with a Add, Delete, Get methods).
    an Enrolments Policy Manager (with a Add, Delete, Get methods).
    To enable this partition we have defined :
    EnrolmentsSO (environment visible, message duration) with the EnrolmentsMgr
    class as its related class.
    The EnrolmentsMgr class has the following methods and attributes :
    Methods :
    AddStudent
    AddCourse
    AddEnrolment
    GetStudent
    GetCourse
    GetEnrolment
    DeleteStudent
    DeleteCourse
    DeleteEnrolment
    All of these methods do a one line return statement, simply passing the
    method invocation to
    the appropriate Policy Manager. For example AddStudent would say
    Return theStudentPM.AddStudent(pInStudentParams : pInStudentParams)
    : pOutStudentParams
    In the Init method for the EnrolmentsMgr we instanciate the following
    attributes :
    theStudentPM (which is typed to the StudentPM class)
    theCoursePM (which is typed to the CoursePM class)
    theEnrolmentsPM (which is typed to the EnrolmentsPM class)
    Also in the Init method we set an attribute (called parent) on each
    PM to the value of Self.
    Then when one PM needs to invoke a method on another PM we simply do :
    For example in the theEnrolmentPM.GetEnrolment method we need to get
    Students and Courses
    thus we code :
    Parent.GetStudent(pInStudentParams = pInStudentParams) : pOutStudentParams
    Parent.GetCourse((pInCourseParams = pOutStudentParams.CourseStuff) :
    pOutCourseParams
    Build Enrol details based on student / course stuff.
    Return EnrolmentParams.
    Hope this makes sense.
    Regards,
    Chris Will, Dept. of Educ. Training, ITB, Sydney, Australia
    -----Original Message-----
    From: Peter Sham [mailto:[email protected]]
    Sent: Friday, 8 October 1999 9:35
    To: [email protected]; [email protected]
    Subject: Re: (forte-users) Replicating the PersistenceMgrSO
    Hi,
    Whenever you make a call to your load-balanced SO, it
    would go through the router. That is what I
    understand. No matter you make the call from inside
    or outside the SO.
    Secondly, you can turn on the "fail-over" option of a
    router but not load-balanced it. On these routers,
    you can check their instruments to see which one is
    really running.
    Hope this help.
    Regards,
    Peter Sham.

Maybe you are looking for