You are on page 1of 67

1.

INTRODUCTION
The term DDoS whistles past whenever cyber-activism rears up its head en-masse.
These kind of attacks make international headlines because of multiple reasons.
The issues that jumpstart those DDoS attacks are often controversial or highly
political. Since a large number of regular users are affected by the attacks, its an
issue that plays with the people.
erhaps most importantly, a lot of people dont know what constitutes a DDoS
attack. Despite its rising fre!uency, looking at the papers headlines, DDoS attacks
can be anything from digital vandalism to fully-fledged cyber-terrorism.
So what does a DDoS, or Distributed Denial of Service attack entail" #ow does it
work, and how does it affect the intended target and its users" These are important
!uestions, and this is what were going to be focusing on in this instance
of MakeUseOf Explains.
Denial Of Service
$efore we tackle the issue of DDoS, or Distributed Denial of Service attacks, lets
look at the larger group of Denial of Service %DoS& issues.
Denial of Service is a broad issue. Simply put, a website e'periences DoS issues
when it is no longer able to service its regular users. (hen too many people flock
to Twitter, the )ail (hale pops up, indicating that the website has reached and
passed ma'imum capacity. *n essence, Twitter e'periences DoS.
+ost of the time, these issues are instigated without malicious intent. , large
website links to a small website, which isnt built for the same level of traffic.

1.3 ORGANIZATION PROFILE
COMPANY PROFILE
-very career aspiring student wants to study to get a job. -.+,/ focusses to support a student
to complete his 0 her degree so as to get a job. -.+,/ academic support solutions enhance the
employability to bridge the ever widening ,cademics-*ndustry divide.
-.+,/ launched -d1ademy, the academic support programme for -ngineering, and
+anagement students to provide the much needed support for the student to complete a degree
so as to get a job. 2nder this programme, -.+,/ conducts romptive +etrics based .earning
%+.& methods to enhance the performance of students in their semester e'ams so that their
placement prospects become better as they move to final year campus programmes. -d1ademy
at the outset offers three engines of support vi3., .earning -ngine %.-&, ,ssessment -ngine
%,-&, and lacement -ngine %-&.
-d1ademy assures a better students performance rating in their core degree subjects and
assessment essentials. This is achieved by continuous assessments that can be forced upon to
every student by the concerned #oD by unlimited access to -d1ademys .earning -ngine %.-&.
)urther, before the semester e'am, a student can attempt many model papers of a particular
subject which the student feels tough to pass or score high through the ,ssessment -ngine %,-&
of -d1ademy. )inal year students can also access for unlimited job positions through lacement
-ngine %-& of -d1ademy by which virtually an e-campus interview can be organi3ed which
could land a student in a job offer much before he 0 she completes the course.
-d1ademy is planned for other 2niversities in other states as well. -d1ademy is well supported
by -d1lass, a product that makes a student to meet a tutor in a virtual class network %415&to
clarify doubts and also to get !uick lectures on important and difficult topics. There will be both
live and pre-recorded sessions in -d1lass.
-d1ademy with -d1lass is sure to simplify the process of passing e'ams and getting degree with
better grades. Students with -d1ademy of -.+,/ can look for right placements with clients

already getting the information and screening them for their performance which are given as
footprints by the .,+S system seamlessly in web network.
About ELMAQ
-.+,/ is (orld6s first 7th generation education company that uses technology to efficiently
synchroni3e manpower demand and supply in number and skills right from development to
deployment. The si3e of *ndia6s addressable market, favorable demography, growing acceptance
of technology-aided learning, and -.+,/ innovative #umanware -ducation ,nd Deployment
System %#-,DS& coupled with its trademarked content enable rapid growth. *ts business model
is scalable nationally and internationally.
-.+,/ Softsystems .imited is incepted in +ar 899: as -.+,/ Softsystems .td., with an
objective of providing niche training solutions, customised software solutions, and placement
consulting on contract as well as permanent basis to both 1orporate and *nstitutional clients. The
company successfully provided staffing solutions to premier clients during ;<<; to ;<<7 vi3., T*
=roup, T4S =roup, >ffice Tiger, ?S$ umps, *nfosys Technologies, #1. Technologies,
Shasun 1hemicals, #e'aware Technologies, ,shok .eyland, Seshasayee aper @ $oards among
others. -.+,/ ac!uired -.+,/ -D21,T*>5, leading *T Training brand in the South in the
year ;<<A to move aggressively in -ducation @ Training space. -.+,/ employs e-learning and
has patented the education models which seamlessly control the complete learning life-cycle of a
student from development to deployment in a web controlled framework. -.+,/ holds
copyrighted e-contents covering over a do3en domains and verticals.
-.+,/ is promoted by +r. S. =iridharan, as senior technocrat of *ndian *T space who is a
pioneer in Bob oriented education of 9<6s. #e has over ; decades of e'perience in -ducation
having been instrumental in the success of SS* and Cadiant education brands. =iridharan later
led -.+,/ education brand and subse!uently sold to -.+,/ and merged all the businesses
under -.+,/.
-.+,/ provides job linked ne't generation education through *ntegrated .earning +odel
%*.+&. -.+,/ -d1enters, -d1ampuses, and -d1ademys are partner-led and in-campus online
contact centers which are spread across *ndia and South ,sia providing education @ placement
through *.+.

Offerin!
S1#>>.S
PRE"C#OOL$ owerful and magnificent channel of D D animation videos
specially designed for your child. *nteractive learning just a click away. ,
program designed for your child keeping in mind the various levels of aspirations
from basic to advanced. 1ome and e'plore this uni!ue interactive education
platform with your child today. (ith illustrations in the form of stories, games,
!ui33es and more..your child will find it engaging and you useful. -njoy, e'plore
and measure your child6s development with interesting and captivating graphics
like never before.
PRIMARY$ owerful and magnificent channel of D D animation videos specially
designed for your child. *nteractive learning just a click away. , program
designed for your child keeping in mind the various levels of aspirations from
basic to advanced. 1ome and e'plore this uni!ue interactive education platform
with your child today. (ith illustrations in the form of stories, games, !ui33es and
more. Eour child will find it engaging and you useful. -njoy, e'plore and
measure your child6s development with interesting and captivating graphics like
never before.
MIDDLE$ The best way to build a 5ation is at )oundation The S+,CT 1.,.
program - .earning 1oncepts.,pplication and roblem solving. .ays solid
foundation for your preparation for >lympaids05TS- and similar e'ams.
"ECONDARY$ -.+,/ is fully cogni3ant of your problems of getting the
e'pert tutor, wasting more of your productive time in travelling, paying high fees,
and still scoring less marks in your relentless pursuit to look for a perfect tuition
support for your subjects.>ur solution is to connect you to e'pert tutors live from
the comfort of your home at a fraction of the tuition fee that you are paying or
will be paying.
#IG#ER "ECONDARY$
T-ST C-

IIT%EE$ >ur uni!ue program provides the following contents to prepare you
ade!uately for the rigors of the **TB-- e'amF
i. :8 -'haustive chapters covering all topics prescribed for **TB--.
ii. ;G<<H videos containing lectures by senior professors and top **Tians
covering everything from the very basic fundamentals and tips, tricks and
shortcut methods to help you solve advanced level **T B-- roblems.
iii. -'posure to about 8<<<<H uni!ue problems spread over the **TB--
syllabus
iv. tate-of-the-,rt ,ssessment -ngine with an e'tensive online database of
thousands of !uestions e'actly on the level of **TB-- e'amination to build
your speed and accuracy thereby ensuring nothing is left to chance
v. ;< hours of access to **TB-- learning module and ,ssessment -ngine.
AIEEE$ >ur uni!ue program provides the following contents to prepare you
ade!uately for the rigors of the ,*--- e'amF
i. I< chapters spanning all topics in ,*--- across physics, chemistry and
mathematics
ii. 87<<H videos containing lectures by senior professors covering everything
from the very basic fundamentals and tips, tricks and shortcut methods to
help you solve advanced level ,*--- roblems.
iii. -'posure to about G<<<H uni!ue problems spread over the ,*---
syllabus
iv. State-of-the-,rt ,ssessment -ngine with an e'tensive online database of
thousands of !uestions e'actly on the level of ,*--- e'amination to build
your speed and accuracy thereby ensuring nothing is left to chance.
v. =et access to ,*--- learning module and ,ssessment -ngine.
OLYMPAID$ The 1entral $oard of Secondary -ducation conducts the 5ational
*nformatics >lympiad in collaboration with the *ndian ,ssociation for Cesearch
in 1omputing Science %*,C1S&, +umbai, across the country and abroad. The
e'amination which is held in two stages is open to all the students of classes 4***
to J** studying in 1$S- schools as well as other $oards in the country. ,t
lampsglow we believe the best way to build a 5ation is at )oundation. The
S+,CT 1.,. program - .earning 1oncepts. ,pplication and roblem solving.
The program lays a solid foundation for your childs preparation for >lympaids
and similar e'ams.

NT"E$ 51-CT awards 8<<< Scholarships to the talented students of 1lass 4***
each year through its 5ational Talent Search Scheme and then nurture the talent
by way of providing financial assistance in the form of both monthly scholarship
and annual book grant. ,t lampsglow we believe the best way to build a 5ation is
at )oundation. The S+,CT 1.,. program - .earning 1oncepts.,pplication and
roblem solving. The program lays a solid foundation for your childs preparation
for 5TS- and similar e'ams.
25D-C=C,D2,T-0>ST =C,D2,T-
IT "&ILL"$ -.+,/ brings A *T courses that matter most to the studies of an
undergraduate or anyone looking to enhance their career at every stage of growth.
To access all and read through those A star courses vi3., 1omputer )undamentals,
+S->ffice, 1, 1HH, Bava, Softskills, and 5umerical ,bility and more.
ENGINEERING "TUDY$ Taking education to your door steps. )or all those
students looking at improving and enhancing their academic endeavors K
-.+,/ offers video lessons that enhance the !uality of your revisions and re
revisions. Cevisions that are the the most crucial part of e'am preparation, are just
a click away. Take the lessons anytime, anywhere at your convenience.
ENGINEERING PREP$ )or aspiring -ngineers of ,nna 2niversity and ,ll
*ndia -ngineering e'ams can pass your ,55, 25*4-CS*TE -ngineering
Semester or -ngineering e'ams easily by scoring high marks. -.+,/ offers
unlimited ,ccess to +>D-. T-ST ,-CS through our online -.+,/
.,+S=.>( anywhere, anytime to clear your arrears and to look for careers L
Mractice until you perfect - try it and e'perience the perfection that you so much
wanted. ,ppear in your e'ams with greater confidence. -ngineering support tests
has practice papers just for that.M
P'rtner!
, Distributor is appointed for each postal pin code. Distributor is authori3ed to sell all products
displayed under .= through dealer6s network. Distributor can enter .= site and create his0her
own login under the distributors column at no cost basis which will be e'clusively owned by the
distributor. The entry )ee for a distributor per pin code is nominal considering the marketing
support they would get in their region from us. , Distributor gets the edcredits in his0her login
and also in his mobile phone as registered in .=.

