Vous êtes sur la page 1sur 60

FERRET ENGINE

TABLE OF CONTENTS

1.0 SYNOPSIS

2.0 PROBLEM DESCRIPTION

EXISTING SYSTEM

PROPOSED SOLUTION

FEASIBILITY STUDY

3.0 SOFTWARE DESCRIPTION

4.0 MODULES

5.0 ARCHITECTURE DIAGRAM

5.1 DATAFLOW DIAGRAM


5.2 USER HEIRARCHY
5.3 CLASS DIAGRAM
6.0 TESTING AND IMPLEMENTATION
7.0 TABLE STRUCTURE
7.1 SCREEN SHOTS
8.0 CONCLUSION
SYNOPSIS

This project aims to search an intranet regardless of the domain they


are in, and find a file with each machine searching simultaneously to reduce
time and to utilize the resources in optimized way. Polling Server will monitor
your entire network infrastructure. The Server generates a request id,
maintains the mapping between requested to the connected systems and sets
property internally and it sets the name of the system and host address in the
domain name list. This Grid Control enables the display of (Drive Names) data
in rows.

When a User enters the file name to search, the Grid controller
divides the process into many processes and these processes will be scheduled
to corresponding systems. More number of machines and its drives can be
selected from the tool.The result of the search will be displayed in the user
interface. If the file name is not known, the extension of the file is provided to
search the file and all the available files of that kind are listed as a result of
this. An advanced search module where the users provide the kind of file and
search is accomplished according to the common extensions of that kind of
file.The search comprising of simple search and advanced search.

2. SYSTEM CONFIGURATION

Hardware Requirements
Processor : Intel Pentium IV – 2.6 GHZ

Installed Memory : 512 MB

Generic IDE Disk Capacity : 40 GB

Serial/ Parallel Port(s) : 2 com / 1 LPT

Key board Type : Standard 108 Keys

Mouse Type : Standard PS/2 port mouse

Default Port Configuration

Baud Rate : 9600 Baud

Data Bus : 8 bit

Stop Bits : 1

Parity : Disabled

Transmission : Binary

Software Requirements

Operating System : Windows XP

Front End : Java Swing

Back End : MySql

Network Connection : NE 2000 Compatible Network Card

3. PROBLEM DESCRIPTION
Intranet search engines usually search for a file or a folder
serially and this result in a huge time process, or the searching should be done
individual in each system, and even then it searches serially in the local drives.
The ferret engine is a speed search engine in which the files have been
searched parallely by using thread concept in asp.net.

Consider if a local area network comprises of 100 nodes, the


searching can be done flexible by the use of polling server and grid controller.
The polling server which polls the connected systems by sending request
parallely mapping to all the systems in that intranet and then hundred threads
are created for 100 nodes and searching can be done parallely in all the local
drives.

Each thread result is stored in the grid controller which is


invisible and the particular file when matches it is been displayed in the search
engine. The 100 systems are scanned simultaneously but the clients will not
been known that their particular system is been under scanning. Also after a
respective file has been found out the content of the file can be extracted,
modified and it can be saved for further use.

4. PROJECT DESCRIPTION
Ferret engine is basically an intranet search engine applied in
local area network to find a file by retrieving any system through its ip
address. Operations can be performed from our system, and it is
implemented in any organization.

The scope of search engine is to a find a file and to access the


respective file from any system by sitting in a server. Rapid speed of
retrieving a file is the main aim of ferret engine. The main advantage is to
minimize the time and to use the resources in an optimized way.

FEATURES:

• Ferret engine works with the searching of polling, the


distributed polling architecture makes it easy to manage the
network that spans multiple sites.
• This engine works with the grid controller which divides the
process into many processes and it contains the domain name
list in it
• Not only searching, if u want to take some information from that
file, or modify the file, updating new data or copy the file etc
can be done through the implementation of tunneling
operations.
• Saving which results in the time saving factor of the second user
who searches for the same file.
Modules & Sub modules:

 Establishing an authentication server.

 Establishing a Polling Server.

 Establishing a Grid Controller.

 Saving

