You are on page 1of 68

Internet Controller 1

INTERNET CONTROLLER

1. 1 Introduction
Internet Controller is an internet control software. Its main purpose is to
control the use of Internet by net users. It can also be viewed as parental control
software to block access to objectional web sites which can be accessed by minors.
Internet access control is necessary to prevent Internet misuse. However,
company managers can not use Internet filter software to stop any web abusive
behavior because there are always some URL those software products can not block.
Moreover, as an effective web tracker, it should not control Internet access too strictly
because employees need to use Internet resources for business at workplace. On the
other hand, web tracking and employee surveillance would cause some legal issues in
the some countries. So workplace monitoring software or spyware would cause
dispute on privacy instruction. So Internet access management is a sensitive issue at
work. A manager had better not use some spy software, which log anything including
employee’s private data. Spying employee everything is not a good thing at
workplace. But, certainly, abusing Internet at work is becoming more serious than
before. Web access control is important in terms of employee supervision.
Many Companies are now making this investment and not so much because of
security concerns but because of increased business use of the Internet (roughly 30%
of all U.S. workers are now online). As more and more businesses provide high-speed
and dial-up Internet access to their employees, they seek to avoid employees
accessing pornography or games or doing excessive personal business through the
Web or E-mail.
A 2001 study found that 14 million employees in the United States i.e. more
than one-third of 40 million employees online have their Internet or e-mail use at
work under continuous surveillance. Worldwide, the number of employees under
surveillance is estimated at 27 million, according to the Privacy Foundation study.
Though still largely the domain of corporations, an increasing number of small
businesses are monitoring employee Web and e-mail use. In-Stat/MDR found that as
far back as 2000, 19% of the small businesses it surveyed were monitoring employee
Web use, with 10% of the respondents also taking action to "block" certain sites
considered inappropriate.
Internet Controller 2

The 2nd main reason for use of Internet Controller other than Companies
monitoring their Employees is parental control.
Protecting minors from inappropriate material on the Internet is a parental task
that still has no perfect solutions, however parental control software programs provide
significant assistance to parents who want to keep their children safe. It gives you the
ability to prevent your kids from harmful web sites, chat rooms, and programs, whilst
still allowing your kids to enjoy the educational and entertaining resources that are
available on the web, and accessible though the computer.

1.2 HISTORY
The Internet controller (IC) is a packet data capability that is being added to
the production deliveries of the System Improvement Program (SIP) radio assemblies.
Protecting minors from inappropriate material on the Internet is a parental task
that still has no perfect solutions, however parental control software programs provide
significant assistance to parents who want to keep their children safe. It gives you the
ability to prevent your kids from harmful web sites, chat rooms, and programs, whilst
still allowing your kids to enjoy the educational and entertaining resources that are
available on the web, and accessible though the computer.
From the prototypes developed in 1993, the INC has evolved to a highly functional
router/gateway for the tactical Internet, becoming the heart of the digitized battlefield.
Using the Combat Net Radio to support data communications in a mixed voice and
data environment was made possible by advances in the radio to improve data
reliability and channel access control. Extending the basic data capabilities through
distributed switching functionality creates a richly connected packet data network for
the entire tactical battlefield

1.3 Technology introduction


Our project deals with building an Internet Monitoring Software. This software
can be used by companies to monitor their employees and by parents to restrict the
internet usage of their children.
The main purpose of the software is to control the internet usage of the
users. This software will incorporate the functions of monitoring, filtering and
Internet Controller 3

blocking the internet usage. Using this software the user will also be able to set the
time limit and data transfer limit for use of internet.
The various work products that will be delivered will be as follows:

1. Source Code :- java


3. web Server: tomcat 5.0
2. Databases:- SQL Server 2000

Java
Java is an object-oriented programming language with a built-in application
programming interface (API) that can handle graphics and user interfaces and that can
be used to create applications or applets. Because of its rich set of API's, similar to
Macintosh and Windows, and its platform independence, Java can also be thought of
as a platform in itself. Java also has standard libraries for doing mathematics.

Much of the syntax of Java is the same as C and C++. One major difference is
that Java does not have pointers. However, the biggest difference is that you must
write object oriented code in Java. Procedural pieces of code can only be embedded in
objects. In the following we assume that the reader has some familiarity with a
programming language. In particular, some familiarity with the syntax of C/C++ is
useful.

In Java we distinguish between applications, which are programs that perform


the same functions as those written in other programming languages, and applets,
which are programs that can be embedded in a Web page and accessed over the
Internet. Our initial focus will be on writing applications. When a program is
compiled, a byte code is produced that can be read and executed by any platform that
can run Java.

Tomcat 5.0
TOMCAT is a general-purpose Monte Carlo simulator of particle transport in
1-D and arbitrary 2-D and 3-D structures (TOpography based Monte CArlo
Transport). The main application of TOMCAT is in the simulation of Ion
Implantation, using the physically-based models of UT-MARLOWE 5.0 (See ranges
Internet Controller 4

of validity – section 2). In this capacity, TOMCAT is capable of simulating implants


into arbitrary surface topography and window size. The standard approach to 2-D/3-D
simulation of ion implantation has been to make use of 1-D profiles, obtained either
by simulation or experiment. These are then given a lateral Gaussian tail, or some
similar approximation is made. Other simulators (e.g. FLOOPS) use point response
profiles (simulations of implants into very small windows) as Green's functions to the
large-window implant problem, superposing the point responses over the entire
topography. Both approaches are approximate, neglecting the detailed effects of
transport through varying topography and materials, as well as damage build-up in the
crystalline regions. Using an older Monte Carlo simulator such as UT-MARLOWE
for implants into large structures has not been practical, due to the very long
computation times involved. Using numerous algorithms to enhance the
computational efficiency of ion implant simulation, TOMCAT is able to perform
simulations into large structures in a reasonable amount of time, eliminating or
reducing the need for approximate 2-D/3-D analytic models.

SQL Server 2000


Microsoft SQL Server 2000 is a full-featured relational database management
system (RDBMS) that offers a variety of administrative tools to ease the burdens of
database development, maintenance and administration. In this article, we'll cover six
of the more frequently used tools: Enterprise Manager, Query Analyzer, SQL Profiler,
Service Manager, Data Transformation Services and Books Online. Let's take a brief
look at each.
Query Analyzer offers a quick and dirty method for performing queries against any
of your SQL Server databases. It's a great way to quickly pull information out of a
database in response to a user request, test queries before implementing them in other
applications, create/modify stored procedures and execute administrative tasks.

SQL Profiler provides a window into the inner workings of your database. You can
monitor many different event types and observe database performance in real time.
SQL Profiler allows you to capture and replay system "traces" that log various
activities. It's a great tool for optimizing databases with performance
Internet Controller 5

