Académique Documents
Professionnel Documents
Culture Documents
?
?
??
?
c
c c
INTRODUCTION
Surveillance
Surveillance is the monitoring of behavior. Systems Surveillance is the process of
monitoring the behavior of people, objects or processes within systems for conformity to
expected or desired norms in trusted systems for security or social control. Although the word
Surveillance in French literally means ´watching overµ the term is often used for all forms of
observation or monitoring, not just visual observation.
Surveillance is the art of watching over the activities of persons or groups from a
position of higher authority. Surveillance may be covert (without their knowledge) or overt
(perhaps with frequent reminders such as "we are watching over you"). Surveillance has been
an intrinsic part of human history. Modern electronic and computer technology have given
Surveillance a whole new field of operation.
-ebcam
A web camera (or webcam) is a real-time camera whose images can be
accessed using the -orld -ide -eb, instant messaging, or a PC video calling
application.-eb-accessible cameras typically involve a digital camera, which uploads images to
a web server, either continuously or at regular intervals. This may be achieved by a camera
c
c c
attached to a PC, or by dedicated hardware. Videoconferencing cameras typically take the form
of a small camera connected directly to a PC. Analog cameras are also sometimes used (often of
the sort used for closed-circuit television), connected to a video capture card and then directly
or indirectly to the Internet.
-hile the term "webcam" refers to the technology generally, the first part of
the term ("web-") is often replaced with a word describing what can be viewed with the
camera, such as a nestcam or streetcam.
The project provides a better way of monitoring the intended objects and
detecting any security breaks, because the concerned person authorized for security need not
worry about any attacks been not detected.
Here a webcam is connected to the server computer, which captures the media
and transmits through the network to IP-addresses of selected users. So users who own the
corresponding IP address can view the media content from anywhere just by using Internet and
go through the media. Also the media is automatically compared for detecting any security
faults. Reasonable difference between the images generates an alert message to inform the
c
c c
fault. Thus the user can ensure the security even without watching media at the right time.
Corresponding dissimilar images are also presented to the user simultaneously.
? The project, ·iSecurity· is developed on LINUX using the most efficient language,
Java. It makes use of client-server technology. The project also makes use of some media
processing tools like, JMF (Java Media Framework). JSP (Java Server Pages) is being used for
creating the user interfaces. It uses RTP (Real Time Transfer Protocol) for transferring the
captured media over the net. An additional protocol RTCP (Real Time Transfer Control
Protocol) is for assisting RTP. The project implements a little bit of database application using
MySql.
c
c c
????? ?
?
??
?
c
c c
System Study
System study is the primary phase of the software development. It is the study of
existing operation to learn what they accomplish, why they work as they do and what role they
may have in future processing activities. In studying the current system, it is necessary to
identify the essential data and procedure required for a new approach. It is also necessary to
pinpoint current weakness and problem so that will not be carried over to the new system. The
purpose of system study is to identify the new system and establish what the new system is to
accomplish.
Selection of Software
Front end
(jdk1.5.0):Java is very effective and effective language for network applications. It is
highly supported for new technologies and continuously updating with new API. The Java
Media Framework API (JMF) enables audio, video and other time-based media to be added to
applications and applets built on Java technology. This optional package, which can capture,
playback, stream, and transcode multiple media formats, extends the Java 2 Platform, Standard
Edition (J2SE) for multimedia developers by providing a powerful toolkit to develop scalable,
cross-platform technology.
Back end
?It is the inbuilt database for Linux. -ritten in C and C++. -orks on many different
platforms; APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl. Fully multi-
threaded using kernel threads, this means it can easily use multiple CPUs if available. In-
c
c c
memory hash tables which are used as temporary tables. SQL functions are implemented
through a highly optimized class library and should be as fast as possible! Clients may connect to
the MySQL server using TCP/IP Sockets, Unix Sockets (Unix), or Named Pipes (NT).
Overview of software
Java
In this project java is used. Object oriented programming is at the core of java. The
fundamental forces that necessitated to the invention of java are portability and security. Java
was designed to be easy for the professional programmers to learn and use effectively. The
object model in java is simple and easy to extend. The ability to create robust programs was
given a high priority in the design of java. Java supports multithreaded programming, which
allows writing programs that do many things simultaneously. The important goal of java is
write once, run anywhere, any time, and forever. Java is designed for distributed environment
of the environment because it handles TCP/IP protocol. Java programs carry with the
substantial amounts of run-time type information that is used to verify and resolve access to
objects at run-time. This makes it possible to dynamically link code in a safe and expedient
manner.
From the old days of structured procedural programming style, the world is now moving to
design approach of object-oriented programming. This can be implemented in C++. JAVA, in
addition to providing the C++ features, alsoprovides the built in classes which reduces
programming and length of code.
Java is the first programming language designed from the ground up with networking in
mind. As the global Internet continues to grow, Java is uniquely suited to build the next
c
c c
Network adds a lot of power to a simple program. -ith networks a single program can
retrieve information residing in millions of computers located anywhere in the world. A single
program can communicate with tens or millions of people. A single program can harness the
power of many computers to work on one problem.
Thread
A thread is a program·s path of execution and multithreading enhance
performance and functionality by allowing a program to efficiency performmultiple tasks
simultaneously.
One way to handle requests from more than one client is to make the server program
multi-threaded. A multi-threaded server creates a thread for each communication it accepts
from a client. Using threads, a multi-threaded server program can accept a connection from a
client, start a thread for that communication, and continue listening for requests from other
clients.
RMI lets Java objects on different hosts communicate with each other by calling
methods in objects. A remote lives on a server. The clients can invoke each remote object
implements a remote interface that specifies which of its methods. Clients invoke the methods
c
c c
of the remote object almost exactly as they invoke local methods. A remote object is an object
with methods that may be invoke from a different Java virtual machine
Sockets
The JDBC API comes as a single Java package (java. sql) containing a series of classes.
These classes provide just the type of middleware needed to handle a relational database.
Basically, they allow you to establish a connection to a database and send queries. You can
process the results of these queries, retrieve meta-information on your database, and handle the
exceptions that might occur in the midst of all this.
The whole point of a network is to allow two machines to connect and talk to each other.
Once the two machines have found each other they can have a nice, two-way conversation. But
how do they find each other? It·s like getting lost in an amusement park: one machine has to
stay in one place and listen while the other machine says ´hey, where are you?µ The machine
that ´stays in one placeµ is called the J , and the one that seeks is called the . This
c
c c
distinction is important only while the client is trying to connect to the server. Once they·ve
connected, it becomes a two-way communication process and it doesn·t matter anymore that
one happened to take the role of server and the other happened to take the role of the client. So
the job of the server is to listen for a connection, and that·s performed by the special server
object that you create. The job of the client is to try to make a connection to a server, and this
is performed by the special client object you create.
Once the connection is made, you·ll see that at both server and client ends, the
connection is just magically turned into an IO stream object, and from then on you can treat
the connection as if you were reading from and writing to a file. Thus, after the connection is
made you will just use the familiar IO commands from Chapter 10. This is one of the very nice
features of Java networking.
The Java Media Framework API (JMF) enables audio, video and other time-based media to
be added to applications and applets built on Java technology. Any data that changes
meaningfully with respect to time can be characterized as time-based media. Audio clips, MIDI
sequences, movie clips, and animations are common forms of time-based media.
To present time-based media such as audio or video with JMF, you use a Player. Playback
can be controlled programmatically, or you can display a control-panel component that enables
the user to control playback interactively. If you have several media streams that you want to
play, you need to use a separate Player for each one. to play them in sync, you can use one of
the Player objects to control the operation of the others.
c
c c
A Processor is a special type of Player that can provide control over how the media data is
processed before it is presented. -hether you·re using a basic Player or a more advanced
Processor to present media content, you use the same methods to manage playback. The
MediaPlayer bean is a Java Bean that encapsulates a JMF player to provide an easy way to
present media from an applet or application. The Media Player bean automatically constructs a
new Player when a different media stream is selected, which makes it easier to play a series of
media clips or allow the user to select which media clip to play
Streaming Media
Media Streams
A J is the media data obtained from a local file, acquired over the network,
or captured from a camera or microphone. Media streams often contain multiple channels of
data called
J. For example, a QuickTime file might contain both an audio track and a video
track. Media streams that contain multiple tracks are often referred to as or
media streams.
is the process of extracting individual tracks from a complex
media stream. A tracks identifies the kind of data it contains, such as audio or video. The
of a track defines how the data for the track is structured. A media stream can be
identified by its location and the protocol used to access it. For example, a URL might be used
to describe the location of a QuickTime file on a local or remote system. If the file is local, it
can be accessed through the FILE protocol. On the other
c
c c
hand, if it·s on a web server, the file can be accessed through the HTTP protocol. A
provides a way to identify the location of a media stream when a URL cannot be used.
?/..? data transfer is initiated and controlled from the client side. For example, Hypertext
Transfer Protocol (HTTP) and FILE are pull protocols.
/",?the server initiates data transfer and controls the flow of data. For example, Real-time
Transport Protocol (RTP) is a push protocol used for streaming media. Similarly, the SGI
MediaBase protocol is a push protocol used for video-on-demand (VOD).
?
?
c
c c
Media Processing
Media Capture
Time-based media can be captured from a live source for processing and playback. For
example, audio can be captured from a microphone or a video capture card can be used to
obtain video from a camera. Capturing can be thought of as the phase of the standard
media-processing model. A capture device might deliver multiple media streams. For example,
a video camera might deliver both audio and video. These streams might be captured and
manipulated separately or combined into a single, multiplexed stream that contains both an
audio track and a video track.
Capture Devices
To capture time-based media you need specialized hardware for example, to capture
audio from a live source, you need a microphone and an appropriate audio card. Similarly,
capturing a TV broadcast requires a TV tuner and an appropriate video capture card. Most
systems provide a query mechanism to find out what capture devices are available. Capture
devices can be characterized as either push or pull sources. For example, a still camera is a pull
c
c c
source in the user controls when to capture an image. A microphone is a push source in the live
source continuously provides a stream of audio. The format of a captured media stream
depends on the processing performed by the capture device. Some devices do very little
processing and deliver raw, uncompressed data. Other capture devices might deliver the data
in a compressed format.
Capture Controls
Controls are sometimes provided to enable the user to manage the capture process.
For example, a capture control panel might enable the user to specify the data rate and
encoding type for the captured stream and start and stop the capture process
RTP provides end-to-end network delivery services for the transmission of real-time
data. RTP is network and transport-protocol independent, though it is often used over UDP.
RTP can be used over both unicast and multicast network services. Over a J network
service, separate copies of the data are sent from the source to each destination. Over a
J network service, the data is sent from the source only once and the network is
responsible for transmitting the data to multiple locations. Multicasting is more efficient for
many multimedia applications, such as video conferences. The standard Internet Protocol (IP)
supports multicasting.?
RTP Services
?
RTP enables you to identify the type of data being transmitted, determine hat order
the packets of data should be presented in, and synchronize media streams from different
sources. RTP data packets are not guaranteed to arrive in the order that they were sent in fact,
they are not guaranteed to arrive at all. It is up to the receiver to reconstruct the sender·s
packet sequence and detect lost packets using the information provided in the packet header.
-hile RTP does not provide any mechanism to ensure timely delivery or provide other quality
c
c c
ù? Sender Report
ù? Receiver Report
ù? Source Description
ù? Bye
ù? Application-specific
If quality of service is essential for a particular application, RTP can be used over a resource
reservation protocol that provides connection-oriented services.
RTP Architecture
c
c c
To transmit an RTP stream, you use a Processor to produce an RTPencoded Data Source
and construct either a Session Manager or Data Sink to control the transmission. The input to
the Processor can be either stored or live captured data. For stored data, you can use a Media
Locator to identify the file when you create the Processor. For captured data, a capture Data
Source is used as the input to the Processor, as described in Capturing Media Data.
ù? Use a Media Locator that has the parameters of the RTP session to construct an RTP
Data Sink by calling Manager.createDataSink.
ù? Use a session manager to create send streams for the content and control the
transmission.
If you use a Media Locator to construct an RTP Data Sink, you can only transmit the first
stream in the Data Source. If you want to transmit multiple RTP streams in a session or need to
monitor session statistics, you need to use the Session Manager directly. Regardless of how you
choose to transmit the RTP stream, you need to:
ù? Create a Processor with a Data Source that represents the data you want to transmit.
ù? Configure the Processor to output RTP-encoded data.
ù? Get the output from the Processor as a Data Source.
JMF Players and Processors provide the presentation, capture, and data conversion
mechanisms for RTP streams. A separate player is used for each stream received by the session
manager. You construct a Player for an RTP stream through the standard Manager creates
Player mechanism.
You can either, Use a Media Locator that has the parameters of the RTP session and
construct a Player by calling Manager. CreatePlayer (MediaLocator).Construct a Player for a
c
c c
particular ReceiveStream by retrieving the DataSource from the stream and passing it to
Manager.createPlayer (DataSource).
If you use a MediaLocator to construct a Player, you can only present the first RTP stream
that is detected in the session. If you want to play back multiple RTP streams in a session, you
need to use the SessionManager directly and construct a Player for each ReceiveStream.
Network Session Manager Player Data Source
-hen you use a MediaLocator to construct a Player for an RTP session, the Manager
creates a Player for the first stream detected in the session. This Player posts a
RealizeCompleteEvent once data has been detected in the session. By listening for the
RealizeCompleteEvent, you can determine whether or not any data has arrived and if the
Player is capable of presenting any data. Once the Player posts this event, you can retrieve its
visual and control components, because a Player for an RTP media stream doesn·t finish
realizing until data is detected in the session, you shouldn·t try to use
Manager.createRealizedPlayer to construct a Player for an RTP media stream. No Player
would be returned until data arrives and if no data is detected, attempting to create a @
Player would block indefinitely. A Player can export one RTP-specific control, RTPControl,
which provides overall session statistics and can be used for registering dynamic payloads with
the SessionManager.
c
c c
JavaServer Pages (JSP) is a technology based on the Java language and enables the
development of dynamic web sites. JSP was developed by Sun Microsystems to allow server
side development. JSP files are HTML files with special Tags containing Java source code that
provide the dynamic content. JSP source code runs on the web server in the JSP Servlet
Engine. The JSP Servlet engine dynamically generates the HTML and sends the HTML output
to the client·s web browser. JSP is easy to learn and allows developers to quickly produce web
sites and applications in an open and standard way. JSP is based on Java, an object-oriented
language. JSP offers a robust platform for web development. Main reasons to use JSP:
ù? Multi platform
ù? Component reuse by using Javabeans and EJB.
ù? Advantages of Java.
You can take one JSP file and move it to another platform, web server or JSP Servlet engine.
HTML and graphics displayed on the web browser are classed as the presentation layer.
The Java code (JSP) on the server is classed as the implementation. By having a separation of
presentation and implementation, web designers work only one representation and Java
developers concentrate on implementing the application.
1.? The user goes to a web site made using JSP. The user goes to a JSP page (ending with
.jsp). The web browser makes the request via the Internet.
2.? The JSP request gets sent to the -eb server.
3.? The -eb server recognizes that the file required is special (.jsp), therefore passes the JSP
file to the JSP Servlet Engine.
4.? If the JSP file has been called the first time, the JSP file is parsed,
Otherwise go to step 7.
c
c c
5.? The next step is to generate a special Servlet from the JSP file. All the HTML required is
converted to println statements.
6.? The Servlet source code is compiled into a class.
a.? The Servlet is instantiated, calling the and J methods.
b.? HTML from the Servlet output is sent via the Internet.
c.? HTML results are displayed on the user·s web browser.
Linux
The Linux kernel was originally developed for the Intel 80386 CPU's protected mode.
Linux is ideally suited for application development and experimentation with new
languages. Several different compilers, including C, C++, Fortran, Pascal, Modula-2, LISP,
Ada, Basic, and Smalltalk, come with the distribution software. Many of the Linux compilers,
tools, debuggers, and editors are from the Free Software Foundation's GNU project.
Linux in networking
c
c c
Networking is a strong feature of Linux, and will be dealt with in considerable detail
later in this book. You don't have to network your Linux system, of course, but a network is
cheap and simple to install and is a fantastic method for transferring files between systems. You
can network over modems, too, so you can have your friends' Linux machines on a network.
Advantages of Linux
!'/2? "*/$&? &* ? !"? 3$.? !"#$!(/# Tens of thousands of programmers have
reviewed the source code to improve performance, eliminate bugs, and strengthen security.
No other operating system has ever undergone this level of review. This Open Source design
has created most of the advantages listed below.
!'/2? ,"? #,? ("#? #&,'!&.? "/00*$#? !.(. Linux is supported by commercial
distributors, consultants, and by a very active community of users and developers. In 1997, the
Linux community was awarded Info-orld's Product of the Year Award for Best Technical
Support over all commercial software vendors.
!'/2? ,"? '*? ' *$? .*&45!' The availability of source code means that every user and
support provider is empowered to get to the root of technical problems quickly and effectively.
This contrasts sharply with proprietary operating systems, where even top-tier support
providers must rely on the OS vendor for technical information and bug fixes.
!'/2? ,"? #,? #**."? ' ? 00.!&#!*'"? */? ' Programs ranging from the market-
dominating Apache web server to the powerful GIMP graphics editor are included in most
c
c c
Linux distributions. Free and commercial applications meet are available to meet most
application needs.
!'/2? !'#$*0$#"? -!#,? %'? *#,$? #0"? *3? &*%0/#$? ""#%" Linux
communicates using the native networking protocols of Unix, Microsoft -indows 95/NT,
IBM OS/2, Netware, and Macintosh systems and can also read and write disks and partitions
from these and other operating systems.
!'/2?..?3*$?*'?' ?*'?3*$?..66 All changes one makes in Open Source software will
benefit each and everyone, all over the world. -ithout exceptions or constraints.
c
c c
If you've written any Java servlets or JavaServer Pages (JSPs), chances are that you've
downloaded Tomcat. That's because Tomcat is a free, feature-complete servlet container that
servlet and JSP developers can use to test their code. Tomcat is also Sun's reference
implementation of a servlet container, which means that Tomcat's first goal is to be 100%
complaint with the versions of the Servlet and JSP specification that it supports. However,
Tomcat is more than just a test server: many individuals and corporations are using Tomcat in
production environments because it has proven to be quite stable. Indeed, Tomcat is
considered by many to be a worthy addition to the excellent Apache suite of products.
A number of servlet containers are available today. The most popular one³and he one
recognized as the official servlet/JSP container³is Tomcat.
Originally designed by Sun Microsystems, Tomcat source code was handed over to the
Apache Software Foundation in October 1999. In this new home, Tomcat was included as part
of the Jakarta Project, one of the 6 projects of the Apache Software Foundation. -orking
through the Apache process, Apache, Sun, and other companies³with the help of volunteer
programmers worldwide³turned Tomcat into a world-class servlet reference
implementation. Two months after the handover, Tomcat version 3.0 was released. Tomcat
went through several 3.releases until version 3.3 was introduced. The successor of version
3.3 is the current version, version 4.0. The 4.0 servlet container (Catalina) is based on a
completely new architecture and has been developed from the ground up for flexibility and
performance.
Version 4.0 implements the Servlet 2.3 and JSP 1.2 specifications. Another popular
servlet container is JRun from Allaire Corporation. JRun is available in three editions:
Developer, Professional, and Enterprise. The Developer edition is free but not licensed for
deployment. The Professional and Enterprise editions grant you the license for deployment
with a fee. Tomcat by itself is a web server. This means that you can use Tomcat to service
HTTP requests for servlets, as well as static files (HTML, image files, and so on). In practice,
however, since it is faster for non-servlet, non-JSP requests, Tomcat normally is used as a
c
c c
module with another more robust web server, such as Apache web server or Microsoft Internet
Information Server. Only requests for servlets or JSP pages are passed to Tomcat. To write a
servlet, you need at least version 1.2 of the Java Development Kit. Implementation for both
servlets and JSP are not included in J2SE, but they are included in Tomcat. Tomcat is written
purely in Java.
c
c c
c
c c
iSecurity
The project is a full-featured INFRARED security and surveillance program for the
home or business establishments. -e can use this project to monitor your home,
business from a remote location over the Internet using a webcam, either wireless or
wired. It can alert you INSTANTLY at a remote location when motion is detected at
a home location with a pop-up display of the live video. It can also send an SMS to
the mobile phone of that particular Administrator who have requested for the video,
or play an alarm sound. You can see logged video file recordings of detected motion
from anywhere within the LAN. Videos are transmitted through the Internet to IP
addresses of the Administrator, so that he can view the media content from anywhere
just by using Internet alone. Its great for live surveillance.
?
?
?
?
* /."?
c
c c
iii)?Alarm Section
(a)?An alarm set on in order to inform the problem.
(a)It will automatically turn on the light when the motion is detected
c
c c
c
c c
&*%%' ?$$?*3#-$?0&!3!&#!*'?
?
?
?
?
?
?
c
c c
&*%%' ? .!'#?*3#-$?0&!3!&#!*'?
c
c c
SYSTEM ANALYSIS
Description
Requirement Analysis
Requirement analysis is a software-engineering task that brings the gap
between the system-level software allocation and software design. Requirement analysis
enables the system engineer to specify software function and performance, indicates software·s
interface with other system element, and establish constraints that the software must need.
Finally the requirement specification provides the developer and the customer with the means
to access quality once the software is built. Requirement specification places a great deal of
responsibility on the system analyst, because the quality of the work performed at this point
show up latter in the characteristic of the new system.
Purpose
The requirements for the system that will satisfy the need of client and the
concerns of the uses have to be communicated to the developers. Software Requirement
Specification (SRS) is the medium through which the client·s needs are accurately specified;
indeed, SRS forms the basis of software development. A good SRS should satisfy all the parties-
something very hard to achieve and involving tradeoffs and persuasion. The purpose of this
document is to describe the complete external requirements and the interface of the proposed
system ´iSecurityµ
Scope?
This document is only once that describes the requirements of the system. It is
meant for use by developers, and will also be the basis for validating the final delivered system.
Any changes made to the requirements in the future will have togo through afinal change
c
c c
approval process. The developer is responsible for asking clarification,where necessary, and
will not make any alterations with out the permission of the client.
Feasibility Study
Feasibility Study is a test of system proposal according to its work ability, impact on the
organization, ability to meet user needs, and effective use of resources. The objective of a
feasibility study is to acquire a sense of scope of the problem. During the study, the problem is
crystallized, as aspects of the problems to be included in the system are determined.
Consequently costs and benefits are estimated with greater accuracy stage.
Feasibility Considerations
Three key considerations are involved in the feasibility analysis.
÷? Economical Feasibility?
? Technical Feasibility
Ë? Behavioral Feasibility
Economical Feasibility
? Economical analysis system is the most frequently used method for evaluating the
effectiveness of the Candidate system. It is more commonly known as cost/benefit and saving
that are expected from the Candidate System and compare them with costs. It benefits
outweigh costs; the decision is made to design and implement the system. Otherwise, further
justification or alteration in the proposed system will have to be made if it is having a chance of
being approved.
Technical Feasibility
c
c c
Technical feasibility centers on the organization to what extend it can support the proposed
system. The question to be answered is whether the organization is technically sound to
operate the system. The necessary hardware and software must be installed in the organization.
Again, considering the company management, system is presently having sufficient hardware to
implement the new system.
Behavioral Feasibility
People are inherently resistant to change while computers have been to know to facilitate
change. Behavioral feasibility determines how much effort will go into educating, selling and
training the user-staff on the candidate system. If the staff is computer illiterate then only an
introductory training is required for them. Otherwise, they must be given sufficient training is
required in data entry and operating the system.?
c