Mazen Alkoa’ & Ahmad Nabulsi Submitted to Dr. Sufyan Samara

Slides:



Advertisements
Similar presentations
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Advertisements

MIGSOCK Migratable TCP Socket in Linux Demonstration of Functionality Karthik Rajan Bryan Kuntz.
Socket Programming.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Introduction to the Application.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Middleware Technologies compiled by: Thomas M. Cosley.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
Distributed Systems: Client/Server Computing
Mobile Data Sharing over Cloud Group No. 8 - Akshay Kantak - Swapnil Chavan - Harish Singh.
File Systems (2). Readings r Silbershatz et al: 11.8.
Chapter Two Application Layer Prepared by: Dr. Bahjat Qazzaz CS Dept. Sept
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Socket Swapping for efficient distributed communication between migrating processes MS Final Defense Praveen Ramanan 12 th Dec 2002.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Gwynn Fewell CCR – COMPUTER CONTROLLED RAILROAD. PROJECT DEFINITION  Use Mobile Devices to run trains on the CCR (Computer Controlled Railroad)  Build.
Dr. John P. Abraham Professor University of Texas Pan American Internet Applications and Network Programming.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
A Comparative Study of Signaling Protocols for Data Management and Synchronization # Department of Computer Engineering, Kocaeli University.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Data Communications and Networks
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Cevgroup.org C utting E dge V isionaries. cevgroup.org TODAY’s TALK 1) Internet Of Things (IoT) 2) Wi-Fi Controlled Robots 3) Augmented Reality.
How to Sync Android Phone to Computer (PC/Mac)? Are you a person that always has your Android phone in your hands? Nowadays, a cell phone is not just for.
Advanced Higher Computing Science
Introduction to threads
Introduction to UML.
Introduction To Application Layer
Business System Development
Title of the Poster (Font: Arial 72)
Development Environment
Title of the Poster (Font: Arial 72)
The Client-Server Model
Chapter 3 Internet Applications and Network Programming
MCA – 405 Elective –I (A) Java Programming & Technology
Principles of Network Applications
An-Najah National University Computer Engineering Department Software Graduation Project (66581) Supervised By: Dr. Luai M. Malhis Examiners.
The University of Adelaide, School of Computer Science
Tarneeb Game.
File Transfer and access
#01 Client/Server Computing
Ch > 28.4.
Object-Oriented Design
Do it now – PAGE 11 You will find your do it now task in your workbook – look for the start button! Wednesday, 21 November 2018.
Mike Becher and Wolfgang Rehm
Radoslaw Jedynak, PhD Poland, Technical University of Radom
CHAPTER 8: USING OBJECTS
Multithreaded Programming
Remote Procedure Call Hank Levy 1.
An Introduction to Internetworking
An Introduction to Internetworking
Remote Procedure Call Hank Levy 1.
Journey of Computer and Information Technology
Interface and Complexity
Remote Procedure Call Hank Levy 1.
Interactive Media Technology
Title of the Poster (Font: Arial 72)
ISO Open system Requirements and IT Needs
Exceptions and networking
#01 Client/Server Computing
Network programming Lecture 1 Prepared by: Dr. Osama Mokhtar.
Presentation transcript:

Mazen Alkoa’ & Ahmad Nabulsi Submitted to Dr. Sufyan Samara Middleware Prepared by Mazen Alkoa’ & Ahmad Nabulsi Submitted to Dr. Sufyan Samara A documentation report of graduation project (66581/3)   Computer Engineering Department Faculty of Engineering An-Najah National University

Introduction In our project we have developed a middleware that can be used from other applications to interact with each other. It provides a higher-level building block for programmers than Application Programming Interfaces (APIs) such as sockets that are provided by the operating system. This middleware hides more complex work from the programmers and reduces the responsibility of synchronization between different machines.

Our project isn’t the first project that develop a middleware, many different similar projects have done before, but in different sides and different types of middleware, some use message passing interface for communications ,others use remote procedure calls and different types of middleware. We have used message passing interface for the communication due to different reasons that are related to the nature of the project .

In our project the main objective of the middleware is to provide the developers of games the ability of making their applications to be run onto different machines and the interaction between their games will be done through our middleware. We have searched for the requirements of games and we found that the most perfect way for communication is message passing interface ,because sending pictures and movies may increase the overhead on the application.

Objectives To make the communication between two mobile phones easy. To make flexible middleware that can be used for different applications. -> And in our project we will make a test game that runs on different machines and the middleware will take care of the communication.

Methodology We have divided the work into two main parts , the first part is a middleware in distributed system and second is in centralized system. Now we will take about the first part and later we will take about the second part. In the first part we have used mobiles with android operating system.

We divided the work into different stages We divided the work into different stages. In the first stage we have developed an application that can be used for sending messages between two mobiles. Our application is divided into three modules, the first module is for scanning for devices and inform the user about the paired devices. The user can select previous paired devices or can scan for other devices

The second module is for establishing the connection and transfer this connection to the third module that takes this connection to apply the interaction between devices. As a result of this stage we have a good implemented application that takes care of communication and sends messages between different devices.

Here is the flowchart that illustrates the communication activities

In the second stage we tried to find a game that is implemented in a single machine but can be played in different machines and we tried to analysis the game to find the control units that control the flow of the game. In the third stage we have added the communication to the game.

Middleware work In this stage we have made only one module to be access from the user to send and receive messages. Other modules are hidden from the user and he don’t have to know how they work The work for the user is easy only one function from the main module launches other modules and takes care of all interactions Other modules provide good synchronization. This is the longest stage and it is the most difficult one.

Packaging After we have finished the communication and the playing parts, we began putting our application into one package to be used later from other applications. We have used .jar format to make the user hidden from the implementation by putting only the classes in this jar file. In this stage we have encountered many problems and difficulties related to android environment, but finally we solved these problems.

Finally we have a good middleware that are used with no coordinator that appears as the following figure:

Now we will talk about the second part of the project which is middleware using TCP communication that acts in centralized system with a computer (server) as the coordinator.