Anda di halaman 1dari 45

EXPLOITING DYNAMIC RESOURCE ALLOCATION FOR EFFICIENT PARALLEL DATA PROCESSING IN THE CLOUD

INTRODUCTION

In recent years ad hoc parallel data processing has emerged to be one of the killer applications for Infrastructure-as-a-Service (IaaS) clouds. Major Cloud computing companies have started to integrate frameworks for parallel data processing in their product portfolio, making it easy for customers to access these services and to deploy their programs. However, the processing frameworks which are currently used have been designed for static, homogeneous cluster setups and disregard the particular nature of a cloud. Consequently, the allocated compute resources may be inadequate for big parts of the submitted job and unnecessarily increase processing time and cost. In this paper, we discuss the opportunities and challenges for efficient parallel data processing in clouds and present our research project Nephele. Nephele is the first data processing framework to explicitly exploit the dynamic resource allocation offered by today's IaaS clouds for both, task scheduling and execution. Particular tasks of a processing job can be assigned to different types of virtual machines which are automatically instantiated and terminated during the job execution. Based on this new framework, we perform extended evaluations of MapReduce-inspired processing jobs on an IaaS cloud system and compare the results to the popular data processing framework Hadoop.

EXISTING SYSTEM: A growing number of companies have to process huge amounts of data in a cost-efficient manner. Classic representatives for these companies are operators of Internet search engines. The vast amount of data they have to deal with every day has made traditional database solutions prohibitively Expensive .Instead, these companies have popularized an architectural paradigm based on a large number of commodity servers. Problems like processing crawled documents or regenerating a web index are split into several independent subtasks, distributed among the available nodes, and computed in parallel. PROPOSED SYSTEM: In recent years a variety of systems to facilitate MTC has been developed. Although these systems typically share common goals (e.g. to hide issues of parallelism or fault tolerance), they aim at different fields of application. MapReduce is designed to run data analysis jobs on a large amount of data, which is expected to be stored across a large set of share-nothing commodity servers. Once a user has fit his program into the required map and reduce pattern, the execution framework takes care of splitting the job into subtasks, distributing and executing them. A single Map Reduce job always consists of a distinct map and reduce program. ALGORITHMS: 1. Job Scheduling and Execution: After having received a valid Job Graph from the user, Nepheles Job Manager transforms it into a so-called Execution Graph. An Execution Graph is Nepheles primary data structure for scheduling and monitoring the execution of a Nephele job. Unlike the abstract Job Graph, the Execution Graph contains all the concrete information required to schedule and execute the received job on the cloud.

2.Parallelization and Scheduling Strategies: If constructing an Execution Graph from a users submitted Job Graph may leave different degrees of freedom to Nephele. The user provides any job annotation which contains more specific instructions we currently pursue simple default strategy: Each vertex of the Job Graph is transformed into one Execution Vertex. The default channel types are network channels. Each Execution Vertex is by default assigned to its own Execution Instance unless the users annotations or other scheduling restrictions (e.g. the usage of in-memory channels) prohibit it.

MODULE DESCRIPTION: 1. NETWORK MODULE: Server - Client computing or networking is a distributed application architecture that partitions tasks or workloads between service providers (servers) and service requesters, called clients. Often clients and servers operate over a computer network on separate hardware. A server machine is a high-performance host that is running one or more server programs which share its resources with clients. A client also shares any of its resources; Clients therefore initiate communication sessions with servers which await (listen to) incoming requests. 2. LBS SERVICES: In particular, users are reluctant to use LBSs, since revealing their position may link to their identity. Even though a user may create a fake ID to access the service, her location alone may disclose her actual identity. Linking a position to an individual is possible by various means,such as publicly available information city maps. When a user u wishes to pose a query, she sends her location to a trusted server, the anonymizer through a secure connection (SSL). The latter obfuscates her location, replacing it with an anonymizing spatial region (ASR) that encloses u. The ASR is then forwarded to the LS. Ignoring where exactly u is, the LS retrieves (and reports to the AZ) a candidate set (CS) that is guaranteed to contain the query results for any possible user location inside the ASR. The AZ receives the CS and reports to u the subset of candidates that corresponds to her original query.

