of 68
7/29/2019 002 CSP315 Presentations
1/68
Under Guidance of:
Prof. M. Balakrishnan
CSP315- Android Based Attendance System
1
Android Based Attendance
SystemPresentation 1
Pallav Agrawal
2009CS50250
Ankush Jindal
2009CS50234Harsh Gupta
CSP-315
7/29/2019 002 CSP315 Presentations
2/68
Outline
CSP315- Android Based Attendance System
2
Motivation
Objectives
System Requirements
Design Details
Interesting Decisions
Milestones
Status So Far
7/29/2019 002 CSP315 Presentations
3/68
Motivation
CSP315- Android Based Attendance System3
Taking attendance in large classes is
cumbersome
repetitive
Consumes valuable class time
Universality of mobile phones motivates to make
better use of this technology.
7/29/2019 002 CSP315 Presentations
4/68
Objectives
CSP315- Android Based Attendance System4
Automating user identification via Android Based
protocol.
Develop and Implement attendance system .
Create an android mobile application to provide a
consistent UI to interact with the system.
7/29/2019 002 CSP315 Presentations
5/68
System Requirements
Hardware Software
CSP315- Android Based Attendance System5
AndroidBased
Application
Studentsphones
AndroidPhone
Server Eclipse IDE
Android SDK
Apache web server
Drupal CMS
7/29/2019 002 CSP315 Presentations
6/68
Design Details
CSP315- Android Based Attendance System6
7/29/2019 002 CSP315 Presentations
7/68
High Level Architecture Diagram
CSP315- Android Based Attendance System7
7/29/2019 002 CSP315 Presentations
8/68
Concept Diagram
CSP315- Android Based Attendance System8
7/29/2019 002 CSP315 Presentations
9/68
Mobile Application Higher Level
Details
CSP315- Android Based Attendance System9
7/29/2019 002 CSP315 Presentations
10/68
Web Service Design
CSP315- Android Based Attendance System10
7/29/2019 002 CSP315 Presentations
11/68
High Level Architecture Of Web
Server
CSP315- Android Based Attendance System11
7/29/2019 002 CSP315 Presentations
12/68
Web Site Design
CSP315- Android Based Attendance System12
7/29/2019 002 CSP315 Presentations
13/68
Professor/Host
CSP315- Android Based Attendance System13
by humancmd
by automatedscheduling
Initialisation
Search in range
Ping proxy check
push to db
Store
7/29/2019 002 CSP315 Presentations
14/68
Android Based Activity
CSP315- Android Based Attendance System14
Detection of visibleDevices
Receipt andStorage Of Data
Extract macaddresses
Comparison ofreceived addresses
with registeredaddresses
User intervention tooverride presence
of student
Proxy AttendanceChecking
Saving attendancefor the session
Sync with serveron internetconnection
7/29/2019 002 CSP315 Presentations
15/68
Interesting Decisions
CSP315- Android Based Attendance System15
7/29/2019 002 CSP315 Presentations
16/68
Points of Discussion
CSP315- Android Based Attendance System16
Proxy Attendance Persistent problem that needs to be addressed
Need a robust solution
Present Ideas:
Random checks by professor.
Manual verification of headcount.
7/29/2019 002 CSP315 Presentations
17/68
Points of Discussion
CSP315- Android Based Attendance System17
Creation of simple app to authenticate student
E.g. Entering a password for verification Does not solve proxy problem
Can cause distraction during class
7/29/2019 002 CSP315 Presentations
18/68
Ease of Use on Mobile
Application
CSP315- Android Based Attendance System18
Mobile app to have features for enabling plugins.
Some examples of plugins are:
Automatically take attendance as per schedule.
Proxy attendance based (discussed earlier).
7/29/2019 002 CSP315 Presentations
19/68
Database Features
CSP315- Android Based Attendance System19
Integration with Kerberos Authentication.
Providing secure and encrypted access to the
database.
Automated Initialization of the database for courses.
Permission Centric model with different privileges to
each kind of user.
Provision of administrative users to police entire
7/29/2019 002 CSP315 Presentations
20/68
Milestones (completed)
CSP315- Android Based Attendance System20
Design [1st June]
Procure Hardware [14th July]
Sanity Check [19th July]
Database @Android [26th July]
Navigation GUI @Android [5th August]
7/29/2019 002 CSP315 Presentations
21/68
Milestones
CSP315- Android Based Attendance System21
Hardware Calibration [12th August]
Bare Bones Web Service [30th August]
Security Enhancements [22nd Sep]
Proxy Plugins Development [12th Oct]
Scheduling Plugins Development [20thOct]
7/29/2019 002 CSP315 Presentations
22/68
Milestones
CSP315- Android Based Attendance System22
Polish GUI [27th Oct]
Creation of ProjectPoster
Final Demo
7/29/2019 002 CSP315 Presentations
23/68
Present Status
CSP315- Android Based Attendance System23
DesignSanity
Check
Database@Android
Website
7/29/2019 002 CSP315 Presentations
24/68
Present Status
CSP315- Android Based Attendance System24
Navigation
GUI
Bare bonesWeb Service
7/29/2019 002 CSP315 Presentations
25/68
Immediate Steps
CSP315- Android Based Attendance System25
Calibration
Sync withwebserver
7/29/2019 002 CSP315 Presentations
26/68
Tasks and Scheduling
CSP315- Android Based Attendance System26
7/29/2019 002 CSP315 Presentations
27/68
Task Distribution
CSP315- Android Based Attendance System27
Harsh
Design ofdatabase onmobile app.
Sending andreceiving data@
android end
Ankush
Design of theAndroid Based
Activity
Communicationof the web
server and app
7/29/2019 002 CSP315 Presentations
28/68
Task Distribution
CSP315- Android Based Attendance System28
Pallav
Design of theMobile User
Interface
Security inconnections
Deeksha
Design of theweb serverdatabase
Implementationof the website
7/29/2019 002 CSP315 Presentations
29/68
Hiccups
CSP315- Android Based Attendance System29
Delay in procuring android phone. Procured two weeks before semester started.
Rescheduled plan accordingly.
Unable to access database from entire campus
network
Solved by setting up database on
poorvi.cse.iitd.ac.in
7/29/2019 002 CSP315 Presentations
30/68
Hiccups
CSP315- Android Based Attendance System30
Windows Phone 7Android Based API not exposed in Mango ( ver.
7.5)
Android Based API expected to be out in Next
Update -2012.
7/29/2019 002 CSP315 Presentations
31/68
Project Weblink
http://sites.google.com/site/csp315attend/
CSP315- Android Based Attendance System31
7/29/2019 002 CSP315 Presentations
32/68
CSP315- Android Based Attendance System32
Thank You
7/29/2019 002 CSP315 Presentations
33/68
Under Guidance of:
Prof. M. Balakrishnan
CSP315- Android Based Attendance System33
Android Based Attendance
SystemPresentation 2
Pallav Agrawal
2009CS50250
Ankush Jindal
2009CS50234Harsh Gupta
CSP-315
7/29/2019 002 CSP315 Presentations
34/68
Design Details
CSP315- Android Based Attendance System34
7/29/2019 002 CSP315 Presentations
35/68
Recap
CSP315- Android Based Attendance System35
7/29/2019 002 CSP315 Presentations
36/68
Android App Re-imagined
CSP315- Android Based Attendance System36
InitialDesign
Course 1
Details OfAttendees
AttendanceLog
Course 2
7/29/2019 002 CSP315 Presentations
37/68
Android App Re-imagined
CSP315- Android Based Attendance System37
New
Design
ContactList Courses Meetings
7/29/2019 002 CSP315 Presentations
38/68
Android App Re-imagined
CSP315- Android Based Attendance System38
Contact List
Professors ofsame dept
Other Profs Students ofsame dept
Otherstudents
All CourseAttendees
7/29/2019 002 CSP315 Presentations
39/68
Android App Re-imagined
CSP315- Android Based Attendance System39
Courses
Course1
Ids ofattendees
AttendanceLog
Scheduleetc
..
7/29/2019 002 CSP315 Presentations
40/68
Android App Re-imagined
CSP315- Android Based Attendance System40
Meetings
Group 1
Meeting1
Ids ofattendees
Invitationresponse
status
Log ofPresentPeople
.
7/29/2019 002 CSP315 Presentations
41/68
Permission Model - Choices
Person Centric Course Centric
CSP315- Android Based Attendance System41
Create list of people
who can edit the
attendance logs ofone person. [tas ,
profs, course
coordinator]
Very Rigorous.
Pretty Cumbersome.
Create list of
privileged people for
each course. Each of these people
can edit attendance of
any attendee.
Less rigorous.
More Flexible and
very practical
7/29/2019 002 CSP315 Presentations
42/68
Project Status
CSP315- Android Based Attendance System42
7/29/2019 002 CSP315 Presentations
43/68
LDAP & Kerberos Integration
CSP315- Android Based Attendance System43
Automated initialization from LDAP List of courses
List of attendees
Course Coordinators
Identification of user groups
Integrated with the Kerberos authentication
7/29/2019 002 CSP315 Presentations
44/68
LDAP Integration - Leaks
CSP315- Android Based Attendance System44
Only course coordinator in LDAP Other profs have to manually registered for each
course with super privileges.
TAs are not available in LDAP.
Any super of the course can manually add TAs
7/29/2019 002 CSP315 Presentations
45/68
Initialization Of Database On App
CSP315- Android Based Attendance System45
Relevant Data is sent over to the app oninitialization.
Codes:
CA: Course Add
CD: Course Delete
SA : Student Add
SM : Student Modify
SD : Student Delete
SP: Student Proxy
7/29/2019 002 CSP315 Presentations
46/68
Networking : Server App
CSP315- Android Based Attendance System46
Transaction Of Attendance Logs Transaction Of Updated Mac Addresses
Transaction Of Proxy Attendance
JSON encoding is used for transaction of strings.
7/29/2019 002 CSP315 Presentations
47/68
Network Security
CSP315- Android Based Attendance System47
Web server uses https(128 bit encryption) for allcommunications
Web site
Android app
Installation of website certificate is integrated withthe app installation (automatic).
7/29/2019 002 CSP315 Presentations
48/68
7/29/2019 002 CSP315 Presentations
49/68
How to get MAC addresses?
CSP315- Android Based Attendance System49
Proposed Solutions: Direct Input from user
User looks up Android Based MAC address and enters into
profile via webpage
Different Procedures as per manufacturer of the phone Windows Program
Design of windows program
Display a list of Android Based Connections in range and
corresponding MAC addresses.
7/29/2019 002 CSP315 Presentations
50/68
Experimentation
CSP315- Android Based Attendance System50
Run experiment in Labs Short circuits:
User registration
Course Attendees Lookup
Data to be recorded:
Number of people present.
Number of people found to be present.
Maximum distance to which a person was
registered present.
Number of people in proximity but not marked
present.
7/29/2019 002 CSP315 Presentations
51/68
Open Questions
CSP315- Android Based Attendance System51
How to find maximum number of connections thatcan be identified by a mobile phone?
7/29/2019 002 CSP315 Presentations
52/68
PRESENTATION 3
Android Based Based Attendance
Project
7/29/2019 002 CSP315 Presentations
53/68
RECAP
7/29/2019 002 CSP315 Presentations
54/68
OBJECTIVES
Identify people by mac
addresses
Automate attendanceprocess for large classes
7/29/2019 002 CSP315 Presentations
55/68
System Design
7/29/2019 002 CSP315 Presentations
56/68
Deliverables
Android app
Web server
Desktop app toregister users
7/29/2019 002 CSP315 Presentations
57/68
Project status
7/29/2019 002 CSP315 Presentations
58/68
Progress before Presentation2
CSP315- Android Based Attendance System58
Website
Web service
Automatic initialization(ldap)
Web interface
App
Android Based ping
Encrypted Communication
Kerberos integration
7/29/2019 002 CSP315 Presentations
59/68
Progress after presentation 2
CSP315- Android Based Attendance System59
Meetings support added
Android App
Diagnostic activity coded.. Results later.
Experimentation
SMTP email sending deployed.
Website
7/29/2019 002 CSP315 Presentations
60/68
Meeting
CSP315- Android Based Attendance System60
Adhoc meetings: Create meeting on the spot
On the spot querying of web server may be
required.
Preplanned meetings:
Send invitations via web interface.
Relevant entries can be synced in advance.
7/29/2019 002 CSP315 Presentations
61/68
Desktop Application
CSP315- Android Based Attendance System61
Need : Register students mac-address. Requirements:
Portable and easy to run.
Independent of Android Based stack.
Does not allow mac address sharing
Kerberos Authentication
Implementation:
Uses Android Based stack provided by python-
bluez
7/29/2019 002 CSP315 Presentations
62/68
Experiment
CSP315- Android Based Attendance System62
Maximum range till which a person may beidentified?
Maximum number of people that can be
identified?
Are we missing out any people in the vicinity?
How much battery is consumed?
How much time is needed to find n people?
How much time should the application run?
7/29/2019 002 CSP315 Presentations
63/68
Maximum Range
CSP315- Android Based Attendance System63
Without any obstructions:54 m With one wall in the middle: 12m outside wall
7/29/2019 002 CSP315 Presentations
64/68
Battery Consumed
CSP315- Android Based Attendance System64
39
39.5
40
40.5
41
41.5
42
42.5
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200
Number of people found
Battery Level
Battery Level
7/29/2019 002 CSP315 Presentations
65/68
Time taken to detect People
CSP315- Android Based Attendance System65
0
50
100
150
200
250
300
350
400
450
500
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200
Tiemi
nseconds
Number of people
7/29/2019 002 CSP315 Presentations
66/68
Running time of app?
CSP315- Android Based Attendance System66
Keep a count of number of people found inprevious 40 seconds.
Stop when count==0
7/29/2019 002 CSP315 Presentations
67/68
Next steps
CSP315- Android Based Attendance System67
Store photographs of students in the androiddatabase.
Add proxy catching heuristics to code
Randomly display names of present people
Add scheduling functionality to the app so that itcan run on itself as per a timetable.
Stress testing , checking for any open loops.
7/29/2019 002 CSP315 Presentations
68/68
Thank you