You are on page 1of 33


The aim of the project is to define an additional function of a smart phone operated as a wireless USB storage device. To connect wirelessly with a host computer, USB/IP gadget transmits data through IP layer.


In this project we mainly concentrate on increasing the transmission range, speed, frequency and storage size. The system is connected to mobile using the IP address and port number of mobile. The mode of connection between the devices is WIFI.


Wireless network refers to any type of computer networks that is not connected by cables of any kind. It is a method by which homes, telecommunication and enterprise (buses) installations avoid the costly process of introducing cables into a building, or as a connection between various equipment locations. Wireless communication networks are generally implemented and administered using a transmission system called radio waves.


It includes : Wireless PAN Wireless LAN Wireless mesh network Wireless MAN Wireless WAN Mobile device network Wireless PAN:

Wireless personal area network (WPANs) interconnect devices within a relatively small area, that is generally within a person's reach. For example, both Bluetooth radio and invisible infrared light provides a WPAN for interconnecting a headset to a laptop. ZigBee also supports WPAN applications.Wi-Fi PANs are becoming commonplace as equipment designers start to integrate Wi-Fi into a variety of consumer electronic devices. Intel "My WiFi" and Windows "virtual Wi-Fi" capabilities have made Wi-Fi PANs simpler and easier to set up and configure. Wireless LAN:

A wireless local area network (WLAN) links two or more devices over a short distance using a wireless distribution method, usually providing a connection through an access point for Internet access. The use of spread-spectrum or OFDM technologies may allow users to move around within a local coverage area, and still remain connected to the network. Wireless mesh network:

A wireless mesh network is a wireless network made up of radio nodes organized in a mesh topology. Each node forwards messages on behalf of the other nodes. Mesh networks can "self heal", automatically re-routing around a node that has lost power. MAN:
Wireless metropolitan area networks are a type of wireless network that connects several wireless LANs..WiMAX is a type of Wireless MAN Wireless WAN:

Wireless wide area networks are wireless networks that typically cover large areas, such as between neighboring towns and cities, or city and suburb. These networks can be used to connect branch offices of business or as a public internet access system. The wireless connections between access points are usually point to point microwave links using parabolic dishes on the 2.4 GHz band, rather than omnidirectional antennas used with smaller networks. Mobile devices network:

With the development of smartphones, cellular telephone networks routinely carry data in addition to telephone conversations: 2

Global System for Mobile Communications (GSM): The GSM network is divided into three major systems: the switching system, the base station system, and the operation and support system. The cell phone connects to the base system station which then connects to the operation and support station; it then connects to the switching station where the call is transferred to where it needs to go. GSM is the most common standard and is used for a majority of cell phones

Personal Communications Service (PCS): PCS is a radio band that can be used by mobile phones in North America and South Asia. Sprint happened to be the first service to set up a PCS.

D-AMPS: Digital Advanced Mobile Phone Service, an upgraded version of AMPS, is being phased out due to advancement in technology. The newer GSM networks are replacing the older system

1.3.2 USES:
Some examples of usage include cellular phones which are part of everyday wireless networks, allowing easy personal communications. Another example, Inter-continental network systems, use radio satellites to communicate across the world. Emergency services such as the police utilize wireless networks to communicate effectively as well. Individuals and businesses use wireless networks to send and share data rapidly, whether it be in a small office building or across the world. In a general sense, wireless networks offer a vast variety of uses by both business and home users.

Each standard varies in geographical range, thus making one standard more ideal than the next depending on what it is one is trying to accomplish with a wireless network. The performance of wireless networks satisfies a variety of applications such as voice and video. The use of this technology also gives room for future expansions. As wireless networking has become commonplace, sophistication increased through configuration of network hardware and software.

