ECEG Group
iSpace Room Before
iSpace Room After
Abstract Event Heap Solution: ECEG
Video
ECEG System Features Resource Discovery
ECEG System Features Resource Discovery Generic Application Platform
ECEG System Features Resource Discovery Generic Application Platform Remote Control
ECEG System Features Resource Discovery Generic Application Platform Remote Control Instant Messenger
ECEG System – How to Use
ECEG System forumispace/download/eceg.htm
System Overview Application P2P Communication Discovery JXTA TCP/IP Wave LAN
BlueTooth
Infrared
Wave LAN
Transport layer solutions Event Heap Jini Jxta Definition –Transport layer’s responsibility is to define how traffic should be sent over inter- networks
Event Heap A centeral event dispatcher, all the message goes through the event heap server.
Jini Establishes a distributed system by moving interfaces of objects around the network Looku p Service Looku p Service Provide r Service Provide r Client
Jini Looku p Service Looku p Service Provide r Service Provide r Client
Jini Looku p Service Looku p Service Provide r Service Provide r Client Service Object Service Attribute
Jini Looku p Service Looku p Service Provide r Service Provide r Client
Jini Looku p Service Looku p Service Provide r Service Provide r Client
Jini Advantages –Simplicity. –Robustness. Disadvantages –Platform dependency. –IP based.
JXTA ”A layered model solution for developing Peer 2 Peer applications, consisting of protocols that are independent from underlying topology” -SUN
JXTA Peer 2 Peer Dynamic Lightweight
Chosen Technology: JXTA Advantages –Interoperability. –Platform Independent. –Ubiquity Disadvantages –Under Development. –Inherently Chatty.
ECEG System Application P2P Communication Discovery
Source Code public void discoveryEvent(DiscoveryEvent ev) { Debug.trace("-> MyPeerGroupNeigborhood.discoveryEvent", 1); DiscoveryResponseMsg response = ev.getResponse(); int index = -1; Peer peerTemp = null; try { String aResponse = response.getPeerAdv(); /* First we can elicit what peer has published the advert, we can then determine which groups it belongs to */ InputStream is = new ByteArrayInputStream((aResponse).getBytes()); peerAdvert = (PeerAdvertisement)AdvertisementFactory.newAdvertisement( new MimeMediaType("text/xml"), is); Debug.trace("Number of responses received from: " + peerAdvert.getName() + " is " + response.getResponseCount(), 2); index = neighborhoodData.doesPeerExist(peerAdvert.getPeerID()); Debug.trace("Peer Description: " + peerAdvert.getDescription(), 2); Enumeration enum = response.getResponses(); if (index >= 0) // the peer exists { Debug.trace("Peer exists", 1); neighborhoodData.setPeerAliveFlag(peerAdvert.getPeerID()); ParsePeer.parse( (Peer)neighborhoodData.vectorManip.elementAt(index), peerAdvert, enum, this, true); Debug.writePeerHtmlFile(peerAdvert.getName()); ParsePeer.dealWithSubAdvertisements(enum, (Peer)neighborhoodData.vectorManip.elementAt(index), this); Debug.trace("End of peer exists", 1); } else if (index < 0) { Debug.trace("Peer does not exist", 3); peerTemp = new Peer(); neighborhoodData.addPeer(peerTemp); ParsePeer.parse(peerTemp, peerAdvert, enum, this, false); ParsePeer.dealWithSubAdvertisements(enum, peerTemp, this); Debug.trace("End of peer does not exist", 1); discovery.getRemoteAdvertisements (null, DiscoveryService.ADV, null, null, 30, this); discovery.publish(myPeer.pipeAdvertisement, DiscoveryService.ADV); discovery.remotePublish(myPeer.pipeAdvertisement, DiscoveryService.ADV); } catch (IOException ioe) { Debug.error("An IO error occured!!"); Debug.error(ioe.toString()); ioe.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } Debug.trace("<- MyPeerGroupNeigborhood.discoveryEvent", 1); }
Project Issues Project Scope Project Plan Adherence Extra Frills: –Mouse Sender/Receiver –Instant Messenger –Dynamic IP Discovery –Inter iSpace Communication
Problems Faced Team Member Loss Tomorrow’s Technology Inter-Subnet Peer Groups
Conclusion Wave LAN JXTA Layered Model Developed Application Future
Acknowledgements Li Wei Erik Eliasson Fredrik Kilander Teaching Team
Questions & Answers ?