Service Manager is used to control the MSSQLServer (the main SQL Server
process), MSDTC (Microsoft Distributed Transaction Coordinator) and SQLServer
Agent processes. An icon for this service normally resides in the system tray of
machines running SQL Server. You can use Service Manager to start, stop or pause
any one of these services.

Data Transformation Services (DTS) provide an extremely flexible method for


importing and exporting data between a Microsoft SQL Server installation and a large
variety of other formats. The most commonly used DTS application is the "Import and
Export Data" wizard found in the SQL Server program group.

2.1 Project overview


The main purpose of the software is to control the internet usage of the
users. This software will incorporate the functions of monitoring, filtering and
blocking the internet usage. Using this software the user will also be able to set the
time limit and data transfer limit for use of internet.
Our project deals with building an Internet Monitoring Software. This software
can be used by companies to monitor their employees and by parents to restrict the
internet usage of their children.

2.2 Project Organization


Software Process Model
The Software Process Model is the model that represents the entire
flow of the information and work products in the system. We have chosen the
Waterfall Model or the classic life cycle model which gives in detail description of
each and every phase of the project development life cycle.

Waterfall Model

Analy
sis Design Coding Testing
Internet Controller 6

Major Milestones to be achieved


1. Performing requirement gathering.
2. Performing analysis of the data collected and representing it.
3. Completing the design phase successfully.
4. Successfully completing the Coding of the project.
5. Performing testing to check the functionalities of the system.

Versions to be established

• The initial version will be called the “1.0.0 BETA” version which will be used
for testing purposes.
• The next actual retail version will be 1.0.0.

Tools and Techniques


Here we are specifying the development methodologies, notation, programming
languages, techniques and tools that we plan to use for project development.
We are going to use Java (J2EE) language for coding purposes. For creating
and maintaining the database we are going to use SQL Server 2000 We are using
object oriented approach towards the development of our software. So in the analysis
as well as design phase we have used Rational Rose for representation of our system.
We have used the UML diagrams to represent our system from various angles.

2.3 Project Management Plan

Tasks Distribution
Project Members

1. SHARIQUE ANWAR

Sr.no Task Name Duration Resource


(days) (member no.)
1 Decide the project. 7 Project member 1

2 Consultation with the 2 Project member 1,


Internet Controller 7

project guide

3 Finalizing the project. 2 Project member 1

4 Searching and surfing the 8 Project member 1


internet for project
information.
5 Searching information in 7 Project member 1
Computer books
6 Getting the SRS format from 1 Project member 1
pressman site.
7 Preparing SRS 8 Project member 1

8 Estimation the effort needed 3 Project member 1


and risks.
9 Preparing the SPMP 8 Project member 1

10 Consultation and getting 3 Project member 1


verification from the guide.
11 Moving towards design 3 Project member 1
phase
12 Building architectural design 5 Project member 1

14 Building component design 5 Project member 1

15 Building user interface 5 Project member 1


design
16 Preparing SDD and getting 5 Project member 1
approval from the guide.
17 2 Project member 1
Moving towards coding
phase.

18 Identify modules 5 Project member 1

19 Study about required 20 Project member 1


platform
20 Develop code 50 Project member 1

21 Develop testing procedures 8 Project member 1

22 Develop unit test plans using 7 Project member 1


product specification
Internet Controller 8

23 Develop integration test 4 Project member 1


plans using product
specification

24 Review modular code 7 Project member 1

25 Test component modules to 3 Project member 1


product specification
26 Modify code 3 Project member 1

27 Re-test modified code 2 Project member 1

28 Test module integration 5 Project member 1

29 Modify code 5 Project member 1

30 Re-test modified code 2 Project member 1

31 Develop Executable files 3 1

31 Develop user manuals 3 Project member 1

32 Review user documentation 2 Project member 1

33 Develop implementation 1 Project member 1


methodology
34 Secure implementation 1 Project member 1,
resources
Internet Controller 9

2.4 Class Diagram

Employee
name : char monitors
emp_id : int
designation : char
salary : float Internet Facility
tel_no : double int Security Dept
uses browser no
browser version user id : char
useinternet() user password : char
designation : char

monitor()
Parent report()
user id : char
controls
password : char
uses
monitor() uses
uses
Controller
version_no : float

filter_sites()
Internet Usage record
block_sites()
usage time : float set_timelimits()
user_id : char generates report monitor_sites()
amt of data transfer : float set_datatransferlimits()
no of browsed sites : int

generate report() refers to

monitors minor
Objectionable Web Site record
name : char
Minor url : char
name : char
age : int
amt of net use : float
amt of data transfer : float

useinternet()
Internet Controller 10

Events and States


Events
• Log in: Here the user will login to the internet.
• Log off: Here the user will log out of the internet.
• Objectionable web site found: Here the controller finds an
inappropriate web site and this event leads to its blocking.
• Objectionable data found: Here the controller finds objectionable
data and this event leads to its filtering.
• Filtering complete: This event indicates that filtering has been
completed.

States
• Monitoring: Here the controller will monitor the internet usage of the
user.
• Blocking: Here the controller will block the objectionable web sites.
• Filtering: Here the controller will filter the objectionable data found.
• Displaying filtered data: On filter completion filtered data is
displayed.
Internet Controller 11

• Generating report: Here a comprehensive internet usage report is


generated.
• Displaying report: Here the report is displayed.

State Chart Diagram


Internet Controller 12

State Diagram for Internet Controller

log in to internet facility

Monitoring

obj data found

obj web site found


log off
Blocking Filtering

filtering complete
auto log off

generating
report displaying
filtered data

displaying
report

Non Functional Requirements

Non functional requirements are the global constraints on the software.

1. Efficiency
Internet Controller 13

Our software will be designed for good performance. We expect that at the
very least all the major functionalities of the system will be executed. The response
time will be 2 minutes

2. Usability
The software strives to be user friendly. User will require no special browser
version. The features of the software will be presented in a clear and concise way,
with no. of help frames available at each step of the software.

3. Reliability
Our software will aim for maximum reliability. In case of failures, there will
be instant notification The software is password protected and only valid users will be
able to access the software.

4. Portability
Our software is built using J2EE which is architecturally neutral. So our
software will be able run on many platforms.

2.5 Risk Analysis


Project risk

Risk Probability Impact Contingency Plan


value
The project may 50% 4 Allocate more time to the project
not be able to during vacation.
satisfy its deadline
Project may not 60% 4 Periodic checking of the schedule.
proceed as per Allocate more resources to the
schedule. lagging phase.

2. Technical Risk

Risk Probability Impact- Contingency Plan


value
Internet Controller 14

Insufficient 55% 4 Consulting with technology experts


Knowledge of the and learning in vacation.
technology to use in
the project.
Users may not find 55% 3 Periodic submission of GUI to the
GUI user friendly. user for approval.
Major software 50% 5 Consult the SRS and recheck the
functions are not design periodically for submission &
working as exptd. updation.