Space is another characteristic of wireless networking. Wireless networks offer many advantages when it comes to difficult-to-wire areas trying to communicate such as across a street or river, a warehouse on the other side of the premise or buildings that are physically separated but operate as one. Wireless networks allow for users to designate a certain space which the network will be able to communicate with other devices through that network. Space is also created in homes as a result of eliminating clutters of wiring.This techonology allows for an alternative to installing physical network mediums such as TPs, coaxes, or fiber-optics, which can also be expensive.

For homeowners, wireless technology is an effective option as compared to ethernet for sharing printers, scanners, and high speed internet connections. WLANs help save from the cost of installation of cable mediums, save time from physical installation, and also creates mobility for devices connected to the network. Wireless networks are simple and require one single wireless access point connected directly to the Internet via a router.



In existing ,application provide SD card with USB connectivity but we always need a connecting cable and visualization is not good because the pixel ratio is too low compare then android applications.Previously data storage it takes some time difference during the live recording.Some limitations for data storage and transmission range is very less.Data is transmitted using connecting cable.

Disadvantages are: Speed is less Needs connecting cable Data transfer rate is less


Android is an operating system based on Linux with a Java programming interfaceThe Android Software Development Kit (Android SDK) provides all necessary tools to develop Android applications. This includes a compiler, debugger and a device emulator, as well as its own virtual machine to run Android programs.Android is the best OS to develop the mobile applications.Main usage of android is visualization.We see more clarity.Data storage is high in the current system.It takes less time difference during the live recording data storage.Transmission range is large depending on Wifi range.In this IP layer is used to transfer data.


The purpose of feasibility study is not to deduce the solution of the problem but to determine the possible ways to approach it. Three key considerations are involved in the feasibility analysis. They are 5

Operational feasibility Technical feasibility Economic feasibility

Economical feasibility:
Economical feasibility deals about the economical impact faced by the organization to implement a new system. Not only cost of hardware, software etc is considered but also the benefit in the form of reduced costs.

Technical feasibility:
Technical consideration evaluates the hardware requirements, software etc. this project Mail Transfer System uses Java as front end and My Sql as back end. As per the requirements both these software and hardware were already exists makes this project technically feasible.

Operational feasibility:
Due to the recent technological advancement the hardware cost are dramatically reduced and easily available in the global market. This fact determines the economical feasibility to some extent.



System Hard Disk Floppy Drive Monitor Mouse Ram : Pentium IV 2.4 GHz : 40 GB : 1.44 Mb : 15 VGA Colour : Logitech : 512 Mb


Operating system SDK IDE Java : Windows XP : Android SDK 2.33 : My Eclipse : JDK1.6


Android is an operating system based on Linux with a Java programming interface.The Android Software Development Kit (Android SDK) provides all necessary tools to develop Android applications. This includes a compiler, debugger and a device emulator, as well as its own virtual machine to run Android programs.Android allows background processing, provides a rich user interface library, supports 2-D and 3-D graphics using the OpenGL libraries, access to the file system and provides an embedded SQLite database.Android applications consist of different components and can re-use components of other applications, if these applications declare their components as available.

Security and permissions

During deployment on an Android device, the Android system will create a unique user and group ID for every Android application. Each application file is private to this generated user, e.g. other applications cannot access these files.Therefore by means of the underlying Linux operating system, every Android application is isolated from other running applications. A misbehaving application cannot easily harm other Android applications.Depending on the details of the required permission, the Android system will either automatically grant the permission, reject it or ask the user if he grants this permission to the application during installation.If for example the application declares that it requires Internet access, the user needs to confirm the usage of this permission during installation.

3.3.2 JAVA
Java technology is both a programming language and a platform. Simple Architecture neutral Object oriented Portable Distributed High performance Interpreted Multithreaded Robust Dynamic

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 platform-independent 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. You can think of Java byte codes 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 byte codes help make write once, run anywhere possible. You can compile your program into byte codes on any platform that has a Java compiler. The byte codes 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 Im

The Java platform has two components: The Java Virtual Machine (Java VM) The Java Application Programming Interface (Java API)

The following figure illustrates how this works

compile your program into byte codes on any platform that has a Java compiler. The byte codes 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. Design goals

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.