3. SYSTEM MODEL: The ASR construction at the anonymization process abides by the users privacy requirements. Particularly, specified an anonymity degree K by u, the ASR satisfies two properties: (i) it contains u and at least another K * 1 users, and (ii) even if the LS knew the exact locations of all users in the system.

We propose an edge ordering anonymization approach for users in road networks, which guarantees K-anonymity under the strict reciprocity requirement (described later).

We identify the crucial concept of border nodes, an important indicator of the CS size and of the query processing cost at the LS.

We consider various edge orderings, and qualitatively assess their query performance based on border nodes.

We design efficient query processing mechanisms that exploit existing network database infrastructure, and guarantee CS inclusiveness and minimality. Furthermore, they apply to various network storage schemes.

We devise batch execution techniques for anonymous queries that significantly reduce the overhead of the LS by computation sharing.

4. SCHEDULED TASK: Recently, considerable research interest has focused on preventing identity inference in location-based services. Proposing spatial cloaking techniques. In the following, we describe existing techniques for ASR computation (at the AZ) and query processing (at the LS). At the end, we cover alternative location privacy approaches and discuss why they are inappropriate to our problem setting. This offers privacy protection in the sense that the actual user position u cannot be distinguished from others in the ASR, even when malicious LS is equipped/advanced enough to possess all user locations. This spatial K-anonymity model is most widely used in location privacy research/applications, even though alternative models are emerging.

5. QUERY PROCESSING: Processing is based on implementation of the theorem uses (network-based) search operations as off the shelf building blocks. Thus, the NAP query evaluation methodology is readily deployable on existing systems, and can be easily adapted to different network storage schemes. In this case, the queries are evaluated in a batch. we propose the network-based anonymization and processing (NAP) framework, the first system for K- anonymous query processing in road networks. NAP relies on a global user ordering and bucketization that satisfies reciprocity and guarantees K-anonymity. We identify the ordering characteristics that affect subsequent processing, and qualitatively compare alternatives. Then, we propose query evaluation techniques that exploit these characteristics. In addition to user privacy, NAP achieves low computational and communication costs, and quick responses overall. It is readily deployable, requiring only basic network operations. HARDWARE & SOFTWARE REQUIREMENTS: HARDWARE REQUIREMENTS:

System Hard Disk Floppy Drive Ram

: : : :

Pentium IV 2.4 GHz. 40 GB. 1.44 Mb. 512 MB.

SOFTWARE REQUIREMENTS:

Operating system Coding Language Database

: : :

Windows XP Professional. ASP .Net,C# Sql Server 2005.

2. SYSTEM STUDY 2.1 FEASIBILITY STUDY The feasibility of the project is analyzed in this phase and business proposal is put forth with a very general plan for the project and some cost estimates. During system analysis the feasibility study of the proposed system is to be carried out. This is to ensure that the proposed system is not a burden to the company. For feasibility analysis, some understanding of the major requirements for the system is essential. Three key considerations involved in the feasibility analysis are

ECONOMICAL FEASIBILITY TECHNICAL FEASIBILITY SOCIAL FEASIBILITY

ECONOMICAL FEASIBILITY This study is carried out to check the economic impact that the system will have on the organization. The amount of fund that the company can pour into the research and development of the system is limited. The expenditures must be justified. Thus the developed system as well within the budget and this was achieved because most of the technologies used are freely available. Only the customized products had to be purchased.

TECHNICAL FEASIBILITY This study is carried out to check the technical feasibility, that is, the technical requirements of the system. Any system developed must not have a high demand on the available technical resources. This will lead to high demands on the available technical resources. This will lead to high demands being placed on the client. The developed system must have a modest requirement, as only minimal or null changes are required for implementing this system.

SOCIAL FEASIBILITY The aspect of study is to check the level of acceptance of the system by the user. This includes the process of training the user to use the system efficiently. The user must not feel threatened by the system, instead must accept it as a necessity. The level of acceptance by the users solely depends on the methods that are employed to educate the user about the system and to make him familiar with it. His level of confidence must be raised so that he is also able to make some constructive criticism, which is welcomed, as he is the final user of the system.

