CN103067523A | 2013-04-24 | |||
US9203892B2 | 2015-12-01 | |||
US6735670B1 | 2004-05-11 |
Claims Following is the claim for this invention: - 1. In this invention we have clients requesting for objects which could be files, collection of database records, etc. from a remote server or application. The clients are mobile in nature that is they may be moving from one wireless network to another and also they may be frequent loss of connection with the application or server due to the packet loss and timeout of connection. We assume bidirectional reliable connection between the client and the server. Here the server side kernel where the server or application is running for mobile clients divides the object to be sent into smaller chunks. (Here for each chunk we maintain a pointer to the chunk and a pointer to the next chunk. For last chunk we will just have a pointer to it and the pointer for the next chunk will be a NULL pointer.) Also we optimise those chunks using data compression techniques like Lempel-Ziv-Welch compression algorithm, Huffman Coding compression algorithm, etc. and send those compressed chunks to the client who decompresses it to get the actual chunk of data. The client acknowledges the receipt of one or more chunks that it has received. The kernel here maintains a hash table called as Mobile Hash Table consisting of client Medium Access Control (MAC) address as the key and value as the pointer to the next chunk to be transmitted to the client along with the object identifier of the recently chunked object and the application identifier. Each entry in the hash table has an expiry timer associated with it and the expiry time is set by the application or we have a default value for it. Now if the client loses the connection with the server or application with some chunks of the object transferred to it and later joins another network and requests for the same object, the server side kernel does a look up in the Mobile Hash Table for the client Medium Access Control (MAC) address and if it finds it then continues sending from where it left earlier by sending the next chunk retrieved from the value (pointer to next chunk) of the Mobile Hash Table, or else if there is no entry for the client Medium Access Control (MAC) address in the Mobile Hash Table then the application starts sending the Object from the first chunk. The above novel technique of accelerating the delivery of objects or content to the mobile client is the claim for this invention. |
In this invention we have clients requesting for objects which could be files, collection of database records, etc. from a remote server or application. The clients are mobile in nature that is they may be moving from one wireless network to another and also they may be frequent loss of connection with the application or server due to the packet loss and timeout of connection. We assume bidirectional reliable connection between the client and the server. Here the server side kernel where the server or application is running for mobile clients divides the object to be sent into smaller chunks. (Here for each chunk we maintain a pointer to the chunk and a pointer to the next chunk. For last chunk we will just have a pointer to it and the pointer for the next chunk will be a NULL pointer.) Also we optimise those chunks using data compression techniques like Lempel-Ziv-Welch compression algorithm, Huffman Coding compression algorithm, etc. and send those compressed chunks to the client who decompresses it to get the actual chunk of data. The client acknowledges the receipt of one or more chunks that it has received. The kernel here maintains a hash table called as Mobile Hash Table consisting of client Medium Access Control (MAC) address as the key and value as the pointer to the next chunk to be transmitted to the client along with the object identifier of the recently chunked object and the application identifier. Each entry in the hash table has an expiry timer associated with it and the expiry time is set by the application or we have a default value for it. Now if the client loses the connection with the server or application with some chunks of the object transferred to it and later joins another network and requests for the same object, the server side kernel does a look up in the Mobile Hash Table for the client Medium Access Control (MAC) address and if it finds it then continues sending from where it left earlier by sending the next chunk retrieved from the value (pointer to next chunk) of the Mobile Hash Table, or else if there is no entry for the client Medium Access Control (MAC) address in the Mobile Hash Table then the application starts sending the Object from the first chunk.