Object serialization: Allows lightweight persistence and communication via Remote Method Invocation (RMI).

Java Database Connectivity (JDBC): Provides uniform access to a wide range of relational databases.


Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java. It can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy and Scheme. It can also be used to develop packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others. The initial codebase originated from VisualAge. The Eclipse SDK (which includes the Java development tools) is meant for Java developers. Users can extend its abilities by installing plugins written for the Eclipse Platform, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules.


The Eclipse Platform uses plug-ins to provide all functionality within and on top of the runtime system, in contrast to some other applications, in which functionality is hard coded. The Eclipse Platform's runtime system is based on Equinox, an implementation of the OSGi core framework specification. This plug-in mechanism is a lightweight software componentry framework. In addition to allowing the Eclipse Platform to be extended using other programming languages such as C and Python, the plug-in framework allows the Eclipse Platform to work with typesetting languages like LaTeX, networking applications such as telnet and database management systems. The plug-in architecture supports writing any desired extension to the environment, such as for configuration management. Java and CVS support is provided in the Eclipse SDK, with support for other version control systems provided by third-party plug-ins. With the exception of a small run-time kernel, everything in Eclipse is a plug-in. This means that every plug-in developed integrates with Eclipse in exactly the same way as other plug-ins; in this respect, all features are "created equal".[citation needed] Eclipse provides plug-ins for a wide variety of features, some of which are through third parties using both free and commercial models. Examples of plug-ins include a UML plug-in for Sequence and other UML diagrams, a plug-in for DB Explorer, and many others. The Eclipse SDK includes the Eclipse Java development tools (JDT), offering an IDE with a built-in incremental Java compiler and a full model of the Java source files. This allows for advanced refactoring techniques and code analysis. The IDE also makes use of a workspace, in this case a set of metadata over a flat filespace allowing external file modifications as long as the corresponding workspace "resource" is refreshed afterwards. Eclipse implements widgets through a widget toolkit for Java called SWT, unlike most Java applications, which use the Java standard Abstract Window Toolkit (AWT) or Swing. Eclipse's user interface also uses an intermediate graphical user interface layer called JFace, which simplifies the construction of applications based on SWT.Language packs provide translations into over a dozen natural languages.


Eclipse provides the Rich Client Platform (RCP) for developing general purpose applications. The following components constitute the rich client platform:

Equinox OSGi a standard bundling framework Core platform boot Eclipse, run plug-ins[citation needed] Standard Widget Toolkit (SWT) a portable widget toolkit JFace viewer classes to bring model view controller programming to SWT, file buffers, text handling, text editors Eclipse Workbench views, editors, perspectives, wizards

Connectify is a software router for Microsoft Windows developed by Connectify. It can enable a Windows PC with a Wi-Fi device to act as a wireless access point. This enables users to share files, printers, and internet connections between multiple computing devices without the need for a separate physical access point or router. Simple wireless ad-hoc networking was introduced in the Windows operating system family with Windows XP. Windows 7 added support for the Virtual Wi-Fi, which allows a single physical wireless adapter to be split into two logical adapters. Connectify takes advantage of this feature to create an infrastructure mode wireless network and effectively turn the Windows 7 PC into a wireless access point. Connectify is released on the freemium model. The free Connectify Lite license delivers basic wireless access point functionality. Some features in this edition are limited; for example, the SSID of a Connectify Lite network will always start with "Connectify-". Additional paid Connectify Pro features include wireless repeater capability, more complete 3G/4G network sharing, automatic configuration features, firewall controls and priority technical support. Connectify was the widely available application that exploited the Virtual Wi-Fi capabilities of Microsofts Windows 7 operating system. The developers first offered the program as a beta version that could be freely downloaded from their website. The application


