Server Load balancing issues

the servers are loadbalancing between the switches '3'
and '2' and the link between the two switches is blocked.
This link was forwarding before and thus any traffic going to the server was
send to the Servers correctly no matter on which switch they are active.
However after addition of another link in between the switches 'root'
and '1', the path cost to the root has decreased and thus the link
between the '2' and '3' is Blocking and the other link between
the '2' and '1' is Forwarding as it should be ideally. But
this would be creating an issue because the trafic coming from outside i.e.
through switch '1' to the server will be correctly send to the
server if the server NIC is active on the '3' because the Virtual MAC
addresses are binded accordinlgy. In case the server falls onto the other
NIC which is on the '2' the traffic won't be able to pass because the
MAC address is not binded on the trunk connecting the switches '1'
and '2'. This binding cannot be done because the same MAC address is
being learned on the another trunk on the '1' which is connecting
to 'root'. So if we bind the same Virtual MAC on two trunks on the same
switch ('1') then this will cause MAC Address Flapping on the
switch and hence canot be done.
In another case,we can able to bind virtuak MAC on two trunks on the same
switch('1') and it's working fine.
The servers are load balancing in round robin fashion. each server has 2 NICs and work in Active-Passive mode. The servers load balance each other when all their active links are connected to '3' switch but when two of the active NICs of two servers are connected to '3' and the rest of the two active NICs from the other two servers are connected to '2' switch then only the forst 2 servers load balance and the other 2 servers do not load balance.
Please help.
Thanks in advance.

In my experience, server load balancing is one of the most difficult things to get going properly in a switched LAN environment. Switched LANs are designed so that one MAC address can only be bound to one switch port. Therefore, if you have two NICs with the same MAC address (real or virtual), then you will get flapping somewhere.
I have seen various ways that the manufacturers try to get around this limitation of switched LANs. For example, one technique I have seen, practiced by ISA Server, is to use a multicast MAC address for the service so that frames go to both exit ports. But that does not always work well unless you tweak the network to acommodate it.
What sort of servers are they, and what system is used for the load balancing?
Kevin Dorrell
Luxembourg

