Virtual Desktop

CONTENTS
1. ABSTRACT 2. Scope Of The Project 3. System Analysis • Existing System • Problem Statement • Proposed System • Requirement Analysis • Requirement Specification 4. Software Requirement Specification •Introduction •Output Design •Input Design 5. Literature Review • Network Programming • Java • Java swings • Java Threads 6. System Design • Dataflow Diagrams 7. System Testing 8. Output Screens 9. Conclusion

1

Virtual Desktop

10.Bibliography

ABSTRACT

2

Virtual Desktop

Abstract
This application Personal allows you to remotely access your computer from any other Internet-connected computer in the world with almost any operating system through a secure, private connection This application is a unique Web-based technology that works with your existing firewall and Internet infrastructure. You do not have to change or open ports, configure IP addresses or deploy any hardware or software, and you can use your existing corporate Internet connection. The service and architecture are designed for maximum performance, reliability and scalability This application is for individuals needing remote access to 1-20 PCs. It's an easy and secure remote-access solution that enables you to conveniently access email, files, programs and network resources from home or the road. Get unlimited access to your PCs from any Web browser anywhere This application is Personal allows you to access and work on your PC on-the-fly from any location connected to the Internet. Get reliable, convenient access to email, files, programs and network resources from home or the road. When you are abroad or away from your computer you can access all the files and folders in your computer remotely.

3

Virtual Desktop

SCOPE OF THE PROJECT

4

the appearance of a desktop.including display screen. Virtual desktop managers allow folders and icons to be moved from one virtual desktop to another by dragging and dropping with a mouse. mouse. illuminated 5 . light pen. Each user interface is called a virtual desktop. Several vendors offer virtual desktop managers. keyboard. and switch between one group or the other. some minimized windows.Virtual Desktop VIRTUAL DESKTOP MANAGER: DefinitionA virtual desktop manager is a program that allows a computer user to have more than one user interface available simultaneously on a single computer. The size of the matrix depends on the number of virtual desktops. some open windows. some other windows may be visible. Later. Each virtual desktop occupies a defined portion of the screen. User interface: Definition :. what is a virtual desktop? Simply said. and the set of virtual desktops is arranged in a matrix or grid. where you can simply choose which group is visible. first. the user interface (UI) is everything designed into an information device with which a human being may interact -. The program thus allows having a few set of applications/windows.In information technology. with the icons on it. The main goal of the project is thus to allow working with only some of the applications visible at a time. a "desktop" is what you see when you run windows: the actual windows desktop. just as files can be moved among folders on a single desktop. So.

there was very little user interface except for a few buttons at an operator's console. In early computers. help messages. and how an application program or a Web site invites interaction and responds to it.Virtual Desktop characters. The user interface was largely in the form of punched card input and report output Virtual Desktop Manager 6 .

Virtual Desktop Objective: The main objective of this project is to implement remote accessing of a system. The main facilities of this project are: • • Connecting Server and Client. Based on this application personal allows you to remotely access your computer from any other internet connected computer in the world with almost any operating system through a secure private connection. files. programs and network resources from home or the road. You do not have to change or open ports. 7 . This service and architecture is designed for improving the performance. reliability and scalability. configure IP addresses or deploy any hardware or software. and you can use your existing corporate connection. An easy and secured remote access solution enables you to conveniently access e-mail. Generating a Socket to establish connection.

Sending and Receiving data 5.The service and architecture are designed for maximum performance. Connecting different clients. They provide both connection and connectionless modes of commution Socket is a two way communication channel and provides the following services 1. This made the necessity of networking in communication clear. The global communication is solved in great deal by the introduction of Internet.You do not have to change or open ports .e. Creation and naming of socket 2. Waiting for a connection 3.They allow unrelated process to exchange data locally over networks. File searching in server system. The Internet protocol TCP/IP and also UDP uses computers called Gateways. Overall Description: The main goal of this project is to implement Remote accessing of system when we are on Road or any where . They can be used for local inter process communicationand also across TCP/IP networks.software .and u can use your existing corporate internet connection. This application is a unique web based technology that works with existing firewall and Internet infrastructure. they providethe user interface wiyh the system. translating network address 8 .configure IP address or deploy any hardware . Acceptng and making socket connection 4. which provide interconnections among physical networks and also provides connection. . Closing the socket connection 6. wireless Socket programming: Socket are application progarmme interface i. reliability and scalability.Virtual Desktop • • • Sending and receiving the messages..

2. This process is same for every incoming clients. Server Process: First. 3. They can be used for local inter process communication and TCP/IP networks. the protocol server opens a port and registers the IP address of the client. which the user will be using for either querying the contents. They allow unrelated process to exchange data locally over networks. When a client request arise the server process spawns a separate process/thread to take up on client. 9 . Waiting for a connection. 5. The server also assigns appropriate privileges & security to the directory also called user directory. 4. Ofter successfully receiving the client connection. i. They provide both connection and connectionless modes of communication.e. Sending and Reciving data. 6. they provide the user interface with the system. The server returns a welcome message to the client indicating that the initial handshaking has been successfully. Socket is a two-way communication channel and provides the following services. Accepting and making socket connection. sorting files or retrieving files. Translating network address. When a particular client attempts to a server it creates a separate process to the client. Create and naming of socket. Closing the socket connection. the server then proceeds to setup the user directory.. 1.Virtual Desktop Socket Process: Socket is application programme interface.

After this process. network neutral manner with a GUI interface as supported by traditional command line interfaces provided by most operating systems. if the authentication schema has failed at the server then the server returns an error code after which the client is simply disconnected. 10 . and set the current working directory.Virtual Desktop Client Process: The current project scope should involve in developing client to achieve the above-mentioned features in a platform neutral. create. On the other hand. • • • Access Controle Commands. File Searching Process: The prototype of the file transfer protocol should be introduced as an application level protocol. delete. The client has to have prior information of the IP address of the server and also the port on which it is listening for requests. It should involve in opening a connection to a remote server from the client. the client should provided a means for performing a series of well-defined commands on the server to browse. The requests that a client can make to the server can be categorized into 3 types. Protocol Service Commands. the client then proceeds to make the requests. Next. Transfer Parameter Commands.

The client can search files from server system and can add or delete files. Which should be implemented through proper commands to operate on multiple files. POP (Post office Protocol) Server: Receiving the files. delete a file. When we a desired file. the system searches the file. Servers used: SMPT Server: Sending the mails or messages from one to another.3/1.Virtual Desktop The user should have permission to write or delete files from the accessible directories. First. TCP/IP Server: TCP/IP means transmission control protocol/internet protocol. We get the desired file we can stop the searching process.4. JDBC are used for this project. We can add a file. Technology used:    J2SE. Windows 2000/XP. it duplicates the file and stored it in a system. FTP Server: Sending the files from one to another system. JDK 1. This is for IP addresses are maintaining uniquely 11 .

SYSTEM ANALYSIS 12 .Virtual Desktop .

One aspect of analysis is defining the boundaries of the system and determining whether or not a candidate should consider other related systems. and common sense are required for collection of the information needed to do the analysis. So it is difficult if we don’t have same operating system.Virtual Desktop System Analysis: System Analysis is first stage according to System Development Life Cycle model. Analysis is a detailed study of the various operations performed by a system and their relationships within and outside the system. Existing System In existing system to remote accessing of a system we have to change IPaddress of a system and we have to use the same operating system which is used in user system. Logical system models and tools are used in analysis. So to achieve proper communication 13 . data is collected from the available files. experience. Problem Statement A computer network is a communication system for connecting end system. Training. During analysis. This System Analysis is a process that starts with the analyst. decision points. in order to send messages or files from one to another. and transactions handled by the present system.