has now been refined to a stable and full version. The latest iteration is version 1.2 which is said to correct many bugs with improvement to the user interface. The application is still free and it doesnt appear that the developers intend to make a commercial or retail version. One way that they can go is to produce a sstrp down version as a free version while they can create a more versatile version with lots of features, customer support and security as their commercial version. Not different from what some antivirus companies do. Virtual Wi-Fi in Windows 7; Virtual Wi-Fi is one of the features that Microsoft introduced in Windows 7 operating system. It apparently did not get much attention until possibly after the Connectify application came into being. The Virtual WiFi of Windows 7 makes it possible to use the wireless networking adapter of a computer system as a wireless hotspot to connect additional systems. The Connectify application exploits this hidden virtual Wi-Fi in the lines of code in windows 7 to create the Wireless network or hotspot. The installation takes a very short time. It is installed in less than a minute. In the 1.2 version which is the latest, the icon seats in the system tray in the right hand corner of the task bar. Sometimes in the system tray of the task bar. The features of Connectify are quite straight forward. It enables the windows 7 laptop to create a Wi-Fi hotspot with or without an internet connection without any additional hardware. You can then connect your Wi-Fi enabled home gadget or devices. With the Connectify application, users can wirelessly share any Internet connection: a cable modem, a cellular card, or even another Wi-Fi network seamlessly. Other Wi-Fi enabled devices including laptops, smart phones, PMPs, music players, and gaming systems can see and join the Connectify hotspot just like any other Wi-Fi access point and are kept safe and secure by password-protected WPA2 Encryption. Connectify started with a Beta Version which came out in late 2009. This was replaced with version 1.1. And now supplanted with Version 1.2. The Version 1.2 was released March 29, 2010 with some improved features including;


Improved Ad Hoc Support: By popular demand, Ad Hoc now supports "Open" (no encryption) mode.

Connectify Easy Setup Wizard: This was not there in version 1.1. And just like the windows setup wizard, it guides you step by step throughout the process of setup.

Improved User Interface: The Connectify window now stays visible until you minimize it. This is important so that you can keep it up to watch devices connect or even snap a snipping tool picture of it. The other improvement to the UI includes messages and tool tips throughout the program.

More Statistics: The tool tip on the Clients now reveal more information. Examples include how many times the device has connected, the total time that they've been connected, and their MAC addresses.

The hardware requirement of the Connectify application requires only a Computer with Microsofts Windows 7 operating system. The System also needs to have an inbuilt Wireless LAN card. No information on whether it would work with an external WLAN card is available



The System Design describes the system requirements, operating environment, system and subsystem architecture, files and database design, input formats, output layouts, human-machine interfaces, detailed design, processing logic, and external interfaces. Purpose and Scope.

System Mobile phone


Obtain IP address And Port number Wifi System memory

Connect to the system

Transfer Files

Phone memory



The input design is a description of the input media used by the operator for providing information to the system; show a mapping to the high-level data flows described, System Overview. For example, data entry screens, optical character readers, bar scanners, etc. If appropriate, the input record types, file structures, and database structures provided, File and Database Design, may be referenced. Include data element definitions, or refer to the data dictionary.


This section describes of the system output design relative to the user/operator; show a mapping to the high-level data flows described. System outputs include reports, data display screens and GUIs, query results, etc. The output files are described and may be referenced insection.

The following should be provided, if appropriate: Identification of codes and names for reports and data display screens Description of report and screen contents (provide a graphic representation of each layout and define all data elements associated with the layout or reference the data dictionary) Description of the purpose of the output, including identification of the primary users Report distribution requirements, if any (include frequency for periodic reports) Description of any access restrictions or security considerations

4.5 DATA FLOW DIAGRAM Purpose/Objective: The purpose of data flow diagrams is to provide a semantic bridge between users and systems


The diagrams are Graphical, eliminating thousands of words Logical representations, modeling WHAT a system does, rather than physical models showing HOW it does it Hierarchical, showing systems at any level of detail

Data Flow Diagrams are composed of the four basic symbols

The External Entity symbol represents sources of data to the system or destinations of data from the system.

