Deterministic Fault Tolerant Load Balancing

The USA has an unfortunate penchant for granting patents that arguably do not merit patent protection. Some of these are things that are blindingly obvious. Others are just not sufficiently inventive.
Anyway, since I have no funds for patent searches, nor patent applications, and there are some other complications, I've decided to post this to establish prior-art for an algorithm. I don't claim that the algorithm is clever, nor novel, nor even that it violates no existing patents. This posting is simply to ensure that to the extent that someone might be granted a patent on it, they can't, because it has already been published.
The Java connection is that I've done a fair amount of the work required to turn this into a real system in Java.
Suppose you have set of processors, p0 thru pn-1, and each piece of work to be performed by a processor has some number k associated with it. The problem is to allocate the work roughly equally across the subset of processors that are actually functioning. Further, over a period of time, a series of related pieces of work may arrive with the same k. To the maximum possible extent you want each of the related pieces of work to be handled by the same processor. If a processor fails, you want its work to be distributed across the remaining processors, but still maintaining the property that pieces of work with a given value for k are handled by the same processor. In general we assume that the k values are randomly spread through a large number space.
The motivation for these requirements is that for a given k the processor may be caching information that improves performance. Or it may be enforcing some invariant, such as in a lock manager where each request for a given lock must go to the same processor, or it clearly won't function.
To achieve this, construct a list of integers of size n. Element i contains i if processor i is functional, and -1 otherwise.
Calculate k mod n, and use the result as an index into the list. If the value contained there is non-negative, then it is the number of the processor to use. If it is -1, remove the element from the list, decrement the value of n and repeat. Continue until a processor number is found.
This scheme is fault tolerant to a degree, in that the resulting system has a high level of availability.
It also has the property that the failure of a processor only impacts on the allocation of pieces of work that would have been allocated to the failed processor. It does not result in a complete rearrangement of the work allocations. This makes things a lot simpler when dealing with things like distributed lock managers.
The fault tolerance can be improved by an extension of the algorithm that allows a distributed master/slave arrangement, where the master number for a given k is determined as above, and a slave number is obtained by treating the master as if it were not functioning. Each processor is a master for some subset of the k values, and is a slave for another subset. For any given master, each of the other processors is a slave for a roughly equal portion of the given master's subset of the k values.
There are some boring details that I've not discussed, such as how an entity wanting work to be done determines which processors are functioning, and the stuff related to the exact sequence of steps that must be performed when a processor breaks, or is repaired. I don't believe anyone could patent them because once you start thinking about it, the steps are pretty obvious.

I wouldn't be so sure that a simple post to the java forums
is all you need to prove this 'prior-art' is it ?
Don't you need to actually use it? Or have you seen a laywer
and this was their advice. Even if you have no money for it Im sure
there are free legal services; even universities, you could contact.
I don't believe anyone could patent them because once you
start thinking about it, the steps are pretty obvious.The steps of anything a generally simple, it's the putting-them-together
that you can patent :)

