PC Review Forums Newsgroups Microsoft DotNet Microsoft Dot NET Compact Framework Pushing data to a PDA over GPRS

Reply

Pushing data to a PDA over GPRS

 
Thread Tools Rate Thread
Old 22-06-2007, 04:04 PM   #1
=?Utf-8?B?Um9iIFM=?=
Guest
 
Posts: n/a
Default Pushing data to a PDA over GPRS


Hi there,

My quest is to redevelop an application which sends jobs to engineers PDAs
via sockets over GPRS.

At the moment i use a pull method, it polls every 5 minutes for new data.

I now want to be able to push data to my PDAs, however after looking into
this somewhat i've learnt that GPRS provides (in the uk) issue local IP
addresses which aren't public addressable. Ah, problem.

I have heard that you can open a socket on the PDA which communicates with
the server and that socket is held open so the server can send information
back down that same socket as long as the client is connected.

My sockets experience is pretty limited so i'm not exactly sure how to do
this, would anyone have any examples or anything to point me in the right
direction?

Really appreciate any help on this.

Many thanks
Rob Saville
  Reply With Quote
Old 22-06-2007, 04:08 PM   #2
Guest
 
Posts: n/a
Default Re: Pushing data to a PDA over GPRS

Maintaining an always-open socket is going to get really expensive. Stick
with polling unless the phone is already doing something similar (like
getting email with direct push from exchange) in which case you could
leverage that transport to notify the device that new data exists (kind of
like the upcoming CF 3.5 WCF stuff does).


--

Chris Tacke, Embedded MVP
OpenNETCF Consulting
Managed Code in an Embedded World
www.OpenNETCF.com




"Rob S" <RobS@discussions.microsoft.com> wrote in message
news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com...
> Hi there,
>
> My quest is to redevelop an application which sends jobs to engineers PDAs
> via sockets over GPRS.
>
> At the moment i use a pull method, it polls every 5 minutes for new data.
>
> I now want to be able to push data to my PDAs, however after looking into
> this somewhat i've learnt that GPRS provides (in the uk) issue local IP
> addresses which aren't public addressable. Ah, problem.
>
> I have heard that you can open a socket on the PDA which communicates with
> the server and that socket is held open so the server can send information
> back down that same socket as long as the client is connected.
>
> My sockets experience is pretty limited so i'm not exactly sure how to do
> this, would anyone have any examples or anything to point me in the right
> direction?
>
> Really appreciate any help on this.
>
> Many thanks
> Rob Saville



  Reply With Quote
Old 22-06-2007, 04:19 PM   #3
=?Utf-8?B?Um9iIFM=?=
Guest
 
Posts: n/a
Default Re: Pushing data to a PDA over GPRS


Hi Chris,

Just out of interest why does it get really expensive? If it doesn't send
any data across how does it run up the bill?

We are currently looking at using a seperate APN with static IPs.

Unfortunately the pull method is quite expensive as well as we're having to
check for new data every minute or so.

Any other good ideas?

Thanks
rob

"<ctacke/>" wrote:

> Maintaining an always-open socket is going to get really expensive. Stick
> with polling unless the phone is already doing something similar (like
> getting email with direct push from exchange) in which case you could
> leverage that transport to notify the device that new data exists (kind of
> like the upcoming CF 3.5 WCF stuff does).
>
>
> --
>
> Chris Tacke, Embedded MVP
> OpenNETCF Consulting
> Managed Code in an Embedded World
> www.OpenNETCF.com
>
>
>
>
> "Rob S" <RobS@discussions.microsoft.com> wrote in message
> news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com...
> > Hi there,
> >
> > My quest is to redevelop an application which sends jobs to engineers PDAs
> > via sockets over GPRS.
> >
> > At the moment i use a pull method, it polls every 5 minutes for new data.
> >
> > I now want to be able to push data to my PDAs, however after looking into
> > this somewhat i've learnt that GPRS provides (in the uk) issue local IP
> > addresses which aren't public addressable. Ah, problem.
> >
> > I have heard that you can open a socket on the PDA which communicates with
> > the server and that socket is held open so the server can send information
> > back down that same socket as long as the client is connected.
> >
> > My sockets experience is pretty limited so i'm not exactly sure how to do
> > this, would anyone have any examples or anything to point me in the right
> > direction?
> >
> > Really appreciate any help on this.
> >
> > Many thanks
> > Rob Saville

