SlideShare a Scribd company logo
1 of 1
Download to read offline
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	
  

More Related Content

What's hot (7)

Parallel Processing
Parallel ProcessingParallel Processing
Parallel Processing
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programming
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Unit5
Unit5Unit5
Unit5
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
 
Applications of paralleL processing
Applications of paralleL processingApplications of paralleL processing
Applications of paralleL processing
 

Similar to WindowManagementFramework

ideas.doc
ideas.docideas.doc
ideas.doc
butest
 
Tarun Makwana's Resume
Tarun Makwana's ResumeTarun Makwana's Resume
Tarun Makwana's Resume
Tarun Makwana
 
hari_duche_updated
hari_duche_updatedhari_duche_updated
hari_duche_updated
Hari Duche
 
Martin Koons Resume 2015
Martin Koons Resume 2015Martin Koons Resume 2015
Martin Koons Resume 2015
Marty Koons
 

Similar to WindowManagementFramework (20)

Cisco project ideas
Cisco   project ideasCisco   project ideas
Cisco project ideas
 
Vedic Calculator
Vedic CalculatorVedic Calculator
Vedic Calculator
 
Documentation
DocumentationDocumentation
Documentation
 
Srs
SrsSrs
Srs
 
Satyam_Singh_cv
Satyam_Singh_cvSatyam_Singh_cv
Satyam_Singh_cv
 
Mini Project- Dual Processor Computation
Mini Project- Dual Processor ComputationMini Project- Dual Processor Computation
Mini Project- Dual Processor Computation
 
ideas.doc
ideas.docideas.doc
ideas.doc
 
Mannu_Kumar_CV
Mannu_Kumar_CVMannu_Kumar_CV
Mannu_Kumar_CV
 
peeyush_resume
peeyush_resumepeeyush_resume
peeyush_resume
 
Tarun Makwana's Resume
Tarun Makwana's ResumeTarun Makwana's Resume
Tarun Makwana's Resume
 
hari_duche_updated
hari_duche_updatedhari_duche_updated
hari_duche_updated
 
Amit Bhandari
Amit BhandariAmit Bhandari
Amit Bhandari
 
kumarResume
kumarResumekumarResume
kumarResume
 
Uma SunilKumar Resume
Uma SunilKumar ResumeUma SunilKumar Resume
Uma SunilKumar Resume
 
Resume
ResumeResume
Resume
 
Martin Koons Resume 2015
Martin Koons Resume 2015Martin Koons Resume 2015
Martin Koons Resume 2015
 
Database project
Database projectDatabase project
Database project
 
Mihai_Nuta
Mihai_NutaMihai_Nuta
Mihai_Nuta
 
Software Engineering 2014
Software Engineering 2014Software Engineering 2014
Software Engineering 2014
 
Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
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