Sei sulla pagina 1di 41

1.

INTRODUCTION

RESILIENCE of P2P networks under random user arrival and departure (i.e., churn) has recently become an active research area [15][20], [22], [32]. One of the primary metrics of resilience is graph disconnection during which a P2P network partitions into several nontrivial sub graphs and starts to offer limited service to its users. However, as shown in [19], most partitioning events in well-connected P2P networks are single-node isolations, which occur when the immediate neighbors of a node fail before is able to detect their departure and then replace them with other alive users. For such networks, node isolation analysis has become the primary method for quantifying network resilience in the presence of user churn. In fact, the second strategy based on random walks on age-proportional graphs demonstrates that, for lifetimes with infinite variance, the system monotonically increases its resilience as its age and size grow. Specifically, we show that the probability of isolation converges to zero as these two metrics tend to infinity. We finish the paper with simulations in finite-size graphs that demonstrate the effect of this result in practice. RESILIENCE of P2P networks under random user arrival and departure (i.e., churn) has recently become an active research. One of the primary metrics of resilience is graph disconnection during which a P2P network partitions into several nontrivial sub graphs and starts to offer limited service to its users. Most partitioning Events in well-connected P2P networks are single-node isolations, which occur when the immediate neighbors of a node fail before is able to detect their departure and then replace them with other alive users. For such networks, node isolation analysis has become the primary method for quantifying network resilience in the presence of user churn.

2. ORGANIZATION PROFILE
COMPANY PROFILE
At Integral Technologies, We go beyond providing software solutions. We work with our clients technologies and business changes that shape their competitive advantages. Founded in 2000, Integral Technologies (P) Ltd. is a software and service provider that helps organizations deploy, manage, and support their business-critical software more effectively. Utilizing a combination of proprietary software, services and specialized expertise, Integral Technologies (P) Ltd. helps mid-to-large enterprises, software companies and IT service providers improve consistency, speed, and transparency with service delivery at lower costs. Integral Technologies (P) Ltd. helps companies avoid many of the delays, costs and risks associated with the distribution and support of software on desktops, servers and remote devices. Our automated solutions include rapid, touch-free deployments, ongoing software upgrades, fixes and security patches, technology asset inventory and tracking, software license optimization, application self-healing and policy management. At Integral Technologies, we go beyond providing software solutions. We work with our clients technologies and business processes that shape there competitive advantages.

About The People


As a team we have the prowess to have a clear vision and realize it too. As a statistical evaluation, the team has more than 40,000 hours of expertise in providing realtime solutions in the fields of Embedded Systems, Control systems, Micro-Controllers, c Based Interfacing, Programmable Logic Controller, VLSI Design And Implementation, Networking LINUX. With C, ++, java, client Server Technologies in Java, (J2EE\J2ME\J2SE\EJB),VB & VC++, Oracle and operating system concepts with

Our Vision
Dreaming a vision is possible and realizing it is our goal.

Our Mission
We have achieved this by creating and perfecting processes that are in par with the global standards and we deliver high quality, high value services, reliable and cost effective IT products to clients around the world. Clients. Aray InfoTech Inquirre consultancy (U.S.A) K square consultancy pvt Ltd (U.S.A) Opal solutions Texlab Solutions Vertex Business Machines JM InfoTech

3. SYSTEM ANALYSIS
3.1 EXISTING SYSTEM

In existing system, unstructured p2p network consider only exponential (mean time to failure) user lifetime and age-independent neighbor replacement. Unstructured P2P networks are single-node isolations, which occur when the immediate neighbors of a node fail before a node is able to detect their departure and then replace them with other alive users. Probability of user isolation is high in existing system and the users cannot communicate with the isolated nodes. When node gets isolated from the network, the links between the nodes get failure. So, graph gets disconnected. Newly joining node unable to detect the heavy-tailed user lifetime to avoid its probability of isolation from the network.

3.2 DISADVANTAGES
Node isolated from network. So, communication problem occurs. Neighbor node unable to detect the failure previously. Graph Disconnection between the networks. Resilience of peer to peer networks under random user arrival and departure is difficult. New node cannot be able to identify the heavy-tailed node in the network. Probability of user isolation and graph disconnection is high

3.3 PROPOSED SYSTEM


In proposed system, we consider heavy-tailed user lifetime for improving residual lifetime of chosen users and reducing probability of user isolation and graph partitioning from network. Node isolation analysis has become the primary method for quantifying network resilience in the presence of user churn. A joining node randomly selects alive users from the system and chooses the user with the maximal age. Random walk algorithms have been used to build unstructured P2P systems and replace failed links with new ones. Introduce a new-neighbor selection strategy that is based on random walks over weighted directed graphs to identify the isolated node. Calculating the age for each node based on sum of weight of indegrees of a node.

