1、題目: Compressibility of WML and WMLScript byte code : Initial result 出處: Proceedings Tenth International Workshop on Research Issues in Data Engineering 類別: Conference Paper,Outline,Abstract Experimental Compression Results Practical relevance of compression of WML and WMLScript byte code,Abstract,In
2、 this paper author will examine how much the byte codes used in the wap environment can be compressed and analyzed under which conditions the response time would not increase due to the time used to decompress the data at the terminal。,Experimental Compression Results,不額外針對WML發展一個壓縮演算法: 因為作者所要努力的目標是
3、去檢查是否由WML所產生的byte code是可以被壓縮到一定的程度, 以致於真實的壓縮機制可以在terminal和server上實現。 測試資料: 來自Nokia和Ericsson所發行的SDK中的WML和WMLScript的例子,其檔案大小大多介於18到1374bytes。,Experimental Compression Results(CONT.),選擇測試的壓縮方法: 因為作者只壓縮byte code file 所以只有lossless 壓縮演算法才有意義,因此作者選擇了下面幾種壓縮方法。 1.gzip 2.bzips 3.ELS(Entropy Logarithmic Scale)
4、 4.Arithmetic encoding 5.Burrows-Wheeler Transform 6.Move-To-Front encoding 7.Run-Length encoding,圖一,Experimental Compression Results(CONT.),結論:1.當檔案越大時,壓縮檔案所獲得的利益 也就越大。 2.由圖一我們可以知道壓縮方法的選擇, 應該要根據所要壓縮當案的大小來決定。 3.由圖一我們可以看到三種較好的壓縮 方法都趨向在較大的檔案時,獲得相 通的壓縮比例。,Practical relevance of compression of WML and W
5、MLScript byte code,Turn-around time for sequential data transfer and decompression at the terminal。 Turn-around time for pipeline data transfer and decompression at the terminal。,Turn-around time for sequential data transfer and decompression at the terminal,假設前提: 1.Server送整個經過壓縮過的應用程式的 byte code給Cl
6、ient 。 2.Server與Client之間的互動,是依循著純 粹的要求-回應pattern。 EX:Client要求一個application,跟著 Server送出一個application當作回 應。,Turn-around time for sequential data transfer and decompression at the terminal(CONT.),符號介紹: Size(AC):表示AC這個應用程式的大小。 Speed_tr :表示從Server到Client端之間 的傳送速度。 Speed_dec:表示在Client端這邊壓縮與解 壓縮資料的速度。 cr:表
7、示為壓縮比例(原始資料/壓縮資料) 的倒數。,Turn-around time for sequential data transfer and decompression at the terminal(CONT.),推論過程: 1.當假設解壓縮速度是只依賴其所屬的解壓縮演算法時,我們可以得到下面這個方程式, 在此方程式中指出了何時壓縮的case與沒壓縮的case會得到相同的response time: Size(AC)/Speed_tr=cr*Size(AC)/Speed_tr+ cr*Size(AC)/Speed_dec,Turn-around time for sequential d
8、ata transfer and decompression at the terminal(CONT.),2.再去整理上面的方程式,我們可以得到下面的結果: cr/(1-cr)=Speed_dec/Speed_tr結論: 由cr/(1-cr)=Speed_dec/Speed_tr這個式子,我們可以知道在何種情況下,我們壓縮資料才有意義。,Turn-around time for sequential data transfer and decompression at the terminal(CONT.),EX:當cr=0.5時,此時我們帶入方程式後,會得到Speed_tr=Speed_d
9、ec;此時表示若想要縮減反應時間(即是想使壓縮應用程式的byte code這件事有意義),則在手機上解壓縮的速度必須與傳輸資料速度一樣快才行。,Turn-around time for pipeline data transfer and decompression at the terminal,假設前提: 1.假設未壓縮的應用程式的byte code大小 , 超過一個data block的大小。 2.假設Terminal上使用兩個buffer,分別用 來transfer data與decompress data,且每 一個buffer其大小最多為compression block(B)的大
10、小。,Turn-around time for pipeline data transfer and decompression at the terminal(CONT.),3.假設Terminal上有兩個process,分別為transfer process與decompression process , transfer process負責將從server來的資料放入一個buffer中, decompression process則是負責從此buffer取出資料,進行解壓縮的動作, 並將資料放入Terminal上的code memory中。,Turn-around time for pi
11、peline data transfer and decompression at the terminal(CONT.),符號介紹: Size(AC):表示AC這個應用程式的大小。 Speed_tr :表示從Server到Client端之間的傳送 速度。 Speed_dec:表示在Client端這邊壓縮與解壓縮 資料的速度。 cr:表示為壓縮比例(原始資料/壓縮資料)的倒 數。 N:表示為Lossless compression 中的data block的個數。,Turn-around time for pipeline data transfer and decompression at
12、the terminal(CONT.),推論過程: 1.當其中一個buffer,被transfer process填滿後,系統就被啟動,基於此可得到從server傳送資料到client 端, client 端進行decompress動作,然後放到其code memory的時間可由下面這個式子來表示: cr*Size(B)/Speed_tr + (N-1)*max(cr*Size(B)/Speed_tr,cr*Size(B)/Speed_dec)+ cr*Size(B)/Speed_dec,Turn-around time for pipeline data transfer and decom
13、pression at the terminal(CONT.),2.若Speed_tr = Speed_dec時,則上面的式子就變為: N*Size(B)/Speed_tr= N*cr*Size(B)/Speed_tr+cr*Size(B)/Speed_dec 3.將上式同除以N ,可以得到 Size(B)/Speed_tr= cr*Size(B)/Speed_tr+cr*Size(B)/(Speed_dec*N),Turn-around time for pipeline data transfer and decompression at the terminal(CONT.),4.將(3
14、)同除以Size(B)/Speed_tr ,可以得到 1=cr*(1+speed_tr/(Speed_dec*N) 5.將(4)除以cr再減一,可以得到 1/cr-1=Speed_tr/(Speed_dec*N),Turn-around time for pipeline data transfer and decompression at the terminal(CONT.),6.Speed_tr Speed_dec時則可以得到 N*Size(B)/Speed_tr= cr*Size(B)/Speed_tr+N*cr*Size(B)/Speed_dec 7.將(6)同除以Size(B)/S
15、peed_tr ,可以得到 N=cr*(1+N*speed_tr/(Speed_dec) 8.將(7)同除以cr*N,可以得到 1/cr-Speed_tr/Speed_dec=1/N,Turn-around time for pipeline data transfer and decompression at the terminal(CONT.),結論: 1.當 Speed_tr = Speed_dec 時,應用(5)的式子,我們可以知道在何種情況下我們壓縮資料才有意義。 EX:當cr=0.9,Speed_tr = Speed_dec時,我們可以解得N=9,此表示當檔案大於九個compress block時,反應時間才會縮短,在此種情況下我們壓縮資料才有意義。,Turn-around time for pipeline data transfer and decompression at the terminal(CONT.),2.當 Speed_tr Speed_dec 時,應用(8)的式子來得知我們在何種情況下我們壓縮資料才有意義。 EX:若Speed_dec=0.5*Speed_tr,我們可以得知對所有cr0.5的時候,N值會趨近無窮大,即此時去壓縮資料並不具有任何意義。,各家WAP GATEWAY的比較,WAP網站提供的服務內容分類,