Friday, November 15, 2019

Multi Cloud Database Service Providers (MCDSP)

Multi Cloud Database Service Providers (MCDSP) A Multi cloud service provider is expert in building the distributed database cloud and can manage those cloud storage servers also. And this multi cloud database service provider is capable of operating the cloud computing system in an interactive way. When a user wants to store the data in the multi cloud, he needs to log with his credentials. MCD service provider of the multi cloud plays a dominant role in managing all the resources of cloud databases to offer a high quality 24X7 secure access. In reality the architecture is planned to operate with any number of databases and types, the architecture is planned to work with a limited number of cloud databases. In its inception the project is planned to use MySql as the storage server in all the cloud environments. The cloud databases can be accessed, controlled and configured through MCDSP’s configuration control manager. Thus we have configured five server databases of which the user can choose any three servers of his choice to store his confidential information. The client is simply aware of the storage servers and their status used for storing information. In this multi-storage environment the client can manually stores user (secret) information by choosing the server IP address (name) from the active servers list. So involvement of MCDSP is nullified, when the client puts his information in the cloud. 5.2.1 Cloud server’s information: 5.2.1.1 Cloud sever1 Cloud Server Name:SVPPC704 Configured IP address: 10.10.10.200 dbname : db1 Password : user1 User name : user1 5.2.1.2 Cloud sever2 Cloud Server Name: SVPPC705 Configured IP address : 10.10.10.83 dbname : db2 Password : deepika User name : deepika 5.2.1.3 Cloud sever3 Cloud server Name: VJ Babu Configured IP Address : 10.10.10.99 dbname : db3 Password : user3 User name : user3 5.2.1.4 Cloud sever4 Cloud server Name: SVPPC707 Configured IP Address : 10.10.10.125 dbname : db4 Password : user4 User name : user4 5.2.1.5 Cloud sever5 Cloud server Name: SVPPC719 Configured IP Address : 10.10.10.74 dbname : db5 Password : user5 User name: user5 Information of MCDSP, is stored in databases is stored as, 5.3 UML Diagrams The unified modelling language is a standard language for specifying, Visualizing, Constructing and documenting the software system and its components. It is a graphical language that provides a vocabulary and set of semantics and rules. The UML focuses on the conceptual and physical representation of the system. It captures the decisions and understandings about systems that must be constructed. It is used to understand, design, configure, maintain and control information about the systems. 5.3.1 Class diagram A Class diagram shows a set of classes, interfaces and collaborations and their relationships. Class diagram addresses the static design view of a system. Class diagrams to describe the structure of the system. Classes are abstractions that specify the common structure and behaviour of a set. Class diagrams describe the system in terms of objects, classes, attributes, operations and their associations. In UML class diagrams, Top compartment contains name of the class. Middle compartment contains class’s attributes or instance variables. Bottom compartment contains class’s operations or methods. 5.3.2 Use case diagram Use cases are used during requirements elicitation and analysis to represent the functionality of the system. Use cases focus on the behavior of the system from the external point of view. The actor is outside the boundary of the system, whereas the use cases are inside the boundary of the system (MCDS).The Actors involved in this use case diagram are: User, MCDSP. 5.3.3 Sequence diagram The time ordering messages are emphasized by the Sequence diagram; this is the one of the type of interaction diagram. To visualize the communication among objects and behaviour of the system are can be done by using the sequence diagram. By using, identifying the any additional objects may participate in the uses cases or not can be done by using this sequence diagram. This diagram shows the where the interaction takes place among the objects. 5.3.4 Activity diagram The flow from activity to activity, shown by using the activity diagram within a system. One of the dynamic views of the system is activity diagram. The system can be described as activities, in the activity diagram. In this diagram, operations execution is represented by using the activities. The activity diagrams are as similar to the flowchart diagram. Description: The admin gets login and checks whether the admin had an appropriate login id and password. The admin enters successfully and upload the files, maintain the files. The user gets login, if the user is a new one then he must have to create an account and gets login. The user searches the file, if it exists, displays the original file by entering the access key. 5.4 User Interface Design The design of computers, applications, machines, mobile communication devices, and websites are designed by considering the user’s experience and interaction is called as User Interface Design or User Interface Engineering. The main goal is, make the user’s interaction is simple and as efficient as possible can be done by considering the user goals and this design procedure is called as user centred design. Without drawing the unnecessary attempts and finishing the task at hand is called as good user interface design. To design a user interface there must be an balance between technical functionality and visual elements. This is important, because when creating a system it is not only operable but also usable and adaptable. When designing the user interface design it should be useful for the users, means that the it is in meaningful manner, it should be clear then only useful for users, appearance model is easily recognizable by the users, giving more clearance by separating the similar and dissimilar things separately. This overall design can be done based on the interface architecture. 5.5 Input Design Output Design 5.5.1 Input Design Through a link only information system and user can communicate with each other and that link is called as input design. This input is taken from either in the form of printed document or entering the key values by using the keyboard can be done by using the computer and processed by the processor. There is an control on how much amount of input is required, controlling the errors, avoiding the delays, extra steps are avoided and the process is as simple as possible all these are considered when designing the input. When designing the input by considering the all these things it provides the security and ease of use. By considering the following input is designed as, To give an input which data is given? In which format the data should be arranged or coded? When operating the system personally, there is an dialog to provide the input? When an error occur, what are the different methods used for preparing the input validations and steps. Objectives: An user oriented description of an input is converted in to computer based system can be done by using the input design process. When to design this process that must be error prone and giving correct directions when accepting the input from the keyboard. To handle the large volumes of data, creating the user friendly screens for data entry. While entering the data it must be easier and it is an error prone. While entering the data, all data must be manipulated and also providing the viewing facilities also. Checking validation for input is necessary and also through screens only input is entered. When entering the data, appropriate messages are provided for better understanding purpose. For this if input layout is designed, by using this layout easy to follow the instructions. 5.5.2 Output Design The output quality is important because end user requirements are satisfied and clear information must be there. After processing the input in any system the output is displayed. The intermediate results of the output are also stored in the form of hard copy for further references. For users direct information resource is output only. For decision making and maintaining the relationship with system output is necessary. To design the output it meets the requirements of the end user. The developed output must be right and if necessary the people can used. Proper methods are selected for presenting information. In the user manual, it should contain the information regarding the output. The successful implementations of the information system having the objects are, providing information for past activities, Present status and also proving the future enhancement also. Giving information for proble.ms, important event, warnings and different opportunities. What are the different actions are performed on Triggers. What are the conformation actions are performed. 5.6 System Requirements 5.6.1 Hardware Requirements: System:Pentium IV or equivalent Hard Disk (Free space):20 MB. RAM:256 MB. 5.6.2 Server Software Requirements: Operating system : Windows XP Professional Front End : JAVA Back End (Database) :MySql Tool :Net beans IDE 5.6.3 Client Software Requirements: Operating System : Linux or windows Access: Web browser (Recommended Firefox) Memory: 256 MB (RAM) 6. IMPLEMENTATION 6.1 Shamir Secret Sharing Algorithm In this project using algorithm proposed by Adi Shamir called Shamir’s secret sharing algorithm, by using this algorithm sharing the secret information into multi cloud and again reconstructing the secret information can be done by using this algorithm. The algorithm called Shamir’s secret sharing is worked as, the secret information of user’s data can be divided into number of pieces of secret information and each part of secret information is stored into different servers of the Multi cloud and this service is provided by the multi cloud service provider. To reconstruct the original secret information, accessing the pieces of secret information from the at least two servers from the Multi cloud. 7. SYSTEM TESTING The purpose of testing is to discover errors. Testing is the process of trying to discover every conceivable fault or weakness in a work product. It provides a way to check the functionality of components, sub assemblies, assemblies and/or a finished product It is the process of exercising software with the intent of ensuring that the Software system meets its requirements and user expectations and does not fail in an unacceptable manner. There are various types of test. Each test type addresses a specific testing requirement. Testing is a critical element of software quality assurance and represents the ultimate review of specifications, design and coding. Following are some of the objectives of testing. Testing is the process of executing program with the intent of finding an error. A good test case in one that has a high probability of finding an as yet undiscovered error. A successful test is the one that uncovers as an yet undiscovered error. Testing cannot show the absence of defects, it can only show that software errors are present. The benefits obtained are: If testing is conducted successfully (according to the objective stated above), it will uncover errors in the software. As a secondary benefit, testing demonstrates that software functions appear to be working according to specifications and that performance requirements appear to have been met. In addition, data collected as testing is conducted provides a good indication of software reliability and some indication of software quality as a whole. 7.1 Types of Tests 7.1.1 Unit Testing Unit testing involves the design of test cases that validate that the internal program logic is functioning properly, and that program inputs produce valid outputs. All decision branches and internal code flow should be validated. It is the testing of individual software units of the application .it is done after the completion of an individual unit before integration. This is a structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform basic tests at component level and test a specific business process, application, and/or system configuration. Unit tests ensure that each unique path of a business process performs accurately to the documented specifications and contains clearly defined inputs and expected results. 7.1.2 Integration Testing Integration tests are designed to test integrated software components to determine if they actually run as one program. Testing is event driven and is more concerned with the basic outcome of screens or fields. Integration tests demonstrate that although the components were individually satisfaction, as shown by successfully unit testing, the combination of components is correct and consistent. Integration testing is specifically aimed at exposing the problems that arise from the combination of components. 7.1.3 Functional Test Functional tests provide systematic demonstrations that functions tested are available as specified by the business and technical requirements, system documentation, and user manuals. Functional testing is centered on the following items: Valid Input: identified classes of valid input must be accepted. Invalid Input: identified classes of invalid input must be rejected. Functions: identified functions must be exercised. Output: identified classes of application outputs must be exercised. Systems/Procedures: interfacing systems or procedures must be invoked. Organization and preparation of functional tests is focused on requirements, key functions, or special test cases. In addition, systematic coverage pertaining to identify Business process flows; data fields, predefined processes, and successive processes must be considered for testing. Before functional testing is complete, additional tests are identified and the effective value of current tests is determined. 7.1.4 System Test System testing ensures that the entire integrated software system meets requirements. It tests a configuration to ensure known and predictable results. An example of system testing is the configuration oriented system integration test. System testing is based on process descriptions and flows, emphasizing pre-driven process links and integration points. 7.1.5 White Box Testing White Box Testing is a testing in which the software tester has knowledge of the inner workings, structure and language of the software, or at least its purpose. It is used to test areas that cannot be reached from a black box level. 7.1.6 Black Box Testing Black Box Testing is testing the software without any knowledge of the inner workings, structure or language of the module being tested. Black box tests, as most other kinds of tests, must be written from a definitive source document, such as specification or requirements document. It is a testing in which the software under test is treated, as a black box .you cannot â€Å"see† into it. The test provides inputs and responds to outputs without considering how the software works. 7.2 Test Results 7.2.1 Unit Testing Unit testing is usually conducted as part of a combined code and unit test phase of the software lifecycle, although it is not uncommon for coding and unit testing to be conducted as two distinct phases. 7.2.2 Test strategy and approach Field testing will be performed manually and functional tests will be written in detail. Test objectives: All field entries must work properly. Pages must be activated from the identified link. The entry screen, messages and responses must not be delayed. Features to be tested: Verify that the entries are of the correct format. No duplicate entries should be allowed. All links should take the user to the correct page. 7.2.3 Integration Testing Software integration testing is the incremental integration testing of two or more integrated software components on a single platform to produce failures caused by interface defects. The task of the integration test is to check that components or software applications, e.g. components in a software system or – one step up – software applications at the company level – interact without error. Test Results: All the test cases passed successfully. No defects encountered. 7.2.4 Acceptance Testing User Acceptance Testing is a critical phase of any project and requires significant participation by the end user. It also ensures that the system meets the functional requirements. Test Results: All the test cases have passed successfully. Minor defects encountered are fixed. Fix quality is maintained. 7.3 Test Cases Table 7.3: test cases 8. FUTURE ENHANCEMENTS In this project work the numeric attribute (integer data type) is considered in the secret sharing approach. For future work, further evaluation of non-numeric data types and larger data size can be performed. Another area of attention for future work is the idea of substituting simulation for real CSP, such as own cloud. 9. CONCLUSION The cloud computing usage is significantly notified across medium to large scale companies. But security in the cloud is still a challenging issue. A clear attempt is made to enhance has the security using Shamir’s secrete sharing algorithm. A cloud environment is simulated with six cloud databases which can be configured by the MCDSP which are available to the users to choose and then to store their information. By setting up the above kind of environment confidence can be built to the cloud users to w.r.to security and availability compromising a bit storage time.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.