3.4 ADVANTAGES
Reducing probability of user isolation. Avoids graph partitioning from network. Overcome Communication problem. Resilience of peer to peer networks for random user arrival and departure is done. Probability of user isolation and graph disconnection is low.

4. SYSTEM CONFIGURATION 4.1 HARDWARE SPECIFICATION


Processor Processor Speed RAM Hard Disk capacity Key Board Mouse : : : : : : Intel Pentium 4HT 3 GHz 768 MB 80 GB Multimedia Optical

4.2 SOFTWARE SPECIFICATION

Operating System Software Database

Windows 98/2000/XP

: JDK1.6 : SQL Server

4.3 SOFTWARE DESCRIPTION Java Technology


Java technology is both a programming language and a platform.

The Java Programming Language


The Java programming language is a high-level language that can be characterized by all of the following buzzwords:

Simple Architecture neutral Object oriented Portable Distributed High performance Interpreted Multithreaded Robust Dynamic Secure

With most programming languages, you either compile or interpret a program so that you can run it on your computer. The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler, first you translate a program into an intermediate language called Java byte codes the platformindependent codes interpreted by the interpreter on the Java platform. The interpreter parses and runs each Java byte code instruction on the computer. Compilation happens

just once; interpretation occurs each time the program is executed. The following figure illustrates how this works.

You can think of Java bytecodes as the machine code instructions for the Java Virtual Machine (Java VM). Every Java interpreter, whether its a development tool or a Web browser that can run applets, is an implementation of the Java VM. Java bytecodes help make write once, run anywhere possible. You can compile your program into bytecodes on any platform that has a Java compiler. The bytecodes can then be run on any implementation of the Java VM. That means that as long as a computer has a Java VM, the same program written in the Java programming language can run on Windows 2000, a Solaris workstation, or on an iMac.

The Java Platform


A platform is the hardware or software environment in which a program runs. Weve already mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and MacOS. Most platforms can be described as a 8

combination of the operating system and hardware. The Java platform differs from most other platforms in that its a software-only platform that runs on top of other hardware-based platforms. The Java platform has two components:

The Java Virtual Machine (Java VM) The Java Application Programming Interface (Java API)

Youve already been introduced to the Java VM. Its the base for the Java platform and is ported onto various hardware-based platforms. The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into libraries of related classes and interfaces; these libraries are known as packages. The next section, What Can Java Technology Do?, highlights what functionality some of the packages in the Java API provide. The following figure depicts a program thats running on the Java platform. As the figure shows, the Java API and the virtual machine insulate the program from the hardware.

Native code is code that after you compile it, the compiled code runs on a specific hardware platform. As a platform-independent environment, the Java platform can be a bit slower than native code. However, smart compilers, welltuned interpreters, and just-in-time bytecode compilers can bring performance close to that of native code without threatening portability.

What Can Java Technology Do?


The most common types of programs written in the Java programming language are applets and applications. If youve surfed the Web, youre probably already

familiar with applets. An applet is a program that adheres to certain conventions that allow it to run within a Java-enabled browser. However, the Java programming language is not just for writing cute, entertaining applets for the Web. The general-purpose, high-level Java programming language is also a powerful software platform. Using the generous API, you can write many types of programs. An application is a standalone program that runs directly on the Java platform. A special kind of application known as a server serves and supports clients on a network. Examples of servers are Web servers, proxy servers, mail servers, and print servers. Another specialized program is a servlet. A servlet can almost be thought of as an applet that runs on the server side. Java Servlets are a popular choice for building interactive web applications, replacing the use of CGI scripts. Servlets are similar to applets in that they are runtime extensions of applications. Instead of working in browsers, though, servlets run within Java Web servers, configuring or tailoring the server. How does the API support all these kinds of programs? It does so with packages of software components that provide a wide range of functionality. Every full implementation of the Java platform gives you the following features:

The essentials: Objects, strings, threads, numbers, input and output, data structures, system properties, date and time, and so on. Applets: The set of conventions used by applets. Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram Protocol) sockets, and IP (Internet Protocol) addresses. Internationalization: Help for writing programs that can be localized for users worldwide. Programs can automatically adapt to specific locales and be displayed in the appropriate language.

Security: Both low level and high level, including electronic signatures, public and private key management, access control, and certificates. Software components: Known as JavaBeansTM, can plug into existing component architectures.

10

Object serialization: Allows lightweight persistence and communication via Remote Method Invocation (RMI). Java Database Connectivity (JDBCTM): Provides uniform access to a wide range of relational databases.

The Java platform also has APIs for 2D and 3D graphics, accessibility, servers, collaboration, telephony, speech, animation, and more. The following figure depicts what is included in the Java 2 SDK.

How Will Java Technology Change My Life?