Virtual Desktop the network should be a dedicated one. Similarly when a network is deleted communication should be carried on properly The network should be reachable with a high reliability and should provide consistent routing and should be able to provide solution for the routing problem Proposed System In the proposed system we need not to change IP address of a system. Usually analysts research a problem from any 14 . Whenever a new network is added it should not disturb the existing network. 2. Requirement Analysis Requirement Specification Requirement Validation Requirement Analysis: Requirement Analysis is a software engineering task that bridges the gap between system level software allocation and software design. physical connections should be proper.We can work on any operating system . We need to change port number or any hardware or software of a system. REQURIEMENTS ANALYSIS The requirement phase basically consists of three activities: 1. indicate software’s interface with the other system elements and establish constraints that software must meet. 3. the interconnection i. The basic aim of this stage is to obtain a clear picture of the needs and requirements of the end-user and also the organization.e. It provides the system engineer to specify software function and performance. Analysis involves interaction between the clients and the analysis.

The analysis process must move from essential information to implementation detail. 1. It may be divided into 5 areas of effort. 5. Requirements are represented in a manner that ultimately leads to successful software implementation. The functions that the software is to perform must be defined. 15 . The models that depict information. 4. This is essential to ensure that the final specifications are consistent. However all analysis methods are related by a set of operational principles. The analysts have to uncover the real needs of the user even if they don’t know them clearly. function and behavior must be partitioned in a hierarchical or layered fashion. They are • • • • • The information domain of the problem must be represented and understood.Virtual Desktop questions asked and reading existing documents. 3. Specification is basically a representation process. Problem recognition Evaluation and synthesis Modeling Specification Review Each Requirement analysis method has a unique point of view. During analysis it is essential that a complete and consistent set of specifications emerge for the system. 2. Here it is essential to resolve the contradictions that could emerge from information got from various parties. REQUIREMENTS SPECIFICATION Specification Principles: Software Requirements Specification plays an important role in creating quality software solutions. The behavior of the software as a consequence of external events must be defined.

Software Requirements Specifications: The software requirements specification is produced at the culmination of the analysis task. 233 MHz. appropriate validation criteria and other data pertinent to requirements. The function and performance allocated to the software as a part of system engineering are refined by establishing a complete information description. and indication of performance requirements and design constraints.Virtual Desktop Requirements may be specified in a variety of ways. Representations should be revisable. a detailed functional and behavioral description. 64 to 256 MB Ram 512 KB Cache Memory Hard disk 20 GB SOFTWARE REQUIREMENTS: 16 . HARDWARE AND SOFTWARE REQUIREMENTS: HARDWARE REQUIREMENTS: • • • • Pentium Min. However there are some guidelines worth following: • • • • Representation format and content should be relevant to the problem Information contained within the specification should be nested Diagrams and other notational forms should be restricted in number and consistent in use.

Virtual Desktop • • • Operating System Language Protocols : : : Windows 2000/NT/XP JDK1.socket Programming TCP/IP.4.3/1.UDP 17 .

Virtual Desktop SOFTWARE REQUIREMENT SPECIFICATION SOFTWARE REQUIREMENT SPECIFICATION: INTRODUCTON Purpose: The main purpose for preparing this document is to give a general insight into the analysis and requirements of the existing system or situation and for determining the operating characteristics of the system. Scope: This Document plays a vital role in the development life cycle (SDLC) 18 .

Functional Requirements: OUTPUT DESIGN Outputs from computer systems are required primarily to communicate the results of processing to users. 5) Maintaining the system for a period of one year after installation. They are also used to provide a permanent copy of the results for later consultation. whose destination is outside the organization. It is meant for use by the developers and will be the basic during testing phase. Developers Responsibilities Overview: The developer is responsible for: 1) Developing the system. The various types of outputs in general are: • • External Outputs. Internal Outputs whose destination is with in organization and they are the 19 .Virtual Desktop As it describes the complete requirement of the system. Any changes made to the requirements in the future will have to go through formal change approval process. 1. which meets the SRS and solving all the requirements of the system? 2) Demonstrating the system and installing the system at client's location after the acceptance testing is successful. 3) Submitting the required user manual describing the system interfaces to work on it and the documents of the system. 4) Conducting any user training that might be needed for using the system.

Virtual Desktop o User’s main interface with the computer. Will decimal points need to be inserted? .   The need for a hard copy The response time required. • • Operational outputs whose use is purely with in the computer department. The main considerations when deciding about the output media are: The suitability for the device to the particular application. it is to be decided that which medium is the most appropriate for the output. Output Definition The outputs should be defined in terms of the following points: Type of the output       Content of the output Format of the output Location of the output Frequency of the output Volume of the output Sequence of the output It is not always desirable to print or display data as it is held on a computer. Should leading zeros be suppressed? Output Media: In the next stage. It should be decided as which form of the output is the most suitable. For Example . Interface outputs. 20 . which involve the user in communicating directly with other users of the system.

the format for the output is taken from the outputs. Keeping in view these outputs. To achieve the highest possible level of accuracy. The main outputs desired according to the requirement specification are: The outputs were needed to be generated as a hot copy and as well as queries to be viewed on the screen.Virtual Desktop    The location of the users The software and hardware available. The cost. The main objective during the input designing is as given below: • • • To produce a cost-effective method of input. the project is to have outputs mainly coming under the category of internal outputs. INPUT DESIGN Input design is a part of overall system design. which are currently being obtained after manual processing. To ensure that the input is acceptable and understood by the user. 21 . The standard printer is to be used as output media for hard copies. Keeping in view the above description.

choice has to be made about the input media. INPUT MEDIA: At this stage. which are computer department’s communications to the system? Interactive.Virtual Desktop INPUT STAGES: The main input stages can be listed as below: • • • • • • • • Data recording Data transcription Data converting Data verification Data control Data transmission Data validation Data correction INPUT TYPES: It is necessary to determine the various types of inputs. Operational. To conclude about the input media consideration has to be given to. Inputs can be categorized as follows: • • • • External inputs. Internal inputs. • • • Type of input Flexibility of format Speed 22 . which are inputs entered during a dialogue. which are prime inputs for the system. which are user communications with the system.

still a small proportion of errors is always likely to occur. ERROR DETECTION Even though every effort is make to avoid the occurrence of errors. DATA VALIDATION 23 . it can be said that most of the inputs are of the form of internal and interactive.Virtual Desktop • • • • • • • • Accuracy Verification methods Rejection rates Ease of correction Storage and handling requirements Security Easy to use Portabilility Keeping in view the above description of the input types and input media. ERROR AVOIDANCE At this stage care is to be taken to ensure that input data remains accurate form the stage at which it is recorded up to the stage in which the data is accepted by the system. As Input data is to be the directly keyed in by the user. the keyboard can be considered to be the most suitable input device. these types of errors can be discovered by using validations to check the input data. This can be achieved only by means of careful control each time the data is handled.