Similar Messages

  • Load Balancing & Fault tolerance in Oracle Apps

    Hello
    I am pretty new to Oracle Apps and Oracle 9iAS
    We are trying to asked to find out the ways of deplying load balancing and fault tolerance in Oracle Apps
    I have gone thru the following articles of metalink and some more from google
    Configuring Web Cache as a Load Balancer for Application Servers
    Create new middle tier node in existing Apps 11i environment using cloning and then load balance
    Integrating and using Web Cache with Forms 9i for Load Balancing
    Running Multiple OC4J Instances From a Single Install of 9iAS 1.0.2.2
    LOAD BALANCING ORACLE APPLICATIONS ON UNIX
    Load Balancing in 11i
    OC4J Clustering Setup
    OC4J Load Balancing for Forms 9i
    Setting up 11i E-Business suite using a hardware load balancer
    Sharing an APPL_TOP in Oracle Applications 11i
    In Oracle Apps Concepts pdf, found that
    Load balancing occurs when there are multiple installations of web server, forms server, reports server, concurrent manager server etc
    Lets consider forms server component of middle tier
    Can there be multiple INSTANCES of forms server within SINGLE INSTALLATION ???
    If it has to be MULTIPLE INSTALLATIONS, then it will require multiple physical machines
    What is software load balancing then ???
    Also read that
    Oracle 9i AS instance is combition of Oracle HTTP Server (OHS) and one or more instances of Oracle9iAS Container for J2EE (OC4J)
    Thus software load balancing can be implemented for Web server component of middle tier using multiple instances of OC4J ???
    Forms metrix server configuration is hardware load balancing ??
    What about Oracle9iAS Web Cache clustering ??
    Please clarify the doubts and suggest me the way
    Thanks a lot

    dear all can any one help me on the following;
    We want to install Oracle Apps 11.5.9 on 4 IBM AIX 5L boxes, the first node
    will hold the database , concurrent and Admin Tiers. as for the other 3 nodes
    it will hold the Forms/Web Tiers and we need to use forms metrics for load
    balancing taking into consideration that we can't use Shared APPL_TOP. we tried
    to find the way how to install and configure this solution but all the
    documents are talking aboout the concept only and this concept is applicable.
    We need the exact steps on how do the installation either using rapidwiz or any
    thing else
    fadi

  • Load balancing and fault tolerance in BPEL PM

    BPEL documentation talks about the ability of clustering processes in BPEL PM Server for fault tolerance and Load balancing. Can anybody tell me how is it done?
    Thanks

    Have you seen these links?
    http://www.oracle.com/technology/products/ias/hi_av/BPEL_HA_Paper.pdf
    http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28980/clusteringsoa.htm#CHDCGIEJ

  • Load Balance & Fault Tolerance

    I need do design a solution for load balance the DLSw traffic between 4 central routers and, if this 4 routers fail (oe wan fail) all peers and circuits need to be restablished on other site with other 4 routers.
    To balance the traffic I will use the DLSw circuit count. To provide fault tolerance between sites I thinking to use backup peer.
    My question is, "circuit count" will work togheter with "backup peer" ?
    Thank´s in advance.

    Only one backup dlsw peer is allowed. I cut and paste the following when I try to define more than one backup peer:
    c3-2500(config)#dlsw remote-peer 0 tcp 2.2.2.2
    c3-2500(config)#dlsw remote-peer 0 tcp 3.3.3.3 backup-peer 2.2.2.2
    c3-2500(config)#dlsw remote-peer 0 tcp 4.4.4.4 backup-peer 2.2.2.2
    %Primary peer already has backup defined
    There are a number of approaches:
    1. Remote routers have 8 peer connections. The cost for A, B, C, and D are lower than that of E, F, G, and H. Normally, the circuits are distributed among A, B, C, and D. Even one or more than one of A, B, C, and D goes down, the rest will take the load. If all A, B, C, and D goes down, E, F, G, and H will take all the circuits.
    2. Slightly different than 1. Instead of making E, F, G, and H are permanent DLSw peer connection, make E is a backup peer for A, F is a backup peer for B, and so on.
    3. Just another idea. Have you considered SNASw using HPR/IP? It may take you a while to set up on the host. However, this is the way to go because IBM has stopped selling 3746/3745. All SNI link will eventually go to HPR/IP.

  • Dual ADSL Load Balancing and Fault tolerance

    Just wonder if this is doable with for example 2 WIC-1ADSL cards on say a 2800 series platform. The application would be simple internet access. If so could someone provide a sample config? Just a note...this application would include two static ip ADSL services. Thanks, Shawn

    That is definitely doable. Here's a sample config:
    ip cef
    interface atm1/0.32
    ip address 255.255.255.252
    ip nat outside
    pvc 1/32
    oam-pvc manage
    interface atm2/0.32
    ip address 255.255.255.252
    ip nat outside
    pvc 1/32
    oam-pvc manage
    interface GigabitEthernet0/0
    ip address 10.1.1.1 255.255.255.0
    ip nat inside
    ip route 0.0.0.0 0.0.0.0 atm1/0.32
    ip route 0.0.0.0 0.0.0.0 atm2/0.32
    ip nat inside source route-map ISP1-map interface atm1/0.32
    ip nat inside source route-map ISP2-map interface atm2/0.32
    route-map ISP11-map permit 10
    match interface atm1/0.32
    route-map ISP12-map permit 10
    match interface atm2/0.32
    Explanation:
    - the use of two static routes will allow you to load-balance over the two links and provide redundancy at the same time
    - the NAT config will dynamically choose the NAT'ed address depending on which interface CEF has chosen to send the packet out of...
    Hope that helps - pls rate the post if it does.
    Regards,
    Paresh

  • Load balancing on RMI Server Application

    Hi there, I'd like to know more detail about load balancing on RMI server application, been digging the web for some time, but couldn't find much information, does anyone know any website or has the knowledge of load balancing on RMI to share? Sort like its design and implementation.
    Thanks,
    Jax

    I want performance and fault-tolerance,
    In that case, is it necessary to have a main
    rmi server to allow client to access and pick one of
    the rmi servers for the client?Well, if you have one main RMI server, you have a single point of failure again.. Why can't your application know about all rmi servers, and randomly choose one? If it's down, pick a different one.. If your applicatoin is an applet, you'll have to sign it.. Do that and put it on 2 redundant web servers. You have performance by splitting the load and you have your fault tolerance by having x identical rmi servers.
    If you're saying what I think, why would you have one main rmi server that picks a different rmi server? That's more work AND your redundancy goes byebye, ie if your main rmi server dies..

  • Windows Event Collector - Built-in options for load balancing and high availability ?

    Hello,
    I have a working collector. config is source initiated, and pushed by GPO.
    I would like to deploy a second collector for high availability and load balancing. What are the available options ? I have not found any guidance on TechNet articles.
    As a low cost option, is it fine to simply start using DNS round-robin with a common alias for both servers pushed as a collector name through GPO ?
    In my GPO Policy, if I individually declare both servers, events are forwarded twice, once for each server. Indeed it does cover high availability, but not really optimized.
    Thanks for your help.

    Hi,
    >>As a low cost option, is it fine to simply start using DNS round-robin with a common alias for both servers pushed as a collector name through GPO ?
    Based on the description, we can utilize DNS round robin to distribute workloads and increase fault tolerance. By default, DNS uses round robin to rotate the order of RR data returned in query answers where multiple RRs of the same type exist for a queried
    DNS domain name. This feature provides a simple method for load balancing client use of Web servers and other frequently queried multihomed computers. Besides, by default, DNS will perform round-robin rotation for all RR types.
    Regarding DNS round robin, the following article can be referred to for more information.
    Configuring round robin
    http://technet.microsoft.com/en-us/library/cc787484(v=ws.10).aspx
    TechNet Subscriber Support
    If you are TechNet Subscription user and have any feedback on our support quality, please send your feedback here.
    Best regards,
    Frank Shen

  • Distributed HA cluster with load-balancing and failover: advice?

    My workplace has a Xeon Xserve, which acts as our primary external server, with an attached ActiveStorage XRAID. We have just purchased a second Xserve/XRAID set to act as a mirror, which we will colocate. Both have Leopard Server installed, along with an array of additional software.
    What we want to do is have both servers load-balance between the two, with failover in case of a server or XRAID fault. I plan on using RSYNC to mirror static files between the two, and I'm looking into PostgreSQL replication and load-balancing solutions for our database. I gather that Apache supports web-server failover and load-balancing, as well. But, that still leaves the actual host and network setup to arrange.
    Does Leopard server support such a thing? The only information I found on IP failover instructs the user to place the two servers on the same subnet, directly connected via ethernet cable; obviously, this would not work in my case.
    Ideally, what we'd end up with is a situation in which the two systems kept each other in sync, both in static files and database data, and load-balanced between themselves; in cases of failure, the remaining system would transparently assume all duties until the other was restored, at which time they would resynchronize
    Any suggestions on how I could arrange such a thing?

    Interesting. Does this DNS-based approach support session tracking, though? I would need to have a user directed to just one of the two servers for the duration of their session, to avoid having to synchronize temporary files and such.
    You can't have it both ways. You need to build tolerance into the app.
    At the simplest level where you run all traffic to one site and use the second site as a failover/standby site you'll be OK most of the time - all users will go to the same server and their sessions will be intact.
    However, under any failover situation (your primary site is down for some reason), there is going to be some level of session traffic that it going to switch over to the other site. If your site depends on sessions then you're going to need to tolerate this kind of situation - your app will need to be able to fail gracefully if a user comes in with an invalid session cookie.
    Note, though, that this may be less of an issue than you at first think - all DNS clients will cache DNS data for whatever TTL you set. This means that if a user looks up your site name and you return an IP address with a 30 minute TTL, then that user is going to use the same IP address for the next 30 minutes and isn't going to ask the server again. This should negate most chance of a user suddenly switching from one server location to the other in mid-session.
    The trick comes in setting the DNS TTL low enough to effect a failover, yet not so long that you impact performance - e.g. you don't want the user to perform a DNS lookup on every page load. You may find that 10 minutes is appropriate. Just bear in mind that this affects how long a user could see your site 'down' before the failover DNS kicks in. Clearly you don't want to set the DNS TTL to a day since that may prevent the user switching to the secondary site for 24 hours by which time, hopefully, the primary site is back up, anyway.
    The 'right' TTL value may take some analysis on your traffic to see how long a typical user 'session' is. If the average user spends 20 minutes on your site, then it would make sense to set your TTL to somewhere around 20 minutes to give the best chance of their entire session staying on the same server.

  • UAG External Load Balancing and ISATAP

    Hi Experts,
    I am deploying a UAG Array to be used for Direct Access. The Array will consist of two servers and use an F5 External Load Balancer. In addition and in similarity
    to 90% of the other corporate intranets out there, the internal network is IPv4 with no IPv6 transition technologies deployed. The article
    http://blogs.technet.com/b/edgeaccessblog/archive/2010/05/17/configuring-an-external-load-balanced-uag-directaccess-array-for-an-ipv4-only-network.aspx
    isgreat but to my mind has no information to support ‘Manage Out’ and throws up a number of questions: (Note that I want to enable ‘Manage Out’ capability and as far as I am aware that is achieved by using ISATAP)
    The article describes that you have to generate and configure your own IPv6 address for the internal interface when using an external load balancer. Does anyone know why? Why not let UAG assign
    the addresses as per the default?
    UAG by default configures itself as an ISATAP router when there is no IPv6 infrastructure deployed on the internal network
    to facilitate ‘manage out’. This still applies when using Windows NLB. Why does this no longer apply when using an external load balancer? I.e. Why does UAG no longer configure itself as a ISATAP router?
    In relation to question 2; you therefore need to move your ISATAP router to a different device (http://technet.microsoft.com/en-us/library/ee690463.aspx),
    in doing so how do you configure the ISATAP environment to traverse the UAG servers without some sort of load balancing on the internal interfaces? I’m assuming that you can only tell the ISATAP router to use the one default gateway i.e. either one UAG server
    or the other. This means that you would have all your outbound internally initiated traffic going via one server only – not very good for performance or fault tolerance.
    In relation to question 3; I thought therefore that NLB could be used on the internal interface to solve the above problem, except that I have read that you can’t mix and match external load
    balancing and NLB even though they are on separate networks due to bidirectional affinity. What does this actually mean and why does this not occur when load balancing is mixed in this manor?
    Therefore when you wish to use external load balancers, do you:
    A) Except the fact that you can’t use UAG as a ISATAP router and you do indeed need two devices
    and deploy it as described here (http://technet.microsoft.com/en-us/library/ee690463.aspx)
    or
    B) Except the fact that that you can’t use UAG as a ISATAP router and any internal outbound
    traffic travels via the one UAG server only.
    Apologies for the long post, but I wanted to make sure that I get my thoughts down concisely so that it may help others who come up with the same questions
    J
    Thanks for your time everyone
    Gary

    I am also facing the same issue.  I have UAG1 and UAG2, which are in an array, and externally load balanced.  I've configured an external ISATAP router according to: 
    http://www.windowsnetworking.com/articles_tutorials/Configuring-ISATAP-Router-Windows-Server-2008-R2-Part2.html.  However, as mentioned by others, the ISATAP router has to have either UAG1 or UAG2 as the next hop for IP-HTTPS traffic.  As
    a result, communication between the DirectAccess client and management devices will only work if the client is tunneling through the same UAG server that the ISATAP router has as the next hop for the IP-HTTPS prefix.  From what I can tell, my configuration
    is supported, but I can't figure out how to have the ISATAP router determine which UAG server a client is tunneling through.  I thought about having two separate IP-HTTPS prefixes for each UAG server, but this would get overwritten when activating
    the DirectAccess configuration.  Maybe some type of internal load balancing?

  • Load balance servers with 3560?

    Here is my scenario...
    I have two servers that are both connected to a single 3560 (SMI).
    These two servers are in a primary/secondary relationship. Right now, if the primary server goes down - we need to manually configure the secondary server to take over.
    I have two questions...
    What is the best way to set up fault tolerance with these devices, so the secondary server will automatically kick in if the primary goes down?
    In addition to that, is there any type of load balancing feature we can use on this 3560...so both the primary/secondary servers can run at the same time?
    Ideally, we would like communication to the second server kick in when the link to the primary server gets too congested.

    your best bet is to use IOS SLB or a content switch such as the cisco CSS series.
    please see the following links for more info on ciscos CSS and SLB capabilities:
    content switching (CSS) -
    http://www.cisco.com/en/US/netsol/ns340/ns394/ns50/ns254/networking_solutions_package.html
    SLB - (example of use)
    http://www.cisco.com/en/US/products/hw/modules/ps2706/products_configuration_example09186a0080093de3.shtml

  • LACP/Load Balancing Question

    This past weekend we replaced our Catalyst 4506 switches with a combination of Catalyst 4500-X switches (provides fiber and 10 GB connections to our closet switches and our UCS) and 2960-X switches (all other servers and printers are connected here). Our backup server has two NICs teamed into a NIC Team (port 35 and 36 on the 2960-X switch). The NIC team was set to the following:
    Team Type Selection: 802.3ad Dynamic with Fault Tolerance
    Transmit Load Balancing: Dest IP Address
    Since we switched to the new switches we are seeing a high number of discards from our backup server on one of the ports in the NIC team. I verified the port-channel configuration on the switches and set the "port-channel load-balance" to src-dst-ip. When running the test etherchannel command from one of my servers to the backup server it responds that it would choose port 36. When I run a backup from this same source server to my backup server it chooses port 35 for everything. I would expect this if the data is coming from the same source ip to the backup server. To confirm this I added another test job from a different source IP. It still only chooses port 35.
    If I "show lacp 3 counters" here's what I see:
                 LACPDUs         Marker      Marker Response    LACPDUs
    Port       Sent   Recv     Sent   Recv     Sent   Recv      Pkts Err
    Channel group: 3
    Gi2/0/35    14616  12368    0      0        0      0         0
    Gi2/0/36    14628  12368    0      0        0      0         0
    From this it appears the switch is pretty evenly distributing data across both channels. Am I correct? If that is true then is it a fair assumption that something on the backup server is rejecting the data on port 36 and thus causing the discards?
    Just need an opinion on what might be going on to help convince people as to where the problem lies.
    Thanks.

    Disclaimer
    The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
    Liability Disclaimer
    In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
    Posting
    4500-X says:
    Port Buffers
    32-MB Shared Memory
    2960X says:
    Feature
    2960-XR
    2960-X
    2960-S
    2960
    Egress buffers
    4 MB
    4 MB
    2 MB
    2 MB

  • Set up Network Load Balancing on an Azure VM

    i have an VM on Azure, on which I have two AD LDS instances. I want to set up Network Load Balancing to have fault tolerance between the two AD LDS instances. when i start to create a new cluster, it shows me a message that DHCP will be turned off. i ignored
    that one time, and what conspired was that i was unable to access the VM only. i had to set up my AD LDS instance on a different VM again. 
    is there any way which will enable me to set up the AD LDS instance properly on the VM?

    Hi,
    Firstly, if I understand correctly, you set up a cluster with only one VM? Based on my experience, you need to use two Azure VMs running AD LDS to configure Failover cluster.
    In addition, did you mean that you cannot RDP into the VM after you created the cluster? If yes, which kind of error message you have received? Please check the Quick Glance of that VM on the
    Azure management portal to make sure that all the parameters for that VM are displaying, especially for the internal IP address.
    Furthermore, it seems that the question is related to Azure Virtual Machines, I recommend you to ask in Azure Virtual Machine forum below for further assistance:
    https://social.msdn.microsoft.com/Forums/en-US/home?forum=WAVirtualMachinesforWindows
    Best regards,
    Susie

  • Load balancing jpdk portlets

    We want to load balance our application across two physical application servers that have 9iAS installed. The components of 9iAS are:
    OHS (apache web server)
    iFS 1.1.9.0.7
    Discoverer
    Reports Server
    OC4J ( which hosts our intranet application)
    JPDK (provides two portlet that display a user menu and a content page)
    Both machines will be identically set up to
    a) distribute load
    b) provide fault tolerance.
    Here is where we face a challenge.
    The two portlets (menu and content) on each of the application servers point to their own 9iAS components mentioned above.
    We want to load balance accross the apache servers and once a session in portal has been established bind to the server machine that served the single sign-on login for the rest of the application.
    Our problem is that the portal page that contains the menu and content portlet is statically bound to a portlet that is served from a web provider. We need to have the portal pick up the portlet from either of the server m/c and from then on always go to that particular server m/c for the life of that session (which is a portal login session).

    We want to load balance our application across two physical application servers that have 9iAS installed. The components of 9iAS are:
    OHS (apache web server)
    iFS 1.1.9.0.7
    Discoverer
    Reports Server
    OC4J ( which hosts our intranet application)
    JPDK (provides two portlet that display a user menu and a content page)
    Both machines will be identically set up to
    a) distribute load
    b) provide fault tolerance.
    Here is where we face a challenge.
    The two portlets (menu and content) on each of the application servers point to their own 9iAS components mentioned above.
    We want to load balance accross the apache servers and once a session in portal has been established bind to the server machine that served the single sign-on login for the rest of the application.
    Our problem is that the portal page that contains the menu and content portlet is statically bound to a portlet that is served from a web provider. We need to have the portal pick up the portlet from either of the server m/c and from then on always go to that particular server m/c for the life of that session (which is a portal login session).

  • UOO sequencing along with WLS high availability cluster and fault tolerance

    Hi WebLogic gurus.
    My customer is currently using the following Oracle products to integrate Siebel Order Mgmt to Oracle BRM:
    * WebLogic Server 10.3.1
    * Oracle OSB 11g
    They use path service feature of a WebLogic clustered environment.
    They have configured EAI to use the UOO(Unit Of Order) Weblogic 10.3.1 feature to preserve the natural order of subsequent modifications on the same entity.
    They are going to apply UOO to a distributed queue for high availability.
    They have the following questions:
    1) When during the processing of messages having the same UOO, the end point becomes unavailable, and another node is available in order to migrate, there is a chance the UOO messages exist in the failed endpoint.
    2) During the migration of the initial endpoint, are these messages persisted?
    By persisted we mean that when other messages arrive with the same UOO in the migrated endpoint this migrated resource contains also the messages that existed before the migration?
    3) During the migration of endpoints is the client receiving error messages or not?
    I've found an entry on the WLS cluster documentation regarding fault tolerance of such solution.
    Special Considerations For Targeting a Path Service
    When the path service for a cluster is targeted to a migratable target, as a best practice, the path
    service and its custom store should be the only users of that migratable target.
    When a path service is targeted to a migratable target its provides enhanced storage of message
    unit-of-order (UOO) information for JMS distributed destinations, since the UOO information
    will be based on the entire migratable target instead of being based only on the server instance
    hosting the distributed destinations member.
    Do you have any feedback to that?
    My customer is worry about loosing UOO sequencing during migration of endpoints !!
    best regards & thanks,
    Marco

    First, if using a distributed queue the Forward Delay attribute controls the number of seconds WebLogic JMS will wait before trying to forward the messages. By default, the value is set to −1, which means that forwarding is disabled. Setting a Forward Delay is incompatible with strictly ordered message processing, including the Unit-of-Order feature.
    When using unit-of-order with distributed destinations, you should always send the messages to the distributed destination rather than to one of its members. If you are not careful, sending messages directly to a member destination may result in messages for the same unit-of-order going to more than one member destination and cause you to lose your message ordering.
    When unit-of-order messages are processed, they will be processed in strict order. While the current unit-of-order message is being processed by a message consumer, the next message in the unit-of-order will not be delivered unless it is to the same transaction or session. If no message associated with a particular unit-of-order is processing, then a message associated with that unit-of-order may go to any session that’s consuming from the message’s destination. This guarantees that all messages will be processed one at a time and in order, and any rollback or recover will not prevent ordered processing of the messages.
    The path service uses a persistent store to save the state of which member destination a particular unit-of-order is currently using. When a Path Service receives the first message for a particular unit-of-order bound for a distributed destination, it uses the normal JMS load balancing heuristics to select which member destination will handle the unit and writes that information into its persistent store. The Path Service ensures that a new UOO, or an old UOO that has no messages currently on any destination, can be enqueued anywhere in the cluster. Adding and removing member destinations will not disrupt any existing unit-of-order because the routing decision is made dynamically and those decisions are persistent.
    If the Path Service is unavailable, any requests to create new units-of-order will throw the JMSOrderException until the Path Service is available. Information about existing units-of-order are cached in the connection factory and destination servers so the Path Service availability typically will not prevent existing unit-of-order messages from being sent or processed.
    Hope this helps.

  • Fault tolerant, highly available BOSE XI R2 questions

    Post Author: waynemr
    CA Forum: Deployment
    I am designing a set of BOSE XI R2 deployment proposals for a customer, and I had a couple of questions about clustering. I understand that I can use traditional Windows clustering to setup an active/passive cluster for the input/output file repositories - so that if one server goes down, the other can seamlessly pick up where the other left off. On this Windows-based active/passive cluster, can I install other BOSE services and will they be redundant, or will they also be active/passive. For example: server A is active and has the input/output file repository services and the Page Server. Server B is passive and also has the input/output file repository services and the Page Server. Can the page Server on B be actively used as a redundant Page Server for the entire BOSE deployment? (probably not, but I am trying to check just to make sure) If I wanted to make the most fault-tolerant deployment possible, I think I would need to:Setup two hardware load-balanced web front-end serversSetup two servers for a clustered CMSSetup two web application servers (hardware load-balanced, or can BOSE do that load-balancing?)Setup two Windows-clustered servers for the input/output file repositoriesSetup two servers to provide pairs of all of the remaining BOSE services (job servers, page servers, webi, etc.)Setup the CMS, auditing, and report databases on a cluster of some form (MS SQL or Oracle)So 10 servers - 2 Windows 2003 enterprise and 8 Windows 2003 standard boxes, not including the database environment.Thanks!

    Post Author: jsanzone
    CA Forum: Deployment
    Wayne,
    I hate to beat the old drum, and no I don't work for BusinessObjects education services, but all of your questions and notions of a concept of operations in regards to redundancy/load balancing are easily answered by digesting the special BO course "SA310R2" (BusinessObjects Enterprise XI R1/R2 Administering Servers - Windows).  This course fully covers the topics of master/slave operations, BO's own load balancing operations within its application, and pitfalls to avoid.  Without attending this course, I for one would not have properly understood the BusinessObjects approach and would've been headed on a collision course with disaster in setting up a multi-server environment.
    Best wishes-- John.

Maybe you are looking for

  • How do i Delete an email address on my computer

    I have an email account on my linux based computer. No longer a valid email address. and would like to remove it.

  • Target cost version 0

    Hi, currently we are using target cost version 0 to calculate production variance. But to get correct production variance in relevant variance category it is needed to have current standard cost updated in material master.  But if we skip updating st

  • The new ios7 app store

    The new ios7 app store, updated apps stay on the list? why cant we get rid of them? even when we open the description,we cant close it back making the list longer. The updates available should be visible, then the apps which we update should be remov

  • Keywords with more than one word

    When searching by keyword, do I need to use the full keyword if it's 2 or more words?  For instance, if my keyword is niagra falls, will those photos come up if I just search "falls"?  Or do I need to use keywords Niagra Falls and falls? Thank you!

  • Add a Comment Link Doesn't Work - Not Recognized as a Link

    Hi there...hoping this can be a quick fix I have a blog, published on MobileMe, but the 'Add a Comment' link simply doesn't work. When I put my mouse over the words "Add a Comment," it doesn't even register as a link; its unclickable. www.thedailyarc