We cant promise you fame, fortune, or even a job if you learn the Java programming language. Still, it is likely to make your programs better and requires less effort than other languages. We believe that Java technology will help you do the following:

Get started quickly: Although the Java programming language is a powerful object-oriented language, its easy to learn, especially for programmers already familiar with C or C++.

Write less code: Comparisons of program metrics (class counts, method counts, and so on) suggest that a program written in the Java programming language can be four times smaller than the same program in C++.

11

Write better code: The Java programming language encourages good coding practices, and its garbage collection helps you avoid memory leaks. Its object orientation, its JavaBeans component architecture, and its wideranging, easily extendible API let you reuse other peoples tested code and introduce fewer bugs.

Develop programs more quickly: Your development time may be as much as twice as fast versus writing the same program in C++. Why? You write fewer lines of code and it is a simpler programming language than C++.

Avoid platform dependencies with 100% Pure Java: You can keep your program portable by avoiding the use of libraries written in other languages. The 100% Pure JavaTM Product Certification Program has a repository of historical process manuals, white papers, brochures, and similar materials online.

Write once, run anywhere: Because 100% Pure Java programs are compiled into machine-independent bytecodes, they run consistently on any Java platform.

Distribute software more easily: You can upgrade applets easily from a central server. Applets take advantage of the feature of allowing new classes to be loaded on the fly, without recompiling the entire program.

The ODBC system files are not installed on your system by Windows 95. Rather, they are installed when you setup a separate database application, such as SQL Server Client or Visual Basic 4.0. When the ODBC icon is installed in Control Panel, it uses a file called ODBCINST.DLL. It is also possible to administer your ODBC data sources through a stand-alone program called ODBCADM.EXE. There is a 16-bit and a 32-bit version of this program, and each maintains a separate list of ODBC, data, sources.

SWING:
Swing components facilitate efficient graphical user interface (GUI) development. These components are a collection of light weight visual components. Swing components contain a replacement for the heavyweight AWT components as well 12

as complex user-interface components such as trees and tables. Swing is a set of classes that provides more powerful and flexible components than are possible with the AWT. In addition to that the familiar components such as buttons, check box and labels swings supplies several exciting additions including tabbed panes, scroll panes, trees and tables. Even familiar components such as buttons have more capabilities in swing. For example a button may have both an image and text string associated with it. Also the image can be changed as the state of button changes. Unlike AWT components swing components are not implemented by platform specific code instead they are return entirely in JAVA and, therefore, are platform-independent. The term lightweight is used to describe such elements. The number of classes and interfaces in the swing packages is substantial. The Swing architecture is shown in the figure given blow:

Application Code JFC Swing AWT Java 2D Drag & Drop Accessibility

THE SWING COMPONENT CLASSES: Class Abstract Button Button Group Description Abstract super class for Swing Buttons Encapsulates a mutually exclusive set of Buttons

13

ImageIcon JApplet JButton JCheckBox JComboBOx JLabel JRadioButton JScrollPane JTabbedPane JTable JTextField

Encapsulates an Icon The Swing version of Applet The Swing Push Button Class The Swing CheckBox class Encapsulates a combobox The swing version of a Label The Swing version of a RadioButton Encapsulates a scrollabel window Encapsulates a Tabbed window Encapsulates a Table-based control The swing version of a text-field

ADVANTAGES OF SWINGS:
Wide variety of Components Pluggable Look and Feel MVC Architecture Keystroke Handling Action Objects Nested containers Customized Dialogs 14

Compound Borders Standard Dialog Classes Structured Table and Tree Components Powerful Text Manipulation Generic Undo Capabilities Accessibility Support

15

5. SYSTEM DESIGN
5.1 DATA FLOW DIAGRAM
The data flow diagrams are very helpful in determining the flow of data in an application.

LEVEL 0

16

LEVEL 1

17

5.2 TABLE DESIGN

NODE INFORMATION:
FIELD NAME DATA TYPE Node no (pk) Node name Port number System name Status Int Varchar Numeric Varchar Varchar SIZE 5 15 9 15 50

NODE AGE:
FIELD NAME DATA TYPE Node no(fk) Node name Age Int Varchar Numeric SIZE 5 15 9

18

CONSTRUCT:
FIELD NAME DATA TYPE Source Neighbour Weight Varchar Varchar Numeric SIZE 50 50 9

POSSIBLE PATH:
DATA TYPE FIELD NAME Node no(Fk) Int Destination Path Weight Varchar Varchar Numeric SIZE 5 50 50 50

19

5.3 MODULE DESCRIPTION 1. Node information & Topology construction


In this module node information is for initializing the number of nodes, giving names to those nodes, initializing the port numbers for a particular node and provision of host name. In node information, node name and port number must be unique for each node. Host name must be given to run nodes in multiple systems. For topology construction we provide the links for the initialized nodes. We also provide cost to the various links. We check there is no multiple links for same set of nodes. Cost specification is given to all nodes.