Validation Criteria
Here we design test cases which will test the functionality of the system.

1. Test Case: Authenticity of User

Test Case Input Expected O/P Actual O/P


Controller should Valid User_id & User should be
accept user if Password successfully logged
user_id & password in.
is correct.
Controller should Invalid Valid Display message
reject user if user_id User_id & Invalid User_id or
& password is Password Password
correct.

2. Test Case: Monitoring Users Internet Usage

Test Case Input Expected O/P Actual O/P


Internet Controller Browsing on Monitor and keep
Software should internet record of actions
monitor internet performed by the
Internet Controller 15

usage of the user. user in the database

2. Test Case: Detection of objectionable contents

Test Case Input Expected O/P Actual O/P


Controller should Access of It detects the
detect objectionable objectionable objectionable
contents while content contents during
monitoring . access of internet

4. Test Case: Filtering of objectionable contents

Test Case Input Expected O/P Actual O/P


Controller should Accessed It filters the
filter objectionable objectionable objectionable
contents encountered content contents during
during monitoring. access of internet.

5. Test Case: Assigning Time Limit to every user

Test Case Input Expected O/P Actual O/P


Controller will Log-in to the Controller starts
accept time limit system timer & after
depending upon specified time limit
type of user from will automatically
respective log-off the user.
controlling
authorities.

6. Test Case: Data transfer limit

Test Case Input Expected O/P Actual O/P


Controller will Log-in to the Controller keeps track
accept data transfer system of data transfer,
limit depending display available limit
Internet Controller 16

upon type of user after regular intervals


from respective & after completing
controlling prescribed limit it will
authorities. automatically log-of
user.
7. Test Case: Blocking of objectionable websites

Test Case Input Expected O/P Actual O/P


Controller should Address of website Controller blocks
block objectionable typed on url or objectionable
websites either by snapshot of websites
name or by snapshot homepage of permanently and
of home page. objectionable sites. adds to database.

8. Test Case: Generation of reports

Test Case Input Expected O/P Actual O/P


Controller should Turning/Logging off Session history will
generate report from internet. be displayed.
regarding usage of
internet for each
user.

3 SYSTEM DEVELOPMENT
3.1 Technology
Our project deals with building an Internet Monitoring Software. This software
can be used by companies to monitor their employees and by parents to restrict the
internet usage of their children.
The main purpose of the software is to control the internet usage of the
users. This software will incorporate the functions of monitoring, filtering and
blocking the internet usage. Using this software the user will also be able to set the
time limit and data transfer limit for use of internet.
Internet Controller 17

During the technical feasibility studies following issues are taken into
consideration

1. Whether the required technology is available or not?

2. Required resources are available or not? (Manpower, programmer,


software and hardware etc)

Once the technical feasibility is established, it is important to consider the


monetary factors also. Since it might happen that developing a particular system
may be technically possible but it may be require huge investments and benefits
may be less. For evaluating this, economic feasibility of the proposed system is
carried out.

As in our proposed system our team has technically trained manpower with
knowledge of developing the system. We are going to used following web
technology,

 Web Browser (Internet Explorer)

 Web Server (Tomcat5.0)

 JDK1.5

 Database (SQL Server 2000)

Which is readily available software to be used is also available easily.

Web Client System


HTTP Web Server Java Java/SQL RDBMS
Core Server 2000

File System
Internet Controller 18

General features required


• Blocking of objectionable internet websites.
• Setting of daily internet usage limits.
• Filtering of Internet sites.
• Keeping track of daily usage of internet and getting comprehensive
information about it.
• Built in Database.
• Password protected software.

Data Model and Description

Classes, attributes, operations

• Class Employee:

Attributes: 1. Name 2. Id 3.designation 4.Address 5.Salary 6.tel_no

Operations:1. useinternet ()

• Class Security dept

Attributes: 1.Id 2.designation

Operations: 1. monitor() 2.report()

• Class Company

Attributes: 1. Name 2. Reg_no 3.no of employees

• Class Internet usage report:

Attributes: 1.usage time 2.user_id 3.amt of data transfer 4.no of browsed sites

Operations: 1.generate report ()

• Class Parent
Internet Controller 19

Attributes: 1.id 2.password

Operations: 1. monitor()

• Class Minors

Attributes: 1.Name 2.Age 3.Amt of net use 4.Amt of data transfer

Operations: 1. useinternet()

• Class Controller

Attributes: 1.version_no

Operations: 1.filter_ sites() 2.monitor_sites() 3.block_sites() 4.set_timelimit()


5.set datalimit

• Class Internet facility

Attributes: 1.browser name 2.browser version no

• Objectional Web Site record

3.2 Functional Model and description

1) Functions used and their description

• Monitor: This function will be used to monitor the internet usage of


employees in the company or of minors in the house.
• Filter: This function is used to filter the objectionable or obscene web
sites. It makes use of the database of the web sites that is maintained
by the software.
• Setting of time limits: This function is set the time for which the
internet facility can be used. It will vary from user to user. This can be
done for each specific program like e-mail, instant messaging etc.
Internet Controller 20

• Setting of data transfer limit: This function will set the amount of
data transfer that is allowed through internet. This also will vary from
user to user.
• Blocking: This function will block internet access to the objectionable
web sites or even e-mails, instant messages or chat session which
contain obscene material or inappropriate words. Blocking can be done
by using database record or by homepage.
• Generate report: This function will generate report regarding the
usage of internet. The report will include information regarding usage
time, user name, web sites visited, data transfer etc.

3.3Data flow diagram

Level 0
Internet Controller 21

Level 1

LEVEL 2 DFD FOR LOGGING IN


Internet Controller 22

LEVEL 2 DFD FOR MONITORING


Internet Controller 23

LEVEL 2 DFD FOR GENERATING REPORTS

Behavioral model and description:

1 Sequence and Collaboration diagram

Collaboration Diagram

3: logs out

a : User 1: uses

b : Internet
Facility

e : Security
Dept

2: monitors net

6: submits report 4: asks for report


c : Controller d : Internet usage
report
5: generates report

Collaboration diagram shows the dynamic behavior of the system. This


diagram shows how internet controller software monitors the internet usage of
the user and finally generates a comprehensive report.
Internet Controller 24

Sequence Diagram

a : User b : Internet c : Controller d : Internet e : Security Dept


Facility usage report
uses

monitors net

logs out

asks for report

generates report

submits report

Sequence Diagram focuses on the time ordering of the messages. This diagram
shows the sequence in which the software monitors the net usage of the user.
Internet Controller 25

COLLABORATION DIAGRAM FOR INTERNET CONTROLLER

3: logs into sensitive sites

a : User 1: uses

b : Internet
Facility
6: blocks sites

2: monitors net

