Home
coen-2004-project-19.. - Computer Engineering
Contents
1. Change Password c Once you are finished changing your password click on the OK button to change your password or click on the Cancel button to not change it 10 3 LANE Search Manager In the Search Manager a user can search for files and download them To access the LANE Search Manager from any other screen simply click on the Search button on the top left section of the screen 10 3 1 Search for Shared Files Perform the following steps to search for a file a In the box under the heading Enter Search a user can type in the file name or part of the file name to search the LANE network for those files b Click on the button Search under the box NOT the Search 40 button in the top left corner of the screen to perform the search A user can stop search by clicking on the Stop Search button c Any files that match the user s search criteria will appear in the box to the right marked Search Results The name of the file file type size and user will be displayed like in the example below 1515 File Manager Search Transfers Blue Lace 16 bmp Image 2KB Coffee Bean bmp Image 17 KB Sean Windows XP Critical Stop wav Audio 39 KB Sean 2003 2004 Stats Database rar Software Archive 186397 KB Sean Stop Search File Types Im Types Size Size v Username Search Manager If a user wanted to search for specific files o
2. 130 012003 Homework 3 zw 04 2003 fram 2778 FRAN Technology Backgrounder enn 0232202 04427103 mis 1309 0212202 Section 11 Non volatile RAM Technology El rd Homework 6 248 Ab cotical erasable storage buffer based on parametric nor nearity Ofiber Opti 2100 0232202 Duplicated Striping Herarchical Storage Architecture nua Information Storage and Retrieval from Single Atom Optics CI 98 Mater Skavivatle storage systems Computer 1870 02 2202 More info x File Browser 44 Se Ue on 0 00 00 skater 0 00 00 0 00 00 87 Search fort os 0 00 00 100 Homework on hancoo 0 00 00 i Image karcoofp 0 00 00 Image Performing search please wak os kancootp 0 00 00 5 Image sero 2 oe weaver 0 00 00 m Image blonderth 0 00 00 Oevering Seeei2th 0 00 00 5 0000 AMbspeers 0 00 00 m images 0 00 00 455 Odocumerts iormgnar 0 00 00 Destroyer 0 00 00 E OPlortss Destroyer 0 00 00 20 mdi 0 00 00 0 00 00 29 wdamant 0 00 00 redde 0 00 00 tazaaitew 0 00 00 357 brttysti 0 000 673 0 00 00 LI 0 00 00 0 00 00 FIANCES
3. Alternate Courses b Producer is not found contact producer c Document is not found try a broader search or contact producer e Permission denied contact producer to make sure access is granted 10 2 2 Transfer Large Files Actors Purpose Overview 3D Artists Transfer a high quality high color rendered 3D image Transferring extremely large files one gigabyte or larger normally can be difficult LANE makes this easy by allowing direct connections during transfer optimized to take advantage of inherently high LAN bandwidth Course of Events a 3D Artist 1 searches for 3D Artist 2 s username and b Artist 2 is found and a list of his shared files is returned c Artist 1 downloads file d Direct connection is established e Download completes successfully f Direct connection terminates Alternate Courses b 3D Artist 2 not found contact Artist 2 2 3 No Specific User Actor Purpose Overview Quality Assurance Engineer Find a Test Plan without knowing what user wrote it The quality assurance engineer wants to test a specific part of a program He knows that a test plan has been written but doesn t know who wrote it Using LANE he can search the network for the name of the component and will likely find the test plan on the network Course of Events a Quality assurance engineer types in the name of the component into LANE s search b Optionally Q A engineer c
4. LANE has several advantages LANE is a very small and compact program this makes it easily distributable LANE is ready to go with no initial setup so it requires no support from a technical administrator LANE provides extremely fast transfers It also provides fast searches of every client on the network as opposed to only a few clients Search requests are only forwarded through the network ring so search broadcasts are unnecessary which saves bandwidth Security is distributed so there is no need to setup an authorization server or worry about it going down LANE also has some disadvantages LANE hasn t been tested in significantly large networks There may be problems with a search if it has to propagate through thousands of computers Since security is distributed there do exists some possible holes 32 although many of them require an attacker to have access to user s personal workstation in which case there is a larger problem anyhow DES is an old form of encryption and there are more secure standards available An upload interface was not implemented so initiating an upload without a download request is impossible 9 7 Possible Improvements There are several improvements and additions to LANE that can be implemented The most obvious is an upload interface which would allow users to start uploads to other users Another is improving the encryption mechanism used to a more secure standard Implementing an encryption s
5. additional features e Graphical User Interface Yapdiangco e Run on other operating systems Stewart e Quick and responsive Raimondi e Advanced features available Roberts e Easy to setup and maintain Yapdiangco e Documentation changes and additions The GUI will be much more elaborate than the previous and ensure that the user can interact quickly and efficiently with LANE 6 7 Testing and Debugging Until May 2004 6 8 Final Touches Through May 2004 e Construct Installer Raimondi e Beautify GUI Yapdiangco e Hammer out any last bugs Stewart Roberts e Complete Documentation All 6 9 Prepare Presentation 1 Week of 2004 6 10 Product Finished June 2004 25 7 0 Actual Product Development Process 7 1 Design 9 03 1 04 a Define general product functionality and problem statement 9 03 b Research theoretical aspects of the program and begin designing basic functionality 10 03 c Conduct more detailed design processes for the product 11 03 d Rough draft of design report 11 21 03 e First draft of design report 12 5 03 f Revised design report 1 23 04 7 2 Initial Programming February March 2004 e File System Roberts e Basic Security Stewart e Ability to detect 1 other client on the network Raimondi e Ability to download files Raimondi e Ability to search for files and users Stewart e Graphical User Interface Yapdiangco e Ability to run on Windows
6. i 14 2 2 Network 2 2 ih 15 17 doses 18 4 5 Graphical User 19 LR 21 5 1 Time Pressure or eg ecce tei ie e etes iate e 21 5 2 Unfamiliar with Technology 21 5 3 Other Software Developers 21 2 ASS ER 21 5 3 Scalability eau sce oi tbe dc eiut me eda uen 22 6 0 Planned Product Development Process e c eere ee eene ee eene eene 23 OG e dM Ct e cece E 23 62 Initial Propane gece een rat 23 6 3 Testing Debugging 24 6 4 Continue Programming 24 6 5 Testing Debug 24 6 6 Complete Programming 25 6 7 Testing and Debugging 25 6 9 Final TOUCHES T R EERI 25 OO Prepare Presentation et sa ects on seas E E 25 6 10 Product Finished 25 7 0 Planned Product Development Process 26 26 4 2 Initial Programing 26 7 3 Testing and Debugging 26 TA Continue Programming este tr 26 ky pestine and Debugging 26 7 6 Complete Programming 27 TT Testing and DEDHE BIDS 27 oO Final POUCHES M E T
7. 0 00 00 soz 0 00 00 Bodyfler 0 00 00 134 as stephe 0 00 00 en ladygode 0 00 00 3906 0 00 00 128 0 00 00 1083 comandly 0 00 00 m delatus 0 00 00 LJ 0 00 00 18B bcobbi7 0 01 66 1 Document 208 0 00 18 kd Document 21B Basedrop 0 00 19 9 Document 2 8 0 00 20 9 Oocumert 35 teu COIS 2B 0 00 19 9 Document 2 Basedrop 0 00 20 5 Document 2Users 00000 ideo homework 0 00 01 za f Chess Traning Material homework set pdt 1 ghene 0 05 99 Document xh ads 0 9157 users online 618 705 206 4 794 496 G ta T L p 2 ai Search Manager 45 5 gt LANE Local Area Network Exchange Downloaded Tctal See Homeworks 36b doc Remotely Obed Homework 36 doc Remotely queved Obid soaetyandculturett Remotely queued Homework Session Remotely queued Homework Session bol Remotely queued VALLEJO HOMEWORK ls t ne Nicks homework tunes Completed b b gt Dovtiosdna 0 00 02 SADISH User Progress Sue Uploaded T otal Sce Speed Nicks homework tunes Downloading 0 00 02 C
8. 27 1 9 Prepare Presentation 27 TAO Product Finished e Ee 27 8 0 Societal ISSUES Tr P 28 Bul Ethical sospetto ttim 28 8 2 dec 28 Poe Ct 28 o eo C LR d 28 5 9 Health and Safety 28 6 Nan 29 Bd SUS CALI DEL Vo gags st d 29 5 6 Environmental Impact ode sA 29 PME P 29 5 10 Lifelong 29 8 1 CORpASSIOD 30 90 Conclusion 31 9 1 31 9 2 Component ee ld 31 DiS NEDWODK UIRGO oU NE 31 9 4 Early Implementation of Graphical User Interface 32 9 S COMMUNI CANON 32 9 6 Advantages and Disadvantages of LANE 32 O27 POssible Impr vements 33 10 0 User Manual 34 TOZL TAIN ono eor De trot ta qi cube en e 34 TO T AINB Ene o osos oet peste ei e ei e aM rod 35 10 2 Spare Files ooa oo cien eid oot ossa teat ids 36 10 2 2 Unshare Files inte e tst itta 36 ie teet Sete eh aeo Pretoria uns 37 10 2 4 Changing Password 40 10 5 SANE Search Manager i 40 10 3 1 Search for Shared Pies rre totes 40 10 3 2 Down
9. 7 3 Testing and Debugging Until March 23 2004 7 4 Continue Programming April May 2004 e Advanced Graphical User Interface Team Effort e Ability to run multiple transfers simultaneously Raimondi e Acceptance Testing Roberts e Enhancement Networking Roberts Raimondi e Implement Security Stewart 7 5 Testing and Debugging April May 2004 26 7 6 Complete Programming e Ability to run with 7 clients on the network e Advanced Security 7 7 Testing and Debugging 7 8 Final Touches Construct Test Installer e Prepare Documentation e Hammer out any last bugs 7 9 Prepare Presentation 7 10 Product Finished 27 2004 Raimondi Stewart Until June 2004 Until June 2004 Stewart Roberts Stewart Roberts 1 Week of May 2004 June 2004 8 0 Societal Issues 8 1 Ethical Given the growing concern over the use of file sharing applications like Kazaa for transferring copyrighted material it is important to note that LANE could also be used to transfer copyrighted material However because LANE is only intranet based someone on the intranet must bring the material into the network and then share it as well This means it would be much easier to determine the source of the illegal file s than internet based file sharing applications 8 2 Social The LANE society involves all people on the intranet that are using the software Hopefully the productivity of the
10. This means even if a user manages to create new username matching an existing username their random keys will identify them as unique Since LANE 15 a true peer to peer network there 15 no central server where passwords can be stored For this reason the username and password for all users will have to be stored on each client To prevent access to the passwords each one will be encrypted using the Data Encryption Standard DES Additionally the entire list of usernames and passwords will be encrypted with DES as well providing an additional layer of security This means that even if the top layer of encryption is broken the hacker would have only revealed a list of usernames and encrypted passwords To keep the list of usernames and passwords synchronized LANE will perform several tasks Each time a client joins the network it will receive a list of current usernames and passwords from both clients that it connects to After the username list is received the user can either login as an existing username or create a new username Creation of a new username will fail if the username trying to be created is already taken Passwords may be updated at any time once you have logged in as a user A password counter is used to verify which password is most recent it increases by one every time the password is changed As mentioned in the file structure design file access can be limited to certain users or be password protected individually When a
11. Transfer Manager from any other screen in LANE simply click on the Transfers button in the top left section of the screen 42 LANE Transfer Manager Download Stop Clear Downloads File Sie Prgess User DesignDocument 6 02 w Dom Corrections doc 518 KB 518 KB m Sean Gone Fishing bmp 17 KB 17 KB u c7 Sean Greenstone bmp 26 KB 26 KB Sean Blue Lace 16 bmp 2KB 2 KB Sean Coffee Bean bmp 17 KB uc Sean Windows XP Critical Stop wav 39 KB 39 KB Sean Summer Screen Shots zip 27521KB 32854 KB Sean 2003 2004 Stats Database rar 24720KB 186397 KB Sean Upload Stop Uploads Transfer Manager 10 4 1 Monitor Downloads The user can monitor the progress of the downloaded files The file name size progress and user are displayed 10 4 2 Clear Completed Transfers Perform the following steps to clear a completed transfer a Once a transfer is complete Left Click on the name of the file you wish to clear b Click on the button Clear to clear the file The completed file will be cleared from the screen 43 Appendice A 1 Mockups x Date COENT80 Essay 1 COENISO Essay 2 1 E 0708703 COENIBO Essay 2 2 WD 08408403 COEN180 Essay 2 3 mo Homework t 04 06 03 Homework 2 1792 04113003 Sequential 1 0 NT Achieving Top Performance 1 9008 1128 97 Differences and between NT4 and Wink Single Disk Performance 1 3595
12. information and passwords It allows sharing of files from anywhere on a drive Any shared file may have access control attributes set by the user LANE has an easy to use graphical user interface It supports full network searches for filenames file types file sizes and usernames LANE does not have an interface to initiate uploads although network code for uploads is implemented because it is necessary for sending files when downloading We decided resume queues and MD5 fingerprints were unessential because of the speed and reliability of local area networks so those features have not been implemented 9 2 Component Priority When we first set out to design our system we broke it down into smaller components and each of us worked on one However it later became apparent that the Networking component was much larger and more complex than the others In hindsight it would have been better to break the Networking component into smaller sub components that could have been worked on by separate individuals This would have made development and possibly testing of the Network substantially faster 9 3 Network Testing Testing the network proved to be quite a challenge There were so many cases to check when bugs were found that our traditional testing methods of using output files and pop up windows triggered by events did not prove that helpful It would have been helpful to research some other more network specific testing methods tha
13. Santa Clara University DEPARTMENT of COMPUTER ENGINEERING Date June 3 2004 I HEREBY RECOMMEND THAT THE THESIS PREPARED UNDER MY SUPERVISION BY Alexander Stewart Domenico Raimondi Lyle Yapdiangco and Sean Roberts ENTITLED Local Area Network Exchange LANE BE ACCEPTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF BACHELOR OF SCIENCE IN COMPUTER ENGINEERING THESIS ADVISOR DEPARTMENTCHAIR Local Area Network Exchange LANE by Alexander Stewart Domenico Raimondi Lyle Yapdiangco and Sean Roberts SENIOR DESIGN PROJECT REPORT Submitted in partial fulfillment of the requirements for the degree of Bachelor of Science in Computer Engineering School of Engineering Santa Clara University Santa Clara California June 3 2004 Local Area Network Exchange LANE Alexander Stewart Domenico Raimondi Lyle Yapdiangco and Sean Roberts Department of Computer Engineering Santa Clara University 2003 Abstract Programs for sending receiving and general sharing of files are all useful for performing specific tasks We analyzed peer to peer programs FTP servers and clients e mail and Windows file sharing and found that each has its own strengths and weaknesses Some are easy to setup some make it easy to send files some make it easy to search for files and some allow access control However no single program allows you do all of those things easily Our program titled Local Area Net
14. ame and password In the example below the user entered Pauly as a username and a password for it Once each entry is filled the user can log on to LANE by clicking on the Submit button or can cancel it by clicking the Cancel button 34 LANE Login Username Pauly Password 1 Cancel Create New Account Login Page 2 10 2 LANE File Manager After a user has successfully logged on to LANE the LANE File Manager is the first page loaded A user can share files unshare them set attributes for those files or change their user password To access the LANE File Manager from any other screen simply click on the File Manager button on the top left section of the screen LANE File Manager o x seach Meria Change Password c Share File Directory Files files e Documents and Setl fsSearch cpp milestone fsSearch cpp E Desktop fsSecurity cpp fsSecurity cpp amp LANE E Apri 27 1 LaneDir h LaneDir h LANEDownload cpp Received LANEDownload cpp E3 Shared g E Documents and Set txt World User milestone current txt User Password E Desktop des exe World User E dropbox diReq tst World User c FileManager h World User gt LaneFunctions cpp Password Password LANEGUI exe World User E fecere listUpdateT hreadT est txt World User are File Manager 35 10 2 1 Share Files Perform the follow
15. an also enter the file type as a document to narrow his search results Search will propagate through the network ring and clients with a matching search result will notify the Q A engineer s client directly 11 4 engineer selects the file he wants to download from the list of files found e Direct connection established f Download completes successfully g Direct connection terminates Alternate Courses b Since this step is optional it can be skipped completely c It is possible no matching results are found A simpler search can be tried 12 3 0 Requirements Functional Security Access control Ability to resume stopped or interrupted Ability to detect other clients on the file transfers network Ability to initiate uploads Ability to initiate downloads Ability to queue uploads and downloads Ability to share files in any location Timed Transfers Graphical User Interface Ability to search for files and users Essential Nonessential Ability to run on Windows Ability to run on other operating Easy to setup and maintain systems Advanced features available MD5 Fingerprints Ability to run multiple transfers simultaneously Quick and responsive Non Functional 13 4 0 Design 4 1 File System Local Area Network Exchange s file system will somewhat mirror and use information from the Windows file system Each file will be treated as an object and each file obj
16. cheme for data being sent could also be useful so data is not sent in the clear Resumes and queues could be implemented although most downloads occur so fast that they may cause unnecessary overhead MD5 checksums may be useful especially when extremely large files or sensitive documents are transferred 33 10 0 User s Manual 10 1 LANE Login When a user starts LANE the login page is loaded onto the screen A user can log on to LANE close LANE or create a new account In this case since the user does not have a username and password the user must create a new account by clicking on the Create New Account button LANE Login Username 1 Password Cancel Create New Account Login Page By clicking on the Create New Account button the New Account page is loaded onto the screen Here the user can create a username and password by typing them next to the labels Username and Password In this example the user entered Pauly as username and has created a password for it The user must confirm the password by typing the password again next to the label Confirm Password Once each entry is filled the user can create a new account by clicking on the OK button or can cancel it by clicking the Cancel button Username Puy 7 Password as Confirm Password Cancel New Account Page Now the user is able to log on to LANE by entering a valid usern
17. download or search for them Perform the following steps to unshare a file a In the bottom half of the screen under the heading LANE Shared Files the user can select Left Click the name of the shared file to unshare b Click on the button Unshare File above the list of LANE Shared Files to unshared the file Right Clicking the highlighted file will also provide the option to unshare the file The name of the unshared file will now be removed from the list of LANE 36 Shared Files in the bottom half of the screen If you accidentally unshared the wrong file you can share that file again by following the instructions in the section above entitled 10 2 1 Share Files 10 2 3 Set Attributes NOTE LANE Shared Files are initially set to world accessible for visibility and downloadability For overwritability LANE Shared Files are initially set to user accessible LANE File Manager loj xl _ File Manager Search Transfers _ Change Password c x Share File Directory Files Im files g c fs crp a amp Documents and Seti 5 fsSearch cpp milestone fsSearch cpp E Desktop fsSecurity cpp E dropbox fsSecurity cpp E LANE April 27 1 LaneDir h LaneDir h LANEDownload cpp Received LANEDownload cpp 3 Shared LaneFile h LaneFile h LaneFunctions cpp LaneFunctions cpp LANEGUI bpr ecs Ez Documents and Set tst World User milestone current txt Use
18. downloadable state is user accessible Similar to the visible state of the same name the user accessible state only permits users specified with permission to download the file The final downloadable state is password accessible In this state the file has an associated password In order to download the file a remote user must enter the correct password The next file attribute is overwriteable The overwriteable attribute specifies whether remote users can overwrite a file when they are uploading The overwriteable attribute has three states similar to those of the downloadable attribute The default state for overwriteable is user accessible User accessible only allows certain users who have 14 permission the ability to overwrite the file No users have permission by default meaning files cannot be overwritten by default Overwriteable can also be set to the world accessible state which means than anyone can overwrite the file The final state is password accessible which only allows a file to be overwritten if a proper file password is entered This password is independent of the downloadable password The overwriteable attribute is at this point only useful for files in the received directory as that directory is the only place where new files may be written Each file object will also have a Boolean directory attribute The directory attribute will allow LANE to know whether or not a particular file object is a regular file or a directo
19. ect will have a set of attributes The name of a file the type of file and the size of a file of a file will be retrieved from the base file system but also used in LANE s file system Visible is an attribute of a file object that is specific to the LANE file system The visible attribute specifies what results remote users return when a search is performed The visible attribute can be in one of two states The least restrictive state is known as world accessible Files that are world accessible show up on the results of any user whose search criteria match the file attributes World accessible is the default state for all shared files The other state is called user accessible This user accessible visible state only allows certain users who have permission to have the file returned in their search results Users without permission will not have the file returned in their search results even if the file attributes matched their search criteria If no users are specified to have permissions then the file is effectively hidden from searches Another LANE attribute in the file object is downloadable The downloadable attribute specifies which remote users can download a file The downloadable attribute is completely independent of the visible attribute The downloadable attribute can be in one of three states The default state is world accessible A file with the downloadable attribute in the world accessible state can be downloaded by anyone Another
20. er must specify which users are allowed access to the file by checking the boxes next to their usernames f To set an attribute to password accessible the user can click on the attribute at the top of the page to change and then set Access to Password by using the pull down menu on the bottom of the page Then the user must provide a password for the file and confirm it 38 File Attributes Client cpp C Visibility Downloadability Overwriteability Password Access Password Selecting Access File Attributes Client cpp Ee C Visibility Downloadability Overwriteability Password Access User Allowing Access to Certain Users g Once the user is finished setting an attribute click on the OK button to update the attributes for the file In the bottom half of the screen in the File 39 Manager visibility downloadability overwritability should display the updated attributes for the file 10 2 4 Changing Password Perform the following steps to change user password a In the top half of the screen click on the button Change Password to bring up the password menu b In the password menu next to the label Current Password type in the current password Then next to the label New Password type in the new password and confirm it IT x Current Password New Password Cancel Confirm Password 101 Change Password
21. er of uploads or downloads in either case are higher than the combined maximum the combined maximum will be increased to match A list of current transfers can be displayed in the GUI which is mentioned in more detail later Current downloads and current uploads will be listed in different sections of the window Additionally if there is time to implement it queued uploads and downloads will also be displayed Files may be queued because of a local maximum constraint a remote maximum constraint or because of a timed transfer A central local 17 file will keep track of all current uploads and downloads on each client which will allow queues to be remembered even when LANE is not running To prevent data loss from unexpected interruption of the program the file will be written using a write through policy Another feature we will add to LANE if time permits is the ability to allow timed transfers setting files to only transfer at specific times This will allow large files to be transferred during off peak hours to increase network efficiency It will also allow users to postpone downloads until they have finished using their computer The user will also be able to set a stop transfer time for all files at which no new files will start downloading or all files will stop downloading in addition to the former Only a single start and stop time may be specified To verify the files downloaded are complete and intact the Message Digest 5 a
22. es to function without dedicated file servers it would allow for a less hardware components and power to be consumed 8 9 Usability LANE is Windows based application and has a GUI that is similar to several functions available in Windows such as file browsing and searching Also its interface is similar to tradition file sharing applications like Napster and Kazaa This gives LANE a very familiar interface to a large number of users 8 10 Lifelong Learning The design and development of LANE gave us a lot experience in several areas such as project development and management testing and debugging as well as C and Windows programming that will benefit the entire team in future jobs 8 11 Compassion LANE was developed to combine the strengths of several different file transfer methods while minimizing their weaknesses The goal was to create an easy to use 29 program which would make file transfers across Windows machines easy and effective thus limiting the technical knowledge required to transfer data over an intranet 30 9 0 Conclusions 9 1 Summary LANE is complete and functioning local area file sharing program It has a fully functional network ring that supports an unlimited number of users being added to the network The network correctly expands and shrinks when new clients join and leave It supports user level access control across a true peer to peer network It uses DES encryption to protect user files
23. f certain file types or sizes a user can use the pull down menus under the button Search NOT the Search button in the top left corner of the screen For instance if a user wanted to only search for files that are images you would select Image files from the File Types pull down menu All the files that will appear under Search Results will be image files In addition if a user wanted to only search for files larger than 50MB you would select Files gt 50MB from the Size pull down menu All the files that will appear under Search Results will be larger than 50 A user can also search for specific files that match for both criteria 41 If a user wanted to search for specific files from certain users user must type in the file name or part of the file name along with the username The search function to search for certain users is located under the pull down menus for file types and sizes A user can also search for specific files that match any combination or all criteria 10 3 2 Download Files Found in Search Perform the following steps to download a file returned in a search a Double Click on the name of the file you wish to download in the Search Results Window b While the file is downloading the transfer progress will be displayed in the Transfer Manager 10 4 LANE Transfer Manager In the Transfer Manager the user can monitor the progress of downloaded files and clear them as well To access the LANE
24. fer methods not mentioned above 2 0 Use Cases These use cases assume the Local Area Network Exchange has been installed and is running on most computers on a local network If LANE is not running on a computer then LANE would need to be started or another means of transfer would have to be substituted 2 1 Retrieve an Important Document Actors Purpose Overview Programmer Producer Allows the programmer to find design specifications without troubling the producer while allowing the producer to limit access to only the programmer A programmer needs a specific design specification so he knows how to correctly write a new section of a program LANE can be used to allow the programmer to search for the design document and retrieve it This prevents having to contact the producer increasing productivity Additionally the programmer can get the document even if the producer is absent Finally the producer may not want everyone in the company to have access to the file so he can limit it to only the programmer s username Course of Events a Producer sets the document s downloadable attribute to user level access granting access to the programmer b Programmer searches for producer s username and document name c Document is found download document d Direct connection established e Programmer s access permission is checked f Download completes successfully g Direct connection terminates
25. he large variety of FTP client programs so many casual computer users avoid FTP all together Also in order for a single computer to connect to multiple servers multiple FTP clients must be run Setup and maintenance for an FTP server can also be complicated Once setup a server must be constantly running on a machine in order for a client to upload or download to it if that server fails a server administrator must fix the problem before clients can connect to the server File sharing programs like Kazaa are incredibly easy to setup and use compared to FTP which is why their user base is so large These programs are very useful because users can search for files based on user specified criteria However like other transfer methods files sharing programs have several weaknesses Using one of these programs files can only be downloaded from other users they cannot be uploaded Additionally files that are being downloaded are downloaded from a random user it is not possible to specify which user to download from Also files cannot be sent directly from one specific user to another E mail has evolved into a medium for transferring files as well as sending electronic mail though many mail servers are still not set up to handle this new load so the send process is slow fails all together E mailing files allows users to easily send single file or multiple files to one or more specific users E mail does not allow searching for files f
26. ing steps to share a file a Using the File Explorer in the top half of the screen the user can select from any directory and select any file to share b Select Left Click the name of one of the files under the heading Directory Files to share c Click on the Share File button above the list of Directory files to share the file Double Clicking the highlighted file will also share the file The name of the newly shared file will now be displayed in the bottom half of the screen under the heading LANE Shared Files The file size in kilobytes is displayed to the right of the file name as are the Visibility Downloadability and Overwritability of the shared file In the example above connections txt current txt etc are displayed in the bottom half of the screen meaning they are LANE Shared Files If you have a large number of files in your current directory and you only want to share certain types of files you can use the File Type Filter pull down menu in the top half of the screen next to the words Directory Files By using this menu you can view only certain types of files in your current directory For example to only view audio files in your current directory you would select Audio files from the pull down menu Then only the audio files in your current directory will be displayed 10 2 2 Unshare Files NOTE Unsharing a file does NOT delete the file it merely prevents other LANE users from being able to
27. lgorithm will be used The MDS fingerprint will be computed for each file when first requested for transfer and stored in the header during transfer as mentioned above When LANE requests a transfer from another client the MD5 fingerprint will be used to verify that the file matches the requested one and does not just have a similar filename This allows clients to resume transfer of the same file on different remote clients When a file is finished transferring its MD5 fingerprint will once again be computed and compared against the MD5 fingerprint contained in the header If the fingerprints do not match the user is notified and asked whether they wish to retain or delete the file If the user does not wish to delete the file the file s header will now contain the new computed fingerprint and the file s filename will be changed so that it will clearly indicate that the file is corrupted in some way 4 4 Security LANE will require user authentication at login This is a requirement because otherwise the access control features in the file system would be rendered useless because anyone could pretend to be anyone else The login system will be a traditional username and password system New users can be created at any time but once a new user is created that username can never be used by anyone else To prevent username spoofing by creating a username for an existing user a random key is also assigned to 18 every user at creation time
28. load Files Found in Search sss 42 10 4 LANE Transfer Wana et the ep debe ite 42 10 4 1 Monitor Downloads 43 10 4 2 Clear Completed Transfers 43 Appendices sisses 44 Al Mockups 44 ACA Test Plan ia BE EU EG LA EE E 46 D3 Network Rins Test Cases 47 1 0 Introduction 1 1 Background There are several methods of transferring files over a local area network LAN Each method has its own strengths but more importantly its own weaknesses which restrict their usefulness Windows File Sharing WFS allows one computer to see and access multiple computers at the same time However it is extremely slow not very secure and it is hard to determine which computers on the network can see certain other computers Different versions of Windows also tend to setup WFS differently so two computers running different versions of Windows often cannot see each other on the network File Transfer Protocol FTP is a protocol for transferring files between a single client and server FTP offers access control and once a client is connected to an FTP server transfer is relatively fast FTP is also available on nearly every type of operating system However in order to upload or download files to a server the hostname or IP address of the server must be known Connecting to FTP servers is often complicated made more so by t
29. low easy download access from multiple users The final page is the transfer manager which will allow control over downloads and uploads It will display the current status of all files both transferring and in any queue that may be running In the future options such as download timers and maximum file transfers will also be able to be specified from this page 20 5 0 Risks A risk is an unwanted event that has negative consequences The following risks are not in any particular order 5 1 Time Pressure A hectic school and work schedule can delay the implementation and testing of LANE Since there are four members in the group conflicts can arise on when and how often the group can meet which could put us behind schedule If someone gets sick or is away that would also put more pressure on the other group members to pick up his workload for that period of time 5 2 Unfamiliar with Technology After using Java extensively for the past four years we have decided to use C for LANE which will be a learning and transition period for us Even though there are similarities between C and Java using a technology we have little experience with will be a challenge since it will take time to research learn and use effectively In addition if we decide to use C Builder or Visual Studio to build the GUI it would be another technology we would have to learn Therefore if there are future problems that arise from using C such as ha
30. nd easy to use Search Capabilities A variety of searches for different files file criteria and users will be performed across the network with different numbers of clients to ensure that the searches performed as expected Installation Testing Tests will be performed to ensure that the final LANE product installs properly on the following operating systems Windows 98 Windows 2000 Windows ME Windows XP A 3 Network Ring Test Case Client States a Connects b Stays Connected c Not Connected d Disconnects Case 1 1 Client A la A connects 1b A stays connected 1 not connected 1d A disconnects Case 2 2 Clients A B 2a A connects B connects 2b A connects B stays connected 2c A connects B disconnects 2d A stays connected B stays connected 47 2e A stays connected disconnects 2f A disconnects B disconnects Case 3 3 Clients A B C connects connects connects 3b A connects connects stays connected 3c A connects B connects C disconnects 3d A connects B stays connected C stays connected 3e A connects B stays connected C disconnects 3f A connects B disconnects C disconnects 3g A stays connected B stays connected C disconnects 3h A stays connected B disconnects C disconnects 31 A disconnects B disconnects C disconnects 48
31. nnected to the client listed to its right and Client F connected to Client A Client C would store not only IP addresses of B and D which it is directly connected to but it would also store the IP addresses of A and E This will allow the network to quickly close the ring if a client leaves or is dropped from the network Connections between each client will be tested at standard intervals by small pings If for some reason several of these pings are missed the connection on which pings failed to be returned will be considered dead Once a client detects that it has a dead connection it will automatically connect to the other client that was connected to the computer with the dead connection Extending the example in the paragraph above if Client C detected a dead connection to Client B it would drop Client B and connect to Client A Client A would break its connection to Client B at this time as well if it had not already done so If the client with the dead connection is actually still on the network it will notice the loss of connectivity and treat itself as having just joined the network and follow the steps above 16 A primary function of the network ring is to allow searches for files and users When a search takes place the search request will start by being sent out over both local client connections to the connected remote clients Those clients will process the search as well as forward the search request to the next client in the ne
32. onnecting stat 1 ex Transfer Manager 2 Test Plan Unit Testing Every class will be tested individually to verify functionality Integration Testing Once individual components have been tested testing of the combined components will follow to ensure components function properly when used together The following are examples of some of the components that will be tested together e Authentication User and Encryption e File System File System and Stored File Data e Network Transfer File and Network e Search File and Search Function Testing After the individual components have been integrated the system will be tested to ensure that it fulfills the functional requirements 46 Access Control A variety of tests will be preformed on files transfers and searches to verify that access control functions properly Also additional tests will be used to ensure that user authentication prohibits users from impersonating one another Client Detection Multiple users from different operating systems will log on and off the system to make sure all clients on the network can detect each other at all times File Transfer Files and folders will be sent to and downloaded from other users Graphical User Interface As the GUI is designed other members of the development team will attempt to use it Also the user s manual will be written as the GUI is developed it Both of these will help to make certain that the GUI is effective a
33. people will be increased because LANE makes it easier to transfer files between users 8 3 Political LANE is not funded or supervised by government agencies and is therefore not political 8 4 Economic We have not considered selling LANE for commercial use If the software were released to the public it would be positioned towards smaller businesses that lack the financial capital to spend and maintain expensive file servers thereby providing a cost effective solution to intranet file transfer 8 5 Health and Safety LANE does not have a direct impact on health and safety However if used at a healthcare or private records organization it is possible that confidential information could be transferred to people who have no business accessing it Given LANE s security and access control the owners of the data would have to be malicious enough to share this private information first 28 8 6 Manufacturability LANE is software and is not manufactured 8 7 Sustainability As software LANE s only resources are the systems it runs on From a viability perspective LANE was created due to shortcomings on traditional file transfer applications If Microsoft or another software company addresses these shortcomings and makes these new methods widely available and useful LANE will cease to be very useful 8 8 Environmental Impact LANE has no direct impact on the environment However because it may allow certain compani
34. r Password E Desktop des exe World User E dropbox Eden txt 3 hele c FileManager or ser aa MEE LaneFunctions cpp Password Password LANEGUI exe World User listUpdateT hreadT est World User are File Manager Perform the following steps to set the attributes of a file a In the bottom half of the screen under the heading LANE Shared Files select Left Click the name of the shared file you want to set attributes for 37 b Click the button Set Attributes above the list of LANE Shared Files to bring up the attribute menu for the file Double Clicking the highlighted file will also bring up the attribute menu and Right Clicking the highlighted file will also provide the option to bring up the attribute menu c In the attribute menu the user can set overwriteability and downloadability to world user or password accessible However the user can only set visibility to world or user accessible File Attributes Client cpp Password OK Access world File Attributes d To set an attribute to world accessible the user can click on the attribute at the top of the page to change and then set Access to World by using the pull down menu on the bottom of the page To set an attribute to user accessible the user can click on the attribute at the top of the page to change and then set Access to User like in the example below Then the us
35. ral product functionality and problem statement 9 03 b Research theoretical aspects of the program and begin designing basic functionality 10 03 c Conduct more detailed design processes for the product 11 03 d Rough draft of design report 11 21 03 e First draft of design report 12 5 03 f Revised design report 1 23 04 6 2 Initial Programming February 2004 After the initial design process coding will begin in early winter quarter 2004 The first stage will be a small functional version of the software Most functional requirements will be partially implemented in this first release and possibly some non functional requirements The software will be fully tested before its release The first version of LANE scheduled for release in early March 2004 will implement the following features e Security Access control Stewart e Ability to detect other clients on the network Raimondi e Ability to upload and download files Raimondi e Ability to queue uploads and downloads Roberts e Ability to search for files and users Yapdiangco e Command Line Interface Yapdiangco e Ability to run on Windows 23 LANE will be released in command line interface at this stage to minimize implementation errors and maximize efficiency Initial documentation for all implemented features will be compiled 6 3 Testing and Debugging Until March 2004 6 4 Continue Programming March 2004 The second stage of development
36. rom other users or downloading of files that have not been specifically sent Additionally e mail systems are often used to facilitate the spread of viruses and worms which often take the guise of legitimate attachments Spam filters and file limits on some e mail systems can prevent the proper receiving of a file and there is often no way for the sender to confirm whether a file arrived safely Like FTP e mail relies on central servers which creates a central point of failure 1 2 Proposed Solution We propose a local area network file transfer application that combines the strengths of current transfer methods while attempting to minimize the weaknesses Our solution will contain e Simple setup and installation e Easy to use interface e Search capabilities of file sharing programs e Multiple transfers from multiple users simultaneously e Speed and security Our solution will provide a GUI based application that is easy to setup and makes LAN file transfer simple yet at the same time scalable to different file transfer tasks Users will be able to select which files to share For additional security access to specific files can be restricted to certain users The solution will be based primarily in the Windows operating system This is because the vast majority of personal computer users run Windows and many users who do not use Windows are often technically proficient enough to setup FTP servers or use other more complicated trans
37. ry If the directory attribute is true the file object is also a directory We chose to have an attribute in the file object to specify directories instead of a separate object in order to facilitate more efficient searching and reduce the complexity of the system All of the above file object attributes pertain to directories as well Each file object will have a complete attribute which will be used for downloading purposes All files will be complete by default Files which are being downloaded will not be complete and the complete attribute will reflect how much of a file has been downloaded This attribute will be used to display the progress of downloads and resume broken downloads 4 2 Network Structure The general connection scheme for LANE is a bi connected bi directional ring with direct connections for transfers This scheme was chosen because it still allows the network complete connectivity even if a connection between two of the clients goes down The network will be self sustaining so if a link fails or if a client disconnects the network structure will adjust until each client is connected to two other clients and the network ring is complete again When a new client Client A joins the network it will ping each client already on the network and listen for a response If no clients are found on the network then no connection will be made and the client will wait for another to join the network When a second client joins the ne
38. t may have saved us many hours of sifting through code 9 4 Early Implementation of Graphical User Interface 3l Implementing the Graphical User Interface earlier than planned caused several inconveniences In retrospect it would have been better to stick to a command line interface for a longer period of time This is because the GUI made testing of components several times harder than when testing them without the GUI especially the network component We implemented the GUI without considering the abstraction it was going to add to the rest of our components There we some benefits of implementing the GUI early as well It allowed us to become much more familiar with the technology than we would have if we had started it later It also allowed us to more easily combine our components together since many of them don t talk to each other directly but rather get input from the GUI It is difficult to say if these advantages outweigh the inconveniences 9 5 Communication In working with a group of four computer engineers with different strengths and weaknesses we all learned that communication was a very important factor in every aspect of the project It was also often useful to have group discussions as opposed to one on one discussions because even if the one member was not directly involved with the components being discussed they could help the other members better understand each other 9 6 Advantages and Disadvantages of LANE
39. ttempting to search download or overwrite a file which is user accessible the remote client will check to make sure the local client is correctly logged in as an authorized user to perform that function Files with individual passwords will have their passwords encrypted with DES just as username passwords are encrypted 4 5 Graphical User Interface The primary goal of LANE s graphical user interface is ease of use for the user The secondary goal of the GUI is to allow the user access to advanced options if they so desire These are the two main focuses for the interface It must allow a broad user base access to the system but also allow the system to be configured for a business academic personal or any other environment 19 The GUI will have three primary pages Pictures and more detail descriptions of functions on these pages can be found in the User Manual Mockups of these pages can be seen in Appendix A 1 The first page new users will be directed to is the file manager The file manager will allow users to add and remove shared files specify restrictions on those files such as searchable and downloadable and setup user permissions and passwords for files This page will be the default page for all users The second page is the search manager In the search manager the user will be able to specify their search criteria ranging from file types to usernames This page will display all search results to the user It will also al
40. twork Client B it will find only the Client A after its pings have returned Client B will establish a single connection to Client A completing the 15 network ring When a third client joins the ring Client it will connect to the two open connections again completing the network ring When an additional client Client D joins the network after the first three are connected it will find the client with the quickest response time To extend the example above assume Client A had the fastest response time After determining Client A responded the fastest Client D will form a connection to that client Client A which is being connected to will send a transmission to its right connection we refer to each neighbor as either left or right neighbor telling it to connect to the new client and then disconnect from its current right connection and establish a connection to the new client Right was chosen arbitrarily because the speed across a LAN is so fast it doesn t really matter which connection is dropped In this case we will assume Client B is the right connection so Client B will drop its connection to Client A and connect to Client D At this point the ring is complete again After the ring is complete each client will also store the IP addresses of the clients which are one client away from their current position What this means 15 that if Clients A B C D E and F are in a network ring with each client co
41. twork ring Each search request will be remembered temporarily by the searching client The search will continue until the search request reaches a client that has already processed the search Remembered search requests time out after five seconds so that the same search can be run again if necessary Each client returns positive search results directly to the client the search originated from bypassing the network ring This will reduce network traffic and allow the search to be stopped by the user if the correct search result is found When files are being transferred from client to client a direct connection between the transferring clients will be established This link will not affect the links of the network ring in any way This connection will not be used for searching or any other tasks besides file transfer The connection will terminate once the transfer is complete We chose to use direct connection to transfer files because the network would quickly become overwhelmed if large files had to pass through each computer in the network ring 4 3 Network System As a non essential component the network system will have several attributes that will allow the user to configure how their uploads and downloads are performed LANE will allow users to configure the maximum number of upload downloads and combined uploads and downloads It will also allow users to specify the maximum numbers of transfers for any single user If the maximum numb
42. ving to redesign one or more parts of the system or switching to another technology our time and effort will have been wasted 5 3 Other Software Developers Networking programs especially peer to peer programs are quite popular right now Although unlikely it is not inconceivable that someone may be trying to develop a similar product If someone or a group of people are already working on a similar product the effort put into both projects will have been duplicated 5 4 Security Since we do not have a centralized system implementing security for LANE could be a difficult task The entire list of usernames and passwords will have to be 21 stored locally on each computer Encryption will be used to keep the passwords safe but implementing a local security scheme could be a problem 5 5 Scalability Testing Since we have access to a limited number of computers with which we can implement and test LANE on it might be difficult to encounter and correct errors which will only manifest on a LANE network with hundreds of computers It will be difficult to test how LANE will respond when there are many users logged onto and using LANE simultaneously 22 6 0 Planned Product Development Process LANE s development process will undergo three major phases after the initial design Thus the engineering of the software will follow an incremental model LANE will be developed in stages 6 1 Design 9 03 1 04 a Define gene
43. will feature a more advanced integration of the program components within the software More functionality will be added including most non essential requirements not fulfilled in the previous release Enhanced performance of the previously implemented functional requirements will also be implemented The software will also be fully tested before release The second stage scheduled for release in early April 2004 will contain the following additional features e Graphical User Interface Yapdiangco e Ability to run multiple transfers simultaneously Roberts e Resume stopped or interrupted transfers Raimondi e Enhancement of previous features Security Stewart o Networking Roberts o File Browsing Raimondi e Documentation changes and additions All LANE will feature a basic GUI at this stage with limited functionality 6 5 Testing and Debugging Until April 2004 6 6 Complete Programming April 2004 The third and final stage of development will feature complete integration of all essential requirements and some non essential requirements of LANE All previously developed functionality will continue to be enhanced The program released will be the final product and steps will be taken to ensure the minimal need for future maintenance Testing will be substantial to ensure optimal product quality The final stage is expected 24 to be completed by early to mid May 2004 with many if not all of the following
44. work Exchange LANE is an attempt to solve this problem LANE will be easy to setup have quick and intuitive browsing and search capabilities the ability to retrieve files returned in a search the ability to receive multiple transfers from multiple users simultaneously and will also allow access control Keywords File Sharing LANE Local Area Network Exchange File Transfer Download Receive Acknowledgements We would like to take the time to thank our senior design advisor Dr Darren Atkinson Without the lessons he taught us and his guidance on this project our final product would not be the best of session winner it is We would also like to thank Nikhil Patel for helping us choose a simple but effective form of security Finally we would like to thank everyone who has ever developed any kind of network transfer program We are trying to take the best ideas from each and combine them into one so it is quite likely that if there were not network pioneers before us we would not be doing this project now Table of Contents 8 1 1 Background 2 UD 8 1 2 Proposed Solution 9 20 USC 10 21 10 2D AMIS Large ioo URBANA E RA SM in 10 2 AU SEL aay Sask city ha i eases aM mM tu dut e oe 11 3 0 saenceencasavenesovgecsvercavenseee 13 AAO DIEST EEA semcadeste cual TT 14
Download Pdf Manuals
Related Search
Related Contents
取扱説明書 Epson V12H681010 project mount Natural Europe Educational Pathway Handbook DataVideo ITC-100 video capture board Activation du changeur CD pour Peugeot ou Citroën NEVO 600 series User Manual La pollution des sols des champs d`épandage d`eaux usées TrueCall Care Unit Manual - Home Copyright © All rights reserved.
Failed to retrieve file