20

Each node in network has capable of sending and receiving information through their unique port number. Based on node information and topology construction, each node can calculate the available path and best path for message transmission.

2. Node Isolation
A node which does not have any connection with any other in a network then that node is said to be isolate from network. In unstructured topology, nodes can randomly arrive and departure. When a node get departure, other nodes link gets disconnected. Network resilience is graph disconnection during which a P2P network partitions into several nontrivial sub graphs and starts to offer limited service to its users. Due to graph disconnection, isolated node cannot be able to communicate to other nodes in a network. Isolated node cannot make any communication with any other node in network. Message transmission is impossible with isolated node. When number of nodes gets isolated is high, and then end-end communication is poor.

3. Random walk Algorithm

21

A new-neighbor selection strategy that is based on random walks over weighted directed graphs. In this module, node age is calculated by sum of weight of indegrees of each node and age is provided to each node. o Age= Wi When nodes get isolated, it selects the maximum node age and starts its offer to its users. Each login node also chooses maximum node age and joins in network for providing its services to increase its residual lifetime. Random walk on age-proportional graphs demonstrates that, for lifetimes with infinite variance, the system monotonically increases its resilience as its age and size grow. Using Random walk algorithm, P2P networks are single-node isolations, can be identified by immediate neighbors of a node to detect their departure and then replace them with other alive users.

4. Message Transmission
In this module, message gets transmitted between the nodes .when

node is isolated it selects random walk algorithm and chooses its neighbor and reconstruct the topology and message is transmitted in alternate path. The source node chooses the destination and passes the message using the method of random walk algorithm to avoid graph disconnection for sending its message in the best path available.

22

Once the client completes its message and sends the message, the

client gets the knowledge about the available paths and it also gets the information about the best path and the details regarding the particular path. When the destination system is isolated, it can receive message as

isolated node.

Then source can use random walk algorithm and resend the

message using alternate path,once the message reached the destination, source can receive the acknowledgement message from the destination

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.

6.1UNIT TESTING

23

Unit testing involves the design of test cases that validate that the internal program logic is functioning properly, and that program input produces 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.

6.2INTEGRATION 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.

6.3FUNCTIONAL TESTING
Functional tests provide a 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.

Systems/Procedures: interfacing systems or procedures must be invoked.

24

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.

25

7. IMPLEMENTATION

Implementation is the stage in the project where the theoretical design is turned into a working system and is giving confidence on the new system for the users, which it will work efficiently and effectively. It involves careful planning, investigation of the current System and its constraints on implementation, design of methods to achieve the change over, an evaluation, of change over methods. Apart from planning major task of preparing the implementation are education and training of users. The more complex

26

system being implemented, the more involved will be the system analysis and the design effort required just for implementation. An implementation co-ordination committee based on policies of individual organization has been appointed. The implementation process begins with preparing a plan for the implementation of the system. According to this plan, the activities are to be carried out, discussions made regarding the equipment and resources and the additional equipment has to be acquired to implement the new system. Implementation is the final and important phase, the most critical stage in achieving a successful new system and in giving the users confidence. That the new system will work be effective .The system can be implemented only after through testing is done and if it found to working according to the specification. This method also offers the greatest security since the old system can take over if the errors are found or inability to handle certain type of transactions while using the new system.

27

USER TRAINING
After the system is implemented successfully, training of the user is one of the

most important subtasks of the developer. For this purpose user manuals are prepared and handled over to the user to operate the developed system. Thus the users are trained to operate the developed systems successfully in future .In order to put new application system into use, the following activities were taken care of: Preparation of user and system documentation Conducting user training with demo and hands on Test run for some period to ensure smooth switching over the system. The users are trained to use the newly developed functions. User manuals describing the procedures for using the functions listed on menu and circulated to all the users .it is confirmed that the system is implemented up to user need and expectations.

28

8. CONCLUSION
The proposed techniques, randomized discretization and path delay discretization, to design fast algorithms for computing constrained shortest paths. While the previous approaches (RTF and RTC) build up the discretization error along a path, the new techniques either make the link errors to cancel out each other along the path or treat the path delay as a whole for discretization, which results in much smaller errors. The algorithms based on these techniques run much faster than the best existing algorithm that solves the eapproximation.

29

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

REFERENCES MADE FROM : Java Complete reference 2.0 Head First Java

SITES REFERRED: http://java.sun.com http://www.analysisandsolution.com http://www.dbbalance.com/ http://www.java2s.com/

30

10. APPENDIX: SAMPLE SCREENS

TOPOLOGY CONSTRUCTION

31

NODE LOGIN DETAILS

32

NODE CONSTRUCTION

33

NODE LOGIN

34

35

36

37

38

39

40

41

Potrebbero piacerti anche