Connection question: Moving from in a network to outside...

  • Thread starter Thread starter dwhittenburg
  • Start date Start date
D

dwhittenburg

I'm also looking for an 'always on' connection...I have a program that makes
a call to a web service that is on a server on a network...I'm wandering how
I should implement this once the user leaves the area where they can pick up
this network. I was thinking that the user would get some sort of
connection and then vpn back into the network. But, how is this connection
established...I've hinted around this questions before, but I'm not sure
that I asked it in the correct way...This is a critical part of what I'm
trying to do, as I'm trying to provide the user with a real time
environment...


Thank you guys...
 
You tell us! What are the connection methods that you're going to have
available? Where are the connection points to the internal network you are
trying to provide access to? What sort of 'connections' would devices on
the outside make to devices on the inside.

Paul T.
 
Well from the previous response, I suppose that if I am using the dell axim
then I am going to get in touch with the vendor of which cellular service
that I want and get a CF cellular modem card and the suitable drivers...If I
use a device from the service provider then all of this should come with the
device and I will "just be connected"?

The connection points would be to vpn into the network...

I was hoping that if the device had an always on connection, sort of like a
blackberry has, then I would not have to do anything in code for connection,
that I would just have to attempt to use the web service after a vpn was set
up and then I would be able to communicate with the server via the web
service...

The main question that I have is do application for devices normally
establish the connection through code or is the connection always on?

Currently I have my application synching through the web service from within
the network, I'm just in-experienced in the realm of connection outside of
the network and was trying to get more information on that...

Thank you...
 
You'll have to deal with areas of no coverage, so it's never as simple as
"I'm always connected". I'm not familiar enough with Pocket PC devices to
say what types of VPNs are supported, but some should be.

Well, constantly being connected to a cellular network is going to cost you
minutes, so you should look into that. If it's going to cost you $300 a
month, you'd be better off actually doing some programming. You're still
going to have to deal with no-coverage areas, too. You don't necessarily
have to write code to do the connection; maybe you just tell your device
user to make the connection or set up the dial-up connection to connect
automatically as-necessary.

There is no right answer to how do devices normally connect. Our devices
are normally connected to a wired Ethernet port, so there's no code that we
write to 'connect', per se, but code written for them has to gracefully
handle being unplugged, failures of a network switch, gateway failures, etc.

Many devices use WiFi for mobile connection in a limited area. You have the
same problems there with low-signal areas, broken equipment, etc.
Generally, those devices are configured to just use any of the preferred
networks, which are set up when the WiFi card is installed, which are
available. Code has to handle the case where no connection is present.

I'd guess that on cellular or other wide-area wireless networks, most people
are connecting as needed and shutting down the connection ASAP to save
money. You may be able to do this by setting up the connection to connect
automatically when needed and stop when no longer needed. Your code might
just have to establish a socket connection to the right place or whatever to
trigger connection.

Paul T.
 
Thank you very much...This answered a lot of the questions that I had...

Possible more questions to come after I do some sampling...
 
Hi,

as Paul mentioned above it is not so easy to be allways online.

We have a mobile application which also uses Webservices to communicate.
We have a few situations where this app is used:
In a cradle
In a WLan
In a wired network
In the field with GPRS
In the fiel with GSM (or HSCSD).

Only the last connection costs per minute. The rest is for free,
or data volume based.

So what did we do to communicate?
Just call a webservice :-)
This will connect automaticly (if the device is configured for "Automatic Internet connection".

But there we ran in a lot of problems with that approach.
The biggest problem was (I think this is a problem of the CF) that if I hang up (GSM) after such an automatic
connection sometimes the CF thinks it is still online - and a call to a webservice crashes the app.

The other - problem if using GPRS there are situations where you lose the connection.
But it stays online (looks like). If you hang up in such a situation the next call to something
works without problems.
If you don't the CF crashes and even other programms (so it is for sure not our fault) like,
Outlook alos run in a timeout an can never reconnect. We had to reset the devices in such a situation!!

By the way - if a problem occures while a transfer is in progress - this results in a simple timeout.
If you try to communicat on an open connection - with no working GPRS behind - no problem
But if GPRS was away and is availabel again - than these things happen!!

So what we decided to do was - always look if we are online.
---Here is code to check it - it looks if the first connection has 127.0.0.1 as Address.
---This code does not work if you have an IP V6 stack on your device - so check the first IPV4 Address!!

If we are online - than we make the call to the webservice.
If not - we connect, make our call(s) and disconnect even on GPRS or UMTS calls.

I think the best way for good results is to think that a pocket PC is some kind of
"network loosing device" :-) -- Think pesemistic!

Because:
a.) GSM / HSCSD / UMTS and WLan lose the connection sometimes
b.) the user will pull out the device from the craddle - especially when you communicate :-)

With that facts in mind you should think about the desing of mobile software.
This solves (or avoids) a lot of troubles.

HTH

Manfred
 
Thanks very much Manni, that's a lot of helpful information...

Could you explain a little more about how the GPRS or GSM works?

The application will currently work in the cradle, wlan, wired network...I'm
wondering more about the GPRS/GSM...

Thanks
 
Hi,

our app is something for Item tracking - and we ar in Austria (Germany, Italy, France, Switzerland...but 80% Austria)
So what do we need to coummunicate - depending on the situation:
a.) in the office (download new things) - CRADDLE or WiredLan
b.) in the stock (collecting things) WLan (if available)
c.) in the city (WLan if available - hot spots)
d.) in the car, the hotel, the restaurant, at customer sites - Nothing

So exept for a we always have most likely no LAN - how ever it looks.
For this we use GSM / GPRS / UMTS.

There are three ways we do this:
a.) a special communication card with the PPC (PCMIA)
b.) a mobile phone - paired with the PPC via bluetooth (IRDA works also - but forget it due the handling)
c.) a PPC including the capabilities to communicate on GMS/GPRS/UMTS

For c we have for an example the QTEK 9090 (MDA III, or how ever it is called).
We prefere c.) since we get a phone edition an can signal the device via SMS or a phone call.

Is this the answer you were looking for?

Ah, how it works - you can set (under settings/connections) how the device should connect to the internet.
There you enter you parameters (autoconnect and so on).

In your app (to have control over connections) you PInvoke the connection manager,
or use OPenNetCf to do this.
By the way - we decided not to dial a special number - we connect "to the internet",
so the user can choose from the settings of his device how to hande it.
Aspecially interesting when you obtain the PPC from a mobile phone provider.
This has two positives (at least in AT, DE),
a.) the provider pays a part of the device (about 50 to 70 percent)
b.) the devices are preconfigured to connect with the provider

HTH

Manfred
 
Back
Top