Mrs. Ramya B K, Asst. Prof., Dept. of ISE Department of Information Science and Engineering The Flow Abstract Introduction Literature Survey SRS Design Implementation Testing Conclusion Reference 24-05-2014 Dept. Of ISE, SJBIT 2 Abstract Load balancing in the cloud computing environment has an important impact on the performance
Good load balancing makes cloud computing more efficient and improves user satisfaction.
This project introduces a better load balance model for the public cloud based on the cloud partitioning concept with a switch mechanism to choose different strategies for different situations.
This model divides the public cloud into several cloud partitions. When the environment is very large and complex, these divisions simplify the load balancing.
24-05-2014 Dept. Of ISE, SJBIT 3 Introduction Cloud computing is a model for enabling ubiquitous, convenient, on- demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be released with minimal management effort or service provider interaction. A public cloud is based on the standard cloud computing model, with service provided by a service provider. A large public cloud will include many nodes and the nodes in different geographical locations Load balancing is a technique for allocating user requests to the server nodes to prevent the emergence of the situation that some server nodes are loaded heavily while others are loaded lightly and request get rejected. Dynamic algorithms are able to dynamically reflect the load of the server nodes, it is very difficult to implement. 24-05-2014 Dept. Of ISE, SJBIT 4 Introduction (Contd..) Effective load balancing due to switch mechanism. Less client request failure. Cloud Resources will be properly utilized. Easy and Effective use of cloud resource. 24-05-2014 Dept. Of ISE, SJBIT 5 Literature Survey Authors & year Paper Title Contribution Findings /drawbacks Hongbin Wang et al. , 2011 Dynamic Adaptive Feedback of Load Balancing Strategy Every node server submits its own dynamic load information to load balancer, and it reduces communication overhead. In initial state the response time is not good as compare to existing algorithm. Shouyun song et al. , 2010 Dynamic Feedback Equalization Algorithm for Minimum Weight This algorithm considers real-time load and response capacity of each server node, makes pre-load rate of the server combined with response time. If a service node does not respond information back to the Load Balancer at the set time, then the node failure. 24-05-2014 Dept. Of ISE, SJBIT 6 Literature Survey (Contd..) Authors & year Paper Title Contribution Findings /drawbacks Ali M. Alakeel, 2010 A Guide to Dynamic Load Balancing in Distributed Computer Systems Load estimation, load levels comparison, stability, job resource requirements estimation, job selection for transfer, remote nodes selection, are some of the issues that have been discussed. If the load on any two nodes of the distributed system does not differ by more than a certain percentage x. Zenon Chaczko et al. , 2011 Availability and Load Balancing in Cloud Computing This paper demonstrated the applicability of using load balancing techniques to obtain measurable improvements in resource utilization and availability of cloud-computing environment. In initial state, the response time is not good as compare to existing system. 24-05-2014 Dept. Of ISE, SJBIT 7 SRS Scope 1. Global: A global setting will cause the load balancer to balance across regions 2. Regional: A regional load balancer will balance traffic to only one region, and evenly to all data centers within that region. 3. Data Center: A data center setting will balance to specific data centers. This type of load balancing only makes sense for virtual load balancing offerings such as an ELB where data centers (zones) can be specified prior to launch. Purpose 1. Application response time. 2. User location. 3. Maximum throughput. 24-05-2014 Dept. Of ISE, SJBIT 8 SRS (Contd..) Functional requirements 1. Matching between service consumers quality requirements 2. Monitoring (resource, service and dead/alive status) 3. Resource management 4. Provisioning 5. Releasing resources Non Functional Requirements: These are often called qualities of a system. Non-Functional Requirements, can be divided into two main categories 1. Execution qualities:- such as security, which are observable at run time. 2. Evolution qualities:- such as Quality of Service, maintainability, scalability, Integration, Availability, simplicity.
24-05-2014 Dept. Of ISE, SJBIT 9 SRS (Contd..) System requirements 1. Hardware Requirements: Processor : Any Processor above 500 MHz Ram : 512Mb. Hard Disk : 10 GB and Above. Input device : Standard Keyboard and Mouse. Output device : VGA and High Resolution Monitor
2. Software Requirements: Operating System : Windows Family. Language : JAVA Front End : Java Swing. Tools : JDK1.6, JCreator 24-05-2014 Dept. Of ISE, SJBIT 10 Design SEND BROWSE TEXT FILE BROWSE READ BALANCER STATUS EXT FILE READ SERVER STATUS
SEND REQUEST TO BALANCER
FORWARD REQUEST To SERVER
UPDATE MAIN CONTROLLER
REGISTER WITH BALANCER
SEND REPLY TO CLIENT
TEXT TO HTML
UPDATE BALANCER
Use Case Diagram Client Balancers Main Controller Server 24-05-2014 Dept. Of ISE, SJBIT 11 Design (Contd..) CLIENT Createwin() Addcomponent() Actionperformed() GETFILE Run() SEND REQ Run() MAIN CONTROLLER Createwin() Addcomponent() Actionperformed() MAINSERVER Readaddr() Run() FORWARD REQ Readaddr() Run() Client Class Diagram Main Controller Class Diagram Class Diagram 24-05-2014 Dept. Of ISE, SJBIT 12 Design (Contd..) BALANCER A Createwin() Addcomponent() Actionperformed() Readaddr() Createpanel1() Createpanel2() READ REQ Run() FORWARD REQ Run() UPDATE MAIN SERVER Run() Balancer Class Diagram SERVER Createwin() Addcomponent() Actionperformed() Readaddr() Getport() Connect() READ REQ Run() PROCESS REQ Run() Sendreplytoclient() Updatebalancer()
Server Class Diagram 24-05-2014 Dept. Of ISE, SJBIT 13 Implementation List of Modules 1. CLIENT 2. MAINCONTROLLER 3. BALANCER A 4. BALANCER B 5. SERVER 24-05-2014 Dept. Of ISE, SJBIT 14 Module 1: Client Classes Used : Jframe, Jlabel, JTextField, Jbutton , Container, Socket, ActionListener, ActionEvent, ServerSocket, Thread, Socket, DataInputStream, FileOutputStream, DataOutputStream Class Name : Client Attributes Methods : JLabel j1, j11, jlimg; Jbutton, jbexit, jbbrowse, jbsend, jbcancel; contentPane; JOptionPane; Socket soc; DataOutputStream dout; ServerSocket ss; DataInputStream din; FileOutputStream fout; main() createwin(); getfile(); actionPerformed() Random() addComponent() Sendreq() run() Description: Client class is created for sending and receiving the client request.
24-05-2014 Dept. Of ISE, SJBIT 15 Module 2: Main Controller Classes Used : Jframe, TableModel , Jtable, Jbutton, Container, JLabel, Jseparator, Socket, ObjectInputStream, ActionListener, ActionEvent, FileInputStream, Thread, DataInputStream, FileOutputStream, DataOutputStream, ServerSocket, Class Name : maincontroller Attributes Methods : TableModel dft,dft2; JTable jt,jt2; JButton jbexit; Container cp; Jlabe l jl; JSeparator js; JOptionPane; main() createwin() mainserver() addColumn() addComponent() actionPerformed() readaddr() Forwardreq() Description: Maincontroller class is created for receiving request from client and forward it to Balancer. 24-05-2014 Dept. Of ISE, SJBIT 16 Module 3&4 : Balancer Classes Used : Jframe, TableModel , Jtable, Jbutton, Container, JLabel, JPanel, Jseparator, Socket, ObjectInputStream, ActionListener, ActionEvent, FileInputStream, Thread, DataInputStream, FileOutputStream, DataOutputStream, ServerSocket, JComboBox Class Name : balancer Attributes Methods : JComboBox jc; JTextField jt2; JTable jt3; DefaultTableModel dft3; JButton jbconnect,jbexit; Main() balancerA() createwin(); readaddr(); actionPerformed() Forwardreq() readreq() updatemainserver() Description: Balancer class is created for taking request from Maincontroller and forward it to idle or normal server. 24-05-2014 Dept. Of ISE, SJBIT 17 Module 5: Server Classes Used : Jframe, TableModel , Jtable, Jbutton, Container, JLabel, JPanel, Jseparator, Socket, ObjectInputStream, ActionListener, ActionEvent, FileInputStream, Thread, DataInputStream, FileOutputStream, DataOutputStream, ServerSocket, Class Name : Server Attributes Methods : JButton jbexit; DefaultTableModel dft; JTable jt; JTextField jt1, jt2, jt3, jt4, jt5, jt6, jt7, jt8, jt9, jt10; JLabel jl, j12; JPanel jp1,jp2 Main() readaddr() createwin() Getport() connect() readreq() processreq() Description: Server class is created for taking request from balancer and process and send the result to client. 24-05-2014 Dept. Of ISE, SJBIT 18 Testing The different tests we have conducted are: Unit testing Integration testing System testing 24-05-2014 Dept. Of ISE, SJBIT 19 Unit Testing Unit testing deals with testing a unit as a whole. This would test the interaction of many functions but confine the test within one unit. The exact scope of a unit is left to interpretation. This type of testing is driven by the architecture and focus is called black- box testing because only the details of the interface are visible to the test. Limits that are global to a unit are tested here. Supporting test code, sometimes called scaffolding, may be necessary to support an individual test. 24-05-2014 Dept. Of ISE, SJBIT 20 Sample Unit Test Case Sl No. of test case UTC 1 Name of the test Check functionality for the pinging set. Item / Feature being tested The pinging node set. Sample Input This list is predefined and contains which systems to be pinged for availability Expected Output Display the list of nodes present in pinging set. Actual Output Node should be connected to database and it should be checked for network connection. Remarks Pass, It requires nodes information to be connected to database. Table 1: Check functionality for the pinging set 24-05-2014 Dept. Of ISE, SJBIT 21 Integration Testing The principle of integration testing is to test the working of the entire system as a whole. Here it is to check if the different modules interact with each other in the expected manner and produce the overall effect appropriately.
24-05-2014 Dept. Of ISE, SJBIT 22 Sample Integration Test Case Table 2: Integration testing for checking the monitor details Sl No. of test case ITC 5 Name of the test Integration testing for Checking the network options. Item / Feature being tested The send file, send message, shutdown server. Sample Input Select particular pinging node to send file/send message. Expected Output Receive file/message from a particular pinging node. Actual Output Node will receive file/message if node is present in network. Remarks Pass, It requires nodes to be present in network. 24-05-2014 Dept. Of ISE, SJBIT 23 System Testing The objective of system testing is to test the interfaces between the individual modules comprising the system. The idea is to ensure that the input output relationships between the various modules are not conflicting with each other and there is a seamless transition of data flowing between each of the communicating modules. Ensuring that the system is secured at its interfaces is a very essential part of the process of testing a system in practice as it gives the confidence to both programmer as well as the end user that the system is indeed reliable and will not throw any unexpected surprises during its usage. 24-05-2014 Dept. Of ISE, SJBIT 24 Sample System Test Case Sl No. of test case STC 1 Name of the test To send file/message request to a local/remote server. Item / Feature being tested One or more system should have a network connection. Sample Input Select one random alive node to send file/message. Expected Output Node receives file/message from particular pinging node. Actual Output System was found to give the output as expected. Remarks Pass. LAN Connection should be there. Table 3: To send file/message request to a local/remote server 24-05-2014 Dept. Of ISE, SJBIT 25 Conclusion Adaptive load balancing algorithm is a method for load balancing where the parameters used are based on the current state. Here centralized node takes the decision of allocating server based on the input from each server. Thus servers also take part in deciding to process request, as a result the overall performance is expected to be efficient and at its best. Proposed load balancing technique mainly focus on reducing overhead, reducing migration time and improving performance.
24-05-2014 Dept. Of ISE, SJBIT 26 References [1] Gaochao Xu, Junjie Pang, Xiaodong FuJaya, Bharathi Chintalapati, Srinivasa Rao T.Y.S. A Load Balancing Model Based on Cloud Partitioning for the Public Cloud IEEE transactions on cloud computing year 2013. [2] Zenon Chaczko , Venkatesh Mahadevan , Shahrzad Aslanzadeh and Christopher Mcdermid " Availability and Load Balancing in Cloud Computing" . University of Technology Sydney, Swinburne University of Technology, Australia, 2011 International Conference on Computer and Software Modeling IPCSIT vol.14 (2011) (2011) IACSIT Press, Singapore. [3] Hao Liu, Shijun Liu, Xiangxu Meng, Chengwei Yang, Yong Zhang, LBVS: A Load Balancing Strategy for Virtual Storage, 2010 International Conference on Service Sciences, pp. 257-262. [4] Wenhong Tian, Yong Zhao, Yuanliang Zhong, Minxian Xu, Chen Jing, LIF: A Dynamic Scheduling Algorithm for Cloud Data Centers Considering Multi-dimensional Resources, Journal of Information & Computational Science. [5] Hongbin Wang , Zhiyi Fang, Shuang Cui , Dynamic Adaptive Feedback of Load Balancing Strategy , Journal of Information & Computational Science 8: 10 (2011) 19011908.