Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
WindowManagementFramework
1. PROJECT:
Window
Management
Framework
–
Sachin
Jain
Roles
Client
Liasion,
Requirements
Manager
January’15
–
May’15
Negotiated
with
client
to
decide
the
project
scope,
requirements
and
deliverables
Project
Manger
May’15
–
August’15
Created
project
plannerand
Tracker
on
Excel
Developer
May’15
–
August’15
Designed
and
developed
a
core
functionality
of
the
framework.
Project
Scope
To
develop
a
Common
Windowing
Framework
which
will
add
windowing
capabilities
to
STORM
Project
Goal
1.
STORM
should
be
modified
to
support
windowing
capabilities
by
adding
a
Common
Window
Framework.
2.
The
modified
STORM
should
support
different
types
of
windowing
mechanism
(Sliding,
Landmark)
Project
Benefits
1.
Enables
real
time
data
to
be
processed
as
a
static
data.
2.
Enables
replay
of
real
time
data
as
per
windowing
mechanism.
Requirement
in
a
line:
Extend
an
existing
Data
Stream
Management
System
(STORM)
and
add
windowing
capabilities
to
it.
Our
Solution:
Provide
Windowing
capabilities
to
the
STORM’s
bolts
by
creating
a
Common
Window
Framework
which
can
be
extended
to
implement
various
types
of
windowing
mechanism
Quality
Attribute
Extensibility
The
developer
should
be
able
to
add
new
windowing
mechanism
to
the
system
using
the
template
that
we
provide,
without
having
any
knowledge
about
the
internal
working
of
Common
Window
Framework.
Stability
and
Reliability
The
system
should
be
able
to
sample
all
the
tuples
and
send
out
windows
of
data
without
crashing.
A
tuples
can
vary
in
length
but
ideally,
should
not
exceed
4kb.
Performance
The
system
should
be
able
to
handle
the
data
stream
coming
at
the
rate
of
10,000
tuples
per
second.
Configurability
The
developer
should
be
able
to
configure
the
values
of
various
parameters
like
Maximum
File
Size,
Maximum
Read
and
Write
buffer
size,
Maximum
number
of
reader
threads.
Architecture
Development
The
two
main
component
of
the
common
framework
developed
by
the
team
is
storing
logic
and
emitting
logic.
Design
for
emitting
logic
was
my
brain
child.
And
I
developed
the
emitting
functionality
of
the
system.
1.
The
part
one
of
the
emitting
functionality
is
the
pool
of
threads
which
reads
data
from
the
disk
and
populates
the
in-‐memory
buffers.
The
critical
section
of
the
program
provides
the
sequence
of
these
threads
and
the
address
from
where
the
data
needs
to
be
retrieved.
Rest,
these
threads
run
in
an
infinite
loop
to
populates
the
empty
buffers.
2.
The
part
of
the
logic
has
a
reader
thread
that
traverse
the
in-‐memory,
populated,
buffers
and
interperate
the
data
tuple
from
the
bytes.
This
thread
is
also
responsible
for
sending
end
of
window
markers.
Project
Management:
We
used
planning
poker
to
estimate
the
task
for
the
construction
phase
of
the
project.
Each
iteration
of
construction
was
planned
and
driven
by
earned-‐value
chart
produced
in
the
project
till
that
point
of
time.
I
automated
the
excel
sheets
to
populate
the
data
for
producing
earned-‐value,
burned
down
and
other
tracking
charts.
References
Apache
Storm
|
Common
windowing
patterns
|
Storm
basic
concepts
1
2