[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [ecf-dev] Large number of clients | 
Hi Leen,
Leen Toelen wrote:
Hi,
I am investigating the feasibility of a project, and ecf is one of the 
technologies which looks like it might be very useful for it. We're 
going to deploy a large number of nodes (+-20.000) with an equinox 
stack on them. From time to time they need to call home and download 
updated software if available.
Most of the time they will be watching their environmental sensors and 
have some predefined triggers. When a trigger goes off they need to 
send a message to the server, which takes action if needed.
There are administrators as well, which should be given the option to 
remotely use the node's OSGI services, set its parameters, stream 
audio and video, get its GPS location etc.
I was thinking of setting up an xmpp server (wrapped in an OSGI 
bundle) and use ecf as a communication platform. The xmpp server 
should be able to handle 20000 clients (which are not doing a lot most 
of the time) and so the administrator gets a good idea on when each 
node is online. When the administrator is interested in a specifc 
node, he can use its remote services as well.
My questions are:
- is ecf/xmpp the best library/protocol for something like this?
Although the ECF team would like to build and XMPP server, we have not 
yet done so....so the difficulty for you would be in creating a scalable 
XMPP server implementation (using OSGi, Equinox and ECF).  It's possible 
that you could use one of the commercial xmpp servers, such as Jive 
Software's, but I'm not sure whether their server scales to that many 
simultaneous clients.
- is ecg capable of streaming video and audio?
ECF has a call signalling API, and thanks to some work by Moritz Post, 
there is an implementation of Jingle (an XMPP extension protocol) that 
does streaming audio.  There is more information about this work here:
http://wiki.eclipse.org/VOIP
http://wiki.eclipse.org/VoIP_via_the_ECF_Call_API_and_the_Jingle_Protocol
- I've got a basic setup running with little text messages, but will 
it scale to that many nodes?
For XMPP I don't know.  It would likely depend heavily on the quality 
and scalability of the server (less so on ECF APIs actually). 
Sorry I can't be more definite, but in truth the main scalability point 
for that many clients and doing things like streaming audio is the 
server/servers, and like I said we would very much like to create an 
XMPP server from Equinox/OSGi, and ECF, we haven't yet done so.
If you are interested in creating an XMPP server, however, this would 
likely be a very good sub-project for ECF going forward, as we are 
moving into the new Eclipse Runtime project.  Also, we have received 
several inquiries about an ECF-based XMPP server previously, and so 
there seems to be very good community interest.
Thanks,
Scott