The system has been designed with pop up menus. USERINTERFACE DESIGN It is essential to consult the system users and discuss their needs while designing the user interface: USER INTERFACE SYSTEMS CAN BE BROADLY CLASSIFIED AS: 1.Virtual Desktop Procedures are designed to detect errors in data at a lower level of detail. 24 . In other words the system has been designed to communicate effectively with the user. the computer selects the next stage in the interaction. The system will not accept invalid data. User initiated interface the user is in charge. Data validations have been included in the system in almost every area where there is a possibility for the user to commit errors. Computer initiated interfaces In the computer-initiated interfaces the computer guides the progress of the user/computer dialogue. Information is displayed and the user response of the computer takes action or displays further information. Validations have been included where necessary. the system immediately prompts the user and the user has to again key in the data and the system will accept the data only if the data is correct. In the computer-initiated interface. 2. controlling the progress of the user/computer dialogue. Whenever an invalid data is keyed in. The system is designed to be a user friendly one.

25 . 2. Right from the start the system is going to be menu driven.Virtual Desktop USER_INITIATED INTERFACES User initiated interfaces fall into tow approximate classes: 1. 3. The Forms oriented interface is chosen because it is the best choice. 2. Forms oriented interface: The user calls up an image of the form to his/her screen and fills in the form. In this way every option leads the users to data entry form where the user can key in the data. the opening menu displays the available options. The menu system for the user is presented with a list of alternatives and the user chooses one. As user is bound to commit some errors or other while designing a system the system should be designed to be helpful by providing the user with information regarding the error he/she has committed. Command driven interfaces: In this type of interface the user inputs commands or queries which are interpreted by the computer. Choosing one option gives another popup menu with more options. COMPUTER-INITIATED INTERFACES The following computer – initiated interfaces were used: 1. of alternatives. Questions – answer type dialog system where the computer asks question and takes action based on the basis of the users reply. ERROR MESSAGE DESIGN: The design of error messages is an important part of the user interface design.

Virtual Desktop This application must be able to produce output at different modules for different inputs. Only when the requirement specifications are properly given. Requirement specification plays an important part in the analysis of a system. which will fit into required environment. is of no use. which does not cater to the requirements of the user. 26 . The requirement specification for any system can be broadly stated as given below: • • • The system should be able to interface with the existing system The system should be accurate The system should be better than the existing system The existing system is completely dependent on the user to perform all the duties. This is because the requirements have to be known during the initial stages so that the system can be designed according to those requirements. It is very difficult to change the system once it has been designed and on the other hand designing a system. It rests largely in the part of the users of the existing system to give the requirement specifications because they are the people who finally use the system. Performance Requirements: Performance is measured in terms of the output provided by the application. it is possible to design a system.

Virtual Desktop 27 .

Virtual Desktop LITERATURE REVIEW Network Programming TCP/IP PROTOCOL SUITE: 28 .

