HyperCastJ. Liebeherr Multimedia Networks Group University of Virginia June 2004
HyperCast Peer Networks
HyperCast is intended for scenarios where a possibly large number of users need to spontaneously form a network to broadcast video, aggregate sensor data, exchange message information or exchange files. While the HyperCast design can work with a very large network of applications, it has also been shown to have great potential for supporting more focused situations such as emergency response systems and military urban operations. The HyperCast software is being designed and developed at the University of Virginia since 1998. HyperCast is implemented in the Java programming language. The second release of the software, HyperCast 2.0, is available at http://www.cs.virginia.edu/hypercast [HCAST2-0]. The third release of the software, which includes a security architecture and support for mobile ad-hoc networks, is in development and currently (Summer 2004) being tested. Network Topologies of Hypercast
a) Delaunay TriangulationA Delaunay triangulation is a special type of triangulation graph. Each node in a Delaunay triangulation has two coordinates (x,y) which depict a point in the plane. If the coordinates reflect a geographical position, then applications in the peer network are likely to be neighbors if their geographical positions are close. In Figure 2, we show a Delaunay triangulation with five nodes. The main advantage of a Delaunay triangulation peer network is that it can be constructed quickly in a distributed fashion [LIEBE01b]. Building a Delaunay triangulation peer network with several thousand applications can be completed in a few seconds. Peer networks with a Delaunay triangulation topology have been tested with up to 10,000 applications running on 100 computers (see [LIEBE01b]). Due to its good convergence behavior, the Delaunay triangulation is used as the default topology in HyperCast. b)
|
|
//This is the string we will sent String MyString = new String("Hello World");
//Create an object that contains configuration parameters OverlaySocketConfig ConfObj = OverlaySocketConfig.createOLConfig("hypercast.xml");;
//Create the overlay socket I_OverlaySocket MySocket=ConfObj.createOverlaySocket(null);
//Overlay socket joins the overlay MySocket.joinOverlay();
//Create an
application message with “Hello World” payload
//Send the message
to all members in overlay network
//Infinite loop to receive messages While(true) { //Receive a
message from the socket
//Extract the
payload
// Print out the “Hello World” message System.out.println(“Message is ” + new String(data) + “.”); } |
The most recent version of HyperCast (version 3.0) includes a security architecture where users can select plaintext, integrity, or privacy for application data [ZARI04].
· User Authentication: Authentication is managed through X.509 formatted certificates signed by a trusted third party or a designated certificate authority for the peer network. An application must present its certificate whenever it contacts a new neighbor in the peer network.
· Key Management: HyperCast implements a novel neighborhood key management scheme where each application shares a key only with its immediate neighbors in the peer network. In this way, changes to the membership of the peer network only require the neighbors of a joining or leaving node to change their keys.
· Privacy and Integrity: When an application creates a new message it uses a message key to ensure integrity and/or privacy of the message. The message key is encrypted with a neighborhood key, and attached to the message. When the message is forwarded to a neighbor in the peer networks, only the message key needs to be decrypted and encrypted at the neighbor.
The effectiveness of HyperCast has been demonstrated for numerous utility programs and applications. Simple shared applications, such as a one-to-many file transfer program and a shared whiteboard application are available with the distribution of HyperCast 2.0. Recently, HyperCast has been used for the development of more complex software systems. These applications include a video broadcasting system for the Internet that transmits live video in encrypted format (at 150 kbps) and unencrypted format (at 500 kbps). The video broadcast system has also been applied in an ad-hoc network scenario, using laptop computers and PDAs as video sources. Another application is a situation awareness system for supporting emergency responders in Arlington County, Virginia. A prototype of this system has been presented at the Federal Office Systems Exposition (FOSE) as a Homeland Security Demonstration in Washington, DC, in April 2003.
Currently in development is a system for managing and controlling peer networks as a mechanism for establishing communities of common information interests and for providing security services using a trust model based on peer agreement [BAHO04]. The system, called Dynamic Ad-hoc Security Architecture for Peer-to-Peer Networks (DASAP), performs user authentication and information access control simultaneously for a large number of peer networks in a distributed session and without centralized control. DASAP can adapt to evolving information access requirements and a highly dynamic user base. DASAP employs a distributed authentication scheme, which leverages existing public-key infrastructures, a multi-peer agreement process for authorization decisions, and distributed auditing with a centralized final log.
Also in progress is the development of a geographic-based information distribution system that associates peer networks with geographic areas of interest. Here, whenever a (properly authorized) user wants to send or receive information relating to a specific geographical area, the user simply joins the peer network associated with this area.
The HyperCast project has been supported in part by the National Science Foundation under grants NCR-9624106, ANI-9870336, and ANI-0085955. The HyperCast project is part of the Denali project on scalable services for the Global Internet.
[BEAM99] T. K. Beam. HyperCast:A Protocol for Maintaining a Logical Hypercube-Based Network Topology. M.S. Thesis, University of Virginia, May 1999.
[HCAST2-0] HyperCast 2.0 Project Website. http://www.cs.virginia.edu/hypercast, 2002.
[LIEBE99] J. Liebeherr and T. K. Beam. HyperCast: A protocol for maintaining multicast group members in a logical hypercube topology. In Proceedings First International Workshop on Networked Group Communication (NGC '99), Lecture Notes in Computer Science, Volume 1736, pages 72-89, 1999.
[LIEBE01b] J. Liebeherr, M. Nahas, and W. Si. Large-scale Application-Layer Multicast with Delaunay Triangulations. Manuscript, September 2001.
[LIEBE03] J. Liebeherr, J. Wang, and G. Zhang, Programming Overlay Networks with Overlay Sockets, 5th COST 264 Workshop on Networked Group Communications (NGC 2003), LNCS 2816, pages, 242-253, September 2003.
[ZARI04] J. Zaritsky. Scalable Multicast Network Security: Rethinking Key Management. Undergraduate Thesis, School of Engineering and Applied Science, University of Virginia. May 2004.