4. SDLC METHDOLOGIES
This document play a vital role in the development of life cycle (SDLC) as it describes the complete requirement of the system. It means for use by developers and will be the basic during testing phase. Any changes made to the requirements in the future will have to go through formal change approval process. SPIRAL MODEL was defined by Barry Boehm in his 1988 article, A spiral Model of Software Development and Enhancement. This model was not the first model to discuss iterative development, but it was the first model to explain why the iteration models. As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase starts with a design goal and ends with a client reviewing the progress thus far. project. Analysis and engineering efforts are applied at each phase of the project, with an eye toward the end goal of the

The steps for Spiral Model can be generalized as follows: The new system requirements are defined in as much details as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system. A preliminary design is created for the new system. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product. A second prototype is evolved by a fourfold procedure: 1. Evaluating the first prototype in terms of its strengths, weakness, and risks. 2. Defining the requirements of the second prototype. 3. Planning an designing the second prototype. 4. Constructing and testing the second prototype. At the customer option, the entire project can be aborted if the risk is deemed too great. Risk factors might involved development cost overruns, operating-cost miscalculation, or any other factor that could, in the customers judgment, result in a less-thansatisfactory final product. The existing prototype is evaluated in the same manner as was the previous prototype, and if necessary, another prototype is developed from it according to the fourfold procedure outlined above. The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired. The final system is constructed, based on the refined prototype. The final system is thoroughly evaluated and tested. Routine maintenance is carried

on a continuing basis to prevent large scale failures and to minimize down time.
The following diagram shows how a spiral model acts like:

ADVANTAGES:
Estimates(i.e. budget, schedule etc .) become more relistic as work progresses, because important issues discovered earlier. It is more able to cope with the changes that are software development generally entails. Software engineers can get their hands in and start working on the core of a project earlier.

7. UML Diagrams
Unified Modeling Language:
The Unified Modeling Language allows the software engineer to express an analysis model using the modeling notation that is governed by a set of syntactic semantic and pragmatic rules. A UML system is represented using five different views that describe the system from distinctly different perspective. Each view is defined by a set of diagram, which is as follows. User Model View i.This view represents the system from the users perspective. ii.The analysis representation describes a usage scenario from the end-users perspective. Structural model view i.In this model the data and functionality are arrived from inside the system. ii.This model view models the static structures. Behavioral Model View

It represents the dynamic of behavioral as parts of the system, depicting the interactions of collection between various structural elements described in the user model and structural model view.

Implementation Model View

In this the structural and behavioral as parts of the system are represented as they are to be built.

Environmental Model View

In this the structural and behavioral aspects of the environment in which the system is to be implemented are represented.

UML is specifically constructed through two different domains they are:

UML Analysis modeling, this focuses on the user model and structural model views of the system. UML design modeling, which focuses on the behavioral modeling, implementation modeling and environmental model views.

Use case Diagrams represent the functionality of the system from a users point of view. 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 external point of view.

Actors are external entities that interact with the system. Examples of actors include users like administrator, bank customer etc., or another system like central database.

9.2 IMPLEMENTATION HTML


HTML, an initialize of Hypertext Markup Language, is the predominant markup language for web pages. It provides a means to describe the structure of text-based information in a document by denoting certain text as headings, paragraphs, lists, and so on and to supplement that text with interactive forms, embedded images, and other objects. HTML is written in the form of labels (known as tags), surrounded by angle brackets. HTML can also describe, to some degree, the appearance and semantics of a document, and can include embedded scripting language code which can affect the behavior of web browsers and other HTML processors.

HTML is also often used to refer to content of the MIME type text/html or even more broadly as a generic term for HTML whether in its XML-descended form (such as XHTML 1.0 and later) or its form descended directly from SGML Hyper Text Markup Language Hypertext Markup Language (HTML), the languages of the World Wide Web (WWW), allows users to produces Web pages that include text, graphics and pointer to other Web pages (Hyperlinks). HTML is not a programming language but it is an application of ISO Standard 8879, SGML (Standard Generalized Markup Language), but specialized to hypertext and adapted to the Web. The idea behind Hypertext is that instead of reading text in rigid linear structure, we can easily jump from one point to another point. We can navigate through the information based on our interest and preference. A markup language is simply a series of elements, each delimited with special characters that define how text or other items enclosed within the elements should be displayed. Hyperlinks are underlined or emphasized works that load to other documents or some portions of the same document. HTML can be used to display any type of document on the host computer, which can be geographically at a different location. It is a versatile language and can be used on any platform or desktop.