This layer defines protocol for node-to-node application communication and also controls user-interface specifications. TRANSMISSION CONTROL PROTOCOL : 29 . Presentation. Session). 1-8 Tcp/Ip protocol Suite THE APPLICATION LAYER PROTOCOLS: The Application combines the top three layers (Application.Virtual Desktop fig. THE TRANSPORT LAYER: The main purpose is to shield the upper-layer application from the complexities of the network.

reliable. and establishing all these terms and conditions. TCP is very complicated and. The CRC checks the header and data fields. Acknowledgment number – Defines which TCP octet is expected next. Window – The window size the sender is willing to accept. HLEN – Stands for header length. What is created is known as a virtual circuit. the two layers also agree on the amount of information that’s going to be sent before the recipient’s TCP sends back an acknowledgment. the path is paved for reliable communication to take place. During this initial handshake. Reserved – Always set to zero. costly in terms of network overhead. Before a transmitting host starts to send segments down the model. The TCP segment contains the following fields: Source Port – The port number of the host sending the data. Destination port – The port number of the application requested on the destination host. TCP (on the transmitting host) waits for an acknowledgment of the receiving end’s TCP virtual circuit session. not surprisingly. Since today’s networks are much more reliable than those of yore. It number and sequences each segment so that the destination’s TCP protocol can put the segments back into order the application intended.The TCP header is 20 bytes long.TCP is a full duplex. With everything agreed upon in advance. accurate protocol. this added reliability is often unnecessary. retransmitting those that aren’t acknowledged. Urgent pointer – Indicates the end of urgent data. which defines the number of 32-bit words in the header. This type of communication is called connectionoriented. the sender’s TCP protocol contacts the destination’s TCP protocol to establish a connection. Code bits – Control functions used to set up and terminate a session. in addition to error checking. connection-oriented. in octets. no small task. After these segments are sent. a process called sequencing. because TCP doesn’t trust the lower layers and checks everything. Checksum – The cyclic redundancy check (CRC). 30 .Virtual Desktop The Transmission Control Protocol (TCP) takes large blocks of information from an application and breaks them into segments. Sequence number – Puts the data back in the correct order or retransmits missing or damaged data.

None of the upper or lower layer protocols have functions relating to routing. if any. The Internet Layer’s second job is to provide a single network interface to the upper-layer protocols. which includes the upper-layer headers. Data – Handed down to the TCP protocol at the Transport Layer. Without this layer. 31 . IP looks at each packet’s address. INTERNET PROTOCOL (IP): Internet Protocol (IP) is a connectionless protocol that gateways use to identify networks and paths to networks and hosts. Then. If it is local IP address (Based on network ID) then it communicates directly to the specific host. The Internet Protocol (IP) essentially is the Internet Layer. IP contains the big picture and could be said to “ see all”. If not local then it directly communicates to the Router. IP handles the routing of data between networks and nodes on those networks. THE INTERNET LAYER PROTOCOLS: There are two main reasons for the Internet Layer’s existence: routing and providing a single network interface to the upper layers. In other words.Virtual Desktop Option – Sets the maximum TCP segment size to either 0 or 32 bits. using a subnet mask it decides where a packet is to be sent next (local or remote). The other protocols found here merely exist to support it. That accomplished. it’s then the job of IP and the various Network Access protocols to get along and work together. It can do this because all the machines on the network have software. The complex and important task of routing is the job of the Internet Layer. in that it is aware of all the interconnected networks. or logical address called an IP address. application programmers would need to write “hooks” into every one of their applications for each different Network Access protocol.

.240 could be an IP address.in order to run ipconfig on your computer go to Start menu -> Run (or hold the windows key and press r) type in ipconfig in the box that pops up.. IP then reassembles data gram back into segments on the receiving side. Networks using the TCP/IP protocol route messages based on the IP address of the destination... log in to the router with the username and password you used to set it up with. Each data gram is assigned the IP address of the sender and of the recipient.. which I will explain in a bit how to get to..Virtual Desktop IP receives segments from the Transport Layer and fragments them into data grams.depending on whether you are using a router or not you have 2 options that I can think of right off 1st option is to run ipconfig on each computer and it will tell you the ip address of the computer you are on. and depending on the router you have you're going to want to look at the log or look around in the different settings to see if you can't find a list of currently connected devices almost every router I've seen to date has had a list somewhere of the devices connected to it Anyways back to option 1. The format of an IP address is a 32-bit numeric address written as four numbers separated by periods.. 2nd option type in the IP address of the router in the web browser of the one of the computers connected to it.10. Each number can be zero to 255..if that doesn't work then try typing cmd in the box. IP Address: An identifier for a computer or device on a TCP/IP network. 1.you should get an msdos 32 ..160. For example... How do you know the IP address of each computer and the corresponding name of the computer within the LAN? Well. To get the name of the computer you can go to the network configuration settings.

Now you know what the computer's name is. If everything goes well. the client tries to rendezvous with the server on the server's machine and port. Go to the Network Identification tab 4. It needs a new socket so that it can continue to listen to 33 . The client also needs to identify itself to the server so it binds to a local port number that it will use during this connection. Look at the value in the Computer Name box 6. Upon acceptance.. To make a connection request. the server gets a new socket bound to the same local port and has its remote endpoint set to the address and port of the client. listening to the socket for a client to make a connection request. which is located on the desktop 2... What Is a Socket? Normally.. On the client-side: The client knows the hostname of the machine on which the server is running and the port number on which the server is listening. Click the properties button 5.... The server just waits. This is usually assigned by the system..Virtual Desktop looking window that pops up.. Right click on the My Computer icon. the server accepts the connection. a server runs on a specific computer and has a socket that is bound to a specific port number. Left click on properties 3.after that look for the IP Address it will be clearly listed there Now as for getting to the name of the computers.I'm not sure about other operating systems but I'm pretty sure it's quite similar across all windows operating systems but I will give you the exact instructions from Windows 2000 Professional which is what OS I happen to run: 1.from there type in ipconfig.

UDP. and network traffic statistics. which handles the movement of data between host computers. or nodes. The suite is actually composed of several protocols including IP. and ICMP. The Basics of TCP/IP : TCP/IP (The Transmission Control Protocol/Internet Protocol) is the protocol suite that drives the Internet. INETADDRESS: 34 .Virtual Desktop the original socket for connection requests while tending to the needs of the connected client. A socket is bound to a port number so that the TCP layer can identify the application that data is destined to be sent. which transmits error messages. TCP that manages the movement of data between applications. if the connection is accepted. connected to the net). a socket is successfully created and the client can use the socket to communicate with the server. which also manages the movement of data between applications but is less complex and reliable than TCP. The client and server can now communicate by writing to or reading from their sockets. Definition: A socket is one endpoint of a two-way communication link between two programs running on the network. On the client side. Specifically. TCP/IP handles network communications between network nodes (computers.

getByName():The method returns an InetAddress for a host name passed to it. INSTANCE METHODS: 35 .To create an InetAddress object . we have to use factory methods. FACTORY METHODS: The InetAddress class has no visible constructors.Virtual Desktop The Inet Address class is used to encapsulate both the numerical IP address and domain name for that address. The InetAddress class hides the number inside.If these methods are unable to resolve the host name. 1. 3.Factory methods are static methods in a class return an instance of that class. they throw an ( UnKnownHostException) getAllByName(): This method return an array of InetAddresses that represent all of the address that a particular name resolves to. Three methods are. 2. getLocalHost() getByName() getAllByName() StaticInetAddress getLocalHost() throws UnKnownHostException StaticInetAddressgetByName(StringHostName)throws UnKnownHostException StaticInetAddress[]getAllByName(StringhostNamethrows UnKnownHostException getLocalHost(): This method simply returns the InetAddress object that represents the local host.

point to point. it can be used on the objects returned by methods.if this object has same internet address as other. The sockets class is designed to connect to server sockets and initiate protocol exchanges. Applets may only estabilish socket connections back to the host from which the applet was downloaded. TCP/IP SOCKETS: A socket can be used to connect java’s I/O system to other programs that may reside either on the local machine or an any other machine on the internet. TWO KINDS OF TCP SOCKETS: 1. This restriction exists because it would be dangerous for applets loaded through a firewall to have access to any arbitrary machine.persistent.TCP/IP sockets are used to implement reliable bidirectional.stream based connections between hosts on the internet. 2. server clients The server socket class is designed to be a “ listener” which waits for clients to connect. TCP/IP CLIENT SOCKETS: 36 . Boolean equals(object other)-> Returns true. Byte[ ] getAddress[]-> Returns a fair element byte array that represents the object’s internet address in network byte order.Virtual Desktop The InetAddress class also has a few non static methods.

int port) Creates a socket connecting the local host to the named host port can throw an unKnown HostException or an IOException.int port) Creates a socket connecting the local host to the named host and port can throw an UnKnownHostException or an Exception. Int getPort(): Returns the remote port to which this socket object is connected Int getLocalPort(): Returns the local port for which this socket object is connected. int port) Creates a socket using a preexisting InetAddress object and a port can throw an IOException. InputStream getInputStream() Returns the InputStream associated with the invoking socket.Virtual Desktop To create a socket object. Socket(String hostName. Socket object is used to the input and output streams associated with it. Socket(InetAddress ipAddress . by use of the following methods. Void close():closes both the InputStream and OutputStream Returns the InetAddress assocated with the socket TCP/IP SERVER SOCKETS: 37 . A socket can be examined at any time for the address and port information associated with it . OutputStream getOutputStream() Returns the outputStream associated with the invoking socket. InetAddress getinitAddress(): object. Socket(InetAddress ipAddress.

int size) DatagramPacket(byte data[]. is the mechanism used to send or receive the DATAGRAM PACKETS: DatagramPackets can be created with one of four constructors. DATAGRAMS: Datagrams are bundles of information passed between machines.InetAddress ipAddress.Virtual Desktop ServerSockets are different from normal sockets when you create a serversocket.int port) 38 .InetAddress localAddress) Creates a server socket on the specifed port with a maximum queue length of maxqueue on a multithreaded host localAddress specifies the Ipaddress to which this socket binds. ServerSocket(int port. DatagramPacket(byte data[]. The constructors for serversocket reflect the port numbers that to accept connections.int offset.int size. DatagramSocket.int size) DatagramPacket(byte data[]. The constructors are as follows: serverSocket(int port) : creates a server socket on the specified port with a queue length of 50.InetAddress ipAddress.int offset.int maxQueue.int port) DatagramPacket(byte data[]. Java implements datagrams on top of the UDP protocol by using two classes: DatagramPacket . DATAGRAM SOCKET: Datagram socket DatagramPackets. ServerSocket(int port. It will register itself with the system as having an internet in client connection.int size.int maxqueue): creates a server socket on the specified port with a maximum queue length of maxqueue.

A given application in a computer may function as a client with requests for services from other programs and also as a server of requests from other programs. a server is a computer program that provides services to other computer programs (and their users) in the same or other computers. To specifies a target address and port which are used by a Datagramsocket to determine where the data in the packet will be sent. To transmits packets beginning at the specified offset into the data Server: 1) In information technology. Specific to the Web. To specify an offset into the buffer at which data will be stored. 39 . a server is a program that awaits and fulfills requests from client programs in the same or other computers. 3) In the client/server programming model. 2) The computer that a server program runs in is also frequently referred to as a server (though it may be used for other purposes as well). The Web browser in your computer is a client that requests HTML files from Web servers.Virtual Desktop Specifies a buffer that will receive data and the size of a packet(it is used for receiving data over a DatagramSocket). a Web server is the computer program (housed in a computer) that serves requested HTML pages or files. A Web client is the requesting program associated with the user.

custom search options. The computer handling the request and sending back the HTML file is a server FILE SEARCH ASSISTANT DESCRIPTION File Searching: File Search Assistant (FSA) is a file search utility designed to make document searching fast. search reports and other options make your search efficient and rapid. The browser itself is a client in its relationship with the computer that is getting and returning the requested HTML file. easy and efficient. Preview pane. PORT NUMBERS 40 .A client is the requesting program or user in a client/server relationship. for example in: • • • Adobe Acrobat (PDF) documents. For example. Microsoft Word (. the user of a Web browser is effectively making client requests for pages from servers all over the Web.Virtual Desktop Client: Definition. you can search text in different file formats.doc) files. MS Office files Excel (xls) files. With Files Search Assistant.

