Title: Static object packaging and Dynamic object packaging
1Static object packagingandDynamic object
packaging
- The presentation is in part of fulfillment of the
requirements for the MS in computing and
Information Systems
Presented by
Committee Members
Dr. Hiroshi Fujinoki (Chair) Dr. XuDong Yu Dr.
Dan Dooly
Siddhartha Kory
2 My Contribution
3Static object packaging
4 Presentation
Outline
- Introduction
- HTTP 1.0
- HTTP 1.1 Persistent Connection
- Object Packaging Method
- De-packaging An Object Package
- Client Side Experiments
- Experiment Results
- Observations
- Conclusions
5 INTRODUCTION
Web traffic occupies a large portion of
Internet traffic New technologies are not able
to meet the users demand
- Problems experienced by web users are due to -
-
- Long Response time
6 HTTP 1.0 method of web
transmission
HTML file logo.jpeg menu1.gif
menu2.gif footer.jpeg
Client
Server
Initiates a TCP connection
?
?
?
Accepts the connection and notifies the client
?
Sends HTTP 1.0 Request for a file
?
needs to establish a new connection
?
?
Response message contains the requested file
?
Receives the requested file
Closes TCP connection
?
7 HTTP 1.1 method of web
transmission
Client
Server
HTML file logo.jpeg menu1.gif
menu2.gif footer.jpeg
Initiates a TCP connection
?
?
?
Accepts the connection and notifies the client
?
Sends HTTP 1.1 Request for a file
?
Response message contains the requested file
?
?
The client sends a new request using the same
connection
?
Receives requested file
?
Sends a Request for embedded file
?
Transmits the requested file
?
?
Receives embedded file
Sends a Request for last embedded file
Transmits the last embedded file
Closes TCP connection
Receives embedded file
8 Limitations of HTTP 1.0 and HTTP 1.1
methods
- There is a need to establish a new TCP
connection with the server in - case of HTTP 1.0 method
- Delay at the server due to disk access
- Client needs to send a new request for each
embedded file
- Inefficient use of network bandwidth (small
files)
9 Object packaging
method
- Object packaging method efficiently reduces
server-side transmission - overhead
- Object package is an uncompressed collection of
web files - referenced in a webpage
- Number of packets transferred on the network
will be reduced
Data Field
Object Information Field
File Header
10 Object packaging
method
Object Information Field Contains Information
of the packaged files
Data Field Contains the contents of the
packaged files
Data Field
Object Information Field
File Header
11 De-packaging an Object
package
File n
File 2
File 1
Data Field
Object Information Field
File Header
File Size subfield
File Attribute subfield
File Name subfield
Object Management Table
Number of Files subfield
12 Applications
used
gt Object packaging application
Written in C and compiled using Microsoft VC
Compiler Takes the number of files as input at
the console Test files are named in the form of
testxxx Object package file is transmitted to the
client using HTTP 1.0 server
Written in C and compiled using Microsoft
Visual C Compiler Adheres to HTTP 1.0
protocol De-packaged files are not saved on the
hard disk
Written in C and compiled using Microsoft
Visual C Compiler Both the servers provide
basic functionalities of a web server adhering to
their respective protocols Clients do not save
the received files on the hard disk
gt Object de-packaging client
gt HTTP 1.0 Server gt HTTP 1.0 Client gt HTTP 1.1
Server gt HTTP 1.1 Client
13 Experiment Set up
14 Data Input to the
Experiments
15 Client side
Experiments
Experiments are conducted at the client to test
and compare
Web transmission time Total time for client
to receive files is measured
CPU Utilization CPU Utilization at fixed
intervals of 100 ms is measured at the
client
16 Client side
Experiments
Transmission Time Experiment for HTTP 1.0
Transmission Time Experiment for HTTP 1.1 P.C.
Transmission Time Experiment for OBJP
17 Client side
Experiments
- Files used File groups 1, 2 and 3 (shown in
previous slide)
- Performed twice for each set of 100 files
- Files used File groups 1, 2 and 3 (shown in
previous slide)
- Performed twice for each set of 100 files
- Files used File groups 7, 8 and 9 (shown in
previous slide)
- Performed twice for each set of 1 object package
file
18 Client side
Experiments
CPU Utilization Experiment for HTTP 1.0
CPU Utilization Experiment for HTTP 1.1 P.C.
CPU Utilization Experiment for OBJP
19 Client side
Experiments
- Files used File groups 4, 5 and 6 (Shown in
Slide 14)
- Performed thrice for each set of 500 files
- Files used File groups 4, 5 and 6 (Shown in
Slide 14)
- Performed thrice for each set of 500 files
- Files used File groups 10, 11 and 12 (Shown in
Slide 14)
- Performed thrice for each set of 1 object
package file
20 Experiment Results
Client Response time in milliseconds to receive
100 files
Client Accumulated CPU utilization to receive
500 files
21 Experiment Results
Comparison for HTTP 1.1 Persistent Connection and
Object Packaging in relative to HTTP 1.0
36KB
16KB
4KB
100
100
100
HTTP 1.0
Client CPU Utilization
18
14
7
HTTP 1.1 Persistent Conn.
7
8
3
Object Packaging
Client Response Time
50
34
18
HTTP 1.1 Persistent Conn.
28
17
9
Object Packaging
22Observations
Transmission time Comparison for different web
transmission methods
HTTP 1.0
HTTP 1.1 Persistent Connection
Object Packaging
23 Observations
Transmission time Comparison for different web
transmission methods
HTTP 1.0
HTTP 1.1 P.C
Object Packaging
24 Observations
CPU Utilization Comparison for different web
transmission methods
HTTP 1.0
HTTP 1.1 P.C
Object Packaging
25 Observations
CPU Utilization Comparison for different web
transmission methods
HTTP 1.0
HTTP 1.1 P.C
Object Packaging
26 Observations
CPU Utilization Comparison for different web
transmission methods
HTTP 1.0
HTTP 1.1 P.C
Object Packaging
27 Conclusions
Object packaging outperforms HTTP 1.0 in both
client response time and client accumulated CPU
utilization
Object packaging method resulted in less client
response time than that of HTTP 1.1 persistent
connection by up to 48.6
Object packaging reduced 57.1, 41.2 and 64.8 of
CPU workload from HTTP 1.1 persistent connection
for 4KB, 16KB and 32KB files respectively
The advantages of object packaging are more
evident in case of small files
28Dynamic object packaging
29 Presentation
Outline
- Introduction
- Existing Methods
- Problem
- Dynamic Object Packaging
- Performance Analysis
- Experiment Design
- Conclusion
- References
- Acknowledgements
30 Introduction
Dynamic web pages
- Dynamic web pages are generated on the fly
- Shopping portals such as Amazon and EBay
display dynamic - web pages
- These web pages are popular and indispensable
to Internet users
- This delay is more reflected in a busy server
31 Introduction
Generating dynamic web pages using CGI script
- A dynamic script is executed at a server to
generate dynamic web age
- CGI is a standard for a web server to pass a
users request to a - dynamic script
- A dynamic script which adheres to CGI standard
is called CGI script
32 Introduction
Generating dynamic web pages using CGI script
Client
Server
Get Index.pl
Index.pl (CGI code)
Executed by web server
Index.pl (HTML code)
HTTP/1.1 200 OK
Get header.gif
HTTP/1.1 200 OK
33 Existing Methods
- Caching entire dynamic web page
- Application server cache tagging
These solutions rely on caching methods
- Middle-tier database caching
- Dynamic Content Accelerator
34 Problem with Existing
Methods
- Remove some delays caused in generating dynamic
web pages - Computational delays such as form query
processing
- Interaction bottle necks such as form waiting
for DBMS connection
Existing methods are inefficient
- In reducing server disk access
- Utilizing the network bandwidth
35Problem with object packaging method
- Files in Static object packaging are required to
be prepared in advance
- Contents of a dynamic webpage can be known only
after a users - request arrives
- Generating an object package on the fly causes a
long delay at the - server
- A solution should be found in order to reduce
this delay
36Dynamic object packaging
- Web response time
- CPU utilization time
of Static HTML files
Static OBJP
Dynamic OBJP is proposed to apply object
packaging to Dynamic web pages
The goal of this method is to hide the delay in
generating dynamic web pages
37Dynamic object packaging
Many of the dynamic web pages share common files
UNIX
38Dynamic object packaging
39Dynamic object packaging
Static embedded file Any file in a dynamic web
page that is Independent of user search key
Logo, Menu and other Advertisement images are
examples of static embedded files
UNIX Book images in the previous diagram are
examples of dynamic embedded files
40Dynamic object packaging
print "ltHTMLgtltheadgtlttitlegtAmazon
Pagelt/titlegtlt/headgt\n" print "ltbodygt\n" print
ltimg src\amazon_logo.gif\gt print ltimg
src\welcome_menu.gif\gt print ltimg
src\boos_menu.gif\gt print ltimg
src\electronics_menu.gif\gt print ltimg
src\tools_menu.gif\gt read(STDIN, buffer,
ENV'CONTENT_LENGTH') _at_pairs split(//,
buffer) foreach pair (_at_pairs) (name,
value) split(//, pair) FORMname
value print All TVs on Sale print All
DVDs on Sale print ltimg src\TV_advertisemen
t.gif\gt print img src\results.gif\gt print
There is a great discount on these
books print "All Results for varname
dbnew ODBC('books_database') varname
FORMsearch foreach book
db-gtSql("select books from books_table where
book'varname' ") db-gtFetchRow() print
db-gtdata(book_name) print ltimg
src\db-gtdata(\image\)\gt printlt img
src\footer.gif\gt print "lt/bodygtlt/HTMLgt\n"
Dynamic Script
41Dynamic object packaging
42Dynamic object packaging
Static HTML file
43Dynamic object packaging
44Dynamic object packaging
Dynamic Object packaging introduces an additional
object package
Static object package contains a static HTML file
generated by the static code blocks of a dynamic
script along with static embedded files
Dynamic object package contains dynamic HTML
files generated by the dynamic code blocks of a
dynamic script possibly along with dynamic
embedded files
45Preparing a static object package
Static HTML file
Server Hard drive
ltSE1gt
ltSE2gt
ltSE3gt
Retrieves
Pointer to dynamic HTML file A
Parses
ltSE4gt
ltSE5gt
Pointer to dynamic HTML file B
ltSE6gt
ltSE7gt
ltSE8gt
Static object package
SE8
SE2
SE3
SE4
SE5
SE6
SE7
SE1
Contents of requested files
Object Information Field
File Header
46Preparing a Dynamic object package
Dynamic HTML file A
Server Hard drive
References to dynamic Embedded Files
Retrieves
Parses
Dynamic HTML file B
Parses
HTML Code
Dynamic object package
DE5
DE1
DE2
DE3
DE4
Contents of requested files
Object Information Field
File Header
47Performance Analysis
Dynamic object package is prepared after
transmitting static object package
Static object package
Dynamic object package
?
??
???
Time
48Performance Analysis
Dynamic object package is prepared in parallel to
the transmission of static object package
Static object package
Dynamic object package
??
?
?
Time
Total Transmission Time
49Performance Analysis
Transmission time of Static OBJP is lesser than
the time required in generating a Dynamic OBJP
Static object package
Dynamic object package
?
?
? ?
Time
Total Transmission Time
50Performance Analysis
Static object package
Dynamic object package
?
? ?
?
? ?
Time
Total Transmission Time
51Performance Analysis
52De-packaging at the client
Object Information Field
-----------------------
Static HTML
Embedded File 1
Embedded File n
Dynamic object package name
Flag
File header of a static object package
Static Object Package
53Comparison between HTTP 1.0 and DOBJP
Comparison between HTTP 1.1 and Dynamic OBJP
Server
Client
Client
Server
Get index.pl
Get index.pl
HTTP/1.1 200 OK
IndexOBJP.obj
Get static_1.gif
DynamicOBJP.obj
HTTP/1.1 200 OK
Improvement by dynamic object packaging
Get Dynamic1.gif
HTTP/1.1 200 OK
.
Dynamic object packaging
HTTP 1.1 Persistent connection
54Experiment design
Following different cases of Dynamic scripts
should be considered
55Conclusion
- Dynamic object packaging can be applied
efficiently - without any extra delay in generating dynamic
web pages
- Dynamic object packaging process utilizes the
CPU efficiently
- Dynamic object packaging reduces the server
response time
56References
1 Anindya Dutta, Kaushik Dutta, Helen Thomas,
Kirthi Ramamritham, Accelerating Dynamic Web
Content Generation IEEE Internet Computing, pp.
27-36, October 2002 2 A. Iyenger and J.
Challenger, Improving Web Server Performance by
caching Dynamic Data Internet Technologies and
systems, Usenix Association, Berkeley,
California, 1997, http//www.usenix.org/publicati
ons/library/proceedings/usits97/iyengar.html 3
H. Fujinoki and K. Gollamudi, Web Transmission
Delay Improvement for slow and Busy Web Servers,
Proceedings of IEEE 27th Conference on Local
Computer Networks, pp. 345-347, October 2002 4
H. Fujinoki, S. Murugesan, C. Shah, Web File
Transmission by Object Packaging Performance
Comparsion with HTTP 1.0 and HTTP 1.1 Persistant
Connection Submitted to IEEE 28th Conference on
Local Computer Networks 5 J. Challenger, A
Publishing System for Efficiently Creating
Dynamic Web Content, Proceedings of IEEE INFOCOM
2000, pp. 104-117, IEEE Press, Piscataway, N.J.,
2000 6 A. Dutta et al., A Comparative study
of Alternative Middle Tier Caching Solutions to
Support Dynamic Web Content Acceleration,
Proceedings of 27th Very Large Databases
Conference, Springer Verlag, pp. 667 -670, New
York, 2001 7 J. C. Mogul, The case for
Persistent-Connection HTTP, Computer
Communication Review, vol.25, no. 4, pp. 299-313,
October 1995 8 H. Fujinoki Homepage URL
http//www.siue.edu/hfujino
57Acknowledgments
I am very grateful to Dr. Fujinoki for helping me
through out this project