This document proposes a new approach to developing messenger applications by combining client-server and P2P architectures. It introduces a local proxy model where each client has a local proxy that interacts with the client like a server but shares information with other proxies via a P2P system. This allows keeping the client-server protocol design while implementing it with P2P communication. As a case study, the document develops a P2P messenger application using this approach where local proxies store and share messages and user information as files in a shared folder using the P2P subsystem. The approach was implemented and tested with a simple text-based messenger application, demonstrating it can provide the same functionality as a client-server version with improved performance and scal
This document describes a simple Java-based chat application with client-server architecture. It discusses the design of the server and client components. The server uses TCP and threads to handle multiple clients simultaneously. It stores online users in a hashmap and forwards messages between clients. The client uses two threads - one for sending messages to the server and another for receiving messages from the server.
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT A scalable server architecture for m...IEEEGLOBALSOFTTECHNOLOGIES
To Get any Project for CSE, IT ECE, EEE Contact Me @ 09849539085, 09966235788 or mail us - ieeefinalsemprojects@gmail.com-Visit Our Website: www.finalyearprojects.org
A scalable server architecture for mobile presence services in social network...IEEEFINALYEARPROJECTS
To Get any Project for CSE, IT ECE, EEE Contact Me @ 09849539085, 09966235788 or mail us - ieeefinalsemprojects@gmail.co¬m-Visit Our Website: www.finalyearprojects.org
The document describes a chat server application built using Java sockets. It includes a client and server component that allow users to login and send messages to each other. The server uses multithreading to handle multiple client connections concurrently by passing accepted socket connections to separate thread objects. The chat server provides group and private messaging capabilities and could be expanded in the future to include additional features like offline messaging, file sharing, and a user profile database.
Middleware technologies like RPC, RMI, CORBA, and web services define standards for distributed computing by allowing programs and objects located on different machines to communicate. They provide location transparency so clients can access remote objects as if they were local. Middleware sits above basic communication mechanisms and hides differences in operating systems, networks, and programming languages.
This document provides an overview of client/server based computing and thin client computing. It discusses:
- The basics of client/server architecture and how it works to distribute processing between clients and servers.
- The benefits of server-based computing such as easier management, security, and lower costs compared to traditional desktop computing.
- What thin client computing is and how it stores applications and data on central servers rather than individual client devices, reducing costs and management needs.
- The key components of thin client solutions including terminal servers, thin clients, and communication protocols.
- How thin clients operate by connecting to terminal servers and only receiving screen updates rather than processing information locally.
This document outlines a project on client-server communication for a computer networks course. It includes sections on literature review, types of networks, peer-to-peer and client-server modes, the client and server models, data flow diagrams, how client-server communication works, future applications, advantages like centralized access control, and limitations such as single point of failure if the server crashes. The conclusion indicates the project on client-server communication was successfully completed.
The document provides information on client-server technology and architecture. It discusses:
1) Client-server computing partitions tasks between service providers (servers) and service requesters (clients), with clients initiating communication sessions with servers.
2) Common examples of client-server models include web browsing, email, and database access.
3) The OSI 7-layer model is described, with an overview of the functions of each layer from the physical layer to the session layer.
This document describes a simple Java-based chat application with client-server architecture. It discusses the design of the server and client components. The server uses TCP and threads to handle multiple clients simultaneously. It stores online users in a hashmap and forwards messages between clients. The client uses two threads - one for sending messages to the server and another for receiving messages from the server.
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT A scalable server architecture for m...IEEEGLOBALSOFTTECHNOLOGIES
To Get any Project for CSE, IT ECE, EEE Contact Me @ 09849539085, 09966235788 or mail us - ieeefinalsemprojects@gmail.com-Visit Our Website: www.finalyearprojects.org
A scalable server architecture for mobile presence services in social network...IEEEFINALYEARPROJECTS
To Get any Project for CSE, IT ECE, EEE Contact Me @ 09849539085, 09966235788 or mail us - ieeefinalsemprojects@gmail.co¬m-Visit Our Website: www.finalyearprojects.org
The document describes a chat server application built using Java sockets. It includes a client and server component that allow users to login and send messages to each other. The server uses multithreading to handle multiple client connections concurrently by passing accepted socket connections to separate thread objects. The chat server provides group and private messaging capabilities and could be expanded in the future to include additional features like offline messaging, file sharing, and a user profile database.
Middleware technologies like RPC, RMI, CORBA, and web services define standards for distributed computing by allowing programs and objects located on different machines to communicate. They provide location transparency so clients can access remote objects as if they were local. Middleware sits above basic communication mechanisms and hides differences in operating systems, networks, and programming languages.
This document provides an overview of client/server based computing and thin client computing. It discusses:
- The basics of client/server architecture and how it works to distribute processing between clients and servers.
- The benefits of server-based computing such as easier management, security, and lower costs compared to traditional desktop computing.
- What thin client computing is and how it stores applications and data on central servers rather than individual client devices, reducing costs and management needs.
- The key components of thin client solutions including terminal servers, thin clients, and communication protocols.
- How thin clients operate by connecting to terminal servers and only receiving screen updates rather than processing information locally.
This document outlines a project on client-server communication for a computer networks course. It includes sections on literature review, types of networks, peer-to-peer and client-server modes, the client and server models, data flow diagrams, how client-server communication works, future applications, advantages like centralized access control, and limitations such as single point of failure if the server crashes. The conclusion indicates the project on client-server communication was successfully completed.
The document provides information on client-server technology and architecture. It discusses:
1) Client-server computing partitions tasks between service providers (servers) and service requesters (clients), with clients initiating communication sessions with servers.
2) Common examples of client-server models include web browsing, email, and database access.
3) The OSI 7-layer model is described, with an overview of the functions of each layer from the physical layer to the session layer.
A brief report on Client Server Model and Distributed Computing. Problems and Applications are also discussed and Client Server Model in Distributed Systems is also discussed.
Client-server computing is a distributed computing model where client applications request services from server processes running on different interconnected computers. The client-server model provides advantages like vendor independence, scalability, and ability to interconnect different hardware. However, it also presents challenges like ensuring security and consistency across multiple servers. Design considerations for client-server systems include whether to use a two-tier or three-tier architecture and how to partition application logic between clients and servers.
This document summarizes a client server chat application system that allows users worldwide to communicate through the internet. The system allows an administrator to communicate with project leaders and programmers to send messages about ongoing projects. The administrator can monitor login/logout times and chat about projects. The system also maintains offline messages. It provides a user friendly interface with different authentication levels and security. The key advantages are that users worldwide can access the system and it has improved performance over existing systems. The system uses VB.NET for the front end, SQL Server as the back end, and runs on Windows with hardware specifications of a dual core processor, 1GB RAM, and 80GB hard disk. It has modules for online chat, member registration, email, security
This document summarizes a Java-based chat application created by DVS Technologies. It discusses what chatting and chat applications are, how they allow real-time communication, and how they are used on websites and mobile devices. It then explains the technical details of how sockets allow for two-way communication between client and server programs by binding to specific port numbers, allowing the server to listen for connection requests and the client to identify the server to connect to. Diagrams demonstrate how a port scanner can find the port a chat server is listening on so the client can connect and authenticate with the server.
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology.
Web services use open standards like XML, SOAP, WSDL and UDDI to allow applications to communicate over the web. SOAP defines how to structure XML messages for web services to exchange information. RESTful web services use HTTP requests to access web resources and support different data formats like XML and JSON. Reliable messaging ensures messages are received exactly once and in order through acknowledgements.
It is about mail server using bind9, postfix, dovecot, squirrelmail on ubuntu 14.04 LTS.
Every package has it's own importance as bind9 for DNS. postfix as MTA, dovecot as MDA, squirrelmail as webmail client. If anyone can do advancements in it,then please let me know. so, i will also use them
This document discusses topics related to client-server computing including connectivity, communication interfaces, interprocess communication technologies, wide area network technologies, network topologies, and client-server system hardware. It focuses on the layered architecture of client-server applications and describes the interface between layers. It also explains concepts like synchronous and asynchronous communication, buffering, reliable and ordered transmission, and different interprocess communication methods. Finally, it discusses wide area network components like switches, access servers, modems, and terminal adapters as well as network technologies like Token Ring.
This presentation introduces a multi-user chat application. It discusses TCP, clients, servers, ports, and sockets. The basic diagram shows a chat server connecting multiple clients. The process has a client connecting to a server via a port. Implementation in Java uses sockets requiring a hostname/IP and port to open a connection. Streams are used to send and receive data between clients and server. Advantages include unique user names and requiring multiple users. Disadvantages are inability to handle crashes and single server point of failure. Future plans include video chat, improved security, and recovery systems. Any questions are welcome.
The document discusses various models for distributed systems including architectural, interaction, failure, software layer, and process models. It describes key aspects of distributed systems like client-server, peer-to-peer, and mobile code architectures. Requirements for distributed designs like performance, quality of service, caching, and dependability are covered. Fundamental models for message passing between processes are defined including states, configurations, computation and delivery events.
The document discusses implementing an example loan broker application using Mule ESB. It provides an overview of the key components involved - a Loan Broker service, Credit Agency service, Lender service, Banking Gateway and individual Bank services. It describes the message flow and how each component is implemented as a Mule endpoint, service or router. It discusses how Mule handles message routing, transformation and correlation to orchestrate the end-to-end request and response processing across the different systems and services.
Middleware is software that connects applications running on different operating systems and networks. It provides services that allow applications to communicate with each other by hiding the complexity of the operating systems and networks. Common types of middleware include remote procedure calls, message-oriented middleware, object request brokers, and transaction processing monitors. Middleware is used by many large companies like IBM and Oracle and provides benefits such as increased flexibility, reduced costs, and improved management of IT services.
1. The Transport layer controls reliability and flow control for data transfer between networked devices.
2. It provides different classes of connection-oriented and connectionless transport protocols like TCP and UDP.
3. TCP ensures reliable, ordered delivery of data packets while UDP provides best-effort delivery without verification.
This is a talk I gave on patterns and antipatterns of SOA, based on my understandings and practices and inspired by Ron Jacobs famous webcast by the same name.
Middleware facilitates interactions between applications across different computing platforms by providing programming abstractions. Common types of middleware include RPC-based systems, transaction processing (TP) monitors, object brokers, and message-oriented middleware. RPC extends procedure calls to work remotely, while TP monitors add transaction management to distributed RPC calls. Object brokers like CORBA standardize object distribution, and message queues in message-oriented middleware enable asynchronous communication.
The Middleware technology that connects the enterpriseKasun Indrasiri
The document discusses the evolution of middleware and integration platforms. It describes how middleware emerged to allow disparate systems to communicate by acting as "software glue". Early forms of middleware included homegrown, RPC-based, and object-oriented solutions. More recent approaches include message-oriented middleware, ESBs, and API-based integration using SOA. The WSO2 integration platform is presented as a lightweight, open source ESB and API management platform that supports REST, SOAP, and other integration styles in a configurable and scalable manner.
Enhancement in Web Service ArchitectureIJERA Editor
Web services provide a standard means of interoperating between different software applications, running on a
variety of platforms and/or frameworks. Web services are increasingly used to integrate and build business
application on the internet. Failure of web services is not acceptable in many situations such as online banking,
so fault tolerance is a key challenge of web services. This paper elaborates the concept of web service
architecture and its enhancement. Traditional web service architecture lacks facilities to support fault tolerance.
To better cope with the fundamental issues of the traditional client-server based web service architecture, peer to
peer web service architecture have been introduced. The purpose of this paper is to elaborate the architecture,
construction methods and steps of web services and possible weaknesses in scalability and fault tolerance in
traditional client server architecture and a solution for that, peer to peer web service technology has evolved.
This document describes a peer-to-peer messaging system built using the JXTA platform. The system allows instant messages to be sent between peers in a decentralized JXTA network. JXTA defines protocols for peer-to-peer communication, where all peers have equal status and can request or provide services. The system includes a JXTA relay that receives commands from J2ME clients, performs actions on their behalf, and represents the clients on the JXTA network by discovering peers and routing messages. The goal of the project is to enable instant messaging between peers in a peer-to-peer manner without a centralized server.
The document describes client-server and peer-to-peer architecture styles. Client-server architecture divides an application into two parts - the client and the server. The client makes requests to the server which processes requests and returns results. Common client-server structures include 2-tier with a database server and client, and 3-tier with an additional middle tier. Peer-to-peer architecture has no servers or clients - each node can request and provide services to other nodes on the network.
This document describes a project to develop a graphical user interface (GUI) client email program that allows users to access remote message stores as if they were local. The project uses JavaMail API to provide email functionality like retrieving, composing, forwarding and deleting emails. It allows users to access their email accounts from multiple computers in a compatible way with Internet email standards. The project aims to provide a similar user experience to Outlook for various email tasks. It develops a GUI program that navigates users through different email functions. The overall goal is to gain insights into building real-time applications like Yahoo Mail and Gmail.
A brief report on Client Server Model and Distributed Computing. Problems and Applications are also discussed and Client Server Model in Distributed Systems is also discussed.
Client-server computing is a distributed computing model where client applications request services from server processes running on different interconnected computers. The client-server model provides advantages like vendor independence, scalability, and ability to interconnect different hardware. However, it also presents challenges like ensuring security and consistency across multiple servers. Design considerations for client-server systems include whether to use a two-tier or three-tier architecture and how to partition application logic between clients and servers.
This document summarizes a client server chat application system that allows users worldwide to communicate through the internet. The system allows an administrator to communicate with project leaders and programmers to send messages about ongoing projects. The administrator can monitor login/logout times and chat about projects. The system also maintains offline messages. It provides a user friendly interface with different authentication levels and security. The key advantages are that users worldwide can access the system and it has improved performance over existing systems. The system uses VB.NET for the front end, SQL Server as the back end, and runs on Windows with hardware specifications of a dual core processor, 1GB RAM, and 80GB hard disk. It has modules for online chat, member registration, email, security
This document summarizes a Java-based chat application created by DVS Technologies. It discusses what chatting and chat applications are, how they allow real-time communication, and how they are used on websites and mobile devices. It then explains the technical details of how sockets allow for two-way communication between client and server programs by binding to specific port numbers, allowing the server to listen for connection requests and the client to identify the server to connect to. Diagrams demonstrate how a port scanner can find the port a chat server is listening on so the client can connect and authenticate with the server.
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology.
Web services use open standards like XML, SOAP, WSDL and UDDI to allow applications to communicate over the web. SOAP defines how to structure XML messages for web services to exchange information. RESTful web services use HTTP requests to access web resources and support different data formats like XML and JSON. Reliable messaging ensures messages are received exactly once and in order through acknowledgements.
It is about mail server using bind9, postfix, dovecot, squirrelmail on ubuntu 14.04 LTS.
Every package has it's own importance as bind9 for DNS. postfix as MTA, dovecot as MDA, squirrelmail as webmail client. If anyone can do advancements in it,then please let me know. so, i will also use them
This document discusses topics related to client-server computing including connectivity, communication interfaces, interprocess communication technologies, wide area network technologies, network topologies, and client-server system hardware. It focuses on the layered architecture of client-server applications and describes the interface between layers. It also explains concepts like synchronous and asynchronous communication, buffering, reliable and ordered transmission, and different interprocess communication methods. Finally, it discusses wide area network components like switches, access servers, modems, and terminal adapters as well as network technologies like Token Ring.
This presentation introduces a multi-user chat application. It discusses TCP, clients, servers, ports, and sockets. The basic diagram shows a chat server connecting multiple clients. The process has a client connecting to a server via a port. Implementation in Java uses sockets requiring a hostname/IP and port to open a connection. Streams are used to send and receive data between clients and server. Advantages include unique user names and requiring multiple users. Disadvantages are inability to handle crashes and single server point of failure. Future plans include video chat, improved security, and recovery systems. Any questions are welcome.
The document discusses various models for distributed systems including architectural, interaction, failure, software layer, and process models. It describes key aspects of distributed systems like client-server, peer-to-peer, and mobile code architectures. Requirements for distributed designs like performance, quality of service, caching, and dependability are covered. Fundamental models for message passing between processes are defined including states, configurations, computation and delivery events.
The document discusses implementing an example loan broker application using Mule ESB. It provides an overview of the key components involved - a Loan Broker service, Credit Agency service, Lender service, Banking Gateway and individual Bank services. It describes the message flow and how each component is implemented as a Mule endpoint, service or router. It discusses how Mule handles message routing, transformation and correlation to orchestrate the end-to-end request and response processing across the different systems and services.
Middleware is software that connects applications running on different operating systems and networks. It provides services that allow applications to communicate with each other by hiding the complexity of the operating systems and networks. Common types of middleware include remote procedure calls, message-oriented middleware, object request brokers, and transaction processing monitors. Middleware is used by many large companies like IBM and Oracle and provides benefits such as increased flexibility, reduced costs, and improved management of IT services.
1. The Transport layer controls reliability and flow control for data transfer between networked devices.
2. It provides different classes of connection-oriented and connectionless transport protocols like TCP and UDP.
3. TCP ensures reliable, ordered delivery of data packets while UDP provides best-effort delivery without verification.
This is a talk I gave on patterns and antipatterns of SOA, based on my understandings and practices and inspired by Ron Jacobs famous webcast by the same name.
Middleware facilitates interactions between applications across different computing platforms by providing programming abstractions. Common types of middleware include RPC-based systems, transaction processing (TP) monitors, object brokers, and message-oriented middleware. RPC extends procedure calls to work remotely, while TP monitors add transaction management to distributed RPC calls. Object brokers like CORBA standardize object distribution, and message queues in message-oriented middleware enable asynchronous communication.
The Middleware technology that connects the enterpriseKasun Indrasiri
The document discusses the evolution of middleware and integration platforms. It describes how middleware emerged to allow disparate systems to communicate by acting as "software glue". Early forms of middleware included homegrown, RPC-based, and object-oriented solutions. More recent approaches include message-oriented middleware, ESBs, and API-based integration using SOA. The WSO2 integration platform is presented as a lightweight, open source ESB and API management platform that supports REST, SOAP, and other integration styles in a configurable and scalable manner.
Enhancement in Web Service ArchitectureIJERA Editor
Web services provide a standard means of interoperating between different software applications, running on a
variety of platforms and/or frameworks. Web services are increasingly used to integrate and build business
application on the internet. Failure of web services is not acceptable in many situations such as online banking,
so fault tolerance is a key challenge of web services. This paper elaborates the concept of web service
architecture and its enhancement. Traditional web service architecture lacks facilities to support fault tolerance.
To better cope with the fundamental issues of the traditional client-server based web service architecture, peer to
peer web service architecture have been introduced. The purpose of this paper is to elaborate the architecture,
construction methods and steps of web services and possible weaknesses in scalability and fault tolerance in
traditional client server architecture and a solution for that, peer to peer web service technology has evolved.
This document describes a peer-to-peer messaging system built using the JXTA platform. The system allows instant messages to be sent between peers in a decentralized JXTA network. JXTA defines protocols for peer-to-peer communication, where all peers have equal status and can request or provide services. The system includes a JXTA relay that receives commands from J2ME clients, performs actions on their behalf, and represents the clients on the JXTA network by discovering peers and routing messages. The goal of the project is to enable instant messaging between peers in a peer-to-peer manner without a centralized server.
The document describes client-server and peer-to-peer architecture styles. Client-server architecture divides an application into two parts - the client and the server. The client makes requests to the server which processes requests and returns results. Common client-server structures include 2-tier with a database server and client, and 3-tier with an additional middle tier. Peer-to-peer architecture has no servers or clients - each node can request and provide services to other nodes on the network.
This document describes a project to develop a graphical user interface (GUI) client email program that allows users to access remote message stores as if they were local. The project uses JavaMail API to provide email functionality like retrieving, composing, forwarding and deleting emails. It allows users to access their email accounts from multiple computers in a compatible way with Internet email standards. The project aims to provide a similar user experience to Outlook for various email tasks. It develops a GUI program that navigates users through different email functions. The overall goal is to gain insights into building real-time applications like Yahoo Mail and Gmail.
Chat application through client server management system project.pdfKamal Acharya
This project focused on creating a chatting application with communication environment. The objective of our project is to build a chatting system to facilitate the communication between two or more clients to obtain an effective channel among the clients themselves. For the application itself, this system can serve as a link to reach out for all clients. The design of the system depends on socket concept where is a software endpoint that establishes bidirectional communication between a server program and one or more client programs. Languages that will be used for the development of this system: Java Development Kit (JDK): is a development environment for building applications and components using the Java programming language.
The document provides an overview of client/server architecture. It discusses the introduction and vision of client/server computing, characteristics of clients and servers, and merits and demerits compared to peer-to-peer networks. It also covers different types of servers like file servers and database servers. Key aspects of client/server architecture include separating functions between clients and servers, centralized data storage and management on servers, and communication through message passing.
Microservices architecture is an evolution of service-oriented architecture (SOA) principles applied to application design and development. Some key differences include:
- SOA focuses on exposing application functionality as services at the enterprise level, while microservices focus on developing individual applications as a suite of independently deployable services.
- Microservices are typically smaller, lighter weight services focused on a single task, as opposed to monolithic applications. They communicate with lightweight protocols like HTTP.
- Microservices aim to support continuous delivery and deployment, with goals of automation, resilience, and loose coupling between services.
- Individual microservices can be developed and scaled independently. This provides benefits like enabling continuous delivery and deployment.
So in summary,
This document provides an overview of Service Oriented Architecture (SOA) and its enabling technologies. It discusses key SOA principles like loose coupling, standardized service contracts, and service reusability. The document also covers major SOA objectives, benefits, architecture layers, and the differences between SOA and web services. Web services are described as a standardized way for applications to communicate over the web using XML, SOAP, WSDL and other standards. The document contrasts SOA with public-subscribe and pull-based vs push-based messaging architectures.
JAVA 2013 IEEE MOBILECOMPUTING PROJECT A scalable server architecture for mob...IEEEGLOBALSOFTTECHNOLOGIES
To Get any Project for CSE, IT ECE, EEE Contact Me @ 09849539085, 09966235788 or mail us - ieeefinalsemprojects@gmail.com-Visit Our Website: www.finalyearprojects.org
This document provides an overview of client-server computing. It defines client-server computing as a distributed computing model where client applications request services from server processes that run on different interconnected computers. The document discusses key aspects of client-server systems including the roles of clients and servers, examples, design considerations like thin vs fat clients and stateful vs stateless servers, and how distributed object computing is an extension of the client-server model.
Subscription based control system to automate management of events for robotsdbpublications
This document proposes a subscription-based control system using websockets to automate event management for robots. The current polling method used in human-machine interfaces restricts automation capabilities. The proposed system allows clients to subscribe to events and receive asynchronous updates from the server, making responses more reliable. It also explores using semantic web technologies to enable coordinated multi-robot activities through ontologies and web services.
The document discusses different multi-tier architecture models used in software engineering including traditional mainframe, client/server, 3-tier and n-tier models. It provides details on the key components of each model as well as terms like presentation, processing, business rules, and data storage. The document also examines PeopleSoft's n-tier, internet-based architecture including its web, application, and database servers as well as the roles and functions of each component.
Study on Use Case Model for Service Oriented Architecture Developmentijbuiiir1
The recent trends in the computer industry are the one and only thing i.e., web services. Because of the common availability and open technologies web services are relevant to all. Service-oriented architecture (SOA) helps organizations to transform their business processes for high performance by simplifying the underlying information systems. The most challenging aspect of building successful software applications is clearly understanding and specifying the requirements that an application must satisfy. Use case modeling is an increasingly popular approach for identifying and defining requirements for software applications of all types. Use cases describe the behavior of the system as its users interact with it. This approach helps to place the software requirements in the framework of a user doing some useful work with the system. This type of approach helps to map software requirements to the relevant enduser business processes, a very powerful concept. This paper presents how the relationship between use case model and Service oriented architecture
Study on Use Case Model for Service Oriented Architecture Developmentijwtiir
The recent trends in the computer industry are the one
and only thing i.e., web services. Because of the common
availability and open technologies web services are relevant to
all. Service-oriented architecture (SOA) helps organizations to
transform their business processes for high performance by
simplifying the underlying information systems. The most
challenging aspect of building successful software applications is
clearly understanding and specifying the requirements that an
application must satisfy. Use case modeling is an increasingly
popular approach for identifying and defining requirements for
software applications of all types. Use cases describe the
behavior of the system as its users interact with it. This approach
helps to place the software requirements in the framework of a
user doing some useful work with the system. This type of
approach helps to map software requirements to the relevant enduser business processes, a very powerful concept. This paper
presents how the relationship between use case model and
Service oriented architecture.
The document provides an overview of web services and their components. It discusses Service Oriented Architecture (SOA) and how web services implement SOA. The key components of web services identified are XML-RPC, SOAP, WSDL, and UDDI. SOAP is an XML-based protocol for exchanging messages between computers. WSDL provides a standard way to describe web services. UDDI allows services to be published and discovered.
This document discusses Java networking and the client-server model. It explains that Java socket programming allows sharing of data between devices using protocols like TCP and UDP. Sockets are bound to port numbers to identify applications. The client-server model involves clients sending requests and servers sending responses. Examples of Java code for a simple client and server are also provided.
A distributed system is a collection of computational and storage devices connected through a communications network. In this type of system, data, software, and users are distributed.
Study on Use Case Model for Service Oriented Architecture Developmentijcnes
The recent trends in the computer industry are the one and only thing i.e., web services. Because of the common availability and open technologies web services are relevant to all. Service-oriented architecture (SOA) helps organizations to transform their business processes for high performance by simplifying the underlying information systems. The most challenging aspect of building successful software applications is clearly understanding and specifying the requirements that an application must satisfy. Use case modeling is an increasingly popular approach for identifying and defining requirements for software applications of all types. Use cases describe the behavior of the system as its users interact with it. This approach helps to place the software requirements in the framework of a user doing some useful work with the system. This type of approach helps to map software requirements to the relevant endures business processes, a very powerful concept. This paper presents how the relationship between use case model and Service oriented architecture.
An in-building multi-server cloud system based on shortest Path algorithm dep...IOSR Journals
This document summarizes a proposed in-building multi-server cloud system based on the shortest path algorithm. The system would allow for mobile client nodes to upload and access data from the closest of multiple upload stations located throughout an office building. It describes using Bluetooth as the wireless transmission medium between nodes and stations. The stations would be interconnected to allow data access from any station. An application would determine the nearest station for each upload and encrypt data during transmission and storage for security.
This document describes a proposed multi-server cloud system within a building based on determining the nearest server using the shortest path algorithm. The system has multiple upload stations that act as servers, and client nodes that can be mobile. When a client tries to upload data, the system intelligently finds the nearest upload station based on the client's location and measured signal strength. Data is encrypted during transmission and storage for security. The design includes a client application that allows users to login, access files and more. Data structures like dictionaries and lists are used to store user and file information in text files on the upload stations.
Sending the data already gathered from the client to the Serverhussam242
as I believe that spending a lot of time at work is becoming a social problem , and people do not have time for family ,sport and other activities , I created “LOGGER” , it is a monitoring application for employees at work, it controls the time they spent on social media while they are at work , it is also an application that interfere with the user by sending alarm massages when it thinks it’s the need to and alarm the users to get back to work so they finish work early and go back to family/sports , social activities so there will be time for everything !
in this essay i will be talking about how to send the collected data from the monitored computer to the server .
1. This chapter introduces remoting, which allows applications running in separate application domains to communicate. It provides flexibility in how applications communicate across processes.
2. The document discusses creating a simple example client-server application to demonstrate remoting. A remote object is created and hosted by a console application. A client application retrieves data from the remote object.
3. Key aspects of remoting covered include configuration options for channels, hosting, and metadata exposure. The code examples show how to create and configure a remote object and host, and how a client accesses the remote object.
Similar to NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN TO P2P IMPLEMENTATION (20)
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR cscpconf
The progressive development of Synthetic Aperture Radar (SAR) systems diversify the exploitation of the generated images by these systems in different applications of geoscience. Detection and monitoring surface deformations, procreated by various phenomena had benefited from this evolution and had been realized by interferometry (InSAR) and differential interferometry (DInSAR) techniques. Nevertheless, spatial and temporal decorrelations of the interferometric couples used, limit strongly the precision of analysis results by these techniques. In this context, we propose, in this work, a methodological approach of surface deformation detection and analysis by differential interferograms to show the limits of this technique according to noise quality and level. The detectability model is generated from the deformation signatures, by simulating a linear fault merged to the images couples of ERS1 / ERS2 sensors acquired in a region of the Algerian south.
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATIONcscpconf
A novel based a trajectory-guided, concatenating approach for synthesizing high-quality image real sample renders video is proposed . The lips reading automated is seeking for modeled the closest real image sample sequence preserve in the library under the data video to the HMM predicted trajectory. The object trajectory is modeled obtained by projecting the face patterns into an KDA feature space is estimated. The approach for speaker's face identification by using synthesise the identity surface of a subject face from a small sample of patterns which sparsely each the view sphere. An KDA algorithm use to the Lip-reading image is discrimination, after that work consisted of in the low dimensional for the fundamental lip features vector is reduced by using the 2D-DCT.The mouth of the set area dimensionality is ordered by a normally reduction base on the PCA to obtain the Eigen lips approach, their proposed approach by[33]. The subjective performance results of the cost function under the automatic lips reading modeled , which wasn’t illustrate the superior performance of the
method.
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...cscpconf
Universities offer software engineering capstone course to simulate a real world-working environment in which students can work in a team for a fixed period to deliver a quality product. The objective of the paper is to report on our experience in moving from Waterfall process to Agile process in conducting the software engineering capstone project. We present the capstone course designs for both Waterfall driven and Agile driven methodologies that highlight the structure, deliverables and assessment plans.To evaluate the improvement, we conducted a survey for two different sections taught by two different instructors to evaluate students’ experience in moving from traditional Waterfall model to Agile like process. Twentyeight students filled the survey. The survey consisted of eight multiple-choice questions and an open-ended question to collect feedback from students. The survey results show that students were able to attain hands one experience, which simulate a real world-working environment. The results also show that the Agile approach helped students to have overall better design and avoid mistakes they have made in the initial design completed in of the first phase of the capstone project. In addition, they were able to decide on their team capabilities, training needs and thus learn the required technologies earlier which is reflected on the final product quality
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIEScscpconf
This document discusses using social media technologies to promote student engagement in a software project management course. It describes the course and objectives of enhancing communication. It discusses using Facebook for 4 years, then switching to WhatsApp based on student feedback, and finally introducing Slack to enable personalized team communication. Surveys found students engaged and satisfied with all three tools, though less familiar with Slack. The conclusion is that social media promotes engagement but familiarity with the tool also impacts satisfaction.
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGICcscpconf
In real world computing environment with using a computer to answer questions has been a human dream since the beginning of the digital era, Question-answering systems are referred to as intelligent systems, that can be used to provide responses for the questions being asked by the user based on certain facts or rules stored in the knowledge base it can generate answers of questions asked in natural , and the first main idea of fuzzy logic was to working on the problem of computer understanding of natural language, so this survey paper provides an overview on what Question-Answering is and its system architecture and the possible relationship and
different with fuzzy logic, as well as the previous related research with respect to approaches that were followed. At the end, the survey provides an analytical discussion of the proposed QA models, along or combined with fuzzy logic and their main contributions and limitations.
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS cscpconf
Human beings generate different speech waveforms while speaking the same word at different times. Also, different human beings have different accents and generate significantly varying speech waveforms for the same word. There is a need to measure the distances between various words which facilitate preparation of pronunciation dictionaries. A new algorithm called Dynamic Phone Warping (DPW) is presented in this paper. It uses dynamic programming technique for global alignment and shortest distance measurements. The DPW algorithm can be used to enhance the pronunciation dictionaries of the well-known languages like English or to build pronunciation dictionaries to the less known sparse languages. The precision measurement experiments show 88.9% accuracy.
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS cscpconf
In education, the use of electronic (E) examination systems is not a novel idea, as Eexamination systems have been used to conduct objective assessments for the last few years. This research deals with randomly designed E-examinations and proposes an E-assessment system that can be used for subjective questions. This system assesses answers to subjective questions by finding a matching ratio for the keywords in instructor and student answers. The matching ratio is achieved based on semantic and document similarity. The assessment system is composed of four modules: preprocessing, keyword expansion, matching, and grading. A survey and case study were used in the research design to validate the proposed system. The examination assessment system will help instructors to save time, costs, and resources, while increasing efficiency and improving the productivity of exam setting and assessments.
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTICcscpconf
African Buffalo Optimization (ABO) is one of the most recent swarms intelligence based metaheuristics. ABO algorithm is inspired by the buffalo’s behavior and lifestyle. Unfortunately, the standard ABO algorithm is proposed only for continuous optimization problems. In this paper, the authors propose two discrete binary ABO algorithms to deal with binary optimization problems. In the first version (called SBABO) they use the sigmoid function and probability model to generate binary solutions. In the second version (called LBABO) they use some logical operator to operate the binary solutions. Computational results on two knapsack problems (KP and MKP) instances show the effectiveness of the proposed algorithm and their ability to achieve good and promising solutions.
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAINcscpconf
In recent years, many malware writers have relied on Dynamic Domain Name Services (DDNS) to maintain their Command and Control (C&C) network infrastructure to ensure a persistence presence on a compromised host. Amongst the various DDNS techniques, Domain Generation Algorithm (DGA) is often perceived as the most difficult to detect using traditional methods. This paper presents an approach for detecting DGA using frequency analysis of the character distribution and the weighted scores of the domain names. The approach’s feasibility is demonstrated using a range of legitimate domains and a number of malicious algorithmicallygenerated domain names. Findings from this study show that domain names made up of English characters “a-z” achieving a weighted score of < 45 are often associated with DGA. When a weighted score of < 45 is applied to the Alexa one million list of domain names, only 15% of the domain names were treated as non-human generated.
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...cscpconf
The document proposes a blockchain-based digital currency and streaming platform called GoMAA to address issues of piracy in the online music streaming industry. Key points:
- GoMAA would use a digital token on the iMediaStreams blockchain to enable secure dissemination and tracking of streamed content. Content owners could control access and track consumption of released content.
- Original media files would be converted to a Secure Portable Streaming (SPS) format, embedding watermarks and smart contract data to indicate ownership and enable validation on the blockchain.
- A browser plugin would provide wallets for fans to collect GoMAA tokens as rewards for consuming content, incentivizing participation and addressing royalty discrepancies by recording
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEMcscpconf
This document discusses the importance of verb suffix mapping in discourse translation from English to Telugu. It explains that after anaphora resolution, the verbs must be changed to agree with the gender, number, and person features of the subject or anaphoric pronoun. Verbs in Telugu inflect based on these features, while verbs in English only inflect based on number and person. Several examples are provided that demonstrate how the Telugu verb changes based on whether the subject or pronoun is masculine, feminine, neuter, singular or plural. Proper verb suffix mapping is essential for generating natural and coherent translations while preserving the context and meaning of the original discourse.
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...cscpconf
In this paper, based on the definition of conformable fractional derivative, the functional
variable method (FVM) is proposed to seek the exact traveling wave solutions of two higherdimensional
space-time fractional KdV-type equations in mathematical physics, namely the
(3+1)-dimensional space–time fractional Zakharov-Kuznetsov (ZK) equation and the (2+1)-
dimensional space–time fractional Generalized Zakharov-Kuznetsov-Benjamin-Bona-Mahony
(GZK-BBM) equation. Some new solutions are procured and depicted. These solutions, which
contain kink-shaped, singular kink, bell-shaped soliton, singular soliton and periodic wave
solutions, have many potential applications in mathematical physics and engineering. The
simplicity and reliability of the proposed method is verified.
AUTOMATED PENETRATION TESTING: AN OVERVIEWcscpconf
The document discusses automated penetration testing and provides an overview. It compares manual and automated penetration testing, noting that automated testing allows for faster, more standardized and repeatable tests but has limitations in developing new exploits. It also reviews some current automated penetration testing methodologies and tools, including those using HTTP/TCP/IP attacks, linking common scanning tools, a Python-based tool targeting databases, and one using POMDPs for multi-step penetration test planning under uncertainty. The document concludes that automated testing is more efficient than manual for known vulnerabilities but cannot replace manual testing for discovering new exploits.
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORKcscpconf
Since the mid of 1990s, functional connectivity study using fMRI (fcMRI) has drawn increasing
attention of neuroscientists and computer scientists, since it opens a new window to explore
functional network of human brain with relatively high resolution. BOLD technique provides
almost accurate state of brain. Past researches prove that neuro diseases damage the brain
network interaction, protein- protein interaction and gene-gene interaction. A number of
neurological research paper also analyse the relationship among damaged part. By
computational method especially machine learning technique we can show such classifications.
In this paper we used OASIS fMRI dataset affected with Alzheimer’s disease and normal
patient’s dataset. After proper processing the fMRI data we use the processed data to form
classifier models using SVM (Support Vector Machine), KNN (K- nearest neighbour) & Naïve
Bayes. We also compare the accuracy of our proposed method with existing methods. In future,
we will other combinations of methods for better accuracy.
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...cscpconf
The document proposes a new validation method for fuzzy association rules based on three steps: (1) applying the EFAR-PN algorithm to extract a generic base of non-redundant fuzzy association rules using fuzzy formal concept analysis, (2) categorizing the extracted rules into groups, and (3) evaluating the relevance of the rules using structural equation modeling, specifically partial least squares. The method aims to address issues with existing fuzzy association rule extraction algorithms such as large numbers of extracted rules, redundancy, and difficulties with manual validation.
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATAcscpconf
In many applications of data mining, class imbalance is noticed when examples in one class are
overrepresented. Traditional classifiers result in poor accuracy of the minority class due to the
class imbalance. Further, the presence of within class imbalance where classes are composed of
multiple sub-concepts with different number of examples also affect the performance of
classifier. In this paper, we propose an oversampling technique that handles between class and
within class imbalance simultaneously and also takes into consideration the generalization
ability in data space. The proposed method is based on two steps- performing Model Based
Clustering with respect to classes to identify the sub-concepts; and then computing the
separating hyperplane based on equal posterior probability between the classes. The proposed
method is tested on 10 publicly available data sets and the result shows that the proposed
method is statistically superior to other existing oversampling methods.
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCHcscpconf
Data collection is an essential, but manpower intensive procedure in ecological research. An
algorithm was developed by the author which incorporated two important computer vision
techniques to automate data cataloging for butterfly measurements. Optical Character
Recognition is used for character recognition and Contour Detection is used for imageprocessing.
Proper pre-processing is first done on the images to improve accuracy. Although
there are limitations to Tesseract’s detection of certain fonts, overall, it can successfully identify
words of basic fonts. Contour detection is an advanced technique that can be utilized to
measure an image. Shapes and mathematical calculations are crucial in determining the precise
location of the points on which to draw the body and forewing lines of the butterfly. Overall,
92% accuracy were achieved by the program for the set of butterflies measured.
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...cscpconf
Smart cities utilize Internet of Things (IoT) devices and sensors to enhance the quality of the city
services including energy, transportation, health, and much more. They generate massive
volumes of structured and unstructured data on a daily basis. Also, social networks, such as
Twitter, Facebook, and Google+, are becoming a new source of real-time information in smart
cities. Social network users are acting as social sensors. These datasets so large and complex
are difficult to manage with conventional data management tools and methods. To become
valuable, this massive amount of data, known as 'big data,' needs to be processed and
comprehended to hold the promise of supporting a broad range of urban and smart cities
functions, including among others transportation, water, and energy consumption, pollution
surveillance, and smart city governance. In this work, we investigate how social media analytics
help to analyze smart city data collected from various social media sources, such as Twitter and
Facebook, to detect various events taking place in a smart city and identify the importance of
events and concerns of citizens regarding some events. A case scenario analyses the opinions of
users concerning the traffic in three largest cities in the UAE
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGEcscpconf
The anonymity of social networks makes it attractive for hate speech to mask their criminal
activities online posing a challenge to the world and in particular Ethiopia. With this everincreasing
volume of social media data, hate speech identification becomes a challenge in
aggravating conflict between citizens of nations. The high rate of production, has become
difficult to collect, store and analyze such big data using traditional detection methods. This
paper proposed the application of apache spark in hate speech detection to reduce the
challenges. Authors developed an apache spark based model to classify Amharic Facebook
posts and comments into hate and not hate. Authors employed Random forest and Naïve Bayes
for learning and Word2Vec and TF-IDF for feature selection. Tested by 10-fold crossvalidation,
the model based on word2vec embedding performed best with 79.83%accuracy. The
proposed method achieve a promising result with unique feature of spark for big data.
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXTcscpconf
This article presents Part of Speech tagging for Nepali text using General Regression Neural
Network (GRNN). The corpus is divided into two parts viz. training and testing. The network is
trained and validated on both training and testing data. It is observed that 96.13% words are
correctly being tagged on training set whereas 74.38% words are tagged correctly on testing
data set using GRNN. The result is compared with the traditional Viterbi algorithm based on
Hidden Markov Model. Viterbi algorithm yields 97.2% and 40% classification accuracies on
training and testing data sets respectively. GRNN based POS Tagger is more consistent than the
traditional Viterbi decoding technique.
A Visual Guide to 1 Samuel | A Tale of Two HeartsSteve Thomason
These slides walk through the story of 1 Samuel. Samuel is the last judge of Israel. The people reject God and want a king. Saul is anointed as the first king, but he is not a good king. David, the shepherd boy is anointed and Saul is envious of him. David shows honor while Saul continues to self destruct.
🔥🔥🔥🔥🔥🔥🔥🔥🔥
إضغ بين إيديكم من أقوى الملازم التي صممتها
ملزمة تشريح الجهاز الهيكلي (نظري 3)
💀💀💀💀💀💀💀💀💀💀
تتميز هذهِ الملزمة بعِدة مُميزات :
1- مُترجمة ترجمة تُناسب جميع المستويات
2- تحتوي على 78 رسم توضيحي لكل كلمة موجودة بالملزمة (لكل كلمة !!!!)
#فهم_ماكو_درخ
3- دقة الكتابة والصور عالية جداً جداً جداً
4- هُنالك بعض المعلومات تم توضيحها بشكل تفصيلي جداً (تُعتبر لدى الطالب أو الطالبة بإنها معلومات مُبهمة ومع ذلك تم توضيح هذهِ المعلومات المُبهمة بشكل تفصيلي جداً
5- الملزمة تشرح نفسها ب نفسها بس تكلك تعال اقراني
6- تحتوي الملزمة في اول سلايد على خارطة تتضمن جميع تفرُعات معلومات الجهاز الهيكلي المذكورة في هذهِ الملزمة
واخيراً هذهِ الملزمة حلالٌ عليكم وإتمنى منكم إن تدعولي بالخير والصحة والعافية فقط
كل التوفيق زملائي وزميلاتي ، زميلكم محمد الذهبي 💊💊
🔥🔥🔥🔥🔥🔥🔥🔥🔥
This presentation was provided by Racquel Jemison, Ph.D., Christina MacLaughlin, Ph.D., and Paulomi Majumder. Ph.D., all of the American Chemical Society, for the second session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session Two: 'Expanding Pathways to Publishing Careers,' was held June 13, 2024.
This presentation was provided by Rebecca Benner, Ph.D., of the American Society of Anesthesiologists, for the second session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session Two: 'Expanding Pathways to Publishing Careers,' was held June 13, 2024.
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...EduSkills OECD
Andreas Schleicher, Director of Education and Skills at the OECD presents at the launch of PISA 2022 Volume III - Creative Minds, Creative Schools on 18 June 2024.
2. 530 Computer Science & Information Technology ( CS & IT )
P2P model resolves these disadvantages by distributing the computational workload on peers (i.e.
the host – members of the system). Using this model, the interaction of the system’s component is
changed conceptually, so the protocols and applications design is complicated. Instead of
designing a protocol between client and server, now a complicated interaction between peers
must be considered.
In fact, P2P architecture resolves the problem of communication and processing performance of
the hosts, but it doesn’t concern the interaction between peers. That explains that it is possible to
mix P2P model and client server model so that the client server model is used for interaction
between user agents, while the P2P model is used for communication between hosts. The system
then consists of the client-server component and the P2P subsystem. The problems remained to be
resolved are: (i) interaction between the client-server and P2P subsystem; (ii) adapting the system
with data and application specific requirement.
In this article, a solution using local proxy agent is presented. The solutions are implemented,
experimented and adapted with text data and application: the messaging application.
The article is organized as the following: section 2 introduces some related works. Section 3
introduces the Client-Server based design for P2P Application using Local Proxy. Section 4
presents the implementation experiments of the messaging application using the local proxy
model. Section 5 concludes and presents some future works.
2. RELATED WORKS
Client server is most used architecture in distributed application. In [1] a review of client-server is
presented. Several solutions for performance, scalability and fail tolerance are discussed:
application layering; multi-tiered architecture. Other methods such as application gateway and
replication are found in [2]. These methods cannot resolve the problem of scalability. P2P
architecture has better performance in large scale, but it is far difficult to design a P2P protocol
than a Client-server protocol with the same functionality. In [3] the P2P architecture and several
P2P protocol and system are discussed and compared.
For applying P2P in client-server application, in [4] a software system allowing using P2P file
subsystem for distribution of software sources. In this solution, client remains the same, but a
local agent that can share software sources with similar agents on other hosts replaces the server.
The problem of apt-p2p is that the client cannot function in offline mode, event if there are
multiple apt-p2p agents in the same LAN.
In [5] P2P Skype is presented and analyzed in details. P2P subsystem with super peers is used to
transfer multimedia data between hosts in an efficient way.
Some common characteristics of reviewed works can be summarized here:
- Proposed architectures are suitable for different types of information
- Application protocol design depends is P2P based design.
- No common way for design P2P application and protocol.
The summary shows that we need a solution, an approach to design application with client server
architecture, but then implement them with P2P architecture.
3. Computer Science & Information Technology ( CS & IT ) 531
3. CLIENT SERVER BASED DESIGN FOR P2P APPLICATION USING LOCAL
PROXY
Consider the design of a distributed application. User needs to communicate each other by some
protocol, regardless the fact that the system is P2P or Client-Server. In Client-Server architecture,
this protocol defines interaction between each client and the server. Client to client interaction is
realized based on client-server communication. In P2P application, host-to-host communication is
point to point, no need of a central intermediate host (server).
To profit the advantages of both client server and P2P architecture, our goal is to:
• Design the protocol using the client server architecture for simplicity,
• Implement the protocol using P2P communication for better performance.
Our approach is to keep the protocol design by client-server architecture unchanged, while
the implementation will adapt with P2P communication system. So the client remains
unchanged. The server will accept request from client and transfers it to P2P system; it acts
as a proxy. The location of the server must be the same as the client; it will be a local server.
This is the reason why the server is called local proxy and the model is called the local proxy
model. The model is described in
Figure 1: Local Proxy Model. The system consists of following components:
• The client modules: the same as the client modules in classical client-server architecture.
• The local proxy module: each client host has an install of this local proxy module. The
module interacts with client module and updates local data.
• The P2P subsystem agent: accept request for sharing and updating data, propagandas it
on the P2P network.
Client
Local
Proxy
P2P
Agent
Client
Local
Proxy
P2P
Agent
Client
Local
Proxy
P2P
Agent
P2P
Figure 1: Local Proxy Model
4. 532 Computer Science & Information Technology ( CS & IT )
The local proxy model gives the opportunity to develop a P2P application using client-server
design. Of course, the protocol and application logic, in point view of host-to-host
communication is realized by communication between P2P Agent and P2P subsystem. This
interaction can be trivial as a simple data sharing mechanism, but to have a good efficiency, the
data structure has to be well designed following the logic of the application and the P2P protocol.
In next section, via the case study of messenger application, this point will be discussed in details
4. THE MESSENGER APPLICATION
The client server messenger protocol and application
The comparison of messenger protocol can be found in [6] and in [7]. Of course, what we are
interested in is how to design the application with P2P communication, so we’ll chose minimal
functionality of the protocol.
The main functions of the messenger application and the information exchanges between client
and server are described in Table 1: Messenger Protocol Functional description.
Table 1: Messenger Protocol Functional description
No Name Description
1 Login, Registration Accept login request and register user in the whole
system
2 Get logged user lists Get the list of ‘Online’ users that can receive messages
3 Get messages from inbox Get all the message from inbox
4 Read a messages Get a specific message from inbox and visualize it for
user.
5 Send messages to user Send a message to specific users
7 Delete messages Delete specified messages
8 Logout, Unregistered Logout and remove users from the whole system
From this description a client and a server are built following the classic client-server model. This
application is for testing only, so we use a very simple, command line interface.
The local proxy P2P messenger application design
Our goal is to build a P2P messenger application, but the interaction between client and
server remains the same so that we can profit the description in Table 1: Messenger Protocol
Functional description. We follow the model in
Figure 1: Local Proxy Model. The client module remains unchanged. No server module is
needed. A local proxy module will be implemented, accept all requests from client module as a
server, but share it via P2P with local
proxy on other hosts. For simplicity, our technical choices are:
- Information exchanges are organized in files and folders.
- Files and folders are synchronized between local proxies using P2P file sharing system as
a communication base.
With these assumptions, each client has a shared folder: inbox and outbox. In the folder,
messages are stored as a file. When user logged in for the firs time, o token file with the name
5. Computer Science & Information Technology ( CS & IT ) 533
<logged><user-id> is created and stored in the shared folder. Getting list of users is done via
P2P-search function for the filename <logged>. When the user logs out, the local proxy will
delete the corresponding file.
The same mechanism is used for sending and receiving messages. When the user send a message,
the content of the message is stored in a file with the form of the name:
<message><sender><receiver><subject><controlling information>. Each time user read a
message; the local proxy will send a query <message><sender> to the P2P system for
downloading from other hosts’ local proxies.
The functions in the Table 1 will be implemented by creating and modifying files as in Table 2:
Local Proxy Data.
Table 2: Local Proxy Data
No Name Local proxy action
1 Login, Registration Create a token <logged-in><user-id> file
2 Get logged user lists Download by query “logged-in” from P2P system.
3 Get messages from inbox Download from P2P by searching with
<message><receiver-id>
4 Read a messages Get the message from the shared folder
5 Send message to user Put a message with file name:
<message><sender><receiver><subject> to the
shared folder.
7 Delete messages Delete specified file from P2P system
8 Logout, Unregistered Remove the user token from the shared folder.
The local proxy P2P messenger application implementation and experimentation
The application is built using JXTA library. For P2P subsystem we use Chord protocols, but for
the ease of integration of local proxy, we re-code the chord file-sharing agent by our-self. This
helps us to experiment the system without interference of peer not participating in our system.
For experimentation and evaluation, we face a problem of lacking a large-scale test environment.
This is the reason why our experimental result is only qualitative. It proves only that the P2P
messenger application has the same functionality of the client-server one. From analytic point of
view, when the system become large, the P2P application should have better performance that the
client server application.
5. CONCLUSIONS
In this article, we have presented an approach to implement P2P application with client-server
design. The main idea of the approach is to use a local proxy in each host-participant in P2P
application, keeping client unchanged. This local proxy will accept request from client, modified
local data and shared it with other hosts’ local proxies. This approach has several advantages for
development of P2P application:
- It makes the protocol design unchanged (same as the client-server protocol design).
- It provides the performance and scalability of P2P application.
- The local proxy model can be extended to LAN proxy model, in which local proxy will
serve not only for local client, but any client in the LAN section.
6. 534 Computer Science & Information Technology ( CS & IT )
Based on this approach, from the client-server design of messenger application, a P2P messenger
application is developed and implemented. The applications are tested and the results show that
the functionality of both applications is the same as the design. No quantitative and performance
evaluation is executed.
In the future, the following works should be completed:
- Joining the test-bed community such as Planet-Lab, G-Lab to have the possibility to
evaluate the P2P and Client-Server application in large-scale system.
- Applying the method for other application with different kind of information exchanged:
audio, video, raw and so on.
REFERENCES
[1] Tanenbaum, A. S. & Steen, M. v. (2006) Distributed Systems: Principles and Paradigms (2nd
Edition). Prentice Hall
[2] Coulouris, G., Dollimore, J., Kindberg, T., & Blair, G. (2011) Distributed Systems: Concepts and
Design. Addison Wesley
[3] Lua, E. K., Crowcroft, J., Pias, M., Sharma, R., Lim, S., & Lim, S. (2005) A Survey and Comparison of
Peer-to-Peer Overlay Network Schemes. Communications Surveys & Tutorials, IEEE, 72--93
[4] Dale, C. & Liu, J. (2009) apt-p2p: A Peer-to-Peer Distribution System for Software Package Releases
and Updates. INFOCOM 2009, 864-872.
[5] S. A. Baset, H. G. Schulzrinne, 2006. An Analysis of the Skype Peer-to-Peer Internet Telephony
Protocol. INFOCOM 2006
[6] Reed, D. (1992) A Discussion on Computer Network Conferencing., Request for Comments: 1324
[7] Carl von Loesch, 2003, Functionality provided by systems for synchronous conferencing.
http://http://www.psyc.eu/ ,
Author
Ha Quoc Trung (Ph. D.) Graduated from Technical University of Sofia in 1996,
speciality “Electronic, Microelectronic and Automation”. In 2004 he completed his
Ph. D. degree in School of Advance Research Practice (Ecole Pratique de Hautes
Etudes-Paris, France). From 1999 to recent he is lecturer at department of data
communication and computer network. His research interests are: distributed
algorithm, system and application, ubiquitous computing.