The distributor then appoints Dealers under his area of operation vi3F the pin code for which the
distributor has paid. , distributor has the freedom to appoint as many dealers as possible in the
said pin code . 2pon receiving payment from dealers , a distributor has to transfer part of
-d1redits as agreed to the dealer which can done through by transferring the same from
distributors login to dealers login.
, distributor can sell the stocks to none other than registered and paid up dealers.
P'()ent to*'r+! E+,re+it tr'n!fer -'i+ b( +e'.er to +i!tributor.
C.ient! /enefit!
*ndustry that benefits out of #-,DS model is wide. $oth *T and non-*T verticals and domains
are addressed. The divide between the academics and industry is ever widening especially after
*ndia is projected as a sole source for humanware in *nformation Technology sector. *nstitutions
focus so much on *T that core industry suffers from lack of !ualified and trained resources.
-.+,/ as a strategy focuses in generating competent fresher for non-*T domains upto A<N of
its business. *t is e'pected that a lot of support would come from the student resources for non-*T
positions considering the fact that the core industries pay-packs are better and the student6s
knowledge levels are low at the moment about non-*T opportunities. )urther the #-,DS model
is strictly automated upto a job offer after a strict training and assessment.
, client company, as industry, is always looking at employable manpower resource as a fresher
at volumes. (ith -.+,/ #-,DS model, the client company can breathe easy and plan the
project schedules better with pre-determined lead time in a proactive way. The .,+S portal
has its entry point for every such client who can enter their preferences, candidate6s background,
curriculum essentials with assessment criteria, and commit on a defined job offers.
(ith rupee appreciating, it may sound interesting for companies to look into our one-stop-shop
solution of providing them with the e'act set of their dream resources by taking care of the
followingF
The e'act re!uirements of fresher and the lead-time before they have to be inducted into
your actual project
-ntry-level criteria
The curriculum of training to be done on them
The choice of colleges

The choice of academic e'cellence
The likely compensation package vs !ualification and training performance
The other wish-list in terms of job-fitment straight from the college
>nce clients sign-up with us with all those crucial information as your specification, they are put
up in their own digital-dashboard of what is going on from inside our automated learning system
for their selected chunks of fresher registered through our dealer gateways.
Cather their #C is directed through our digital window right from the time of the course
enrolment up to the final grading out of the regular *.T sessions with strictly controlled
assessments as per their specification (hat6s more, the e'actly matched resources to client6s
specification automatically get their Bob *ntent on your approval from their #C who operates in
our system through a secured access login on a continuous basis.
The specifications as well as their selected resources are secured and protected till the end.
-nough fle'ibility is given in our model to ensure a client doesn6t lose out any including the
timeframe that they are waiting for. , client may not step out of their office to achieve this 8<<N
matched-resource-making e'ercise. ,nd all these may cost a client as low as ;<N of the cost-
burn otherwise spent on their own e'ercise of trial-runsL
In0e!tor!
ELMAQ is Indias only company to have seamelessly integrated education and
placement end-to-end in partner based web network. ELMAQ ocusses on the bottom o
the pyramid! the "eal India! the hugely recession-proo market having the continuous
need or aordable education and a career growth path and guidance.
ELMAQ came out with the I#$ successully in %ebruary &''( and is now listed in )*E
and +*E! India,s premier stock e-changes. ELMAQ has consolidated its presence in
.amil +adu as a principal /ob linked e-learning solution provider through partner driven
network or the masses growing signiicantly rom 01 odd partner centers /ust beore
I#$ to &'' by Aug &''(. .he company rolled out Ed2ampus! Ed2ademy! and
Ed2enters with Ed2lass that oer learning! /obs! metrics! and live lectures online and
in-campus.

.he ELMAQ strives to provide the ne-t generation education system that matches
demand-supply in scale and 3uality! reach and spread! and bridges the Academics-
Industry divide by technology-led! career integrated learning ramework through its last
mile stretching network.
.he uture plans include providing end-to-end school solutions to guide every student
rom 4-5& to 2areers. 2omprehensive industry demand aligned education shall be
deployed to schools. ELMAQ believes strongly that students at their younger age are in
a better position to seed with apt careers by way o skill developments with industry
orientation suiting to their aptitude and the lair or e-cellence in a particular ield.

1."Y"TEM REQUIREMENT"
1.1 #'r+*'re Re2uire)ent!
rocessor F Dual core ;.<=#O
#ard Disk F D;<=$ #DD
C,+ F ; =$ C,+
+onitor F 87 .1D +onitor
?eyboard F +ultimedia ?eyboard
+ouse F >ptical +ouse
1.1"oft*'re Re2uire)ent!
>perating environment F (indows Aultimate
)ront end F cP.net
$ack end F S!l Server ;<<G

3. "OFT3ARE O4ER4IE3
3.1 .NET Fr')e*or5
5ow that you are familiar with the major goals of the .5-T )ramework,
let6s briefly e'amine its architecture. ,s you can see in )igure D.;, the .5-T
)ramework sits on top of the operating system, which can be a few different
flavors of (indows and consists of a number of components. . 5-T is essentially a
system application that runs on (indows.

Fi$ 3.1.1 .NET Fr')e*or5
1onceptually, the 1.C and the B4+ are similar in that they are both runtime
infrastructures that abstract the underlying platform differences. #owever, while
the B4+ officially supports only the Bava language, the 1.C supports any
language that can be represented in its 1ommon *ntermediate .anguage %1*.&. The
B4+ e'ecutes byte code, so it can, in principle, support many languages, too.
2nlike Bava6s byte code, though, 1*. is never interpreted. ,nother conceptual
difference between the two infrastructures is that Bava code runs on any platform
with a B4+, whereas .5-T code runs only on platforms that support the 1.C.

T6e Co))on L'nu'e Runti)e
,t the heart of the .5-T )ramework is the common language runtime. The
common language runtime is responsible for providing the e'ecution environment
that code written in a .5-T language runs under. The common language runtime
can be compared to the 4isual $asic I runtime, e'cept that the common language
runtime is designed to handle all .5-T languages, not just one, as the 4isual $asic
I runtime did for 4isual $asic I. The following list describes some of the benefits
the common language runtime gives youF
,utomatic memory management
1ross-language debugging
1ross-language e'ception handling
)ull support for component versioning
,ccess to legacy 1>+ components
J1>E deployment
Cobust security model
Eou might e'pect all those features, but this has never been possible using
+icrosoft development tools. )igure 7.8.; shows where the common language
runtime fits into the .5-T )ramework.