HTML provides tags (special codes) to make the document look attractive. HTML tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of the document. Anything that is not a tag is part of the document itself.

Basic HTML Tags: <! ---> specifies comments Creates hypertext links Formats text as bold Formats text in large font.

<A>.</A> <B>.</B> <BIG>.</BIG>

Contains all tags and text in the HTML document <CENTER>...</CENTER> <DD></DD> <DL>...</DL> <FONT></FONT> <FORM>...</FORM> Creates text Definition of a term Creates definition list Formats text with a particular font Encloses a fill-out form

Defines a particular frame in a set of frames <H#></H#> Creates headings of different levels( 1 6 )

Contains tags that specify information about a document <HR>...</HR> <HTML></HTML> Creates a horizontal rule Contains all other HTML tags

Provides meta-information about a document <SCRIPT></SCRIPT> Contains client-side or server-side script

<TABLE></TABLE> <TD></TD> <TR></TR> <TH></TH>

Creates a table Indicates table data in a table Designates a table row Creates a heading in a table

Attributes
The attributes of an element are name-value pairs, separated by "=", and written within the start label of an element, after the element's name. The value should be enclosed in single or double quotes, although values consisting of certain characters can be left unquoted in HTML (but not XHTML).Leaving attribute values unquoted is considered unsafe. Most elements take any of several common attributes: id, class, style and title. Most also take language-related attributes: lang and dir. The id attribute provides a document-wide unique identifier for an element. This can be used by stylesheets to provide presentational properties, by browsers to focus attention on the specific element or by scripts to alter the contents or presentation of an element. The class attribute provides a way of classifying similar elements for presentation purposes. For example, an HTML document (or a set of documents) may use the designation class="notation" to indicate that all elements with this class value are all subordinate to the main text of the document (or documents). Such notation classes of elements might be gathered together and presented as footnotes on a page, rather than appearing in the place where they appear in the source HTML. An author may use the style non-attributal codes presentational properties to a particular element. It is considered better practice to use an elements son- id page and select the element with a stylesheet, though sometimes this can be too cumbersome for a simple ad hoc application of styled properties. The title is used to attach subtextual explanation to an element. In most browsers this title attribute is displayed as what is often referred to as a tooltip. The generic inline span element can be used to demonstrate these various non-attributes.

The preceding displays as HTML (pointing the cursor at the abbreviation should display the title text in most browsers).

Advantages
1. A HTML document is small and hence easy to send over the net. It is small because it does not include formatted information. 2. HTML is platform independent. 3. HTML tags are not case-sensitive

9.3 JavaScript
JavaScript is a script-based programming language that was developed by Netscape Communication Corporation. JavaScript was originally called Live Script and renamed as JavaScript to indicate its relationship with Java. JavaScript supports the development of both client and server components of Web-based applications. On the client side, it can be used to write programs that are executed by a Web browser within the context of a Web page. On the server side, it can be used to write Web server programs that can process information submitted by a Web browser and then update the browsers display accordingly Even though JavaScript supports both client and server Web programming, we prefer JavaScript at Client side programming since most of the browsers supports it. JavaScript is almost as easy to learn as HTML, and JavaScript statements can be included in HTML documents by enclosing the statements between a pair of scripting tags <SCRIPTS>.. </SCRIPT>. <SCRIPT LANGUAGE = JavaScript> JavaScript statements </SCRIPT> Here are a few things we can do with JavaScript:
Validate the contents of a form and make calculations.

Add scrolling or changing messages to the Browsers status line. Animate images or rotate images that change when we move the mouse over them. Detect the browser in use and display different content for different browsers. Detect installed plug-ins and notify the user if a plug-in is required.

We can do much more with JavaScript, including creating entire application. JavaScript Vs Java JavaScript and Java are entirely different languages. A few of the most glaring differences are:

Java applets are generally displayed in a box within the web document; JavaScript can affect any part of the Web document itself. While JavaScript is best suited to simple applications and adding interactive features to Web pages; Java can be used for incredibly complex applications.

There are many other differences but the important thing to remember is that JavaScript and Java are separate languages. They are both useful for different things; in fact they can be used together to combine their advantages.

