Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Engineering Expert

Client and Server System - Instant Messenger (IM) Application Project

In this project you will be designing/developing a simple IM system. A functional description of an IM system that your design should conform to is presented below. However, we will leave the precise details of the design up to you (maybe you want to make it state driven, using an Finite State Machine design, or use other techniques, maybe you want to add bells and whistles beyond what we outline all up to you). But please think about the design before diving into coding it will help. Feel free to look at some of the IM references presented at the end of this assignment, on the web, existing specs, but always remember to cite sources (do not use any existing code, you can look at other open source code for sure, for inspiration, ideas, etc.

- The materials posted under the course materials are Java based, but feel free to use any programing language that you are more familiar with.

- Please follow the submission instruction when submitting your work for grading.

Blueprint for a Simple IM System-

Many of you are familiar with IM from a user's perspective but may not have given much consideration to its operation. The precise operation of an IM system will vary between different systems (e.g., AIM, MSN, iChat) but the essential functions remain the same.

For the purposes of this project we require your simple IM system to incorporate the following functionality:

1) IM clients are able to join and leave the IM network. Every client has a user name and at any one particular time no two clients connected to the IM network can have the same user name. So some name checking is required in your code.

2) When IM clients join the network other connected clients are made aware of this change within the network the presence component. Similarly, the reverse should be true; that is, when clients leave the network other connected clients should be informed. So you need notification and state management a consistent view.

3) Connected IM clients are able to send messages to any other connected IM client. Messages are addressed to particular IM clients using their user name.

Given that constructing an elaborate IM system would be a semester long project, we have limited the scope of this assignment/project in comparison to a full blown IM system such as supported by MSNP.

It is perfectly acceptable to adopt the following simplifications:

1) A command line user interface is acceptable, only add a GUI if you would like to again keep it simple.

2) You are not required to maintain buddy lists specific to each IM client. It is fine to assume everyone in the IM network is part of a single universal buddy list. For instance all IM clients should be notified when any IM client joins or leaves the network. Furthermore, all IM clients should be able to exchange messages with any other IM client.

3) Your design only needs to support a single IM server. Although, this is not a scalable approach it simplifies the task of building your IM system. You may assume all clients are aware of this single well-known IM server. So your server will sit on a known host and have a known port. Clients simply connect using sockets. By only having a single server you do not need to be concerned with maintaining consistent state between multiple servers, so essential in a real system.

However, feel free to provide any additional functionality if you wish, it will be rewarded as extra-credit. But completing the base line system with no extras would be outstanding. See how things go.

The objective of this assignment is for you to design and implement an IM system that conforms to the description outlined above. It is a fairly high level description, so the details are up to you. Supporting these features will require you to define an application level protocol that controls how participants in the system communicate. We suggest you adopt the client/server approach when designing your IM system.

The server should perform operations, such as:

(a) monitor clients that join and leave the IM network;

(b) maintain a reasonably consistent view of clients currently connected to the network and provide this state information to all the currently connected clients;

(c) facilitate the exchange of messages between clients.

The clients should perform operations, such as:

(a) display to "the user" the currently connected IM clients; and

(b) allow "the user" to send and receive messages to and from any of these clients, respectively.

References-

Instant Messenger Systems

Yahoo Instant Messenger Protocol

MSNP (Early Internet Draft)

Java Programming

Java concurrency documentation

Java net package documentation

Java Sun Tutorial: Custom Networking

The server should perform operations, such as:

(a)  monitor clients that join and leave the IM network

(b)  maintain a reasonably consistent view of clients currently connected to the network and provide this state information to all the currently connected clients; and

(c)  facilitate the exchange of messages between clients (one-to-one).

(d)  multi-threaded so that it can concurrently service more than one IM client a time.

The clients should perform operations, such as:

(e)  display to "the user" the currently connected IM clients; and

(f)  allow "the user" to send and receive messages to and from any of these clients, respectively.

(g) Specification

Please explain the code in detail (words) after you have done

1. A high level description

2. Define the protocols

3. Provide a comment on reasons behind any important design decisions

(h) Documentation and Demo

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M91946565

Have any Question?


Related Questions in Computer Engineering

Question what are the server-side attacks what are the

Question : What are the server-side attacks? What are the techniques a developer can employ to minimize these attacks? The response must be typed, single spaced, must be in times new roman font (size 12) and must follow ...

Refer to the reading e-business strategy how to benefit

Refer to the reading, "E-Business Strategy: How to Benefit From a Hype" and review its alignment between such models as SWOT and Five Forces and the e-business that it uses as a model. In your posting, address the follow ...

Explain how amazon and walmart companies use information

Explain how Amazon and Walmart companies use Information and Communication Technologies (ICT) in their competitive strategies. Highlight the differences in their use of ICT.

Need help with calculation problem and design a program to

Need help with Calculation Problem and Design a program to input two numbers. Calculate the sum, the difference, the product, and the quotient. Display the answers. Car Rental Problem The Sports Car Rental Company rents ...

Question suppose a destination computer receives several

Question : Suppose a destination computer receives several packets from a source. How can it be sure that the fragments belonging to a datagram are not mixed with the fragments belonging to another datagram?

Please explain which formula i should use to complete the

Please explain which formula I should use to complete the following probability question: The probability that a family will buy a vacation home in Miami, malibu, or newport is 0.25, 0.10 and 0.35. What is the probabilit ...

How do you apply the five components of the information

How do you apply the five components of the information systems to an information systems application like "online bill pay" system offered by many banks.

What is the solution for chapter 15 3e for java programming

What is the solution for chapter 15 3e for java programming 8th edition Create a JFrame that holds fjive buttons with the names of five different fonts. Include a sexth button that the user can click to make a font large ...

Question list and describe two forms of organizational

Question: List and describe two forms of organizational change. How does organizational change create business innovation? Give an example. Reply substantively to two other learners with thought provoking statements and ...

Question in this assignment you will begin to create your

Question: In this assignment, you will begin to create your own formal website plan by defining the website's goals and objectives, writing a formal purpose statement, and creating a target audience profile and needs ass ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As