and the Dynamic and/or Private Ports.Virtual Desktop The port numbers are divided into three ranges: the Well Known Ports. Network of Lowest Bidders The Army puts out a bid on a computer and DEC wins the bid. The Dynamic and/or Private Ports are those from 49152 through 65535 A value of 0 in the port numbers registry below indicates that no port has been allocated.9. Then the President decides to invade Grenada and the armed forces discover that their computers cannot talk to each 41 . Section 19. The Well Known Ports are those from 0 through 1023. The registration procedure is defined in [RFC4340]. The Air Force puts out a bid and IBM wins. The Registered Ports are those from 1024 through 49151 DCCP Registered ports SHOULD NOT be used without IANA registration. Browser: A browser is an application program that provides a way to look at and interact with all the information on the World Wide Web. The registration procedure is defined in [RFC4340].9. The word "browser" seems to have originated prior to the Web as a generic term for user interfaces that let you browse (navigate through and read) text files online. DCCP Well Known ports SHOULD NOT be used without IANA registration. Section 19. The Navy bid is won by Unisys. The Registered Ports.

However. the sudden explosion of high speed microprocessors. The Internet Protocol was developed to create a Network of Networks (the "Internet"). One device provides the TCP/IP connection between the LAN and the rest of the world.25. TCP/IP shares the LAN with other uses (a Novell file server. To insure that all types of systems from all vendors can communicate. However. the national phone companies traditionally standardize on X. TCP/IP is absolutely standardized on the LAN. In the US. was delivered by the lowest bidder on a single contract.Virtual Desktop other. Windows for Workgroups peer systems). fiber optics. The DOD must build a "network" out of systems each of which. Individual machines are first connected to a LAN (Ethernet or Token Ring). and digital phone systems has created a burst of new 42 . by law. In Europe. larger networks based on long distances and phone lines are more volatile. many large corporations would wish to reuse large internal networks based on IBM's SNA.

it is convenient for most Class B networks to be internally managed as a much smaller and simpler version of the larger network organizations. With cable TV and phone companies competing to build the National Information Superhighway. 43 . FDDI. frame relay. or it can be carried within an internal corporate SNA network. New technologies arise and become obsolete within a few years.Virtual Desktop options: ISDN. Subnets Although the individual subscribers do not need to tabulate network numbers or provide explicit routing. nationwide. It is common to subdivide the two bytes available for internal assignment into a one byte department number and a one byte workstation ID. The original design of TCP/IP as a Network of Networks fits nicely within the current technological uncertainty. Asynchronous Transfer Mode (ATM). TCP/IP data can be sent across a LAN. Furthermore. or it can piggyback on the cable TV service. machines connected to any of these networks can communicate to any other network through gateways supplied by the network vendor. or worldwide communications. no single standard can govern citywide.

Virtual Desktop The enterprise network is built using commercially available TCP/IP router boxes. Messages 44 . Each router has small tables with 255 entries to translate the one-byte department number into selection of a destination Ethernet connected to one of the routers.