c : Controller 4: checks the record

d : Objectional Web
5: record found site record

This collaboration diagram shows what happens when the user logs into
inappropriate web sites.
Internet Controller 26

Sequence Diagram for Internet Controller

a : User b : Internet c : Controller d : Objectional


Facility Web site record
uses

monitors net

logs into sensitive sites

checks the record

record found

blocks sites

SOFTWARE DESIGN DOCUMENT

An SDD is a representation of software to be created. The model should


provide the precise design information needed for planning analysis, and
implementation of the software system . The SDD shows how our software will be
structured to satisfy the requirements.

Design Overview
Internet Controller 27

Design engineering encompasses the set of principles, concepts and practices


that lead to development of a high quality system or product. Design is an core
engineering activity. Design creates a representation of the software and also provider
details about software data structures , architecture, components etc.

Requirement Traceability Matrix

Monitor Block Filter Report Gen Database GUI


Component Component Component Component Management Compon
Component ent
1.Monitor the internet X
usage
2. Filtering the data. X X

3. Block the X X
Objectionable
websites.
4. Setting of time, X
data
Limits and level of
blocking.
5. Generate report X
regarding usage.
6. To keep X
objectional website,
keyword, IC user
records.

Description of Architecture Design


We have got the components for the architecture from the following 3
domains:
They are as follows:-
1. Application domain.
2. Infrastructure domain.
3. Interface domain.
Internet Controller 28

Application domain
Here from the application domain we get the analysis classes of the business
domain that needs to be represented in the architecture.
1. Monitor component
2. Blocking component
3. Filtering component
4. Report Generation component

Infrastructure Domain
From the Infrastructure domain we get infrastructure components that enable
application Components but have no business connection to business domain

1. User management
2. Database Management

1. User management:- Here we manage the requirements of the user .


2. Database management:- Here in the database all the objectional website
records are stored in We also keep keyword record and the detailed record
of the software users.

Interface Domain
Here we get one or more specialized components that process the data that
flows across the interface
1. GUI
2. Internet Interface

1. GUI
Here we concern with the main user interface part.GUI will be the interface between
the user and the software. Here we see how the user interfaces with the IC software.

2. Internet Interface
Internet Controller 29

This component deals with how the browser deals with the IC software.

ARCHITECTURE DIAGRAM

Internet Controller
Software

User Report
External Securi ty Database
Managment generation
Commun Managment

GUI Internet Monitor Obj Web Keyword IC user


Block Filter
interface function site record record record
function function

Internet usage Detector


Managment

Keyword Obj ecti onal Web Obj Home page


identification site i denti fi cati on identification

Component Diagram

Component Diagram
Component diagram occurs after the first iteration of architectural design has
been completed. A complete set of software components is defined during
architectural design.
But the internal data structures and processing details of each component are
represented in component level design. So the component level diagram defines the
data structure, algorithms, communication mechanisms allocated to each component.

Descriptions of Components
Internet Controller 30

Components, attributes and operations

• Monitor Component
Attributes: 1.Data transfer 2.Time limit 3.Start time 4.Stop time 5. data amount
transferred 6. No of obi sites visited.
Operations: 1. detect website () 2.detect keyword () 3.set data transfer limit () 4.
Set time limit () 5. Calculate usage duration () 6. Generate report () 7. get website
record () 8. get keyword record () 9.set level of blocking ()

Elaborated Monitor Component

<<block fun>>

detect website()

<<filter fun>>
Monitor
Data transfer limit : int
detect keyword() Time limit : float
Start time : float
Stop time : float
data amt transferred : float
<<report fun>> No of obj sites visited : int

detect website()
generate report() detect keyword()
set datatransferlimit()
set time limit()
calculate usageduration()
<<Obj Website record>> generate report()
get website record()
get keyword record()
get website record()

<< keyword record>>

get keyword record()

• Block Component
Attributes: 1.name of blocked site: 2. no of blocked sites 3. date of blocking
Operations: 1. block site () 2. Generate report () 3. Update database ()
Internet Controller 31

Elaborated Block Component

<<monitor>>

Block Data
updatedatabase()
name of blocked sites : char
no of blocked sites : int
date of blocking : float

blocksite()
genreport()
<<report>>
updatedatabase()

genreport()

• Filter Component
Attributes: 1. Keywords recognized 2.amt of data filtered 3. Filtering time 4.date
of
Filtering
Operations: 1. filter mail () 2.filter website () 3.generate report () 4.update database
()
Internet Controller 32

Elaborated Filter Component

<<Monitor>>

filtermail()
Filter Data
filterwebsite()
keywords recognized : int
amt of data filtered : int
filter level : char
filtered time : float

filtermail()
<<report>> filter website()
displayfiltered data()
genreport()
genreport()

• Report Generation Component


Attributes: 1. no of pages 2. amt of data transferred 3. amt of data blocked 4. amt
of
Data filtered 5. report type 6.session duration 7. session date
Operations: 1. assemble () 2. Display ()
Internet Controller 33

Report Generation Component

<<monitor>>

assemble() Report Genration


no of pages : int
amt of data transferred : float
amt of data blocked : float
amt of data filterd : float
report type : char
<<filter>>
session duration : float
name of sites monitored : char
session date : int
assemble()
assemble()
displayreport()
savereport()

<<block >>

assemble()

• GUI component

Attributes: 1. obj website record 2. keyword record 3.history 4.version 5.set


data
Limit 6.set time limit 7.level of blocking 8.usage time 9.account summary
Internet Controller 34

Operations: 1.display history () 2. display options () 3.display report () 4.display


obj
Website record () 5. Display keyword record () 6. Display account summary ()
7. Display session history () 8. Set blocking level (). 9. display user record ()
10. Display help()

GUI Component

<<monitor>>

assemble()

GUI
Obj website record : char
<<filter>> Keyword record : char
history : char
updates : char
assemble() version : char
Options : char
set time limit : char
set data transfer limit : char
usage time : float
<<blocking>> blocking level : int

displayobj website record()


assemble() amount of data tranferred()
display_history()
search_history()
display_report()
display_blockedsites()
display_options()
<<report>> updateSoftware()
assemble()
display usagetime()
generate report() setblockinglevel()

• Internet Interface Component

Attributes: 1.browser name 2.browser version


Internet Controller 35

Operations: 1. interface with GUI () 2. interface with IC () s/w 3.update browser ()

Internet Interface Component

INTERNET INTERFACE
browser name : char
<<GuI>> browser version : float
downloads : float

interfacewith GUI() interfacewith GUI()


interface with controller s/w()
update browser()
<<report>>

generate report()

• Internet Controller user record component

Attributes: 1.name 2. age 3.username 4.password


Operations: 1.display () 2.update database() 3. Generate report ()
Internet Controller 36

IC User Record Component

<<report>> IC USER RECORD