• Saving Resulted File’s content


• Saving Search result
• Saving Search Criteria

 Establishing a Search Module

 Establishing a Congestion Control

 Tunneling features

• Skip Operations
• Stop Operations
• Pause Operations
• Restart Operations

MODULE & SUBMODULE DESCRIPTION:


Establishing an Authentication Server:

Authentication for specified user can login the ferret engine system
and store the options and stored to this system. Next time to login the system
then previous options are opened then user can access by the all the last time
process.
In the system can create the new user and password for
authentication. After that user can select some option and it’s stored for
authentication system, again user can login the search engine then it
automatically open all the user last selected option.
The ferret engine is formulated as a boon to the
administrators, authentication is provided for security purpose, since to
protect the files from the hackers, and to provide rights only to the admin to
do search processing in this ferret engine. A Username and Password is given
only to the admin to enter into the ferret engine.
Establishing a Polling Server:

Polling Server will monitor your entire network infrastructure. It


provides an interface for trend reports, device status and event logs. Polling
Server automatically discovers and polls connected systems, allow you to
collect network statistics and automatically generate Trend Reports. The
distributed polling architecture makes it easy to manage networks that span
multiple sites.

Description:

A dedicated polling engine allows devices to reside in multiple


groups and multiple maps without redundant polling each cycle. Additionally,
changes to network data can occur simultaneously to active network
monitoring. To avoid loading the network unnecessarily, the polling process
(the monitoring of the components) is centralized. It controls the totality of
monitoring functions set for the individual client sessions and makes the status
available to the clients.
The Server generates a request id, maintains the mapping
between requestId to the connected systems and Property internally and it sets
the name of the system and host address in the domain name list.
A
Searching Machines

Polling

B
E

C
D

Then, when the network becomes active, it checks for the connectivity
of the systems over the intranet. It sends the user datagram packets to the
connected systems. If the response is retrieved from the connected clients, it
establishes the communication over the entire network automatically. Also, It
monitors the existence of the connected systems over the intranet.

POWERFUL FEATURES OF POLLING SERVER

• Fast Sorting
• Data Acquisition
• Embedded Images
• Column Totaling
• Dynamic Interaction

This proves to be competent than the default network


searching utilities available in the operating system.

The advanced search module where the users provide the kind
of file and search is accomplished according to the common extensions
of that kind of file.
Establishing a Grid Controller:

Description
This Grid Control enables the display of (Drive Names) data in rows.
Powerful features include Fast Sorting, Data Acquisition, Embedded Images,
Column Totaling and much more. Enables Dynamic interaction with other
System components.

When a User enters the file name to search, the Grid controller divides
the process into many processes and these processes will be scheduled to
corresponding system

Searching file at B,C,E

Search ing

B
E

C
D

Saving Resulted File’s Content:

Why we are searching files, not only to see whether it exists or not.
We need some information from that file. We have to go the file content and
to see what it contains and we need to update that contact. At that situation
this tool will help you save the content of the file where you want to save this
in your local hard disk for further updating and you can save this file where you
wanted. In future you can use it or update.

Saving Search Result:


When you are searching some files search criteria is not enough the
result you should get by means whether you have got response for your
request! We may get some duplicate files with the same name with different
places. From there we have to find the correct one what we wanted. At that
our search result should stored for future reference.

It will help u to remember where the exact file located from the resulted
search.
Saving Search Criteria:

In real world when we are going to search some files what we


wanted that go off after our search. It will no longer exist. When we are going
search the same files in future at the time we have to go through the begin
state. Sometimes we get some usual information when we searching at the
time we gave some combination of keywords.

In future we may forget the combination of keywords when we need


the same information what we got on that day. At time it gives relax to you by
saving each search criteria.

Establishing a Search Module:

Searching of files in the network is possible only when the


