EZSearch

About
Download
Requirement
How to run
Contact

1. About

This is the first implementation of a hierarchical multidimensional search system based on Zigzag -- a P2P overlay architecture known for its scalability and robustness under network growth and dynamics. The indexing architecture of EZSearch is built on top of the Zigzag hierarchy, that allows both k-nearest-neighbor and range queries to be answered with low search overhead and worst-case search time logarithmic with the network size.

Detail about Zigzag techniques for building a P2P multimedia streaming system can be found here Detail about EZSearch implementation can be found here: 2. Download source codes.
3. Requirement 4. How to run

Syntax Usage:
     java EZClient [isServer] [listening port] [server ip] [display interface or not]
For example, to run a server whose IP is 123.345.789 and listens to port 12345 with a GUI, use
     java EZClient 1 12345 123.345.789:12345 visible
and to run a client that listens to port 6789, use
     java EZClient 0 6789 123.345.789:12345 visible

A server's interface


A client's interface


The Zone information is formatted as follows

NumberOfBoxes_Box[1]_Box[2]_..._Box[n]

where in each box is seperated by a '_'

A n-dimension box is represented by n intervals seperated by a ';'. A query is also represented as a box. An interval is represented by two end points seperated by a ','.

For example

Zone: 2_0.5,1.0;0.0,1.0;_0.0,0.5;0.0,1.0;

means this zone consists of 2 boxes. The first box is [0.5,1.0]x[0.0,1.0] and the second box is [0.0,0.5]x[0.0,1.0]

5. Contact