Unlike TCP. Arriving at Yale. Like the Transmission Control Protocol.132 part of the number. Specifically. UDP uses the Internet Protocol to actually get a data unit (called a datagram) from one computer to another. is sometimes referred to as UDP/IP. but it is not effected by changes outside the university or the movement of machines within the department. 45 . however. together with IP. This means that the application program that uses UDP must be able to make sure that the entire message has arrived and is in the right order. UDP does not provide sequencing of the packets that the data arrive in. the 59 department ID selects an Ethernet connector in the C& IS building. UDP: Definition : . UDP is an alternative to the Transmission Control Protocol (TCP) and. The Yale network must be updated as new Ethernets and departments are added.132.234) are sent through the national and New England regional networks based on the 130.UDP (User Datagram Protocol) is a communications protocol that offers a limited amount of service when messages are exchanged between computers in a network that uses the Internet Protocol (IP).Virtual Desktop to the PC Lube and Tune server (130. The 234 selects a particular workstation on that LAN. UDP does not provide the service of dividing a message into packets (data grams) and reassembling it at the other end. The Trivial File Transfer Protocol (TFTP) uses UDP instead of TCP. Network applications that want to save processing time because they have very small data units to exchange (and therefore very little message reassembling to do) may prefer UDP to TCP.59.

is in layer 4. especially intranets. a checksum capability to verify that the data arrived intact. UDP. which examines each message and blocks those that do not meet the specified security criteria. • Application gateway: Applies security mechanisms to specific applications. • Circuit-level gateway: Applies security mechanisms when a TCP or UDP connection is established. There are several types of firewall techniques: • Packet filter: Looks at each packet entering or leaving the network and accepts or rejects it based on user-defined rules. In the Open Systems Interconnection (OSI) communication model. All messages entering or leaving the intranet pass through the firewall. like TCP. or a combination of both. In addition. packets can flow between the hosts without further checking. Once the connection has been made. Firewalls are frequently used to prevent unauthorized Internet users from accessing private networks connected to the Internet. Packet filtering is fairly effective and transparent to users. Firewalls can be implemented in both hardware and software. but can impose performance degradation. many firewalls use two or more of these techniques in concert. 46 . It provides port numbers to help distinguish different user requests and.Virtual Desktop UDP provides two services not provided by the IP layer. the Transport Layer. The proxy server effectively hides the true network addresses. but it is difficult to configure. In practice. it is susceptible to IP spoofing. Firewall: A system designed to prevent unauthorized access to or from a private network. • Proxy server: Intercepts all messages entering and leaving the network. optionally. such as FTP and Telnet servers. This is very effective.

data can be encrypted. Except for those constraints imposed by the Internet environment. the intranet and the extranet. Java gives the programmer. Today. Features Of The Java Language About Java Initially the language was called as “oak” but it was renamed as “Java” in 1995. two 47 . The primary motivation of this language was the need for a platform-independent (i. Java is to Internet programming where C was to system programming. the Internet uses a portion of the total resources of the currently existing public telecommunication networks. Java is cohesive and consistent. the Internet is a public. In a network. also make use of the TCP/IP protocol. sometimes called simply "the Net. Importance of Java to the Internet Java has had a profound effect on the Internet..Virtual Desktop A firewall is considered a first line of defense in protecting private information." is a worldwide system of computer networks . Physically.a network of networks in which users at any one computer can. and self-sustaining facility accessible to hundreds of millions of people worldwide. architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices. get information from any other computer (and sometimes talk directly to users at other computers). This is because. what distinguishes the Internet is its use of a set of protocols called TCP/IP (for Transmission Control Protocol/Internet Protocol). Technically. For greater security. Finally. if they have permission. full control. Java expands the Universe of objects that can move about freely in Cyberspace. Two recent adaptations of Internet technology. cooperative. Internet: The Internet.e.    Java is a programmer’s language.

This type of program can gather private information. another type of malicious program exists that must be guarded against. They are: Passive information and Dynamic active programs. you are risking a viral infection. It is more or less like one creating using C or C++. Most users still worried about the possibility of infecting their systems with a virus. “firewall” between a network 48 . such as credit card numbers. and those who did scanned them for viruses prior to execution. just like an image. you can safely download Java applets without fear of virus infection or malicious intent. An applet is actually a tiny Java program. dynamically downloaded across the network. Java’s ability to create Applets makes it important. Self-executing programs cause serious problems in the areas of Security and probability. Features Of Java Security Every time you that you download a “normal” program. it is an intelligent program. It can react to the user input and dynamically change.Virtual Desktop categories of objects are transmitted between the Server and the Personal computer. The Dynamic. bank account balances. In addition. most users did not download executable programs frequently. Java addresses those concerns and by doing so. Java can be used to create two types of programs Applications and Applets: An application is a program that runs on our Computer under the operating system of that computer. Prior to Java. But the difference is. When you use a Java-compatible Web browser. has opened the door to an exciting new form of program called the Applet. But. Java answers both these concerns by providing a application and your computer. not just a media file. An Applet is an application designed to be transmitted over the Internet and executed by a Java – compatible web browser. and passwords.

That is. as it is needed. Java’s solution to these two problems is both elegant and efficient. in its standard form. The reason is. Although Java was designed for interpretation. it compiles byte code into executable code in real time. When the JIT compiler is a part of JVM. there is the Java virtual machine. a class loader is invoked and does 49 . The JIT compiles code. it is verified.As you will see. Java Virtual Machine (JVM) Beyond the language. Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system. the same mechanism that helps ensure security also helps create portability. The virtual machine can be embedded within a web browser or an operating system. once the run-time package exists for a given system. during execution. The Java virtual machine is an important element of the Java technology. any Java program can run on it. It is not possible to compile an entire Java program into executable code all at once. Once a piece of Java code is loaded onto a machine. Translating a Java program into byte code helps makes it much easier to run a program in a wide variety of environments. some means of generating portable executable code is needed . there is technically nothing about Java that prevents on-the-fly compilation of byte code into native code. Sun has just completed its Just In Time (JIT) compiler for byte code. The Byte code The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code. because Java performs various run-time checks that can be done only at run time. Indeed. the JVM is an interpreter for byte code. demand basis.Virtual Desktop Portability For programs to be dynamically downloaded to all the various types of platforms connected to the Internet. which is called the Java Virtual Machine (JVM). on a piece-by-piece. As part of the loading process.

Class file is then loaded across the network or loaded locally on your machine into the execution environment is the Java virtual machine. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. Java file that is processed with a Java compiler called javac. which interprets and executes the byte code. The first box indicates that the Java source code is located in a. Compilation of code When you compile the code.Virtual Desktop byte code verification makes sure that the code that’s has been generated by the compiler will not corrupt the machine that it’s loaded on. able to load code when needed from a machine in the same room or across the planet. high performing environment for development. robust. Java is a dynamic system. Overall Description Java Sourc e Java byte code Jav aVM Picture showing the development process of JAVA Program . So byte code verification is integral to the compiling and executing of Java code. the Java compiler creates machine code (called byte code) for a hypothetical machine called Java Virtual Machine (JVM). Java Architecture Java architecture provides a portable. which is then interpreted on each platform by the run-time environment. which contains the byte code. Java provides portability by compiling the byte codes for the Java Virtual Machine. Class Java Java programming uses to produce byte codes and executes them. The Java compiler produces a file called a. The JVM is created for overcoming the issue of 50 . The JVM is supposed to execute the byte code. The. class file.

This machine is called Java Virtual Machine. ………. Simple Java was designed to be easy for the Professional programmer to learn and to use effectively. ………. Most of the confusing concepts from C++ are either left out of Java or implemented in a cleaner.Virtual Desktop portability. ………… PC Compiler Java Macintosh Compiler Byte code (Platform Indepen dent) Java Interpreter (PC) SPARC Java Interpreter (Macintosh Java ) Interpreter ( Spare ) Compiler During run-time the Java interpreter tricks the byte code file into thinking that it is running on a Java Virtual Machine. The code is written and compiled for one machine and interpreted on all machines.. If you are an experienced C++ programmer. more approachable manner. In Java there are a small number of clearly defined ways to accomplish a given task. In reality this could be a Intel Pentium Windows 95 or SunSARC station running Solaris or Apple Macintosh running system and all could receive code from any computer through Internet and run the Applets. 51 . Because Java inherits the C/C++ syntax and many of the object oriented features of C++. learning Java will be even easier. Compiling and interpreting Java Source Code Source Code ………...

such as integers.Virtual Desktop Object-Oriented Java was not designed to be source-code compatible with any other language. Swing components don’t have to be rectangular. Robust The multi-platform environment of the Web places extraordinary demands on a program. 52 . Java is strictly typed language. buttons can be round. pragmatic approach to objects. For example. all run time errors can – and should –be managed by your program. The ability to create robust programs was given a high priority in the design of Java. Java Swing Swing components have capabilities far beyond what the AWT components offer. because the program must execute reliably in a variety of systems. One outcome of this was a clean usable. Assistive technologies such as screen readers can easily get information from Swing components. while simple types. This allowed the Java team the freedom to design with a blank slate. The object model in Java is simple and easy to extend. It is easy to add or change the orders drawn around most Swing components. One of the standard look and feel options is a cross platform look and feel the Java Look &feel. it checks your code at compile time and run time. are kept as high-performance non-objects. Java virtually eliminates the problems of memory management and deallocation. Another interesting Swing feature is that you can specify which look and feel your program’s GUI uses. Swing buttons and labels can display images instead of or in addition to text. In a well-written Java program. which is completely automatic.

calls methods or procedures and Continues running and processing until it’s complete or until the program ends. for example-from anywhere but an event handler. no other thread can call any other synchronized method on the same object. Once a thread is inside a synchronized method. then you need to take special steps to make the modification execute on the event dispatching thread. IBM and other companies. without interfering with each other. Swing provides a large number of useful GUI controls that originated with Netscape’s Internet Foundations classes (IFC). it runs the initialization code. in parallel. These program use a single Thread – where thread is a single locus control for the program. Multithreading. Java Threads Java uses threads to enable the entire environment to be asynchronous. When a program starts executing. For example. The Swing components go far beyond the IFC. enable several different threads to run at the same time inside the same program. to the point where there is no visible resemblance between Swing components and those of the IFC. these kinds of programs. If multithreads are used the computation work in a thread can be used and the rest of the program could be run independently. Netscape. 53 . If run. The biggest difference between the AWT components and Swing Components is that the Swing components are implements with absolutely no native code. because the program is running in single thread. this long computation may not be needed until later on in the program execution. waiting becomes mandatory for sometime to finish the computation and start the execution of the rest of the program. Swing is major component of the JFC which is the result of a large collaborative effort between Sun. as in Java.Virtual Desktop Swing components aren’t thread safe. supposed that a long computation near the start of the program’s execution. If you modify a visible Swing component.

Virtual Desktop SYSTEM DESIGN 54 .

Samples of the output and input are also presented. It refers to the technical specifications that will be applied in implementations of the candidate system. details related to justification of the system and an estimate of the impact of the candidate system on the user and the organization are documented and evaluated by management as a step toward implementation. The designer’s goal is how the output is to be produced and in what format. The processing phases are handled through the program Construction and Testing.Virtual Desktop The most creative and challenging phase of the life cycle is system design. Design provides us with representations of software that can be assessed for quality. a process or a system with sufficient details to permit its physical realization”. The term design describes a final system and the process by which it is developed. Design is the only way where we can accurately translate a customer’s requirements into 55 . The importance of software design can be stated in a single word “Quality”. Finally. Second input data and database files have to be designed to meet the requirements of the proposed output. The design may be defined as “the process of applying various techniques and principles for the purpose of defining a device.

The process in the context level diagram is exploded into other process at the first level DFD. These are known as the logical data flow diagrams. It consists a single process bit. through processed. which plays vital role in studying the current system. These are the central tool and the basis from which the other components are developed. Process is further identified with a number that will be used for identification purpose. DATA FLOW DIAGRAMS A data flow diagram is graphical tool used to describe and analyze movement of data through a system. that might fail if small changes are made. Each component in a DFD is labeled with a descriptive name. So it is an essential phase in the development of a software product. Using two familiar notations Yourdon. Gane and Sarson notation develops the data flow diagrams. 56 . departments and workstations. The lop-level diagram is often called context diagram. A full description of a system actually consists of a set of data flow diagrams. The transformation of data from input to output. may be described logically and independently of physical components associated with the system. Without design we risk building an unstable system. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The physical data flow diagrams show the actual implements and movement of data between people. It may as well be difficult to test. The development of DFD’s is done in several levels.Virtual Desktop a complete software product or system. or could be one who’s quality can’t be tested.

This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process. DFD SYMBOLS: In the DFD. 4. data at rest or a temporary repository of data Process that transforms data flow. A DFD consists of a series of bubbles joined by data flows in the system. there are four symbols 1. A DFD is also known as a “bubble Chart” has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. Larry Constantine first developed the DFD as a way of expressing system requirements in a graphical from. this lead to the modular design. An arrow identifies data flow. A square defines a source(originator) or destination of system data 2.Virtual Desktop The idea behind the explosion of a process into more process is that understanding at one level of detail is exploded into greater detail at the next level. So it is the starting point of the design to the lowest level of detail. An open rectangle is a data store. A circle or a bubble represents a process that transforms incoming data flow into outgoing data flows. 57 . It is the pipeline through which the information flows 3.

Each data store should contain all the data elements that flow in and out. they are numbered. An alternative way is to repeat the source symbol as a destination. One way to indicate this is to draw long flow line back to a source. Data should be representative of the process. traditionally flow from source to the destination although they may flow back to the source. 3. 4. When a process is exploded into lower level details. Each name The direction of flow is from top to bottom and from left to right.Virtual Desktop Source or Destination of data Data flow Data Store CONSTRUCTING A DFD: Several rules of thumb are used in drawing DFD’s: 1. Process should be named and numbered for an easy reference. Since it is used more than once in the DFD it is marked with a short diagonal. 2. 58 . The names of data stores and destinations are written in capital letters. Process and dataflow names have the first letter of each work capitalized A DFD typically shows the minimum contents of data store.

3. New Physical 1) CURRENT PHYSICAL: In Current Physical DFD process label include the name of people or their positions or the names of computer systems that might provide some of the overall system-processing label includes an identification of the technology used to process the data. weekly. Similarly data flows and data stores are often labels with the names of the actual physical media on which data are stored such as file folders. 2) CURRENT LOGICAL: 59 . New Logical 4. monthly or yearly. whether the data flows take place daily. computer files. The DFD shows flow of data. Current Logical 3. business forms or computer tapes. TYPES OF DATA FLOW DIAGRAMS 1. not of control loops and decision are The DFD does not indicate the time factor involved in any process The sequence of events is not brought out on the DFD. 2. Current Physical 2. Missing interfaces redundancies and like is then accounted for often through interviews. controlled considerations do not appear on a DFD. SAILENT FEATURES OF DFD’s:1.Virtual Desktop Questionnaires should contain all the data elements that flow in and out.