Search engine utility is running in all the machines available in the network.
The file to be searched is taken as a string. The machine and its drive to be
searched are selected from the user interface. More number of machines and
its drives can be selected from the tool. This proves to be competent than the
default network searching utilities available in the operating system. The result
of the search will be displayed in the user interface. If the file name is not
known, the extension of the file is provided to search the file and all the
available files of that kind are listed as a result of this. An advanced search
module where the users provide the kind of file and search is accomplished
according to the common extensions of that kind of file.
Establishing a Congestion Control:

As the search proceeds along the network many systems


will be included in the search. This increases the traffic in the network. To
avoid much congestion and to provide a clear organization of results, this
utility provides separate windows for the systems taken for search and the
results from that system are displayed separately.
Tunneling Operations:

SEAGINE system is used to search the files and copy the files
from remote system. In the system required some IP Address and Drives to
search the system. IP Address and Drives list are collect by POLLING and its
display the SEARGINE. Now you want to skip the some drives and folders in file
search process. To enter the skip drives name and folders name, than it
transfer the particular remote system and to start the search process, then any
folder are find same as skip folder it will be avoided from the SEAGINE.

Now drives and folder name will be sending to SEAGINE to particular


remote system. And scan the all the drives and folders in particular remote
system, and skip drives and folders are compare to scanning process, if match
any drives and folder then its exit the particular search process. And continue
the other search process.

STOP, PAUSE, RESTART OPERATION:

SEAGINE system is used search the files in remote system. In the system
can simultaneously search all the remote system. You want to stop or pause or
restart the search process in specific remote system. All the remote system
details are come for SEAGINE and we are select to stop and pause, restart the
file search. If select for stop process then it stops the transaction of SEAGINE to
particular remote system. Select for pause then it wait for transaction of
SEAGINE to particular remote system. If after pause to enable the restart
option, if start the transaction of SEAGINE and remote system.
FORM DESCRIPTION

Login Page
Separate logins for the client and the admin to enter into the search
engine.

Client Details
In the client details IP address of all the systems connected to that
network are listed.

Admin Details
In Admin OS information, system info, and the CPU stage and the
task manager will be presented.

Task Manager
If we enter into the particular system task manager, it shows all
the programs running on that particular system.

Search
Search process is done by specifying the particular file to be
searched, and the file name is taken as a string and searching is performed.

Process Access
Not only searching, if we want to take some information from that
file, or updation or u a data to be copied etc of any process can be accessed
Advantage of ferret engine
The application is mainly for time reduction, instead of searching
individually each system, sitting in a single system getting the entire LAN and
process can be easily accomplished.

PROCESS OF SEARCHING USING FERRET ENGINE:

Serial search can be converted into the parallel search using a


concept of polling server and the grid controller.

A
Searching machines

B
Our system Polling

C
D

Sending request to all system in the intranet from our system to get IP

address of each system.


SAVING RESULTED FILE CONTENT:

Searched File
Searched File Stored in Local Host

File Content

Data Base

SAVING SEARCH RESULT

Searched File

File Path

File Path

File Path
Data Base
4. SYSTEM ANALYSIS

4.1. Abstract:

This project aims to search an intranet regardless of the domain


they are in, and find a file with each machine searching simultaneously to
reduce time and to utilize the resources in optimized way. Polling Server will
monitor your entire network infrastructure. The Server generates a request id,
maintains the mapping between requested to the connected systems and sets
property internally and it sets the name of the system and host address in the
domain name list. This Grid Control enables the display of (Drive Names) data
in rows.

When a User enters the file name to search, the Grid controller
divides the process into many processes and these processes will be scheduled
to corresponding systems. More number of machines and its drives can be
selected from the tool. The result of the search will be displayed in the user
interface. If the file name is not known, the extension of the file is provided to
search the file and all the available files of that kind are listed as a result of
this. An advanced search module where the users provide the kind of file and
search is accomplished according to the common extensions of that kind of file.
The search comprising of simple search and advanced search.

4.2. Existing System:


.
In the existing system either terminal with single processor or it
may be a dual processor searching can be done only sequential regardless in
the local area network. So in a LAN comprising of 20 nodes, since the
searching is only possible sequentially finding a file becomes complicated.
Major Disadvantages:

 Huge time to find a file if a LAN comprises 100 nodes.

 In the existing system only serial search is possible, parallel search is not