Fi$ 3.1.1 T6e ,o))on .'nu'e runti)e.
1ode written using a .5-T language is known as managed code. 1ode that
uses anything but the common language runtime is known as unmanaged code.
The common language runtime provides a managed e'ecution environment for
.5-T code, whereas the individual runtimes of non-.5-T languages provide an
unmanaged e'ecution environment.
In!i+e t6e Co))on L'nu'e Runti)e
The common language runtime enables code running in its e'ecution
environment to have features such as security, versioning, memory management
and e'ception handling because of the way .5-T code actually e'ecutes. (hen
you compiled 4isual $asic I forms applications, you had the ability to compile
down to native node or p-code.

Fi$ 3.1.3 4i!u'. /'!i, 7 ,o)-i.er o-tion! +i'.o.
(hen you compile your applications in .5-T, you aren6t creating anything
in native code. (hen you compile in .5-T, you6re converting your codeQno
matter what .5-T language you6re usingQinto an assembly made up of an
intermediate language called +icrosoft *ntermediate .anguage.
The file format for the *. is known as - %portable e'ecutable& format, which
is a standard format for processor-specific e'ecution.
(hen a user or another component e'ecutes your code, a process occur
called just-in-time %B*T& compilation, and it6s at this point that the *. is converted
into the specific machine language of the processor it6s e'ecuting on. This makes it
very easy to port a .5-T application to any type of operating system on any type of
processor because the *. is simply waiting to be consumed by a B*T compiler.
(hen the *. code is B*Tted into machine-specific language, it does so on an
as-needed basis. *f your assembly is 8<+$ and the user is only using a fraction of
that 8<+$, only the re!uired *. and its dependencies are compiled to machine

language. This makes for a very efficient e'ecution process. $ut during this
e'ecution, how does the common language runtime make sure that the *. is
correct" $ecause the compiler for each language creates its own *., there must be a
process that makes sure what6s compiling won6t corrupt the system. The process
that validates the *. is known as verification. )igure 7.8.7 demonstrates the process
the *. goes through before the code actually e'ecutes.
Fi$ 3.1.8 T6e %IT -ro,e!! 'n+ 0erifi,'tion
(hen code is B*T compiled, the common language runtime checks to make
sure that the *. is correct. The rules that the common language runtime uses for
verification are set forth in the 1ommon .anguage Specification %1.S& and the
1ommon Type System %1TS&.
T6e .NET Fr')e*or5 C.'!! Libr'r(
The second most important piece of the .5-T )ramework is the .5-T
)ramework class library %)1.&. ,s you6ve seen, the common language runtime
handles the dirty work of actually running the code you write. $ut to write the
code, you need a foundation of available classes to access the resources of the
operating system, database server, or file server. The )1. is made up of a

hierarchy of namespaces that e'pose classes, structures, interfaces, enumerations,
and delegates that give you access to these resources.
T6e "tru,ture of ' .NET A--.i,'tion
To understand how the common language runtime manages code e'ecution,
you must e'amine the structure of a .5-T application. The primary unit of a .5-T
application is the assembly. ,n assembly is a self-describing collection of code,
resources, and metadata. The assembly manifest contains information about what
is contained within the assembly.
The assembly manifest providesF
*dentity information, such as the assemblys name and version number
, list of all types e'posed by the assembly
, list of other assemblies re!uired by the assembly
, list of code access security instructions, including permissions re!uired by
the assembly and permissions to be denied the assembly
-ach assembly has one and only one assembly manifest, and it contains all
the description information for the assembly. #owever, the assembly manifest can
be contained in its own file or within one of the assemblys modules.
Co)-i.'tion 'n+ E9e,ution of ' .NET A--.i,'tion
(hen you compile a .5-T application, it is not compiled to binary machine
codeR rather, it is converted to *.. This is the form that your deployed application
takesQone or more assemblies consisting of e'ecutable files and D.. files in *.
form. ,t least one of these assemblies will contain an e'ecutable file that has been
designated as the entry point for the application.

(hen e'ecution of your program begins, the first assembly is loaded into
memory. ,t this point, the common language runtime e'amines the assembly
manifest and determines the re!uirements to run the program. *t e'amines security
permissions re!uested by the assembly and compares them with the systems
security policy. *f the systems security policy does not allow the re!uested
permissions, the application will not run. *f the application passes the systems
security policy, the common language runtime e'ecutes the code. *t creates a
process for the application to run in and begins application e'ecution.
The .5-T )ramework base class library contains the base classes that provide
many of the services and objects you need when writing your applications. The
class library is organi3ed into namespaces. , namespace is a logical grouping of
types that perform related functions. 5amespaces are logical groupings of related
classes. The namespaces in the .5-T base class library are organi3ed
hierarchically. The root of the .5-T )ramework is the System namespace. >ther
namespaces can be accessed with the period operator. , typical namespace
construction appears as followsF
System
System.Data
System.Data.S/.1lient
The first e'ample refers to the System namespace. The second refers to the
System.Data namespace. The third e'ample refers to the System.Data.S/.1lient
namespace. Table 8.8 introduces some of the more commonly used .5-T base
class namespaces.