The Data Flow symbol represents movement of data. The Data Store symbol represents data that is not moving (delayed data at rest). The Process symbol represents an activity that transforms or manipulates the data (combines, reorders, converts, etc).

The procedure for producing a data flow diagram is to, 1. Identify and list external entities providing inputs/receiving outputs from system. 17

2. Identify and list inputs from/outputs to external entities. 3. Create a context diagram with system at center and external entities sending and receiving data flows. 4. Identify the business functions included within the system boundary. 5. Identify the data connections between business functions. 6. Confirm through personal contact sent data is received and vice-versa. 7. Trace and record what happens to each of the data flows entering the system (data movement, data storage, data transformation/processing) 8. Attempt to connect any diagram segments into a rough draft. 9. Verify all data flows have a source and destination. 10. Verify data coming out of a data store goes in. 11. Redraw to simplify--ponder and question result. 12. Review with "informed". 13. Explode and repeat above steps as need

Obtain IP address

Connect to the device

File transfer user

User login

Search device

CHAPTER 5 Transfer files


CHAPTER 5 5.1 MODULE DESCRIPTION 5.1.1 Login form:

Form-based authentication enables you to create customized Web forms that process user logins using the Access System's authentication and authorization mechanisms. These forms are access the pages that allow you to present login information in different languages, to display user interface lements that comply with your company's presentation standards, and to add functions to the login page. You can gather additional information at the time of login. You can provide additional functionality with the login procedure, such as a link to a page for lost password management.

5.1.2 IP connection:
An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network

interface identification and location addressing. Any-to-any connectivity - The ability to create an efficient fully connected network providing any-to-any communication among system to mobile. Security - Enabled by establishing Network connectivity over network. Flexibility - Simplicity in redefining the customer network topology.
Scalability - Networks architecture easily adapts to growth in complexity and volume in the mobile.


Quality of Service - Support of different Guaranteed Classes of Services depending on System to mobile requirements. Availability & Reliability - Supported by redundancy in mobile network.

5.1.3 USB Activity:

USB Activity Monitoring Software monitors the USB mass storage device activities on system on mobile network. USB drive activity monitoring software for network effectively and efficiently prevent the unauthorized access of USB device activities including insertion and removal of USB devices on clients machines. Server has the rights to change or assign the access and permission settings of USB port of the clients machine in local network. The administrator can block the read/write permission and even the accessing of USB mass storage devices by the client using easy to use the mobile applications.

5.1.4 Access Attributes:

The connection is established as system to mobile it can access everything to the mobile through USB/IP connection. It will access all the attribute like files, images, pictures, songs etc.










Testing is the one step in the Software Engineering process that could be viewed as destructive rather than constructive. Software testing is a critical element of software quality assurance and represents the ultimate reviews of specification, design and coding. Testing represent an interesting anomaly for the software. Testing is vital to the success of the system. Errors can be injected at any stage during development. System testing makes a logical assumption that if all the parts of the system are correct, the goal will be successfully achieved. During testing, the program to be tested is executed with set of data and the output of program for the test data is evaluated to determine if the program are performing as expected. Testing cannot show the absence of defects, it can only show that software defects are present. The objectives of testing are Testing is a process of executing a program with the intent of finding an error.

A good test care is one that has a high probability of finding an as yet undiscovered error. A successful test is one that uncovers and as yet undiscovered error. The software developed has been tested successfully using the following strategies and any errors that are encountered are corrected and again the part of the program or the procedure or function is put to testing until all the errors are removed.


The testing steps are: Unit Testing

Module Testing

Integrated Testing

Unit testing focuses verification effort on the smallest unit of the software design. This project compromises the set performed by an individual programmer prior to the integration of the unit into a larger system. This testing is carried out during the coding itself. In this testing step each module such as registration, login, etc going to be working satisfactorily as the expected output from the module.

Since it is a real time project the modules in this project may collects inputs from another module or any sub modules. Likewise they can forward their output as inputs to some modules or sub modules. So a module testing is one of the important testing in system development cycle. This testing is used in login module. The output form registration is used as input for login module.