Advantages
1. JavaScript can be used for Sever-side and Client-side scripting. 2. It is more flexible than VBScript.
3. JavaScript is the default scripting languages at Client-side since all the browsers supports it.

9.5 Database:
A database management system (DBMS) is computer software designed for the purpose of managing databases, a large set of structured data, and run operations on the data requested by numerous users. Typical examples of DBMSs include Oracle, DB2, Microsoft Access, Microsoft SQL Server, Firebird, PostgreSQL, MySQL, SQLite, FileMaker and Sybase Adaptive Server Enterprise. DBMSs are typically used by Database administrators in the creation of Database systems. Typical examples of DBMS use include accounting, human resources and customer support systems. Originally found only in large companies with the computer hardware needed to support large data sets, DBMSs have more recently emerged as a fairly standard part of any company back office.

Description

A DBMS is a complex set of software programs that controls the organization, storage, management, and retrieval of data in a database. A DBMS includes: A modeling language to define the schema of each database hosted in the DBMS, according to the DBMS data model. The four most common types of organizations are the hierarchical, network, relational and object models. Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. The optimal structure depends on the natural organization of the application's data, and on the application's requirements (which include transaction rate (speed), reliability, maintainability, scalability, and cost). The dominant model in use today is the ad hoc one embedded in SQL, despite the objections of purists who believe this model is a corruption of the relational model, since it violates several of its fundamental principles for the sake of practicality and performance. Many DBMSs also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS. Data structures (fields, records, files and objects) optimized to deal with very large amounts of

data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory).

A database query language and report writer to allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. It also controls the security of the database. Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data. If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organization. These controls are only available when a set of application programs are customized for each data entry and updating function.

A transaction mechanism, that ideally would guarantee the ACID properties, in order to ensure data integrity, despite concurrent user accesses (concurrency control), and faults (fault tolerance). It also maintains the integrity of the data in the database. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can help prevent duplicate records via unique index constraints; for example, no two customers with the same customer. numbers (key fields) can be entered into the database. See ACID properties for more information (Redundancy avoidance).

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. When a DBMS is used, information systems can be changed much more easily as the organization's information requirements change. New categories of data can be added to the database without disruption to the existing system. Organizations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. Overall systems design decisions are performed by data administrators and systems analysts. Detailed database design is performed by database administrators. Database servers are specially designed computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with RAID disk arrays used for stable storage. Connected to one or more servers via a high-speed channel, hardware database accelerators are also used in large volume transaction processing environments. DBMSs are found at the heart of most database applications. Sometimes DBMSs are built around a private multitasking kernel with built-in networking support although nowadays these functions are left to the operating system.
SQL Structured Query Language (SQL) is the language used to manipulate relational databases. SQL is tied very closely with the relational model. In the relational model, data is stored in structures called relations or tables. SQL statements are issued for the purpose of:

Data definition: Defining tables and structures in the database (DDL used to create, alter and drop
schema objects such as tables and indexes).

Data manipulation:

Used to manipulate the data within those schema objects (DML Inserting,

Updating, Deleting the data, and Querying the Database).

A schema is a collection of database objects that can include: tables, views, indexes and sequences

List of SQL statements that can be issued against an Oracle database schema are:

ALTER - Change an existing table, view or index definition (DDL) AUDIT - Track the changes made to a table (DDL) COMMENT - Add a comment to a table or column in a table (DDL) COMMIT - Make all recent changes permanent (DML - transactional) CREATE - Create new database objects such as tables or views (DDL) DELETE - Delete rows from a database table (DML) DROP - Drop a database object such as a table, view or index (DDL) GRANT - Allow another user to access database objects such as tables or views (DDL) INSERT - Insert new data into a database table (DML) No AUDIT - Turn off the auditing function (DDL) REVOKE - Disallow a user access to database objects such as tables and views (DDL) ROLLBACK - Undo any recent changes to the database (DML - Transactional) SELECT - Retrieve data from a database table (DML) TRUNCATE - Delete all rows from a database table (can not be rolled back) (DML) UPDATE - Change the values of some data items in a database table (DML)

CLASS DIAGRAM
C l ie n t
(f ro m C O R B A )