Intro+u,tion to Ob:e,t;Oriente+ Pror'))in
rogramming in the .5-T )ramework environment is done with objects.
>bjects are programmatic constructs that represent packages of related data and
functionality. >bjects are self-contained and e'pose specific functionality to the
rest of the application environment without detailing the inner workings of the
object itself. >bjects are created from a template called a class. The .5-T base
class library provides a set of classes from which you can create objects in your
applications. Eou also can use the +icrosoft 4isual Studio programming
environment to create your own classes. This lesson introduces you to the concepts
associated with object-oriented programming.
Ob:e,t!< Me)ber!< 'n+ Ab!tr',tion
,n object is a programmatic construct that represents something. *n the
real world, objects are cars, bicycles, laptop computers, and so on. -ach of these
items e'poses specific functionality and has specific properties. *n your
application, an object might be a form, a control such as a button, a database
connection, or any of a number of other constructs. -ach object is a complete
functional unit, and contains all of the data and e'poses all of the functionality
re!uired to fulfill its purpose. The ability of programmatic objects to represent real-
world objects is called abstraction.
C.'!!e! Are Te)-.'te! for Ob:e,t!
1lasses were discussed in 1hapter 8 and represent user-defined reference
types. 1lasses can be thought of as blueprints for objectsF they define all of the
members of an object, define the behavior of an object, and set initial values for
data when appropriate. (hen a class is instantiated, an in-memory instance of that
class is created. This instance is called an object. To review, a class is instantiated
using the 5ew %new& keyword as followsF

4isual $asic .5-T
6 Declares a variable of the (idget type
Dim my(idget ,s (idget
6 *nstantiates a new (idget object and assigns it to the my(idget
6 variable
my(idget S 5ew (idget%&
(hen an instance of a class is created, a copy of the instance data defined by
that class is created in memory and assigned to the reference variable. *ndividual
instances of a class are independent of one another and represent separate
programmatic constructs.
There is generally no limit to how many copies of a single class can be
instantiated at any time. To use a real-world analogy, if a car is an object, the plans
for the car are the class. The plans can be used to make any number of cars, and
changes to a single car do not, for the most part, affect any other cars.
Ob:e,t! 'n+ Me)ber!
>bjects are composed of members. +embers are properties, fields, methods,
and events, and they represent the data and functionality that comprise the object.
)ields and properties represent data members of an object. +ethods are actions the
object can perform, and events are notifications an object receives from or sends to
other objects when activity happens in the application.
Ob:e,t Mo+e.!
Simple objects might consist of only a few properties, methods, and perhaps
an event or two. +ore comple' objects might re!uire numerous properties and
methods and possibly even subordinate objects. >bjects can contain and e'pose
other objects as members.

Similarly, every instance of the )orm class contains and e'poses a 1ontrols
collection that comprises all of the controls contained by the form. The object
model defines the hierarchy of contained objects that form the structure of an
object.
En,'-!u.'tion
-ncapsulation is the concept that implementation of an object is
independent of its interface. ut another way, an application interacts with an
object through its interface, which consists of its public properties and methods. ,s
long as this interface remains constant, the application can continue to interact with
the component, even if implementation of the interface was completely rewritten
between versions.
Po.()or-6i!)
olymorphism is the ability of different classes to provide different
implementations of the same public interfaces. *n other words, polymorphism
allows methods and properties of an object to be called without regard for the
particular implementation of those members. There are two principal ways through
which polymorphism can be providedF interface polymorphism and inheritance
polymorphism.
Interf',e Po.()or-6i!)
,n interface is a contract for behavior. -ssentially, it defines the members a
class should implement, but states nothing at all about the details of that
implementation. ,n object can implement many different interfaces, and many
diverse classes can implement the same interface. ,ll objects implementing the
same interface are capable of interacting with other objects through that interface.

In6erit'n,e Po.()or-6i!)
*nheritance allows you to incorporate the functionality of a previously
defined class into a new class and implement different members as needed. , class
that inherits another class is said to derive from that class, or to inherit from that
class. , class can directly inherit from only one class, which is called the base
class. The new class has the same members as the base class, and additional
members can be added as needed. ,dditionally, the implementation of base
members can be changed in the new class by overriding the base class
implementation. *nherited classes retain all the characteristics of the base class and
can interact with other objects as though they were instances of the base class.
C=.Net$
1P is an elegant and type-safe object-oriented language that enables
developers to build a variety of secure and robust applications that run on the .5-T
)ramework. Eou can use 1P to create traditional (indows client applications,
J+. (eb services, distributed components, client-server applications, database
applications, and much, much more. 4isual 1P provides an advanced code editor,
convenient user interface designers, integrated debugger, and many other tools to
make it easier to develop applications based on version 7.< of the 1P language and
version 7.< of the .5-T )ramework.
1P synta' is highly e'pressive, 1P makes it easy to develop software components
through several innovative language constructs, including the followingF

-ncapsulated method signatures called delegates, which enable type-safe event
notifications.
roperties, which serve as accessors for private member variables.
,ttributes, which provide declarative metadata about types at run time.
*nline J+. documentation comments.
.anguage-*ntegrated /uery %.*5/& which provides built-in !uery capabilities
across a variety of data sources.
yet it is also simple and easy to learn. The curly-brace synta' of 1P will be
instantly recogni3able to anyone familiar with 1, 1HH or Bava. Developers who
know any of these languages are typically able to begin to work productively in 1P
within a very short time. 1P synta' simplifies many of the comple'ities of 1HH
and provides powerful features such as nullable value types, enumerations,
delegates, lambda e'pressions and direct memory access, which are not found in
Bava. 1P supports generic methods and types, which provide increased type safety
and performance, and iterators, which enable implementers of collection classes to
define custom iteration behaviors that are simple to use by client code. .anguage-
*ntegrated /uery %.*5/& e'pressions make the strongly-typed !uery a first-class
language construct.

,s an object-oriented language, 1P supports the concepts of encapsulation,
inheritance, and polymorphism. ,ll variables and methods, including the +ain
method, the application6s entry point, are encapsulated within class definitions. ,
class may inherit directly from one parent class, but it may implement any number
of interfaces. +ethods that override virtual methods in a parent class re!uire the
override keyword as a way to avoid accidental redefinition. *n 1P, a struct is like a
lightweight classR it is a stack-allocated type that can implement interfaces but does
not support inheritance. The 1P build process is simple compared to 1 and 1HH
and more fle'ible than in Bava. There are no separate header files, and no
re!uirement that methods and types be declared in a particular order. , 1P source
file may define any number of classes, structs, interfaces, and events.
1P programs run on the .5-T )ramework, an integral component of
(indows that includes a virtual e'ecution system called the common language
runtime %1.C& and a unified set of class libraries. The 1.C is the commercial
implementation by +icrosoft of the common language infrastructure %1.*&, an
international standard that is the basis for creating e'ecution and development
environments in which languages and libraries work together seamlessly.
Source code written in 1P is compiled into an intermediate language %*.& that
conforms to the 1.* specification. The *. code and resources, such as bitmaps and
strings, are stored on disk in an e'ecutable file called an assembly, typically with

an e'tension of .e'e or .dll. ,n assembly contains a manifest that provides
information about the assembly6s types, version, culture, and security re!uirements.
(hen the 1P program is e'ecuted, the assembly is loaded into the 1.C, which
might take various actions based on the information in the manifest. Then, if the
security re!uirements are met, the 1.C performs just in time %B*T& compilation to
convert the *. code to native machine instructions. The 1.C also provides other
services related to automatic garbage collection, e'ception handling, and resource
management. 1ode that is e'ecuted by the 1.C is sometimes referred to as
Mmanaged code,M in contrast to Munmanaged codeM which is compiled into native
machine language that targets a specific system. The following diagram illustrates
the compile-time and run-time relationships of 1P source code files, the .5-T
)ramework class libraries, assemblies, and the 1.C.
Di!tinui!6in fe'ture!
1P supports strongly typed implicit variable declarations with the keyword
var, and implicitly typed arrays with the keyword newTU followed by a
collection initiali3e.
+eta programming via 1P attributes is part of the language. +any of these
attributes duplicate the functionality of =116s and 4isual1HH6s platform-
dependent preprocessor directives.
.ike 1HH, and unlike Bava, 1P programmers must use the keyword virtual to
allow methods to be overridden by subclasses.

Extension methods in 1P allow programmers to use static methods as if they
were methods from a class6s method table, allowing programmers to add
methods to an object that they feel should e'ist on that object and its
derivatives.
The type dynamic allows for run-time method binding, allowing for
BavaScript like method calls and run-time object composition.
1P has strongly typed and verbose function pointer support via the keyword
delegate.
The 1P languages does not allow for global variables or functions. ,ll
methods and members must be declared within classes. Static members of
public classes can substitute for global variables and functions.
.ocal variables cannot shadow variables of the enclosing block, unlike 1
and 1HH.
, 1P namespace provides the same level of code isolation as a Bava package
or a 1HH namespace, with very similar rules and features to a package.
1P supports a strict $oolean data type, bool. Statements that take conditions,
such as while and if, re!uire an e'pression of a type that implements the true
operator, such as the $oolean type. (hile 1HH also has a $oolean type, it
can be freely converted to and from integers, and e'pressions such as if%a&
re!uire only that a is convertible to bool, allowing a to be an int, or a pointer.
1P disallows this Minteger meaning true or falseM approach, on the grounds
that forcing programmers to use e'pressions that return e'actly bool can

prevent certain types of common programming mistakes in 1 or 1HH such
as if %a S b& %use of assignment S instead of e!uality SS&.
C'teorie! of +'t' t(-e!
1TS separates data types into two categories.
8. 4alue types
;. Ceference types
*nstances of value types do not have referential identity nor referential comparison
semantics - e!uality and ine!uality comparisons for value types compare the actual
data values within the instances, unless the corresponding operators are
overloaded. 4alue types are derived from System.4alueType, always have a
default value, and can always be created and copied. Some other limitations on
value types are that they cannot derive from each other %but can implement
interfaces& and cannot have an e'plicit default %parameter less& constructor.
-'amples of value types are all primitive types, such as int %a signed D;-bit
integer&, float %a D;-bit *--- floating-point number&, char %a 8I-bit 2nicode code
unit&, and System.DateTime %identifies a specific point in time with nanosecond
precision&. >ther e'amples are enum %enumerations& and struct %user defined
structures&.
*n contrast, reference types have the notion of referential identity - each instance of
a reference type is inherently distinct from every other instance, even if the data

within both instances is the same. This is reflected in default e!uality and
ine!uality comparisons for reference types, which test for referential rather than
structural e!uality, unless the corresponding operators are overloaded %such as the
case for System. String&. *n general, it is not always possible to create an instance
of a reference type, nor to copy an e'isting instance, or perform a value
comparison on two e'isting instances, though specific reference types can provide
such services by e'posing a public constructor or implementing a corresponding
interface %such as *1loneable or *ncomparable&. -'amples of reference types are
object %the ultimate base class for all other 1P classes&, System. String %a string of
2nicode characters&, and System. ,rray %a base class for all 1P arrays&.
$oth type categories are e'tensible with user-defined types.
Co+e ,o))ent!
1P utili3es a double slash %00& to indicate the rest of the line is a comment.
This is inherited from cHH
public class )oo
V
00 a comment
public static void $ar%int first ,ram& VW 00 also a comment
W
+ulti-line comments can start with slash-asterisk %0X& and end asterisk-slash
%X0&. This is inherited from standard 1. public class )oo

V
0X , +ulti-.ine
comment X0
public static void $ar%int firstaram& VW
W
, 1P developer with strong severside and multithreading skills is re!uired to join a
leading investment banks front office )J team to work on an options pricing desk.
o Declaration
o *nstantiation
o *nvocation
, very basic e'ample %SimpleDelegate8.cs&F
using SystemR
namespace ,kadia.$asicDelegate
V
00 Declaration
-ub.i, +e.e'te 0oi+ "i)-.eDe.e'te>?@
class Test Delegate
V
public static void M(Fun,%&

V
1onsole.(rite.ine%M* was called by delegate ...M&R
W
public static void +ain%&
V
00 *nstantiation
"i)-.eDe.e'te !i)-.eDe.e'te A ne* "i)-.eDe.e'te>M(Fun,?@
00 *nvocation
!i)-.eDe.e'te>?@
W
W
W
3.1 "2. "er0er 1BBC

+icrosoft S/. Server is a relational database management system
developed by +icrosoft. ,s a database, it is a software product whose
primary function is to store and retrieve data as re!uested by other software
applications, be it those on the same computer or those running on another
computer across a network %including the *nternet&. There are at least a
do3en different editions of +icrosoft S/. Server aimed at different
audiences and for different workloads %ranging from small applications that
store and retrieve data on the same computer, to millions of users and
computers that access huge amounts of data from the *nternet at the same
time&. *ts primary !uery languages are T-S/. and ,5S* S/.. "QL "er0er
1BBC
S/. Server ;<<G %formerly codenamed MEukonM& released in >ctober ;<<G. *t
included native support for managing J+. data, in addition to relational data. )or
this purpose, it defined an 'ml data type that could be used either as a data type in
database columns or as literals in !ueries. J+. columns can be associated with
JSD schemasR J+. data being stored is verified against the schema. J+. is
converted to an internal binary data type before being stored in the database.
Speciali3ed inde'ing methods were made available for J+. data. J+. data is
!ueried using /ueryR S/. Server ;<<G added some e'tensions to the T-S/.
language to allow embedding J/uery !ueries in T-S/.. *n addition, it also
defines a new e'tension to J/uery, called J+. D+. that allows !uery-based
modifications to J+. data. S/. Server ;<<G also allows a database server to be

e'posed over web services using Tabular Data Stream %TDS& packets encapsulated
within S>, protocol re!uests. (hen the data is accessed over web services,
results are returned as J+..
S/. Server ;<<G introduced M+,CSM %+ultiple ,ctive Cesults Sets&, a method of
allowing usage of database connections for multiple purposes
.
+icrosoft makes S/. Server available in multiple editions, with different feature
sets and targeting different users.
M'in!tre') e+ition!
Datacenter
S/. Server ;<<: C; Datacenter is the full-featured edition of S/. Server
and is designed for datacenters that need the high levels of application
support and scalability. *t supports ;GI logical processors and virtually
unlimited memory. 1omes with Stream *nsight remium edition.
U
The
Datacenter edition has been retired in S/. Server ;<8;R all its features are
available in S/. Server ;<8; -nterprise -dition.
-nterprise
S/. Server -nterprise -dition includes both the core database engine and
add-on services, with a range of tools for creating and managing a S/.
Server cluster. *t can manage databases as large as G;7 petabytes and
address ; terabytes of memory and supports : physical processors. S/.
;<8; -dition supports 8I< hysical rocessors
U

Standard
S/. Server Standard edition includes the core database engine, along with
the stand-alone services. *t differs from -nterprise edition in that it supports
fewer active instances %number of nodes in a cluster& and does not include
some high-availability functions such as hot-add memory %allowing memory
to be added while the server is still running&, and parallel inde'es.
(eb
S/. Server (eb -dition is a low-T1> option for (eb hosting.
$usiness *ntelligence
*ntroduced in S/. Server ;<8; and focusing on Self Service and 1orporate
$usiness *ntelligence. *t includes the Standard -dition capabilities and
$usiness *ntelligence toolsF owerivot, ower 4iew, the $* Semantic
+odel, +aster Data Services, Data /uality Services and '4elocity in-
memory analytics
(orkgroup
S/. Server (orkgroup -dition includes the core database functionality but
does not include the additional services. 5ote that this edition has been
retired in S/. Server ;<8;
-'press
S/. Server -'press -dition is a scaled down, free edition of S/. Server,
which includes the core database engine. (hile there are no limitations on
the number of databases or users supported, it is limited to using one

processor, 8 =$ memory and 7 =$ database files %8< =$ database files
from S/. Server -'press ;<<: C;& *t is intended as a replacement for
+SD-. Two additional editions provide a superset of features not in the
original -'press -dition. The first is "QL "er0er E9-re!! *it6 Too.!,
which includes S/. Server +anagement Studio $asic. "QL "er0er
E9-re!! *it6 A+0'n,e+ "er0i,e! adds full-te't search capability and
reporting services.
De+itE "-e,i'.iFe+ e+ition!
,3ure
+icrosoft S/. ,3ure Database is the cloud-based version of +icrosoft S/.
Server, presented as software as a service on ,3ure Services latform.
1ompact %S/. 1-&
The compact edition is an embedded database engine. 2nlike the other
editions of S/. Server, the S/. 1- engine is based on S/. +obile
%initially designed for use with hand-held devices& and does not share the
same binaries. Due to its small si3e %8 +$ D.. footprint&, it has a markedly
reduced feature set compared to the other editions. )or e'ample, it supports
a subset of the standard data types, does not support stored procedures or
4iews or multiple-statement batches %among other limitations&. *t is limited
to 7 =$ ma'imum database si3e and cannot be run as a (indows service,
1ompact -dition must be hosted by the application using it. The D.G version

includes supports ,D>.5-T Synchroni3ation Services. S/. 1- does not
support >D$1 connectivity, unlike S/. Server proper.
Developer
S/. Server Developer -dition includes the same features as S/. Server
;<8; -nterprise -dition, but is limited by the license to be only used as a
development and test system, and not as production server. This edition is
available to download by students free of charge as a part of +icrosoft6s
DreamSpark program.
-mbedded %SS--&
S/. Server ;<<G -mbedded -dition is a specially configured named
instance of the S/. Server -'press database engine which can be accessed
only by certain (indows Services.
-valuation
S/. Server -valuation -dition, also known as the Trial Edition, has all the
features of the -nterprise -dition, but is limited to 8:< days, after which the
tools will continue to run, but the server services will stop.
)ast Track
S/. Server )ast Track is specifically for enterprise-scale data warehousing
storage and business intelligence processing, and runs on reference-
architecture hardware that is optimi3ed for )ast Track.
.ocalD$

*ntroduced in S/. Server -'press ;<8;, .ocalD$ is a minimal, on-demand,
version of S/. Server that is designed for application developers. *t can also
be used as an embedded database0.
arallel Data (arehouse %D(&
, massively parallel processing %+& S/. Server appliance optimi3ed for
large-scale data warehousing such as hundreds of terabytes
U
Datawarehouse ,ppliance -dition
re-installed and configured as part of an appliance in partnership with Dell
@ # base on the )ast Track architecture. This edition does not include S/.
Server *ntegration Services, ,nalysis Services, or Ceporting Services.
Architecture
The protocol layer implements the e'ternal interface to S/. Server. ,ll operations
that can be invoked on S/. Server are communicated to it via a +icrosoft-defined
format, called Tabular Data Stream %TDS&. TDS is an application layer protocol,
used to transfer data between a database server and a client. *nitially designed and
developed by Sybase *nc. for their Sybase S/. Server relational database engine
in 89:7, and later by +icrosoft in +icrosoft S/. Server, TDS packets can be
encased in other physical transport dependent protocols, including T10*, 5amed
pipes, and Shared memory. 1onse!uently, access to S/. Server is available over
these protocols. *n addition, the S/. Server ,* is also e'posed over web
services.

Data storage
Data storage is a database, which is a collection of tables with typed columns. S/.
Server supports different data types, including primary types such as Integer,
Float, Decimal, Char %including character strings&, Varchar %variable length
character strings&, binary %for unstructured blobs of data&, Text %for te'tual data&
among others. The rounding of floats to integers uses either Symmetric ,rithmetic
Counding or Symmetric Cound Down %Fix& depending on argumentsF S-.-1T
Cound%;.G, <& gives D.
+icrosoft S/. Server also allows user-defined composite types %2DTs& to be
defined and used. *t also makes server statistics available as virtual tables and
views %called Dynamic +anagement 4iews or D+4s&. *n addition to tables, a
database can also contain other objects including views, stored procedures, inde'es
and constraints, along with a transaction log. , S/. Server database can contain a
ma'imum of ;
D8
objects, and can span multiple >S-level files with a ma'imum file
si3e of ;
I<
bytes.
TD9U
The data in the database are stored in primary data files with an
e'tension .mdf. Secondary data files, identified with a .ndf e'tension, are used to
store optional metadata. .og files are identified with the .ldf e'tension.
Storage space allocated to a database is divided into se!uentially numbered pages,
each : ?$ in si3e. , page is the basic unit of *0> for S/. Server operations. ,
page is marked with a 9I-byte header which stores metadata about the page
including the page number, page type, free space on the page and the *D of the

object that owns it. age type defines the data contained in the page - data stored in
the database, inde', allocation map which holds information about how pages are
allocated to tables and inde'es, change map which holds information about the
changes made to other pages since last backup or logging, or contain large data
types such as image or te't. (hile page is the basic unit of an *0> operation, space
is actually managed in terms of an extent which consists of : pages. , database
object can either span all : pages in an e'tent %Muniform e'tentM& or share an e'tent
with up to A more objects %Mmi'ed e'tentM&. , row in a database table cannot span
more than one page, so is limited to : ?$ in si3e. #owever, if the data e'ceeds :
?$ and the row contains Varchar or Varbinary data, the data in those columns are
moved to a new page %or possibly a se!uence of pages, called an Allocation nit&
and replaced with a pointer to the data.
)or physical storage of a table, its rows are divided into a series of partitions
%numbered 8 to n&. The partition si3e is user definedR by default all rows are in a
single partition. , table is split into multiple partitions in order to spread a database
over a cluster. Cows in each partition are stored in either $-tree or heap structure.
*f the table has an associated inde' to allow fast retrieval of rows, the rows are
stored in-order according to their inde' values, with a $-tree providing the inde'.
The data is in the leaf node of the leaves, and other nodes storing the inde' values
for the leaf data reachable from the respective nodes. *f the inde' is non-clustered,
the rows are not sorted according to the inde' keys. ,n inde'ed view has the same
storage structure as an inde'ed table. , table without an inde' is stored in an

unordered heap structure. $oth heaps and $-trees can span multiple allocation
units.
TGDU
/uffer )'n'e)ent
S/. Server buffers pages in C,+ to minimi3e disc *0>. ,ny : ?$ page can be
buffered in-memory, and the set of all pages currently buffered is called the buffer
cache. The amount of memory available to S/. Server decides how many pages
will be cached in memory. The buffer cache is managed by the !ffer "anager.
-ither reading from or writing to any page copies it to the buffer cache. Subse!uent
reads or writes are redirected to the in-memory copy, rather than the on-disc
version. The page is updated on the disc by the $uffer +anager only if the in-
memory cache has not been referenced for some time. (hile writing pages back to
disc, asynchronous *0> is used whereby the *0> operation is done in a background
thread so that other operations do not have to wait for the *0> operation to
complete. -ach page is written along with its checksum when it is written. (hen
reading the page back, its checksum is computed again and matched with the
stored version to ensure the page has not been damaged or tampered with in the
meantime.
Con,urren,( 'n+ .o,5in
S/. Server allows multiple clients to use the same database concurrently. ,s such,
it needs to control concurrent access to shared data, to ensure data integrityQwhen

multiple clients update the same data, or clients attempt to read data that is in the
process of being changed by another client. S/. Server provides two modes of
concurrency controlF pessimistic concurrency and optimistic concurrency. (hen
pessimistic concurrency control is being used, S/. Server controls concurrent
access by using locks. .ocks can be either shared or e'clusive. -'clusive lock
grants the user e'clusive access to the dataQno other user can access the data as
slong as the lock is held. Shared locks are used when some data is being readQ
multiple users can read from data locked with a shared lock, but not ac!uire an
e'clusive lock. The latter would have to wait for all shared locks to be released.
.ocks can be applied on different levels of granularityQon entire tables, pages, or
even on a per-row basis on tables. )or inde'es, it can either be on the entire inde'
or on inde' leaves. The level of granularity to be used is defined on a per-database
basis by the database administrator. (hile a fine grained locking system allows
more users to use the table or inde' simultaneously, it re!uires more resources. So
it does not automatically turn into higher performing solution. S/. Server also
includes two more lightweight mutual e'clusion solutionsQlatches and spinlocks
Qwhich are less robust than locks but are less resource intensive. S/. Server uses
them for D+4s and other resources that are usually not busy. S/. Server also
monitors all worker threads that ac!uire locks to ensure that they do not end up in
deadlocksQin case they do, S/. Server takes remedial measures, which in many
cases is to kill one of the threads entangled in a deadlock and rollback the
transaction it started.
TD9U
To implement locking, S/. Server contains the #oc$

"anager. The .ock +anager maintains an in-memory table that manages the
database objects and locks, if any, on them along with other metadata about the
lock. ,ccess to any shared object is mediated by the lock manager, which either
grants access to the resource or blocks it.
S/. Server also provides the optimistic concurrency control mechanism, which is
similar to the multiversion concurrency control used in other databases. The
mechanism allows a new version of a row to be created whenever the row is
updated, as opposed to overwriting the row, i.e., a row is additionally identified by
the *D of the transaction that created the version of the row. $oth the old as well as
the new versions of the row are stored and maintained, though the old versions are
moved out of the database into a system database identified as Tempdb. (hen a row
is in the process of being updated, any other re!uests are not blocked %unlike
locking& but are e'ecuted on the older version of the row. *f the other re!uest is an
update statement, it will result in two different versions of the rowsQboth of them
will be stored by the database, identified by their respective transaction *Ds.
Data retrieval
The main mode of retrieving data from an S/. Server database is !uerying for it.
The !uery is e'pressed using a variant of S/. called T-S/., a dialect +icrosoft
S/. Server shares with Sybase S/. Server due to its legacy. The !uery
declaratively specifies what is to be retrieved. *t is processed by the !uery
processor, which figures out the se!uence of steps that will be necessary to retrieve

the re!uested data. The se!uence of actions necessary to e'ecute a !uery is called a
!uery plan. There might be multiple ways to process the same !uery. )or e'ample,
for a !uery that contains a join statement and a select statement, e'ecuting join on
both the tables and then e'ecuting select on the results would give the same result
as selecting from each table and then e'ecuting the join, but result in different
e'ecution plans. *n such case, S/. Server chooses the plan that is e'pected to
yield the results in the shortest possible time. This is called !uery optimi3ation and
is performed by the !uery processor itself.
S/. Server includes a cost-based !uery optimi3er which tries to optimi3e on the
cost, in terms of the resources it will take to e'ecute the !uery. =iven a !uery, then
the !uery optimi3er looks at the database schema, the database statistics and the
system load at that time. *t then decides which se!uence to access the tables
referred in the !uery, which se!uence to e'ecute the operations and what access
method to be used to access the tables. )or e'ample, if the table has an associated
inde', whether the inde' should be used or not - if the inde' is on a column which
is not uni!ue for most of the columns %low MselectivityM&, it might not be
worthwhile to use the inde' to access the data. )inally, it decides whether to
e'ecute the !uery concurrently or not. (hile a concurrent e'ecution is more costly
in terms of total processor time, because the e'ecution is actually split to different
processors might mean it will e'ecute faster. >nce a !uery plan is generated for a
!uery, it is temporarily cached. )or further invocations of the same !uery, the
cached plan is used. 2nused plans are discarded after some time.

S/. Server also allows stored procedures to be defined. Stored procedures are
parameteri3ed T-S/. !ueries, that are stored in the server itself %and not
issued by the client application as is the case with general !ueries&. Stored
procedures can accept values sent by the client as input parameters, and send
back results as output parameters. They can call defined functions, and other
stored procedures, including the same stored procedure %up to a set number of
times&. They can be selectively provided access to. 2nlike other !ueries,
stored procedures have an associated name, which is used at runtime to
resolve into the actual !ueries. ,lso because the code need not be sent from
the client every time %as it can be accessed by name&, it reduces network
traffic and somewhat improves performance. -'ecution plans for stored
procedures are also cached as necessary Services
S/. Server also includes an assortment of add-on services. (hile these are not
essential for the operation of the database system, they provide value added
services on top of the core database management system. These services either run
as a part of some S/. Server component or out-of-process as (indows Service
and presents their own ,* to control and interact with them.
"er0i,e /ro5er
2sed inside an instance, it is used to provide an asynchronous programming
environment. )or cross instance applications, Service $roker communicates over
T10* and allows the different components to be synchroni3ed together, via

e'change of messages. The Service $roker, which runs as a part of the database
engine, provides a reliable messaging and message !ueuing platform for S/.
Server applications.
Re-.i,'tion "er0i,e!
S/. Server Ceplication Services are used by S/. Server to replicate and
synchroni3e database objects, either in entirety or a subset of the objects present,
across replication agents, which might be other database servers across the
network, or database caches on the client side. Ceplication follows a
publisher0subscriber model, i.e., the changes are sent out by one database server
%MpublisherM& and are received by others %MsubscribersM&. S/. Server supports three
different types of replication
Transaction replication
-ach transaction made to the publisher database %master database& is synced
out to subscribers, who update their databases with the transaction.
Transactional replication synchroni3es databases in near real time.
TI8U
+erge replication
1hanges made at both the publisher and subscriber databases are tracked,
and periodically the changes are synchroni3ed bi-directionally between the
publisher and the subscribers. *f the same data has been modified differently
in both the publisher and the subscriber databases, synchroni3ation will
result in a conflict which has to be resolved - either manually or by using

pre-defined policies. rowguid needs to be configured on a column if merge
replication is configured
Snapshot replication
Snapshot replication publishes a copy of the entire database %the then-
snapshot of the data& and replicates out to the subscribers. )urther changes to
the snapshot are not tracked.
An'.(!i! "er0i,e!
S/. Server ,nalysis Services adds >., and data mining capabilities for S/.
Server databases. The >., engine supports +>.,, C>., and #>.,
storage modes for data. ,nalysis Services supports the J+. for ,nalysis standard
as the underlying communication protocol. The cube data can be accessed using
+DJ and .*5/ !ueries. Data mining specific functionality is e'posed via the
D+J !uery language. ,nalysis Services includes various algorithms - Decision
trees, clustering algorithm, 5aive $ayes algorithm, time series analysis, se!uence
clustering algorithm, linear and logistic regression analysis, and neural networks -
for use in data mining.
Re-ortin "er0i,e!
S/. Server Ceporting Services is a report generation environment for data
gathered from S/. Server databases. *t is administered via a web interface.

Ceporting services features a web services interface to support the development of
custom reporting applications. Ceports are created as CD. files
Ceports can be designed using recent versions of +icrosoft 4isual Studio %4isual
Studio.5-T ;<<D, ;<<G, and ;<<:& with $usiness *ntelligence Development
Studio, installed or with the included Ceport $uilder. >nce created, CD. files can
be rendered in a variety of formats including -'cel, D), 1S4, J+., T*)) %and
other image formats& and #T+. (eb ,rchive.
Notifi,'tion "er0i,e!
>riginally introduced as a post-release add-on for S/. Server ;<<<,
TA8U
5otification Services was bundled as part of the +icrosoft S/. Server platform
for the first and only time with S/. Server ;<<G. S/. Server 5otification
Services is a mechanism for generating data-driven notifications, which are sent to
5otification Services subscribers. , subscriber registers for a specific event or
transaction %which is registered on the database server as a trigger&R when the event
occurs, 5otification Services can use one of three methods to send a message to the
subscriber informing about the occurrence of the event. These methods include
S+T, S>,, or by writing to a file in the filesystem 5otification Services was
discontinued by +icrosoft with the release of S/. Server ;<<: in ,ugust ;<<:,
and is no longer an officially supported component of the S/. Server database
platform.

Inter'tion "er0i,e!
S/. Server *ntegration Services is used to integrate data from different data
sources. *t is used for the -T. capabilities for S/. Server for data warehousing
needs. *ntegration Services includes =2* tools to build data e'traction workflows
integration various functionality such as e'tracting data from various sources,
!uerying data, transforming data including aggregating, duplication and merging
data, and then loading the transformed data onto other sources, or sending e-mails
detailing the status of the operation as defined by the user.
De+itE Fu.. Te9t "e'r,6 "er0i,e
The S/. Server )ull Te't Search service architecture
S/. Server )ull Te't Search service is a speciali3ed inde'ing and !uerying service
for unstructured te't stored in S/. Server databases. The full te't search inde' can
be created on any column with character based te't data. *t allows for words to be
searched for in the te't columns. (hile it can be performed with the S/. .*?-
operator, using S/. Server )ull Te't Search service can be more efficient. )ull

allows for ine'act matching of the source string, indicated by a %an$ value which
can range from < to 8<<< - a higher rank means a more accurate match. *t also
allows linguistic matching %Minflectional searchM&, i.e., linguistic variants of a word
%such as a verb in a different tense& will also be a match for a given word %but with
a lower rank than an e'act match&. ro'imity searches are also supported, i.e., if
the words searched for do not occur in the se!uence they are specified in the !uery
but are near each other, they are also considered a match. T-S/. e'poses special
operators that can be used to access the )TS capabilities.
The )ull Te't Search engine is divided into two processes - the Filter Daemon
process %msftefd.e'e& and the Search process %msftes!l.e'e&. These processes
interact with the S/. Server. The Search process includes the inde'er %that creates
the full te't inde'es& and the full te't !uery processor. The inde'er scans through
te't columns in the database. *t can also inde' through binary columns, and use
i)ilters to e'tract meaningful te't from the binary blob %for e'ample, when a
+icrosoft (ord document is stored as an unstructured binary file in a database&.
The i)ilters are hosted by the )ilter Daemon process. >nce the te't is e'tracted, the
)ilter Daemon process breaks it up into a se!uence of words and hands it over to
the inde'er. The inde'er filters out noise &ords, i.e., words like A, And etc., which
occur fre!uently and are not useful for search. (ith the remaining words, an
inverted inde' is created, associating each word with the columns they were found
in. S/. Server itself includes a 'atherer component that monitors changes to
tables and invokes the inde'er in case of updates.
TA:U

(hen a full te't !uery is received by the S/. Server !uery processor, it is handed
over to the )TS !uery processor in the Search process. The )TS !uery processor
breaks up the !uery into the constituent words, filters out the noise words, and uses
an inbuilt thesaurus to find out the linguistic variants for each word. The words are
then !ueried against the inverted inde' and a rank of their accurateness is
computed. The results are returned to the client via the S/. Server process.
"QLCMD
S/.1+D is a command line application that comes with +icrosoft S/. Server,
and e'poses the management features of S/. Server. *t allows S/. !ueries to be
written and e'ecuted from the command prompt. *t can also act as a scripting
language to create and run a set of S/. statements as a script. Such scripts are
stored as a .s!l file, and are used either for management of databases or to create
the database schema during the deployment of a database.
S/.1+D was introduced with S/. Server ;<<G and this continues with S/.
Server ;<<:. *ts predecessor for earlier versions was >S/. and *S/., which is
functionally e!uivalent as it pertains to TS/. e'ecution, and many of the
command line parameters are identical, although S/.1+D adds e'tra versatility.
4i!u'. "tu+io
+icrosoft 4isual Studio includes native support for data programming with
+icrosoft S/. Server. *t can be used to write and debug code to be e'ecuted by