possible.

 It is only possible in super computers but they are not used in common.

 Default searching utility does not contain the option of searching in the
particular set of nodes and excluding other systems.

Resources are not used in efficient way due to wastage of time in serial searching

4.3. Proposed System:

Ferret engine overcomes all the above mentioned drawbacks


with the help of polling server and grid controller. Ferret is meant for speed
and it can be functioning under huge systems in a local area network. The
default searching utilities available in the existing network disadvantages were
resolved by the proposed system.

Advantages:

 Using Ferret engine we are able to get a system through its IP address
and any folder can be searched easily.

 Introducing a parallel search among huge nodes to find a file


immediately, and searching as a whole C drives in a LAN and similarly D,
E, etc.

 Time saving factor plays a vital part of ferret engine.

 It is a boon to the administrator to find a file instead searching can be


done through keywords, or extension of the file etc

 Resources are utilized in essential way in this advanced search module.

 Developing an optimized way of search in multiple sites.


4.4. Software Description:

The Java Programming Language:

The Java programming language is a high-level language that can be


characterized by all of the following buzzwords:
 Architecture
 Simple
neutral
 Object
 Portable
oriented
 Distributed  High performance
 Multithreaded  Robust
 Dynamic  Secure

In the Java programming language, all source code is first written


in plain text files ending with the .java extension. Those source files are then
compiled into .class files by the javac compiler. A .class file does not contain
code that is native to your processor; it instead contains byte codes — the
machine language of the Java Virtual Machine1 (Java VM). The java launcher
tool then runs your application with an instance of the Java Virtual Machine.

An overview of the software development process.

Because the Java VM is available on many different operating systems, the


TM
same .class files are capable of running on Microsoft Windows, the Solaris
Operating System (Solaris OS), Linux, or Mac OS. Some virtual machines, such
as the Java Hotspot virtual machine, perform additional steps at runtime to
give your application a performance boost. These include various tasks such as
finding performance bottlenecks and recompiling (to native code) frequently
used sections of code.

Through the Java VM, the same application is capable of running on multiple
platforms.

The Java Platform

A platform is the hardware or software environment in which a


program runs. Most platforms can be described as a combination of the
operating system and underlying hardware. The Java platform differs from
most other platforms in that it's a software-only platform that runs on top of
other hardware-based platforms.
The Java platform has two components:

• The Java Virtual Machine


• The Java Application Programming Interface (API)
The API is a large collection of ready-made software components that provide
many useful capabilities. It is grouped into libraries of related classes and
interfaces; these libraries are known as packages.

Networking:
Computers running on the Internet communicate to each other using either the
Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP), as
this diagram illustrates:

When you write Java programs that communicate over the network, you are
programming at the application layer. Typically, you don't need to concern
yourself with the TCP and UDP layers. Instead, you can use the classes in the
java.net package. These classes provide system-independent network
communication. However, to decide which Java classes your programs should
use, you do need to understand how TCP and UDP differ.
Understanding Ports
Generally speaking, a computer has a single physical
connection to the network. All data destined for a particular computer arrives
through that connection. However, the data may be intended for different
applications running on the computer. So how does the computer know to
which application to forward the data? Through the use of ports.
Data transmitted over the Internet is accompanied by addressing
information that identifies the computer and the port for which it is destined.
The computer is identified by its 32-bit IP address, which IP uses to deliver
data to the right computer on the network. Ports are identified by a 16-bit
number, which TCP and UDP use to deliver the data to the right application.
In connection-based communication such as TCP, a server
application binds a socket to a specific port number. This has the effect of
registering the server with the system to receive all data destined for that
port. A client can then rendezvous with the server at the server's port, as
illustrated here:

Definition: The TCP and UDP protocols use ports to map incoming data to a
particular process running on a computer.

In datagram-based communication such as UDP, the datagram packet


contains the port number of its destination and UDP routes the packet to the
appropriate application, as illustrated in this figure:

Port numbers range from 0 to 65,535 because ports are represented by 16-bit
numbers. The port numbers ranging from 0 - 1023 are restricted; they are
reserved for use by well-known services such as HTTP and FTP and other
system services. These ports are called well-known ports. Your applications
should not attempt to bind to them.
Networking Classes in the JDK:
Through the classes in java.net, Java programs can use TCP or UDP to
communicate over the Internet. The URL, URLConnection, Socket, and
ServerSocket classes all use TCP to communicate over the network. The
DatagramPacket, DatagramSocket, and MulticastSocket classes are for use with
UDP.
URL

If you've been surfing the Web, you have undoubtedly heard the term URL and
have used URLs to access HTML pages from the Web.
It's often easiest, although not entirely accurate, to think of a URL as the name
of a file on the World Wide Web because most URLs refer to a file on some
machine on the network. However, remember that URLs also can point to other
resources on the network, such as database queries and command output.

The following is an example of a URL which addresses the Java Web site hosted
by Sun Microsystems:

As in the previous diagram, a URL has two main components:

• Protocol identifier
• Resource name

Note that the protocol identifier and the resource name are
separated by a colon and two forward slashes. The protocol identifier indicates
the name of the protocol to be used to fetch the resource. The example uses
the Hypertext Transfer Protocol (HTTP), which is typically used to serve up
hypertext documents. HTTP is just one of many different protocols used to
access different types of resources on the net. Other protocols include File
Transfer Protocol (FTP), Gopher, File, and News.
The resource name is the complete address to the resource. The
format of the resource name depends entirely on the protocol used, but for
many protocols, including HTTP, the resource name contains one or more of
the components listed in the following table:

Host Name The name of the machine on which the resource lives.

Filename The pathname to the file on the machine.

Port
The port number to which to connect (typically optional).
Number

A reference to a named anchor within a resource that usually


Reference
identifies a specific location within a file (typically optional).

For many protocols, the host name and the filename are required, while the
port number and reference are optional. For example, the resource name for
an HTTP URL must specify a server on the network (Host Name) and the path to
the document on that machine (Filename); it also can specify a port number
and a reference. In the URL for the Java Web site java.sun.com is the host
name and an empty path or the trailing slash is shorthand for the file named
/index.html.
Parsing a URL
The URL class provides several methods that let you query URL objects. You
can get the protocol, authority, host name, port number, path, query,
filename, and reference from a URL using these accessor methods:

getProtocol - Returns the protocol identifier component of the URL.


getAuthority- Returns the authority component of the URL.
getHost- Returns the host name component of the URL.
getPort - Returns the port number component of the URL. The getPort method
returns an integer that is the port number. If the port is not set, getPort
returns -1.
getPath - Returns the path component of this URL.
getQuery - Returns the query component of this URL.
getFile - Returns the filename component of the URL. The getFile method
returns the same as getPath, plus the concatenation of the value of getQuery,
if any.
getRef- Returns the reference component of the URL.

Remember that not all URL addresses contain these components. The
URL class provides these methods because HTTP URLs do contain these
components and are perhaps the most commonly used URLs. The URL class is
somewhat HTTP-centric.

You can use these getXXX methods to get information about the URL
regardless of the constructor that you used to create the URL object.
The URL class, along with these accessor methods, frees you from
ever having to parse URLs again! Given any string specification of a URL, just
create a new URL object and call any of the accessor methods for the
information you need.

Socket
A socket is one endpoint of a two-way communication link
between two programs running on the network. A socket is bound to a port
number so that the TCP layer can identify the application that data is destined
to be sent.
Normally, a server runs on a specific computer and has a socket
that is bound to a specific port number. The server just waits, listening to the
socket for a client to make a connection request.
On the client-side: The client knows the hostname of the machine on which the
server is running and the port number on which the server is listening. To make
a connection request, the client tries to rendezvous with the server on the
server's machine and port. The client also needs to identify itself to the server
so it binds to a local port number that it will use during this connection. This is
usually assigned by the system.

If everything goes well, the server accepts the connection. Upon


