PROMOND – Email & Event Scheduler with Automated Triggered Messaging Prashanth Addepalli Problem Report Submitted to the College of Engineering and Mineral Resources at West Virginia University in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering Dr. Y.V. Reddy, Ph.D., Chair Dr. James D. Mooney, Ph.D. Dr. Sumitra Reddy, Ph.D. Lane Department of Computer Science & Electrical Engineering Morgantown, West Virginia 2007
63
Embed
PROMOND – Email & Event Scheduler with Automated Triggered ...wvuscholar.wvu.edu/reports/Addepalli_Prashanth.pdf · PROMOND – Email & Event Scheduler with Automated Triggered
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PROMOND – Email & Event Scheduler with Automated Triggered Messaging
Prashanth Addepalli
Problem Report Submitted to the
College of Engineering and Mineral Resources
at West Virginia University
in partial fulfillment of the requirements
for the degree of
Master of Science in
Electrical Engineering
Dr. Y.V. Reddy, Ph.D., Chair
Dr. James D. Mooney, Ph.D.
Dr. Sumitra Reddy, Ph.D.
Lane Department of Computer Science & Electrical Engineering
Morgantown, West Virginia
2007
ABSTRACT
PROMOND – Email & Event Scheduler with Automated Triggered Messaging
By
Prashanth Addepalli
In this present world, the users are bound to so many things that they forget doing their
prime tasks. Earlier users had to record their events in the form of a Personal Calendar
Diary and that is now totally obsolete. With the advance in technology, the users now
have the access to different kinds of Event Schedulers (for e.g.: Microsoft Outlook,
PDA’s and so on) which would automatically alert the user when the events are about to
happen. Such communication before hand would really help him coordinate all his
activities.
Considering the Professor’s world, a professor might be associated with so many
different things simultaneously, and to co-ordinate everything in parallel we need an
interface/Messaging mechanism which would send Messages/Alerts to the concerned
professor when the events occur. This Project implements many other features for a
professor, mainly consisting of Private and Public workspace, FileSharing, Event
Scheduling & Email students group. But for my part, I have chosen to work on
organizing the Events through an Event Scheduler & E-Mail feature. This part of the
project focuses on sending automated trigger messages in a timely fashion, alerting the
User to notify of events. This project is aimed to meet many scenarios in a Professor’s
world helping him/her organize events & meet them in a timely fashion.
ACKNOWLEDGEMENTS
I would like to thank my advisor Dr. Yenumula V. Reddy for his constant support
and guidance for my work. This project originated from his sole idea after which it was
put into implementation. I would like to extend my thanks to Dr. James D. Mooney and
Dr. Sumitra Reddy and for serving on my committee and also for their encouragement
and support.
I am thankful to my project mates for their cooperation in this project and would
like to wish them good luck in their future.
Finally, it will not be out of place to mention thanks and regards to my beloved
Parents as well as my Friends for their encouragement and constant support rendered to
me at various stages of my professional career.
iii
TABLE OF CONTENTS
CHAPTER 1…………………………………………………………INTRODUCTION
1.1 Statement of the Problem…………………………………………….............1
1.2 Need for Remote Access……………………………………………………...1
1.3 Advantages of Remote Access………………………………………….........2
1.4 Implementation of Remote Access…………………………………………..2
Figure 1: Remote Accessing feature ..................................Error! Bookmark not defined. Figure 2: Client-Server Architecture .................................................................................. 5 Figure 3: TCP/IP Architecture ...........................................Error! Bookmark not defined. Figure 4: SMTP Mail System. ...........................................Error! Bookmark not defined. Figure 5: Example of an SMTP Session. ...........................Error! Bookmark not defined. Figure 6: Datagram Communication b/w Client-Server....Error! Bookmark not defined. Figure 7: Stream Communication b/w Client-Server ........Error! Bookmark not defined. Figure 8: Client-Server Interaction in a Promond System.Error! Bookmark not defined. Figure 9: GUI of a Promond System. ................................Error! Bookmark not defined. Figure 10: GUI of a Event Calendar ..................................Error! Bookmark not defined. Figure 11: GUI of Promond Email ....................................Error! Bookmark not defined. Figure 12: Courses Add/Delete window............................Error! Bookmark not defined.
vi
CHAPTER 1 1.1 Statement of Problem
To develop a “Promond” client that can be ported across different machines (computers),
which is entirely a part of Client-Server architecture, where a Professor can organize his
events or schedules and get reminders prior to the occurrence of these events. These
events are triggered automatically without any user intervention. The client also
facilitates a professor to communicate to his respective group of students via Email.
1.2 Need for Remote Access
In the Present Competitive world, “Remote access” is one of the features that can
significantly contribute to the productivity and profitability of any organization. A
client/server environment facilitates the use of a Remote Access. Typically, the
individual users with PCs (clients) are attached to a central computer (server) to allow
applications, files and peripherals to be shared among the users. The figure below
illustrates the “Remote Accessing” feature for any organization.
FIGURE 1: Remote Accessing Feature
1
The Electronic Mail (e-mail) has undoubtedly become the chosen method of
communication, displacing the telephone and hand written memoranda. With the aid of
Remote access over the network, the users now have the access to e-mail accounts on a
twenty-four hour basis. All this adds up to a lot of remote access connections to the
organization's network and will play a significant role.
1.3 Advantages of Remote Access:
This feature provides numerous advantages, some of them include
Timesaving, avoiding the task of carrying data all through, avoiding the loss of
continuation in work etc.
Facilitates users with file transfer, file sharing, uploading and downloading files etc.,
through internet, between systems located anywhere in the world.
1.4 Implementation of Remote Accessing feature:
Client – Server architecture has been used to implement this “Remote Access” feature.
The server is located at a particular location and the data in the server can be accessed
from anywhere using an internet connection.
In Client-server architecture, Client is defined as requestor of services and Server as
provider of services. The Client/Server architecture is a versatile, message-based and
modular infrastructure that is intended to improve usability, flexibility, interoperability
and scalability. It is an important model in the area of network computing. Different
clients can be connected to the server from different locations. Client/server architecture
can be a two-tier, three-tier or N-tier architecture.
2
In a two-tier architecture system, the user’s system interface is located in the user's
desktop environment and the database management services are located in the server
which is a more powerful machine that services many clients. Processing management is
split between the user system interface environment and the database management server
environment. The database management server provides stored procedures and triggers.
In a three-tier architecture (also referred to as the multi-tier architecture), a middle tier
was added between the user system interface client environment and the database
management server environment. The middle tier can perform queuing, application
execution, and database staging. In addition the middle layer adds scheduling and
prioritization for work in progress & improves flexibility when compared to the two tier
approach.
In N-tier architecture, the first tier is client, the second tier is a server and the third tier is
the database which contains the database management system.
1.5 Network Collaboration:
Collaboration can be termed as e-mail, WWW, Internet chat etc. Different
definitions arise because there are so many technologies and its definition today is broad.
Collaboration—at least in part—is the integration of many different technologies into a
single application or environment to facilitate information sharing and information
management. Collaboration can occur in two ways, one being real time collaboration
where you work with others at the same moment, taking turns to communicate the ideas.
The other approach is asynchronous collaboration, in which you need not be present to
3
participate. E-mail, public databases, the Internet, and intranets are all forms of this kind
of communication.
Considering the scenario where a group of people working on the same project to achieve
a common goal, it is very important to coordinate and share the work done by different
people. This sharing of information among the group will further mobilize the flow of the
project until the desired result is obtained.
1.6 Promond:
PROMOND is a system that provides an interface for the Users, who will have
access to the remote data and can simultaneously share the data among other users in his
group when ever needed. This will certainly help users in many instances, e.g. when one
is away from his personal system & working remotely but needs data from his personal
system. It supports work collaboration also in a way, when a group of people are working
on a project. Considering the scenario of a ‘Professor’s World’, a professor has to
organize his work and material in an orderly and easily accessible manner. He will have
to work on different computers to accomplish his daily work. As a daily routine, he has to
save his work, copy his work to a storage device (USB drive or a CD) or send it across e-
mail and when he is working on a new system he has to copy back all those files and start
working again. So, it will be a tedious task for him to transfer his work whenever he
switches from one system to another & there is always a chance for some files to be
missing. All these issues can be resolved with a system that can provide Remote access to
retrieve the data across different systems. The Promond Client is designed to meet all
these requirements.
4
The figure below illustrates the flow of requests and responses between a server
and a client.
FIGURE 2: CLIENT-SERVER Architecture
5
CHAPTER 2 2.1 Protocols Used:
2.1.1 TCP/IP:
A Protocol is basically a language used to make two computers to talk to one
another. Transmission Control Protocol (TCP) or Internet Protocol (IP) is the most used
Network Protocol over internet. When a connection is established over the internet, a
TCP/IP program is provided to the system which can be used to send or receive data from
any other system.
TCP/IP is not really a protocol, but is a set of protocols – also known as
“Protocol Stack”. From its name it can be said that it refers to two different protocols,
TCP (Transmission Control Protocol) and IP (Internet Protocol).
TCP/IP architecture can be seen on Figure shown below:
FIGURE 3: TCP/IP Architecture
TCP/IP has four layers. The functionality of each layer is described below.
6
• Programs talk to the Application Layer. On the Application layer you will find
Application protocols such as SMTP (for e-mail), FTP (for file transfer) and
HTTP (for web browsing). Each kind of program talks to a different Application
protocol, depending on the program purpose.
• Once the program request is processed, the protocol on Application layer talks to
the one from the Transport Layer (TCP). It receives the data from upper layer,
divides them into packets and transfers them to the layer below. While receiving
the packets from the upper layer, it formats the packet and also checks if the
contents of the received packet are intact and sends an acknowledge signal to the
transmitter. If no acknowledgement is seen, it retransmits the packet.
• The Internet Protocol receives the packet from Transport layer and adds virtual
address (the address of computer that is sending data and address of the one
receiving data). The virtual addresses are called IP Addresses. Packets on this
layer are called Datagrams. Theses datagrams are then sent to the lower layer.
• The Network Interface will receive the packets from IP and send them over the
network. This layer is defined by what type of physical network your computer is
connected to. Most of the computers will be connected to an Ethernet network.
Ethernet in-turn has three layers: Logic Link Control (LLC), Media Access
Control (MAC) and Physical. LLC adds information of which protocol on the
Internet layer delivered data to be transmitted, so when receiving a frame from the
network this layer on the receiving computer has to know to which protocol from
the Internet layer it should deliver data. MAC assembles the frame that will be
sent over the network. This layer is in charge of adding the source MAC address
AND ELECTRICAL ENGINEERINGWEST VIRGINIA UNIVERSITY
NOV 5TH,2007
Slide 2
44
Acknowledgements
Dr. Y.V. Reddy
Dr. James D. Mooney
Dr. Sumitra Reddy
Slide 3
Overview
• Scenario• Objective• Promond• Conclusions• Future work
Slide 4
45
Scenario : Professor’s World• A professor is involved in:▫ Courses▫ Research▫ Co-ordinate research work among his group.
• Need to work on different Machines (computers):▫ Office Computer▫ Research Computer▫ Home Computer▫ Personal Laptop
Slide 5
Objective
• To develop a “Promond” client where a Professor can organize his events or schedules and have the provision to get reminders prior to the occurrence of these events.
• The client should facilitate a professor to communicate to his respective group of students via Email.
Slide 6
46
Promond
• “PROMOND” is a tool that provides an interface for the Users, who will have access to the remote data and can simultaneously share the data among other users in his group when ever needed.
• It supports work collaboration in a way, when a group of people are working on a project through the file sharing feature.
Slide 7
Promond: Features Implemented
• Event Scheduler & Signaling mechanism.• Email• Private and Public workspaces• Uploading and downloading files through drag
and drop• File Sharing• File Monitoring & Restoration• Adding, deleting and renaming the folders
Slide 8
47
Promond Architecture
Slide 9
Protocols Used
• TCP/IPConnection-oriented service used to exchange data between the systems
• FTP▫ Control Connection▫ Data Connection▫ File Transfer between two systems
• SMTP• Java Data Base Connectivity
Slide 10
48
Promond: Login window
• Login:▫ Enter Username/Password▫ Client checks with server DB for authentication
Slide 11
Promond: Client GUI
Slide 12
49
E-Mail
Slide 13
Add/Delete Courses
Slide 14
50
Promond: Calendar
Slide 15
Promond: Appointment Alert Box
Slide 16
51
Promond: Weekly View
Slide 17
Promond: Monthly View
52
Slide 18
Promond: Change Alerts “.wav” files
Slide 19
Promond: Task Viewer, Adding Tasks
53
Slide 20
Promond: Change Alerts “.wav” files
Slide 21
Promond: Notes Viewer
54
Slide 22
Advantages of Promond: Email and Calendar
• The use of Promond Event scheduler replaces the need for carrying personal diary all the time.
• The user need not keep track of individual Student Email-id’s registered in his courses, instead he has the provision to look-up email id’s from the course list, and this can happen from any of the computer he uses.
• User is notified about the registered events on the current computer he is logged in.
Slide 23
Technical Issues
• Installation of MySql connect Drivers & configuring them talk to the Server.
• Creation of Dynamic Database objects from the Client system.
• Context switching between users.
• Security Issues & configurations.
• Usage of some of the Java Timer classes to display different Views (Daily, Weekly & Monthly views).
Slide 24
55
Conclusion
• Client-server architecture has been used to implement the Promond system.
• The promond system is designed to handle multiple clients using the Multi-threaded client-server architecture.
• This project can eliminate the need for saving the work and carrying the data using removable devices.
contd…
Slide 25
Conclusion
• File Transfer mechanism is implemented.
• Public & Private workspaces to enable users share files between other potential users.
• Auto saving of files is implemented which overcomes the issue of data-loss in the event of a power failure.
• Events can be organized by means of a Calendar which automatically sends alerts to the user when the events are about to happen.
56
Slide 26
Future work…• Interface the Promond System with the Cellular &
Mobile devices.
• The Promond system is built currently on the windows environment. The portability issue is not addressed yet.
• Incorporating some sophisticated features & enhanced security measures to make it a viable software.