Comp 243: Distributed Systems

Distributed Search Protocol
Project Demonstration Page


Protocol Codes and Expressions

%
Symbol as first character of resource indicates that
server should interpret the resource string as a search
request/expression.

hostname1@hostname2@hostname3
Notation for replicated servers (clones)

%=keyword&hops
Iterative, distributed search for "keyword". Hops is number of iterations. (Hops == 0 returns local data and references only)
example: %=blue&2
result: will return local data, data from 2 rounds of iteration and unused (3rd iteration) references.

%+keyword@hostname:port&hops
%+keyword@hostname:port@hostname:port&hops
Iterative, distibuted addition to (key-hosts) reference tables.
example: %+moon@baldhead.cs.unc.edu:80&3
result: will associate baldhead with "moon" locally and submit local add (&0) directives through 3 iterations

%-keyword@hostname:port&hops
%-keyword@hostname:port@hostname:port&hops
Iterative, distibuted deletion from (key-hosts) reference tables.
example: %-hope@volta.cs.unc.edu:80&1
result: will remove association of volta with "hope" locally and submit local delete (&0) directives through 1 iteration

%?keyword
Request for locally stored references (host associations) to "keyword"
example: %?sea
result: will return hostnames associated with "sea" in local reference table

%$keyword
Request for locally stored "black box" data which contains "keyword"
example: %$blue
result: will return local data that contains "blue"

%*
Request for local (reference table) update file. Used during synchronization among replicated (clone) machines.
example: %*
result: will return update file only.


tests on neumann for Scott

http://neumann.cs.unc.edu:7000/%=blue&3
http://neumann.cs.unc.edu:7000/%+sea@neumann.cs.unc.edu:7000&0
http://neumann.cs.unc.edu:7000/%-moon@neumann.cs.unc.edu:7000&3
http://neumann.cs.unc.edu:7000/%?hope
http://neumann.cs.unc.edu:7000/%$sea
http://neumann.cs.unc.edu:7000/%*

tests on volta for Monica

http://volta.cs.unc.edu:7000/%=blue&3
http://volta.cs.unc.edu:7000/%+sea@volta.cs.unc.edu:7000&0
http://volta.cs.unc.edu:7000/%-moon@volta.cs.unc.edu:7000&3
http://volta.cs.unc.edu:7000/%?hope
http://volta.cs.unc.edu:7000/%$sea
http://volta.cs.unc.edu:7000/%*