Coherence Extend: is remote address a JVM/System property?

Hello,
I want to pass remote address and port as a JVM argument (not really being part of the cache configuration of the extend clients), is it possible?
<remote-addresses>
<socket-address>
<address>192.168.0.2</address>
<port>9099</port>
</socket-address>
<socket-address>
<address>192.168.0.3</address>
<port>9099</port>
</socket-address>
</remote-addresses>
is it possible to Dynamically inject the Address into the cache configuration file?
<socket-address>
*<address>{IPAddress}</address>*
<port>9099</port>
</socket-address>
</remote-addresses>
Thanks
Prab

Hi Prab,
You do it like this:
<socket-address>
      <address system-property="my.extend.address"></address>
      <port system-property="my.extend.port"></port>
</socket-address>You then specify the properties when you start up
-Dmy.extend.address=192.168.0.2 -Dmy.extend.port=9099JK

Similar Messages

  • JVM System Properties - how to set?

    Is there a way to set JVM system property values for
    an Oracle instance from "outside" the jvm? I need the
    equivalent of specifying -Dproperty=value on the JVM
    launch command, but for the JVM running inside Oracle 9.
    Is this possible?

    382891,
    As far as I know, this cannot be done. Perhaps the "java.lang.System.setProperty()" method will suffice?
    Good Luck,
    Avi.

  • Coherence*Extend remote-addresses

    We're trying to use multiple addresses for our Coherence*Extend clients to provide load-balancing and redundancy. To accomplish this, we've configured our clients with multiple socket-address entries:
    <remote-addresses>
    <socket-address>
    <address>proxyHost1</address>
    <port>9099</port>
    </socket-address>
    <socket-address>
    <address>proxyHost2</address>
    <port>9099</port>
    </socket-address>
    <socket-address>
    <address>proxyHost3</address>
    <port>9099</port>
    </socket-address>
    </remote-addresses>
    This works fine for failure situations, however, in our testing it appears that the client will connect to the nodes in a round-robin method starting with the last defined host. So, with the above configuration every client will connect to proxyHost3, and only connect to proxyHost2 if host3's connection failed. We could maintain a separate configuration file across all of our nodes shuffling the order, however this could be problematic and would not be preferred.
    Is there a better way to effectively distribute the client connections across our pool of proxies?
    Thanks,
    -Allen

    Hi Allen,
    The Coherence*Extend TCP/IP client randomizes the list of socket addresses before attempting the initial connect, so I'm not sure why you always see your clients connect to the last address in the list. I ran a quick test using both the Java and .NET client, but could not reproduce what you are seeing. Are you sure that the proxyHostX host names resolve to different IP addresses on the test client machine?
    Regards,
    Jason

  • Coherence Extend remote address port in TCP Connection

    Hi,
    From the log below, I see remote address port is picked some random port(48552). (currently i disabled the firewall), If i enable the firewall it could be an issue, is there any way i can specify the remote ports that tcp connection use?
    2011-02-24 13:18:18.076/1280.207 Oracle Coherence GE 3.6.0.1 <D6> (thread=Proxy:ExtendTcpProxyService:TcpAcceptor, member=13): Opened: TcpConnection(Id=0x0000012E56A3CA1B0A1F96B688F7EEBCEDA2AA9397203393CF480379B3963D86, Open=true, LocalAddress=10.31.150.182:9099, RemoteAddress=10.31.150.182:48552)
    One more question,
    I have two proxy servers, is it possible to configure the client to make two connection (redundant) one for first proxy and another for second proxy. is it make sense?
    Thanks
    Prab
    Edited by: 833796 on Feb 24, 2011 2:35 AM

    Hi Prab
    The random port is what normally is called an ephemeral port for the client and is usually not a problem for firewalls since this is expected behavior. If you want to control the client port you can do this by adding the <local-address> to the tcp-initiator element.
    As for the second question, it doesn't quite work to do as you suggest. The proxy contains state for the client, as this is not replicable between the proxies one cannot continue where the other one left off.
    Thanks
    /Charlie

  • Coherence::net::messaging::ConnectionException: could not establish a connection to one of the following addresses: {10.242.152.242/10.242.152.242:8088}; make sure the "remote-addresses" configuration element contains an address and port of a running TcpA

    Hi
    I have installed coheI have installed coherence server "fmw_12.1.3.0.0_coherence_Disk1_1of1.zip" along with Examples on windows machine and C++ client coherence-cpp-12.1.3.0.0b51709-windows-x86-vs2012.zip on the same machine.
    I have built the "contacts" C++ Example successfully and while I execute this "contacts" using run I am facing TcpAcceptor error.
    On my coherence server the TcpAcceptor is listening on port 8088, so I have modified the extend-cache-config.xml file with values "ip address of my windows machine" and port as "8088".
    All the time I am getting below error,
    coherence::net::messaging::ConnectionException: could not establish a connection to one of the following addresses: {10.242.152.242/10.242.152.242:8088}; make sure the "remote-addresses" configuration element contains an address and port of a running TcpAcceptor
        at class coherence::lang::TypedHandle<class coherence::component::net::extend::PofConnection> __thiscall coherence::component::util::TcpInitiator::openConne
    ction(void)(TcpInitiator.cpp:307)
        at coherence::component::util::TcpInitiator::openConnection
        at coherence::component::util::Initiator::ensureConnection
        at coherence::component::net::extend::RemoteCacheService::openChannel
        at coherence::component::net::extend::RemoteService::doStart
        at coherence::component::net::extend::RemoteService::start
        at coherence::component::util::SafeService::startService
        at coherence::component::util::SafeService::restartService
        at coherence::component::util::SafeService::ensureRunningServiceInternal
        at coherence::component::util::SafeService::start
        at coherence::net::DefaultConfigurableCacheFactory::configureService
        at coherence::net::DefaultConfigurableCacheFactory::ensureService
        at coherence::net::DefaultConfigurableCacheFactory::ensureRemoteCache
        at coherence::net::DefaultConfigurableCacheFactory::configureCache
        at coherence::net::DefaultConfigurableCacheFactory::ensureCache
        at coherence::net::CacheFactory::getCache
        at unsigned __int64 coherence::lang::class_spec<class coherence::lang::Managed<class ContactId>,class coherence::lang::extends<class coherence::lang::Object,class coherence::lang::Void<class coherence::lang::Object> >,class coherence::lang::implements<void,void,void,void,void,void,void,void,void,void,void,void,void,void,void,void> >::sizeOf(bool)
        at _onexit
        at class coherence::util::Hashtable * coherence::lang::factory<class coherence::util::Hashtable>::create(void)
        at class coherence::util::Hashtable * coherence::lang::factory<class coherence::util::Hashtable>::create(void)
        at BaseThreadInitThunk
        at RtlInitializeExceptionChain
        at RtlInitializeExceptionChain
        on thread "main"
    Caused by: coherence::net::messaging::ConnectionException: coherence::component::util::TcpInitiator::TcpConnection@029EAD78{Id=NULL, Open=1, LocalAddress=NULL,
    RemoteAddress=10.242.152.242/10.242.152.242:8088}: socket disconnect
        at class coherence::lang::TypedHandle<class coherence::net::messaging::Response> __thiscall coherence::component::net::extend::AbstractPofRequest::Status::g
    etResponse(void)(AbstractPofRequest.cpp:203)
        at coherence::component::net::extend::AbstractPofRequest::Status::getResponse
        at coherence::component::net::extend::AbstractPofRequest::Status::waitForResponse
        at coherence::component::util::Initiator::openConnection
        at coherence::component::net::extend::PofConnection::open
        at coherence::component::util::TcpInitiator::openConnection
        at coherence::component::util::Initiator::ensureConnection
        at coherence::component::net::extend::RemoteCacheService::openChannel
        at coherence::component::net::extend::RemoteService::doStart
        at coherence::component::net::extend::RemoteService::start
        at coherence::component::util::SafeService::startService
        at coherence::component::util::SafeService::restartService
        at coherence::component::util::SafeService::ensureRunningServiceInternal
        at coherence::component::util::SafeService::start
        at coherence::net::DefaultConfigurableCacheFactory::configureService
        at coherence::net::DefaultConfigurableCacheFactory::ensureService
        at coherence::net::DefaultConfigurableCacheFactory::ensureRemoteCache
        at coherence::net::DefaultConfigurableCacheFactory::configureCache
        at coherence::net::DefaultConfigurableCacheFactory::ensureCache
        at coherence::net::CacheFactory::getCache
        at unsigned __int64 coherence::lang::class_spec<class coherence::lang::Managed<class ContactId>,class coherence::lang::extends<class coherence::lang::Object
    ,class coherence::lang::Void<class coherence::lang::Object> >,class coherence::lang::implements<void,void,void,void,void,void,void,void,void,void,void,void,void
    ,void,void,void> >::sizeOf(bool)
        at _onexit
        at class coherence::util::Hashtable * coherence::lang::factory<class coherence::util::Hashtable>::create(void)
        at class coherence::util::Hashtable * coherence::lang::factory<class coherence::util::Hashtable>::create(void)
        at BaseThreadInitThunk
        at RtlInitializeExceptionChain
        at RtlInitializeExceptionChain
        on thread "main"
    Caused by: coherence::io::IOException: socket disconnect
        at unsigned int __thiscall coherence::net::Socket::readInternal(unsigned char *,unsigned int)(Socket.cpp:333)
        at coherence::net::Socket::readInternal
        at coherence::net::Socket::SocketInput::read
        at coherence::io::BufferedInputStream::fillBuffer
        at coherence::io::BufferedInputStream::read
        at coherence::component::util::TcpInitiator::readMessageLength
        at coherence::component::util::TcpInitiator::TcpConnection::TcpReader::onNotify
        at coherence::component::util::Daemon::run
        at coherence::lang::Thread::run
        on thread "ExtendTcpCacheService:coherence::component::util::TcpInitiator:coherence::component::util::TcpInitiator::TcpConnection::TcpReader"

    We are facing same issue.    Could you please provide us any working .Net sample code for the version 12.1.2.0.
    <ssl>
                  <protocol>Tls</protocol>
                  <local-certificates>
                    <certificate>
                      <url>c:\Cert\</url>
                      <password>password</password>
                      <flags>DefaultKeySet</flags>
                    </certificate>
                  </local-certificates>
                </ssl>
    thanks
    Bala

  • Coherence Extend Address-provider for dynamic load balancing

    Hi,
    I want to have load balancing across my proxies. so, trying to use <address-provider> feature.
    Here is my setup,
    I have two proxies and many clients.I am configuring both proxy and the client to use load sharing scheme.
    There are implemented classes for the interface AddressProvider. So, i am going to use that.
    Here is proxy server settings,
    <proxy-scheme>
    <service-name>ExtendTcpProxyService</service-name>
    <thread-count>10</thread-count>
    <acceptor-config>
    <tcp-acceptor>
    <address-provider>
    <class-name>com.tangosol.net.RefreshableAddressProvider</class-name>
    </address-provider>
    </tcp-acceptor>
    </acceptor-config>
    <autostart>true</autostart>
    </proxy-scheme>
    I know there is some silly mistake with that,
    I am getting error message in the following log,
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.emc.srm.common.daemon.SrmDaemon.start(SrmDaemon.java:59)
    ... 5 more
    Caused by: (Wrapped: Missing or inaccessible constructor "com.tangosol.net.RefreshableAddressProvider()"
    <address-provider>
    <class-name>com.tangosol.net.RefreshableAddressProvider</class-name>
    </address-provider>) java.lang.InstantiationException
    at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
    at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2542)
    at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2426)
    at com.tangosol.net.ConfigurableAddressProvider.createAddressProvider(ConfigurableAddressProvider.java:277)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.acceptor.TcpAcceptor.configure(TcpAcceptor.CDB:78)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ProxyService.configure(ProxyService.CDB:67)
    at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:6)
    at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:27)
    at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:14)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureServiceInternal(DefaultConfigurableCacheFactory.java:1057)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:892)
    at com.tangosol.net.DefaultCacheServer.startServices(DefaultCacheServer.java:81)
    at com.tangosol.net.DefaultCacheServer.intialStartServices(DefaultCacheServer.java:250)
    at com.tangosol.net.DefaultCacheServer.startAndMonitor(DefaultCacheServer.java:55)
    at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:197)
    ... 10 more
    Caused by: java.lang.InstantiationException
    at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at com.tangosol.util.ClassHelper.newInstance(ClassHelper.java:587)
    at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2501)
    ... 23 more
    Cannot start daemon
    First question:
    1) without address provider section in the proxy server configuration xml, will it use any default address provider implementation?
    2) what's wrong with the proxy server settings xml which causes above error?
    Thanks
    Prab

    Hi LuK,
    Sounds like there is no load balancing is happening in my environment.
    I didn't use address provider tag since it's mentioned in AddressProvider Interface API that by default it uses ConfigurableAddressProvider implementation.
    Here is a xml snippet in remote client cache configuration xml,
    <tcp-initiator>
    *<remote-addresses>*
    *<socket-address>*
    *<address>PROXY-A</address>*
    *<port>9099</port>*
    *</socket-address>*
    *<socket-address>*
    *<address>PROXY-B</address>*
    *<port>9099</port>*
    *</socket-address>*
    *</remote-addresses>*
    <connect-timeout>10s</connect-timeout>
    </tcp-initiator>
    what i mean by load balancing is,
    I will be having lot of web service queries which runs very fast. I would like to see both the proxies serves the web requests.
    I am observing, One connection has been made to one proxy when it's starts up and keep hold on to it (no matter whether other proxy is free or not).
    is it a bug? or am i doing some mistake?
    Thanks
    Prab

  • Accessing Coherence Extend* Proxy Deployoed on Weblogic Coherence Cluster from Java Client

    Hi,
    I am trying to access Extend Proxy through Thick Java Client
    Followed steps as per below links and deployed a GAR on 3 Server ( 2 Storage Enabled Coherence Cluster and 1 Coherence Storage Disabled Extend Proxy Enabled). I could see ExtendProxyService using JMX and can see Port running on the System.
    Ref :
    Setting Up Coherence*Extend - 12c (12.1.2)
    http://docs.oracle.com/middleware/1212/coherence/COHAG/deploy_options.htm#CHDJBJDI
    Issue :
    When I tried to Execute Java Client to Connect to Proxy Server it Connects to Port and then Disconnects with ConnectionException as below.
    Observer below Lines in Box is show he Connected Socket with Port 9099 which is Extend Proxy Port
    Error Message
    2013-11-08 14:55:55.114/1.202 Oracle Coherence GE 12.1.2.0.0 <D5> (thread=TcpClientRemoteService:TcpInitiator, member=n/a): Started: TcpInitiator{Name=TcpClientRemoteService:TcpInitiator, State=(SERVICE_STARTED), ThreadCount=0, Codec=Codec(Format=POF), Serializer=com.tangosol.io.DefaultSerializer, PingInterval=0, PingTimeout=30000, RequestTimeout=30000, ConnectTimeout=10000, SocketProvider=[email protected], RemoteAddresses=WrapperSocketAddressProvider{Providers=[[DTC37446E9C6CBD/127.0.0.0:9099]]}, SocketOptions{LingerTimeout=0, KeepAliveEnabled=true, TcpDelayEnabled=false}}
    2013-11-08 14:55:55.146/1.234 Oracle Coherence GE 12.1.2.0.0 <D5> (thread=main, member=n/a): Connecting Socket to 127.0.0.0:9099
    2013-11-08 14:55:55.146/1.234 Oracle Coherence GE 12.1.2.0.0 <Info> (thread=main, member=n/a): Connected Socket to 127.0.0.0:9099
    2013-11-08 14:55:55.161/1.249 Oracle Coherence GE 12.1.2.0.0 <Info> (thread=main, member=n/a): Error establishing a connection with 127.0.0.0:9099: com.tangosol.net.messaging.ConnectionException: TcpConnection(Id=null, Open=true, LocalAddress=0.0.0.0:54384, RemoteAddress=127.0.0.0:9099)
    2013-11-08 14:55:55.161/1.249 Oracle Coherence GE 12.1.2.0.0 <Error> (thread=main, member=n/a): Error while starting service "TcpClientRemoteService": com.tangosol.net.messaging.ConnectionException: could not establish a connection to one of the following addresses: [127.0.0.0:9099]; make sure the "remote-addresses" configuration element contains an address and port of a running TcpAcceptor
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.initiator.TcpInitiator.openConnection(TcpInitiator.CDB:121)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.Initiator.ensureConnection(Initiator.CDB:11)
        at com.tangosol.coherence.component.net.extend.remoteService.RemoteCacheService.openChannel(RemoteCacheService.CDB:7)
        at com.tangosol.coherence.component.net.extend.RemoteService.doStart(RemoteService.CDB:11)
        at com.tangosol.coherence.component.net.extend.RemoteService.start(RemoteService.CDB:5)
        at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:53)
        at com.tangosol.coherence.component.util.safeService.SafeCacheService.startService(SafeCacheService.CDB:5)
        at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:27)
        at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:14)
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.startService(ExtensibleConfigurableCacheFactory.java:681)
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureService(ExtensibleConfigurableCacheFactory.java:599)
        at com.tangosol.coherence.config.scheme.AbstractCachingScheme.realizeCache(AbstractCachingScheme.java:50)
        at com.tangosol.coherence.config.scheme.AbstractBundlingScheme.realizeCache(AbstractBundlingScheme.java:31)
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureCache(ExtensibleConfigurableCacheFactory.java:254)
        at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:205)
        at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:182)

    If this proxy design (not starting up due to a invalid entry in "authroized-hosts") is on-purpose from Coherence Engineers - then it should be re-visited.
    I think the PROXY Server should just log a message stating about the invalid DNS entry for the Authorized-host and continue with the startup...Failing to start completely doesn;t make sense since one cannot rely completely on DNS to
    say everything should be correct before a server start.
    Ofcourse you can overcome by writing your own Custom Filter - but the issue pop's out as with any custom filter(s) is maintaining them along the road (with all minor/major coherence upgrades).
    Also - this "Authorized-Hosts" concept should be carefully analyzed particularly for the following issues...
    (1) if the client IP is changed in the DNS server - will the proxy-server allow the new Client connection without any issues? when will the PROXY server flush its CLIENT DNS entries or what is the TTL time-limit for a CLIENT cached through Authorized-hosts by the PROXY-SERVER?
    (2) Suppose, we have a CLIENT in the "Authroized-Hosts" making a valid connection to the PROXY and putting some cache into the SERVER CACHE through the PROXY....now if the IP-address (DNS being the same) of the CLIENT is changed - can the CLIENT can GET the CACHE it just PUT into the SERVER without any ERRORS?
    (3) How often we need to re-start PROXIES? Do we need to re-start them often for the DNS issues (if any) mentioned above?
    Looks like the Limited documentation & examples for Coherence*Extend - particularly for .NET & C++ clients & *Extend Proxies is a point of concern.
    vk

  • Coherence Extends and Local Cache

    I am triying to use coherence extends to do some work with cache,
    with a local cache is that possible i keep getting null pointer exception,
    like if the data is not being stored in the cache.
         <cache-mapping>
              <cache-name>local-pds2-*</cache-name>
              <scheme-name>local-cache</scheme-name>
         </cache-mapping>
         <local-scheme>
              <scheme-name>local-cache</scheme-name>
                   <eviction-policy>LRU</eviction-policy>
                   <high-units>32000</high-units>
                   <low-units>10</low-units>
                   <unit-calculator>FIXED</unit-calculator>
                   <expiry-delay>10ms</expiry-delay>
                   <flush-delay>1000ms</flush-delay>
         </local-scheme>
    is there something wrong in my configuration?

    this is the config y use for the client
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
    <caching-scheme-mapping>
         <cache-mapping>
              <cache-name>local-pds2-*</cache-name>
              <scheme-name>local-cache</scheme-name>
         </cache-mapping>
    <cache-mapping>
    <cache-name>dist-pds2-*</cache-name>
    <scheme-name>extend-dist</scheme-name>
    </cache-mapping>
    </caching-scheme-mapping>
    <caching-schemes>
         <local-scheme>
              <scheme-name>local-cache</scheme-name>
                   <eviction-policy>LRU</eviction-policy>
                   <high-units>32000</high-units>
                   <low-units>10</low-units>
                   <unit-calculator>FIXED</unit-calculator>
                   <expiry-delay>10ms</expiry-delay>
                   <flush-delay>1000ms</flush-delay>
         </local-scheme>
    <remote-cache-scheme>
    <scheme-name>extend-dist</scheme-name>
    <service-name>ExtendTcpCacheService</service-name>
    <initiator-config>
    <tcp-initiator>
    <remote-addresses>
    <socket-address>
    <address>172.16.2.229</address>
    <address>localhost</address>
    <port>5354</port>
    </socket-address>
    </remote-addresses>
    <connect-timeout>10s</connect-timeout>
    </tcp-initiator>
    <outgoing-message-handler>
    <request-timeout>5s</request-timeout>
    </outgoing-message-handler>
    </initiator-config>
    </remote-cache-scheme>
    </caching-schemes>
    </cache-config>
    and this for the server
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
         <defaults>
              <serializer system-property="tangosol.coherence.serializer"/>
              <socket-provider system-property="tangosol.coherence.socketprovider"/>
         </defaults>
         <caching-scheme-mapping>
              <cache-mapping>
                   <cache-name>dist-pds2-*</cache-name>
                   <scheme-name>dist-default</scheme-name>
              </cache-mapping>
         </caching-scheme-mapping>
         <cache-mapping>
              <cache-name>dist-*</cache-name>
              <scheme-name>distributed</scheme-name>
              <init-params>
                   <init-param>
                        <param-name>back-size-limit</param-name>
                        <param-value>8MB</param-value>
                   </init-param>
              </init-params>
         </cache-mapping>
         <distributed-scheme>
              <scheme-name>distributed</scheme-name>
              <service-name>DistributedCache</service-name>
              <backing-map-scheme>
                   <local-scheme>
                        <scheme-ref>binary-backing-map</scheme-ref>
                   </local-scheme>
              </backing-map-scheme>
              <autostart>true</autostart>
         </distributed-scheme>
         <local-scheme>
              <scheme-name>binary-backing-map</scheme-name>
              <eviction-policy>HYBRID</eviction-policy>
              <high-units>{back-size-limit 0}</high-units>
              <unit-calculator>BINARY</unit-calculator>
              <expiry-delay>{back-expiry 1h}</expiry-delay>
              <flush-delay>1m</flush-delay>
              <cachestore-scheme></cachestore-scheme>
         </local-scheme>
         <caching-schemes>
              <distributed-scheme>
                   <scheme-name>dist-default</scheme-name>
                   <backing-map-scheme>
                        <local-scheme/>
                   </backing-map-scheme>
                   <autostart>true</autostart>
              </distributed-scheme>
              <proxy-scheme>
                   <service-name>ExtendTcpProxyService</service-name>
                   <acceptor-config>
                        <tcp-acceptor>
                             <local-address>
                                  <address >localhost</address>
                                  <port >5354</port>
                             </local-address>
                        </tcp-acceptor>
                   </acceptor-config>
                   <proxy-config>
                        <cache-service-proxy>
                             <enabled>true</enabled>
                        </cache-service-proxy>
                        <invocation-service-proxy>
                             <enabled>true</enabled>
                        </invocation-service-proxy>
                   </proxy-config>
                   <autostart >true</autostart>
              </proxy-scheme>
         </caching-schemes>
    </cache-config>

  • Coherence Extend Config:   Client  create a new Cluster

    Hi,
    I have configured one storage-enabled coherence node and one proxy server on port 9099 as shown in the wiki. Coherence client is configured with the right -Dtangosol.coherence.cacheconfig which points to the xml file with
    +     +<remote-cache-scheme>++
    ++               <scheme-name>extend-dist</scheme-name>++
    ++               <service-name>ExtendTcpCacheService</service-name>++
    ++               <initiator-config>++
    ++                    <tcp-initiator>++
    ++                         <remote-addresses>++
    ++                              <socket-address>++
    ++                                   <address>Proxy_IP</address>++
    ++                                   <port>9099</port>++
    ++                              </socket-address>++
    ++                         </remote-addresses>++
    ++                         <connect-timeout>10s</connect-timeout>++
    ++                    </tcp-initiator>++
    ++                    <outgoing-message-handler>++
    ++                         <heartbeat-interval>5s</heartbeat-interval>++
    ++                         <heartbeat-timeout>4s</heartbeat-timeout>++
    ++                         <request-timeout>50s</request-timeout>++
    ++                    </outgoing-message-handler>++
    ++               </initiator-config>++
    ++          </remote-cache-scheme>++
    My Client logs shows that it has created a new cluster and then it loaded the Dtangosol.coherence.cacheconfig xml file. Is there a way to prevent my client starting a new cluster? Is configuration incorrect? Any help will be greatly appreciated :)
    Client Log:
    ======
    2011-02-10 04:39:37.599/0.599 Oracle Coherence 3.6.0.1 <Info> (thread=main, member=n/a): Loaded operational configuration from "jar:file:/usr/share/java/coherence-3.6.0.1.jar!/tangosol-coherence.xml"
    2011-02-10 04:39:37.606/0.606 Oracle Coherence 3.6.0.1 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/usr/share/java/coherence-3.6.0.1.jar!/tangosol-coherence-override-dev.xml"
    2011-02-10 04:39:37.606/0.606 Oracle Coherence 3.6.0.1 <D5> (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
    2011-02-10 04:39:37.615/0.615 Oracle Coherence 3.6.0.1 <D5> (thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
    Oracle Coherence Version 3.6.0.1 Build 17846
    Grid Edition: Development mode
    Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
    2011-02-10 04:39:38.112/1.112 Oracle Coherence GE 3.6.0.1 <D4> (thread=main, member=n/a): TCMP bound to /172.23.73.236:8088 using SystemSocketProvider
    2011-02-10 04:39:38.432/1.432 Oracle Coherence GE 3.6.0.1 <Info> (thread=Cluster, member=n/a): This Member(Id=3, Timestamp=2011-02-10 04:39:38.236, Address=172.23.73.236:8088, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:5631, Role=ApacheCommonsDaemonDaemonLoader, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=4) joined cluster "*cluster:0xC4DB" with senior Member(Id=2, Timestamp=2011-02-10* 04:33:09.003, Address=172.23.73.236:8090, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:4193, Role=ApacheCommonsDaemonDaemonLoader, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=4)
    2011-02-10 04:39:38.439/1.439 Oracle Coherence GE 3.6.0.1 <D5> (thread=Cluster, member=n/a): Member 2 joined Service Cluster with senior member 2
    2011-02-10 04:39:38.440/1.440 Oracle Coherence GE 3.6.0.1 <D5> (thread=Cluster, member=n/a): Member 2 joined Service Management with senior member 2
    2011-02-10 04:39:38.440/1.440 Oracle Coherence GE 3.6.0.1 <D5> (thread=Cluster, member=n/a): Member 2 joined Service DistributedCache with senior member 2
    2011-02-10 04:39:38.442/1.442 Oracle Coherence GE 3.6.0.1 <Info> (thread=main, member=n/a): Started cluster Name=cluster:0xC4DB
    Group{Address=224.3.6.0, Port=36000, TTL=4}
    MasterMemberSet
    ThisMember=Member(Id=3, Timestamp=2011-02-10 04:39:38.236, Address=172.23.73.236:8088, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:5631, Role=ApacheCommonsDaemonDaemonLoader)
    OldestMember=Member(Id=2, Timestamp=2011-02-10 04:33:09.003, Address=172.23.73.236:8090, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:4193, Role=ApacheCommonsDaemonDaemonLoader)
    ActualMemberSet=MemberSet(Size=2, BitSetCount=2
    Member(Id=2, Timestamp=2011-02-10 04:33:09.003, Address=172.23.73.236:8090, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:4193, Role=ApacheCommonsDaemonDaemonLoader)
    Member(Id=3, Timestamp=2011-02-10 04:39:38.236, Address=172.23.73.236:8088, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:5631, Role=ApacheCommonsDaemonDaemonLoader)
    RecycleMillis=1200000
    RecycleSet=MemberSet(Size=0, BitSetCount=0
    TcpRing{Connections=[2]}
    IpMonitor{AddressListSize=0}
    2011-02-10 04:39:38.477/1.477 Oracle Coherence GE 3.6.0.1 <D5> (thread=Invocation:Management, member=3): Service Management joined the cluster with senior service member 2
    Feb 10, 2011 4:39:38 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@257b40fe: display name [org.springframework.context.support.ClassPathXmlApplicationContext@257b40fe]; startup date [Thu Feb 10 04:39:38 EST 2011]; root of context hierarchy
    Feb 10, 2011 4:39:38 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    INFO: Loading XML bean definitions from class path resource [configurationRestApplicationContext.xml]
    Feb 10, 2011 4:39:38 AM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    INFO: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@257b40fe]: org.springframework.beans.factory.support.DefaultListableBeanFactory@4bd27069
    Feb 10, 2011 4:39:38 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4bd27069: defining beans [component,server,router,srmconfigurationsresource,srmconfigurationtyperesource,srmconfigurationresource,coherenceStatusResource,configurationMapRepository,configurationOVFFileLoader,defaultConfigurationLoader,feedpagingLinkHandler,adminConfigTransformer,configurationMapQueryHandler,fileUploadResource,postProcessorImpl]; root of factory hierarchy
    [Fatal Error] :-1:-1: Premature end of file.
    [Fatal Error] :-1:-1: Premature end of file.
    *2011-02-10 04:39:39.332/2.332 Oracle Coherence GE 3.6.0.1 <Info> (thread=main, member=3): Loaded cache configuration from "file:/etc/sysconfig/proxy_node.xml"*
    2011-02-10 04:39:39.504/2.504 Oracle Coherence GE 3.6.0.1 <D5> (thread=DistributedCache, member=3): Service DistributedCache joined the cluster with senior service member 2
    Also I have verified that my storage enabled node and proxy node have formed a cluster...
    The client has been started with -Dtangosol.coherence.cacheconfig=/etc/sysconfig/proxy_node.xml
    Thanks & Regards,
    Sandeep

    Hi,
    Used -Dtangosol.coherence.tcmp.enabled=false to disable TCMP mode... ( Phew... :) )
    In my client code we have the following statements...
    *==> Service service = CacheFactory.getService("DistributedCache");*
    *          Set<Member> storeEnabledSet = ((DistributedCacheService) service)*
    *                    .getStorageEnabledMembers();*
    *==> CacheFactory.ensureCluster();*
    Does this needs to be changed for an Extend Client configuration?
    With my current setup I am getting exceptions ...
    2011-02-13 22:36:59.075/111.151 Oracle Coherence GE 3.6.0.1 <Error> (thread=main, member=n/a): Error while starting cluster: java.lang.UnsupportedOperationException: TCMP clustering has been disabled*; this configuration may only access clustered services via Extend proxies.*
    at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:42)
    at com.tangosol.coherence.component.net.Cluster.start(Cluster.CDB:11)
    at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.CDB:3)
    at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.CDB:7)
    at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.CDB:26)
    at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.CDB:2)
    at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:998)
    at com.emc.srm.admin.config.rest.RestApplicationLauncher.waitForCacheServer(RestApplicationLauncher.java:155)
    at com.emc.srm.admin.config.rest.RestApplicationLauncher.main(RestApplicationLauncher.java:108)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.emc.srm.common.daemon.SrmDaemon.start(SrmDaemon.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:219)
    Any ideas on how to fix this?
    Regards,
    Sandeep
    ===========================
    Client configuration:
    <cache-mapping>
                   <cache-name>ConfigurationMapRepository</cache-name>
                   <scheme-name>extend-dist</scheme-name>
    </cache-mapping>
         <caching-schemes>
              <near-scheme>
                   <scheme-name>extend-near</scheme-name>
                   <front-scheme>
                        <local-scheme>
                             <high-units>1000</high-units>
                        </local-scheme>
                   </front-scheme>
                   <back-scheme>
                        <remote-cache-scheme>
                             <scheme-ref>extend-dist</scheme-ref>
                        </remote-cache-scheme>
                   </back-scheme>
                   <invalidation-strategy>all</invalidation-strategy>
              </near-scheme>
              <!-- Event Repository cache scheme definition START -->
              <remote-cache-scheme>
                   <scheme-name>extend-dist</scheme-name>
                   <service-name>DistributedCache</service-name>
                   <initiator-config>
                        <tcp-initiator>
                             <remote-addresses>
                                  <socket-address>
                                       <address>X.X.X.X</address>
                                       <port>9099</port>
                                  </socket-address>
                             </remote-addresses>
                             <connect-timeout>10s</connect-timeout>
                        </tcp-initiator>
                        <outgoing-message-handler>
                             <heartbeat-interval>5s</heartbeat-interval>
                             <heartbeat-timeout>4s</heartbeat-timeout>
                             <request-timeout>50s</request-timeout>
                        </outgoing-message-handler>
                   </initiator-config>
              </remote-cache-scheme>
    </caching-schemes>

  • How to ensure a Coherence Extend TCP service

    Hi,
    We have defined an Extend TCP service within our <caching-schemes> element as follows:
    <proxy-scheme>
    <service-name>ExtendTcpProxyService</service-name>
    <thread-count>5</thread-count>
    <acceptor-config>
    <tcp-acceptor>
    <local-address>
    <address>localhost</address>
    <port system-property="tangosol.coherence.tcpproxy.port">6090</port>
    <reusable>true</reusable>
    </local-address>
    <keep-alive-enabled>true</keep-alive-enabled>
    <tcp-delay-enabled>true</tcp-delay-enabled>
    </tcp-acceptor>
    </acceptor-config>
    <autostart>true</autostart>
    </proxy-scheme>
    However, we are not using com.tangosol.net.DefaultCacheServer as the entry point for our application and would prefer to continue to use our own main() method, ensuring caches as required.
    Given this, I understand that the autostart element has no effect. Clients are unable to connect and no TCP listener appears to have been started.
    Can you give a demonstration of how to call ensureService(.., ...) to start the proxy service? Is there any reason that you would advise us against this, e.g. instead starting DefaultCacheServer inside a separate process?
    Many thanks,
    James

    Hi James,
    In your main you can invoke DefaultCacheServer.startDaemon() method.
    Regards,
    Dimitri

  • Coherence *Extend-TCP configuration not working

    Hi,
         I was trying to setup the Coherence *Extend-TCP configuration on my solaris box.
         To start with, i'm trying to start a Cache server instance by using the cluster-side configuration XML (given at URL below)
         http://wiki.tangosol.com/display/COH32UG/Configuring+and+Using+Coherence*Extend
         But while starting its throwing me the below error. The Coherence version that i'm using is 3.2/353. Please advise.
         Exception in thread "main" java.lang.IllegalArgumentException: The "Proxy" element is missing a required acceptor configuration element
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.ProxyService.configure(ProxyService.CDB:30)
         at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:5)
         at com.tangosol.coherence.component.util.SafeService.getRunningService(SafeService.CDB:26)
         at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:1)
         at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:9)
         at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:775)
         at com.tangosol.net.DefaultCacheServer.start(DefaultCacheServer.java:138)
         at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:60)
         regards
         Mike

    Sorry,
         I noticed that the above error occurs for version 3.1.1 (& not for 3.2) as previously
         specified in previous message (above). My apologies.
         As a follow-up, i've now installed 3.2 jars on my environment & i noticed that the
         above error doesnt occur for this version. The cache server seems to be coming
         up fine now (with the appropriate TCP/IP configuration tag in the xml).
         But when i try to run my client application (which attempts to connect to this
         remote cache server), it throws an InvocationTargetException error (full exception
         below).
         The error indicates that i'm missing some elements in the XML configuration.
         Exception
         (Wrapped) java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at com.tangosol.net.extend.AdapterFactory.ensureCacheServiceAdapter(AdapterFactory.java:69)
              at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:729)
              at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:650)
              at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:831)
              at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:284)
              at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:622)
              at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:600)
              at com.tangosol.examples.explore.SimpleCacheClient.main(SimpleCacheClient.java:25)
         Caused by: java.lang.IllegalArgumentException: Missing required initiator child configuration element: <extend-cache-scheme tier='front'>
         <scheme-name>extend-direct</scheme-name>
         <service-name>ExtendTcpCacheService</service-name>
         <initiator-config tier='front'>
         <tcp-initiator>
         <remote-addresses>
         <socket-address>
         <address>gpblnx1d.nam.nsroot.net</address>
         <port>32000</port>
         </socket-address>
         </remote-addresses>
         <connect-timeout>10s</connect-timeout>
         <request-timeout>5s</request-timeout>
         </tcp-initiator>
         </initiator-config>
         </extend-cache-scheme>
              at com.tangosol.coherence.extend.component.comm.Adapter.getInitiatorElement(Adapter.CDB:13)
              at com.tangosol.coherence.extend.component.comm.adapter.CacheServiceStub.configure(CacheServiceStub.CDB:5)
              at com.tangosol.coherence.extend.component.application.library.generic.CoherenceExtend.createCacheServiceStub(CoherenceExtend.CDB:4)
              at com.tangosol.coherence.extend.component.application.library.generic.CoherenceExtend.ensureCacheServiceStub(CoherenceExtend.CDB:15)

  • Coherence *Extend configuration

    Hello,
    To enable Coherence Extend, we should define a proxy-scheme in our cluster cache-config that defines a coherence *extend proxy-service, containing a tcp-acceptor with a local  address and port.
    Can there be only 1 such an extend proxy service running on the same node?  Or should we redefine the extend proxy-service configuration for each cache server that is running on the same node (to use a different port)? In both cases, we have to define at least 2 new cache-config files - one with the extend proxy service and one without. Is this correct?
    We're now trying to run 2 cache servers on the same node with an extend proxy service.  When we try to start the 2nd cache server, we get the following exception (which is quite normal because the coherence proxy service tries to bind to a socket that is already in use by the other cache server instance that is running the extend proxy service):
    2010-01-21 09:48:10.923/7.865 Oracle Coherence GE 3.5.2/463 <Error> (thread=Proxy:ExtendTcpProxyService:TcpAcceptor:TcpProcessor, member=1): error binding ServerSocket to 10.2.12.144:9099: java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
    at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.acceptor.TcpAcceptor.configureSocket(TcpAcceptor.CDB:27)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.acceptor.TcpAcceptor$TcpProcessor.onEnter(TcpAcceptor.CDB:25)
    at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:14)
    at java.lang.Thread.run(Unknown Source)
    Is there a workaround that makes it possible to use the same cache configuration (containing coherence *extend proxy-service, with tcp-acceptor) with different cache servers on the same machine? 
    If not, what is the best practice to configure the *extend proxy service?
    Thanks in advance

    you can inject system properties into your coherence cache configuration as follows:
    <tcp-acceptor>
    <local-address>
    <address system-property="wouters.address">localhost</address>
    <port system-property="wouters.port">1234</port>
    </local-address>
    </tcp-acceptor>
    The above example will default to localhost:1234, however you can override these with system properties. This will allow you to reuse the same config, but tailor it to your application.
    Cheers,
    Neville.

  • Remotely accessing a CCTV system - questions :)

    Hi
    I want to remotely access my CCTV system that's set up using multiple cameras and a DVR.
    The DVR has an ethernet port to connect to a router.
    The problem I think I have is that I can only get a 3G service where I am and therefore I use a 3G router with embedded sim card, and then connect an Airport Extreme to the router, and extend the 'Airport Network' with further Airport Extremes and Airport Expresses.
    Standard 3G SIM service providers do not offer a fixed IP address.  This isn't a problem for normal internet activity but I think it is when trying to remotely access the DVR.
    So someone suggested using a DDNS or noip.com service, however I'm told that 3G providers prevent the SIM cards from being able to use these services, something to do with NAT?
    So my question is, is there anything at all that I can do using my current setup?  Or is my only option to run a separate 3G router with a fixed IP sim card (you can get them but they are considerably more expensive) dedicated to the DVR?  Would Back to My Mac provide a possible solution?
    Other than what I've mentioned I have no other real knowledge of networking etc, so please explain any answers simply!
    Thanks

    I don't think I can use dyn.com or noip.com as I've been told that the SIM providers don't allow you to port forward on a router.
    I don't really know how Back to My Mac works but I wondered if I have the DVR connected to one of my AirPort Extreme Routers could I access that router (and the DVR) using B2MM?
    I also want to be able to access the DVR and settings when I'm in the house using my laptop. Can someone offer any advice on how to do this?
    Much appreciated

  • Client socket binding to the same local/remote addresses

    Hi all,
    My Java program binds client socket to local address, local port, remote address and remote port. after that from different thread the program creates new socket and bind it to the same address as the first one. The question is: is there possibility that the second socket will be copy as the first one (with the same input/output streams) so that two threads in fact use the same TCP connection.
    (Operating system is HP).
    Thank you,
    Kate

    I have no need to store streams, my problem that each connection has it's own messages numbers(the application implements some protocol over TCP). so if a message number 1 was sent by some connection, and when different thread wants to send a message to the same remote host, it tries to pick up existing connection, but because of a bug creates the new one, which sends the message with number 1 also. And I see that there are situation whent the first thread receives response to the message number 1 althougth it was response to the message number 1 that the second thread has sent. So my question is if there is any possibility of this absurd situation?

  • FAQ: DPA - Remote Access for test systems

    Welcome to DPA - Remote Access for test systems forum!
    This forum is actively monitored and moderated by SAP Integration and Certification Center (ICC).
    Frequently Asked Questions:
    ======================================
    Q1: Where can I learn more about Developer Package Service (DPA)?
    Q2: How can I apply for the regular DPA service?
    Q3. How many SAP systems can I access under the regular DPA service?
    Q4. How can I have access to a non-shared SAP system?
    ======================================
    Q1: Where can I learn more about Developer Package Service (DPA)?
    A: Please take a look at ICC's web page on SDN:
    https://www.sdn.sap.com/irj/sdn?rid=/webcontent/uuid/15330f73-0501-0010-d59e-8a32e220b2ed [original link is broken]
    Q2: How can I apply for the regular DPA service?
    A: Please go to http://www.sap.com/partners/apply and fill out the application form.
    Q3. How many SAP systems can I access under the regular DPA service?
    A: Up to 3 SAP systems, which are shared among all DPA users.
    Q4. How can I have access to a non-shared SAP system?
    A: Please go to http://www.sap.com/partners/apply and apply for the exclusive-use DPA service.
    Message was edited by: Chung-Ho Fan

    https://discussions.apple.com/thread/5294202?tstart=0
    Something you should be aware of is the frequency of IP address change at your father's location. Providers of residential broadband services lease an IP address for a certain duration which you have no control over and is purely arbitrary. You may be familiar with these changes?
    The point is sometimes these addresses change regularly (4 hours to every few days) and sometimes they stay the same for a longer period of time such as a year or more.
    Because of the nature of this change you may find you can remote assist your father one day but not the next. The situation is easily rectified with a simple phonecall to your father. He can tell you what IP address he's using by launching his browser and clicking this link:
    http://myipaddress.com
    He gives you his new IP address and you should be able to make a successful connection again.
    Be aware IP addresses handed out by ISPs are known as routable. IP addresses handed out by Firewalls/Routers/Gateway devices such as Apple's Airport Express Base Station etc are not routable. Assuming you've not changed anything in the devices they will always be one of these three ranges: 192.168.1.x; 10.x.x.x and 172.16.16.x. You don't use any of these last three group of addresses to make the connection over the public external (internet) network but you do use them when on the same private internal network.

Maybe you are looking for