TWI579769B - 虛擬機遷移工具 - Google Patents

虛擬機遷移工具 Download PDF

Info

Publication number
TWI579769B
TWI579769B TW101119169A TW101119169A TWI579769B TW I579769 B TWI579769 B TW I579769B TW 101119169 A TW101119169 A TW 101119169A TW 101119169 A TW101119169 A TW 101119169A TW I579769 B TWI579769 B TW I579769B
Authority
TW
Taiwan
Prior art keywords
application
cloud
rules
migration
target
Prior art date
Application number
TW101119169A
Other languages
English (en)
Other versions
TW201301138A (zh
Inventor
富萊斯羅伯
桑偉艾許文古瑪
Original Assignee
微軟技術授權有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微軟技術授權有限責任公司 filed Critical 微軟技術授權有限責任公司
Publication of TW201301138A publication Critical patent/TW201301138A/zh
Application granted granted Critical
Publication of TWI579769B publication Critical patent/TWI579769B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

虛擬機遷移工具
本發明係關於虛擬機遷移工具。
近年來,計算雲(computing cloud)的使用與可用性逐漸增加,有時稱為平台即服務(PaaS)。計算雲之實例係為Windows Azure(TM)、Amazon EC2(TM)、Bungee Connect(TM)、Google App Engine(TM)及其他。此等計算雲典型上(typically)主持(host)許多租戶,每一租戶執行該等租戶自己擁有之(own)隔離網路應用程式(isolated web applications)或網路服務,而該等隔離網路應用程式或網路服務通常係由客戶端瀏覽器存取。租戶之應用程式經常在虛擬機(VM)中執行。計算雲提供執行環境,該執行環境可以多種方式掌控改變之狀態與需求,而欲使該等改變之狀態與需求對應用程式而言變得顯而易見(transparent)。舉例而言,平衡輸入請求之負載、供應網路頻寬、處理資源、儲存器、縮放(scaling)應用程式(例如,調整實例(instance)之數量)、再定位虛擬機與應用程式實例等。共享計算雲係藉由操作實體管理,以允許租戶主要地關注於租戶之應用程式。
然而,計算雲(例如執行環境)可具有同時包括優點 與限制之特點,而該等特點係因為應用程式並非原本即設計為在計算雲上執行而有所矛盾。舉例而言,考慮到三層網路應用程式(three-tier web application)原本係設計為利用指定之非雲端資源(例如關聯式資料庫)或是多種軟體與硬體設備,以在特定作業系統上執行。應用程式可能具有用於掌控負載波動的附有內建邏輯之網路前端。前端可與中間層互相交界,該中間層實施商業邏輯並與區域檔案儲存及後端儲存(例如資料庫)互動。應用程式可能具有在雲端中不需要之用於自我縮放(self-scaling)之語意。應用程式可能具有應用程式自身之資料庫層與在雲端中不需要之伴隨的管理軟體。應用程式可能具有由雲端控制而衝突之作業系統配置設定(一些雲端可能甚至不需要作業系統)。應用程式之態樣可能需要替換、移除或加入,以允許應用程式在計算雲中有效率地執行。
以下討論之技術係關於用於遷移應用程式與虛擬機至計算雲之工具。
以下之【發明內容】係僅包括介紹以下所討論之【實施方式】之一些概念。此【發明內容】並非全面,且並不意欲描述申請專利範圍標的之範疇,申請專利範圍標的之範疇係由本文末端顯示之申請專利範圍之請求項所 界定。
本文係敘述用於遷移應用程式至計算雲之工具與技術。可使用工具以遷移任何任意應用程式至計算雲之指定實施。工具可使用遷移規則函式庫,而將規則應用至選擇的應用程式,並在處理中產生遷移輸出。遷移輸出可為通知資訊、修正代碼、修補程式或類似物。不同雲端計算平台具有不同組的規則,以允許將應用程式遷移至不同的雲端。規則可描述廣泛的應用程式特徵與用於遷移應用程式的對應校正動作。規則可指定應用程式之語意行為、代碼或呼叫、儲存、資料庫實例、與資料庫之互動、主持應用程式之作業系統及其他。
概要
以下討論之實施例係關於用於遷移應用程式至計算雲之遷移工具。討論將從計算雲之解釋開始,接著是數個實例。將討論示例性應用程式。用於遷移之工具與技術將敘述於後,包括遷移工具、遷移規則及用於遷移之處理。
計算雲
第1圖圖示一般計算雲100。資料網路102提供在構成計算雲100之多種電腦(未圖示)之間之連接。一般而言,大量電腦主持虛擬機,而該等虛擬機主持隔離租 戶應用程式。多種雲端服務104可提供例如通訊佇列、負載平衡等之功能。雲端平台106可作為租戶可上傳及管理租戶之應用程式之介面。雲端平台106亦可打包及管理租戶之應用程式,以實際上提供用於每一應用程式之計算環境。雲端基礎架構108可包括佈告與管理元件。舉例而言,雲端基礎架構108可使電腦連線或離線以掌控應用程式及/或計算雲100之負載之改變。雲端儲存110可具有多種形式,舉例而言,提供藉由個別租戶控制及配置之資料庫之實例之關聯式資料庫服務、簡單二進制大型物件(blob)儲存、表儲存、檔案系統儲存等。
第2圖圖示一般計算雲100之另一視圖。在此視圖中,租戶120、122具有個別雲端主持之應用程式124、126。計算雲100具有管理應用程式124、126之計算環境128、130之組織125。組織125可具有執行附有客作業系統、儲存服務等之虛擬機的許多電腦。應用程式124、126可包含通常用於網路式存取之多種組件,且可使用由計算雲100提供之資源。計算環境128、130可類似於Amazon EC2實例(當由Amazon Machine Images(AMI)配置)、任務(當在Microsoft Azure中)、附有管理代碼環境之部分沙箱模擬作業系統(當在Google App Engine中)等。計算環境128、130可由組織125根據現今狀況(例如負載、網路訊務、未預期錯誤等等)而「延展」。此等延展可根據需求而明顯地涉及加入或移除計算資源 (硬體、VM、服務實例、資料庫實例等)。
應用程式124、126可由租戶120、122上傳及配置。隨著由計算雲100管理,而執行應用程式124、126,且客戶端128使用瀏覽器或其他類型的客戶端軟體來存取應用程式124、126之實例。應注意,從應用程式看來,應用程式係執行於平台上,且計算雲100之動作係相當明顯。應用程式係經由通訊協定存取,而不考慮底層硬體、資料網路或在應用程式與客戶端之間之雲端層。
第3圖圖示二個示例性計算雲架構。雲端架構250係為Amazon EC2雲端之版本。應用程式之開發與部署係由租戶之客戶端掌控。雲端提供機器映像(machine image)及隨選實例之形式的雲端計算服務。在虛擬機中之客作業系統中主持應用程式。隨著來自支援服務之需要,由雲端提供虛擬機與資料庫之實例。佇列服務可加強在虛擬機與應用程式實例之間之通訊。此等部件如何作用與合作之詳細情況可在別處取得。
雲端架構252係為Google App Engine雲端之版本。多種開發工具係用於建立及部署應用程式。App Engine本身可完全在別處取得文件。關鍵特徵係為一旦部署應用程式,App Engine自動掌控縮放(scaling);並隨著需要而加入及移除資源及/或實例。多種支援服務可由應用程式存取。帳號服務、資料表服務及其他係由應用程式使用,且此等資源亦由雲端縮放(scaled)及管理。
第4圖圖示用於Microsoft Azure的版本的計算雲架構 254。提供任務以分離建有管理代碼的可縮放(scalable)部件。工作站任務係用於開發之產生,並可執行網路任務之背景處理。網路任務提供網路伺服器,而經由超文件傳輸協定(HTTP)或超文件傳輸加密協定(HTTPS)終端來收聽並回應網路請求。VM任務係根據租戶定義配置(例如資源、客作業系統)而實例化(instantiate)。作業系統與VM由雲端更新及管理。網路任務與工作站任務係執行在VM任務中,VM任務係為在租戶控制下之虛擬機。儲存與結構化查詢語言(SQL)服務係可為任務所使用。隨著利用其他雲端,係由雲端掌控硬體與軟體環境或平台(包括縮放(scaling)、負載平衡等)。
概括言之,在PaaS類型之計算雲中,雲端計算平台本身掌控最多的行政管理功能。平台可自動地(並對租戶而言明顯地)掌控事物,例如應用作業系統修補程式、安裝系統或資料庫軟體之新版本、連線電腦與VM、遷移VM、分配網路頻寬等等。此透明管理可與一些應用程式之語意行為交叉(將在下一個章節討論),而可消除因為修補、硬體錯誤、過載及其他原因而無法取得應用程式之情況。此外,實體或虛擬機控制之雲端掌控應用程式縮放(scaling),該雲端係保證在任何假設時間處可取得資源的適當等級。計算雲平台可具有其他特徵。舉例而言,瀏覽器式開發工具、無縫部署至雲端主持之執行環境(例如,從客戶端存取雲端而部署與開始應用程式之能力)、租戶之網路式管理與監視工具、隨收隨付帳 單系統及其他。
應用程式遷移
如上述所建議,並非原本建立成在計算雲中執行之應用程式可能具有可由計算雲架構與服務影響之設計特點(語意)、代碼特性及配置特徵。應用程式可能具有例如負載平衡與縮放(scaling)在雲端計算環境中多餘之功能。應用程式亦可能具有在雲端中可導致錯誤、資料遺失或其他錯誤之特徵。當遷移應用程式至雲端環境時,經常可以或應該對兼容性、可靠性、有效性、最小成本、適合的安裝等等做修改。
第5圖圖示遷移目標應用程式280至計算雲之實例。目標應用程式280係為原本為了指定作業系統與定製基礎架構而設計之機器或主持式應用程式,例如,家用資訊科技(IT)環境。目標應用程式280具有三層架構,該三層架構包括掌控客戶端請求之網路伺服器282之前端。定製之負載平衡器284分配在網路伺服器282中之客戶端請求。中間層包括掌控目標應用程式280之邏輯與主功能之應用程式伺服器286。中間層在由SQL伺服器288管理之資料庫中儲存資料與應用程式狀態。SQL伺服器維持用於故障切換(fail-over)與備份之資料庫鏡像站。應用程式伺服器286與具有SQL呼叫或類似物之SQL伺服器288互相交界。負載平衡器290平衡網路伺服器282與應用程式伺服器286之間之互動。藉由加入上述元件中之任何實例,目標應用程式280可具有用 於縮放(scaling)之定製邏輯。此外,可具有行政管理軟體層以管理目標應用程式280執行之電腦平台。此層可執行備份、系統更新、暫斃(zombie)處理或系統之重新啟動、在主持電腦之間之虛擬機之遷移、故障切換系統的重新指向等等。
第5圖的較下方部分圖示已遷移之應用程式292。已遷移之版本可由稍後討論之多種方式修改。舉例而言,負載平衡機制294可由計算雲(對已遷移之應用程式292而言為不可見)提供。已遷移之應用程式292之網路伺服器296可移除HTTP伺服器,並依靠計算雲以掌控HTTP請求。或者,網路伺服器296可由雲端實例化及管理。雲端亦可提供已遷移之應用程式伺服器298之負載平衡與縮放(scaling)。已遷移之應用程式292之資料層仍然使用SQL語句與邏輯(或許已修改),但應用程式資料現在係從雲端管理資料庫實例300儲存及提供服務。安裝已遷移之應用程式292至雲端之租戶仍然可配置資料庫與指定資料庫之需求,但一般根據使用者提供之綱目或類似物,由提供(及隔離)其他在雲端中之租戶之資料庫的資料庫服務提供資料庫。遷移工具與其他可能對應用程式之修改之詳細情況將描述於下。
第6圖圖示遷移工具320。遷移工具執行在一或更多個電腦上,並在選擇之應用程式322上執行遷移分析,並可能修改選擇之應用程式322及/或輸出資訊,以允許開發者手動修改選擇之應用程式322。工具使用具有個 別雲端之遷移規則組326之遷移函式庫324。舉例而言,一個遷移規則組326。當使用者使用遷移工具320時,選擇目標雲端平台,並由遷移工具320使用對應之遷移規則組326以產生遷移輸出328。遷移輸出328可為修正原始碼、應用至選擇之應用程式322之修補程式、通知代碼、語意或架構改變之報告或此等輸出的結合。
第7圖圖示規則或遷移函式庫324之視圖。如所示,不同遷移規則組可用於不同計算雲平台。示例性規則組326A可包括代碼規則350、作業系統規則352、語意規則354、SQL或資料庫規則356、安裝器規則358及/或其他。
代碼規則350可包括〈狀況〉〈動作〉形式之規則。狀況可指定代碼語句之語法、應包括或排除之指定函式庫、指定儲存類型或位置、路徑等等。亦可指定一般編碼模式。可有多種動作。一些動作可修改代碼或插入預定義之命令。其他動作可將輸出加入遷移報告日誌。代碼規則350可辨識指定呼叫或方法組,並轉換指定呼叫或方法組至雲端用之應用程式介面(API)。規則可辨識對指定許可伺服器或許可函式庫之呼叫。規則亦可辨識指向至目標計算雲中無法取得之網路服務之代碼(例如Active Directory(TM))。可包括對應校正動作、報告及/或修正。
可提供作業系統配置規則組352以用於建立指定作業系統之目標應用程式之環境(在遷移之後,以雲端之VM 訪客之形式)。在一些狀況中,作業系統規則可關於與作業系統互相交界之應用程式代碼。在計算雲允許租戶指定或安裝特定作業系統之狀況中,規則可直接檢查作業系統。舉例而言,若相關計算雲自動地掌控客作業系統之更新,則客作業系統應配置以關閉自動更新。可修改或加入准許或特別的使用者帳戶。一些雲端可僅支援指定作業系統版本(釋出版本、32對64位元版本等),所以規則可識別作業系統之需求,且動作可涉及改變作業系統、更新作業系統或標示需要以施行此類動作。在一些雲端中,為了一致,可適當地設定作業系統時間區域設定為特定時間區域設定,例如協調世界時(UTC),因為應用程式實例或VM可跨越多個地理時間區域執行。再一次注意,對應校正或修補程式可包括於規則中。
語意規則354可指定目標應用程式之架構或設計態樣。舉例而言,如上所述,一些應用程式特性在計算雲可能變得過時。語意規則354可指定線索以辨識負載平衡器、縮放邏輯(scaling logic)、資料備份或鏡像,及其他。線索可來自建立清單、關鍵字辨識或現成或公開部件的已知指示器。線索亦可來自自動代碼分析,該自動代碼分析可涉及編譯代碼並分析或剖析(profile)代碼之特點。辨識語意特性可包括重新啟動邏輯(由雲端掌控)、資源用量及故障切換邏輯。在一些雲端中,因為VM可由雲端之意志移動(停止及重新啟動),規則可辨識依靠區域儲存的應用程式之部分,以推薦使用雲端式 永久儲存,來可靠地維持應用程式的狀態。在一個實施例中,規則可辨識一狀況,該狀況係為必須由雲端自動啟動的新實例來辨識由應用程式部件的一個實例儲存之狀態。其他語意規則可加入(或建議加入)鉤,以辨識當主持作業系統進入睡眠或暫停狀態(或重新啟動)時,允許應用程式之實例確認(例如根據應用程式之主VM的恢復)應用程式具有與中斷之前一致之狀態。
儲存或資料庫規則356可涉及關於從一般資料庫伺服器平移至雲端式資料庫伺服器之規則,該等規則可為計算雲之部分之資料庫服務之實例。此等規則亦可涉及從特定資料庫平移至另一形式之儲存,例如雲端中之blob儲存、雲端中之關鍵值儲存、表服務中之簡單資料表等。一般而言,如上所述,規則可傾向將應用程式儲存策略從儲存在VM主持之應用程式平移至雲端式儲存。其他資料庫規則356可尋找特定SQL呼叫、資料庫鏡像邏輯。連接規則可被包括以造成在資料庫異動期間更頻繁的連接確認。舉例而言,一些雲端式資料庫服務可頻繁地加速新實例並停止應用程式資料庫的舊實例;原始應用程式可假設透過代碼展開而使連接保持可用,而當遷移至雲端時,連接確認係為有幫助的。在另一實施例中,雲端式資料庫可以不保證跨越多個表的異動;規則可標示涉及多個表的SQL異動。亦可辨識不支援或不需要的SQL呼叫。
安裝器規則358可檢查目標應用程式的安裝套件格 式,並應用關於在目標雲端上安裝之規則。舉例而言,若計算雲運用VM主持應用程式之控制,則多種安裝部件可能需要再定位,且需要將假設在原始應用程式可實際出現之部件(例如組件或函式庫)包括在遷移應用程式之安裝處理中。當在雲端式環境中安裝時,一些應用程式組件之設定可能需要替換。在一個實施例中,完全安裝套件可標示為不與雲端相容。在另一實施例中,安裝規則可將應用程式之安裝套件從一個格式轉換成相容於目標雲端的格式。規則亦可加入存取雲端所需之身份碼,以安裝應用程式。再一次注意,對應動作、校正及/或通知可包含在規則內。
亦可包括其他類型之規則。在一個實施例中,遷移函式庫可包括關於相關雲端之成本資訊。此種資訊可敘述成本如何在雲端中孳生,及雲端資源的多種單元之成本。規則可依次存取成本資訊以執行關於在目標雲端中之應用程式之潛在成本之分析。可能涉及此種分析。在一個實施例中,成本資訊可包括關於在目標雲端中之許可權或機會之資訊。當應用此等規則時,此等規則可將推薦搜索應用程式之部件(例如客作業系統、資料庫實例等)之新許可安排或來自適用許可條件之雲端操作者(或其他供應商)之許可供應者加入至遷移報告,而因此避免需要單獨支付許可。
上述之大量規則並非限制;可使用其他指定規則與規則之其他種類。此外,規則係為在計算雲中關於需求與 偏好之代表資訊的簡單習知形式。本文所使用之用語「規則」係定義以包括敘述任意應用程式之原始狀況的任何資訊(可應用於任意應用程式),或是應用程式之環境,及若應用程式執行在計算雲中之相關指定計算雲之對應態樣。如本文所使用,「規則」亦可定義以包括當在目標應用程式中決定出現由規則指定之狀況時採取之任何動作,包括實質修改、修補程式或報告之產生或可使用之其他資訊。因此,在實際上,規則可以許多形式採用,包括宣告或邏輯語言之語句、一般程式碼(包括腳本語言、編譯碼)等等。取決於對應規則組之指定計算雲,從一個規則組326到下一個可具有多種規則之類型與性質。在一個實施例中,僅有一個規則組326;遷移函式庫324係僅用於計算雲的一個實施。在另一實施例中,規則實施為可執行工具之部分。
第8圖圖示藉由遷移工具320執行之處理。在步驟380處,遷移工具320的使用者指定目標軟體或應用程式,以遷移至計算雲(工具與規則係設計為可應用至任何應用程式)。在步驟382處,遷移工具320存取目標應用程式。此舉可涉及開啟套件格式、讀取原始碼檔案與配置檔案、掛載VM映像或用於在應用程式中調查之其他構件。遷移工具320可識別元件之間之關聯、附屬關係、相關檔案(例如清單與建立腳本)等等。在步驟384處,相關規則組係從規則函式庫載入。在步驟386處,應用語法分析之應用程式的多種部件與相關規則。在步驟 388處,產生輸出。輸出可採取上述之多種形式,包括修補程式、代碼更正、推薦或其他。
第9圖圖示由遷移工具320使用之讀取工具400之一組實例。為了存取應用程式之內容,遷移工具320可使用VM映像掛載器402、代碼語法分析器404、安裝套件檢查器406、組件讀取器408、綱目讀取器410、腳本讀取器412或語法分析器、編譯器、軟體開發環境及/或關於遷移應用程式類型之任何其他已知技術。VM映像掛載器402可經配置以讀取VM映像格式,並掛載映像至檔案系統上。
結論
可以儲存在揮發性或非揮發性電腦或裝置可讀取媒體上之資訊之形式來理解以上所討論之實施例與特徵。此亦視為包括至少例如光儲存(例如光碟唯讀記憶體(CD-ROM)、磁碟、快閃唯讀記憶體(ROM)或任何現今或未來儲存數位資訊之構件)之媒體。儲存資訊可為機器可執行指令(例如已編譯之可執行二進位代碼)、原始碼、位元組代碼或任何其他可用於啟動或配置計算裝置以執行多種上述之實施例之其他資訊之形式。此亦視為至少包括儲存資訊之揮發性記憶體(例如隨機存取記憶體(RAM)及/或虛擬記憶體),該資訊係例如執行實施例之程式執行期間之中央處理器(CPU)指令,及儲存資訊之非揮發性記憶體,該資訊允許載入及執行程式或可執行檔案。實施例與特徵可執行在任何類型之計算 裝置上,包括手持裝置、工作站、伺服器、行動無線裝置等等。
100‧‧‧計算雲
102‧‧‧資料網路
104‧‧‧雲端服務
106‧‧‧雲端平台
108‧‧‧雲端基礎架構
120‧‧‧租戶
122‧‧‧租戶
124‧‧‧應用程式
125‧‧‧組織
126‧‧‧應用程式
128‧‧‧計算環境/客戶端
130‧‧‧計算環境
250‧‧‧雲端架構
252‧‧‧雲端架構
254‧‧‧計算雲架構
280‧‧‧目標應用程式
282‧‧‧網路伺服器
284‧‧‧負載平衡器
286‧‧‧應用程式伺服器
288‧‧‧SQL伺服器
290‧‧‧負載平衡器
292‧‧‧已遷移之應用程式
294‧‧‧負載平衡機制
296‧‧‧網路伺服器
298‧‧‧已遷移之應用程式伺服器
300‧‧‧雲端管理資料庫實例
320‧‧‧遷移工具
322‧‧‧選擇之應用程式
324‧‧‧遷移函式庫
326‧‧‧遷移規則組
326A‧‧‧規則組
328‧‧‧遷移輸出
350‧‧‧代碼規則
352‧‧‧作業系統規則
354‧‧‧語意規則
356‧‧‧資料庫規則
358‧‧‧安裝器規則
380‧‧‧步驟
382‧‧‧步驟
384‧‧‧步驟
386‧‧‧步驟
388‧‧‧步驟
400‧‧‧讀取工具
402‧‧‧VM映像掛載器
404‧‧‧代碼語法分析器
406‧‧‧安裝套件檢查器
408‧‧‧組件讀取器
410‧‧‧綱目讀取器
412‧‧‧腳本讀取器
本說明係因隨附圖式與上述之【實施方式】而有更佳之理解,其中相似之元件符號係用於指出隨附圖式中之相似部分。
第1圖圖示一般計算雲。
第2圖圖示一般計算雲之另一視圖。
第3圖圖示二個示例性計算雲架構。
第4圖圖示另一計算雲架構。
第5圖圖示遷移目標應用程式至計算雲之實例。
第6圖圖示遷移工具。
第7圖圖示規則或遷移函式庫之視圖。
第8圖圖示藉由遷移工具執行之處理。
第9圖圖示由遷移工具使用之讀取工具之一組實例。
出現之許多特徵係參照上述之【實施方式】與隨附圖式之結合一併考慮解釋。
320‧‧‧遷移工具
322‧‧‧選擇之應用程式
324‧‧‧遷移函式庫
326‧‧‧遷移規則組
328‧‧‧遷移輸出

Claims (19)

  1. 一種遷移(migrate)應用程式至一應用程式主持雲(application hosting cloud)之方法,該應用程式主持雲為了由客戶端透過網際網路存取,而主持(host)任意應用程式,該方法包含以下步驟:選擇一目標應用程式以遷移至該應用程式主持雲;傳遞該目標應用程式的原始碼至一遷移工具,其中該遷移工具被提供予對一規則函式庫(rules library)的存取,該規則函式庫包括多群複數個遷移規則,其中每群複數個遷移規則對應於包括該應用程式主持雲中的一個別之不同的應用程式主持雲,且其中每群複數個遷移規則包括對應於原始碼結構(source code constructs)的遷移規則以連接至(interface with)由相對應的該應用程式主持雲所提供之服務;利用該遷移工具語法分析(parsing)與分析(analyzing)該目標應用程式的原始碼,以識別可應用至該目標應用程式的遷移規則;選擇該等多群複數個遷移規則中之一群以使得已識別的該等遷移規則僅從所選擇的該群複數個遷移規則中被選擇;及於該應用程式主持雲中執行該應用程式之前,應用已識別的該等遷移規則至該目標應用程式的該原始碼,以修改該目標應用程式的該原始碼以用於在該應 用程式主持雲中之執行。
  2. 如請求項1所述之方法,其中應用已識別的該等遷移規則之該步驟亦產生識別對該目標應用程式在該應用程式主持雲之執行之建議修改之一報告。
  3. 如請求項1所述之方法,其中該應用程式主持雲藉由實例化(instantiate)與終止該等任意應用程式之實例(instance),以執行該應用程式主持雲主持之該等任意應用程式之恆定負載平衡,且其中已識別之一規則包含一狀況(condition),該狀況包含關於該負載平衡之一語意行為。
  4. 如請求項3所述之方法,其中該目標應用程式包含一安裝套件(package),且語法分析與分析之該步驟包含以下步驟:開啟該安裝套件,該安裝套件識別該目標應用程式之配置設定,且已識別之該等規則中之一者修改一配置設定。
  5. 如請求項1所述之方法,其中已識別之該等規則中之一者包含結構化查詢語言(SQL)代碼之描述與一代碼修改,其中應用已識別的該等遷移規則之該步驟包括以下步驟:應用已識別之該等規則中之該者,以改變匹配該描述之該目標應用程式代碼之一部分,該代碼在改變之前無法在該 應用程式主持雲中正確地執行。
  6. 如請求項1所述之方法,其中已識別之該等規則包含關於在該應用程式主持雲中之資料保存之規則,與關於在該雲中之語意行為之規則。
  7. 如請求項6所述之方法,其中應用已識別的該等規則之該步驟識別藉由該應用程式主持雲掌控以功能性地執行之該目標應用程式之部分。
  8. 一種電腦可讀取儲存媒體,該電腦可讀取儲存媒體儲存可由一電腦執行之一遷移(migration)工具之資訊,該遷移工具包含:一規則函式庫(rules library),該規則函式庫包含描述語意行為之遷移規則,其中該等規則可被應用至任意應用程式以被遷移至一平台即服務(PaaS)雲;一或更多個語法分析器(parser),該一或更多個語法分析器語法分析(parses)一目標網路應用程式之代碼與配置檔案,該目標網路應用程式包括一前端應用程式與一後端資料儲存應用程式,該後端資料儲存應用程式經程式化以與該前端應用程式合作,該語法分析器從該規則函式庫中之該等遷移規則上識別可應用至該網路應用程式之規則;及於該PaaS雲中執行該網路應用程式之前,應用該等 規則至該網路應用程式之該代碼,以識別對該網路應用程式造成之改變,以允許該網路應用程式執行於及連接至(interface with)該PaaS雲,該等改變包括:(1)在該網路應用程式中移除或修改經由該應用已識別之該等規則而被識別為與該PaaS雲之主持功能皆為多餘的應用程式邏輯,或(2)在該網路應用程式的代碼中的資源參照,對於該等資源參照,有由該雲提供的相對應的雲服務。
  9. 如請求項8所述之電腦可讀取儲存媒體,其中一些該等規則係描述SQL呼叫或狀態(statements),而應用之該步驟包含以下步驟:修改該目標網路應用程式之該代碼,以使得已修改之該等呼叫或狀態可在該PaaS雲中執行。
  10. 如請求項9所述之電腦可讀取儲存媒體,其中當執行已修改之該等呼叫或狀態時,調用(invoke)在該PaaS雲中之一資料庫服務,該資料庫服務包含可用於在該PaaS雲中執行之任意應用程式之該PaaS雲之部分,該資料庫服務提供用於該等任意應用程式之個別隔離並可縮放(scalable)之資料庫實例。
  11. 如請求項8所述之電腦可讀取儲存媒體,其中當該等規則中之一或更多者應用至該目標網路應用程式之該代碼時,識別該目標網路應用程式之儲存邏輯,該目標網路應 用程式之儲存邏輯指定在一區域檔案系統上之儲存,並且修正該邏輯以使用該PaaS雲之一保存資料儲存服務作為替代,或輸出識別該邏輯與推薦該保存資料儲存之資訊。
  12. 如請求項8所述之電腦可讀取儲存媒體,其中該目標網路應用程式係儲存在一虛擬機映像中,而該遷移工具掛載(mount)該虛擬機映像,且該一或更多語法分析器語法分析目標網路應用程式以應用該等規則。
  13. 如請求項8所述之電腦可讀取儲存媒體,其中該目標網路應用程式包含一資料庫綱目,且該目標網路應用程式儲存在符合一標準部署套件格式的一部署套件中,該遷移工具具有一部件以讀取該標準部署套件格式。
  14. 一種遷移(migrating)一應用程式至一雲之方法,該方法包含以下步驟:從用於複數個雲的遷移規則的一函式庫(library)上存取指定至該雲之一組遷移規則,該組遷移規則識別當應用程式在該雲中被主持(hosted)時該等應用程式應具有之特性,及對該等應用程式之對應校正,該遷移規則包括一或多個規則經配置以識別與該雲的主持功能皆為多餘的應用程式邏輯;應用該組遷移規則至一應用程式的原始碼,該應用程式經配置以在硬體平台而非在該雲中執行,應用之 該步驟藉由存取該雲的資源或是藉由修改經識別為與該雲的該主持功能皆為多餘的代碼來產生修改及/或推薦以用於將該應用程式之該原始碼修改成在該雲中執行;及於該雲中執行該應用程式之前,使用該等修改及/或推薦,以將該應用程式之該原始碼修改成在該雲中執行。
  15. 如請求項14所述之方法,其中該等規則識別在該應用程式中之邏輯,該應用程式可從使用一原生平台資源轉換成使用由該雲提供之一資源。
  16. 如請求項15所述之方法,其中該資源包含一負載平衡資源、一資料庫服務資源、一資料儲存服務或一縮放資源(scaling resource)。
  17. 如請求項14所述之方法,其中該應用程式包含至少部分之一網路前端,與關於如何藉由該網路前端維持客戶端狀態之該等修改及/或推薦。
  18. 如請求項14所述之方法,該方法更進一步包含以下步驟:識別SQL邏輯或代碼,並應用提供給在該雲中之任意應用程式之一資料庫服務之對應規則,該資料庫服務管理該等任意應用程式之資料庫實例。
  19. 如請求項14所述之方法,其中該組規則包含關於在該應用程式主持雲中資料保存之規則,與關於在該雲中之語意行為之規則。
TW101119169A 2011-06-29 2012-05-29 虛擬機遷移工具 TWI579769B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/171,446 US9176773B2 (en) 2011-06-29 2011-06-29 Virtual machine migration tool

Publications (2)

Publication Number Publication Date
TW201301138A TW201301138A (zh) 2013-01-01
TWI579769B true TWI579769B (zh) 2017-04-21

Family

ID=47391778

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101119169A TWI579769B (zh) 2011-06-29 2012-05-29 虛擬機遷移工具

Country Status (9)

Country Link
US (3) US9176773B2 (zh)
EP (1) EP2726976B1 (zh)
JP (1) JP6030646B2 (zh)
KR (2) KR101881625B1 (zh)
CN (1) CN103620551B (zh)
AU (4) AU2012276003B2 (zh)
CA (1) CA2840437C (zh)
TW (1) TWI579769B (zh)
WO (1) WO2013002937A2 (zh)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130085810A1 (en) * 2011-09-29 2013-04-04 Volker Driesen Federated business configuration and scoping
US8761101B1 (en) * 2011-10-13 2014-06-24 Excelfore Corporation Network based machine-to-machine system for monitoring
US9152725B2 (en) * 2011-11-04 2015-10-06 Salesforce.Com, Inc. Computer implemented methods and apparatus for configuring and performing a custom rule to process a preference indication
US8627152B1 (en) * 2011-11-14 2014-01-07 Amazon Technologies, Inc. Simultaneous error detection during VM import
US9772830B2 (en) * 2012-01-19 2017-09-26 Syntel, Inc. System and method for modeling cloud rules for migration to the cloud
US9021096B2 (en) * 2012-01-23 2015-04-28 International Business Machines Corporation Performing maintenance operations on cloud computing node without requiring to stop all virtual machines in the node
US8930542B2 (en) * 2012-01-23 2015-01-06 International Business Machines Corporation Dynamically building a set of compute nodes to host the user's workload
US9213580B2 (en) * 2012-01-27 2015-12-15 MicroTechnologies LLC Transportable private cloud computing platform and associated method of use
US9294552B2 (en) 2012-01-27 2016-03-22 MicroTechnologies LLC Cloud computing appliance that accesses a private cloud and a public cloud and an associated method of use
US9465654B2 (en) * 2012-02-07 2016-10-11 Veritas Technologies Llc Intelligent failover or shutdown of an application using input/output shipping in response to loss of connectivity to data storage in a cluster
US20130339424A1 (en) * 2012-06-15 2013-12-19 Infosys Limited Deriving a service level agreement for an application hosted on a cloud platform
US10031782B2 (en) * 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US10379910B2 (en) 2012-10-26 2019-08-13 Syntel, Inc. System and method for evaluation of migration of applications to the cloud
US9195294B2 (en) 2012-11-13 2015-11-24 International Business Machines Corporation Cooperatively managing enforcement of energy related policies between virtual machine and application runtime
US9189619B2 (en) * 2012-11-13 2015-11-17 International Business Machines Corporation Runtime based application security and regulatory compliance in cloud environment
US10489214B2 (en) 2012-11-16 2019-11-26 Dell Products L.P. System and method for application deployment in cloud
KR102083289B1 (ko) * 2013-01-29 2020-03-02 삼성전자주식회사 마이크로서버 환경의 소프트웨어 이주 방법 및 이를 지원하는 장치
US20140214886A1 (en) * 2013-01-29 2014-07-31 ParElastic Corporation Adaptive multi-client saas database
US11907496B2 (en) * 2013-02-08 2024-02-20 cloudRIA, Inc. Browser-based application management
KR101427562B1 (ko) * 2013-03-08 2014-08-07 주식회사 인프라웨어테크놀러지 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
KR101447191B1 (ko) 2013-04-03 2014-10-06 에스케이텔레콤 주식회사 단말장치 및 단말장치의 동작 방법
US10469558B2 (en) 2013-04-18 2019-11-05 Microsoft Technology Licensing, Llc Website server request rerouting
JP5911448B2 (ja) * 2013-05-10 2016-04-27 株式会社日立製作所 移行支援装置、移行支援方法およびプログラム
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US10776244B2 (en) * 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US9294482B2 (en) * 2013-07-25 2016-03-22 Oracle International Corporation External platform extensions in a multi-tenant environment
US10860529B2 (en) * 2014-08-11 2020-12-08 Netapp Inc. System and method for planning and configuring a file system migration
US20160041996A1 (en) 2014-08-11 2016-02-11 Netapp, Inc. System and method for developing and implementing a migration plan for migrating a file system
US9483646B2 (en) * 2013-09-19 2016-11-01 Remotium, Inc. Data exfiltration prevention from mobile platforms
US9628550B1 (en) * 2013-10-24 2017-04-18 Ca, Inc. Lightweight software management shell
US10795539B2 (en) 2013-12-10 2020-10-06 International Business Machines Corporation Visualizing migration of a resource of a distributed computing environment
EP3090341A1 (en) * 2013-12-30 2016-11-09 Brennan, Edward Colin System and method for allocating resources and managing a cloud based computer system
EP3111323A1 (en) 2014-02-25 2017-01-04 Flexion Mobile Limited System and method to modify run-time behavior of an application by modification of machine-readable instructions
US9703811B2 (en) * 2014-06-14 2017-07-11 Accenture Global Services Limited Assessing database migrations to cloud computing systems
US9350682B1 (en) 2014-07-30 2016-05-24 Amazon Technologies, Inc. Compute instance migrations across availability zones of a provider network
US9836332B2 (en) * 2014-07-31 2017-12-05 Corent Technology, Inc. Software defined SaaS platform
US9632887B2 (en) 2014-09-19 2017-04-25 International Business Machines Corporation Automatic client side seamless failover
CN104281484B (zh) * 2014-09-23 2018-04-10 华为技术有限公司 一种虚拟机迁移方法和装置
US9684470B2 (en) 2014-09-30 2017-06-20 International Business Machines Corporation Rapid migration to managed clouds with multiple change windows
US10067800B2 (en) * 2014-11-06 2018-09-04 Vmware, Inc. Peripheral device sharing across virtual machines running on different host computing systems
US10411960B1 (en) * 2014-11-12 2019-09-10 Amazon Technologies, Inc. Detaching instances from auto-scaling group
US9647889B1 (en) 2014-11-12 2017-05-09 Amazon Technologies, Inc. Standby instances for auto-scaling groups
US9612765B2 (en) 2014-11-19 2017-04-04 International Business Machines Corporation Context aware dynamic composition of migration plans to cloud
CN104468759B (zh) * 2014-11-27 2018-06-01 中国联合网络通信集团有限公司 PaaS平台中实现应用迁移的方法和装置
US20160162209A1 (en) * 2014-12-05 2016-06-09 Hybrid Logic Ltd Data storage controller
CN104598525B (zh) * 2014-12-25 2018-11-20 华为技术有限公司 一种应用复制方法、设备及系统
US10484297B1 (en) 2015-03-16 2019-11-19 Amazon Technologies, Inc. Automated migration of compute instances to isolated virtual networks
US10635779B2 (en) * 2015-07-29 2020-04-28 Siemens Healthcare Gmbh Devices, methods and computer readable mediums for flexible delivery and deployment of medical applications
WO2017058222A1 (en) * 2015-09-30 2017-04-06 Hewlett Packard Enterprise Development Lp Data transfer requests
CN105338079B (zh) * 2015-10-27 2019-10-11 北京金山安全软件有限公司 一种下载主题包的方法及装置
WO2017095382A1 (en) * 2015-11-30 2017-06-08 Hewlett Packard Enterprise Development Lp Application migration system
JP6727804B2 (ja) * 2015-12-25 2020-07-22 株式会社ユーズテック ミドルウェア
CN105589746B (zh) * 2015-12-30 2019-05-10 中国银联股份有限公司 虚拟机迁移记录管理方法及系统
US10574523B2 (en) 2016-01-15 2020-02-25 RightScale Inc. Systems and methods for cloud-deployments with imperatives
US10127066B1 (en) 2016-03-31 2018-11-13 Amazon Technologies, Inc. Server synchronization using continuous block migration in provider network environments
US10133593B1 (en) * 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
US10616311B2 (en) 2016-06-03 2020-04-07 At&T Intellectual Property I, L.P. Facilitating management of communications systems
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US10409589B2 (en) 2016-07-12 2019-09-10 Accenture Global Solutions Limited Application centric continuous integration and delivery with automated service assurance
US11223537B1 (en) * 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
US11194558B2 (en) * 2016-10-14 2021-12-07 Accenture Global Solutions Limited Application migration system
US10360242B2 (en) 2016-12-01 2019-07-23 Bank Of America Corporation Automated server analysis and patching for enabling relational database migration to a cloud network
CN106776143A (zh) * 2016-12-27 2017-05-31 北京奇虎科技有限公司 一种针对终端应用程序的镜像备份的方法及终端设备
JP2018173920A (ja) * 2017-03-31 2018-11-08 富士通株式会社 制御プログラム、制御方法および制御装置
CN107122208A (zh) * 2017-04-18 2017-09-01 深圳市金立通信设备有限公司 一种数据转移的方法及终端
KR102166336B1 (ko) * 2017-05-15 2020-10-15 삼성전자주식회사 소프트웨어 플랫폼을 제공하는 서버 및 그 동작방법
US10474438B2 (en) * 2017-07-21 2019-11-12 Accenture Global Solutions Limited Intelligent cloud engineering platform
CN109697120B (zh) * 2017-10-20 2023-06-27 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
CN109729121B (zh) * 2017-10-31 2022-05-06 阿里巴巴集团控股有限公司 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
CN109828786B (zh) * 2017-11-23 2022-05-13 中标软件有限公司 一种基于代码级支持sw_64架构的自动化工具
CN110134489B (zh) * 2018-02-08 2023-10-13 中兴通讯股份有限公司 应用迁移方法及装置、系统、存储介质、应用上云工具
US10785129B2 (en) 2018-06-27 2020-09-22 Oracle International Corporation Computerized methods and systems for maintaining and modifying cloud computer services
US11115344B2 (en) 2018-06-27 2021-09-07 Oracle International Corporation Computerized methods and systems for migrating cloud computer services
US10911367B2 (en) 2018-06-27 2021-02-02 Oracle International Corporation Computerized methods and systems for managing cloud computer services
US11190599B2 (en) 2018-06-27 2021-11-30 Oracle International Corporation Method and system for cloud service pre-provisioning
US11481616B2 (en) * 2018-06-29 2022-10-25 Microsoft Technology Licensing, Llc Framework for providing recommendations for migration of a database to a cloud computing system
US10846070B2 (en) 2018-07-05 2020-11-24 At&T Intellectual Property I, L.P. Facilitating cloud native edge computing via behavioral intelligence
US11089098B2 (en) * 2018-07-24 2021-08-10 Vmware, Inc. Migration as a service-based server and agent applications migration
US11374971B2 (en) * 2018-08-24 2022-06-28 Micro Focus Llc Deception server deployment
TWI699657B (zh) * 2018-08-31 2020-07-21 碁曄科技股份有限公司 雲端遷移系統
CN109710269A (zh) * 2018-09-07 2019-05-03 天翼电子商务有限公司 一种单应用离散式集群部署装置和方法
US10944640B2 (en) * 2018-11-09 2021-03-09 Microsoft Technology Licensing, Llc Generating and implementing a platform-neutral cloud-native application model
US11099910B2 (en) 2018-11-13 2021-08-24 Microsoft Technology Licensing, Llc Deploying cloud-native services across control planes
US20200244772A1 (en) * 2019-01-30 2020-07-30 Huawei Technologies Co., Ltd. Method and system for cloud application and service integration using pattern-based discovery
US11494273B2 (en) 2019-04-30 2022-11-08 Commvault Systems, Inc. Holistically protecting serverless applications across one or more cloud computing environments
US11907743B2 (en) 2019-05-21 2024-02-20 Oracle International Corporation System and method for relocating customer virtual machine instances in a multi-tenant cloud service
US11106482B2 (en) 2019-05-31 2021-08-31 Microsoft Technology Licensing, Llc Connectivity migration in a virtual execution system
US11258881B2 (en) * 2019-07-12 2022-02-22 Nutanix, Inc. Mobility of user applications across cloud infrastructures
JP7231518B2 (ja) * 2019-08-30 2023-03-01 株式会社日立製作所 パッケージ化支援システムおよびパッケージ化支援方法
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
US11429631B2 (en) * 2019-11-06 2022-08-30 Servicenow, Inc. Memory-efficient programmatic transformation of structured data
US11531683B2 (en) * 2019-11-06 2022-12-20 Servicenow, Inc. Unified application programming interface for transformation of structured data
WO2021087858A1 (en) * 2019-11-07 2021-05-14 Microsoft Technology Licensing, Llc Web application component migration to a cloud computing system
US12014195B2 (en) 2019-12-12 2024-06-18 Cognizant Technology Solutions India Pvt. Ltd. System for providing an adaptable plugin framework for application transformation to cloud
US11899570B2 (en) 2019-12-12 2024-02-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for optimizing assessment and implementation of microservices code for cloud platforms
US11237941B2 (en) * 2019-12-12 2022-02-01 Cognizant Technology Solutions India Pvt. Ltd. System and method for application transformation to cloud based on semi-automated workflow
US11755394B2 (en) * 2020-01-31 2023-09-12 Salesforce, Inc. Systems, methods, and apparatuses for tenant migration between instances in a cloud based computing environment
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
CN111459416B (zh) * 2020-04-24 2021-02-23 杭州网银互联科技股份有限公司 一种基于分布式存储的热迁移系统及其迁移方法
US20220036272A1 (en) * 2020-07-29 2022-02-03 Mythics, Inc. Migration evaluation system and method
US12039365B2 (en) 2021-03-30 2024-07-16 International Business Machines Corporation Program context migration
CN113515306B (zh) * 2021-04-26 2023-04-25 建信金融科技有限责任公司 一种系统移植的方法及装置
KR102328173B1 (ko) * 2021-07-05 2021-11-17 (주)다윈아이씨티 애플리케이션 마이그레이션 처리 방법, 장치 및 시스템
GB2622346A (en) * 2021-07-27 2024-03-13 Hexaware Tech Limited System and method for batch and scheduler migration in an application environment migration
US11704118B2 (en) 2021-08-19 2023-07-18 International Business Machines Corporation Application modernization
US20230118880A1 (en) * 2021-10-15 2023-04-20 Red Hat, Inc. Copying computing resources between execution environments
US11838221B2 (en) * 2022-01-13 2023-12-05 Verizon Patent And Licensing Inc. Systems and methods for multi-cloud virtualized instance deployment and execution
CN114924846B (zh) * 2022-07-22 2022-11-15 浙江云针信息科技有限公司 基于云操作系统的虚拟机迁移方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067766A1 (en) * 2001-09-28 2007-03-22 Yoram Tal Infrastructure for the automation of the assembly of schema maintenance scripts
US20070256058A1 (en) * 2003-12-15 2007-11-01 Evolveware, Inc. A Corporation Apparatus for Migration and Conversion of Software Code from Any Source Platform to Any Target Platform
TWI294589B (zh) * 2005-12-27 2008-03-11 Nat Univ Chung Cheng
TW201044185A (en) * 2009-06-09 2010-12-16 Zillians Inc Virtual world simulation systems and methods utilizing parallel coprocessors, and computer program products thereof
US20100325199A1 (en) * 2009-06-22 2010-12-23 Samsung Electronics Co., Ltd. Client, brokerage server and method for providing cloud storage
CN101946257A (zh) * 2007-12-20 2011-01-12 惠普开发有限公司 建模基于计算机的业务过程以及模拟操作
TW201112118A (en) * 2009-07-27 2011-04-01 Advanced Micro Devices Inc Mapping processing logic having data-parallel threads across processors
CN102033909A (zh) * 2010-11-19 2011-04-27 南京大学 支持弹性云计算平台开发的资源外包方法
CN102098343A (zh) * 2011-02-12 2011-06-15 浪潮(北京)电子信息产业有限公司 云计算操作系统中资源信息的保存、获取方法和系统

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7503042B2 (en) 2002-03-08 2009-03-10 Microsoft Corporation Non-script based intelligent migration tool capable of migrating software selected by a user, including software for which said migration tool has had no previous knowledge or encounters
US20030188036A1 (en) 2002-03-22 2003-10-02 Sun Microsystems, Inc. Methods and systems for program migration
US7483757B2 (en) 2005-07-22 2009-01-27 Honeywell International, Inc. Control system migration
JP2007140845A (ja) 2005-11-17 2007-06-07 Hitachi Ltd プログラム管理方法及びプログラムの移行支援装置
US8429645B2 (en) 2007-08-14 2013-04-23 International Business Machines Corporation Method for optimizing migration of software applications to address needs
JP2009223851A (ja) * 2008-03-19 2009-10-01 Inforce Co Ltd データベースシステム移行方法
US7506037B1 (en) * 2008-05-13 2009-03-17 International Business Machines Corporation Method determining whether to seek operator assistance for incompatible virtual environment migration
US8931038B2 (en) * 2009-06-19 2015-01-06 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US8238256B2 (en) * 2008-09-08 2012-08-07 Nugent Raymond M System and method for cloud computing
US8321862B2 (en) 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US8751627B2 (en) 2009-05-05 2014-06-10 Accenture Global Services Limited Method and system for application migration in a cloud
US20100332629A1 (en) * 2009-06-04 2010-12-30 Lauren Ann Cotugno Secure custom application cloud computing architecture
US20100318609A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
US8572625B2 (en) * 2009-08-04 2013-10-29 International Business Machines Corporation Method and system for application migration using per-application persistent configuration dependency
US8316125B2 (en) 2009-08-31 2012-11-20 Red Hat, Inc. Methods and systems for automated migration of cloud processes to external clouds
US8321857B1 (en) 2009-09-14 2012-11-27 Symantec Corporation Automated generation of application data for application distribution
US8850423B2 (en) * 2009-10-29 2014-09-30 International Business Machines Corporation Assisting server migration
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US20110270968A1 (en) * 2010-04-30 2011-11-03 Salsburg Michael A Decision support system for moving computing workloads to public clouds
US8918439B2 (en) * 2010-06-17 2014-12-23 International Business Machines Corporation Data lifecycle management within a cloud computing environment
CA2804864C (en) * 2010-07-09 2018-11-20 State Street Corporation Systems and methods for private cloud computing
US8645529B2 (en) * 2010-10-06 2014-02-04 Infosys Limited Automated service level management of applications in cloud computing environment
JP5678778B2 (ja) * 2011-03-31 2015-03-04 富士通株式会社 システムおよびマイグレーション方法
US9495649B2 (en) * 2011-05-24 2016-11-15 International Business Machines Corporation Workload-to-cloud migration analysis based on cloud aspects
US9037723B2 (en) * 2011-05-31 2015-05-19 Red Hat, Inc. Triggering workload movement based on policy stack having multiple selectable inputs
US9054917B2 (en) * 2012-03-08 2015-06-09 Empire Technology Development Llc Secure migration of virtual machines
US10425411B2 (en) * 2012-04-05 2019-09-24 Arizona Board Of Regents On Behalf Of Arizona State University Systems and apparatuses for a secure mobile cloud framework for mobile computing and communication
US9282166B2 (en) * 2012-11-29 2016-03-08 International Business Machines Corporation Management infrastructure analysis for cloud migration
US9692632B2 (en) * 2012-11-29 2017-06-27 International Business Machines Corporation Migration to managed clouds
US9444896B2 (en) * 2012-12-05 2016-09-13 Microsoft Technology Licensing, Llc Application migration between clouds
US9430268B2 (en) * 2014-05-02 2016-08-30 Cavium, Inc. Systems and methods for supporting migration of virtual machines accessing remote storage devices over network via NVMe controllers

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067766A1 (en) * 2001-09-28 2007-03-22 Yoram Tal Infrastructure for the automation of the assembly of schema maintenance scripts
US20070256058A1 (en) * 2003-12-15 2007-11-01 Evolveware, Inc. A Corporation Apparatus for Migration and Conversion of Software Code from Any Source Platform to Any Target Platform
TWI294589B (zh) * 2005-12-27 2008-03-11 Nat Univ Chung Cheng
CN101946257A (zh) * 2007-12-20 2011-01-12 惠普开发有限公司 建模基于计算机的业务过程以及模拟操作
TW201044185A (en) * 2009-06-09 2010-12-16 Zillians Inc Virtual world simulation systems and methods utilizing parallel coprocessors, and computer program products thereof
US20100325199A1 (en) * 2009-06-22 2010-12-23 Samsung Electronics Co., Ltd. Client, brokerage server and method for providing cloud storage
TW201112118A (en) * 2009-07-27 2011-04-01 Advanced Micro Devices Inc Mapping processing logic having data-parallel threads across processors
CN102033909A (zh) * 2010-11-19 2011-04-27 南京大学 支持弹性云计算平台开发的资源外包方法
CN102098343A (zh) * 2011-02-12 2011-06-15 浪潮(北京)电子信息产业有限公司 云计算操作系统中资源信息的保存、获取方法和系统

Also Published As

Publication number Publication date
CA2840437A1 (en) 2013-01-03
JP6030646B2 (ja) 2016-11-24
CA2840437C (en) 2020-05-05
EP2726976B1 (en) 2022-05-25
EP2726976A4 (en) 2018-01-03
WO2013002937A2 (en) 2013-01-03
CN103620551A (zh) 2014-03-05
US9569259B2 (en) 2017-02-14
US9858114B2 (en) 2018-01-02
US20160034302A1 (en) 2016-02-04
KR101946773B1 (ko) 2019-05-21
KR101881625B1 (ko) 2018-08-24
AU2017200642B2 (en) 2018-04-26
TW201301138A (zh) 2013-01-01
EP2726976A2 (en) 2014-05-07
AU2017200648A1 (en) 2017-02-23
US20130007216A1 (en) 2013-01-03
KR20180085058A (ko) 2018-07-25
WO2013002937A3 (en) 2013-04-04
KR20140041604A (ko) 2014-04-04
AU2017200648B2 (en) 2018-07-26
US20170139743A1 (en) 2017-05-18
CN103620551B (zh) 2018-04-17
AU2017200645A1 (en) 2017-02-23
AU2012276003B2 (en) 2017-02-23
US9176773B2 (en) 2015-11-03
AU2017200642A1 (en) 2017-02-23
JP2014523026A (ja) 2014-09-08
AU2017200645B2 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
TWI579769B (zh) 虛擬機遷移工具
US11178207B2 (en) Software version control without affecting a deployed container
US12061896B2 (en) System and method for upgrading kernels in cloud computing environments
US20210349706A1 (en) Release lifecycle management system for multi-node application
AU2012276003A1 (en) Virtual machine migration tool
US20140007092A1 (en) Automatic transfer of workload configuration
US10721125B2 (en) Systems and methods for update propagation between nodes in a distributed system
US12026491B2 (en) System architecture for pattern-based software applications

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees