Laserfiche WebLink
<br />000u37 <br /> <br />Blocks <br /> <br />Files <br /> <br />Data eompression <br /> <br />Serviee routines <br /> <br />41 <br /> <br />a string is sent indicating that the transmission failed and communications are termi- <br />nated. <br /> <br />Actual data characters are sent in blocks, which are smaller units of data that allow the <br />data to be.checked as it is received. Since packets can be any size up to 64,000 bytes <br />(this is expandable if future needs require), it is necessary to verify that communica- <br />tions are proceeding successfully within the packet. This is done with data blocks. <br /> <br />Blocks are smaller (currently 1,024 hyte) units of data sent within each packet. A <br />block consists of a header and actual data characters. The header is a string identifying <br />the beginning of a block and an integer indicating the number of data bytes contained <br />in the block. The data is simply a string of characters which comprise data elements. <br />Separate elements are delimited by a newline character. <br /> <br />After the receiving end has received the number of characters specified in the block <br />header, it sends a verification string to the sender indicating that the transmission was <br />successful. The sending end then transmits the next block. If the receiving end does <br />not get the proper number of characters in a specified amount of time, it sends a <br />failure string indicating that the transmission was not completed. The sending end <br />then re-transmits the previous block. If a single block fails repeatedly, transmission is <br />terminated. <br /> <br />The transfer of entire files from the UNIX server to the PC application uses a seperate <br />mechanism built on top of the Packet transfer mechanism. Files are created on the <br />server, broken into fixed sized packets and transfered one at a time to the PC client, <br />where they are reassemhled into a copy of the original file. <br /> <br />To support the transfer of point flow output files, three additional routines have been <br />added to the server. These routines are designed to create the point flow output file, <br />transfer the next section of the output file, and delete the server version of the file. <br />The routines work in combination to create a temporary file on the server, transfer the <br />file to the PC, and finally delete the server copy. <br /> <br />The current version of SPWRMS does not use data compression. Previous versions <br />utilized a Huffman encoding algorithm to reduce the number of bytes transmitted <br />through the modems. However, this system proved incompatible with the terminal <br />server at the Denver Office because personnel in that office preferred to use a local <br />switch to enable configuration of the terminal server session. The compressed charac- <br />ters would occasionally trigger the local switch. <br /> <br />If data compression is re-implemented in the future, it is important to consider the <br />configuration of the modems used for communication, as well as the other users who <br />will be accessing the same modems. <br /> <br />The service routines in the client-server arrangement are the functions that package <br />and unpackage the data before and after it is transmitted. These routines basically read <br />information out of the data structures, convert it to ASCII characters, and add the <br />characters to the data string to be transmitted. It is imperative that the service routines <br />on the PC and on the UNIX server application be identical, because there are built-in <br />assumptions concerning the order in which data items are read from the data struc- <br />tures. Any changes in the service routines on one platform must be echoed on the <br />other platform. <br />