Observer pattern with TCP

Hello java friends!
I have implemented an auction application over a TCP communication. The client's using a basis Socket and the server is multi threaded with a ServerSocket returning a Socket which is processed in a separate thread. The connection between server and client is closed automatic after each request, so another request from the client would need to be connected over a new connection. It's implemented like this for the sake of performance.
But however, I now want to implement the Observer pattern(which I'm also comfortable with). This would let the client be notified by the server if someone else overbids him in a auction. And I wonder how this could be completed?
I had a thought and it went like this. If the client would also have a ServerSocket then the server would be able to connect to it when ever he would like to notifying the client. What I like by this implementation is that the notification is done without any delay! This is obviously one way to implement it, but I wonder if someone else in here had a better idea,or if someone knew the standard implementation for a situation like this.
Thanks in regards!

superdeportivo wrote:
The sever creates a new thread for every request that the client makes. If performance is important you may want to use a thread pool.
For example the client makes a bid on an auction item. [deleted]This is simplest way to do what you require. I am generally in favour of keeping things simple.
if the Client would like to make another bid then the client would need to go through all the steps again from 1 to 4. Why the fourth step is implemented is because otherwise the client would held a thread live at the server as long as he is connected (using the application) and eventually the server would run out of threads!How many clients do you have at once? You should be able to support 1,000 on a typical PC and 10,000 on a decent server. You can keep the connection/thread for a period of time and drop the connection if the client disconnects or doesn't do anything for a period of time (from a few seconds to a few hours)
Another approach is to use non-blocking IO (see the samples which come with the JDK) In this way a small number of threads can manage a large number of connections.
So lets say if we're using a thread pool with maximum 20 threads, then only 20 clients would be able to connect to the server at the same time (use the application). If the maximum is 2,000 then you can have up to 2,000 clients.
I hope I made my self clear if not please tell me which part wasn't.I think you have made a few assumptions about what performs best or what is possible could have a rethink.
And about the delay, of course the connection delay is what's acceptable for my program.The simplest approach using your current model is for the client to poll the server.
Edited by: Peter__Lawrey on 30-Jan-2009 22:56

Similar Messages

  • Trying to implement the Observer pattern with a notify() method

    OK, I'm not implementing the observer exactly rigidly but I'm doing something thereabouts inline with the pattern. I have an abstract class which provides some common functionality for the observers and is also used for type checking elsewhere. Each observer must inherit from this class. Now; the abstract class has one abstract method notify() as per the generic observer.
    I get an error that notify() cannot be overridden as it's final. I understand what all that means but I'm curious where it's implemented that's actually affecting my own code? Is notify() a standard method in all objects in Java?
    package zoopackage;
    public abstract class ZooObserver
         protected Cage cage;
         public void setCage(Cage myCage)
              this.cage = myCage;
         abstract public void notify();
    }And...
    package zoopackage.observers;
    import zoopackage.*;
    public class VisualObserver extends ZooObserver
         public void notify()
    }

    Is notify() a standard method in all objects in Java?Yes, as are notifyAll() and wait(). You'll also notice in the API that there already is an Observer interface and an Observable object. That's probably sufficient to implement what you want to do.
    Brian

  • Observer Pattern

    Hi. I'm coding the observer pattern with generics. All is well up to a point.
    I have an ObserverI interface
    public interface ObserverI
    <     S extends Subject<S,D>,
         D >
         void update( S subject, D details ) ;
    }and a Subject base class
    public class Subject
    <     S extends Subject<S,D>,
         D >
         private List<ObserverI<S,D> > observers = new ArrayList<ObserverI<S,D> >() ;
         public void attach(ObserverI<S,D> observer) { ... }
         public void detach(ObserverI<S,D> observer) { ... }
         public void notifyObservers(D details) {
              for( ObserverI<S,D> observer : observers )
                   observer.update( this, details) ;
    }The problem is the call observer.update( this, details) ; The first argument (this) should be of type S, but is of type Subject<S,D>. Thus I get an error.
    If I replace that line with observer.update( (S) this, details) ;I only get a warning. (Unchecked cast.)
    It seems there should be some way I can express the pattern without the need for any casting or errors. I tried a few things with wild cards
    What can I do? Any help appreciated.

    ejp is right in that the "extends Subject<S,D>" is not needed. Thanks, ejp, for pointing this out.
    But when I get rid of "extends Subject<S,D>" (in both places) I still have the "unchecked cast" warning.
    Since posting the original question, I've learnt a few more things:
    (0) That the cast may be unchecked, but the call is not. Thus even if "this" is not of type "S", there is ClassCastException
    as the argument to update is not of the type expected in the concrete observer. This is reassuring. Crazy stuff does not
    happen!
    (1) That I could solve the whole problem with the "getThis()" trick, as explained by Angelika Langer at http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html#FAQ205 . (Very helpful FAQ altogether.) That is, replace "this" with a call to an abstract method getThis that returns S. In the concrete subject, getThis is implemented in the obvious way: "return this".
    However, using the getThis() trick seems unsatisfactory, as it forces coders of concrete subclasses of Subject to implement a method for no other purpose than to placate the Generic gods. (In truth there is another justification for using a getThis method, which I may go into in an other post.)
    I'm still hoping someone here can post a better solution.
    Cheers,
    Theo
    Edited by: theodore.norvell on Jun 16, 2009 8:13 PM

  • Observer pattern in BC4J?

    Just wondering if anyone has implemented a publisher/subscriber (or observer) pattern with BC4J? For instance, has anyone implemented an application module supporting multiple clients that allows clients to call a method to send a message to all the clients that listen to the sender? Would the performance be much worse if I implement the piece in BC4J rather than implementing it in, say, VisiBroker CORBA or straight UDP datagram sockets?

    Actually I have a similar question as well... I wonder if anyone has tried to implement something like a simple chat server that listens to all incoming messages and route those messages to the listening clients. I am not sure how to implement this.

  • Linking other patterns with Observer

    Hi all
    Right up front, Im very green with design patterns. That said :)
    I think I have a good grasp of the observer pattern. I wanted some quick thoughts on other design (or anti) patterns that you may also use with observer to avoid specific side effects, implement a M:M rel with subject/observers, manage cyclic dependencies etc.... from here I will extend my research but I didnt want to spend hours only to find specific patterns (when used in concert, present many other side effects).
    Again, I am not after complete solutions, but pointers for my later research and trial as I become more confortable with Java.
    Cheers
    Ck

    Be careful and dont fall for a " Pattern Fever " , combination of Patterns is used in response to a specific problem and not generally as permutationa can be immense.
    So ideally you should know about Patterns and when you have a problem in hand ,at that time you should be able to synthesise a solution based on your knowledge. Also Patterns a rough Guidelines ,actual implemention depends on problem in hand.

  • How to implement Observer Pattern?

    Hello guys,
    I have some problems with implementing the observer pattern. So i m making an sound application and i need to put a meter changing with the volume.
    I have already the meter designed and the volume is calculated.
    So i have a class called Application (is the main class) and this class have the graphic designer from the application, makes the audio capture and calculate the volume.
    And i have the MeterMic class and in this class i have the graphic Meter where i send this graphic meter to the application via JPanel.
    In MeterMic i have the variable "value" and this variable will make the changes in the bars of the meter and i want to equal the value to the volume from the application. I try referencing by the Application object but doesnt pass the value from the volume.
    So i would like to implement the Observer pattern.
    I need to observ the variable volume and than the volume have changes i want to send that change to variable value in MeterMic.
    My problem is: who is the observer and observ? And what i need to do to implement the pattern.
    My best,
    David

    Kayaman wrote:
    DavidHenriques wrote:
    So i just need to implement the observers interfaces and than implement the method update and notify in the classes.You should probably forget the Observer/Observable classes, they're Java 1.0 stuffDo you think they are usless just because they are old?
    so you don't have to or need to use them, even though the names sound appealing.I still like them because the Observable saves me from repetitively implementing (hopefully thread save) method for notifying the observers...
    It's basically the same thing, you just see a lot more talk about Events/Listeners than Observers/Observables these days.The good thing on Events/Listeners is that they are type save which is an importand feature.
    But I like to build them on top of Observer/Observable on the event source side.
    bye
    TPD

  • Observer Pattern applied in Abap

    Observer Pattern
    Observer pattern is a well known pattern especially with Java, here i continue my work in patterns.
    This is my humble understanding of a way how we can apply observer pattern
    The main components of this pattern is:
    Observer pattern:
    Subject
    Observer
    Context
    Why do we need?
    Cant i do without this pattern, well of course you can do although you will be having a tightly coupled application
    The main reason is we don't want to couple the objects
    The main goal is the " Least knowledge in objects across each other"
    The trick here is the use of the Events in ABAP where an event gets raised and then that will be handled by a listener!!
    Subject:
    Its the main object the core data that we will be working with
    You could have multiple implementations of the subject
    One approach: is to have an interface where we can extract the event.
    Here is a code sample: Subject is data based on the sales order item data when there is a change it will fire the event below
    interface lif_subject.
       EVENTS: SUBJECT_IS_CHANGED.
    ENDINTERFACE.
    Here is the subject:
    class lcl_subject definition .
    public section.
    INTERFACES lif_subject.
       methods CONSTRUCTOR
         importing
           !IV_MATNR type MATNR
           !IV_SPRAS type SPRAS
        methods GET_MATNR
         returning
           value(RV_MATNR) type MATNR .
       methods GET_SPRAS
         returning
           value(RV_SPRAS) type SPRAS .
        methods SET_MATNR
         importing
           !IV_MATNR type MATNR .
       methods SET_SPRAS
         importing
           !IV_SPRAS type SPRAS .
    protected section.
    private section.
       data MV_MATNR type MATNR .
       data MV_SPRAS type SPRAS .
    ENDCLASS.
    CLASS lcl_subject IMPLEMENTATION.
    METHOD constructor.
       mv_matnr = iv_matnr.
       mv_spras = iv_spras.
    ENDMETHOD.
    METHOD get_matnr.
       rv_matnr = mv_matnr.
    ENDMETHOD.
    METHOD get_spras.
       rv_spras = mv_spras.
    ENDMETHOD.
    METHOD set_matnr.
       mv_matnr = iv_matnr.
       RAISE EVENT lif_subject~SUBJECT_IS_CHANGED.
    ENDMETHOD.
    METHOD set_spras.
       mv_spras = iv_spras.
       RAISE EVENT lif_subject~SUBJECT_IS_CHANGED.
    ENDMETHOD.
    ENDCLASS.
    Observer:
    Observer is the one thats interested in the change of the subject
    That could be any observer
    Here is the code sample
    ****Observer
    INTERFACE lif_observer.
    METHODS: update.
    ENDINTERFACE.
    class lcl_observer1 DEFINITION.
    PUBLIC SECTION.
    INTERFACES lif_observer.
    ENDCLASS.
    class lcl_observer1 IMPLEMENTATION.
    method lif_observer~update.
    WRITE:/ ' Observer 1 is updated '.
    ENDMETHOD.
    ENDCLASS.
    class lcl_observer2 DEFINITION.
    PUBLIC SECTION.
    INTERFACES lif_observer.
    ENDCLASS.
    class lcl_observer2 IMPLEMENTATION.
    method lif_observer~update.
    WRITE:/ ' Observer 2 is updated '.
    ENDMETHOD.
    ENDCLASS.
    Context:  Its the manager of the all communication like a channel
    It separates the observer from the observable.
    class   lcl_channel  definition.
    PUBLIC SECTION.
    methods: add_observer IMPORTING io_observer type REF TO lif_observer.
    methods: remove_observer IMPORTING io_observer type REF TO lif_observer.
    methods: constructor.
    methods: notify_observers FOR EVENT lif_subject~SUBJECT_IS_CHANGED of lcl_subject IMPORTING sender.
    PRIVATE SECTION.
    DATA: lo_list type REF TO CL_OBJECT_MAP.
    class-DATA: lv_key type i.
    ENDCLASS.
    Notice that the event listener for the subject is the channel itself
    and notify_observers method is responsible for that.
    ****Manager!!
    class   lcl_channel  definition.
    PUBLIC SECTION.
    methods: add_observer IMPORTING io_observer type REF TO lif_observer.
    methods: remove_observer IMPORTING io_observer type REF TO lif_observer.
    methods: constructor.
    methods: notify_observers FOR EVENT lif_subject~SUBJECT_IS_CHANGED of lcl_subject IMPORTING sender.
    PRIVATE SECTION.
    DATA: lo_list type REF TO CL_OBJECT_MAP.
    class-DATA: lv_key type i.
    ENDCLASS.
    class lcl_channel IMPLEMENTATION.
    method constructor.
       create OBJECT lo_list.
       lv_key  = 1.
    ENDMETHOD.
    method add_observer.
    lo_list->PUT(
       EXPORTING
         KEY      = lv_key
         VALUE    = io_observer
    lv_key = lv_key + 1.
    ENDMETHOD.
    method remove_observer.
    ENDMETHOD.
    METHOD notify_observers.
    DATA: lo_map_iterator TYPE REF TO CL_OBJECT_COLLECTION_ITERATOR.
    DATA: lo_observer type REF TO lif_observer.
    break developer.
    lo_map_iterator ?= lo_list->GET_VALUES_ITERATOR( ).
    while lo_map_iterator->HAS_NEXT( ) = abap_true.
    lo_observer ?= lo_map_iterator->GET_NEXT( ).
    lo_observer->UPDATE( ).
    ENDWHILE.
    ENDMETHOD.
    Notice the use of the Collections as well cl_object_collections object in SAP Standard
    I hope you find this useful
    The sample code is attached as a text file
    ENDCLASS.

    Are you asking to check string in data in the course of running the program, or are you asking how to check patterns in the source of the program itself?
    The other replies have covered checking patterns in data.
    If you want to check for patterns in the ABAP source itself, you can check for patterns in ABAP source using SCII Code inspector.
    Enter SCII and select the object or set of objects to check.
    Under the list of checks for Temporary Definition there is area called
    Search Functs.
    Under Search Functs., if you expand it, there are options to search for
    Search of ABAP Tokens
    Search ABAP Statement Patterns
    Click on the arrow to the left of these and you can specify details about the patterns that you want to search for.
    Good luck
    Brian

  • About observer pattern

    i have some question about the issue of delay time. for example, i have a web base live quote stock system. you know that every time the stock value is changing, once the stock was changed, each clients will update the stock value immediately. If i use observer pattern to apply the system, the subject will montoring the new stock value which is come from other resource, once the new value is updated, it will notify it's observer to update the value. If i have a hundred, a thoursand.. clients/observer which may be stored in a list. then some client will notify immediately and some are not. Is it right? if the concept is right, is there any solution to solve the issues? Thanks.

    Let me know if I understand your question:
    - you mean if your subject notifies all its observers one by one sequentially in the same thread, then the "last in line" will be notified long after the fist one.
    - plus, if one observer takes a long time to process the notification, subsequent observers may not receive their notification before a while.
    Well, yes, this is a known problem. A well-known incarnation is listeners processing event in a single event-dispatching thread in AWT or Swing: if one listener takes a long time to complete processing the notification, then all subsequent listeners do not receive the notification in time; worse all other graphical events are blocked, and the UI display freezes, because even the repaint events are pending the first listener method to return.
    In Swing the way around this is to ask listener classes to observe a convention: complete quickly all listeners methods - if a time-consuming job must be started as part of processing a notification, spawn another thread for it.
    If you don't trust the observers to observe this convention (you may not be the author of all observers code, or your observers are in different JVMs), then you have no option other to spawn multiple threads:
    one thread per observer
    or, a pool of dispatching threads
    or, a pool of dispatching thread with support for timeouts (there is no generic way to reclaim a thread that is timeouting, but you can choose to have a master thread that monitors dispatching threads for timeout and uses the pool as dispatching threads are timeouting).

  • Observer pattern example - JMinesweeper

    Hello, I've developed a JMinesweeper desktop game, similar to the one in Windows. The application uses a well known design pattern: Observer Pattern.
    The source code is free for anyone who finds it useful:
    http://sourceforge.net/projects/jminesweepsorin
    My best regards ! :)

    ejp is right in that the "extends Subject<S,D>" is not needed. Thanks, ejp, for pointing this out.
    But when I get rid of "extends Subject<S,D>" (in both places) I still have the "unchecked cast" warning.
    Since posting the original question, I've learnt a few more things:
    (0) That the cast may be unchecked, but the call is not. Thus even if "this" is not of type "S", there is ClassCastException
    as the argument to update is not of the type expected in the concrete observer. This is reassuring. Crazy stuff does not
    happen!
    (1) That I could solve the whole problem with the "getThis()" trick, as explained by Angelika Langer at http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html#FAQ205 . (Very helpful FAQ altogether.) That is, replace "this" with a call to an abstract method getThis that returns S. In the concrete subject, getThis is implemented in the obvious way: "return this".
    However, using the getThis() trick seems unsatisfactory, as it forces coders of concrete subclasses of Subject to implement a method for no other purpose than to placate the Generic gods. (In truth there is another justification for using a getThis method, which I may go into in an other post.)
    I'm still hoping someone here can post a better solution.
    Cheers,
    Theo
    Edited by: theodore.norvell on Jun 16, 2009 8:13 PM

  • Variation of Observer pattern

    Hi,
    I'd like to know if there is a common variation of the observer pattern when there is multiple observable object. As an example here is what my register method looks like.
    addListener(EventListener, Event) {}So basically an event listener can register to receive notification of a specific event. Now, I know I'll need a list of EventListener for every Event or something like that but I like to use a standard way of doing it if there is one.
    Thanks
    Francois

    Hi,
    Thanks for the quick answer but I don't think this apply to me.
    I'll try to explain a little more my problem. I have a class watching multiple sensor. An event listener can register to be notified in case of a change of one of the multiple sensor. They have to register to the class that have access to the sensor like that :
    SensorWatcher.addListener(EventListener ev, int sourceSensor);This is different from the normal Java event handling because normally (like the JButton for instance) there is one event source with multiple listener so the listener don't have to specify for which event source they are registering. That's why I cannot use the Observer pattern out of the box.
    For now, I'm using an Hashtable to map the event source and their event listener vector but it doesn't look that nice to me.
    Bye
    Francois

  • RFC Server with TCP / IP destination "Start"

    Hi all,
    I have a great problem, I have tried to look in the forum for the solution but I have not succeeded there.
    I repropose an user's very such to mine problems unfortunatelly without solution.
    I would to install a RFC Server on the client. From an ABAP Program i would send some parameters to my RFC .NET Server (on the users's computer) by the command 'Calling function x Destination y' (There is no problem as long as I use a TCP-IP destination of type "Registration").
    The information is processed by the RFC Server and afterwards used to start another client application.
    Of course I do not want to maintain a RFC destination for every client to keep it unique. So it would be nice to have a RFC destination of type "Start".
    But when I look at the samples I have no idea how to pass the parameters to my RFC Server if it is a "Start" destination.
    Has anyone an idea? Any help would be really appreciated!
    There are the link on which this problem was discussed:
    RFC Server with TCP / IP destination "Start"?
    SAP .NET Connector: How To implement RFC Server destination type Start
    Sorry for my bad English.
    Thanks in advance
    Luca

    Hi Alok,
    if you are sending  message to tibco then tibco guys need to register on the SAP gateway and you need to do nothing, just give them the details of your system and verify via transaction <i>SMGW</i>, menu <i>goto->logged on clients</i> if tibco is registered.
    if you are receiving  message then you only need to create a user on SAP and give it to them so that they can authenticate on the system before sending.
    Regards.
    Sergio

  • LAN with TCP/IP doesn't work

    Hello,
      I have a problem with my laptop IdeaPad S10e 4187-5PG: LAN with TCP/IP doesn't work, after I have updated all the drivers to the latest ones form the Lenovo site (except BIOS update). I tried to check if LAN worksby sending a ping to the IP address and that is OK, but when Isend a ping to the default gateway it failes. A ping to the DNS server also fails.Could you please help me because I tried everythinh and I can't getthe LAN to work.
    Thank you very much

    Perhaps you could describe you network in a little more detail.
    Is this a Workgroup home network or are you connected to a Domain server?
    If this is a workgroup are you connecting to the internet via a cable or DSL router?
    Do other computers on your network connect OK?
    Has your S10e ever worked properly on the network?
    Are you connecting via a wireless access point or LAN cable? 
    What do you Ping on and from where?
    Can you Ping OK on another networked computer?
    Open up a DOS Prompt (aka command prompt, DOS Box). and type IPCONFIG  /ALL <enter>. Do you get a compatible IP address and subnet mask? You should also get the gateway IP address.

  • Producer/Consumer Design Pattern with Classes

    I'm starting a new project which involves acquiring data from various pieces of equipment using a GPIB port.  I thought this would be a good time to start using Classes.  I created a GPIB class which contains member data of:  Address, Open State, Error; with member vis such as Set Address, Get Address, Open, Close...general actions that all GPIB devices need to do.  I then created a child class for a specific instrument (Agilent N1912 Power Meter for this example) which inherits from the GPIB class but also adds member data such as Channel A power and Channel B power and the associated Member Functions to obtain the data from the hardware.  This went fine and I created a Test vi for verfication utilizing a typical Event Structure architecture. 
    However, in other applications (without classes) I  typically use the Producer/Consumer Design Pattern with Event Structure so that the main loop is not delayed by any hardware interaction.  My queue data is a cluster of an "action" enum and a variant to pass data.  Is it OK to use this pattern with classes?  I created a vi and it works fine and attached is a png (of 1 case) of it.
    Are there any problems doing it this way?
    Jason

    JTerosky wrote:
    I'm starting a new project which involves acquiring data from various pieces of equipment using a GPIB port.  I thought this would be a good time to start using Classes.  I created a GPIB class which contains member data of:  Address, Open State, Error; with member vis such as Set Address, Get Address, Open, Close...general actions that all GPIB devices need to do.  I then created a child class for a specific instrument (Agilent N1912 Power Meter for this example) which inherits from the GPIB class but also adds member data such as Channel A power and Channel B power and the associated Member Functions to obtain the data from the hardware.  This went fine and I created a Test vi for verfication utilizing a typical Event Structure architecture. 
    However, in other applications (without classes) I  typically use the Producer/Consumer Design Pattern with Event Structure so that the main loop is not delayed by any hardware interaction.  My queue data is a cluster of an "action" enum and a variant to pass data.  Is it OK to use this pattern with classes?  I created a vi and it works fine and attached is a png (of 1 case) of it.
    Are there any problems doing it this way?
    Including the error cluster as part of the  private data is something I have never seen done and ... well I'll have to think about that one.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Send file with TCP/IP

    I would like to transfer a complete file with TCP/IP form a client to a server. I have a working example of using the TCP protocol to transmit data (as a string). I attached this Client-VI to this posting. The server program does nothing more than send the received data back to the client. Is it possible to send complete files with TCP/IP instead of sending strings? If so, would you be so kind and change my VI into a new one and send it back to me?
    If somebody has another idea to solve this problem, feel free to contact me!
    I use LabVIEW 7.0Express and WindowsXP.
    Thnaks, Dennis
    Attachments:
    ipc@chip_1.vi ‏38 KB

    Hi,
    I have a set of Vis that do the job. It's a LV5 Vi and I haven't translated it yet to LV7. It's two SubVis and two Vis that show you how to run the SubVis. The client asks a file that is in the server and the server sends it back. I'm attaching the two libraries llb, the client library and the server library. Please contact me if you have questions.
    Marce
    Attachments:
    TestTCPServerGetFile.llb ‏205 KB

  • Matching Route Patterns with standard Local Route group and Specific Route Group

    Hi
    I have a customer with CUCM 8.6 with few branches
    couple of branches in UK and few in Europe and middle east.
    I configured route patterns with Standard local route group, but using their own Voice gateway, everything was working fine until adding the recent branch with matching pattern 
    UK has a mobile pattern with 9.07XXXXXXXXX (11 digits)
    One Branch has a mobile with 9.07XXXXXXXX (10 digits)
    When branch call 907X..(10digit) number there was a delay and I ticked the Urgent priority to process it quicker, but later realized the UK branch cannot dial 907x.. (11Digit) mobile.
    I created Route List for branch and added the 10 digit pattern to that but still the UK cannot call 11 digit. so i believe when you call out it will check the pattern first and the Route-List and Route-Group and gateway play a part.
    Is there a way to get 07 -10digit call out quickly also allowing the 07 -11digit pattern as well ( without changing the T302 timer)
    Really appreciate your support
    thanks
    shameer

    Yes, they key to managing overlapping centralized dial plans is to be really good with patterns, partitions, and CSSs. You can have 3 different 9.0[2-9]XX-[2-9]XX-XXXX patterns and assign them a different partition, and then assign that to the branch CSS. This will only work if each Branch has a different CSS.
    For example:
    9.0[2-9]XX-[2-9]XX-XXXX @ Egypt-PT ->Routes to Local route group of Egypt.
    9.0[2-9]XX-[2-9]XX-XXX @ UK-PT -> Routes to Local route group of UK
    9.0[2-9]XX-[2-9]XX-XXX @ Germany-PT -> Routes to Local Route group of Germany.
    //PT = partition//
    Then have Egypt-CSS that contains 9.0[2-9]XX-[2-9]XX-XXXX @ Egypt-PT. 
    UK-CSS contains 9.0[2-9]XX-[2-9]XX-XXX @ UK-PT
    Germany- CSS contains 9.0[2-9]XX-[2-9]XX-XXX @ UK-PT
    The other patterns will be invisible to your sites because they are in a different partition that is not in their CSS. 2 overlapping patterns in the same PT will cause you to wait for the inter-digit timeout unless you press #.
    Thanks,
    Frank

Maybe you are looking for

  • Problem in opening a link in new page

    hi all can any one help iam getting problem while clicking on the link it is opening in same window i want to open the link in new window.if it is normal content we can give target but the link is coming in the mailcontent how can i recognize the lin

  • Account Overview Screen with no sales, service order & Transaction history

    Hi All, I have come across an issue with Account Overview link in IC webclient CRM 5.0. One Z Webclient profile is created (ZSERVICE) which is assigned to few users. When user with this profile logs in and confirms any acc. ID on Identify Account scr

  • Need help in deleting songs from iPod

    I'm trying to delete songs from iPod (not library), but song and podcast list is grayed out. I cannot select them to delete them. This seems like a very simple thing to do. I have the latest iTunes and iPod software loaded and have tried the online h

  • Credit control on Parent companies

    Hi All, Is it possible to control credit check on parent customer ,if goods sold to child customers. Credit limit maintaied in parent customer like bill to party and goods sold to child customers like ship to party. Rgds SumaMani

  • How to create Digital Personnel Foile for HCM Processes and Forms

    Hi I am creating HCM Processes and Forms using FPM Forms. Now to print these forms Alternate Adobe forms also developed. But once the entire process is completed by HR Admin and in future if they want to see the already processed form and if they wan