Wednesday, November 22, 2006

memorandum for maze

First, I set up and start services-"HeartBeatSvr", "UserSvr","DServer".
Second,
I added a new user called "maze".
Then I made directories "resource" and "MazeSearch".
Then I made ten sub directories a0-a9 under directory "resource".
I made directories basepath0-basepath9, conf0-conf9, cache0-cache9, and bin under directory "MazeSearch".
After that, the structure of directory looks like this:

/home/maze/resource/a0/
....
/home/maze/resource/a9/
/home/maze/MazeSearch/bashpath0/
...
/home/maze/MazeSearch/bashpath9/
/home/maze/MazeSearch/conf0
...
/home/maze/MazeSearch/conf9
/home/maze/MazeSearch/cache0
...
/home/maze/MazeSearch/cache9
/home/maze/MazeSearch/bin

Now, let me introduct the usage of these directories.
/home/maze/MazeSearch/bin: this directory contains binary executable file:IndexSvr and Indexer.

/home/maze/resource/a0-a9: these ten directories contain information about sharing files of each user The hash function between users and corresponding directories : userid mod 10.
(Note: The path is hard coded in program and can not be configured)

/home/maze/MazeSearch/conf0-conf9: these ten directories contain configure files need by IndexSvr program.
/home/maze/MazeSearch/basepath0-bashpath9: these ten directories contain index files.

Work Procedure:
How to build index for sharing files of users?
command line: Indexer -d confile_file
Program: Indexer
Argument: the path of configure file for IndexSvr

Content of Configure file is like:
DataTimeOutDay=30
respath=/home/maze/resource/a3/
basepath=../basepath3/
cachepath=../cache3/
logpath=../log/
confpath=../conf3/
binpath=../bin/
restrictlist=/home/maze/MazeSearch/md5.list
MinSiteSize=1
ftpserverport=23006
testsiteserver=162.105.80.121
testsiteport=30607

Three important configure options:
respath: indicates the directory for which index will be built. In other words, the input directory for IndexSvr program.
basepath: indicates the directory where generated index file is saved. In other words, the output directory for IndexSvr program.
confpath:indicates where configure file is saved.

How to start up IndexSvr?
command line: IndexSvr path_for_indexfile service_port
Arguments:
path_for_indexfile: indicates where the index files are stored
service_port: indicates which port this IndexSvr listens.
(note: configuration for CGI program ftpsearch(described below) should match with this configuration)

The search function in maze is implemented by CGI. In other words, a httpd server is needed and search requests are delivered to this httpd server. Then corresponding CGI program called ftpsearch is invoked to do the search. CGI program "ftpsearch" makes use of service provided by IndexSvr. So configuration for httpd server is necessary to make ftpsearch can work correctly and seamlessly with IndexSvr.


There are ten directories for storing index files. So, we should run IndexSvr ten times each of which provides search service for specified index files.
When a search request from user is delivered to ftpsearch, ftpsearch sends ten requests to these ten IndexSvr processes separately. Then ftpsearch waits for the response.

Client configuration:
After maze-5.6 is installed on windows, There is a configure file called config.xml in the directory where you installed maze. This file should be modified to update information about maze servers. Ip addresses and service ports of maze services must be configured correctly. And search CGI must also be configured to use the search engine.

3 comments:

Geoffrey Fox said...

Great that Maze works. You ask if search service should be installed. If this finds files on computers that is important. Lets make a list of features and status. Is there an English description of it?

Gerald Guo said...

Search engine enables users to search files in Maze system. Maze Index server builds index for all sharing files of maze users. If a certain user is interested in some files and he/she does not know which peers own these files, he/she can find these files by searching and then download them.
No, I don't think there is an English description of it.

Gerald Guo said...

OK.
I have struggled to make search engine work well with maze. In other words, all components included in Maze Source Code Package which Maze group sent to us have been installed and set up successfully so far. What should we do next?