The Result Data Newsletter   
Volume 707 - July 2007   
© Copyright 2007 Result Data Consulting, Ltd.  614-505-0770  www.resultdata.com   

    Result Data Home Page  |  Newsletter Archive  |  Upcoming Events  |  Classes & Workshops  |  Request Information
Upcoming Events:  MOBOUG: 8/1, Business Objects BI Lunch-n-Learn: 8/1, Microsoft Data Mgt & BI Seminar: 9/21

Return to Newsletter Contents...

 

Communication between CMS's

by: Joe Roberts, Senior Consultant, BECP

Last month we talked about the CMS start up procedures and how it affects the Enterprise system, especially in relation to CORBA and the registration of services.  This month I want to go a little more in depth concerning how CMS’s communicate with each other in a clustered environment.

What is a cluster?

The first question we have to answer is what is a cluster?  A clustered Business Objects Enterprise environment is one that has one or more CMS’s that work together to provide management and security for the Enterprise implementation.  The only real requirement to have a cluster is that the system database be installed on a client/server database platform like MS SQL Server, Oracle, DB2, MySQL etc.  So it is possible to have a cluster of one.  This is an important point because one CMS in a cluster acts just like multiple CMS’s in a cluster would.  Adding a second or third CMS does not change or alter the basic behavior, it just extends it.  So if you have a single CMS, using one of the database platforms mentioned above, you have a cluster.

The most common misconception is with the term “cluster”.  Often this is misinterpreted as simply multiple machines running BOEXI processing services.  Processing services (Page Servers, Job Servers, Web Intelligence Report Servers, etc) cannot be clustered, only CMS(s) can be clustered.  Multiple servers running multiple processing services are load balanced and utilized independently.  This process can create a certain level of Fault Tolerance or Fail Over but this is not clustering.

Why would I want more than one CMS?

Multiple CMS services allow you to increase capacity as well as provide fault tolerance and/or fail over to the system.

Increasing Capacity

This is usually the last reason to have multiple CMS’s in a cluster.  Why?  Typically a single CMS can handle 600 – 700 logged on users at a time.  Since a single machine can only handle 50 – 100 report processes at a time (depending on configuration) you can see that multiple machines will have to be added to support report processing long before it will necessary to accommodate a larger number of logged on users.

Fault Tolerance

To provide fault tolerance you can create multiple CMS services on the same machine using the same system database.  Fault tolerance means that if one CMS service should fail (fault) then the other CMS service would still be available to handle the load. This is often referred to as “Scaling up”.

Fail Over

Fail Over is similar to fault tolerance but instead of being service specific it is server specific.  Fail Over allows the system to continue working in the event of a loss of an entire server.  This is accomplished by creating multiple CMS services, using the same system database, on separate servers.

No matter what your reason or approach the important thing to remember is that the CMS functions in the same way in each case.

Cluster Communications

So if a cluster is just multiple CMS services using the same system database then how do they keep everything together?

If you will remember, last month we discussed the startup procedures for a CMS and the first step in the process was to connect to the system database and then try to establish communication with any other CMS’s.  This connection is actually in the form of a thread that established direct communication to each other.  Once this thread is established they will now “negotiate” with one another to manage and execute incoming requests.  It doesn’t matter which CMS is initially contacted with the request, they will negotiate with each other and the most available CMS will handle the request.  This negotiation process is true of all requests except CORBA Name Shell requests (see last month’s article).  The first CMS in the cluster will always establish itself as the CORBA Name Server and handle all CORBA duties as long as it is active.

You next question should be:

If my web application designates a particular CMS (machine1) as its CMS server, what happens when that machine goes down?

Once again we fall back to the functionality of the CORBA Name Shell.  If you will remember from last month the function of the Name Server is to distribute the list of available services with their name, IP address and port.  This includes the web application server.  When it establishes communication with its designated CMS, it receives a copy of the Name Shell list.  If at any point in its normal routine it cannot communicate with that CMS it will roll over to the next CMS in the Name Shell list.

So what happens if the web application’s designated CMS is down when the application server first starts?

To accommodate this eventuality there is a, somewhat little documented, feature of the CORBA communication.  That is that on first contact each service will create or update a registry key (HKEY_LOCAL_MACHINE/SOFTWARE/BUSINESS OBJECTS/SUITE 11.5/ENTERPRISE/CMSClusterMembers) that keeps track of all the CMS machines in the cluster.  When the application server first starts, if it cannot communicate with its designated CMS, it will use this list until it finds an active CMS.

So, as you can see, it pretty much covers every contingency.  There are, however, a few basic requirements for clustering that I will leave you with.

1.     Each server that will be hosting a CMS must have:

     a.   The exact same operating system

     b.   The same type of CPU and same amount of memory

     c.   Same service packs and patches

     d.   Connect to the system database in the same manner

     e.   Use the same credentials for connecting to the system database

     f.     Be running under the same startup account

     g.   Be on the same subnet (remember the thread?)

2.     If auditing is enable then:

     a.    All services must have auditing enabled

     b.    Must connect to the same auditing database

     c.    Must connect to the auditing database in the same manner

     d.    Must connect to the auditing database with the same credentials

3.     The time on each server must be synchronized to be the same

If you adhere to these requirements and understand the process of clustering you should have no trouble running multiple CMS services and bring complete Fail Over and Fault Tolerance to you Enterprise environment.

Go to Top  |  Return to Newsletter Contents

The Result Data Newsletter is published approximately once a month to share the latest information on business intelligence, data management and CRM. There should be a link below to allow you to change or remove yourself from our list. We take your requests very seriously. If you have any difficulty please contact us at 614-505-0770 and we will make sure that your request is handled properly. This is not intended to be an unsolicited message and you can reach us in person if needed.

© Copyright 2007 Result Data Consulting, Ltd. - All Rights Reserved
All trademarks and copyrights are the property of their respective owners. This information is provided without warranty.
Announcements
Next MOBOUG Meeting
The next Mid-Ohio Business Objects User Group (MOBOUG) meeting is August 1st, 2007.  Call 614-505-0770 or click here to reserve your seat.
Next Business Objects BI Seminar is a Lunch-n-Learn
Join us for a lunch-n-learn after the MOBOUG meeting on August 1st.  Call 614-505-0770 or click here to reserve your seat.
Summer Training Special
Beat high gas prices with Result Data Training.  Schedule and attend any public training class now through September and receive a FREE fuel card for up to $200 (restrictions apply).  Call 614-505-0770 for further details and restrictions.
Next Microsoft Data Management & BI Seminar
The next free Microsoft BI seminar on is Sept. 21, 2007.  Call 614-505-0770 or click here to reserve your seat.
Looking for a Few Good Men and Women
Join our award winning team of Business Intelligence consultants and .Net Software developers.

Send your resume and salary requirements to:
jobs@resultdata.com