RULES GOVERNING THE DFD’S PROCESS:1) 2) sink. must move data from the source and place the data into data store SOURCE OR SINK The origin and purpose of data is explained as follows:1) Data cannot move direly from a source to sink it must be moved by a process No process can have only outputs. No process can have only inputs. which receives. absolute function removal and inefficient flows recognized. 3) NEW LOGICAL: This is exactly like a current logical model if the user were completely happy with he user were completely happy with the functionality of the current system but had problems with how it was implemented typically through the new logical model will differ from current logical model while having additional functions. 3) 1) 2) 3) A process has a verb phrase label. 4) NEW PHYSICAL: The new physical represents only the physical implementation of the new system. a process. Data cannot move directly from one data store to another data store. a process Data cannot move directly from an outside source to a data store.Virtual Desktop The physical aspects at the system are removed as mush as possible so that the current system is reduced to its essence to the data and the processors that transforms them regardless of actual physical form. DATA STORE must move data. A data store has a noun phrase label. If an object has only inputs than it must be a 60 .

Virtual Desktop 2) A source and /or sink has a noun phrase land DATA FLOW 1) A Data Flow has only one direction of flow between symbols. 61 . 2) 3) A join in DFD means that exactly the same data comes from any of two or A data flow cannot go directly back to the same process it leads. 4) 5) A Data flow to a data store means update (delete or change). A data Flow from a data store means retrieve or use. be at least amount one other process that handles the data flow produce some other data flow returns the original data into the beginning process. A data flow has a noun phrase label more than one data flow noun phrase can appear on a single arrow as long as all of the flows on the same arrow move together as one package. The later is usually indicated however by two separate arrows since these happen at different type. It may flow in both directions between a process and a data store to show a read before an update. There must more different processes data store or sink to a common location.

Virtual Desktop DATAFLOW DIAGRAMS 62 .

Virtual Desktop O – LEVEL: Information Request CLIENT 1 Response VIRTUAL DESK TOP Request CLIENT 2 63 .

Virtual Desktop Request VCLIENT 1 Response VIRTUAL DESK TOP VSERVER 1 SOCKET SERVER F Send VIRTUL DESK TOP Receiver CLIENT F 64 .

Virtual Desktop SOCKET CLIENT F1 SERVER F CLIENT F1 65 .

0 V CLIENT Services V Server Server V CLIENT Receiver 66 .Virtual Desktop Request 1.

Virtual Desktop SYSTEM TESTING 67 .

 A good test case is one that has a high probability of finding error.  The software more or less confirms to the quality and reliable standards. systematically and with minimum effort and time. The results of testing are used later on during maintenance also. Hence one should not start testing with the intent of showing that a program works.  The tests are inadequate to detect possibly present errors. Testing Objectives: The main objective of testing is to uncover a host of errors. Testing performs a very critical role for quality assurance and for ensuring the reliability of software.  A successful test is one that uncovers an as yet undiscovered error. we can say. 68 . Testing is the process of executing a program with the intent of finding errors.Virtual Desktop PROJECT TESTING Testing is the process of detecting errors. Psychology of Testing: The aim of testing is often to demonstrate that a program works by showing that it has no errors. but the intent should be to show that a program doesn’t work. Stating formally.  Testing is a process of executing a program with the intent of finding an error. The basic purpose of testing phase is to detect the errors that may be present in the program. if it exists.

Test cases are devised with this in mind. Code Testing: This strategy examines the logic of the program.e. The basic levels of testing are as shown below… Acceptance Testing Client Needs System Testing Requirements Design Integration Testing Unit Testing Code System Testing: The philosophy behind testing is to find errors. To follow this method we developed some test data that resulted in executing every instruction in the program and module i. 69 . A strategy employed for system testing is code testing.Virtual Desktop Levels of Testing: In order to uncover the errors present in different phases we have the concept of levels of testing.

