Re: [Embedlets-dev] Global Light Blinker Project proposal
Status: Alpha
Brought to you by:
tkosan
|
From: Gregg G. W. <gr...@sk...> - 2003-07-06 19:59:21
|
Not to deflate Ted's enthusiasm, but there are some important things to understand regarding JXTA. >Close. A webbrowser is not involved and the lights are just for the proof of >concept. We can control anything in the home that can be interfaced to. All >that is needed is to have one or more JXTA Peers running inside of the house >that are part of the person's personal PeerGroup. JXTA 2.0 has already >implemented encrypted TLS (Transport Layer Security) along with encrypted >authentication for peer group access and communications. The JXTA groups has >solved many of the tough communications problems that we have been struggling >with for the past year. In the end, IP routability does not disappear. Thus, there have to be well known addresses for rendevous. This means that while the peer groups might be dynamic, you must have a server infrastructure with well known addresses somewhere/ >Each JXTA peer in the peer group has a universal unique ID (UUID) which means >that we can give any device in the home a UUID and then monitor and control it >from anywhere in the world. The really great thing is that there is not >central UUID authority and so anyone is free to create as many UUIDs as they >need. While 128 bits is a big number, it is still possible for duplicates, so the UUID must be generated with many important considerations such as MAC address, date/time etc. So, you must follow the rules, and thus consider some aspect of your physical environment if you are going to operate in the world community. >Network Address Translation. Nice explanation of NAT. >The big problem with monitoring and controlling devices in the home up to this >point has been the following: When an incoming IP packet comes into the NAT >box, and it was not the result of an outgoing request, then there is no match >in the NAT's lookup table and the message gets dumped into the bit bucket. > >JXTA 2.0 just solved this 'punching through the NAT' problem a couple of months >ago and so they have just opened the remote home device control market wide >open for anyone who knows both Java and Embedded systems. > >BTW, JXTA also punches through firewalls... This is where you have to be careful. JXTA provides protocols between JXTA clients that allow a proxy (of sorts) to interconnect them. This is a well known architecture. I have a proxy at my work location that an X-10 server at my house (whose network is NAT'd) connects to. My J2ME phone connects to the proxy which then provides the connecting pipe between the two 'worlds'. There are other examples of this mechanism that include protocol conversion and neutralization. The web server is a central contact point for information digestable by web browers and other HTTP capable devices and applications. It is capable of translating HTTP URLs into actions of the server that then return an HTTP response (often an HTML document, but not always in the case of HEAD requests and others). What JXTA has done is adopt this strategy into its infrastructure as a useful mechanism for fighting with the world of NAT and firewall. But, there is still no possibility of two NAT'd JXTA peers finding each other without some well known address to find a rendevous. >James, it gets even better... The JXME sub-project has also created technology >that allows a full JXTA peer to act as a proxy for very small devices that can >only communicate using HTTP. Because of this I think that your uVMs, along >with all of the Systronix products, are in a perfect position to fill this >amazing market opportunity. This is a great proxy based protocol neutralization example! There are many competing technologies working in the world of distributed computing. JXTA is very interesting. I'm on the Jini wagon because it provides the solutions that I need for the same types of problems. The most important thing for me is that I don't have to do anything to make complex Object graphs go between Jini peers. The other side is that it also includes mobile code. Thus the implementation details can be changed and/or vary over time. I know that the big issue with mobile code is class loading. For micro devices, this is a really big issue. That is a place where JXTA can play a role. But, there are other ways to solve the same problems, and in the end, the first technology to deploy the next killer application, may end up with the momentum to carry the lead... ----- gr...@cy... (Cyte Technologies Inc) |