name : char
age : int
generate report() gender : char
address : char
email : char
username : char
password : char

<<GUI>> update _database()


generate report()
getdetails()
getdetails() display details()
display details()

• Objectional Website record component

Attributes 1.website name 2.website domain 3.website dns


Operations: 1.display () 2.retieve () 3.delete () 4.update ()
Internet Controller 37

Objectional Web site record

<<report>>

retrieve()
OBJECTIONAL WEBSITE RECORD
website name : char
website domain : float
website DNS : float
updates of website record : char
<<monitor>>
display()
delete()
retrive()
display() update database()

• keyword record component


Attributes: 1.keyword name 2. no of keywords
Operations: 1.display () 2.retieve () 3.delete () 4.update ()
Internet Controller 38

Keyword Record Component

<<Monitor>>

display()

KEYWORD RECORD
keyword name : char
<<report>> no. of keywords : int
updates of keywords : char
retrieve()
display()
delete()
retrive()
update database()
Internet Controller 39

4 EXPRIMENTAL ANALYSIS
4.1 CODING
4.1.1 CLINT SIDE CODING
LOGIN
import java.io.BufferedOutputStream;
import java.net.Socket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
* Login.java
*
* Created on February 6, 2007, 10:57 PM
*/

/**
*
* @author Dishant
*/
public class Login extends javax.swing.JFrame {

String serverIp = "";


int port=0;
ServeDiag Sd=null;
Connection con =null;
Statement stmt=null;
ResultSet rs=null;
Socket client=null;
BufferedOutputStream clientOut;
/** Creates new form Login */
Internet Controller 40

public Login() {
initComponents();
Sd= new ServeDiag(this,true);
Sd.show(false);
}
public void Connect() throws Exception{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con= DriverManager.getConnection("jdbc:odbc:Internet","sa","sql");
stmt =
con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR
_UPDATABLE);
}
public boolean CheckLogin() throws Exception {
boolean flag=false;

Connect();
rs=stmt.executeQuery("Select * from USER_MASTER where
USER_ID='"+jTextField1.getText()+"'and
USER_PASSWORD='"+jPasswordField1.getText()+"' ");
if(rs.next()){
if(rs.getInt("STATUS")==1)
flag=true;
else{
flag=false;
jLabel2.setText("You Account Has Been Disabled By Admin");
}
}
rs.close();
stmt.close();
con.close();
return flag;
}
public boolean CheckTime() throws Exception {
boolean flag;
Internet Controller 41

Connect();
rs=stmt.executeQuery("Select * from USER_MASTER WHERE
USER_ID='"+jTextField1.getText()+"' and convert(char(8),START_TIME,8) <
convert(char(8),getdate(),8) and convert(char(8),END_TIME,8) >
convert(char(8),getdate(),8)");
flag= rs.next();
rs.close();
stmt.close();
con.close();
return flag;
}
public void ReportError(int code,String str,String Msg) throws Exception{
Connect();
jLabel2.setText(Msg);

stmt.executeUpdate("Insert into
LOG_MASTER(USER_ID,IP_ADDRESS,ACTIVITY_TYPE,DATE_TIME_STAM
P,MISC)values('"+jTextField1.getText()+"','"+java.net.InetAddress.getLocalHost().get
HostAddress()+"',"+code+",convert(char(8),getdate(),8),'"+str+"')");
stmt.close();
con.close();

}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
private void initComponents() {
jLayeredPane1 = new javax.swing.JLayeredPane();
label1 = new java.awt.Label();
Internet Controller 42

label2 = new java.awt.Label();


button1 = new java.awt.Button();
jTextField1 = new javax.swing.JTextField();
jPasswordField1 = new javax.swing.JPasswordField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
button2 = new java.awt.Button();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Intenet Controller Login");
setBackground(new java.awt.Color(153, 0, 153));
setName("Net tracker Login");
label1.setText("User Name");
label1.setBounds(80, 60, 70, 20);
jLayeredPane1.add(label1, javax.swing.JLayeredPane.DEFAULT_LAYER);

label2.setText("Password");
label2.setBounds(90, 100, 60, 20);
jLayeredPane1.add(label2, javax.swing.JLayeredPane.DEFAULT_LAYER);

button1.setLabel("Login");
button1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
button1ActionPerformed(evt);
}
});

button1.setBounds(120, 130, 70, 24);


jLayeredPane1.add(button1, javax.swing.JLayeredPane.DEFAULT_LAYER);

jTextField1.setBounds(170, 60, 110, 19);


jLayeredPane1.add(jTextField1,
javax.swing.JLayeredPane.DEFAULT_LAYER);
Internet Controller 43

jPasswordField1.setBounds(170, 100, 110, 23);


jLayeredPane1.add(jPasswordField1,
javax.swing.JLayeredPane.DEFAULT_LAYER);

jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Preferances");
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});

jLabel1.setBounds(210, 10, 90, 20);


jLayeredPane1.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);

jLabel2.setBounds(30, 160, 550, 30);


jLayeredPane1.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);

button2.setLabel("Clear");
button2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
button2ActionPerformed(evt);
}
});

button2.setBounds(210, 130, 46, 24);


jLayeredPane1.add(button2, javax.swing.JLayeredPane.DEFAULT_LAYER);

getContentPane().add(jLayeredPane1, java.awt.BorderLayout.CENTER);

java.awt.Dimension screenSize =
java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-338)/2, (screenSize.height-239)/2, 338, 239);
}
Internet Controller 44

// </editor-fold>//GEN-END:initComponents

private void button2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_button2ActionPerformed
jTextField1.setText("");
jPasswordField1.setText("");
jLabel2.setText("");
// TODO add your handling code here:
}//GEN-LAST:event_button2ActionPerformed

private void button1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_button1ActionPerformed

if(jTextField1.getText().equals("") || jPasswordField1.getText().equals(""))
jLabel2.setText("Please enter UserName and Password...");
else{

try{

if(button1.getLabel().equals("Login")){

if( CheckLogin() ) {
if( CheckTime() ) {

client = new Socket(Sd.serverIp,Sd.port);


clientOut = new BufferedOutputStream(client.getOutputStream());
String errMsg =
jTextField1.getText()+":"+client.getLocalAddress().toString().substring(1)
+":"+"Logged"+"\n";
clientOut.write(errMsg.getBytes(), 0, errMsg.length());
jTextField1.setEnabled(false);
jPasswordField1.setEnabled(false);
Internet Controller 45

button1.setLabel("Logout");
ReportError(0,"User Logged In","Succesfully Login");
clientOut.flush();
clientOut.close();

}
else{

ReportError(3, "Client Has Tried To Login at Other Than Schudled


time","Its Not your time to Login");

}
}else{
jLabel2.setText("Incorrect UserName or Password");

}
else{
client = new Socket(Sd.serverIp,Sd.port);
clientOut = new BufferedOutputStream(client.getOutputStream());
String errMsg =
jTextField1.getText()+":"+client.getLocalAddress().toString().substring(1)+":"+"Log
Out"+"\n";
clientOut.write(errMsg.getBytes(), 0, errMsg.length());
clientOut.flush();
ReportError(1, "Client Has Logged Out","Succesfully Logout");
button1.setLabel("Login");
jPasswordField1.setText("");
jTextField1.setEnabled(true);
jPasswordField1.setEnabled(true);
}
Internet Controller 46

client.close();
}

catch(Exception ex){
jLabel2.setText(ex.getMessage());
}
}

// TODO add your handling code here:


}//GEN-LAST:event_button1ActionPerformed

private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-


FIRST:event_jLabel1MouseClicked
// TODO add your handling code here:
Sd.show(true);
}//GEN-LAST:event_jLabel1MouseClicked

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Login().setVisible(true);
}
});
}