Similar Messages

  • App.server load balancing for SAP System with 1 PS

    Hi,
    In SAP CPS 7.0 (Build M26.12) I have a SAP system with Central Instance + 10 App.servers, but all instances are managed by 1 ProcessServer.
    After activating the "App.server load balancing" setting in SAP system definition the application servers are becoming visible in CPS with their load factors (number of BGD wp's on app.servers) and load numbers (number of active jobs on app.servers).
    This is so far fine, but the additional functionality is not working as I would expect, I have issues with 2 functionalities:
    1. Based on documentation after activating also the XAL connection the CPS should submit the job on app.server with best performance based on XAL monitoring data filling the TARGET_SERVER parameter.
    This functionality is not working for me at all
    2. A useful functionality after activating the "App.server load balancing" setting is that the ProcessServer is going to "Overloaded" status when all BGD wp's of SAP system are occupied, thus restricting submitting new jobs during overload situation. But I had an issue also with this functionality, after SAP system recovery from overload situation, the CPS still remained in Overload status (so no new jobs were submitted).
    As a workaround I had increased the treshold values for loads on all app.servers for this SAP system, what was fine for several days, but after a while I believe this was a reason of unexpected performance issues in CPS, therefore I have deactivated the 'App.server load balancing" setting at all for this ProcessServer.
    I would appreciate your feedbacks with this functionality.
    Thanks and Regards,
    Ernest Liczki

    Hi Preetish,
    This connect string option is to loadbalance RFC connections. These are balanced upon login, once you are connected to a particular application server (AS) you stay on that server until you reconnect.
    Since CPS uses multiple RFC connections, this will result in the connections being distributed over the available AS resources which is fine as long as they are generally evenly loaded. If you have certain AS hosts that are continuosly more loaded than the rest, then you probably don't want the CPS RFC connections to end up on these servers.
    The original question is about loadbalancing of batch jobs over the available AS resources, and this is done independent of the RFC connection load balancing. Even if all CPS RFC connections are pinned to the DB/CI host, you can still loadbalance jobs over the available SAP AS hosts, either by using SAPs builtin balancing, or the CPS algorithm by activating the checkbox as indicated in the first entry in this thread.
    Finally, to reply to Ernest's question: I believe there are some fixes on the app load balancing in the latest release, M26.17 should be available on the SWDC now.
    Regards,
    Anton.
    Edited by: Anton Goselink on May 29, 2009 9:06 PM

  • SIP load balancing issue with ACE 4710

    SIP Load balancing Issue with ACE 4710
    I have a Cisco ace 4710 with vesion Version A4(2.2). i configued simple SIP load balancing first without stickiness. without stikeiness we are having a problem because bye packet at the was not going to the same server all the time that left our port in used even though user hang up the phone. its happen randmly. i have a total 20 licenced ports and its fill out very quickly. so i dicided to use the stickiness with call-ID but still same issue. below is the config
    rserver host CIN-VOX-31
      ip address 172.20.130.31
      inservice
    rserver host CIN-VOX-32
      ip address 172.20.130.32
      inservice
    serverfarm host CIN-VOX
      probe SIP-5060
      rserver CIN-VOX-31
        inservice
      rserver CIN-VOX-32
        inservice
    sticky sip-header Call-ID VOX_SIP_GROUP
      timeout 1
      timeout activeconns
      replicate sticky
      serverfarm CIN-VOX
    class-map match-all CIN_VOX_L4_CLASS
      2 match virtual-address 172.22.12.30 any
    class-map match-all CIN_VOX_SIP_L4_CLASS
      2 match virtual-address 172.22.12.30 udp eq sip
    policy-map type loadbalance sip first-match CIN_VOX_LB_SIP_POLICY
      class class-default
        sticky-serverfarm VOX_SIP_GROUP
    policy-map multi-match GLOBAL_DMZ_POLICY
       class CIN_VOX_SIP_L4_CLASS
        loadbalance vip inservice
        loadbalance policy CIN_VOX_LB_SIP_POLICY
        loadbalance vip icmp-reply
      class CIN_VOX_L4_CLASS
        loadbalance vip inservice
        loadbalance policy CIN_VOX_LB_SIP_POLICY
        loadbalance vip icmp-reply
    interface vlan 20
      description VIP_DMZ_VLAN
      ip address 172.22.12.4 255.255.255.192
      alias 172.22.12.3 255.255.255.192
      peer ip address 172.22.12.5 255.255.255.192
      access-group input PERMIT-ANY-LB
      service-policy input GLOBAL_DMZ_POLICY
    could you please help me on this...
    thanks
    Rakesh Patel

    I mean there should be one more statement-
    class-map type sip loadbalance match-any CIN_VOX_LB_SIP_POLICY 
    match sip header Call_ID header-value sip:
    and that will be called under-
    policy-map multi-match GLOBAL_DMZ_POLICY
       class CIN_VOX_SIP_L4_CLASS
        loadbalance vip inservice
        loadbalance policy CIN_VOX_LB_SIP_POLICY
        loadbalance vip icmp-reply
    is that missing in your config ?

  • CSS arrowpoint cookie load balancing issue

    Hi guys,
    I need some advice on a load balancing issue.
    We have connections hitting the CSS via a proxy environment. As a result i see only one source ip address. I want to use arrowpoint cookies for session stickeyness. However when i enable the rule the tcp session negotiation fails. The CSS sends a TCP/RST which terminates the session.
    Here's the rule config:
    content HTTP_rule
    add service ZSTS299102
    add service ZSTS281101
    vip address <filtered>
    add service LONS299102
    add service LONS281101
    balance weightedrr
    change service ZSTS299102 weight 5
    change service ZSTS281101 weight 5
    advanced-balance arrowpoint-cookie
    protocol tcp
    port 80
    url "/*"
    active
    Any help would be much appreciated.

    Remko,
    in L3/L4 the CSS sends the SYN directly to the server.
    So when the FIN comes in, we simply pass it to the server.
    With L5 the CSS spoofs the connection and we select the server only after receiving the GET.
    If there was some delay between the GET and the FIN, the CSS would have time to establish a connection with the server and the FIN could be simply forwarded.
    Unfortunately, in this case the FIN is right after the GET with no delay.
    Gilles.

  • Using ACE for proxy server load balancing

    Hello groups,
    I wanted to know your experiences of using ACE for proxy server load balancing.
    I want to load balance to a pool of proxy servers. Note: load-balancing should be based on the HTTP URL (i can't use source or dest. ip address) so that
    a certain domain always gets "cached/forwarded" to the same proxy server. I don't really want to put matching
    criteria in the configuration (such as /a* to S1, /b* to S2, /c* to S3,etc..), but have this hash calculated automatically.
    Can the ACE compute its own hash based on the number of "online" proxy servers ? ie. when 4 servers are online, distribute domains between 1,2,3,4 evenly.
    Should server 4 fail, recalculate hash so that the load of S4 gets distributed across the other 3 evenly. Also load-balancing domains of S1 ,S2 and S3 should not change if S4 fails.....
    regards,
    Geert

    This is done with the following predictor command:
    Scimitar1/Admin# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Scimitar1/Admin(config)# serverfarm Proxy
    Scimitar1/Admin(config-sfarm-host)# predictor hash ?
      address         Configure 'hash address' Predictor algorithms
      content         Configure 'hash http content' Predictor algorithms
      cookie          Configure 'hash cookie' Predictor algorithms
      header          Configure 'hash header' Predictor algorithm
      layer4-payload  Configure 'hash layer4-payload' Predictor algorithms
      url             Configure 'hash url' Predictor algorithm
    Scimitar1/Admin(config-sfarm-host)# predictor hash url
    It does hash the url and the result takes into account the number of active proxies dynamically.
    This command has been designed for this kind of scenario that you describe.
    Gilles.

  • ITS load balancing issue

    Hi all,
    During our testing we are getting a load balancing issue.  However, one of the agates in our network is has more CPU power than compared to the other agates in our ITS network.  The memory on all the agate servers is the same. 
    Our current issue we are getting is the one agate that has more cpu power but acquires more sessions as compared to the other two agates.  It roughly gets 60 more sessions per agate process as compare to the other Agate servers.  Does having more cpu on a Agate affect the load balancing on ITS?  We are on ITS patch level 19 with the Hotfix. 
    Thanks,
    Jin Bae

    Hello Jin,
    yes, at (re)initialize the WGate retrieves the capacity from the AGates.
    This is an accumulated number based on CPU performance and the number of CPUs!
    The number can be seen in "wgate-status" as the "Capacity" of the AGate.
    When running multiprocess Agates the number is retrieved from the MManager and also involves the number of agate-processes.
    The WGate dispatches the load in proportion depending on these capacity numbers.
    By my knowledge there is no way that these values can be configured (fixed).
    Regards,
      Fekke

  • Dev6 Server Load Balancing

    Hi
    I try to install Load Balancing with Dev6/Patch2 and OAS4.0.7.1
    on 4 Machines with WinNT Server 4 SP 5. I tried to do it as
    described in the documentation. But I did not succeed. It seems
    to be that the Doc is not complete or wrong. Could somebody give
    an example how to set up the LB Servers and Clients as NT
    Services ?
    Thank's in advance
    Charly
    null

    Hi Steven,
    No LACP and SLB are different.
    LACP is the Link Aggregation Control Protocol, which is the protocol used within the IEEE 802.3ad (now 802.1AX) Link Aggregation mechanism to control the bundling and unbundling of the physical links into an aggregate link.
    Server Load Balancing is a feature in IOS to load balance traffic destined to a virtual IP across a group of real IP. From Configuring Server Load Balancing:
    The SLB feature is a Cisco IOS-based solution that provides IP server load balancing. Using the IOS SLB feature, the network administrator defines a virtual server that represents a group of real servers in a cluster of network servers known as a server farm.
    Server Load Balancing is effectively what the Cisco Application Control Engine (ACE) etc., does but in IOS.
    Regards

  • WLC Radius Server Load Balance

    Hi,
    Can someone provide me detailed description on how WLC Radius Server Load balance works.
    Becuase, I encounted a problem of User Authenticated with the 1st Radius Server, but Accounting Records are actually on 2nd Server .
    Any response will be very appreciated
    -Angela

    Hi Angela,
    I pasted below the part of config guide explaining the different modes. In summary :
    -Fallback off means : when 1st radius server shows dead , WLC moves to the second. And will only change again when the 2nd is dead too.
    -Passive means : whent 1st radius is dead, WLC moves to the second. If there is a new authentication coming in, it will try the 1st radius server again
    -Active means : WLC constantly sends radius probes to detect when primary is back up.
    config radius fallback-test mode {off | passive | active}
    where
    •off disables RADIUS server fallback.
    •passive causes the controller to revert to a server with a lower priority from the available backup servers without using extraneous probe messages. The controller simply ignores all inactive servers for a time period and retries later when a RADIUS message needs to be sent.
    •active causes the controller to revert to a server with a lower priority from the available backup servers by using RADIUS probe messages to proactively determine whether a server that has been marked inactive is back online. The controller simply ignores all inactive servers for all active RADIUS requests. Once the primary server receives a response from the recovered ACS server, the active fallback RADIUS server no longer sends probe messages to the server requesting the active probe authentication.

  • CSM(content switching module) supports the 2 tier server load balance ?

    hi everyone,
    Does any know the CSM support 2 tier server load balance ?
    this means that CSM perform the server load balance for servers and the same servers require another time Server load balance. In the other word,
    the CSM supports server port and client port for server load balance ?
    thanks
    fred.

    Hi, this seems to describe a typical case of multi-tier design where the CSM needs to handle 2 types of connections:
    1. clients->CSM->serverfarm1
    2. serverfarm1->CSM->serverfarm2
    We usually refer to the second type of connections as server-to-server load balanced traffic.
    There is no problem in handling that scenario with the CSM and you have a few options.
    In particular, each virtual server on the CSM can be configured to only accept incoming connections from a specific VLAN, so you can use that as an additional security measure or to distinguish connections based on which VLAN they come in from.
    If you want to, you could even configure the CSM with 2 virtual servers with the same exact virtual IP and L4 port, but listening on 2 separate VLANs (the client-side VLAN and serverfarm1 VLAN) and use a different server farm based on that.
    One important thing to keep in mind when handling server-to-server load balanced connections: if serverfarm1 and serverfarm2 are on the same VLAN, you have to configure "client NAT" for the server-to-server connections, to force the return traffic back to the CSM.

  • Please provide vShield Manager Server Load Balance values

    Hi All:
         I couldn't find values about the server load balance of vShield Manager.
    Please provide these value:
    1. Throughput      Mbps
    2. Web port 80 server load balance connections:
    3. SSL port 443 server load balance connections:
    Thanks
    BR.
                            Vincent

    Hi Vincent,
    Can you please eloborate your question ?

  • Email send issue using "Mail Server Load balancer"  (Cisco ACE 20)

    Please let me know if someone have experienced this kind of issue or any suggestions.
    The send email action was working file in MII with smtp mail server on port 25. Recently basis did a change in mail server ip address and they installed a new Load Balancer . The Load balancer is between SMTP and MII. After this change MII does not send email (unknown source error). now MII send email action has ip address or qualified path of Load balancer in MII send email configuration instead of direct ip address of SMTP server. Below is the error message in Net Weaver logs.
    MII still sends email if direct ip address of email server  provided but not through email Load balancer .
    Any suggestions ?
    Could not authenticate mail account (Unknown Source)
    [EXCEPTION]
    javax.mail.AuthenticationFailedException
    at javax.mail.Service.connect(Service.java:319)
    at javax.mail.Service.connect(Service.java:169)
    at javax.mail.Service.connect(Service.java:118)
    at com.sap.xmii.storage.connections.MailConnection.sendMail(MailConnection.java:202)
    at com.sap.xmii.bls.executables.actions.mail.MailActions.send(MailActions.java:223)
    at sun.reflect.GeneratedMethodAccessor1412.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at com.sap.xmii.bls.engine.ReflectiveAction.doExecute(ReflectiveAction.java:747)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseAction.execute(BaseAction.java:76)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runAction(ProductionRunner.java:147)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:50)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.controls.Switch.doExecute(Switch.java:131)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:122)
    at com.sap.xmii.bls.executables.controls.Repeater.doExecute(Repeater.java:113)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:64)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:59)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.RootNode.execute(RootNode.java:39)
    at com.sap.xmii.bls.engine.TransactionInstance.execute(TransactionInstance.java:1001)
    at com.sap.xmii.bls.engine.TransactionInstance.run(TransactionInstance.java:680)
    at com.sap.xmii.bls.executables.actions.logic.LogicActions.transaction(LogicActions.java:310)
    at sun.reflect.GeneratedMethodAccessor387.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at com.sap.xmii.bls.engine.ReflectiveAction.doExecute(ReflectiveAction.java:747)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseAction.execute(BaseAction.java:76)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runAction(ProductionRunner.java:147)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:50)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:59)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:151)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:64)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.RootNode.execute(RootNode.java:39)
    at com.sap.xmii.bls.engine.TransactionInstance.execute(TransactionInstance.java:1001)
    at com.sap.xmii.bls.engine.TransactionInstance.run(TransactionInstance.java:680)
    at com.sap.xmii.bls.executables.actions.logic.LogicActions.transaction(LogicActions.java:310)
    at sun.reflect.GeneratedMethodAccessor387.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at com.sap.xmii.bls.engine.ReflectiveAction.doExecute(ReflectiveAction.java:747)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseAction.execute(BaseAction.java:76)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runAction(ProductionRunner.java:147)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:50)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:151)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:122)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:151)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:122)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:151)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:64)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:151)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:64)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.RootNode.execute(RootNode.java:39)
    at com.sap.xmii.bls.engine.TransactionInstance.execute(TransactionInstance.java:1001)
    at com.sap.xmii.bls.engine.TransactionInstance.run(TransactionInstance.java:680)
    at com.sap.xmii.bls.executables.actions.logic.LogicActions.transaction(LogicActions.java:310)
    at sun.reflect.GeneratedMethodAccessor387.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at com.sap.xmii.bls.engine.ReflectiveAction.doExecute(ReflectiveAction.java:747)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseAction.execute(BaseAction.java:76)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runAction(ProductionRunner.java:147)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:50)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:59)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:151)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:122)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:151)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:64)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:151)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:122)
    at com.sap.xmii.bls.executables.controls.Conditional.doExecute(Conditional.java:158)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runControl(ProductionRunner.java:97)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:64)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:59)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.RootNode.execute(RootNode.java:39)
    at com.sap.xmii.bls.engine.TransactionInstance.execute(TransactionInstance.java:1001)
    at com.sap.xmii.bls.engine.TransactionInstance.run(TransactionInstance.java:680)
    at com.sap.xmii.bls.executables.actions.logic.LogicActions.transaction(LogicActions.java:310)
    at sun.reflect.GeneratedMethodAccessor387.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at com.sap.xmii.bls.engine.ReflectiveAction.doExecute(ReflectiveAction.java:747)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseAction.execute(BaseAction.java:76)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runAction(ProductionRunner.java:147)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:50)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:59)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:59)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.sequences.RootNode.execute(RootNode.java:39)
    at com.sap.xmii.bls.engine.TransactionInstance.execute(TransactionInstance.java:1001)
    at com.sap.xmii.bls.engine.TransactionInstance.run(TransactionInstance.java:680)
    at com.sap.xmii.Illuminator.connectors.Xacute.XacuteRequestHandler.processQueryRequest(XacuteRequestHandler.java:342)
    at com.sap.xmii.Illuminator.connectors.Xacute.XacuteRequestHandler.QueryRequest(XacuteRequestHandler.java:135)
    at com.sap.xmii.Illuminator.connectors.Xacute.XacuteConnector.doProcessRequest(XacuteConnector.java:86)
    at com.sap.xmii.Illuminator.connectors.AbstractConnector.processRequest(AbstractConnector.java:83)
    at com.sap.xmii.Illuminator.server.QueryEngine.run(QueryEngine.java:41)
    at com.sap.xmii.Illuminator.services.handlers.IlluminatorService.processRequest(IlluminatorService.java:68)
    at com.sap.xmii.Illuminator.services.ServiceManager.run(ServiceManager.java:68)
    at com.sap.xmii.servlet.Illuminator.service(Illuminator.java:68)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at com.sap.xmii.servlet.ServletRunner.run(ServletRunner.java:80)
    at com.sap.xmii.servlet.ServletRunner.run(ServletRunner.java:44)
    at com.sap.xmii.Illuminator.gui.irpt.ReportParser.processServletRequest(ReportParser.java:610)
    at com.sap.xmii.Illuminator.gui.irpt.ReportParser.parseServletTag(ReportParser.java:276)
    at com.sap.xmii.Illuminator.gui.irpt.ReportParser.parseFile(ReportParser.java:154)
    at com.sap.xmii.Illuminator.gui.irpt.ReportParser.parse(ReportParser.java:119)
    at com.sap.xmii.servlet.ReportServlet.service(ReportServlet.java:90)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:162)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:81)
    at com.sap.xmii.system.SecurityFilter.doFilter(SecurityFilter.java:96)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)
    at com.sap.xmii.system.SecurityFilter.doFilter(SecurityFilter.java:96)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)
    at com.sap.xsrf.filter.XSRFProtectorFilter.doFilter(XSRFProtectorFilter.java:62)
    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:468)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:399)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:388)
    at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:84)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:244)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)
    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:428)
    at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:247)
    at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:327)
    Date:
    2014-03-25
    Time:
    14:04:06:176
    Category:
    com.sap.xmii.storage.connections.MailConnection
    Location:
    com.sap.xmii.storage.connections.MailConnection
    Application:
    sap.com/xapps~xmii~ear
    Thread:
    Thread[HTTP Worker [@629095796],5,Dedicated_Application_Thread]
    Data Source:
    j2ee\cluster\server0\log\defaultTrace_00.trc
    Arguments:
    DSR Transaction:

    Have a look at this thread please: 
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/f11f3079-b04a-4a8e-b89e-d56eb0532c42/the-mail-could-not-be-sent-to-the-recipients-because-of-the-mail-server-failure-sending-mail-using?forum=sqldatabaseengine
    Saeid Hasani [sqldevelop]

  • App-V 5 Publishing Server + Load Balancing (NetScaler) issue

    All, 
    I have attempted to load balance my App-V 5.0 deployment, which includes two nodes (appv-1 and appv-2) on a Citrix NetScaler VPX appliance. 
    The management server is working fine, when browsing to the load balanced VIP DNS alias - pass-through authentication works great and the management console is displayed. 
    When I attempt to browse to the load balanced VIP DNS alias for the Publishing Server, it prompts for authentication credentials, then displays the following error:
    Method not allowed. Please see the service help page for constructing valid requests to the service.
    When I attempt to browse using the same internet explorer instance to http://appv-1.fqdn:8088 it displays the XML page after entering authentication credentials. 
    Here is my set-up & what I have done.... 
    Appv-1 Server
    Management Server installed on Port:8088
    Publishing Server installed on Port:8090
    SQL Cluster and Mirroring configured (tested and working)
    Appv-2 Server
    Management Server installed on Port:8088
    Publishing Server installed on Port:8090
    SQL Cluster and Mirroring configured (tested and working)
    NetScaler 
    Management VIP: 10.1.1.148
    Publishing VIP: 10.1.1.124 
    Both Appv-1 and Appv-2 are setup as services and bound to the corresponding Virtual Servers.
    Load balance alogrith - persistence - source IP: 255.255.255.255 - Least Connection
    DNS and AD Modifications
    host A record - appvmgmtsrv.fqdn = 10.1.1.148
    host A record - appvpubsrv.fqdn = 10.1.1.124
    computer object create in same domain for appvmgmtsrv and appvpubsrv
    SPN Modifications: 
    setspn –A http/appvmgmtsrv:8088 domain\appvmgmtsrv
    setspn –A http/appvpubsrv:8089 domain\appvpubsrv
    setspn –A http/appvmgmtsrv.domain.local:8088 domain\appvmgmtsrv
    setspn –A http/appvpubsrv.domain.local:8090 domain\appvpubsrv
    IIS Modifications:
    Appv-1 and Appv-2 - ApplicationHost.config - modified with below line for both Management and Publishing Server sections:
    <windowsAuthentication enabled="true" useKernelMode="true" useAppPoolCredentials="true" />
    Rebooted and IIS starts correctly.
    Testing 
    On Appv-1 if I browse to http://appvmgmtsrv.fqdn:8088/console.html it asks for authentication, when authentication is entered it fails. 
    On another other machine in the environment if I browse to http://appvmgmtsrv.fqdn:8088/console.html it automatically loads the console with the credentials of the logged on user. 
    Launching the Management Console via Load Balanced DNS name works on every other server except itself.... assume this is Kerberos modifications? (This only happens when I disable the appv-2 node on the load balancer, forcing all IIS connections to Appv-1). 
    The management server issue above is not a big one and can work around that easily. The major issue is with the Publishing Server. .. . 
    On Appv-2 if I browse to http://appvpubsrv.fqdn:8090 it will prompt for authentication, once enter it displays: Method not allowed. Please see the service help page for constructing valid requests to the service.
    in a new tab if I enter http://appv-1.fqdn:8090 it will prompt for authentication, once enter its displays the XML page with App-V meta-data. 
    Can anyone shed some light on this issue please.... When I update the App-V client with the load balanced publishing server VIP DNS it displays the following error in the event log: 
    Getting server publishing data failed.
    URL: http://appvpubsrv.fqdn:8090
    Error code: 0x45500D27 - 0x80190195
    Any help will be greatly appreciated. ....

    You could read
    https://blog.uvm.edu/jgm/2013/09/26/app-v-5-server-f5-load-balancers-and-kerberos/
    https://blog.uvm.edu/jgm/2013/09/27/app-v-server-configuration-load-balanced-configuration/
    http://social.technet.microsoft.com/Forums/en-US/2b39e2b8-aba1-4e96-b18f-c5bcb9f12687/load-balancing-two-appv-50-servers-the-publishing-service-is-not-able-to-contact-the-management?forum=mdopappv
    http://www.thinclient.net/blog/?p=344
    In fact I'm not sure if any of these really helps you, but they give some good advice
    Falko
    Twitter
    @kirk_tn   |   Blog
    kirxblog   |   Web
    kirx.org   |   Fireside
    appvbook.com

  • Send Email issue using "Mail Server Load balancer"  (Cisco ACE 20)

    I have asked this question in SAP MII forum too but it appears issue could be in NetWeaver Mail API. Please let me know if someone have experienced this kind of issue or any suggestions.
    The send email action was working file in MII with smtp mail server on port 25. Recently basis did a change in mail server ip address and they installed a new Load Balancer . The Load balancer is between SMTP and MII. After this change MII does not send email (unknown source error). now MII send email action has ip address or qualified path of Load balancer in MII send email configuration instead of direct ip address of SMTP server. Below is the error message in Net Weaver logs.
    MII still sends email if direct ip address of email server  provided instead of Email Load balancer but not through Load balancer .
    Any suggestions ?
    Could not authenticate mail account (Unknown Source)
    [EXCEPTION]
    javax.mail.AuthenticationFailedException
    at javax.mail.Service.connect(Service.java:319)
    at javax.mail.Service.connect(Service.java:169)
    at javax.mail.Service.connect(Service.java:118)
    at com.sap.xmii.storage.connections.MailConnection.sendMail(MailConnection.java:202)
    at com.sap.xmii.bls.executables.actions.mail.MailActions.send(MailActions.java:223)
    at sun.reflect.GeneratedMethodAccessor1412.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at com.sap.xmii.bls.engine.ReflectiveAction.doExecute(ReflectiveAction.java:747)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseAction.execute(BaseAction.java:76)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runAction(ProductionRunner.java:147)
    at com.sap.xmii.bls.executables.sequences.Sequence.execute(Sequence.java:50)
    at com.sap.xmii.bls.engine.runners.ProductionRunner.runSequence(ProductionRunner.java:126)
    at com.sap.xmii.bls.executables.controls.Switch.doExecute(Switch.java:131)
    at com.sap.xmii.bls.engine.BaseNode.executeNode(BaseNode.java:198)
    at com.sap.xmii.bls.engine.BaseControl.execute(BaseControl.java:127)

    Hi Ahmed,
    I don't have experience with Blackberry, but, as the document mentions, the first thing to do would be making sure that the connection timeout  is set to something high enough
    You can find more details on how to modify this value at the link below:
    http://www.cisco.com/en/US/docs/interfaces_modules/services_modules/ace/vA2_3_0/configuration/security/guide/tcpipnrm.html#wp1074289
    I hope this helps
    Daniel

  • Load-balancing issues with iPlanet and multiple clusters

    We're in performance test of a large-scale clustered deployment based on WLS 5.1sp10.
    Due to scalability/functionality issues, some of which we've seen firsthand and
    some of which we've been informed of by associates as well as BEA representatives,
    we've chosen to implement multiple clusters with a maximum of three nodes each.
    These clusters will be fronted by a web server tier consisting of iPlanet servers
    using the proxy plugin.
    Due to hardware constraints (both in test and in production), however, we've configured
    the iPlanet servers to route across the multiple clusters. In our test environment,
    for instance, we've got a single iPlanet server routing across two 3-node clusters,
    and the configuration in obj.conf is as follows:
    <Object name="application" ppath="*/application">
    Service fn="wl-proxy" \
    WebLogicCluster="clusterA_1:9990,clusterB_1:9991,clusterA_2:9990,clusterB_2:9991,clusterA_3:9990,
    clusterB_3:9991" \
    CookieName="ApplicationSession"
    </Object>
    Our issue is that the load-balancing doesn't appear to work across the clusters.
    We're seeing one cluster get about 90% of the load, while the other receives
    only 10%.
    So, the question (finally!) is: Is this configuration correct (i.e., will it
    work according to the logic of the proxy plugin), and is it appropriate for this
    situation? Are there other alternative approaches that anyone can recommend?
    Thanks in advance,
    cramer

    I use weblogic6.1 with sp2+windows 2000.I develop a web application and deploy
    it to cluster.Through HttpClusterServlets proxy of weblogic I found that a server
    in cluster almost get 95% of requests but another only get 5% of requests.Why???
    I don't set any special parameter.And the weight of the two clustered server is
    equal.I use round-robin arithmetic.
    Thanks!
    "cramer" <[email protected]> wrote:
    >
    We're in performance test of a large-scale clustered deployment based
    on WLS 5.1sp10.
    Due to scalability/functionality issues, some of which we've seen firsthand
    and
    some of which we've been informed of by associates as well as BEA representatives,
    we've chosen to implement multiple clusters with a maximum of three nodes
    each.
    These clusters will be fronted by a web server tier consisting of iPlanet
    servers
    using the proxy plugin.
    Due to hardware constraints (both in test and in production), however,
    we've configured
    the iPlanet servers to route across the multiple clusters. In our test
    environment,
    for instance, we've got a single iPlanet server routing across two 3-node
    clusters,
    and the configuration in obj.conf is as follows:
    <Object name="application" ppath="*/application">
    Service fn="wl-proxy" \
    WebLogicCluster="clusterA_1:9990,clusterB_1:9991,clusterA_2:9990,clusterB_2:9991,clusterA_3:9990,
    clusterB_3:9991" \
    CookieName="ApplicationSession"
    </Object>
    Our issue is that the load-balancing doesn't appear to work across the
    clusters.
    We're seeing one cluster get about 90% of the load, while the other
    receives
    only 10%.
    So, the question (finally!) is: Is this configuration correct (i.e.,
    will it
    work according to the logic of the proxy plugin), and is it appropriate
    for this
    situation? Are there other alternative approaches that anyone can recommend?
    Thanks in advance,
    cramer

  • Could not retrieve Enterprise Global Template - Load balancer issue

    Hi,
    We have 4 Project Server 2010 servers. The 4 web servers are load balanced by networking team with sticky session configured.
    When we try to connect to the Project Server using MPP 2007 SP2, it fails saying 'Could not retrieve Enterprise Global template'. It works perfect when we point to a specific server by specifying the IP address for server name in the 'hosts'
    file.
    Earlier we observed some errors in the event viewer related to the SharePoint's internal load balancer for which restarted the 'Project Server Application' on each web server and it got fixed.
    Now, the only entries that we see related to load balancer are as mentioned below as Information (not errors).
    SharePoint Web Services Round Robin Service Load Balancer Event: Initialization
    Process Name: w3wp
    Process ID: 15080
    AppDomain Name: /LM/W3SVC/539065287/ROOT-1-130462463500778047
    AppDomain ID: 2
    Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:ae7c7ee5c09b4e8198bdbb1ecb8c1c1b#authority=urn:uuid:9f626d347784423eb14bde4a1f4d13fc&authority=https://lonms12546:32844/Topology/topology.svc
    Active Endpoints: 4
    Failed Endpoints:0
    Endpoint List:
    http://lonxxx2532:32843/ae7c7ee5c09b4e8198bdbb1ecb8c1c1b/PSI
    http://lonxxx2545:32843/ae7c7ee5c09b4e8198bdbb1ecb8c1c1b/PSI
    http://lonxxx2546:32843/ae7c7ee5c09b4e8198bdbb1ecb8c1c1b/PSI
    http://lonxxx2566:32843/ae7c7ee5c09b4e8198bdbb1ecb8c1c1b/PSI
    Could the issue be due to network load balancer?
    Could the issue be due to Sticky session configuration on the load balancer.?
    How can we get to the root cause of the issue?
    Which logging category should we set to 'Verbose' that can give us some hint.
    Update: We tried to capture the requests through fiddler and observed that when fiddler is running on the client computer then the connection works perfectly fine even through the load balancer. Probably fiddler is reformatting the SOAP
    envelop of the web service requests the way it should before sending the request to the server.
    If we do not run fiddler and run some other similar tool (like Charles) then it again gives the issue and the request stucks at /PWA/_vti_bin/psi/winproj.asmx
    We ran Wireshark on the servers and found the following for that web service call:
    [TCP Previous segment not captured] Continuation or non-HTTP traffic.
    Please let me know if someone could provide any hint what can be done next.
    Regards, Amit Gupta

    There are several ways to configure your load balancer.   I would suggest that you work with the network engineer, the load balancer vendor and your project administrator to resolve this issue. 
    Basically you need URL to be resolved correctly.  Also, I don't believe PS2007 did a good job handling load balancing, so you may need to bring someone in good with IIS and see they can tweek IIS to manage the cache better.
    As I go back and look at your analysis, I think you should probably look at upgrading to Project Server 2013.  They made some improvement in load balancing and the management of distributive cache.
    I assume you have 4 WFE because you have thousands of project users.  Roughly how many  you have?  Over 1000, over 5000
    Have you tried to see if using two load balancing work?  How about just one front end.  I often see companies scaling SharePoint and Project server to extremes. 
    Michael Wharton, MVP, MBA, PMP, MCT, MCTS, MCSD, MCSE+I, MCDBA
    Website http://www.WhartonComputer.com
    Blog http://MyProjectExpert.com contains my field notes and SQL queries

Maybe you are looking for