S/. 1.C. *t also includes a data designer that can be used to graphically create,
view or edit database schemas. /ueries can be created either visually or using
code. SS+S ;<<: onwards, provides intellisense for S/. !ueries as well.
"QL "er0er M'n'e)ent "tu+io
S/. Server +anagement Studio is a =2* tool included with S/. Server ;<<G and
later for configuring, managing, and administering all components within
+icrosoft S/. Server. The tool includes both script editors and graphical tools
that work with objects and features of the server.
TA9U
S/. Server +anagement
Studio replaces -nterprise +anager as the primary management interface for
+icrosoft S/. Server since S/. Server ;<<G. , version of S/. Server
+anagement Studio is also available for S/. Server -'press -dition, for which it
is known as S(# Server "anagement Stdio Express %SS+S-&.
T:<U
, central feature of S/. Server +anagement Studio is the >bject -'plorer, which
allows the user to browse, select, and act upon any of the objects within the server.
T:8U
*t can be used to visually observe and analy3e !uery plans and optimi3e the
database performance, among others S/. Server +anagement Studio can also be
used to create a new database, alter any e'isting database schema by adding or
modifying tables and inde'es, or analy3e performance. *t includes the !uery
windows which provide a =2* based interface to write and e'ecute !ueries.

/u!ine!! Inte..ien,e De0e.o-)ent "tu+io
$usiness *ntelligence Development Studio %/ID"& is the *D- from +icrosoft used
for developing data analysis and $usiness *ntelligence solutions utili3ing the
+icrosoft S/. Server ,nalysis Services, Ceporting Services and *ntegration
Services. *t is based on the +icrosoft 4isual Studio development environment but
is customi3ed with the S/. Server services-specific e'tensions and project types,
including tools, controls and projects for reports %using Ceporting Services&, 1ubes
and data mining structures %using ,nalysis Services& +icrosoft S/. Server is a
relational database management system developed by +icrosoft. ,s a database, it
is a software product whose primary function is to store and retrieve data as
re!uested by other software applications, be it those on the same computer or those
running on another computer across a network %including the *nternet&. There are at
least a do3en different editions of +icrosoftY
.