// Variables declaration - do not modify//GEN-BEGIN:variables


private java.awt.Button button1;
private java.awt.Button button2;
private javax.swing.JLabel jLabel1;
Internet Controller 47

private javax.swing.JLabel jLabel2;


private javax.swing.JLayeredPane jLayeredPane1;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JTextField jTextField1;
private java.awt.Label label1;
private java.awt.Label label2;
// End of variables declaration//GEN-END:variables

4.1.2 SERVER SIDE CODING


/*
* MainPage.java
*
* Created on February 17, 2007, 12:32 PM
*/

/**
*
* @author Dishant
*/
public class MainPage extends javax.swing.JFrame{

public static OnlineUser LiveUser=null;


public ProxyS jp=null;
/** Creates new form MainPage */
public MainPage() {
initComponents();
}

/** This method is called from within the constructor to


* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
Internet Controller 48

* always regenerated by the Form Editor.


*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-
BEGIN:initComponents
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();

getContentPane().setLayout(null);

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Internet Controller");
jLabel1.setText("HTTP Proxy Port");
getContentPane().add(jLabel1);
jLabel1.setBounds(40, 40, 80, 30);

getContentPane().add(jTextField1);
jTextField1.setBounds(140, 50, 100, 19);

jLabel2.setText("Login Server Port");


getContentPane().add(jLabel2);
jLabel2.setBounds(30, 80, 100, 30);

getContentPane().add(jTextField2);
jTextField2.setBounds(140, 90, 100, 19);

jButton1.setText("Start");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
Internet Controller 49

}
});

getContentPane().add(jButton1);
jButton1.setBounds(80, 150, 80, 23);

jButton2.setText("Stop");
jButton2.setEnabled(false);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

getContentPane().add(jButton2);
jButton2.setBounds(180, 150, 90, 23);

java.awt.Dimension screenSize =
java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-290)/2, (screenSize.height-276)/2, 290, 276);
}
// </editor-fold>//GEN-END:initComponents

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton2ActionPerformed

jp.closeSocket();
jTextField1.setEnabled(true);
jTextField2.setEnabled(true);
jButton1.setEnabled(true);
jButton2.setEnabled(false);
Internet Controller 50

// TODO add your handling code here:


}//GEN-LAST:event_jButton2ActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton1ActionPerformed

//int port = Integer.parseInt(jTextField1.getText());


if(jTextField1.getText().length()!=0&& jTextField2.getText().length()!=0){
int port=Integer.parseInt(jTextField1.getText());
int lport=Integer.parseInt(jTextField2.getText());
String fwdProxyServer = "";
int fwdProxyPort = 0;
System.err.println("Login Server Starting on port 8081");
LiveUser = new OnlineUser(lport);

// create and start the ProxyS thread, using a 20 second timeout


// value to keep the threads from piling up too much
System.err.println(" ** Starting ProxyS on port " + port + ". Press CTRL-C to
end. **\n");

jp = new ProxyS(port, fwdProxyServer, fwdProxyPort,LiveUser, 20);


jp.setDebug(1, System.out); // or set the debug level to 2 for tons of
output
jp.start();

// run forever; if you were calling this class from another


// program and you wanted to stop the ProxyS thread at some
// point, you could write a loop that waits for a certain
// condition and then calls ProxyS.closeSocket() to kill
// the running ProxyS thread
jTextField1.setEnabled(false);
jTextField2.setEnabled(false);
jButton1.setEnabled(false);
jButton2.setEnabled(true);
Internet Controller 51

/* while (true) {
try { Thread.sleep(3000); } catch (Exception e) {}
}*/

}
// TODO add your handling code here:
}//GEN-LAST:event_jButton1ActionPerformed

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MainPage().setVisible(true);
}
});
}

// Variables declaration - do not modify//GEN-BEGIN:variables


private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration//GEN-END:variables

4.1.3 CODING OF ADMINISTRATION MODULE


Internet Controller 52

<%@ page contentType="text/html; charset=iso-8859-1" language="java"