a d m in U s e rN a m e P a s s w o rd R e q _ Id c h e c k s R e q u e s t s () p ro c e s s R e q u e s t s ( ) s e n d s R e q u e s t T o M a n a g e r () R e c iv e s R e s p o n s e F ro m M a n a g e r( ) c h e c k s / v a l id a t e s D a t a ()

U s e rn a m e P a s s w o rd R e g is t e r ( ) L o g in () E d i t P r o fi l e ( ) s e n d s R e q u e s t s () C h e c k s R e s p n s e s () R e q u e s t s R e s p o n s e ()

C lo u d R e q _ id M anager U s e rn a m e P a s s w o rd c h e c k s T h e R e q u e s t() V a li d a t e s () S e n d s T h e D a t a T o A d m i n () S t o r e U s e r D e t a il s ( ) S t o r e T h e R e q u e s t () P r o c e s s R e q u e s t( )

USE CASE DIAGRAM FOR CLIENT

C l ie n t

R e g is t e r

L o g in

st t U p d a t e a c c o u n t d e ta il V ie w D e tia l s C o m p o s e R e q u eP o s t R e q u e sS e le c ti n g S e r vi c e T y p e s

USE CASE DIAGRAM FOR ADMINISTRATOR

M a n a g e

C l ie n t s

a c c o u n t s

V ie w

R e q u e s ts

V ie w A d m i n is tr a to r

R e s p o n c e s

< < in c lu d e > > M a n a g e C lo u d < < in c lu d e > >

a n a g e

jo b

m a n a g e r

< < in c lu d e > > M a n a g e T a s k m a n a g e r

M a n a g e

th e

re s o u r c e s

USE CASE DIAGRAM FOR JOB MANAGER

Job M anag er

M a n a g e T a s k M a n a g ew C li e n ts R e q u eS c sh e d u le T h e J o b s A ll o c a t e V M V ie r st

D e - a l lo c a te V M

USE CASE DIAGRAM FOR TASK MANAGER

i e

i v e

r fo

r m

V T a s k M a n a g e r

i e

t s

i e

l e

t e

SEQUENCE DIAGRAM FOR CLIENT REQUEST

C lie n t

C lo u d

D a taB as e s e rve r

r e q u e s t fo r r e g is t r a t i o n R e g is t r a t i o n fo r m E n t e r s r e q u i re d d e ta il s V a lid a t e s t h e d e t a ils

U p o n s u c c e s s

s to r e s in

d a ta b a s e

R e g is t r a t i o n s u c c e s s

SEQUENCE DIAGRM FOR CLIENT RESPONSE

C lie n t

C lo u d

D a ta B a s e s e rv e r

1 . R e q u e s t s L o g in p a g e 2 . L o g i n fo r m 3 .E n te rs u s e rn a m e & p a s s w o rd 4 .C h e c k s in d a ta b a s e

7 .u s e r a c c o u nt

6 . lo g i n s u c c e s s

5 . V a l id a t io n o f U s e r

8 .c o m p o s e re q u e s t 9 .s u b m it s th e r e q u e s t 1 0 . s t o r e i n r e q u e s t s t a b le

SEQUENCE DIAGRAM FOR ADMIN


A d m in D a ta B a s e S e rve r 1 . V ie w s 2 .S e n d s th e R e q u e s t s re q u e s ts d a t a M a n a g e r

3 . P e r fo r m s

S c h e d u li n g

o f re q u e s t s t o c o r re s p o n d in g m a n a g e r

4 .F o rw a rd s

r e q u e s ts

5 .V ie w

re q u e s t s

6 . P e rfo rm s

n e c c e s s a r y

c o m p u t a t io n

7 . P re p a re s 8 .S e n d s r e s u lt

p o s t d e t a ils

9 . V ie w

th e

re s p o n s e s

COLLABRATION DIAGRAM FOR CLIENT REQUEST

4 : V a l id a t e s t h e d e t a il s

1 : re q u e s t fo r re g i s t r a t i o n 3 : E n t e r s r e q u ir e d d e t a il s C li e n t 2 : R e g i s t r a t i o n fo r m 6 : R e g is tra tio n s u c c e s s C lo u d

5 : U p o n s u c c e s s s t o r e s in d a t a b a s e D a ta B a s e s e r ve r