8."Y"TEM ANALY"I"
8.1 EGI"TING "Y"TEM$
revious work focused on e'tracting DDoS attack features, and was
followed by detecting and filtering DDoS attack packets by the known features.
#owever, these +ethods cannot actively detect DDoS attacks. )lash crowds are
une'pected, but legitimate, dramatic surges of access to a server, such as breaking
news. The work of discriminating DDoS attacks from flash crowds has been
e'plored for around a decade. This method involves human responses and can be
annoying to users.

8.1 PROPO"ED "Y"TEM$
The current most popular defence against flash crowd attacks is the use of
graphical pu33les to differentiate between humans and bots. This method involves
human responses and can be annoying to users. $ots are caught by honeypots and
analy3ed thoroughly via inverse engineering techni!ues. The proposed algorithm
works independently of specific DDoS flooding attack genres. Therefore, it is
effective against unknown forthcoming flooding attacks. The proposed correlation
coefficient-based method is delay proof. This property is very effective against
e'plicit random delay insertion among attack flows. (e used the flow correlation
coefficient as a metric to measure the similarity among suspicious flows to
differentiate DDoS attacks from genuine flash crowds.

8.3 FEA"I/ILITY "TUDY
)easibility study has three aspects. They are
G.D.8 Technical )easibility
G.D.; -conomic )easibility
G.D.D >perational )easibility
8. 3. 1 Te,6ni,'. Fe'!ibi.it(
The Technical )easibility Study assesses the details of how you will deliver
a product or service %i.e., materials, labor, transportation, where your business will
be located, technology needed, etc.&. Think of the technical feasibility study as the
logistical or tactical plan of ho& your business will produce, store, deliver, and
track its products or services.
, technical feasibility study is an e'cellent tool for trouble-shooting and long-term
planning. *n some regards it serves as a flow chart of how your products and
services evolve and move through your business to physically reach your market.
8. 3. 1 E,ono)i, Fe'!ibi.it(
)easibility studies are crucial during the early development of any project and form
a vital component in the business development process. ,ccounting and ,dvisory
feasibility studies enable organi3ations to assess the viability, cost and benefits of
projects before financial resources are allocated. They also provide independent
project assessment and enhance project credibility.
$uilt on the information provided in the feasibility study, a business case is used to
convince the audience that a particular project should be implemented. *t is often a

