Loading…

Multi-version Execution for the Dynamic Updating of Cloud Applications

Softwares usually need to be updated to fix bugs or add new features. On the other hand, some critical softwares, such as cloud applications, need to provide service continuously, thus should be updated without downtime. Conventional Dynamic Software Updating (DSU) systems try to update programs whi...

Full description

Saved in:
Bibliographic Details
Main Authors: Chen, Feng, Qiang, Weizhong, Jin, Hai, Zou, Deqing, Wang, Duoqiang
Format: Conference Proceeding
Language:English
Subjects:
Online Access:Request full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites
container_end_page 190
container_issue
container_start_page 185
container_title
container_volume 2
creator Chen, Feng
Qiang, Weizhong
Jin, Hai
Zou, Deqing
Wang, Duoqiang
description Softwares usually need to be updated to fix bugs or add new features. On the other hand, some critical softwares, such as cloud applications, need to provide service continuously, thus should be updated without downtime. Conventional Dynamic Software Updating (DSU) systems try to update programs while running, but they hardly consider the communication of the program to be updated with other programs, which may lead to some inconsistency problems. We handle the problem with an improved DSU system by using multi-version execution. When a new update arrives, instead of updating the application to the new version, we fork a new process of the old version and dynamically update it to the new version, then make these two versions run concurrently until the update finishes. We implement a prototype system called MUC (Multi-vesion for Updating of Cloud) on Linux. To verify our prototype, we apply MUC to cloud applications Redis and Ice cast, and evaluate the overhead of MUC at runtime.
doi_str_mv 10.1109/COMPSAC.2015.130
format conference_proceeding
fullrecord <record><control><sourceid>proquest_CHZPO</sourceid><recordid>TN_cdi_ieee_primary_7273617</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>7273617</ieee_id><sourcerecordid>1753473539</sourcerecordid><originalsourceid>FETCH-LOGICAL-i208t-f011a3edce40c645db9eea1e25ef7f6bdbebe5e730598a1f3821a9a456e3eaee3</originalsourceid><addsrcrecordid>eNotkEtLw0AUhUdBsNbuBTezdJM4dx6ZZBliq0JLBe06TJI7OpCXmUTsvzelrs5ZfBw-DiF3wEIAljxm-93be5qFnIEKQbALcgMy0iJSkVSXZMG0YIEApa_JyntXMBlrBTyWC7LZTfXogh8cvOtauv7FchpPzXYDHb-QPh1b07iSHvrKjK79pJ2lWd1NFU37vnalOdH-llxZU3tc_eeSHDbrj-wl2O6fX7N0GzjO4jGwDMAIrEqUrJzdqiJBNIBcodU2KqoCC1Q466okNmBFzMEkRqoIBRpEsSQP591-6L4n9GPeOF9iXZsWu8nnoJWQWiiRzOj9GXWImPeDa8xwzDWfbwEt_gC_S1sP</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype><pqid>1753473539</pqid></control><display><type>conference_proceeding</type><title>Multi-version Execution for the Dynamic Updating of Cloud Applications</title><source>IEEE Xplore All Conference Series</source><creator>Chen, Feng ; Qiang, Weizhong ; Jin, Hai ; Zou, Deqing ; Wang, Duoqiang</creator><creatorcontrib>Chen, Feng ; Qiang, Weizhong ; Jin, Hai ; Zou, Deqing ; Wang, Duoqiang</creatorcontrib><description>Softwares usually need to be updated to fix bugs or add new features. On the other hand, some critical softwares, such as cloud applications, need to provide service continuously, thus should be updated without downtime. Conventional Dynamic Software Updating (DSU) systems try to update programs while running, but they hardly consider the communication of the program to be updated with other programs, which may lead to some inconsistency problems. We handle the problem with an improved DSU system by using multi-version execution. When a new update arrives, instead of updating the application to the new version, we fork a new process of the old version and dynamically update it to the new version, then make these two versions run concurrently until the update finishes. We implement a prototype system called MUC (Multi-vesion for Updating of Cloud) on Linux. To verify our prototype, we apply MUC to cloud applications Redis and Ice cast, and evaluate the overhead of MUC at runtime.</description><identifier>EISSN: 0730-3157</identifier><identifier>EISBN: 1467365645</identifier><identifier>EISBN: 9781467365642</identifier><identifier>DOI: 10.1109/COMPSAC.2015.130</identifier><identifier>CODEN: IEEPAD</identifier><language>eng</language><publisher>IEEE</publisher><subject>Analytical models ; Applications programs ; Cloud ; Cloud computing ; Computer programs ; Conferences ; Dynamic software updating ; Dynamical systems ; Dynamics ; Linux ; Multi-version ; Process control ; Prototypes ; Servers ; Software ; Synchronization</subject><ispartof>2015 IEEE 39th Annual Computer Software and Applications Conference, 2015, Vol.2, p.185-190</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/7273617$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,314,776,780,785,786,23909,23910,25118,27901,27902,54530,54907</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/7273617$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Chen, Feng</creatorcontrib><creatorcontrib>Qiang, Weizhong</creatorcontrib><creatorcontrib>Jin, Hai</creatorcontrib><creatorcontrib>Zou, Deqing</creatorcontrib><creatorcontrib>Wang, Duoqiang</creatorcontrib><title>Multi-version Execution for the Dynamic Updating of Cloud Applications</title><title>2015 IEEE 39th Annual Computer Software and Applications Conference</title><addtitle>CMPSAC</addtitle><description>Softwares usually need to be updated to fix bugs or add new features. On the other hand, some critical softwares, such as cloud applications, need to provide service continuously, thus should be updated without downtime. Conventional Dynamic Software Updating (DSU) systems try to update programs while running, but they hardly consider the communication of the program to be updated with other programs, which may lead to some inconsistency problems. We handle the problem with an improved DSU system by using multi-version execution. When a new update arrives, instead of updating the application to the new version, we fork a new process of the old version and dynamically update it to the new version, then make these two versions run concurrently until the update finishes. We implement a prototype system called MUC (Multi-vesion for Updating of Cloud) on Linux. To verify our prototype, we apply MUC to cloud applications Redis and Ice cast, and evaluate the overhead of MUC at runtime.</description><subject>Analytical models</subject><subject>Applications programs</subject><subject>Cloud</subject><subject>Cloud computing</subject><subject>Computer programs</subject><subject>Conferences</subject><subject>Dynamic software updating</subject><subject>Dynamical systems</subject><subject>Dynamics</subject><subject>Linux</subject><subject>Multi-version</subject><subject>Process control</subject><subject>Prototypes</subject><subject>Servers</subject><subject>Software</subject><subject>Synchronization</subject><issn>0730-3157</issn><isbn>1467365645</isbn><isbn>9781467365642</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2015</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><recordid>eNotkEtLw0AUhUdBsNbuBTezdJM4dx6ZZBliq0JLBe06TJI7OpCXmUTsvzelrs5ZfBw-DiF3wEIAljxm-93be5qFnIEKQbALcgMy0iJSkVSXZMG0YIEApa_JyntXMBlrBTyWC7LZTfXogh8cvOtauv7FchpPzXYDHb-QPh1b07iSHvrKjK79pJ2lWd1NFU37vnalOdH-llxZU3tc_eeSHDbrj-wl2O6fX7N0GzjO4jGwDMAIrEqUrJzdqiJBNIBcodU2KqoCC1Q466okNmBFzMEkRqoIBRpEsSQP591-6L4n9GPeOF9iXZsWu8nnoJWQWiiRzOj9GXWImPeDa8xwzDWfbwEt_gC_S1sP</recordid><startdate>20150701</startdate><enddate>20150701</enddate><creator>Chen, Feng</creator><creator>Qiang, Weizhong</creator><creator>Jin, Hai</creator><creator>Zou, Deqing</creator><creator>Wang, Duoqiang</creator><general>IEEE</general><scope>6IE</scope><scope>6IH</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIO</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20150701</creationdate><title>Multi-version Execution for the Dynamic Updating of Cloud Applications</title><author>Chen, Feng ; Qiang, Weizhong ; Jin, Hai ; Zou, Deqing ; Wang, Duoqiang</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i208t-f011a3edce40c645db9eea1e25ef7f6bdbebe5e730598a1f3821a9a456e3eaee3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2015</creationdate><topic>Analytical models</topic><topic>Applications programs</topic><topic>Cloud</topic><topic>Cloud computing</topic><topic>Computer programs</topic><topic>Conferences</topic><topic>Dynamic software updating</topic><topic>Dynamical systems</topic><topic>Dynamics</topic><topic>Linux</topic><topic>Multi-version</topic><topic>Process control</topic><topic>Prototypes</topic><topic>Servers</topic><topic>Software</topic><topic>Synchronization</topic><toplevel>online_resources</toplevel><creatorcontrib>Chen, Feng</creatorcontrib><creatorcontrib>Qiang, Weizhong</creatorcontrib><creatorcontrib>Jin, Hai</creatorcontrib><creatorcontrib>Zou, Deqing</creatorcontrib><creatorcontrib>Wang, Duoqiang</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan (POP) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP) 1998-present</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Chen, Feng</au><au>Qiang, Weizhong</au><au>Jin, Hai</au><au>Zou, Deqing</au><au>Wang, Duoqiang</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Multi-version Execution for the Dynamic Updating of Cloud Applications</atitle><btitle>2015 IEEE 39th Annual Computer Software and Applications Conference</btitle><stitle>CMPSAC</stitle><date>2015-07-01</date><risdate>2015</risdate><volume>2</volume><spage>185</spage><epage>190</epage><pages>185-190</pages><eissn>0730-3157</eissn><eisbn>1467365645</eisbn><eisbn>9781467365642</eisbn><coden>IEEPAD</coden><abstract>Softwares usually need to be updated to fix bugs or add new features. On the other hand, some critical softwares, such as cloud applications, need to provide service continuously, thus should be updated without downtime. Conventional Dynamic Software Updating (DSU) systems try to update programs while running, but they hardly consider the communication of the program to be updated with other programs, which may lead to some inconsistency problems. We handle the problem with an improved DSU system by using multi-version execution. When a new update arrives, instead of updating the application to the new version, we fork a new process of the old version and dynamically update it to the new version, then make these two versions run concurrently until the update finishes. We implement a prototype system called MUC (Multi-vesion for Updating of Cloud) on Linux. To verify our prototype, we apply MUC to cloud applications Redis and Ice cast, and evaluate the overhead of MUC at runtime.</abstract><pub>IEEE</pub><doi>10.1109/COMPSAC.2015.130</doi><tpages>6</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier EISSN: 0730-3157
ispartof 2015 IEEE 39th Annual Computer Software and Applications Conference, 2015, Vol.2, p.185-190
issn 0730-3157
language eng
recordid cdi_ieee_primary_7273617
source IEEE Xplore All Conference Series
subjects Analytical models
Applications programs
Cloud
Cloud computing
Computer programs
Conferences
Dynamic software updating
Dynamical systems
Dynamics
Linux
Multi-version
Process control
Prototypes
Servers
Software
Synchronization
title Multi-version Execution for the Dynamic Updating of Cloud Applications
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-02T16%3A36%3A16IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_CHZPO&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Multi-version%20Execution%20for%20the%20Dynamic%20Updating%20of%20Cloud%20Applications&rft.btitle=2015%20IEEE%2039th%20Annual%20Computer%20Software%20and%20Applications%20Conference&rft.au=Chen,%20Feng&rft.date=2015-07-01&rft.volume=2&rft.spage=185&rft.epage=190&rft.pages=185-190&rft.eissn=0730-3157&rft.coden=IEEPAD&rft_id=info:doi/10.1109/COMPSAC.2015.130&rft.eisbn=1467365645&rft.eisbn_list=9781467365642&rft_dat=%3Cproquest_CHZPO%3E1753473539%3C/proquest_CHZPO%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-i208t-f011a3edce40c645db9eea1e25ef7f6bdbebe5e730598a1f3821a9a456e3eaee3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=1753473539&rft_id=info:pmid/&rft_ieee_id=7273617&rfr_iscdi=true