Escolar Documentos
Profissional Documentos
Cultura Documentos
INTRODUCTION
1
1.1 Objective
The gateway communicates with the cloud service provider (CSP) for
allocating shared resources which are required for resolving the
mobile user’s request. Thereafter, connection is set up between the
mobile user and the cloud server through the interfacing gateway,
and, then, the mobile user is capacitated to use the resources of the
cloud servers. At this juncture, we mention that the words “node”,
“device”, and “user” are used interchangeably in the rest of the
manuscript.
2
1.2 ORGANIZATION PROFILE
SPEED:
They understand the importance of timing, of getting there
before the competition. A rich portfolio of reusable, modular
frameworks helps jump-start projects. Tried and tested methodology
ensures that we follow a predictable, low - risk path to achieve results.
Our track record is testimony to complex projects delivered within and
evens before schedule.
3
EXPERTISE:
Our teams combine cutting edge technology skills with rich
domain expertise. What’s equally important - they share a strong
customer orientation that means they actually start by listening to the
customer. They’re focused on coming up with solutions that serve
customer requirements today and anticipate future needs.
SERVICES:
Services providing its services to companies which are in the
field of production, quality control etc with their rich expertise and
experience and information technology they are in best position to
provide software solutions to distinct business requirements.
4
CHAPTER 2
LITERATURE SURVEY
5
1.A Dynamic Bandwidth Allocator for Virtual Machines in a Cloud
Environment
6
computing model even enables higher utilization rates while reducing
dedicated hardware costs.
8
residential and small business area has played an important role in
the evolution of access networks. Currently, Ethernet-base passive
optical networks (EPONs) are being considered as a promising
solution for the next generation broadband access network (known
also as the last mile access network) due to the convergence of low-
cost Ethernet equipment and low-cost of fiber infrastructure. A
passive optical network (PON) is a point-to-multipoint optical access
network with no active elements in the signal path from source to
destination. Here, all transmissions are performed between an optical
line terminal (OLT) and optical network units (ONUs).
The OLT resides in the central office (CO) and connects the
optical access network to the metropolitan area network (MAN) or
wide-area network (WAN). On the other hand, each ONU is usually
located at either the curb [i.e., fiber-to-the-curb (FTTC) solution] or the
end-user location [i.e., fiber-to-the-building (FTTB) and fiber-to-the-
home (FTTH)], and provides broadband video, data, and voice services.
An EPON is a PON that carries all data encapsulated in Ethernet
frames and is backward compatible with existing IEEE 802.3 Ethernet
standards, as well as other relevant IEEE 802 standards. Moreover,
Ethernet is an inexpensive technology that is ubiquitous and
interoperable with a variety of legacy equipment; a step forward in
making it most suitable for delivering Internet protocol (IP)-based
applications and multimedia traffic over PON.
9
different ONUs may still collide. Hence, access to the shared medium
must be arbitrated by medium access control (MAC) protocols to
prevent collisions between Ethernet frames of different ONUs
transmitting simultaneously.
10
and DBA schemes can be combined with priority scheduling and
queue management to implement a cost-effective EPON network with
differentiated services support.
11
Hot-spots, where a set of mobile terminals is connected to a
central access point, are emerging as a widespread application of this
standard. Nowadays, these kinds of systems are present in business
areas such as conference rooms or airport and hotel lounges, where
users are interested in easily and rapidly establishing a network
connection. Following such a wide diffusion of WLAN devices and
coverage availability, also the offered services are going to comprise a
broader set of applications, including audio, video and multimedia
services.
13
IEEE 802.11 multiple access within the network; to this end, we make
use of the ns-2 simulator which allows a direct and simple integration
of these issues.
16
Spectrum auction is essentially a problem of interference-
constrained resource allocation. Only a few papers have discussed
spectrum auctions under interference constraint, among which and
studied conflict-free spectrum allocation with high spectrum
efficiency.developed an auction-based spectrum sharing framework to
allow a single spectrum manager to share its spectrum with a group of
users, subject to the interference temperature constraint at the
measurement point, a requirement proposed by FCC in.
Based on the same model as, our work is among the relative
few that investigate the interference-constraint radio resource
allocation problem under the auction framework. Compared with
previous work we make the following key contributions: • Existing
auction mechanisms mainly focus on single- PU scenario with very
limited analytical and numerical studies on multiple-PU case.
20
The bandwidth allocation and network selection issues in
heterogeneous wireless access networks have been extensively studied
in previous works, however, the problem of bandwidth allocation
among multiple users with multiple types of services in heterogeneous
networks scenario has not been well studied, and few works consider
the joint optimization of network utility, load status and user
bandwidth allocation.
21
CHAPTER3
SYSTEM ANALYSIS
22
The Systems Development Life Cycle (SDLC), or Software
Development Life Cycle in systems engineering, information systems
and software engineering, is the process of creating or altering
systems, and the models and methodologies that people use to
develop these systems.
23
process that is, these issues are talked in the project management at
the surface level but not at the ground level.
3.1Existing System
The cloud servers provide resources on demand. To fulfill on-
demand request of real-time applications and computations,
bandwidth is an essential component that controls the rate of
transmission. It may happen that the cloud server provides real-time
services as per the request, but the mobile nodes are not able to
receive the service due to the lack of bandwidth. Moreover, the mobile
users demand a certain level of QoS provisioning in terms of delay,
jitter, response time, and reliability, while they use service from the
cloud. When a mobile device changes its location, the corresponding
gateway for maintaining the connectivity with the cloud also changes.
Therefore, the aggregated bandwidth requirement for the gateway also
changes, which creates the necessity of bandwidth shifting, provided
the previous allocation was optimal. Further, bandwidth shifting alone
is insufficient for maintaining QoS while maximizing the revenue of
each gateway. It happens due to the variation in the spectral efficiency
across channels, and the communication protocols across devices.
Disadvantages:
3.2Proposed System:
In this paper, we address the problems of bandwidth shifting and
redistribution resulting from varying demand from gateways. It is
pertinent to clarify at this juncture that the bandwidth redistribution
problem differs from the traditional bandwidth allocation problem in
that, a while the former concerns allocating proportional bandwidth to
all the gateways (and, in turn, to the users), even if only a few
24
gateways change their bandwidth demand, the latter concerns
allocating bandwidth to that gateways who have changed the
bandwidth demand. A schematic view of mobile cloud architecture is
shown in Fig. 1. We do not consider the bandwidth allocation process
between gateways and mobile nodes. We assume that the CSP is
authorized for bandwidth shifting and allocation, and these functions
are performed for the gateways only. In this work, we consider QoS-
guarantee in terms of service delay.
Advantages:
25
Mobile Cloud Network Model:
Bandwidth shifting:
We consider a mobile cloud network. It may be stressed that the
nodes are mobile in such environment. In this section, we
theoretically prove that node mobility triggers the necessity of
bandwidth shifting, if the cloud server does not have any unused
reserved bandwidth for future use. Subsequently, we prove that
bandwidth shifting alone is not always sufficient for providing QoS-
guarantee.
Bandwidth redistribution:
We design an utility function for computing the overall benefit of
each interfacing gateway. The utility function of the gateway depends
on the service it provides to the mobile nodes and the bandwidth it
buys for providing the services. Each gateway pays certain price for
getting the required bandwidth from the CSP. On the other hand, each
26
gateway charges certain amount of revenue from the mobile nodes for
providing the services to them. Additionally, the gateway demands an
extra charge from the mobile nodes for assuring the QoS in terms of
service delay. Taking into account the above three factors contributing
to the gateway utility.
27
3.5 System Architecture
Fig.3.5System Architecture
Technical Feasibility
Operational Feasibility
Economical Feasibility
28
3.6.1 ECONOMIC FEASIBILITY
Proposed projects are beneficial only if they can be turned out into
information system. That will meet the organization’s operating
requirements. Operational feasibility aspects of the project are to be
taken as an important part of the project implementation. Some of the
important issues raised are to test the operational feasibility of a
project includes the following: -
29
The well-planned design would ensure the optimal utilization of the
computer resources and would help in the improvement of
performance status.
Intangible benefits
Improve morale
Improve decision making
Improve efficiency
Reduce mental errors
Improve concentration
Improve time management
Improves the productivity of process and personnel
Lowering the cost of products and services purchased
Paper and postage cost reductions
Inventory reduction
Lead time reduction
Reduced stock obsolescence
Faster product / service look-up and ordering saving time and
money
Payback Period:
31
Calculated as: Payback Period = Cost of Project / Annual Cash
Inflows
All other things being equal, the better investment is the one
with the shorter payback period. In This project, if this project costs
$100,000 and is expected to return $20,000 annually, the payback
period will be $100,000/$20,000, or five years. There are two main
problems with the payback period method:
1. It ignores any benefits that occur after the payback period and,
therefore, does not measure profitability.
2. It ignores the time value of money.
32
interleaved (Spiral, incremental, prototype based, Rapid Application
development). - Incremental Model (Waterfall in iteration), -
RAD(Rapid Application Development) - Focus is on developing quality
product in less time, - Spiral Model - We start from smaller module
and keeps on building it like a spiral. It is also called Component
based development. * Formal systems development - A
mathematical system model is formally transformed to an
implementation. * Agile Methods. - Inducing flexibility into
development. * Reuse-based development - The system is assembled
from existing components.
SDLC Methodology:
Spiral Model
The spiral model is similar to the incremental model, with
more emphases placed on risk analysis. The spiral model has four
phases: Planning, Risk Analysis, Engineering and Evaluation. A\
software project repeatedly passes through these phases in iterations
(called Spirals in this model). The baseline spiral, starting in the
planning phase, requirements is gathered and risk is assessed. Each
subsequent spirals builds on the baseline spiral. Requirements are
gathered during the planning phase. In the risk analysis phase, a
process is undertaken to identify risk and alternate solutions. A
prototype is produced at the end of the risk analysis phase. Software
33
is produced in the engineering phase,along with testing at the end of
the phase. The evaluation phase allows the customer to evaluate the
output of the project to date before the project continues to the next
spiral. In the spiral model, the angular component represents
progress, and the radius of the spiral represents cost. Spiral Life Cycle
Model.
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.
34
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 customer’s judgment,
result in a less-than-satisfactory 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.
35
Fig3.7 -Spiral Model
Advantages
36
CHAPTER 4
SYSTEM REQUIREMENTS SPECIFICATION
37
Introduction
38
satisfy a product requirement. For example, a maximum development
cost requirement (a process requirement) may be imposed to help
achieve a maximum sales price requirement (a product requirement);
a requirement that the product be maintainable (a Product
requirement) often is addressed by imposing requirements to follow
particular development styles
PURPOSE
An systems engineering, a requirement can be a description
of what a system must do, referred to as a Functional Requirement.
This type of requirement specifies something that the delivered system
must be able to do. Another type of requirement specifies something
about the system itself, and how well it performs its functions. Such
requirements are often called Non-functional requirements, or
'performance requirements' or 'quality of service requirements.'
Examples of such requirements include usability, availability,
reliability, supportability, testability and maintainability.
Usability
Reliability
Performance
Supportability
40
The system is implemented in web environment using struts
framework. The apache tomcat is used as the web server and windows
xp professional is used as the platform.
41
CHAPTER 5
PROJECT DESIGN
42
5.1 Introduction
The purpose of the design phase is to plan a solution of the
problem specified by the requirement document. This phase is the
first step in moving from the problem domain to the solution domain.
In other words, starting with what is needed, design takes us toward
how to satisfy the needs. The design of a system is perhaps the most
critical factor affection the quality of the software; it has a major
impact on the later phase, particularly testing, maintenance. The
output of this phase is the design document. This document is
similar to a blueprint for the solution and is used later during
implementation, testing and maintenance. The design activity is often
divided into two separate phases System Design and Detailed Design.
5.3 Scenarios
45
A Use case contains all the events that can occur between an actor
and a set of scenarios that explains the interactions as sequence of
happenings.
Actors
Actors represent external entities that interact with the system. An
actor can be human or external system.
Actor are not part of the system. They represent anyone or anything
that interact with the system.
An Actor may
User:
User is an actor who uses the system and who performs the
operations like data classifications and execution performance that
are required for him.
Use Cases:
Use cases are used during requirements elicitation and analysis to
represent the functionality of the system. Use case focus on the
behaviour of the system from an external point of view. The
identification of actors and use cases results in the definition of the
boundary of the system , which is , in differentiating the tasks
accomplished by the system and the tasks accomplished by its
environment. The actors are outside the boundary of the system ,
where as the use cases are inside the boundary of the system.
46
Run Bank Application
USER
Performance graph
Description: In this use case the user run the bank application ,run
and view the mobile nodes, request is sent to different gateways,
gateways communicates with mobile cloud server provider ,and
bandwidth is estimated by csp , time and cost is also estimated,
analyze the best gateway by performance graph.
47
Class Diagrams are used to describe the structure of
the system. Classes are abstractions that specify the common
structure and behaviour of a set of objects. Objects are instances of
classes that are created , modified and destroyed during the execution
of a system. An object has state that includes the values of its
attributes and links with other objects.
The class diagram is used to refine the use cases diagrams and define
a detailed design of the system. The class diagram classifies the actors
defined in the use case diagram into a set of interrelated classes. The
relationship or association between the classes can be either an "is-a"
or "has-a" relationship. Each class in the class diagram may be
capable of providing certain functionalities. These functionalities
provided by the class are termed "methods" of the classes. Apart from
this , each class may have certain "attributes" that uniquely indentify
the class. In the class diagram these classes are represented with
boxes which contain three parts..
48
5.3.3 Dynamic model
5.3.3.1 Sequence Diagram
Sequence diagrams are used to formalize the dynamic behaviour
of the system and to visualize the communication among the objects.
They are useful for identifying the additional objects that participate
in the use case. Sequence diagram represent the objects participating
in the interaction horizontally and time vertically.
Sequence diagrams typically show a user or actor and the
objects and the components they interact with the execution of the
use case. Each column represent an objects that participate in the
interaction. Message is shown by solid arrows. Labels on the solid
arrows represent the message names. Activations are depicted by
vertical rectangles. The actor who initiates the interaction is shown in
the left most columns . The messages coming from the actor represent
the interactions described in the use case diagrams.
User Bank App Run and View mobile nodes Send request View Request view gateways bandwidth by cloud server Receives requested data Performane graph choose best gateways
5 : To View Gateways()
6 : To view bandwidth()
49
bandwidth by cloud server
Send request View Request
6 : To view bandwidth()
4 : To View the request()
3 : Sending the request()
Receives requested data
2 : To run and view mobile nodes()
view gateways
Description: User run the bank application, send request, view the
best gateway by performance graph, receive the requested data.
Description: Run Bank Application , run and view mobile nodes, send
request from different locations, bandwidth estimated by csp, view
bandwidth used and request and analyze gateway cost, view the utility
select best gateway.
51
Run bank application
52
Component Diagram:
CloudServiceProvider GateWay
USER
Deployment Diagram:
send request
performannce graph
view gates
system
53
5.4ERDiagram:
54
CHAPTER 6
SOFTWARE DESCRIPTION
55
56
6.1 Introduction
Implementation is the stage where the theoretical design is
turned in to working system. The most crucial stage is achieving a
new successful system and in giving confidence on the new system for
the users that it will work efficiently and effectively.
Java APIs are libraries of compiled code that you can use in your
programs. They let you add ready-made and customizable
functionality to save you programming time.Java programs are run (or
58
interpreted) by another program called the Java Virtual Machine.
Rather than running directly on the native operating system, the
program is interpreted by the Java VM for the native operating
system. This means that any computer system with the Java VM
installed can run Java programs regardless of the computer system on
which the applications were originally developed.
59
In the Java programming language, all source code is first written in
plain text files ending with the .java extension. Those source files are
then compiled into .class files by the javac compiler. A .class file does not
contain code that is native to your processor; it instead contains
bytecodes — the machine language of the Java Virtual Machine 1 (Java
VM). The java launcher tool then runs your application with an
instance of the Java Virtual Machine.
60
Fig 6.4.2 program on multiple platfroms
Servlet and JSP technology has become the technology of choice for
developing online stores, interactive
A Servlet’s Job
Servlets are Java programs that run on Web or application servers,
acting as a middle layer between requests coming from Web browsers
or other HTTP clients and databases or applications on the HTTP
server. Their job is to perform the following tasks,
as illustrated in Figure 1–1.
61
Fig 6.1.3 The role of web middleware
62
5. Send the implicit HTTP response data.
Figure 1–1 shows a single arrow going from the Web middle layer (the
servlet or JSP page) to the client. But, there are really two varieties of
data sent: the document itself and the behind-the-scenes HTTP
information. Again, both varieties are critical to effective development.
Sending HTTP response data involves telling the browser or other
client what type of document is being returned (e.g., HTML), setting
cookies and caching parameters
Convenient
Servlets have an extensive infrastructure for automatically
parsing and decoding HTML form data, reading and setting HTTP
63
headers, handling cookies, tracking sessions, and many other such
high-level utilities. In CGI, you have to do much of this yourself.
Besides, if you already know the Java programming language, why
learn Perl too? You’re already convinced that Java technology makes
for more reliable and reusable code than does Visual Basic, VBScript,
or C++. Why go back to those languages for server-side programming?
Powerful
Servlets support several capabilities that are difficult or
impossible to accomplish with regular CGI. Servlets can talk directly
to the Web server, whereas regular CGI programs cannot, at least not
without using a server-specific API. Communicating with the Web
server makes it easier to translate relative URLs into concrete path
names, for instance. Multiple servlets can also share data, making it
easy to implement database connection pooling and similar resource-
sharing optimizations. Servlets can also maintain information from
request to request, simplifying techniques like session tracking and
caching of previous computations.
Portable
Servlets are written in the Java programming language and
follow a standard API. Servlets are supported directly or by a plug-in
on virtually every major Web server. Consequently, servlets written
for, say, Macromedia Run can run virtually unchanged on Apache
Tomcat, Microsoft Internet Information Server (with a separate plug-
in), IBM Web Sphere, planet Enterprise Server, Oracle9i AS, or Star
Nine Webster. They are part of the Java 2 Platform, Enterprise Edition
(J2EE; see http://java.sun.com/j2ee/), so industry support for
servlets is becoming even more pervasive.
Inexpensive
A number of free or very inexpensive Web servers are good for
development use or deployment of low- or medium-volume Web sites.
64
Thus, with servlets and JSP you can start with a free or inexpensive
server and migrate to more expensive servers with high-performance
capabilities or advanced administration utilities only after your project
meets initial success. This is in contrast to many of the other CGI
alternatives, which require a significant initial investment for the
purchase of a proprietary package. Price and portability are somewhat
connected. For example, Marty tries to keep track of the countries of
readers that send him questions by email. India was near the top of
the list, probably #2 behind the U.S. Marty also taught one of his JSP
and servlet training courses (see http://courses.coreservlets.com/) in
Manila, and there was great interest in servlet and JSP technology
there. Now, why are India and the Philippines both so interested? We
surmise that the answer is twofold. First, both countries have large
pools of well-educated software developers.
65
becomes even bigger, they might move it off of their Linux box and
onto an IBM mainframe running IBM Web- Sphere. But once again,
none of their servlets or JSP pages have to be rewritten
Secure
There are a lot of good technologies out there. But if vendors don’t
support them and developers don’t know how to use them, what good
are they? Servlet and JSP technology is supported by servers from
Apache, Oracle, IBM, Sybase, BEA, Macromedia, Caucho, Sun/planet,
New Atlanta, ATG, Fujitsu, Ultras, Silver stream, the World Wide Web
Consortium (W3C), and many others. Several low-cost plugins add
support to Microsoft IIS and Zeus as well. They run on Windows,
66
Unix/Linux, Maces, VMS, and IBM mainframe operating systems.
They are the single most popular application of the Java programming
language. They are arguably the most popular choice for developing
medium to large Web applications. They are used by the airline
industry (most United Airlines and Delta Airlines Web sites), e-
commerce (ofoto.com), online banking (First USA Bank, Blanco
Popular de Puerto Rico), Web search engines/portals (excite.com),
large financial sites (American Century Investments), and hundreds of
other sites that you visit every day. Of course, popularity alone is no
proof of good technology. Numerous counter-examples abound. But
our point is that you are not experimenting with a new and unproven
technology when you work with server-side Java.
67
together. JSP is focused on simplifying the creation and maintenance
of the HTML. Servlets are best at invoking the business logic and
performing complicated operations. A quick rule of thumb is that
servlets are best for tasks oriented toward processing, whereas JSP is
best for tasks oriented toward presentation. For some requests,
servlets are the right choice. For other requests, JSP is a better option.
For still others, neither servlets alone nor JSP alone is best, and a
combination of the two (see Chapter 15, “Integrating Servlets and JSP:
The Model View Controller (MVC) Architecture”) is best. But the point
is that you need both servlets and JSP in your overall project: almost
no project will consist entirely of servlets or entirely of JSP. You want
both.
68
CHAPTER 7
SYSTEM TESTING
69
7.1 TEST PLANS
A test plan is a general document for the entire project that
defines the scope, approach to be taken, and the schedule of testing
as well as identifies the test items for the entire testing process and
the person responsible for the different activities of testing.
The test planning can be done well before the actual testing
commences and can be done in parallel with the coding and design
phases. The inputs for forming the test plan are: (1) project plan (2)
requirements document and (3) system design document. The project
plan is needed to make sure that the test plan is consistent with the
overall plan for the project and the testing the test plan is consistent
with the overall plan for the project and the testing schedule matches
that of the project plan.
70
specified for unit integration, and system testing. The identification of
test units may be a module, a few modules or a complete system. The
levels are specified in the test plan by identifying the test units for the
project.
The basic idea behind forming test units is to make sure that
testing is being performed incrementally, with each increment
including only a few aspects that need to be tested. A unit should be
such that it can be easily tested.
71
7.1.1 BOTTOM-UP TESTING:
72
This process continuous from step 2 until entire program
structure is reached. In top down integration strategy decision making
occurs at upper levels in the hierarchy and is encountered first. If
major control problems do exists early recognitions is essential.
73
Specification-based testing is necessary, but it is insufficient to guard
against certain risks.
A test case is a set of input data and an expected result that exercises
the component with the purpose of causing failures and detecting
faults. Test cases are classified into black box test and white box test.
Black box test focus on input/output behavior of the component.
White box test focus on internal structure of the components.
ADMIN Login:
TEST CASE CONDITIONS EXPECTED OBSERVED STATUS
BEING BEHAVIOUR BEHAVIOUR
CHECKED
User Check validation Display a Display a Pass
name=”XYZ” message message
wrong user wrong user
name name
75
Password=” “ Existence of Display a Display a pass
mandatory fields message to message to fill
fill all empty all empty man
man datary datary fields
fields
User Existence of If valid user it If valid user it pass
name=”XYZ” man datary displays displays home
Password=”123” fields home page page else error
else error message
message
Integration Testing
Integration testing is any type of software testing that seeks to verify
the interfaces between components against a software design.
Software components may be integrated in an iterative way or all
together ("big bang"). Normally the former is considered a better
practice since it allows interface issues to be localised more quickly
and fixed.
System Testing
System testing tests a completely integrated system to verify that it
meets its requirements.
Regression Testing
77
regressions, or old bugs that have come back. Such regressions occur
whenever software functionality that was previously working correctly
stops working as intended. Typically, regressions occur as an
unintended consequence of program changes, when the newly
developed part of the software collides with the previously existing
code. Common methods of regression testing include re-running
previously run tests and checking whether previously fixed faults have
re-emerged. The depth of testing depends on the phase in the release
process and the risk of the added features. They can either be
complete, for changes added late in the release or deemed to be risky,
to very shallow, consisting of positive tests on each feature, if the
changes are early in the release or deemed to be of low risk.
Acceptance testing
Acceptance testing can mean one of two things:
Alpha testing
Alpha testing is simulated or actual operational testing by potential
users/customers or an independent test team at the developers' site.
Alpha testing is often employed for off-the-shelf software as a form of
internal acceptance testing, before the software goes to beta testing.
Beta testing
Beta testing comes after alpha testing. Versions of the software,
known as beta versions, are released to a limited audience outside of
the programming team. The software is released to groups of people so
78
that further testing can ensure the product has few faults or bugs.
Sometimes, beta versions are made available to the open public to
increase the feedback field to a maximal number of future users.
Performance testing
Security testing
Security testing is essential for software that processes confidential
data to prevent system intrusion by hackers.
Smoke Testing:
The term “smoke testing” is used in several different contexts. Often,
people use it to refer to a test of a system such as a vacuum system or
plumbing system, in which smoke is literally forced through the
system to look for leaks and other problems. This term can also be
used metaphorically when talking about testing other things, usually
in the sense of a quick test conducted to confirm that the system
being tested is operational, even if it only functions on a very basic
level.
Database Testing:
Data base testing basically include the following.
1) Data validity testing.
2) Data Integritity testing
3) Performance related to database.
4) Testing of Procedure triggers and functions.
For doing data validity testing you should be good in SQL queries.
For data integrity testing you should know about referintial integrity
and different constraint.
For performance related things you should have idea about the table
structure and design.
80
81
CHAPTER 8
CONCLUSION
82
8.1 Limitations
1. Bandwidth shifting is not efficient.
2. All customers are not getting the quality of services.
3. Insufficient distribution of bandwidth details.
8.2 Conclusion:
we have identified and addressed the problem of bandwidth shifting
and redistribution in an MCC environment. The bandwidth
redistribution problem differs from traditional bandwidth allocation
problem in that while the former concerns allocating proportional
bandwidth to all the gateways (and, in turn, to the users), even if only
a few gateways change their bandwidth demand, the latter concerns
allocating bandwidth to that gateways who have changed the
bandwidth demand. We have proposed an auction-based QoS-
guaranteed utility maximization algorithm for maximizing the revenue
of each gateway, while it maintains QoS of mobile nodes by
purchasing bandwidth from the service provider.
83
CHAPTER9
BIBLIOGRAPHY
84
Good Teachers are worth more than thousand books, we have them in
Our Department
85
6. P. Chaikijwatana and T. Tachibana, “VCG Auction-Based
Bandwidth Allocation with Network Coding in Wireless
Networks,” Proc. 10th WSEAS Int’l Conf. Applied Computer and
Applied Computational Science, pp. 104-109, 2011.
7. L. Chen, S. Iellamo, M. Coupechoux, and P. Godlewski, “An
Auction Framework for Spectrum Allocation with Interference
Constraint in Cognitive Radio Networks,” Proc. IEEE INFOCOM,
pp. 1-9, 2010.
8. L. Chen, B. Wang, X. Chen, X. Zhang, and D. Yang, “Utility-
Based Resource Allocation for Mixed Traffic in Wireless
Networks,” Proc. IEEE INFOCOM, pp. 91-96, 2011.
9. Y. Chen, Y.Wu, B.Wang, and K.J.R. Liu, “SpectrumAuction
Games for Multimedia Streaming over Cognitive Radio
Networks,” IEEE Trans. Comm., vol. 58, no. 8, pp. 2381-2390,
Aug. 2010.
10. S. Das, S. Misra, M. Khatua, and J.J.P.C. Rodrigues, “Mapping
of Sensor Nodes with Servers in a Mobile Health-Cloud
Environment,” Proc. IEEE 15th Int’l Conf. E-Health Networking,
Application and Services, Oct. 2013.
86
CHAPTER - 10
APPENDIX
87
10.1 SAMPLE CODE
package com.qosmce.locationmaputils;
}
package com.qosmce.locationmaputils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
88
public String bestGateNumber(List<GatewayBean> listsBeans) {
// listsBeans = new ArrayList<GatewayBean>();
int requestCount = 100;
float bandwidth = 100;
String returnType="";
float cost = 100;
long nanoSecs = 1000000;
String requestCountString = "";
String bandwidthString = "";
String costString = "";
String nanoSecsString = "";
this.listsBeans = listsBeans;
// GatewayBean gatewayBean = new GatewayBean();
// gatewayBean.setRequestCount(3);
// gatewayBean.setCost(1.50f);
// gatewayBean.setNanoSecs(79200);
// gatewayBean.setBandwidth(9.25f);
// listsBeans.add(gatewayBean);
// gatewayBean = new GatewayBean();
// gatewayBean.setRequestCount(3);
// gatewayBean.setCost(1.38f);
// gatewayBean.setNanoSecs(74880);
// gatewayBean.setBandwidth(9.54f);
// listsBeans.add(gatewayBean);
// gatewayBean = new GatewayBean();
// gatewayBean.setRequestCount(4);
// gatewayBean.setCost(2.77f);
// gatewayBean.setNanoSecs(66960);
// gatewayBean.setBandwidth(2.31f);
// listsBeans.add(gatewayBean);
89
.getRequestCount();
requestCountString = "" + (j + 1);
}
if(bandwidth>((GatewayBean)
listsBeans.get(j)).getBandwidth()) {
bandwidth=((GatewayBean)
listsBeans.get(j)).getBandwidth();
bandwidthString = "" + (j + 1);
}
if(cost>((GatewayBean)listsBeans.get(j)).getCost()) {
cost=((GatewayBean)istsBeans.get(j)).getCost();
costString = "" + (j + 1);
}
if(nanoSecs>((GatewayBean)
listsBeans.get(j)).getNanoSecs()) {
nanoSecs=((GatewayBean)
listsBeans.get(j)).getNanoSecs();
nanoSecsString = "" + (j + 1);
}
}
90
}
}
return returnType;
// }
}
}
/*
* InfraStructureControlerStructure.java
*
* Created on __DATE__, __TIME__
*/
package com.qosmce.cloudservice.provider;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.qosmce.listiterator.ArrayStringListIterator;
/**
*
* @author __USER__
*/
public class CloudServiceProvider extends javax.swing.JFrame {
91
/** Creates new form InfraStructureControlerStructure */
public CloudServiceProvider() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the
form.
* WARNING: Do NOT modify this code. The content of this method is
always
* regenerated by the Form Editor.
*/
//GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
92
jLabel2.setText("Available Services");
jTable1.setModel(new javax.swing.table.DefaultTableModel(
newObject[][]{{null,null,null},{null,null,null},{null, null, null }, {
null, null, null } },
newString[]{"MobileNodes","IPV6","Locations" ));
jScrollPane1.setViewportView(jTable1);
jTabbedPane1.addTab("MobileNodes", jScrollPane1);
jTable2.setModel(new javax.swing.table.DefaultTableModel(
newObject[][]{{null,null,null},{null,null, null },
{ null, null, null }, { null, null, null } },
newString[]
{"GatewayName","IPv6",GatewayLocation" }));
jScrollPane2.setViewportView(jTable2);
jTabbedPane1.addTab("Gateways", jScrollPane2);
jTable3.setModel(new javax.swing.table.DefaultTableModel(
newObject[][]{{"WebServer","Tomcat"},{null,null },
{null,null},{null,null}},newString[]{ServerType", "ServerName" }));
jScrollPane3.setViewportView(jTable3);
jTabbedPane1.addTab("AppServers", jScrollPane3);
jTable4.setModel(new javax.swing.table.DefaultTableModel(
new Object[][] {{"Oracle10G","Local"},{null,null},
{ null, null }, { null, null } }, new String[] {
"DatabaseServer", "Location" }));
jScrollPane4.setViewportView(jTable4);
jTabbedPane1.addTab("Databases", jScrollPane4);
jTable6.setModel(new javax.swing.table.DefaultTableModel(
new Object[][] {{ "SAN(StorageAreaNetwork)",
"DBservers,AppServers,EmailServers,WebServers" },
{"LAN(LocalAreaNetworks)","Offices,Colleges,Branches" },
{"MAN(MetroAreaNetworks)","Connected with MetroArea Networks" },
{"WAN(WideAreaNetwork)","Conneted with Global Area NetWorks" } },
new String[] { "NetworkType", "ConnectionAreas" }));
jScrollPane6.setViewportView(jTable6);
jTabbedPane1.addTab("Networks", jScrollPane6);
jTable5.setModel(new javax.swing.table.DefaultTableModel(
new Object[][] {
{ "AppServers","Accoding To Networks Architectures" },
93
{ "DatabaseServers","Accoding To Networks Architectures" },
{ "LocationServers","Accoding To Networks Architectures" },
{ "Ecenters","Accoding To Networks Architectures" },
{ "ED", "Accoding To Networks Architectures" },
{ "VCD", "Accoding To Networks Architectures" },
{ "NetworkElemets","Accoding To Networks Architectures" },
{ "VMwares","Accoding To Networks Architectures" },
{ "PCs", "Accoding To Networks Architectures" },
{ "MobileNodes","Accoding To Networks Architectures" },
{ "Switches","Accoding To Networks Architectures" },
{ "Routers","Accoding To Networks Architectures" },
{ "EmailServers","Accoding To Networks Architectures" },
{ "GatewayServers","Accoding To Networks Architectures" } },
new String[] { "ObjectsName", "ObjectLocation" }));
jScrollPane5.setViewportView(jTable5);
jTabbedPane1.addTab("ObjectsStorages", jScrollPane5);
org.jdesktop.layout.GroupLayoutlayout=new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING).add(layout
.createSequentialGroup().add(layout.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING).add(layout.createSequentialGr
oup().addContainerGap().add(jTabbedPane1,org.jdesktop.layout.
GroupLayout.DEFAULT_SIZE,603,Short.MAX_VALUE)).add(layout.createSe
quentialGroup().add(23,23,23).add(jLabel2)).add(layout.createSequentialGr
oup().add(100, 100, 100).add(jLabel1))).addContainerGap()));
layout.setVerticalGroup(layout.createParallelGroup(org.jdesktop
.
layout.GroupLayout.LEADING).add(layout.createSequentialGroup().add(28,
28,28).add(jLabel1).add(18,18,18).add(jLabel2).addPreferredGap(
org.jdesktop.layout.LayoutStyle.UNRELATED).add(jTabbedPane1,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,219,Short.MAX_VALUE).
addContainerGap()));
94
pack();
}// </editor-fold>
//GEN-END:initComponents
/**
* @param args
* the command line arguments
*/
public static void main(String args[]) {
CloudServiceProviderinfraStructureControlerStructure=new
CloudServiceProvider();
infraStructureControlerStructure.setVisible(true);
boolean flag = true;
List<String> mobilenodedetails = new ArrayList<String>();
List<String> gatewayDetails = new ArrayList<String>();
try {
DatagramSocket ds = new DatagramSocket(11111);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, 1024);
while (true) {
ds.receive(dp);
String str = new String(dp.getData(), 0,
dp.getLength());
if (str.contains("Gateway"))
{
gatewayDetails.add(str);
infraStructureControlerStructure.gatewaydetails = str;
infraStructureControlerStructure.jTable2.setModel(new
javax.swing.table.DefaultTableModel(new ArrayStringListIterator()
.convertGateWayArray(gatewayDetails),newString[] { "GatewayName",
"IPv6",
"GatewayLocatio
n" }));
// flag =
true;
} else if (str.contains("MobileNode")) {mobilenodedetails.add(str);
95
infraStructureControlerStructure.jTable1.setModel(new
javax.swing.table.DefaultTableModel(new ArrayStringListIterator()
.co
nvertGateWayArray(mobilenodedetails),newString[]{"MobileNodes", "IPV6",
"Locations" }));
infraStructureControlerStructure.mobileuserdetails = str;
try {
DatagramSocket dst = new
DatagramSocket();
String strs = infraStructureControlerStructure.mobileuserdetails
+ "---->"+ infraStructureControlerStructure.gatewaydetails
+ "--->CloudServiceProvider---->"+ "ControllerServer---->"
+ "ApplicationServer(Tomcat)";
InetAddress ip = InetAddress.getByName("127.0.0.1");
DatagramPacket dpt = new DatagramPacket(strs.getBytes(), strs.length(),
ip, 22222);
dst.send(dpt);
}
catch (Exception e) {
System.out.println(e);
}
}
}
} catch (Exception e) {
System.out.println("Exception@ Cloud Servevice
Providers");
}
}
//GEN-BEGIN:variables
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
96
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTable jTable2;
private javax.swing.JTable jTable3;
private javax.swing.JTable jTable4;
private javax.swing.JTable jTable5;
private javax.swing.JTable jTable6;
// End of variables declaration//GEN-END:variables
97
10.2 SCREEN SHOTS
Description: A sample system for the user to find the best gateway in
process used by registering from different locations
98
Fig 2: This shows the infrastruture controller
99
Fig 3: Clould service provider
Description: This above screen shot shows the cloud service provider
wher we can see the mobile nodes connected , gateways
communicated , application server used.
100
Fig 4: Mobile gateway server1
101
Fig 5: Mobile gateway server2
Description: Gateway server shows the bandwith details , request
details mobile nodes connected after execution of user application
program for a specific url from a different locations
102
Fig 6:Mobile gateway server3
Description: Gateway server shows the bandwith details , request
details mobile nodes connected after execution of user application
program for a specific url from a different locations
103
Fig 7: cloud service provider
104
Fig : 8 cloud service provider
105
Fig:9 cloud service provider displaying database
106
Fig:10 cloud service provider displaying networks
107
Fig:11 cloud service provider displaying object storages
108
Fig:12 Mobile user windows
109
Fig:13 Ifrastructure controller window
Desription:infrastruture controller shows the service logs of the user
requests.
110
Fig:14 cloud service provider displaying Mobile nodes
Description: After the execution of the mobile sensor of user program
by taking from different locations ,means user comuunicating from
different positions , request through gateways are appeared,
displaying mobile nodes.
111
Fig:15 Mobile gateway server showing mobile users conneted
112
Fig:16 Mobile gateway server showing mobile users conneted
113
Fig:17 Mobile gateway server showing mobile users conneted
114
Fig:18 Mobile user window showing mobile users used applications
115
Fig:19 Infrastructure servise logs
116
Fig:20 Mobile gateway server request details
117
Fig:21 Mobile gateway server request details
118
Fig:22 Mobile gateway server Bandwidth details
119
Fig:24 Gateway text
120
Fig:25 Bandwidth results
121
Fig:26 Bandwidth results
122
Fig:27Bandwidth results for gateway3
123
Fig:28 Best Gateway
124
Fig:29Bandwidth results for nash equilibrium
125
126
Fig:30Bandwidth bar chart
127
Fig:31 Cost bar chart
128
Fig:32 Time bar chart
Description: Shows time requirement of each gateway according to
requests
129
Fig:33 request bar chart
130
CHAPTER - 11
PUBLISHED PAPER
131
ENHANCING SERVICE PROVISIONING
ACCURACY USING VM MIGRATION AND
NASH EQUILIBRIUM
ABSTRACT:
132
I.INTRODUCTION
Cloud computing is also known as utility based computing.
Cloud provides the services based on pay per use manner revenue
generation. All large scale enterprises prefer the clouds to provide the
services to customers.
133
QOS requirements. These new allocation schemes ensure to provide
equal expected access delay, fair allocation, guaranteed bandwidth,
and service differentiation. It cannot control all failures because of
insufficient resource.
134
Fig1: Example Mobile Cloud Computing Architecture
IV.PROPOSED METHODOLOGY:
To improve the quality of service (QOS) when serving a mobile
device, one solution is to shorten the transmission delay between the
cloud server and mobile device. New implementation is use a server
physically close to mobile device, and then takes processing time is
less. One server is not handle automatically its can send to other
servers. This is feature of VM migration process. All locations of
mobile devices requests can receive by the VM. One VM cannot have
sufficient bandwidth, requests are migrated to cloud server. In cloud
server dynamically choose another VM which is nearest. Anyway
finally all mobile users’ requests are processing and provide the
services with less access delay and data delivery delay. VM Migration
135
can improve the cloud performance. VM migration can provide the
load balancing solution also.
136
8. Using multiple queues schedule the requests without any
traffic.
V.ALGORITHM
Nash Auction Equilibrium Algorithm:
Nash Auction equilibrium checks the match in between lowest asks
value and highest bid value.
Pseudo code:
Input: List of virtual machines and job lists.
Output: allocated job list
Step1: allocated job list set as a empty
Step2: user agent determines their bid value
Step3: initialize ask matrix is empty
Step4: identify matched vms
Step5: average jobs allocated into different virtual machines.
138
VIII.REFERENCES
1. A. Amamou, M. Bourguiba, K. Haddadou, and G. Pujolle, “A
Dynamic Bandwidth Allocator for Virtual Machines in a Cloud
Environment,” Proc. IEEE Consumer Comm. and Networking
Conf., pp. 99-104, Jan. 2012.
AUTHORS PROFILE:
140