acceptance, the server gets a new socket bound to the same local port and also
has its remote endpoint set to the address and port of the client. It needs a
new socket so that it can continue to listen to the original socket for
connection requests while tending to the needs of the connected client.

On the client side, if the connection is accepted, a socket is


successfully created and the client can use the socket to communicate with the
server. The client and server can now communicate by writing to or reading
from their sockets.
An endpoint is a combination of an IP address and a port number. Every TCP
connection can be uniquely identified by its two endpoints. That way you can
have multiple connections between your host and the server.

The java.net package in the Java platform provides a class, Socket, that
implements one side of a two-way connection between your Java program and
another program on the network. The Socket class sits on top of a platform-
dependent implementation, hiding the details of any particular system from
your Java program. By using the java.net.Socket class instead of relying on
native code, your Java programs can communicate over the network in a
platform-independent fashion.

Additionally, java.net includes the ServerSocket class, which implements a


socket that servers can use to listen for and accept connections to clients. This
lesson shows you how to use the Socket and ServerSocket classes.

If you are trying to connect to the Web, the URL class and related classes
(URLConnection, URLEncoder) are probably more appropriate than the socket
classes. In fact, URLs are a relatively high-level connection to the Web and use
sockets as part of the underlying implementation. See Working with URLs for
information about connecting to the Web via URLs.

Datagram
A datagram is an independent, self-contained message sent over the
network whose arrival, arrival time, and content are not guaranteed. Clients
and servers that communicate via a reliable channel, such as a TCP socket,
have a dedicated point-to-point channel between themselves, or at least the
illusion of one. To communicate, they establish a connection, transmit the
data, and then close the connection. All data sent over the channel is received
in the same order in which it was sent. This is guaranteed by the channel.
In contrast, applications that communicate via datagrams send and receive
completely independent packets of information. These clients and servers do
not have and do not need a dedicated point-to-point channel. The delivery of
datagrams to their destinations is not guaranteed. Nor is the order of their
arrival.

The java.net package contains three classes to help you write Java programs
that use datagrams to send and receive packets over the network:
DatagramSocket, DatagramPacket, and MulticastSocket An application can send
and receive DatagramPackets through a DatagramSocket. In addition,
DatagramPackets can be broadcast to multiple recipients all listening to a
MulticastSocket.
5. TESTING AND IMPLEMENTATION

Testing is the major quality measure employed during software


development. After the coding phase computer programs are available that can
be executed for testing purposes. Testing not only has to uncover errors
introduced during coding, but also locates errors committed during the previous
phases. Thus the aim of testing is to uncover requirements, design or coding
errors in the program.

System testing is an expensive but critical process that can take as much
as fifty percent of the budget for program development. Consequently,
different levels of testing are employed. In fact, a successful test is one that
finds an error. The system performance criteria deals with turn around time
backup, file protection and human factor. A test for the user acceptance should
also be carried out.

Testing Strategy:

This is the phase where the bug in the programs was to be found and
corrected. One of the goals during the dynamic testing is to produce a test
suite, where the salary calculated with the desired outputs such as reports in
this case. This is applied to ensure that the modifications of the program do not
have any side effects. This type of testing is called Regression testing. Testing
generally removes all the residual bugs and improves the reliability of the
program. The basic types of testing are:

Unit Testing
Integration Testing
Validation Testing
Output Testing
User Acceptance Testing

Unit Testing

This is the first level of testing. In this different modules are tested against the
specifications produced during the coding of the simple program module in an
isolated environment. Unit testing first focuses on the modules independently
of one another to locate errors.
After coding each dialogue is tested and run individually. All unnecessary
coding were removed and it was ensured that all the modules worked, as the
programmer would expect. Logical errors found were corrected. So, by working
all the modules independently and verifying the outputs of each module in the
presence of staff was conducted that the program was functioning as expected.

Integration Testing

Data can be lost access an interface, one module can have as


adverse effort on another sub functions when functions when combined, may
not produce the desired major functions. Integration testing is a systematic
testing for constructing tests to uncover errors associated within the interface.
The objectives are to take unit tested as a whole. Here correction is difficult
because the vast expenses of the entire program complicate the isolation of
causes. Thus in the integration testing step, all the errors uncovered are
corrected for the next testing steps.

