The overall guiding principle for this project is that the program function in the background & require no interaction from the user. The computers connected communicate over the internet and include dial-up connections (located outside the US) to high-speed DSL & T1 lines. These obviously involve both static & dynamic addresses for clients. The FTP server has both a static address & a registered domain name. I would prefer that processing occur on the client where feasible, i.e., implementation of business rules, for the following reason: --> reduce processing load on the server --> to take advantage of better bandwidth on downloads. Locking mechanisms should be in place during. Bear in mind that the program will need to support multiple threads as more than one client may connect to the server. FTP programs must interact with default FTP server installed in Windows 2000 that is part of IIS ver 5.0 - do NOT program FTP server modules. Server Methods Initialize Server - chk for minimum acceptable bandwidth availability & memory Listen On detection of client request, spawn thread Recv last update date & file/fodler updates from client - refer "Business Rules - Events - New Files" section for guidelines Send file/folder updates to client - refer "Business Rules - Events - New Files" section for guidelines Terminate thread Display interaction stats for that event Send multi-recepient ICQ alerts & write to log Recv ACK's for ICQ alerts & write to log Retransmit alerts after specified interval if not ACK'd Client Methods Initialize client & sleep chk for network connection at defined intervals - if possible allow user to specify minimum bandwidth/CPU usage to avoid resource conflict before connecting with Server Initiate communication with Server & connect Send last update time & upload new/changed files - refer "Business Rules"...for guidelines Download new/changed files from the server - refer "Business Rules.." section for guidelines Terminate internet connection, if required Display interaction stats for that event Send multi-recepient ICQ alerts & write to log Recv ACK's for ICQ alerts & write to log Retransmit alerts after specified interval if not ACK'd Sleep Folder & File - Use VB FileSystem Objects Log - MS Access db preferably or delimited text file.
Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. All ownership rests with customer. Phase I should include Design Specs TBD on a mutually agreed date. Phase II will include working code & documentation.
## Deadline information
Business Rules Groups: Users classified as Staff members & Client contacts. Client should be identified via login name used to connect to the IIS FTP Server. File Types: Contract Dwgs, Correspondence, Changes, Corrections, Client Review Events: New Job 1)Detect empty folder with new job name and standard sub-folders 2)Raise new job alert to "All" groups for that client. New File 1)if Contract Dwg & user 'Client' upload only to server; if file exists, rename with new version # 2)if Contract Dwg & user 'Shop' download only from server 3)if Correspondence upload or download; if file exists, rename with new version # 4)if Changes/Corrections & user 'Client', upload only to Server 5)if Changes/Corrections & user 'Shop', download only from Server 6)if Client Review & user 'Shop', upload only to Server 7)if Client Review & user 'Client', download only from Server 8)Raise new folders/files alert to all concerned.