prere!uisite for any funding approval. The business case will detail the reasons
why a particular project should be prioriti3ed higher than others. *t will also sum
up the strengths, weaknesses and validity of assumptions as well as assessing the
financial and non-financial costs and benefits underlying preferred options.
8. 3. 3 O-er'tion'. Fe'!ibi.it(
O-er'tion'. Fe'!ibi.it($ 2nder this category of service we conduct a study
to analysis and determine whether your business need can be fulfilled by
using a proposed solution. The result of our operational feasibility Study will
clearly outline that the solution proposed for your business is operationally
workable and conveniently solves your problems under consideration after
the proposal is implemented. This is sometimes referred to as Z)easibility
-valuations. (e would precisely describe how the system will interact with
the systems and persons around. >ur feasibility report would provide results
of interest to all stakeholders

Mo+u.e De!,ri-tion
Co))'n+ Aut6enti,'tion
1ompared with a client, because attack in the proposed system do not receive commands
from predefined places, it is especially important to implement a strong command authentication.
, standard ,utomatic authentication would be sufficient. , master generates a pair of .og file
for monitoring Ddos ,ttack. There is no need for key distribution because the public automatic
is hard-coded in key generation program. .ater, the command messages sent from the master
could be digitally signed by the private key to ensure their authentication and integrity
automatically. This ,uto-based authentication could also be readily deployed by current Server .
So DDos hacking is not a major issue.
In+i0i+u'.iFe+ Lo Fi.e
*n the proposed, the server randomly generates its symmetric e .og key. (ith the help of
same key only the client will be able to decrypt the contents.
This individuali3ed log file is guarantees that if defenders capture each and every attack
on real time transaction, they wont be able to restrict attack until and unless the hacker knows
the detection and prevention. Thus the individuali3ed will not let the systems to be
compromised.
Net*or5!
, Server network is a general method of transforming any function %usually called an
)function& into a permutation. *t was invented by #orst Server and has been used in many block
cipher designs. The working of a )estal 5etwork is given belowF
Split each block into halves
Cight half becomes new left half
5ew right half is the final result when the left half is J>Cd with the result of applying f
to the right half and the key.
5ote that previous rounds can be derived even if the function f is not invertible.