COLLABRATION DIAGRAM FOR CLIENT RESPONSE

8 : c o m p o s e re q u e s t 1 : R e q u e s ts L o g in p a g e 3 : E n t e rs u s e rn a m e & p a s s w o rd 9 : s u b m its t h e re q u e s t C lie n t 2 : L o g in fo r m 7 : u s e r a c c o u n t C lo u d

6 : lo g in

s u c c e s s

5 : V a lid a tio n o f U s e r

4 : C h e c k s in d a ta b a s e 1 0 : s t o r e i n re q u e s t s ta b l e

D a ta B a s e s e rve r

COLLABRATION DIAGRAM FOR ADMIN

3 : P e rfo r m s S c h e d u lin g o f re q u e s t s 9 : V ie w t h e r e s p o n s e s

1 : V ie w s A d m in 2 : S e n d s th e

R e q u e s t s

D a ta B a s e S e rve r d a ta

re q u e s ts

4 : F o r w a rd s

re q u e s t s

to

c o rre s p o n d in g

a n a g e r

8 : S e n d s

re s u lt

5 : V ie w re q u e s ts 6 : P e rf o r m s n e c c e s s a r y c o m p u t a t io n 7 : P r e p a re s p o s t d e t a ils

a n a g e r

COLLABRATION DIAGRAM FOR CLIENT RESPONSE

4 : R e-c h e c k s re s p on c e s

2: c h e ck s re s p on ce s 6 : re-c h e c k s re s p on s e

1: s e n d s res p o ns e s 5 : s e n ds re s po ns e Ad m i n 3: re q u e s ts re s p o n ce if n o t fo u n d C l ien t

STATE CHART DIAGRAM

R e g is t e r

L o g in

C om pos e re q u e s t

S end Re que st

V ie w R es p ons es

Requ est re s p o n s e

Lo gout

ACTIVITY DIAGRAM

lo g in

A u t h e n t ic a t io n N o t A u t h e n t ic a t e d U s e r

A u t h e n t ic a t e d U s e r

V i e w C l ie n t R e u e s ts

C lie n t A d m in

V ie w t h e p ro f ile s

S c h e d u le s Task s

C om pos e R e qu es t

F o r w a r d s q u e ry to m a n a g e r

S ends Reques t

P o s t D e ta ils t o C li e n t

L og o ut

R e q u e s ts R es pons e

6. 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.

TYPES OF TESTS
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.

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.

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 Invalid Input Functions Output

: identified classes of valid input must be accepted. : identified classes of invalid input must be rejected. : identified functions must be exercised. : identified classes of application outputs must be exercised. : interfacing systems or procedures must be invoked.

Systems/Procedures

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.

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.

White Box Testing White Box Testing is a testing in which in which the software tester has knowledge of the inner workings, structure and language of the software, or at least its purpose. It is purpose. It is used to test areas that cannot be reached from a black box level.

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, 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.

6.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.

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.

6.2 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 mentioned above passed successfully. No defects
encountered.

6.3 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 mentioned above passed successfully. No defects encountered.

8. CONCLUSION
In this paper we have discussed the challenges and opportunities for efficient parallel data processing in cloud environments and presented Nephele, the first data processing framework to exploit the dynamic resource provisioning offered by todays IaaS clouds. We have described

Nepheles basic architecture and presented a performance comparison to the well-established data processing framework Hadoop. The performance evaluation gives a first impression on how the ability to assign specific virtual machine types to specific tasks of a processing job, as well as the possibility to automatically allocate/deallocate virtual machines in the course of a job execution, can help to improve the overall resource utilization and, consequently, reduce the processing cost. With a framework like Nephele at hand, there are a variety of open research issues, which we plan to address for future work. In particular, we are interested in improving Nepheles ability to adapt to resource overload or underutilization during the job execution automatically. Our current profiling approach builds a valuable basis for this, however, at the moment the system still requires a reasonable amount of user annotations. In general, we think our work represents an important contribution to the growing field of Cloud computing services and points out exciting new opportunities in the field of parallel data processing.

10. BIBLIOGRAPHY
Good Teachers are worth more than thousand books, we have them in Our Department

References Made From:


[1] Amazon Web Services LLC. Amazon Elastic Compute Cloud

