What is GeoCast

GeoCast is a scalable and decentralized overlay multicast system for providing efficient group communication services. In the term of topology management and routing protocol, GeoCast can be seen as an extension to the CAN network, which was proposed to provide distributed hash table functionality for self-organizing end system nodes in a widely distributed, decentralized manner. Because of its redundant and decentralized nature, GeoCast can be used for many group communications like multi-party games, Instant advertising systems, IPTV and other latency-aware group communication applications. Campared to traditional approaches such as CAN, Pastry and Chord, GeoCast offers less overhead and end-to-end delay for message transmission Conretely, Geocast has three important properties important to group communication applications:

  • high efficiency: It performs efficient multicast using reverse path forwarding along the tree formed by the routes from subscribers to the information publishers (called root). The careful combination of hop counts and path latency ensures that the resulting multicast trees are efficient. It not only reduces end-to-end delay for messages transmission, but also improves the utilization of limited network resource.
  • high scalability: Given that the number of the additional intermediate nodes involved into the multicast trees is getting fewer with the increasing number of subscribers. GeoCast is suitable to be applied to large situations. It enables the applications to grow to very large size while keeping the cost low.
  • high fault tolerance: Due to the availability of multiple independent routing paths, this CAN-like d-dimensional geographical overlay, is more resilient than Chord-like or Pastry-like overlay networks. It efficiently eliminates the impact of nodes failure or departure on data dissemination. The nodes exist in the system would cooperate together to recover such failure.
  • Features

    Multi-plattform support
    You can use Windows, MAC OS X, Linux or other platforms that offer Java 1.5 or later to run on them all. The only thing you need is to install JVM on your machine.