>
>
>

  Reply With Quote
Old 22-06-2007, 04:24 PM   #4
Guest
 
Posts: n/a
Default Re: Pushing data to a PDA over GPRS

The socket won't just "remain open" with no transmission - a keep-alive
packet must be maintained or it will get shut down automatically (that's how
it knows it's not just some dead, unconnected socket sitteng out there).


--

Chris Tacke, Embedded MVP
OpenNETCF Consulting
Managed Code in an Embedded World
www.OpenNETCF.com




"Rob S" <RobS@discussions.microsoft.com> wrote in message
news:393368ED-FC88-47EE-BA74-BB547039637A@microsoft.com...
>
> Hi Chris,
>
> Just out of interest why does it get really expensive? If it doesn't send
> any data across how does it run up the bill?
>
> We are currently looking at using a seperate APN with static IPs.
>
> Unfortunately the pull method is quite expensive as well as we're having
> to
> check for new data every minute or so.
>
> Any other good ideas?
>
> Thanks
> rob
>
> "<ctacke/>" wrote:
>
>> Maintaining an always-open socket is going to get really expensive.
>> Stick
>> with polling unless the phone is already doing something similar (like
>> getting email with direct push from exchange) in which case you could
>> leverage that transport to notify the device that new data exists (kind
>> of
>> like the upcoming CF 3.5 WCF stuff does).
>>
>>
>> --
>>
>> Chris Tacke, Embedded MVP
>> OpenNETCF Consulting
>> Managed Code in an Embedded World
>> www.OpenNETCF.com
>>
>>
>>
>>
>> "Rob S" <RobS@discussions.microsoft.com> wrote in message
>> news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com...
>> > Hi there,
>> >
>> > My quest is to redevelop an application which sends jobs to engineers
>> > PDAs
>> > via sockets over GPRS.
>> >
>> > At the moment i use a pull method, it polls every 5 minutes for new
>> > data.
>> >
>> > I now want to be able to push data to my PDAs, however after looking
>> > into
>> > this somewhat i've learnt that GPRS provides (in the uk) issue local IP
>> > addresses which aren't public addressable. Ah, problem.
>> >
>> > I have heard that you can open a socket on the PDA which communicates
>> > with
>> > the server and that socket is held open so the server can send
>> > information
>> > back down that same socket as long as the client is connected.
>> >
>> > My sockets experience is pretty limited so i'm not exactly sure how to
>> > do
>> > this, would anyone have any examples or anything to point me in the
>> > right
>> > direction?
>> >
>> > Really appreciate any help on this.
>> >
>> > Many thanks
>> > Rob Saville

>>
>>
>>



  Reply With Quote
Old 22-06-2007, 04:34 PM   #5
=?Utf-8?B?Um9iIFM=?=
Guest
 
Posts: n/a
Default Re: Pushing data to a PDA over GPRS


Thanks Chris, i guess that's a no goer then.

Appreciate the response.

Rob

"<ctacke/>" wrote:

> The socket won't just "remain open" with no transmission - a keep-alive
> packet must be maintained or it will get shut down automatically (that's how
> it knows it's not just some dead, unconnected socket sitteng out there).
>
>
> --
>
> Chris Tacke, Embedded MVP
> OpenNETCF Consulting
> Managed Code in an Embedded World
> www.OpenNETCF.com
>
>
>
>
> "Rob S" <RobS@discussions.microsoft.com> wrote in message
> news:393368ED-FC88-47EE-BA74-BB547039637A@microsoft.com...
> >
> > Hi Chris,
> >
> > Just out of interest why does it get really expensive? If it doesn't send
> > any data across how does it run up the bill?
> >
> > We are currently looking at using a seperate APN with static IPs.
> >
> > Unfortunately the pull method is quite expensive as well as we're having
> > to
> > check for new data every minute or so.
> >
> > Any other good ideas?
> >
> > Thanks
> > rob
> >
> > "<ctacke/>" wrote:
> >
> >> Maintaining an always-open socket is going to get really expensive.
> >> Stick
> >> with polling unless the phone is already doing something similar (like
> >> getting email with direct push from exchange) in which case you could
> >> leverage that transport to notify the device that new data exists (kind
> >> of
> >> like the upcoming CF 3.5 WCF stuff does).
> >>
> >>
> >> --
> >>
> >> Chris Tacke, Embedded MVP
> >> OpenNETCF Consulting
> >> Managed Code in an Embedded World
> >> www.OpenNETCF.com
> >>
> >>
> >>
> >>
> >> "Rob S" <RobS@discussions.microsoft.com> wrote in message
> >> news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com...
> >> > Hi there,
> >> >
> >> > My quest is to redevelop an application which sends jobs to engineers
> >> > PDAs
> >> > via sockets over GPRS.
> >> >
> >> > At the moment i use a pull method, it polls every 5 minutes for new
> >> > data.
> >> >
> >> > I now want to be able to push data to my PDAs, however after looking
> >> > into
> >> > this somewhat i've learnt that GPRS provides (in the uk) issue local IP
> >> > addresses which aren't public addressable. Ah, problem.
> >> >
> >> > I have heard that you can open a socket on the PDA which communicates
> >> > with
> >> > the server and that socket is held open so the server can send
> >> > information
> >> > back down that same socket as long as the client is connected.
> >> >
> >> > My sockets experience is pretty limited so i'm not exactly sure how to
> >> > do
> >> > this, would anyone have any examples or anything to point me in the
> >> > right
> >> > direction?
> >> >
> >> > Really appreciate any help on this.
> >> >
> >> > Many thanks
> >> > Rob Saville
> >>
> >>
> >>

>
>
>

  Reply With Quote
Old 22-06-2007, 05:17 PM   #6
Dick Grier
Guest
 
Posts: n/a
Default Re: Pushing data to a PDA over GPRS

Hi,

What some people do (I'd be inclined to do this until the state-of-the-art
improves to support "push"), is to use an SMS message from server to client
to notify the client to "call-back" to get the real message data. This
probably is the lowest cost mechanism. It also allows small messages to
simply be included in the SMS, while retaining the full bandwidth to "pull"
a large message, such as a database update.

Dick

--
Richard Grier, MVP
Hard & Software
Author of Visual Basic Programmer's Guide to Serial Communications, Fourth
Edition,
ISBN 1-890422-28-2 (391 pages, includes CD-ROM). July 2004, Revised March
2006.
See www.hardandsoftware.net for details and contact information.


  Reply With Quote
Old 22-06-2007, 07:21 PM   #7
=?Utf-8?B?ZGJncmljaw==?=
Guest
 
Posts: n/a
Default Re: Pushing data to a PDA over GPRS

We currently use the SMS message method to update data on our device. We
implemented a MessageInterceptor with a messageCondition to indicate a
retrieve data message has arrived (We used a specific code in the message
body). We set the InterceptionAction to Notify and delete to prevent the
user from having to process the message and on receipt of our message opened
a connection and retrieved the data.

Rick D.
Contractor

"Dick Grier" wrote:

> Hi,
>
> What some people do (I'd be inclined to do this until the state-of-the-art
> improves to support "push"), is to use an SMS message from server to client
> to notify the client to "call-back" to get the real message data. This
> probably is the lowest cost mechanism. It also allows small messages to
> simply be included in the SMS, while retaining the full bandwidth to "pull"
> a large message, such as a database update.
>
> Dick
>
> --
> Richard Grier, MVP
> Hard & Software
> Author of Visual Basic Programmer's Guide to Serial Communications, Fourth
> Edition,
> ISBN 1-890422-28-2 (391 pages, includes CD-ROM). July 2004, Revised March
> 2006.
> See www.hardandsoftware.net for details and contact information.
>
>
>

  Reply With Quote
Old 23-06-2007, 09:43 AM   #8
=?Utf-8?B?U2ltb24gSGFydA==?=
Guest
 
Posts: n/a
Default Re: Pushing data to a PDA over GPRS

This is a very interesting challenge. The only real effective and the low
cost way to enable "push" technology is to have your own leased line APN
which does no NAT (network address translation) so you can actually see the
device on your private network as no NAT occurs. This also implements a more
secure infrastructure than using a public APN and much much more reliable.

You do have a couple of other "issues". Even with a normal private APN, you
will still have dynamic IP addresses on each device (the telecommunications
provider allocates you a range) when it connects to the APN (not connected to
sockets). Of course each time this connection goes down and you reconnect to
the APN, you will get a different IP Address. This is unless you have static
IP addresses as you suggested. But unless you have money to burn or have very
few devices as this costs around £15,000 (or there abouts - Vodafone price)
per IP address! so it is very expensive.

How we handle the change in IP address is every time it changes - which is
not that often, we send a message to our gateway which sends a message via
BizTalk to our backoffice system. So we always know where the devices are.
--
Simon Hart


"Rob S" wrote:

>
> Hi Chris,
>
> Just out of interest why does it get really expensive? If it doesn't send
> any data across how does it run up the bill?
>
> We are currently looking at using a seperate APN with static IPs.
>
> Unfortunately the pull method is quite expensive as well as we're having to
> check for new data every minute or so.
>
> Any other good ideas?
>
> Thanks
> rob
>
> "<ctacke/>" wrote:
>
> > Maintaining an always-open socket is going to get really expensive. Stick
> > with polling unless the phone is already doing something similar (like
> > getting email with direct push from exchange) in which case you could
> > leverage that transport to notify the device that new data exists (kind of
> > like the upcoming CF 3.5 WCF stuff does).
> >
> >
> > --
> >
> > Chris Tacke, Embedded MVP
> > OpenNETCF Consulting
> > Managed Code in an Embedded World
> > www.OpenNETCF.com
> >
> >
> >
> >
> > "Rob S" <RobS@discussions.microsoft.com> wrote in message
> > news:361A9FE9-23E5-4D55-849F-B930658FA5B2@microsoft.com...
> > > Hi there,
> > >
> > > My quest is to redevelop an application which sends jobs to engineers PDAs
> > > via sockets over GPRS.
> > >
> > > At the moment i use a pull method, it polls every 5 minutes for new data.
> > >
> > > I now want to be able to push data to my PDAs, however after looking into
> > > this somewhat i've learnt that GPRS provides (in the uk) issue local IP
> > > addresses which aren't public addressable. Ah, problem.
> > >
> > > I have heard that you can open a socket on the PDA which communicates with
> > > the server and that socket is held open so the server can send information
> > > back down that same socket as long as the client is connected.
> > >
> > > My sockets experience is pretty limited so i'm not exactly sure how to do
> > > this, would anyone have any examples or anything to point me in the right
> > > direction?
> > >
> > > Really appreciate any help on this.
> > >
> > > Many thanks
> > > Rob Saville

> >
> >
> >

  Reply With Quote
Old 24-06-2007, 07:20 PM   #9
Marcel Ruff
Guest
 
Posts: n/a
Default Re: Pushing data to a PDA over GPRS

Hi Rob,

this is no problem at all.
The PDA opens a socket to a server and keeps it open.
The server tunnels the responses 'in real time' back to the PDA
in the same socket.
When no data flows no money is charged (GPRS, EDGE, UMTS etc).

You can use a framework (http://www.xmlBlaster.org) which allows
to do this with pure C code or with C#, or code it yourself.

Using xmlBlaster has many more benefits for reliable J2ME or WinCE
to server communication and is free for commercials as well.

regards
Marcel

Hi there,
>
> My quest is to redevelop an application which sends jobs to engineers PDAs
> via sockets over GPRS.
>
> At the moment i use a pull method, it polls every 5 minutes for new data.
>
> I now want to be able to push data to my PDAs, however after looking into
> this somewhat i've learnt that GPRS provides (in the uk) issue local IP
> addresses which aren't public addressable. Ah, problem.
>
> I have heard that you can open a socket on the PDA which communicates with
> the server and that socket is held open so the server can send information
> back down that same socket as long as the client is connected.
>
> My sockets experience is pretty limited so i'm not exactly sure how to do
> this, would anyone have any examples or anything to point me in the right
> direction?
>
> Really appreciate any help on this.
>
> Many thanks
> Rob Saville

  Reply With Quote
Reply



Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off