Validation Testing

This provides the final assurance that the software meets all functional,
behavioral and performance requirements. The software is completely
assembled as a package. Validation succeeds when the software functions in a
manner in which the user expects. Validation refers to the process of using
software in a live environment in order to find errors. During the course of
validating the system, failures may occur and sometimes the coding has to be
changed according to the requirement. Thus the feedback from the validation
phase generally produces changes in the software.

Once the application was made free of all logical and


interface errors, inputs of dummy data ensured that the software developed
satisfied all the requirements of the user.

Output Testing

After performing the validation testing, the next step is output testing of the
proposed system since no system could be useful if it does not produces the
required output generated or considered into two ways; one is on screen and
another is printed format.

The output format on the screen is found to be correct as the format


was designed in the system design phase according to the user needs. For the
hard copy also the output comes out as the specified requirements by the user.
Hence output testing does not result in any correction in the system.

User Acceptance Testing


User acceptance of a system is the key factor for the success of
any system. The system under consideration is tested for user acceptance by
constantly keeping in touch with the prospective system users at the time of
developing and making changes wherever required.

Preparation of test data plays a vital role in the system testing.


After preparing the test data the system under study is tested using the test
data. While testing the system by using test data errors are again uncovered
and corrected and the corrections are also noted for future use.

Test Data
After preparing the test data the system under study was tested
using test data. While testing the system by using test data, errors were again
uncovered and corrected by using the above testing steps. Preparing of test
data plays a vital role in the system testing. Taking various types of test data
does all the above testing.

Test Execution
Test data was prepared which were the acknowledgement details
and information regarding the various departments in this case. An already
existing file was taken from the database and the data was fed to the new
system. Various testing as mentioned above were carried out. Initially there
was bug and drawbacks for the users to complete the same process. Those bugs
and drawbacks were noted down and modified later. Again the same process
was repeated three to four times.

All the outputs generated were compared with the existing file
documents and found to be acceptable. After the final testing and modification
the newly developed package is running properly and efficiently.

Training and Implementation:

Implementation is the final step of a system design. It means


converting a new design into operation. This involves installing hardware
terminals and training the operation staff in this phase, user training is
critical for minimizing resistance to change and giving the new system a chance
to prove its worth. Major steps involved in the implementation of the system
are,
 Installation of the hardware, if required.
 Installation of the newly developed software into the hardware at the
work-site.
 Training to be given for the users.
 All the user/operators should be briefed on how to use the system.
 Operating manual should be prepared and distributed.

FUTURE ENHANCEMENT

 The Intranet search engine application which provides boon only to the
administrators since it can be authenticated only to the administrator, so in future
it can be made possible to all the clients to enter into the search engine.

 At present the application can be loaded only to the server since for protection,
but in future it can be provided by adding security features and can be loaded
even in the client system.

 In the ferret engine the parallel searching can be made by retrieving the IP address
of the nodes connected to the system, but in large industries the IP address have
been created temporarily instant of that session, so the application may not result
in effective way, so that in future it can be modified by any specified name or etc
to get the entire LAN.

 In this development the searching can be done such as keyword searching etc
Since in future we can add complex searching such as index searching, text
searching, etc
APPENDIX

8.1. ARCHITECTURAL DIAGRAM:

Local Local
DB
DB

Machine E
Machine D

Server Pgm

DB

Machine C
Machine B

Local
Local
DB
DB
Architectural Diagram Explanation:

• In the architectural diagram the polling server which plays a vital part,
in which all the systems are surrounded around it in the system.

• The polling server sends a request id mapping in all the systems


connected to that particular LAN. The polling server which polls the
systems for searching.

• Parallel response is received to the polling server in the form of their IP


address.

• The entire network statistics has been monitored by the polling server
and it generates the trend report.

• Once the parallel response is received, the searching can be done in the
search engine.

• Searching C drive as a whole LAN, and similarly the whole D drive etc.