import="java.sql.*" session="true" %>
<%@ include file="Connections/Internet.jsp" %>
<%
String flag="false";
if(session.getValue("Auth")==null || session.getValue("Auth").equals(flag)){
response.sendRedirect("index.jsp");
}
Driver DriverUserRecord =
(Driver)Class.forName(MM_Internet_DRIVER).newInstance();
Connection ConnUserRecord =
DriverManager.getConnection(MM_Internet_STRING,MM_Internet_USERNAME,
MM_Internet_PASSWORD);
PreparedStatement StatementUserRecord =
ConnUserRecord.prepareStatement("SELECT
USER_ID,convert(char(8),START_TIME,8) AS
START_TIME,convert(char(8),END_TIME,8) AS
END_TIME,STATUS,UPLOAD_LIMIT,
DOWNLOAD_LIMIT,UPLOADED,DOWNLOADED,TYPE FROM
dbo.USER_MASTER");
ResultSet UserRecord = StatementUserRecord.executeQuery();
boolean UserRecord_isEmpty = !UserRecord.next();
boolean UserRecord_hasData = !UserRecord_isEmpty;
Object UserRecord_data=null;
int UserRecord_numRows = 0;
%>
<%
int Repeat1__numRows = 10;
int Repeat1__index = 0;
UserRecord_numRows += Repeat1__numRows;
%>
<% String MM_paramName = ""; %>
<%
Internet Controller 53

// *** Go To Record and Move To Record: create strings for maintaining URL and
Form parameters

String MM_keepBoth,MM_keepURL="",MM_keepForm="",MM_keepNone="";
String[] MM_removeList = { "index", MM_paramName };

// create the MM_keepURL string


if (request.getQueryString() != null) {
MM_keepURL = '&' + request.getQueryString();
for (int i=0; i < MM_removeList.length && MM_removeList[i].length() != 0; i++) {
int start = MM_keepURL.indexOf(MM_removeList[i]) - 1;
if (start >= 0 && MM_keepURL.charAt(start) == '&' &&
MM_keepURL.charAt(start + MM_removeList[i].length() + 1) == '=') {
int stop = MM_keepURL.indexOf('&', start + 1);
if (stop == -1) stop = MM_keepURL.length();
MM_keepURL = MM_keepURL.substring(0,start) +
MM_keepURL.substring(stop);
}
}
}

// add the Form variables to the MM_keepForm string


if (request.getParameterNames().hasMoreElements()) {
java.util.Enumeration items = request.getParameterNames();
while (items.hasMoreElements()) {
String nextItem = (String)items.nextElement();
boolean found = false;
for (int i=0; !found && i < MM_removeList.length; i++) {
if (MM_removeList[i].equals(nextItem)) found = true;
}
if (!found && MM_keepURL.indexOf('&' + nextItem + '=') == -1) {
MM_keepForm = MM_keepForm + '&' + nextItem + '=' +
java.net.URLEncoder.encode(request.getParameter(nextItem));
}
Internet Controller 54

}
}

String tempStr = "";


for (int i=0; i < MM_keepURL.length(); i++) {
if (MM_keepURL.charAt(i) == '<') tempStr = tempStr + "&lt;";
else if (MM_keepURL.charAt(i) == '>') tempStr = tempStr + "&gt;";
else if (MM_keepURL.charAt(i) == '"') tempStr = tempStr + "&quot;";
else tempStr = tempStr + MM_keepURL.charAt(i);
}
MM_keepURL = tempStr;

tempStr = "";
for (int i=0; i < MM_keepForm.length(); i++) {
if (MM_keepForm.charAt(i) == '<') tempStr = tempStr + "&lt;";
else if (MM_keepForm.charAt(i) == '>') tempStr = tempStr + "&gt;";
else if (MM_keepForm.charAt(i) == '"') tempStr = tempStr + "&quot;";
else tempStr = tempStr + MM_keepForm.charAt(i);
}
MM_keepForm = tempStr;

// create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL + MM_keepForm;
if (MM_keepBoth.length() > 0) MM_keepBoth = MM_keepBoth.substring(1);
if (MM_keepURL.length() > 0) MM_keepURL = MM_keepURL.substring(1);
if (MM_keepForm.length() > 0) MM_keepForm = MM_keepForm.substring(1);

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Welcome--IMS</title>
Internet Controller 55

<style type="text/css">
<!--
.style3 {font-size: 12px; font-weight: bold; }
-->
</style>
</head>

<body>
<table border="0" bordercolor="#0000CC">
<tr>
<td bgcolor="#0099CC"><span class="style3">USERNAME</span></td>
<td bgcolor="#0099CC"><div align="center"
class="style3">START_TIME</div></td>
<td bgcolor="#0099CC"><div align="center"
class="style3">END_TIME</div></td>
<td bgcolor="#0099CC"><div align="center" class="style3">STATUS</div></td>
<td bgcolor="#0099CC"><div align="center"
class="style3">UPLOAD_LIMIT(MB)</div></td>
<td bgcolor="#0099CC"><div align="center"
class="style3">DOWNLOAD_LIMIT(MB)</div></td>
<td bgcolor="#0099CC"><div align="center"
class="style3">UPLOADED(bytes)</div></td>
<td bgcolor="#0099CC"><div align="center"
class="style3">DOWNLOADED(bytes)</div></td>
<td bgcolor="#0099CC"><span class="style3">TYPE</span></td>
</tr>
<% while ((UserRecord_hasData)&&(Repeat1__numRows-- != 0)) { %>
<tr>
<% UserRecord_data = (UserRecord.getString("USER_ID"));%>
<td bgcolor="#0099CC"> <A HREF="Update.jsp?<%= MM_keepURL +
((MM_keepURL!="")?"&":"") + "USER_ID=" +
UserRecord_data%>"><%=UserRecord_data%></A></td>
Internet Controller 56

<td bgcolor="#0099CC"><%=(((UserRecord_data =
UserRecord.getObject("START_TIME"))==null ||
UserRecord.wasNull())?"":UserRecord_data)%></td>
<td bgcolor="#0099CC"><%=(((UserRecord_data =
UserRecord.getObject("END_TIME"))==null ||
UserRecord.wasNull())?"":UserRecord_data)%></td>
<td bgcolor="#0099CC"><%=(((UserRecord_data =
UserRecord.getObject("STATUS"))==null ||
UserRecord.wasNull())?"":UserRecord_data)%></td>
<td bgcolor="#0099CC"><%=(((UserRecord_data =
UserRecord.getObject("UPLOAD_LIMIT"))==null ||
UserRecord.wasNull())?"":UserRecord_data)%></td>
<td bgcolor="#0099CC"><%=(((UserRecord_data =
UserRecord.getObject("DOWNLOAD_LIMIT"))==null ||
UserRecord.wasNull())?"":UserRecord_data)%></td>
<td bgcolor="#0099CC"><%=(((UserRecord_data =
UserRecord.getObject("UPLOADED"))==null ||
UserRecord.wasNull())?"":UserRecord_data)%></td>
<td bgcolor="#0099CC"><%=(((UserRecord_data =
UserRecord.getObject("DOWNLOADED"))==null ||
UserRecord.wasNull())?"":UserRecord_data)%></td>
<td bgcolor="#0099CC"><%=(((UserRecord_data =
UserRecord.getString("TYPE"))==null ||
UserRecord.wasNull())?"":UserRecord_data)%></td>
</tr>
<%
Repeat1__index++;
UserRecord_hasData = UserRecord.next();
}
%>
</table>
</body>
</html>
<%
Internet Controller 57

UserRecord.close();
StatementUserRecord.close();
ConnUserRecord.close();
%>

DESCRIPTION OF USER INTERFACE

Server Side Interface


HTTP Proxy:- it listen HTTP request. It define port number 9000.
Login Server Port :- It listen login request from client It has port number
9001.
Start:- It is used to start to activating server operation.
Stop:- It is used to stop server operation.

2.User Side Interface


This dialog box is used to interface with client to preference their IP address
and Port number.
Which act as follow.
UserName:- It is used to input authenticated use name providing by
administrator.
Password:- It also to checking conformation of authorized user.
Internet Controller 58

Login:- This button is act as to check availability of user of surfing internet


Clear :- which is used to clear text box.

Preferences
Here we used to IP address and Port Number which is we are going to use.
Server IP:- This is used input server IP address the server we are going to use.
Port :- Here port number which listen by server module
Internet Controller 59

ADIMINISTRATION SIDE USER INTERFACE

AUTHENTICATION USER NAME AND PASSWARD


This page has two text box and tow button is for the give authenticated user
name and password
User name:-give authenticated user name.
Password:-give authenticated password.
Submit:- this is used to submit username and password
Reset:- to give other user and password name

HOME PAGE
Internet Controller 60

Home page has display the all information about the user and handling the user
there is following option.
DeleteUsers:-this is used to delete the user.
CreateUser:-this will create new user.
Reports:-this link is used to generate report of authenticated user.
LogOut:-this is used to logout successfully.

CREATE NEW USER


This windows is creating new account.
There is following text box to create new user.
Internet Controller 61

USER_ID:- give user name.


USER_PASSWORD:-put user password for authentication.
START_TIME:-Enter starting time to using internet.
END_TIME:-Enter end time to duration of using internet.
SATUS:-Select status true of false.
UPLOAD_LIMIT:-Enter how much data to be upload.
DOWNLOAD_LIMIT:-Enter Limit to Download data.
UPLOADED:- This will used to show uploaded data
DOWNLOADED:- This will used to show downloaded data
TYPE:-Enter type of user administer type or user type.
INSERT_RECORD:- Click on this is used for input data to inserted into
record.

DELETE USER
This window is used for deleting user account.
Select the checkbox to delete user which user we have to deleted and clicking on
deleting button.
Internet Controller 62

REPORTS
This window is display all information of user.
Enter Date:- Enter the date to display the particular user and there all
information related input on that day.
USER_ID:-Display the user name.
IP_ADDRESS:- Display the IP_ADDRESS which is used in internet
connection.
Internet Controller 63

ACTIVITY_TYPE:- Display which type activity has been performed.


URL:- Which URL has been used by particular user.
Rest-URL:- Which display Restricted URL has been used by particular user.
UPLOAD_DATA:- How much data has been uploaded one web.
DOWNLOAD_DATA:- Display how much data has been downloaded
DATE_AND_TIME:-Display date and time of using internet.
MISE:- It will display the message activation or deactivating by user.

Log Out
Click on logout button to logout success Fully.
Internet Controller 64

4.2 DATABASE DESINIG


Database SQL Server 2000 Definition

Below is a script for creating the database schema in Oracle. This will be
stored in a text file and loaded into Oracle when the SRS system is first installed (in
Internet Controller 65

other words, this file will only be used when creating the database, and not in
accessing it).
Note again that this is a preliminary design. Particularly, primary and foreign
keys have not been defined, nor does the design implement the decision to have every
record of every table identified by a unique number.

There is two table in this database


1)log_master
2)user_master

