{"id":185052,"date":"2004-08-03T00:00:00","date_gmt":"2010-08-05T14:58:08","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/msr-research-item\/replicating-web-applications-on-demand\/"},"modified":"2016-09-09T09:48:20","modified_gmt":"2016-09-09T16:48:20","slug":"replicating-web-applications-on-demand","status":"publish","type":"msr-video","link":"https:\/\/www.microsoft.com\/en-us\/research\/video\/replicating-web-applications-on-demand\/","title":{"rendered":"Replicating Web Applications On-Demand"},"content":{"rendered":"<div class=\"asset-content\">\n<p>Many Web-based commercial services deliver their content using Web<br \/>\napplications that generate pages dynamically based on user profiles,<br \/>\nrequest parameters etc. The workload of these applications are often<br \/>\ncharacterized by a large number of unique requests and a significant<br \/>\nfraction of data updates. Hosting these applications drives the need<br \/>\nfor systems that replicates both the application code and its<br \/>\nunderlying data. We propose the design of such a system that is based<br \/>\non on-demand replication, where data units are replicated only to<br \/>\nservers that access them often. This reduces the consistency overhead<br \/>\nas updates are sent to a reduced number of servers. The proposed<br \/>\nsystem allows complete replication transparency to the application,<br \/>\nthereby allowing developers to build applications unaware of the<br \/>\nunderlying data replication. We show that the proposed techniques can<br \/>\nreduce the client response time by a factor of 5 in comparison to<br \/>\nexisting techniques for a real-world e-commerce application used in<br \/>\nthe TPC-W benchmark. Furthermore, we evaluate our strategies for a<br \/>\nwide range of workloads and show that on-demand replication performs<br \/>\nbetter than centralized and fully replicated systems by reducing the<br \/>\naverage latency of read\/write data accesses as well as the amount of<br \/>\nbandwidth utilized to maintain data consistency.<\/p>\n<\/div>\n<p><!-- .asset-content --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many Web-based commercial services deliver their content using Web applications that generate pages dynamically based on user profiles, request parameters etc. The workload of these applications are often characterized by a large number of unique requests and a significant fraction of data updates. Hosting these applications drives the need for systems that replicates both the [&hellip;]<\/p>\n","protected":false},"featured_media":289616,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr_hide_image_in_river":0,"footnotes":""},"research-area":[],"msr-video-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-session-type":[],"msr-impact-theme":[],"msr-pillar":[],"msr-episode":[],"msr-research-theme":[],"class_list":["post-185052","msr-video","type-msr-video","status-publish","has-post-thumbnail","hentry","msr-locale-en_us"],"msr_download_urls":"","msr_external_url":"https:\/\/youtu.be\/fEnYXibNJ_0","msr_secondary_video_url":"","msr_video_file":"","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/185052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-video"}],"version-history":[{"count":0,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/185052\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/289616"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=185052"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=185052"},{"taxonomy":"msr-video-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video-type?post=185052"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=185052"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=185052"},{"taxonomy":"msr-session-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-session-type?post=185052"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=185052"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=185052"},{"taxonomy":"msr-episode","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-episode?post=185052"},{"taxonomy":"msr-research-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-theme?post=185052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}