In this project the data can be lost across an interface; one module can have adverse effort on another, sub function when combined may not produced the desired function. Integration testing is a systematic technique for constructing the program while at the same time conducting test to uncover errors associated within the interface. The objective is to take unit-tested module and built the program structure that has been dictated by design. All modules are combined in this testing. The entire program is tested a whole. Correction is difficult at this stage because the isolation of module. At the integration testing, software is completely assembled as a package. Interfacing errors have been uncovered and corrected and a final series of software test validation testing begins. Validation testing can be defined in many ways, but a simple definition is that validation succeeds when the software functions in manner that is reasonably expected by the customer. Software validation is achieved through a series of black box tests that demonstrate conformity with requirement. After validation test has been conducted, one of the two conditions exists. he function or performance characteristics confirm to specification and are accepted. A validation from specification is uncovered and a deficiency created. Deviation of errors discovered at this step in this project is corrected prior to the completion of the project with the help of the user by negotiating to establish a method for resolving deficiencies. Thus the proposed system under consideration has been tested by using validation testing and found to be working satisfactorily

Tester needs no knowledge of implementation, including specific programming language.

Tester and programmer are independent of each other Tests are done from a users of view. Black Box Test will help to expose any ambiguities or inconsistencies in specification 29

Disadvantages of Testing:

Only a small number of possible inputs can actually be tested. To test every possible input stream would take nearly forever without clear and concise specifications.

Test cases are hard to design. There may be unnecessary repetition of test inputs, if the tester is not informed of test cases the programmer has already tried may leave many program paths untested cannot be directed toward specific segment of code which may be very complex most testing related research has been directed toward glass box testing.

Testing strategies/Techniques:

Black Box Testing should make use or randomly generated inputs (only a test range should be specified by the tester), to eliminate any guess work by the tester as to the method of the function.

Data outside of the specified input range should be tested to check the robustness of the program. Boundary cases should be tested (top and bottom of specified range) to make sure the highest and lowest allowable inputs produce proper output. The number zero should be tested when numerical data is to be input. Stress testing should be performed, especially with real time systems. Crash Testing should be performed to see what it takes to bring the system down. Test monitoring tools should be performed to see what it takes to bring the system down. Other functional testing techniques include, transaction testing, syntax testing, domain testing, logic testing, and state testing.



We have proposed the current distribution of smart phones and needs of additional function from usage model perspective.As an addional function of conventional smart phones,we propose the method how to transfer Android phone into wireless USB storage through USB/IP connection and show the prototype implementation.In this project we have two phases namely connection establishment using IP address and port number and file transfer.From the existing system we have added the following features namely speed, transmission range, frequency and security.



In this project we have developed an application based on android . we have concentrated on increasing the transmission range and speed of data transfer.transmission range is ten times greater than Bluetooth device. Range of data transfer depends on wifi range. If we add an external sensor range of data transfer can be increased.This is implemented usng an algorithm named shoulder surfing.



Ken Arnold and James Gosling, The Java Programming Language, second ed., AddisonWesley, 2000.

Patrick Chan, The Java Developers Almanac, Addison-Wesley, 2002.

Peter Coad and Mark Mayfield, Java Design: Building Better Apps and Applets, Yourdon Press, 1996.

Gary Cornell and Cay S. Horstmann, Core Java, second ed., SunSoft Press, 1999.

Robert Englander, Developing Java Beans, O'Reilly, 1997.

Graham Hamilton and Rick Cattell and Maydene Fisher, JDBC Database Access with Java: A Tutorial and Annotated Reference, SunSoft Press, 2007.

Vincent J. Hardy, Java 2D API Graphics, Sun Microsystems Press, 2000.

George Reese, Database Programming with JDBC and Java, O'Reilly, 1997.

Prashant Sridharan, Advanced Java Networking, Prentice-Hall, 1997.