4.2.1 LOG_MASTER
CREATE TABLE [LOG_MASTER] (
[USER_ID] [nvarchar] (50) COLLATE
SQL_Latin1_General_CP1_CI_AS NULL ,
[IP_ADDRESS] [nvarchar] (50) COLLATE
SQL_Latin1_General_CP1_CI_AS NULL ,
[ACTIVITY_TYPE] [int] NULL ,
[URL] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL ,
[REST_URL] [nvarchar] (50) COLLATE
SQL_Latin1_General_CP1_CI_AS NULL ,
[UPLOAD_DATA] [int] NULL ,
[DOWNLOAD_DATA] [int] NULL ,
[DATE_TIME_STAMP] [datetime] NULL ,
[MISC] [nvarchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL
) ON [PRIMARY]
GO
4.2.2 USER MASTER
CREATE TABLE [USER_MASTER] (
[USER_ID] [nvarchar] (50) COLLATE
SQL_Latin1_General_CP1_CI_AS NOT NULL ,
Internet Controller 66

[USER_PASSWORD] [nvarchar] (50) COLLATE


SQL_Latin1_General_CP1_CI_AS NULL ,
[START_TIME] [datetime] NULL ,
[END_TIME] [datetime] NULL ,
[STATUS] [bit] NULL ,
[UPLOAD_LIMIT] [decimal](24, 0) NULL ,
[DOWNLOAD_LIMIT] [decimal](18, 0) NULL ,
[UPLOADED] [decimal](24, 0) NULL ,
[DOWNLOADED] [decimal](24, 0) NULL ,
[TYPE] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL ,
CONSTRAINT [PK_USER_MASTER] PRIMARY KEY
CLUSTERED
(
[USER_ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO

5. CONCLUSION

Many Companies are now making this investment and not so much because of
security concerns but because of increased business use of the Internet (roughly
30% of all U.S. workers are now online). As more and more businesses provide
high-speed and dial-up Internet access to their employees, they seek to avoid
employees accessing pornography or games or doing excessive personal
business through the Web or E-mail.

5.1 Future
• It is user interface designing as easy to use
• Main reason for use of internet controller other than companies
monitoring their employees is parental control
• It’s easy to control every user.
Internet Controller 67

• Provide more interaction for user and its use


• It can be run on any operating system

5.2 ADVANTAGE
It can viewed as parental control software to block access to
objectional web sites which can be accessed by minors.
• Worry less while your kids are online or using the computer when you are
away.
• Protect your personal information.
• Know how your kids have been using the computer and restrict it's use.
• Protect your children from being connected by possible online predators.
• Enable your child to get the most out of their computer time.

5.3 DISADVANTAGE
• It is costly to use
• User can not access without permission of administration
• It is tough to maintain
• It’s does not provide good accessibility

5.4 APPLICATION
Internet access control is necessary to prevent Internet misuse. However,
company managers can not use Internet filter software to stop any web abusive
behavior because there are always some URL those software products can not block.
Moreover, as an effective web tracker, it should not control Internet access too strictly
because employees need to use Internet resources for business at workplace. On the
other hand, web tracking and employee surveillance would cause some legal issues in
the some countries. So workplace monitoring software or spyware would cause
dispute on privacy instruction. So Internet access management is a sensitive issue at
work. A manager had better not use some spy software, which log anything including
employee’s private data. Spying employee everything is not a good thing at
Internet Controller 68

workplace. But, certainly, abusing Internet at work is becoming more serious than
before. Web access control is important in terms of employee supervision.

5.5 CONCLUSTION
Protecting minors from inappropriate material on the Internet is a parental task
that still has no perfect solutions, however parental control software programs provide
significant assistance to parents who want to keep their children safe. It gives you the
ability to prevent your kids from harmful web sites, chat rooms, and programs, whilst
still allowing your kids to enjoy the educational and entertaining resources that are
available on the web, and accessible though the computer.
• Our Internet Controller provides a good balance between filtering
objectionable material & not filtering too much. Our important aspect here
will be the ability to customize filter sensitivity for each user.
• We are going to use best combination of filtering techniques including
URL filtering, keyword filtering, and dynamic filtering.
• Limit and set the amount of data that can be sent or received to/from your
computer.
• We will offer each & every detail in the reports generated for each internet
user who will use system on which our s/w is installed. These details
include the websites visited, amount of data transfer, keywords blocked,
session duration, Session history etc.

You might also like