• Thus the file or folder can be founded, and the result has been displayed
in the search engine.
8.2. USER HIERACHY:

FERRET
ENGINE
.

Authentication Polling Grid Search Congestion Tunneling


server server
Saving control features
controller module

Searching
Process

Search Skip Pause Stop Restart


Result

Save Save
Save Result
Content Criteria
User Hierarchy Explanation:

In the User hierarchy, the hierarchical classification is shown in the diagram.

Ferret engine which contains 7 modules such as,

1. Authentication Server.
2. Polling Server.
3. Grid Controller.
4. Saving
5. Search Result.
6. Congestion Control.
7. Tunneling Features.

The Saving Module which leads to

1. Searching Process.
2. Save Content.
3. Save Result.
4. Save Criteria.

The Tunneling Operations which contains operations such as

1. Skip Operations.
2. Pause Operations.
3. Stop Operations.
4. Restart Operations.
8.3. USECASE DIAGRAM:

Enter file to
be searched

Identify
content

Retrieve
content

Extent data

Store the path


in local db
dbdbdatabase

Store the file


in local db
Use case diagram explanation:

The steps of the use case diagram are as follows:

1. Enter the file name to be searched.

2. Finding the file, by identifying the place where it has been located.

3. After finding the file, retrieve the particular content.

4. And the modified data can be extracted for our usage.

5. Store the path of the file in the local database.

6. Store the file searched out in the local database, which is useful to the
further users.

7. Displaying the content in the search machine for reference.

It is been performed by the administrator.


Search manager 8.4. CLASS DIAGRAM:

query:string
out:output stream
search engines:vector
threadgroup:ThreadGroup

initialize()
doGet()

Search Engine

query:String
serverURL:String
results :Vector
run()
gethost()
outputResults()
getquery()
setquery()
setResultCount()
removeResultItem()
getResults()
SearchEngine()
getServerURL()
java runnable setServerURL()
getResultItem()
Server URL:string getContent().
Results:vector

Run()
Set()
Class Diagram Explanation

The Search Engine which gets the input as query, and it acts as a server
and result has been obtained.

The Search Manager which manages the search engine and the output
stream has been found out by using a thread group.

.NET the thread concept which is used to find a file, and acts between the
Search Manager and the Search Engine.

In the Search Engine

• Execution

• Get host address.

• Set the result of each thread and it is been counted.

• Get the Result Item and it is been displayed.


8.5. ACTIVITY DIAGRAM:

Search for a file Validate Criteria

Validate Search Invalid Search

Display error msg


Search parallely

Identify Matches
8.6. Table Structure:

Login:

Field Name Data Type Size


User Name Varchar 25
Password Varchar 10

Client Table :

Field Name Data Type Size


IP Address Varchar 25
File Name Varchar 40
Path Varchar 20
Size Varchar 5
Type Varchar 15
Date Modified DateTime 10
Search Date DateTime 10
Time DateTime 10
Varchar 25
Status

Server Table:
Field Name DataType Size

IP address Varchar 25

System Name Varchar 40

Database Design Explanation:

1. Login Form

 User Name
 Password

2. Client Table

 IP Address
 System Name
 File Name
 File Type
 Size
 Date Created
 Date Modified
 Status
 Time

3. Server Table

 IP Address
 System Name
8.7. SCREEN LAYOUT:
CONCLUSION

Thus we have implemented a remarkable idea where we have


created an effective way of search through intranet. It is more effective and
fastest search because of the parellel way of search. This search engine can
search system,folder as well as keyword search. As per conclusion, its very
efficient and eye-catching way of search engine.
9. BIBILIOGRAPHY

References Authors

 HEAD FIRST SERVLETS AND JSP Kathy Sierra & Bert Bates
 IPV6 NETWORK ADMINSTRATION Murphy
 COMPUTER NETWORKS Andrew S.Tanenbaum
 SOFTWARE ENGINEERING Rogen S. Pressman

Visited Websites:

www.roseindia.net
www.javaworld.com
www.sun.com

Vous aimerez peut-être aussi