(Amazon EC2). http://aws.amazon.com/ec2/, 2009. [2] Amazon Web Services LLC. Amazon Elastic Map Reduce. http://aws.amazon.com/elasticmapreduce/, 2009. [3] Amazon Web Services LLC. Amazon Simple Storage Service. http://aws.amazon.com/s3/, 2009. [4] D. Battre, S. Ewen, F. Hueske, O. Kao, V. Markl, and D. Warneke. Nephele/PACTs: A Programming Model and Execution Framework for Web-Scale Analytical Processing. In SoCC 10: Proceedings of the ACM Symposium on Cloud Computing 2010, pages 119130, New York, NY, USA, 2010. ACM. [5] R. Chaiken, B. Jenkins, P.-A. Larson, B. Ramsey, D. Shakib, S. Weaver, and J. Zhou. SCOPE: Easy and Efficient Parallel Processing of Massive Data Sets. Proc. VLDB Endow., 1(2):12651276, 2008. [6] H. chih Yang, A. Dasdan, R.-L. Hsiao, and D. S. Parker. Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters. In SIGMOD 07: Proceedings of the 2007 ACM SIGMOD International conference on Management of data, pages 10291040, New York, NY, USA, 2007. ACM. [7] M. Coates, R. Castro, R. Nowak, M. Gadhiok, R. King, and Y. Tsang. Maximum Likelihood Network Topology Identification from Edge-Based Unicast Measurements. SIGMETRICS Perform. Eval. Rev., 30(1):1120, 2002. [8] R. Davoli. VDE: Virtual Distributed Ethernet. Testbeds and Research Infrastructures for the Development of Networks & Communities, International Conference on, 0:213220, 2005. [9] J. Dean and S. Ghemawat. Map Reduce: Simplified Data Processing on Large Clusters. In OSDI04: Proceedings of the 6th conference on Symposium on Operating Systems Design & Implementation, pages 1010, Berkeley, CA, USA, 2004. USENIX Association. [10] E. Deelman, G. Singh, M.-H. Su, J. Blythe, Y. Gil, C. Kesselman, G. Mehta, K. Vahi,

G. B. Berriman, J. Good, A. Laity, J. C. Jacob, and D. S. Katz. Pegasus: A Framework for Mapping Complex Scientific Workflows onto Distributed Systems. Sci. Program., 13(3):219237, 2005. [11] T. Dornemann, E. Juhnke, and B. Freisleben. On-Demand Resource Provisioning for BPEL Workflows Using Amazons Elastic Compute Cloud. In CCGRID 09: Proceedings of the 2009 9thIEEE/ACM International Symposium on Cluster Computing and theGrid, pages 140147, Washington, DC, USA, 2009. IEEE Computer Society. [12] I. Foster and C. Kesselman. Globus: A Metacomputing Infrastructure Toolkit. Intl. Journal of Supercomputer Applications, 11(2):115128, 1997. [13] J. Frey, T. Tannenbaum, M. Livny, I. Foster, and S. Tuecke. Condor-G: A Computation Management Agent for Multi-Institutional Grids. Cluster Computing, 5(3):237246, 2002. [14] M. Isard, M. Budiu, Y. Yu, A. Birrell, and D. Fetterly. Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks.In EuroSys 07: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, pages 5972, New York, NY, USA, 2007. ACM. [15] A. Kivity. kvm: the Linux Virtual Machine Monitor. In OLS 07:The 2007 Ottawa Linux Symposium, pages 225230, July 2007. [16] D. Nurmi, R. Wolski, C. Grzegorczyk, G. Obertelli, S. Soman,L. Youseff, and D. Zagorodnov. Eucalyptus: A Technical Report on an Elastic Utility Computing Architecture Linking Your Programs to Useful Systems. Technical report, University of California, Santa Barbara, 2008.

Sites Referred: http://www.sourcefordgde.com http://www.networkcomputing.com/

http://www.almaden.ibm.com/software/quest/Resources/ http://www.computer.org/publications/dlib http://www.ceur-ws.org/Vol-90/ http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar=msnhome

Abbreviations:

OOPS TCP/IP CLR CLS

Object Oriented Programming Concepts Transmission Control Protocol/Internet Protocol Common Language Runtime Common Language Specification

Anda mungkin juga menyukai