7."Y"TEM DE"IGN
7.1 DATA/A"E DE"IGN
TA/LE 7.1.1 U!er Det'i.!
". No FIELD DATA
TYPE
"IZE
8 2ser[5ame String ;G
; assword String ;G
D 2ser[Type String 8G
7 Date Date0Time I

7.1 DATA FLO3 DIAGRAM
Le0e. B
Le0e. 1
+aster Sending file
1ommand @ 1ontrol
Server%1@1&
-asily affected by
hackers
+aster Taken 1ontrol
>ver all peer to peer
*mplementing
#ybrid eer-To-eer
$otnet
#arder To $e Shut Down,
+onitored, ,nd #acked
+aster +onitoring
+onitoring the
unauthori3ed system
+onitoring
compromised system
*mplementing
#ybrid eer-To-eer
$otnet
#arder To $e Shut Down,
+onitored, ,nd #ijacked
$y $>T5-T

H. "OFT3ARE TE"TING
H.1 TE"TING
INTRODUCTION$
,fter finishing the development of any computer based application, the ne't
complicated time consuming process is testing. During the time of testing only the
development company knows that, how far the user re!uirements have been met.
The testing methods applied to our project are as follows.
A. 8 2nit Testing
A. ; *ntegration Testing
A. D 4alidation Testing
A. 7 >utput Testing
A. G ,cceptance Testing
H.1 TE"TING MET#ODOLOGY
H.1.1 UNIT TE"TING$
*n unit testing each module is tested individually. *t focuses the verification efforts
on the smallest unit of software in the module. This is known as module testing.
*n the project all the modules are tested separately. )or our project testing
is performed at programming stage itself. *n this testing each module project is
found to work satisfactorily with regard to the e'pected output from the module.
There are some validations for fields. The unit testing is performed now and then
whenever a patch is delivered for each module. This makes our project standard.
2nit testing comprises the set of tests performed by an individual programmer

rior to integration of the unit in to larger system. , program unit is
usually small enough that the programmer who developed it can test it in a great
detail. *n unit testing the modules are independent of one another are tested, the
test data for unit testing should follow each condition and option this testing helps
to find out the errors in coding and option.
H.1.1 INTEGRATION TE"TING$
*ntegration testing is the phase of software testing in which individual
software modules are combined and tested as a group. *n this project the parts of a
module are tested first and then it will test some of its parts, integration testing is
done successfully.
H.1.3 4ALIDATION TE"TING$
*t begins after the integration testing is successfully assembled. 4alidation
succeeds when the software functions in a manner that can be reasonably accepted
by the client. *n this project, the majority of the validation is done during the data
entry operation where there is a ma'imum possibility of entering wrong data.
>ther validation will be performed in all process where correct details and data
should be entered to get the re!uired results.
H.1.8 OUTPUT TE"TING$
,fter performing the validation testing, the ne't step is output testing of the
proposed system since no application would be termed as useful until it produces
the re!uired output in the specified format.

H.1.C ACCEPTANCE TE"TING$
2ser ,cceptance Testing is the key factor for the success of any application.
The project under consideration is tested for user acceptance by constantly keeping
in touch with perspective system users at the time of developing and making
changes whenever re!uired.
,ll the above mentioned testing techni!ues are successfully completed by
our project.

I. CONCLU"ION
$oth )lash crowds and DD>S %Distributed Denial -of-Service& attacks have very similar
properties in terms of internet traffic, however )lash crowds are legitimate flows and
DD>S attacks are illegitimate flows, and DD>S attacks have been a serious threat to
internet security and stability. *n this paper we propose a set of novel methods using
probability metrics to distinguish DD>S attacks from )lash crowds effectively, and our
simulations show that the proposed methods work well. *n particular, these methods
can not only distinguish DD>S attacks from )lash crowds clearly, but also can
distinguish the anomaly flow being DD>S attacks flow or being )lash crowd flow from
5ormal network flow effectively. )urthermore, we show our proposed hybrid probability
metrics can greatly reduce both false positive and false negative rates in detection. *n this
paper we surveyed on four different techni!ues to differentiate DD>S attack from flash
crowd. ,mong the techni!ues \Discriminating DD>S ,ttacks from )lash 1rowd 2sing
)low 1orrelation 1oefficient] shows better results.

APPENDIG
'? ",reen L'(out
Loin For)

",reen "6ot





1. /I/LIOGRAP#Y