COMP 410 FINAL PRESENTATION. Agenda  Introduction of the Problem  Overview of NetFlow  Demo of Applications Built on NetFlow  The COMP 410 Experience.

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

EIDE System Requirements and Specification Documents
Steve Lewis J.D. Edwards & Company
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Requirements Analysis Concepts & Principles
ATSN 2009 Towards an Extensible Agent-based Middleware for Sensor Networks and RFID Systems Dirk Bade University of Hamburg, Germany.
Computer Science 162 Section 1 CS162 Teaching Staff.
Computers: Tools for an Information Age
Interpret Application Specifications
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
U-Mail System Design Specification Joseph Woo, Chris Hacking, Alex Benson, Elliott Conant, Alex Meng, Michael Ratanapintha April 28,
Understanding and Managing WebSphere V5
Introduction to Computer Technology
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
Construction of efficient PDP scheme for Distributed Cloud Storage. By Manognya Reddy Kondam.
IT 210 The Internet & World Wide Web introduction.
COMP 410 Update!. The Problems Story Time! Describe the Hurricane Problem Do this with pictures, lots of people, a hurricane, trucks, medicine all disconnected.
Business Processes and Workflow How to go from idea to implementation
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Systems Analysis and Design in a Changing World, Fifth Edition
Planning Iteration Demo Suunto Training Program Planner.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
MARCH 27, Meeting Agenda  Prototype 1 Design Goals  Prototype 1 Demo  Framework Overview  Prototype 2 Design Goals  Timeline Moving Forward.
Information Systems for Managers By Prof. Brinda Sampat
Project Management Methodology Project Closing. Project closing stage Must be performed for all projects, successfully completed or shut off by management.
COMP 410 Update. The Problems Story Time! Describe the Hurricane Problem Do this with pictures, lots of people, a hurricane, trucks, medicine all disconnected.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
GEOREMINDERS ANDROID APPLICATION BY: ADRIENNE KECK.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
Syzygy Design overview Distributed Scene Graph Master/slave application framework I/O Device Integration using Syzygy Scaling down: simulators and other.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
1 © 2001, Cisco Systems, Inc. All rights reserved. Cisco Info Center for Security Monitoring.
MEDIU Learning for HE Ahmad Nimer | Project Manager.
Clever Framework Name That Doesn’t Violate Copyright Laws MARCH 27, 2015.
Visualizing Peer-to-Peer Networks Final Presentation By Team SPEW.
TTCN-3 MOST Challenges Maria Teodorescu
1 Yield Analysis and Increasing Engineering Efficiency Spotfire Users Conference 10/15/2003 William Pressnall, Scott Lacey.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
Clever Framework Name MARCH 27, Meeting Agenda  Framework Overview  Prototype 1 Design Goals  Prototype 1 Demo  Prototype 2 Design Goals  Timeline.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
July 19, 2004Joint Techs – Columbus, OH Network Performance Advisor Tanya M. Brethour NLANR/DAST.
APRIL 10, Meeting Agenda  Prototype 2 Goals  Robust Connections Demo  System Diagnostics Tool Demo  Final Prototype Risk Mitigation  Final.
APRIL 10, Meeting Agenda  Prototype 2 Goals  Robust Connections Demo  System Diagnostics Tool Demo  Final Prototype Risk Mitigation  Final.
Project Management Methodology Project Closing. Project closing stage Must be performed for all projects, successfully completed or shut off by management.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
OSIsoft High Availability PI Replication Colin Breck, PI Server Team Dave Oda, PI SDK Team.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Chapter 1: Introduction to Systems Analysis and Design
Clever Framework Name That Doesn’t Violate Copyright Laws
Systems Analysis and Design
COMP 410 Update March 13, 2015.
Exploring Azure Event Grid
Clever Framework Name That Doesn’t Violate Copyright Laws
Chapter 1 (pages 4-9); Overview of SDLC
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
March 27, 2015.
Presentation transcript:

COMP 410 FINAL PRESENTATION

Agenda  Introduction of the Problem  Overview of NetFlow  Demo of Applications Built on NetFlow  The COMP 410 Experience  Final Thanks  Questions & Answers

The Problem WHAT SCHLUMBERGER & INVISIBLE CONNECT NEED

Problems Beyond Connection  How do you interpret massive amounts of heterogeneous data?  Where do you store this data?  How do you transmit this data?  Where do you analyze this data so you can understand it?  What happens when a device disconnects intentionally or unintentionally?  How does another device access and use this data?  How can we make our solution extensible?

Areas of Focus  High volumes of heterogeneous data  Solution: Intermediaries to aggregate, analyze, and summarize sensor data  Disconnections and Data Loss  Solution: Intermediaries to store received information to resend upon failure  Compatibility with 3 rd Party Devices  Solution: An extensible framework that can use any communication protocol

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Abstracted Goals

Building a Distributed Data Pipeline

Example: Burglar Alarm 1.When a person opens the door, take a photo of that person. 2.Determine whether the photo is suspicious. 3.If so, archive the photo and alert the building security team.

Step 1: Designing the Pipeline Graph

Step 2: Designing the Network Many Attached to Doors One in the Cloud Many in Admin Offices

Step 2: Designing the Network Many Attached to Doors One in the Cloud Many in Admin Offices

Step 3: Building an Application for Each Device

Step 4: Deploying each Device

The Subproblems of Building a Pipeline 1.Designing the Pipeline Graph 2.Designing the Network 3.Building an Application for each Device 4.Deploying each Device

Which Subproblem Does NetFlow Solve? 1.Designing the Pipeline Graph 2.Designing the Network 3.Building an Application for each Device 4.Deploying each Device