Systems are not designed as entire nor are they tested as single systems. All modules must be successful in the unit test before the start of the integration testing begins. Through these errors resulting from interaction between forms initially avoided. The Programmer tests where modules are designed with different parameters. Admin Login.Virtual Desktop Every path is tested. 70 . The inputs are validated when accepting from the user. Link Testing: Link testing does not test software but rather the integration of each form in system.e. Profile update. The primary concern is the compatibility of each module. when developing the form as well as finishing the development so that each module works without any error. length. Types of Testing  Unit Testing  Link Testing Unit Testing: Unit testing focuses verification effort on the smallest unit of software i. independent of one another to locate errors. Unit testing is first done on forms. This enables to detect errors. type etc. There are so many forms like Student Login. Giving different sets of inputs has tested each form. To ensure that the coding is perfect two types of testing is performed or for that matter is performed or that matter is performed or for that matter is performed on all systems. In this project each form can be thought of a module. Using the detailed design and the process specifications testing is done to uncover errors within the boundary of the module. Company Login. the module.

and the goal is to see if software meets its requirements. I tested step wise every piece of code. The white box testing is also called Glass Box Testing. Acceptance Testing: Acceptance Test is performed with realistic data of the client to demonstrate that the software is working satisfactorily. This testing activity can be considered as testing the design and hence the emphasis on testing module interactions. taking care that every statement in the code is executed at least once. the internal logic of program is not emphasized. It is the process of finding errors and missing operations and also a complete verification to determine whether the objectives are met and the user requirements are satisfied. White Box Testing: This is a unit testing method where a unit will be taken at a time and tested thoroughly at a statement level to find the maximum possible errors. Testing here is focused on external behavior of the system. 71 . System Testing: Here the entire software system is tested. the emphasis being on testing interfaces between modules. In this project integrating all the modules forms the main system. The reference document for this process is the requirements document. When integrating all the modules it has been checked whether the integration effects working of any of the services by giving different combinations of inputs with which the two services run perfectly before Integration. Test cases should be selected so that the largest number of attributes of an equivalence class is exercised at once. The goal here is to see if modules can be integrated properly. The testing phase is an important part of software development.Virtual Desktop Integration Testing: After the unit testing we have to perform integration testing.

Criteria Satisfied by Test Cases: 1) reasonable testing. 2) specific test at hand. Test cases that tell us something about the presence Test cases that reduced by a count that is greater than one. sample data which is used to check all possible combinations of execution paths through the code at every module level. Here the module will be treated as a block box that will take some input and generate output. Output for a given set of input combinations are forwarded to other modules. rather than an error associated only with the 72 . Black Box Testing: This testing method considers a module as a single unit and checks the unit at interface and communication with other modules rather getting into details at statement level. the number of additional test cases that much be designed to achieve or absence of classes of errors.Virtual Desktop I have generated a list of test cases.

delivering. the products cascade from one level to another in smooth progression. processes and results in well-defined products. developing. The phased lifecycle model consists of following phases. Analysis Planning. Analysis. Design. User needs Definition Design Design Details Implementation System Testing Maintenance 73 . Implementation. Different lifecycle models emphasize different aspects and no single lifecycle model is suitable for all software products. cost control. resource allocation. A lifecycle model that is understood and accepted improves project communication and enhances project manageability. testing. The Phased Life Cycle Model The phased lifecycle model represents software lifecycle as a series of successive activities. and maintaining a software product. and product quality. System Testing and Maintenance This model is sometimes called the Waterfall Model.Virtual Desktop LIFE CYCLE MODELS The stage of planning and development process involves defining. This phase requires well-defined input information. operating.

Virtual Desktop Code. Design is concerned with its software components. built in and user defined data types. developing a recommended solution strategy. and debugging. maintaining a record of design decisions and providing blueprint implementation phase. specifying relationships among components specifying some structure. Developing a strategy for integrating the components of a software system into a functioning requires careful planning so that modules are available for integration when needed. debug and Test Integration & Acceptance Enhance. Fix Adapt The Analysis Stage consists of Planning and Requirements definition. secure type checking. The products of planning are a System definition and a project plan. concurrency constructs and separates compilation modules. A feasibility study. Acceptance testing involves planning and execution of various tests in order to demonstrate that the implemented system satisfies the requirement document. Maintenance activities include 74 . flexible scope rules exception handling mechanism. The implementation phase of software development involves translation of design specification into source code. determining the acceptance criteria and planning development process. To enhance the quality of the software the methods are structured control constructs. The Software Design follows analysis. System Testing involves two kinds of testing integration testing and acceptance testing. Design consists of detailed design and Architectural design. documenting and unit testing the source code. The Maintenance phase comes after the acceptance of the product by the customer and release of the system for production work.

Now the session starts and both exchange information as explained in TCP/IP and it also uses the TFTP for file transfer. In order to make an entry into this file initially the administrator has to Up it into the network after having received a signal from it if it is not already present in the file. 75 . So. and correction of software bugs. Hosts_Up is a file in which all the nodes that are active to take part in the communication are present. if the clients IP so received happens to be a new valid IP it is checked for its entry in the Hosts_Up file. This project follows the Phased Life Cycle Model or the Water Fall model to a large extent. if not present the file is updated with the name of the system and the IP address.Virtual Desktop enhancements of capabilities. adaptation of software to new processing environments.

Virtual Desktop Output Screens 76 .

Virtual Desktop RMI Screen : 77 .

Virtual Desktop Server screen : 78 .

Virtual Desktop Viewer screen 1: 79 .

Virtual Desktop Viewer screen 2: 80 .

Virtual Desktop Press start screen : 81 .

Virtual Desktop

Out put screen :
82

Virtual Desktop

Output screen on Mac OS :
83

Virtual Desktop

in Mac OS X "Leopard"

Conclusion :
84

Virtual Desktop This application run in any OS. Not need particular OS , But we need compulsory java run time 1.6.0_12 software because this application developed with this new version of java runtime software. And use minimum 1.5 runtime software also and not use bellow 1.5 , it is compulsory. This application Personal allows you to remotely access your computer from any other Internet-connected computer in the world with almost any operating system through a secure, private connection This application is a unique Web-based technology that works with your existing firewall and Internet infrastructure. You do not have to change or open ports, configure IP addresses or deploy any hardware or software, and you can use your existing corporate Internet connection. The service and architecture are designed for maximum performance, reliability and scalability This application is for individuals needing remote access to 1-20 PCs. It's an easy and secure remote-access solution that enables you to conveniently access email, files, programs and network resources from home or the road. Get unlimited access to your PCs from any Web browser anywhere This application is Personal allows you to access and work on your PC on-the-fly from any location connected to the Internet. Get reliable, convenient access to email, files, programs and network resources from home or the road. When you are abroad or away from your computer you can access all the files and folders in your computer remotely.

Bibliography :
85

User interface with multiple workspaces for sharing display system objects. D.. Greg Donner Workbench Nostalgia site: A 2024 monitor and Workbench 1. LaStrange (1990) swm: An X window manager shell.3 modified to 1. By Jeremy Reimer. Stuart Card (1986) Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface ACM Transactions on Graphics (TOG) 2.4 External links : • Ars Technica: "The Micro-AmigaOne and Amiga OS4 Developer Prerelease" (Update 1). Thomas E.Virtual Desktop References : 1.533. Austin Henderson. US Patent 5. 4. Jr. 86 . USENIX Summer.183 3.

Virtual Desktop Monday January 17. 2005 ("Desktop and drawers" section). Retrieved from "http://en.org/wiki/Virtual_desktop" Categories: Graphical user interface | User interface techniques For java programs: J2SE 5th edition author by Herbert schildt Programming with java A primer 3rd edition author by E . 87 .wikipedia. Balagurusamy.

Sign up to vote on this title
UsefulNot useful