"Talent wins games, but teamwork and intelligence wins championships!"
- Michael Jordan
(An american professional basketball player and entrepreneur. He played for Chicago Bulls and Washington Wizards, and regarded as the greatest basketball player of all time. 1963-)

Northwestern
  Mobile TCP Evaluation

Personal


Mobile TCP Evaluation https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Networking Problems in Cloud Computing, Group (3 members).
Programming Languages & Tools: Ruby, tcptrace, tcpdump, wireshark.

Brief Abstract:
Although The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite (IP), it is not particularly designed for the mobile environment. The principle goal for this project is to evaluate performance of TCP in mobile environments (WiFi and Cellular-Data). We aim to thoroughly analyze the obtained results and come up with the factors behind TCP’s slow mobile performance. We focused on one principal problem, namely TCP connections with Cellular-Data in a moving environment.

The following questions are addressed in our analysis:
1) What is the comparative performance of TCP in wired, wifi and mobile networks?
2) What are the main reasons for slow TCP performance in mobile networks?
3) How TCP performance is affected by the mobility of cellular devices?
4) Can we suggest a plausible fix to the problem with moving Cellular-Data connections?

Our initial conclusions were that there is a significant decrease in performance in both WiFi and Cellular-Data for mobile phones. We found out that TCP was appearing to think that there was congestion in the connection, so RTT was increasing and connections were being reset often. In addition, when on Cellular-Data connections while moving, the connection is unbearably slow and barely transferred any data during the TCP connection. We propose that a possible solution or alleviation to this problem would be to include state transferring protocols inside of the cell towers just as if they were WiFi routers.

Detailed Report: View PDF| Download


Kademlia DHT https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Distributed Systems, Group (2 members).
Programming Languages & Tools: Google Go, Linux.

Brief Description:
Kademlia is a communications protocol for peer-to-peer networks. It is one of many versions of a Distributed Hash Table (DHT). The original Kademlia paper, says that the Kademlia protocol consists of four remote procedure calls ("RPCs") - PING, STORE, FIND_NODE, FIND_VALUE. We implemented all of these four RPC procedure calls, with an iterative node look-up algorithm (although the paper describes it as recursive). 'iterativeFindNode' and 'iterativeFindValue' procedures functioned as basic Kademlia node look-up operation and search operation respectively. In addition, we implemented caching to an extent during in this project according to the given specs, which helped us to achieve improved look-up performance. We also developed 'Refresh; and 'Join' functions.

Detailed Specification: View PDF | Download (We implemented all specifications correctly, and scored 100/100)


Beehive Over Kademlia DHT https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Distributed Systems, Group (3 members).
Programming Languages & Tools: Google Go, Linux.

Brief Abstract:
Kademlia is a distributed hash table (DHT) for decentralized peer-to peer (P2P) computer networks. Like many other DHTs, Kademlia contacts about O(log (n)) nodes during the lookup for a stored object, out of a total of n no. of nodes in the system. We also implemented caching to an extent during our first project implementation according to the given specs. Although they helped us to achieve improved look-up performance, this caching strategy is not optimal in certain cases. On the other hand, Beehive is a technique which uses proactive replication to provide a constant look-up performance for DHTs, especially for power-law query distributions (e.g. Zipf query distribution). In certain papers, authors used Beehive technique intelligently over another DHT Pastry. In this project, we designed and implemented Kademlia-B, which uses Beehive-like proactive caching to improve overall look-up performance of Kademlia in special cases.

Detailed Report: View PDF | Download


Robothello (Intelligent Othello Game) https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Intro to Artificial Intelligence, Group (2 members).
Programming Languages & Tools: C++.

Brief Description (Tournament):
We implemented an intelligent version of Othello game. We named our version of the game "Robothello". Every group of the course (around ~90 students) had to develop their version of Othello, with own A.I. techniques and heuristics. A tournament was arranged finally, where two versions of the Othello game played against each other in a particular match. Opponents were chosen randomly in the first round and winner from each match progressed to the next round. Our Robothello went into the semi-final stage (last four) in the tournament, losing to the eventual champions. For Robothello, we implemented various heuristics (for a particular state of the game) to decide the next move: coin-parity, corners, stability, player mobility and closeness to corners (as corner positions are very strong in Othello).

Detailed Report: View PDF | Download


Projects in OS https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Operating Systems, Group (3 members).
Programming Languages & Tools: C++, Linux.

Projects:
1. Tiny Shell Implementation.
2. Kernel Memory Allocator.
3. Multi-threaded Server.
4. File system


Undergraduate Thesis https://sites.google.com/site/masudhussn/project-works/#