The Solution HOW NETFLOW SOLVES THE DEVICE IMPLEMENTATION PROBLEM

Flow-based Programming  Flow-based programming… defines applications as networks of "black box" processes… where the connections are specified externally to the processes.  These black box processes can be reconnected endlessly to form different applications without having to be changed internally.

Example: Burglar Alarm Components

What Goes Into a Business Logic Component?  We need to write a function to process incoming messages  We need the framework to provide a function to handle outgoing messages

Building Business Logic Components

What Goes Into an Adapter Component?  We need to write a function to transform incoming messages  We need to write a function to transform outgoing messages  We need the framework to provide a function to handle outgoing messages  We need to write a startup function  We need to write a shutdown function

Building Adapters to Third-Party Services

Review: NetFlow Provides… Component Interfaces Standard Networking Components Application Graph Configuration API Application Runner Plus: Robust Connections and System Diagnostics

Evolution of NetFlow DEVELOPMENT GAINS

Timeline

P0 Deliverables  Connects devices with different protocols  Interacts with WunderBar and Kinect through adapters  Transfers and interprets data sent between devices  Transfers photos intermittently from Collector to Monitor  Sends alerts to trigger Alarm  Aggregates and analyzes data  Stores pictures in local storage  Analyzes pictures’ timestamps

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

P1 Deliverables  Framework Scalability  Interaction with Cloud Services to store and produce data  Establish Infrastructure to Aggregate Data  Heterogeneous data, multiple inputs and outputs  Dynamic Network Topology  Introduce new components without reconfiguring

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

P2 Deliverables  Complete Data Aggregation  Extended Prototype 1 structure to add automatically generated data in order to demonstrate scalability  Robust Connections  Recovery from network failure between connected components  System Diagnostics  Parse network logs to display topology graphically  Log aggregation and filtering

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

Robust Connections HANDLING DATA RECOVERY

Network Graph

Data Aggregation MAKING DECISIONS BASED ON HETEROGENEOUS INPUTS

Network Graph

Final Deliverables  Data Aggregation  Dynamic network transferring data and making decisions  End-to-end Disaster Resource Distribution Application  Framework Scalability Metrics  Measure the operational costs of the Framework  Scale those costs to appropriate limits  System Diagnostics  Connected frontend to a live application database

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished

Scalability and Extensibility  Framework Extensibility  Ground-to-Cloud Integration  Building a Virtual Network in the Cloud  Scalability Metric Tests  Abstract the Framework from the Application  Build Large-Scale Metric Tests Specific to Framework  Unearths Flaws in the Framework  Next Metric Test Iteration Not Yet Completed

Dynamic Network Topology Framework Scalability Data Aggregation Historical Data Storage Robust Connections System Diagnostics Accomplished P

The COMP 410 Experience PEERING INSIDE THE BLACK BOX

COMP 410 According to Rice COMP 410 is a pure discovery-based learning course designed to give students real-life, hands-on training in a wide variety of software engineering issues The topics encountered include and are not limited to …  interacting with customers  problem specification and tasking  individual and group communications  human resource management  group leadership

COMP 410 According to… Veterans  “This class takes up a lot of time. It is completely doable if you work smart and pace yourself properly. Good luck with that.” – Course Evaluation  “If you don't use caffeine. Try it.” – Nathan Shih  “ Every single thing you do in this class will be wrong.​” – Dr. Wong 

What We Learned THE HARD WAY

Importance of Communication  ​“It is as if we are falling off a cliff but the information doesn't get out until we hit the ground.” – X Liu  “​I've learned through this class that ‘no news is good news’ does not apply to software engineering.” – Lauren Schmidt  “T'was the night before Demo, and all through Piazza Panic was spreading, an outright miasma, A fix was proposed, and not found outright wrong, And left all of us hoping it would satisfy Wong.” – Franco Bettati

Importance of Communication  Defining clear expectations for task completion  Who is working on what for how long?  Documenting technical challenges encountered  The same problems reoccur, but so can the same solutions!  Knowing when (and to whom) to provide questions/feedback  Ensuring information flows through the class hierarchy appropriately.  Retrieving solutions from outside 410 (domain experts, staff etc.).  Contacting customers with elaborating questions and updates.

Documentation First  “Follow the advice of every COMP410 ancestor ever and make a system use case diagram and system block diagram ASAP.” – Aaron Roe  “We have suffered enough​.” – Aaron Roe  “I continually rediscover again and again that being disciplined in making sure that you completely understand something before you code it makes the coding the easiest part.” – Aaron Roe  “​Don't worry, trust me! ” – X Liu

Documentation First  Everyone is on the same page during development of a feature  The feature has been designed and discussed before code prevents you from changing your mind  The team understands the feature better and how it will work

Personal Growth

Beck Chen — Graduate  Motivation of Taking 410  Lessons Learned from Being a Team Lead  Lessons Learned from Others

Xilin Liu — Undergraduate  Documentation  Testing  Communication  Teamwork

Everything We Accomplished  We Built…  A Framework that connects cloud and ground based devices that can send heterogeneous data, process the data, and transfer the data throughout the network  An Example Resource Distribution Application  User Manual for NetFlow  We Learned…  Software Engineering Best Practices  How much we can accomplish as a team

We would like to thank…

Everyone Who Helped Us to Success!  Schlumberger Team  Danny Dykes  Andrea Pound  Matthew Worthington  Stephen Whitley  Chuk Ovuworie  Invisible Connect Guru  Jim McDougall  Our Professors  Stephen Wong  Dung Nguyen  Our TAs  Anastasia Novinskaya  Ryan Lear