PowerPoint PresentationOutlineMixPool DefinedApplication HurdlesSystem ArchitectureTechnologiesSlide 7Slide 8CakePHPMySQLBotsNLP Suggestion BotHistory BotInstanceMonitorBRICS (Bot Request and Instance Creation System)IRCAmazon Web Services (AWS)Amazon Elastic Compute Cloud (EC2)EC2 ProsEC2 ConsAmazon Relational Database Service (RDS)Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Conversing in the CloudRyan Kupfer, Scott Wetter, Bryan Welfel, Shekhar PradhanOutlineMixPool definedThe hurdlesA prime example of an application utilizing cloud technologyThe technologiesThe architecture of the app and its deployment on Amazon Web ServicesMixPool DefinedThe MixPool app consists of two main components: Connect and Decide.Groups of “friends” are formed in the Connect component.Groups of “friends” can decide what to do and where to go in the Decide component.Application HurdlesSupporting asynchronous chatAWS instances are optimized for their specific tasksProcessing applications (bots) exist in the cloudUser count fluctuatesScale up and scale down quicklySystem ArchitectureTechnologiesAmazon Web Services, the “Powered by Amazon Web Services” logo, [and name any other AWS Marks used in such materials] are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.Lightweight, high-performance web server and reverse proxy serverLoad balancingServes static content:ImagesVideoCSSJavascriptFlash (swf)Most common web serverVery stableGreat for serving dynamic contentUsed for CakePHP applicationCakePHPCakePHP is an open source web application framework for producing web applications. It is written in PHP, modeled after the concepts of Ruby on Rails.MySQLOpen sourceGreat communityGood performanceScalable if necessaryReplicationClusteringBotsConnect to chat servers and process conversationsWe chose Java for our bot developmentOne of the most popular OOP languagesEasy to find programmersMany libraries available to complete our tasks quicklyNLP Suggestion BotChat room messages are analyzed in real time to identify the needs of users (e.g., “casual place”) and occurrences of restaurant names, cuisines and dishes.Sentiments expressed in the message regarding these are identified.Based on these sentiments and user needs, scores are assigned to restaurants, cuisines, and dishes.A restaurant is suggested based on this score and other data stored in our database.History BotChat rooms are asynchronousThus, users may join at different times.A user that joins later needs to be provided earlier chat messages and related restaurant suggestions.Chat rooms can be intermittently active/inactiveAn inactive room can become activated.Earlier chat room messages and related restaurant messages need to be provided to all room users.InstanceMonitor•Starts with each bot EC2 instance•Allows us to control the individual bot applications remotely–XML-RPC API•Statistics that BRICS uses to figure out the best-fit instance–CPU load–Memory used–Open socket connectionsBRICS (Bot Request and Instance Creation System)Central hub for bot requestsLoad balancing bots between the instancesRequests received from the IRC servers whenever a room is created and joined Request is processed and given to the best-fit instanceInstanceMonitor on the best-fit instance handles the taskIRCInternet Relay ChatCreated in 1988Very simple, well established TCP/IP based asynchronous chat systemUsed for our real-time chat systemFlash is used on our website to connect to the IRC servers and interact with the web applicationAmazon Web Services (AWS)•Pay as you go cloud computing–Simple pricing (hours used, data transferred)•Use existing infrastructure to rapidly build complicated systems–Run almost anything (you choose the OS, programming language, etc.)•Scalable–Add compute capacity and storage immediately•Good for planning–Ability to test different infrastructure configurations to find optimal setupAmazon Elastic Compute Cloud (EC2)•Web service that provides resizable compute capacity in the cloud•Select either a pre-configured instance template or create one•Configure security/network access•Choose hardware configuration:–Standard Instances–High-Memory Instances–High-CPU InstancesEC2 Pros•Start and stop server instances within minutes•Pay only for the time you have your instance up and for data transfer to and from your instance. •Acts just like a regular remote server–Connect to it and start using it immediately –Full root access•Convenient and easy to use web UI for managing instances•Firewall settings for groups of instancesEC2 ConsFew locations to choose fromNo control over the specific hardware in useInstance crash/termination: all the data stored on it is goneAmazon Relational Database Service (RDS)Simple to deployHandles database management tasksEasy to port an existing MySql database Scalable, reliable, secureDesigned to integrate with other AWSSystem ArchitectureSystem ArchitectureSystem ArchitectureSystem
or
We will never post anything without your permission.
Don't have an account? Sign up