<<

Umesh Gupta / International Journal of Computer Science & Engineering Technology (IJCSET)

An Overview on the Architecture of WhatsApp Umesh Gupta, Asst Professor,Jagannath Management International School, Kalkajii, E Mail Id: [email protected] Abstract: WhatsApp Messenger Application is a messagingn application that uses the to connect to the person whose number is registered with WhatsApp Account. Various Databases have been used in the distributed applications so far. In this Application of Mnesia Database ushers us into a new set of opportunities to be explored and XMPP server is used to maintain the queue. In this paper , a general overview on the architecture used by Whatsapp makinng it one of the most reliable and fast media transfer application has been explored. Keywords: WhatsApp, CountFly,XMPP,Mnesia Introduction: WhatsApp is the most sought after messaging application that has revolutionized the messaging app market and it is an alternative to any ’s built –in SMS application. It uses the Internet to connect the person to anyone whose phone number is registered in the installed phone’s address book. This platform can also be used for downloading any media. WhatsApp Messenger Application when installed in any Smartphone will scan the Smartphone for all of the phone numbers of the and validates those numbers from the database. It also integrates the Smartphone’s gallery and camera, enabling the user to send the data immediately. One of the basic reason behind the Whatsapp application to be free is this is knowledge era resulting into the companies need to dig into the personal information of the users.

XMPP server: WhatsApp makes use of XMPP server (XMPP-Extensible Messaging and Presence Protocol). is an open source Jabber server facility that can transfer messages between two or more users at any point of time provided the internet connection is feasible.

ISSN : 2229-3345 Vol. 7 No. 07 Jul 2016 335 Umesh Gupta / International Journal of Computer Science & Engineering Technology (IJCSET)

In the above described architecture, the Scheduler has double linked lists that stores the tickets in the FIFO order and checks the database for new requests, avoids duplication with creation of action tickets. Data Fetcher threads are responsible for establishing the XMPP server connection, gets the data from the node and in the end it sends the received values to be stored in the Mnesia DB. Action Threads consume the action tickets and with the information based on this tickets will verify if the rules are matching or not, thereby further processing the tickets for action. Database Handler is a thread that has specific functionality, connecting to database and handling query’s. The programming language used is ERLANG that helps to quickly adapt instant updates and hot fixes. It is also help in push notifications that can be used to reach to the user, in case the user is offline. WhatsApp has chosen Erlang a language built for writing scalable applications that are designed to withstand errors. Erlang uses an abstraction called the Actor model for it's concurrency Instead of the more traditional shared memory approach, actors communicate by sending each other messages. Actors unlike threads are designed to be lightweight. Actors could be on the same machine or on different machines and the message passing abstractions works for both. Implementation : A simple implementation of WhatsApp could be: Each user/device is represented as an actor. This actor is responsible for handling the inbox of the user, how it gets serialized to disk, the messages that the user sends and the messages that the user receives Whatsapp is an application that is able to handle approximately 50 billion message transfers a day. The main reason behind its popularity is the data processing of the message queue length which is associated with a node is being monitored. In case of multimedia messages, the contents are uploaded into a HTTP server and then the receiving node can accept or block it depending on its preferences. WhatsApp utilizes XMPP protocol where the queue is maintained and the messages will wait till the queue message is received by the receiver node. The Notifications is received by the sender when the message is received by the receiver. After the delivery of the messages , the messages are immediately removed from the server. Registration of WhatsApp account: The registration of the WhatsApp account is based on the mobile IMEI number where the user is permitted to select the username and the password. The new registration also considers a 5 digit PIN which acts as an unique key, that further intensifies the security and lowers the interdependence on the device.

ISSN : 2229-3345 Vol. 7 No. 07 Jul 2016 336 Umesh Gupta / International Journal of Computer Science & Engineering Technology (IJCSET)

The database that is used to handle the large amount of data by the WhatsApp is Mnesia DB. Mnesia DB is a multiuser distributed DBMS which is the default database of the ERLANG that is programming language of Whatsapp. This Database helps to achieve quicker request responses, thereby improving the efficiency and main reason for the popularity of the WhatsApp. Mnesia DB also helps to save in the user logins and also helps to maintain the user credentials from the personal data. WhatsApp is implemented on the operating system of FreeBSD that helps to optimize the working of the platform. Web Server YAWS is used by the application specifically to store the multimedia files and it helps in quicker transformation.

Conclusion: In this paper, a simple overview of the WhatsApp has been made. In future , we would like to explore the problems faced in the security and database storage of Mnesia. References: [1] ://middlewaresensing.wordpress.com/tag/architecture-xmpp [2] https://en.wikipedia.org/wiki/Mnesia [3] Boulos, M.N.K., Wheeler, S., Tavares, C., Jones, R. How are changing the face of mobile and participatory healthcare: an overview, with example from eCAALYX. Biomed. Eng. Online.2011;10:24. [4] Hsieh, C.H., Jeng, S.F., Chen, C.Y., Yin, J.W., Yang, J.C., Tsai, H.H., Yeh, M.C. Teleconsultation with the mobile camera- phone in remote evaluation of replantation potential. J. Trauma. 2005;58:1208–1212.

ISSN : 2229-3345 Vol. 7 No. 07 Jul 2016 337