Thesis Topic: "Network Voronoi Diagrams (NVD) for Uncertain and Extended Objects in Road Networks".

Supervisor: Dr. Mohammed Eunus Ali, Assistant Professor, Dept. of CSE, BUET.

Group partner: Abu Saleh MD. Noman, Ex-Undergraduate student BUET.

DOWNLOAD: An older version of the first few pages (abstract & introduction) of extended objects part work: View Abstract & Intro | Download a PDF Version.



Ray Tracing https://sites.google.com/site/masudhussn/project-works/#


Course & Project Type: Graphics, Group (3 members).
Programming Languages & Tools: C++, OpenGL.
Description: Ray tracing is a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters with virtual objects. It is a tool for developing realistic visual images. We built a project which implemented "Ray Tracing" technique successfully. The output of our project with different parameters is shown above.



3D FPS https://sites.google.com/site/masudhussn/project-works/#


Game Intro Video Screen Capture

Level 1,2 Short Demo



Course & Project Type: Information System and Software Design,
Group (2 members).
Programming Languages & Tools: Unity JavaScript,Unity Game Engine, 3ds Max, Autodesk Maya, Adobe Photoshop, Inno Setup tool
Description: We developed a 3D first person game. Storyline relates to a sailor, who is lost in an island and he must survive there by completing tricky tasks. We developed 2 fully functional levels of the game. Main features were:
  1. Profile system to keep track of how many levels are completed by different users.
  2. Realistic sound effects and graphics.
  3. Map, objectives and inventory management interfaces for players.
  4. Saving and loading option.
  5. Music management in main menu.
  6. A fully functional and complete main menu.
  7. Setup file generated for windows users.

Cricket Info Website https://sites.google.com/site/masudhussn/project-works/#



Course & Project Type: Database, Group (2 members).
Programming Languages & Tools: Oracle 11g, ASP .NET, Silverlight 3.0.
Description: We developed a complete cricket information and news website. The database design was very complicated and critical. We used triggers, stored procedures etc. as well. .NET platform was used for front end works. Main features were:
  • Match details & scorecard
  • Player details and statistics
  • Umpire, officials and article/news author details
  • Collection of news and articles
  • User account management (users were able vote on poll and comment on news)
  • Polling and commenting on news
  • Player comparison tool
  • Nice website design using Silverlight 3.0
  • Team history and details
  • Searching options for the whole website
  • Search for personnel, teams, news, articles, polls

Burj-Al-Arab & Living Room Graphics Design https://sites.google.com/site/masudhussn/project-works/#




Course & Project Type:
Graphics, Group(3 members) & Individual (Living room project).
Programming Languages & Tools: OpenGL, C++.
Description: I completed two more projects other than "Ray Tracing" in my Graphics course. I, along with two group partners, had to design exterior parts (including lobby) of Burj Al Arab building. We implemented 3 kinds of lighting and also swift camera movement. Skybox was also implemented. Another project was to design a living room, with moving curtains. The room contained a light, which turned light on/off for the room.


Operations On Nachos https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Operating Systems, Group (3 members).
Programming Languages & Tools: Nachos Project, C.
Description: This project was done in Linux operating system. This system was able execute system calls (e.g. read, write, join, exec, exit, etc.) in Nachos. The features that were added on Nachos:
  • A file system for UNIX was implemented in Nachos. It was implemented using 'Inode' structure, super block and boot block in C.
  • Multiprogramming.
  • Console.
  • Thread Synchronization and Scheduling.

Media Player (Windows) https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Object Oriented Programming (C++, Java), Group (2 members).
Programming Languages & Tools: Java, Netbeans.
Description: This project was developed using Java Media Framework (JMF). Implemented features were:
  • MP3, MPEG file play back support.
  • Full screen option while watching MPEG file.
  • Playlist management.
  • Shuffling, repeating playlist items.
  • Sliding timer.
  • Eject cd-rom, or play directly from cd-rom option.

Cricket Scorecard System https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Structured Programming Language, Individual.
Programming Languages & Tools: C, Microsoft Visual Studio 6.0, Adobe Photoshop (Designing).
Description: The software was developed using iGraphics developed by BUET ex-faculty Shahriar Nirjon. The main features were:
  • Good visual representation of cricket scorecard.
  • Automatic update of all relative data. You have to only specify what happened in a ball with one input, all other statistics then will be updated automatically.
  • Graphs & charts to show run rate, run scored per over and fall of wickets.
  • Saving option at any time.

Graphics Desigining https://sites.google.com/site/masudhussn/project-works/#

I have designed t-shirts, logos, banners, posters, ads for various purposes. I have also worked on 3d softwares like 3ds Max or Maya. Some of the samples of my amateurish design related works are shown here.