TWI629640B - 虛擬化軟體組建系統 - Google Patents

虛擬化軟體組建系統 Download PDF

Info

Publication number
TWI629640B
TWI629640B TW104115301A TW104115301A TWI629640B TW I629640 B TWI629640 B TW I629640B TW 104115301 A TW104115301 A TW 104115301A TW 104115301 A TW104115301 A TW 104115301A TW I629640 B TWI629640 B TW I629640B
Authority
TW
Taiwan
Prior art keywords
virtual
machine
source code
code
execution
Prior art date
Application number
TW104115301A
Other languages
English (en)
Other versions
TW201612745A (en
Inventor
葛蘭C 布拉哈爾斯
艾德華特 堤維尼亞
大衛 裘恩
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 TW201612745A publication Critical patent/TW201612745A/zh
Application granted granted Critical
Publication of TWI629640B publication Critical patent/TWI629640B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本發明揭示一種軟體自動組建系統,其包含一或多個原始碼儲存庫,該一或多個原始碼儲存庫包含一軟體產品之原始碼及一組建系統之一原始碼。該組建系統之該原始碼將指定一組建及測試環境之一組態儲存為一組態檔案,該組態檔案可由使用者遠端存取以複製一致虛擬組建及測試環境以用於在不同位置處使用虛擬機開發及測試該軟體產品之程式碼。該系統可包含基於該組態之該組建系統之一或多個執行個體。該系統可保存該組態之版本使得可虛擬地存取及組建該組建系統之多個版本。

Description

虛擬化軟體組建系統 [相關申請案之交叉參考]
本申請案主張2014年5月14日申請之名為「SOFTWARE TEST AND BUILD SYSTEM」之美國臨時申請案第61/993,102號之權利,該案之全文以引用的方式明確併入本文中。
開發軟體可涉及需要協調管理之一複雜程序。多個使用者可在不同位置處參與不同專案的工作。需要依靠各種程序(包含人工管理)來保存及追蹤系統。
100‧‧‧VBT(版本化組建及測試系統)系統/執行個體
102‧‧‧支援機/支援系統/結構系統
104‧‧‧組建機/虛擬組建機
106‧‧‧組建主控機/虛擬組建主控機
108‧‧‧VBT(版本化組建及測試系統)主機系統/封裝主機系統
200‧‧‧VBT(版本化組建及測試系統)系統/虛擬組建系統
202‧‧‧虛擬支援機
204‧‧‧虛擬組建機
206‧‧‧虛擬組建主控機
208‧‧‧虛擬主機/執行個體
210‧‧‧中央儲存庫
212‧‧‧組建系統/原始碼儲存庫/原始碼
214‧‧‧成品儲存庫
216‧‧‧原始碼儲存庫
400‧‧‧電腦系統
402‧‧‧顯示介面
404‧‧‧處理器
406‧‧‧通信基礎結構
408‧‧‧主記憶體
410‧‧‧輔助記憶體
412‧‧‧硬碟機
414‧‧‧可抽換式儲存磁碟機
418‧‧‧可抽換式儲存單元
420‧‧‧通信介面
422‧‧‧可抽換式儲存單元
424‧‧‧通信介面
426‧‧‧路徑
428‧‧‧信號
500‧‧‧通信系統
542‧‧‧終端機
543‧‧‧伺服器
544‧‧‧網路
545‧‧‧耦合件
546‧‧‧耦合件
560‧‧‧存取器
562‧‧‧存取器
564‧‧‧耦合件
566‧‧‧終端機
圖1係繪示一虛擬組建及測試系統之一實例性執行個體之態樣之一圖式。
圖2係繪示一實例性版本化組建及測試系統之態樣之一圖式。
圖3A及圖3B係繪示一版本化組建方法之態樣之流程圖。
圖4係用於根據本文中所提出之態樣之各種硬體組件及其他特徵部之一實例性系統圖式。
圖5係根據本文中所提出之態樣之各種實例性系統組件之一圖式。
下文結合附圖所闡述之詳細描述旨在作為各種組態之一描述且並不旨在表示其中可實踐本文中所描述之概念之僅有組態。該詳細描 述為提供各種概念之一透徹理解之目的而包含特定細節。然而,熟習此項技術者將瞭解,可在無此等特定細節的情況下實踐此等概念。在一些例項中,以方塊圖形式展示熟知結構及組件以避免模糊此等概念。
現將參考各種設備及方法呈現軟體組建及測試系統之若干態樣。將藉由各種區塊、模組、組件、電路、步驟、程序、演算法等等(統稱為「元素」)在以下詳細描述中描述且在附圖中繪示此等設備及方法。可使用電子硬體、電腦軟體或其等之任何組合來實施此等元素。此等元素是否被實施為軟體或硬體取決於施加於整體系統上之特定應用及設計約束。
在過去,需要依靠各種程序(包含人工管理)來保存及追蹤系統以開發一軟體產品之原始碼。不僅需要追蹤該組建系統自身,而且需要追蹤該組建系統在特定時間點處所需之工具。
本文中提出之一版本化組建及測試系統(VBT)之態樣提供在開發軟體時建立一致組建結果之一方式,即時在使用該系統之不同執行個體(其等可在不同位置處操作)進行該組建時亦建立一致組建結果。
在一些實施例中,該VBT系統可容許一管理員使用一組態檔案來指定用於一組建及測試環境之一組態。其後,多個使用者(無論在相同位置或不同位置處工作)可使用該組態檔案來組建包含虛擬機之一致虛擬組建及測試環境。接著,使用者可使用該VBT之執行個體來組建及測試其等軟體專案且獲得一致結果。由該多個使用者之任意者對該組建系統作出之改變及改良可依一協調及受控方式與該組建系統之全部其他執行個體共用。
另外,該組建系統之各執行個體可經分支以滿足由各種使用者所建構之應用程式及操作系統之獨有需求而不影響由(例如)相同組建系統所組建之其他應用程式。
在一些實施例中,該VBT可提供用以依每當需要作出改變時保存並版本化對組建系統之改變之一方式建立且維持一組建及測試環境之一方式。在一些實施例中,此容許能夠在一未來時間點精確地再現諸多先前版本之任意者之能力,使得可依完全相同之方式再次精確地組建在先前版本中組建之組件。VBT之各單獨、運行版本係一執行個體。
VBT之不同執行個體可經指定為一生產環境、一預備(staging)環境及一開發環境之任一者。VBT之執行個體亦可在不同類型之環境之間切換。
先前,需要依靠各種程序及步驟(其等之一些係人工的)來保存及追蹤組建系統。不僅需要追蹤組建系統自身,而且將需要追蹤(例如)提供對一或多個組建系統之控制之一整合工具以及該組建系統可能需要或可能在一些時間點處需要之任何工具。
在某些實施例中,VBT系統可提供用以隨時間追蹤一組建系統之全部組件之一方式。
圖1繪示一VBT系統100之一執行個體之一實例性圖式。一VBT系統可包括一支援機102、一組建機104、一組建主控機106及一封裝主機108,該等機之各者可為一相異虛擬機執行個體。
虛擬支援機102(亦可互換地稱為「結構系統」或「結構」)可為對其他系統提供支援及效用功能之一虛擬機。
建構機104(亦可互換地稱為「組建器」)可為運行組建作業之一虛擬機。因此,該虛擬組建機執行組建軟體產品之程式碼之任務。
組建主控機106可為提交及監測已提交至虛擬組建機104之組建作業之一虛擬機。因此,該虛擬組建主控機管理軟體組建專案內之任務以組建軟體產品之程式碼。
VBT主機系統108可為封裝其他虛擬機且實現組建機104與組建主 控機106之間之通信之一虛擬機。因此,VBT 100之執行個體在虛擬主機108上運行。VBT形成帶有其本身記憶體之一虛擬電腦。結構系統102在封裝主機系統108內建立一局部網路環境,其容許其他虛擬機104、106彼此通信且與VBT主機系統108之外之其他系統通信。
一VBT可用於各種案例中。如一實例,在一新的專案開始時,可使用最新VBT(例如,使用最新VBT組態檔案)來執行個體化一VBT。接著,可在VBT之組建主控機106中建立新的組建作業。
一旦已執行工作組建作業,則該等作業可被存回至一中央儲存庫,使得其他人可使用其等來組建新的專案。在一些實施例中,儲存庫可為(例如)一分散式版本控制及原始碼管理(SCM)系統,諸如一Git源儲存庫。在另一實例中,對於關於一現有專案的工作,可能已存回組建作業。在一些實施例中,一旦最新VBT系統啟動且運行,則可取出該等組建作業以開始在一特定VBT系統中組建一專案。
在過去,先前組建伺服器需要輸入人工組態及人工保存改變。一單一整體儲存與專案相關聯之資訊。需要存取此單一點以接收及執行組建作業。在眾多使用者試圖存取系統之情況下此可成問題,且需要大量人工管理來確保環境完整性。
相比而言,如本文中所提出,維持一虛擬環境之組態使得可依一自動化方式(例如)在遠端位置處組建及/或重建整個組建及測試環境。VBT涉及儲存組建及測試作為原始碼之一軟體產品之程式碼時涉及之虛擬機之原始碼。此容許在任何時候將機器重新建構為一虛擬機。VBT之各執行個體複製包含原始碼、組建伺服器及VBT之虛擬機之企業環境。
本文中所提出之VBT之態樣解決原本將限制先前系統之遠端使用者之存取問題。在過去,先前系統之遠端使用者需要連續存取儲存於一中央環境處之原始碼。藉由執行個體化整個組建及測試環境(包含 VBT原始碼、虛擬組建伺服器、虛擬組建管理器、虛擬結構管理器等等)之一完全複本,遠端使用者可藉由在其等本身之組建環境之虛擬複本內工作而獨立於主環境/中央環境來進行組建。當起始一VBT執行個體時,其與儲存於一中央儲存庫處之原始碼同步。該執行個體可自(例如)用於一專案環境之一中央原始碼伺服器接收經同步化之資訊。該虛擬複本執行個體亦可將完成的專案存回至(例如)用於一組建環境之中央原始碼伺服器。
可使用一中央主控制器來實施一替代組建系統,該中央主控制器將期望組建之專案饋送至將經設定以組建一所要任務之諸多目標組建從屬機之任一者。中央組建管理器可指示組建從屬機組建一作業、接收該組建作業及報告組建軟體。然而,由於維持一單一主控組態,所以一先前組建作業之非期望態樣可經傳播至其他組建專案而引起其等獲得假陰性或假陽性。
VBT之實施例相對於上文所討論之替代組建系統之一優點在於:一旦已執行一組建作業,則可視情況破壞執行個體。因此,VBT之實施例提供使在各執行個體處發生一重新開始使得不同執行個體不受與其他遠端VBT相關聯之問題「感染」之一方式。
圖2繪示一VBT系統200之實例性態樣之一圖式。圖2繪示類似於圖1中所繪示之執行個體100之一VBT之兩個單獨執行個體208。各執行個體包括一遠端、虛擬組建系統。各執行個體208包含封裝於一虛擬主機208內之一虛擬支援機202、一虛擬組建機204及一虛擬組建主控機206。虛擬組建系統200之多個遠端VBT執行個體208之各者經組態以使得能夠直接取出組建作業使得在遠端VBT 208內開始組建作業。
圖2亦繪示軟體自動組建系統之一中央儲存庫210,其包含一組建系統212之一原始碼儲存庫。本文中此原始碼儲存庫212亦稱為VBT 原始碼儲存庫。VBT原始碼儲存庫212包括指定一組建及測試環境之至少一組態檔案。該組態檔案可由使用者遠端地存取以複製一致虛擬組建及測試環境以用於在不同位置處使用虛擬機開發及測試軟體產品之程式碼。因此,使用者可(例如)經由一網路來存取VBT原始碼212以執行個體化遠端VBT執行個體208。中央儲存庫210可包括多個版本之組態檔案,使得可虛擬地存取及組建多個先前版本之任意者。
當開發或修改一VBT之原始碼時,可將該原始碼保存於(例如)儲存庫212中且可指派一版本,使得可根據多個版本依一自動化方式重新組建一VBT執行個體。組態檔案之各版本包括包含原始碼及組建伺服器之一主要執行個體組建及測試環境之一完整複本。可在不同位置處獨立地產生及操作多個執行個體。一旦經執行個體化,多個執行個體之各者能夠在無至VBT原始碼儲存庫212之一持續連接之情況下操作。
中央儲存庫可進一步包含儲存軟體產品之原始碼之一原始碼儲存庫216。原始碼儲存庫216可自遠端執行個體208接收完成的組建作業。完成的組建作業可經存回及儲存於中央軟體產品原始碼儲存庫216中,使得其等可由多個執行個體208之各者存取。
中央儲存庫210亦可包含儲存各組建之組建輸出及元資料之一成品(artifact)儲存庫214。
在一些實施例中,在一生產組建環境、一開發環境或一預備環境之間(例如)可無差異。此可為重要的,使得一開發者具有一方式來重新產生及使用將用於組建生產成品之完全相同環境。藉由使相同生產組建環境對一開發者可用,可在開發週期中更早地發現可能直至生產組建時間才出現之潛在問題。然而,在真實世界中,可能不期望封存(archive)在開發期間建立之組建成品。因此,可在不同類型之VBT執行個體之間作出一區分。此可尤其容許環境類型、所得成品之不同 封存之間之差異。一執行個體可經指定為一生產環境或一開發環境。兩個環境可具有關於虛擬支援系統102、虛擬組建機及封裝主機系統108之類似結構及功能。然而,該組建主控機可根據該執行個體是否被指定為一生產環境或一開發環境而不同地操作。例如,組建作業可針對開發環境予以本機儲存,而可將針對生產環境之組建作業推入至一生產儲存庫(例如,在中央儲存庫210處)。
另外,開發環境可經組態以避免諸如可發生於一生產環境中之發送組建報告文件、傳輸資訊至用戶端、引起一版本被指派等等。
一執行個體可在用作一開發環境與一生產環境之間切換。若未接收類型之一指示,則系統可引起一執行個體預設為一環境類型。例如,當起始一執行個體時,除非指定一生產環境,否則系統可預設執行個體化一開發環境。
在一些實施例中,VBT系統容許開發團隊並行工作以獲得一致組建/測試結果。
在一些實施例中,可使用分支來使由一組建目標所需之改變與全部其他組建目標隔離,藉此消除將不知不覺地施加至其他組建目標之副作用。
該VBT系統可使個別開發者能夠在不影響其他開發者之情況下開發組建系統之改變,且接著在未迫使全部使用者採用該等改變之情況下根據需要與其他使用者共用該等改變。
VBT系統之一些實施例可提供包括複數個獨立VBT執行個體之一版本化同級間軟體組建及測試系統,其中該等執行個體可與彼此通信且可選擇一主VBT系統來跨執行個體協調某些功能(諸如指派版本號碼),其中可選擇性地使改變自一執行個體傳播至另一執行個體,且其中在任何執行個體中進行一組建所需之全部步驟可儲存(封存)於製造之前之一狀態中。例如,主VBT系統可負責指派版本號碼。
圖3A及圖3B繪示一組建方法之流程圖。最初,針對一VBT開發或修改原始碼以用於使用虛擬機開發及測試一軟體產品之程式碼。在302處,接收此經開發或修改之原始碼。
在304處,原始碼儲存於可經存取以執行個體化一VBT之一組態檔案(例如)212中。因此,原始碼可包含用於執行個體化一VBT系統之程式碼,該VBT系统包含一虛擬組建主控機106、一虛擬組建機104、一虛擬支援機106及一封裝主機108,如結合圖1及圖2所描述。該原始碼包括(例如)包含原始碼及組建伺服器之組建系統之一主要執行個體之一完整複本。
在一實施例中,版本可保存於一執行檔案(exe file)中。該檔案可由各種使用者根據需要取出、存回及更新。在306處,將一版本指派至針對VBT儲存之原始碼。因此,可對VBT原始碼之修改指派一不同版本。藉由指派一版本至VBT之經修改原始碼,可根據多個版本之任意者依一自動化方式重新建構一VBT系統。該版本可由VBT系統自動指派。
圖3A繪示建立VBT組態檔案之態樣。一旦開發原始碼,則其可經存取以執行個體化一VBT,如圖3B中所繪示。
因此,在308處,取出針對VBT之原始碼之一版本。在310處,執行個體化一VBT執行個體。多個執行個體可獨立於彼此而經執行個體化。該等執行個體之各者能夠在沒有至中央儲存庫中之組態檔案之一持續連接之情況下操作。
在312處,在一執行個體處取出一組建作業。在314處執行該組建作業。一旦執行該組建作業(其可包含將該所執行組建作業存回至一中央儲存庫),則可視情況在316處破壞該執行個體。隨後,可使用一VBT組態檔案執行個體化一新的執行個體(無論具有VBT原始碼之相同版本或具有一不同版本)以執行額外組建作業。由於中央儲存庫 處之組態檔案儲存用於執行個體化一VBT(包含其虛擬機)之原始碼,所以當需要時可自動重新建構任何VBT版本執行個體。藉由破壞一先前執行個體且重新開始,使用者明白何時已執行及完成一組建作業。另外,可能引發隨後組建作業之問題非所期成品將不保持於執行個體中。
系統保存VBT組態之版本,使得可虛擬存取及組建VBT之先前版本。因此,不僅可在任何時間組建或重建整個系統,而且可自動將整個系統之多個先前版本重建為一虛擬機。
此在其中不允許外部存取之環境(諸如對於不能容許一特定組建位置之外之存取之安全專案)中可為有幫助的。藉由封裝組建及測試環境之一安全副本,其他遠端使用者可在無需繼續存取在組建內維持之環境之情況下參與專案的工作。
在其中可期望個別執行個體之分離及遠端操作之一病毒防護環境中,態樣亦可為有幫助的。
態樣可進一步包含一機器可讀媒體,其包括用於執行結合圖3A及圖3B所描述之方法之程式碼。
舉例而言,可用包含一或多個處理器之一「處理系統」來實施一元素或一元素之任意部分或元素之任意組合。處理器之實例包含微處理器、微控制器、數位信號處理器(DSP)、場可程式化閘陣列(FPGA)、可程式化邏輯裝置(PLD)、狀態機、閘邏輯、離散硬體電路及經組態以執行在本發明中所描述之各種功能性之其他合適硬體。處理系統中之一或多個處理器可執行軟體。軟體應被廣義地解釋為意指指令、指令集、碼、碼段、程式碼、程式、子程式、軟體模組、應用程式、軟體應用程式、軟體封裝、常式、副常式、物件、可執行檔、執行緒、程序、函式等等,無論稱為軟體、韌體、中間體、微碼、硬體描述語言或其他。
相應地,在一或多項例示性實施例中,所描述功能可在硬體、軟體、韌體或其任何組合中實施。若實施於軟體中,則該等功能可儲存或編碼為一電腦可讀媒體上之一或多個指令或程式碼。電腦可讀媒體包含電腦儲存媒體。儲存媒體可為可藉由一電腦存取之任何可用媒體。以舉例方式且並不限制,此電腦可讀媒體可包括一隨機存取記憶體(RAM)、一唯讀記憶體(ROM)、電可擦除可程式化ROM(EEPROM)、壓縮光碟ROM(CD-ROM)或其他光碟儲存、磁碟儲存或其他磁性儲存裝置,或可用於以指令或資料結構形式攜載或儲存所要程式碼且可由一電腦存取之任何其他媒體。如本文中使用之磁碟及光碟包含CD、雷射光碟、光碟、數位多功能光碟(DVD)、及軟碟,其中磁碟通常磁性地再現資料,而光碟藉助雷射光學地再現資料。上述內容之組合亦應包含於電腦可讀媒體之範疇內。
圖4表示用於根據本文中提出之態樣之各種硬體組件及其他特徵之一實例性系統圖。可使用軟體、硬體或其等之一組合來實施且可使用一或多個電腦系統或其他處理系統來實施某些態樣。一實施方案可包含能夠實行上文所描述之功能性之一或多個電腦系統。圖4中展示此一電腦系統400之一實例。
電腦系統400包含一或多個處理器,諸如處理器404。處理器404可連接至一通信基礎結構406(例如,一通信匯流排、跨接線或網路)。根據此實例性電腦系統描述各種軟體實施方案。在閱讀此描述之後,熟習相關技術者將明白可使用其他電腦系統及/或架構來實施VBT。
電腦系統400可包含自通信基礎結構406(或自圖中未展示之一訊框緩衝器)轉送圖形、文字及其他資料以顯示於一顯示單元430上之一顯示介面402。電腦系統400亦包含一主記憶體408(較佳地RAM)且亦可包含一輔助記憶體410。輔助記憶體410可包含(例如)一硬碟機412 (或混合式及/或固態磁碟機)及/或一可抽換式儲存磁碟機414(代表一軟碟機、一磁帶機、一光碟機,等等)。可抽換式儲存磁碟機414依一熟知的方式自一可抽換式儲存單元418讀取及/或寫入至一可抽換式儲存單元418。可抽換式儲存單元418表示一軟碟、磁帶、光碟等等,其由可抽換式儲存磁碟機414讀取或寫入至可抽換式儲存磁碟機414。如將瞭解,可抽換式儲存單元418包含具有儲存於其中之電腦軟體及/或資料之一電腦可用儲存媒體。
在替代實施方案中,輔助記憶體410可包含容許將電腦程式或其他指令載入至電腦系統400中之其他類似裝置。此等裝置可包含(例如)一可抽換式儲存單元422及一介面420。此之實例可包含一程式匣及匣介面(諸如視訊遊戲裝置中找到之程式匣及匣介面)、一可抽換式記憶體晶片(諸如一EPROM或可程式化唯讀記憶體(PROM))及相關聯插口及其它可抽換式儲存單元422及介面420,其等容許自可抽換式儲存單元422傳送軟體及資料至電腦系統400。
電腦系統400亦可包含一通信介面424。通信介面424容許在電腦系統400與外部裝置之間傳送軟體及資料。通信介面424之實例可包含一數據機、一網路介面(諸如一乙太網路卡)、一通信埠、個人電腦記憶體卡國際協會(PCMCIA)槽及卡,等等。經由通信介面424傳送之軟體及資料係呈信號428之形式,信號428可為能夠由通信介面424接收之電子信號、電磁信號、光學信號或其他信號。經由一通信路徑(例如,通道)426來將此等信號428提供至通信介面424。此路徑426載送信號428且可使用導線或電纜、光纖、一電話線、一蜂巢式鏈路、一射頻(RF)鏈路及/或其他通信通道來實施。在此文件中,術語「電腦程式媒體」及「電腦可用媒體」通常係用於指代諸如一可抽換式儲存磁碟機414、安裝於硬碟機412中之一硬碟及信號428之媒體。此等電腦程式產品提供軟體至電腦系統400。本文中提出之一些實施例可包 含此等電腦程式產品。
電腦程式(亦稱為電腦控制邏輯)係儲存於主記憶體408及/或輔助記憶體410中。亦可經由通信介面424接收電腦程式。此等電腦程式在經執行時使得電腦系統400能夠執行本文中提出之特徵。特定言之,電腦程式在經執行時使得電腦處理器410能夠執行本文中提出之特徵。相應地,此等電腦程式表示電腦系統400之控制器。
在使用軟體之一實施方案中,軟體可儲存於一電腦程式產品中且使用可抽換式儲存磁碟機414、硬碟機412或通信介面420載入至電腦系統400中。控制邏輯(軟體)在由處理器404執行時引起處理器404執行本文中所描述之功能。另一實施方案可主要使用(例如)硬體組件(諸如特殊應用積體電路(ASIC))實施於硬體中。熟習相關技術者將明白實施硬體狀態機以便執行本文中所描述之功能。
在另一實施方案中,可使用硬體及軟體兩者之一組合來實施某些態樣。
圖5係根據本文中所提出之一些實施例之各種實例性系統組件之一方塊圖。圖5展示可根據本文中提出之實施例使用之一通信系統500。通信系統500包含一或多個存取器560、562(本文中亦可互換地稱為一或多個「使用者」或用戶端)及一或多個終端機542、566。在一實施方案中,根據一些實施例使用之資料可(例如)由存取器560、564經由終端機542、566(諸如個人電腦(PC)、迷你電腦、主機電腦、微電腦、電話裝置)或無線裝置(諸如個人數位助理(「PDA」))或耦合至一伺服器543(諸如一PC、迷你電腦、主機電腦、微電腦或具有一處理器及資料之一儲存庫及/或經由(例如)一網路544(諸如網際網路或一內部網路)及耦合件545、546、564之至資料之一儲存庫之連接之其他裝置)之一手持式無線裝置)來輸入及/存取。耦合件545、546、564包含(例如)有線、無線或光纖鏈路。
提供各種例示性實施例以使一般技術者能夠實踐本發明之各種態樣。熟習此項技術者將易於明白貫穿本說明書提出之對例示性實施例之修改,且本文中所揭示之概念可擴展至其他裝置。一般技術者已知或隨後將知曉之貫穿本說明書所描述之例示性實施例之各種組件之全部結構及功能等效物係以引用方式明確併入本文中。

Claims (25)

  1. 一種軟體自動組建系統,其包括:一或多個非暫時性原始碼儲存庫,該一或多個原始碼儲存庫包括:一軟體產品之原始碼;及一組態,其指定一組建及測試環境,該組態儲存於一組態檔案中由遠端使用者可存取該組態檔案以在一遠端系統處複製一個一致虛擬組建及測試環境,以用於在不同位置處使用虛擬機開發及測試該軟體產品之程式碼,該組態檔案包括用於重組經組態來執行任務之一虛擬組建機之一組態,以組建包含使用該經重建之虛擬組建機而執行一組建工作之該軟體產品之該碼,使得可虛擬地存取及組建該組建及測試環境之多個版本。
  2. 如請求項1之軟體自動組建系統,其中該組建系統之該原始碼儲存庫包括:基於該組態之該組建及測試環境之多個執行個體。
  3. 如請求項1之軟體自動組建系統,其中該系統指派一版本至指定該組建及測試環境之該組態使得該系統保存該組態之多個版本。
  4. 如請求項1之軟體自動組建系統,其中該組態檔案進一步包括一組態,其用以執行個體化:一虛擬組建主控機,其經組態以管理一軟體組建專案內之任務以組建該軟體產品之該程式碼;一封裝虛擬機,其封裝該虛擬組建機及該虛擬組建主控機且經組態以實現該虛擬組建機與該虛擬組建主控機之間之通信;及 一額外虛擬機,其經封裝於該封裝虛擬機內,該額外虛擬機經組態以提供支援功能給該虛擬組建主控機及該虛擬組建機。
  5. 如請求項1之軟體自動組建系統,其中該系統自動保存一版本且將該版本指派至該組建及測試環境之組態,使得可根據多個版本依一自動化方式重建一虛擬機執行個體。
  6. 如請求項1之軟體自動組建系統,其中該組態包括包含原始碼及組建伺服器之一主要執行個體組建及測試環境之一完整複本,使得可在不同位置處獨立地產生及操作多個執行個體。
  7. 如請求項6之軟體自動組建系統,其中該多個執行個體之各者能夠在沒有至該組建系統之該原始碼儲存庫之一持續連接之情況下操作。
  8. 如請求項6之軟體自動組建系統,其中該多個執行個體之各者包括一遠端虛擬組建系統,且其中該虛擬組建系統之該多個遠端執行個體之各者經組態以使得能夠取出組建作業使得在該遠端虛擬組建系統內開始該組建作業。
  9. 如請求項6之軟體自動組建系統,其中該源儲存庫經組態以自該等執行個體之一者接收一完成的組建作業且將該完成的組建作業存回至可由該多個執行個體之各者存取之一主要源儲存庫。
  10. 如請求項6之軟體自動組建系統,其中該多個執行個體能夠選擇一主要系統來在該等執行個體之間協調功能,該等功能包含自由使改變自一執行個體傳播至另一執行個體及指派版本號碼組成之一群組選擇之至少一功能。
  11. 如請求項1之軟體自動組建系統,其中該系統可指定一執行個體作為一生產環境或一開發環境。
  12. 如請求項11之軟體自動組建系統,其中該執行個體可在一生產環 境與一開發環境之間切換。
  13. 如請求項12之軟體自動組建系統,針對該開發環境本機儲存組建作業,且將組建作業推入該生產環境之一生產儲存庫。
  14. 如請求項11之軟體自動組建系統,其中當起始一執行個體時,除非指定該生產環境,否則該系統預設為該開發環境。
  15. 一種組建方法,其包括:開發一版本化組建系統之原始碼以使用虛擬機開發及測試一軟體產品之程式碼;將該原始碼儲存於可存取之一組態檔案中以經由一遠端處理器執行個體化一虛擬組建系統,其中該原始碼包括用於執行個體化該版本化組建系統之碼,執行個體化該版本化組建系統包含重建一虛擬組建機,其經組態以執行任務而組建該軟體產品之該碼,其中組建該軟體產品之該碼包含在該經執行個體化之組建系統處執行一組建工作;及指派一版本至該虛擬組建系統之該原始碼使得可虛擬地存取及組建該組建系統之多個版本。
  16. 如請求項15之方法,其中該原始碼包括用於執行個體化該版本化組建系統之程式碼,該版本化組建系統進一步包含:一虛擬組建主控機,其經組態以管理一軟體組建專案內之任務以組建該軟體產品之該程式碼;一封裝虛擬機,其封裝該虛擬組建機及該虛擬組建主控機且經組態以實現該虛擬組建機與該虛擬組建主控機之間之通信;及一額外虛擬機,其經封裝於該封裝虛擬機內,該額外虛擬機經組態以提供支援功能給該虛擬組建主控機及該虛擬組建機。
  17. 如請求項15之方法,其進一步包括:自動保存一版本且將該版本指派至該組建系統之該原始碼之 修改,使得可根據多個版本之任意者依一自動化方式重建一虛擬組建系統。
  18. 如請求項15之方法,其中該原始碼包括包含原始碼及組建伺服器之該組建系統之一主要執行個體之一完整複本。
  19. 如請求項18之方法,其中該等執行個體之各者能夠在沒有至該組態檔案之一持續連接之情況下操作。
  20. 如請求項15之方法,其進一步包括:取出該組建系統之該原始碼之一版本;及執行個體化該組建系統之一執行個體。
  21. 如請求項20之方法,其進一步包括:於執行個體處取出一組建作業;及在該執行個體處執行一組建作業。
  22. 如請求項21之方法,其進一步包括:在執行該組建作業之後破壞該執行個體。
  23. 一種非暫態機器可讀媒體,其包括用於以下操作之程式碼:接收用於執行個體化之一組建系統之原始碼以使用虛擬機開發及測試一軟體產品之程式碼,該原始碼包括用於執行個體化一組建系統之碼,執行個體化該組建系統包含重建一虛擬組建機,其經組態以執行任務而組建該軟體產品之該碼;將該原始碼儲存於可存取之一組態檔案中以在一遠端處理器執行個體化一虛擬組建系統而在該經執行個體化之虛擬組建系統處執行一組建工作;及指派一版本至該虛擬組建系統之該原始碼使得可虛擬地存取及組建該組建系統之多個版本。
  24. 如請求項23之機器可讀媒體,其進一步包括用於執行個體化該組建系統之程式碼,該組建系統包含: 一虛擬組建主控機,其經組態以管理一軟體組建專案內之任務以組建該軟體產品之該程式碼;一封裝虛擬機,其封裝該虛擬組建機及該虛擬組建主控機且經組態以實現該虛擬組建機與該虛擬組建主控機之間之通信;及一額外虛擬機,其經封裝於該封裝虛擬機內,該額外虛擬機經組態以提供支援功能給該虛擬組建主控機及該虛擬組建機。
  25. 如請求項24之機器可讀媒體,其進一步包括用於以下操作之程式碼:取出該組建系統之該原始碼之一版本;執行個體化該組建系統之一執行個體;於執行個體處取出一組建作業;及在該執行個體處執行一組建作業。
TW104115301A 2014-05-14 2015-05-13 虛擬化軟體組建系統 TWI629640B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461993102P 2014-05-14 2014-05-14
US61/993,102 2014-05-14
US14/532,275 2014-11-04
US14/532,275 US9250893B2 (en) 2014-05-14 2014-11-04 Virtualized and automated software build system

Publications (2)

Publication Number Publication Date
TW201612745A TW201612745A (en) 2016-04-01
TWI629640B true TWI629640B (zh) 2018-07-11

Family

ID=54538560

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104115301A TWI629640B (zh) 2014-05-14 2015-05-13 虛擬化軟體組建系統

Country Status (4)

Country Link
US (1) US9250893B2 (zh)
CN (1) CN105095068B (zh)
HK (1) HK1214387A1 (zh)
TW (1) TWI629640B (zh)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10374891B1 (en) 2014-11-11 2019-08-06 Skytap Multi-region virtual data center template
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US11181875B2 (en) 2016-01-22 2021-11-23 Johnson Controls Tyco IP Holdings LLP Systems and methods for monitoring and controlling a central plant
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US9898258B2 (en) * 2016-05-31 2018-02-20 International Business Machines Corporation Versioning of build environment information
US10599424B2 (en) * 2016-06-15 2020-03-24 Red Hat Israel, Ltd. Committed program-code management
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10754761B2 (en) * 2016-11-11 2020-08-25 Atlassian Pty Ltd Systems and methods for testing source code
US10223099B2 (en) * 2016-12-21 2019-03-05 Palantir Technologies Inc. Systems and methods for peer-to-peer build sharing
US10648688B2 (en) 2017-03-09 2020-05-12 Johnson Controls Technology Company Building automation system with a verifiable relationship building language
US10706375B2 (en) 2017-03-29 2020-07-07 Johnson Controls Technology Company Central plant with asset allocator
JP7075944B2 (ja) 2017-04-25 2022-05-26 ジョンソン コントロールズ テクノロジー カンパニー 予測建物制御システムと同システム内の機器を動作させる方法
US11271769B2 (en) 2019-11-14 2022-03-08 Johnson Controls Tyco IP Holdings LLP Central plant control system with asset allocation override
CN107329894B (zh) * 2017-06-21 2020-05-12 广州华多网络科技有限公司 应用程序系统测试方法、装置及电子设备
US10834210B1 (en) * 2017-08-03 2020-11-10 Amazon Technologies, Inc. Synchronizing a personal workspace across multiple computing systems in a coding environment
US11099834B2 (en) 2017-11-16 2021-08-24 Hewlett-Packard Development Company, L.P. Software builds using a cloud system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US11061717B2 (en) * 2018-01-16 2021-07-13 Jpmorgan Chase Bank, N.A. Automation as a service
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
WO2019176034A1 (ja) * 2018-03-14 2019-09-19 三菱電機株式会社 システム構築支援装置、システム構築支援方法、およびシステム構築支援プログラム
US10783065B2 (en) * 2018-03-23 2020-09-22 Sungard Availability Services, Lp Unified test automation system
US10990357B2 (en) 2018-05-22 2021-04-27 Vmware, Inc. Application build automation
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
CN108984183A (zh) * 2018-08-28 2018-12-11 郑州云海信息技术有限公司 一种软件跨地域构建方法、装置、设备及存储介质
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
EP3953809A4 (en) * 2019-04-12 2023-01-11 Servicenow Canada Inc. SOFTWARE MODULE DEVELOPMENT SYSTEM
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11023365B2 (en) 2019-09-20 2021-06-01 The Toronto-Dominion Bank Systems and methods for automated provisioning of a virtual mainframe test environment
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
CN113032004B (zh) 2019-12-09 2024-05-24 伊姆西Ip控股有限责任公司 在开发环境中管理开发作业的方法、设备和程序产品
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11200069B1 (en) 2020-08-21 2021-12-14 Honeywell International Inc. Systems and methods for generating a software application
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146608B1 (en) * 1999-09-28 2006-12-05 Cisco Technology, Inc. Method and system for a software release process
TW200925995A (en) * 2007-12-14 2009-06-16 Inventec Corp Mobile device and method for loading operating system thereof
TW201027431A (en) * 2009-01-12 2010-07-16 Chun-Te Yu Computer system with two operating devices and control method thereof
US8959484B2 (en) * 2012-06-21 2015-02-17 Microsoft Corporation System for hosted, shared, source control build

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152027B2 (en) * 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US7917628B2 (en) 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7934251B2 (en) 1999-12-02 2011-04-26 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US8793374B2 (en) 1999-12-02 2014-07-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
AU2056401A (en) 1999-12-02 2001-06-12 Senvid, Inc. Method, system and service model for remote recording of television programs
US9191443B2 (en) 1999-12-02 2015-11-17 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US6499054B1 (en) 1999-12-02 2002-12-24 Senvid, Inc. Control and observation of physical devices, equipment and processes by multiple users over computer networks
US7587467B2 (en) 1999-12-02 2009-09-08 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7120692B2 (en) 1999-12-02 2006-10-10 Senvid, Inc. Access and control system for network-enabled devices
US8688797B2 (en) 1999-12-02 2014-04-01 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7949564B1 (en) 2000-05-31 2011-05-24 Western Digital Technologies, Inc. System and method of receiving advertisement content from advertisers and distributing the advertising content to a network of personal computers
JP2004530191A (ja) * 2001-02-22 2004-09-30 アクセンチュア グローバル サービスィズ ゲーエムベーハー ウェブ・サービスで構成された、インタネット・ホスティング・ビジネス・アプリケーションの開発システム
US6981250B1 (en) * 2001-07-05 2005-12-27 Microsoft Corporation System and methods for providing versioning of software components in a computer programming language
US8001523B1 (en) * 2001-07-05 2011-08-16 Microsoft Corporation System and methods for implementing an explicit interface member in a computer programming language
US7103875B1 (en) * 2001-09-21 2006-09-05 Siebel Systems, Inc. Methods and apparatus for integrated, automatic pseudo localization of software
US7676788B1 (en) * 2003-03-25 2010-03-09 Electric Cloud, Inc. Architecture and method for executing program builds
US7454443B2 (en) 2003-08-26 2008-11-18 Tamir Ram Method, system, and program for personal data management using content-based replication
US7596782B2 (en) * 2003-10-24 2009-09-29 Microsoft Corporation Software build extensibility
WO2005050625A2 (en) 2003-11-14 2005-06-02 Senvid, Inc. Managed peer-to-peer applications in a secure network
US7340719B1 (en) * 2003-12-24 2008-03-04 Sun Microsystems, Inc. Methods and apparatus to preserve software modifications
US8578329B1 (en) * 2004-02-12 2013-11-05 Raju V. Chiluvuri System and method of application development using easier to redesign replaceable components
US8091066B2 (en) * 2004-08-25 2012-01-03 International Business Machines Corporation Automated multi-platform build and test environment for software application development
US7761848B1 (en) * 2005-03-15 2010-07-20 Open Invention Network, Llc Code generator tool for building software applications with reusable components
US7640533B1 (en) * 2005-03-30 2009-12-29 Emc Corporation System and methods for defining a software build
US7673285B1 (en) * 2005-06-24 2010-03-02 Emc Corporation System and methods for generating a software component interface
US7730448B2 (en) * 2005-08-11 2010-06-01 Microsoft Corporation Layered type systems
US20070168955A1 (en) 2005-10-27 2007-07-19 Microsoft Corporation Scalable networked build automation
US8645906B2 (en) 2006-09-12 2014-02-04 Sandeep Jain Method for enforcing change policy based on project state
US8037453B1 (en) 2006-09-13 2011-10-11 Urbancode, Inc. System and method for continuous software configuration, test and build management
US20080120598A1 (en) 2006-11-20 2008-05-22 Viewtier Systems, Inc. Method and apparatus of a build management system
US8201148B2 (en) 2007-03-05 2012-06-12 Sap Ag Guided development and testing for computer code
US8464222B2 (en) 2008-01-21 2013-06-11 International Business Machines Corporation Method, apparatus or software for identifying dependencies between components for a given build of a componentised product
US8004791B2 (en) 2008-02-22 2011-08-23 Western Digital Technologies, Inc. Information storage device with a bridge controller and a plurality of electrically coupled conductive shields
US8473898B2 (en) * 2008-07-08 2013-06-25 Synapsense Corporation Apparatus and method for building integrated distributed applications for use with a mesh network
US8255661B2 (en) 2009-11-13 2012-08-28 Western Digital Technologies, Inc. Data storage system comprising a mapping bridge for aligning host block size with physical block size of a data storage device
US8285965B2 (en) 2009-11-20 2012-10-09 Western Digital Technologies, Inc. Aligning data storage device partition to boundary of physical data sector
US8526798B2 (en) 2009-12-23 2013-09-03 Western Digital Technologies, Inc. Portable content container displaying A/V files in response to a command received from a consumer device
US8631284B2 (en) 2010-04-30 2014-01-14 Western Digital Technologies, Inc. Method for providing asynchronous event notification in systems
US8381176B1 (en) 2010-06-08 2013-02-19 Bentley Systems, Incorporated Software build orchestration framework
US8762682B1 (en) 2010-07-02 2014-06-24 Western Digital Technologies, Inc. Data storage apparatus providing host full duplex operations using half duplex storage devices
US8612931B2 (en) * 2010-07-14 2013-12-17 International Business Machines Corporation Interactive blueprinting for packaged applications
US10019741B2 (en) 2010-08-09 2018-07-10 Western Digital Technologies, Inc. Methods and systems for a personal multimedia content archive
US8713265B1 (en) 2010-09-21 2014-04-29 Western Digital Technologies, Inc. Visual indicator of online backup
US8762944B2 (en) 2011-03-23 2014-06-24 International Business Machines Corporation Build process management system
US20130174124A1 (en) 2011-12-29 2013-07-04 Christina Watters Version numbering in single development and test environment
US8533676B2 (en) * 2011-12-29 2013-09-10 Unisys Corporation Single development test environment
US8799859B2 (en) * 2011-05-19 2014-08-05 Siemens Aktiengesellschaft Augmented design structure matrix visualizations for software system analysis
US8732665B2 (en) * 2011-06-28 2014-05-20 Microsoft Corporation Deploying environments for testing by providing instantaneous availability of prebuilt environments
US8780004B1 (en) 2012-01-31 2014-07-15 Western Digital Technologies, Inc. Dual configuration enclosure with optional shielding
US8819443B2 (en) 2012-02-14 2014-08-26 Western Digital Technologies, Inc. Methods and devices for authentication and data encryption
CN102541609B (zh) * 2012-02-17 2014-07-02 北京星网锐捷网络技术有限公司 安装程序制作方法、装置及网络设备
US8646054B1 (en) 2012-03-23 2014-02-04 Western Digital Technologies, Inc. Mechanism to manage access to user data area with bridged direct-attached storage devices
US8914634B2 (en) 2012-04-10 2014-12-16 Western Digital Technologies, Inc. Digital rights management system transfer of content and distribution
US8831218B2 (en) 2012-04-10 2014-09-09 Western Digital Technologies, Inc. Digital rights management system and methods for provisioning content to an intelligent storage
US9626373B2 (en) 2012-10-01 2017-04-18 Western Digital Technologies, Inc. Optimizing data block size for deduplication
US9280482B2 (en) 2012-12-13 2016-03-08 Western Digital Technologies, Inc. Methods and systems for provisioning a bootable image on to an external drive
US20140169921A1 (en) 2012-12-19 2014-06-19 Mark Carey Cargo carrier
CN103729184B (zh) * 2013-12-29 2017-05-17 国云科技股份有限公司 一种软件组件组合构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146608B1 (en) * 1999-09-28 2006-12-05 Cisco Technology, Inc. Method and system for a software release process
TW200925995A (en) * 2007-12-14 2009-06-16 Inventec Corp Mobile device and method for loading operating system thereof
TW201027431A (en) * 2009-01-12 2010-07-16 Chun-Te Yu Computer system with two operating devices and control method thereof
US8959484B2 (en) * 2012-06-21 2015-02-17 Microsoft Corporation System for hosted, shared, source control build

Also Published As

Publication number Publication date
CN105095068B (zh) 2019-05-31
US20150331689A1 (en) 2015-11-19
HK1214387A1 (zh) 2016-07-22
TW201612745A (en) 2016-04-01
CN105095068A (zh) 2015-11-25
US9250893B2 (en) 2016-02-02

Similar Documents

Publication Publication Date Title
TWI629640B (zh) 虛擬化軟體組建系統
EP3518098B1 (en) Cross platform content management and distribution system
US10936293B2 (en) Container image layer reordering
US20180136931A1 (en) Affinity of microservice containers
WO2018133578A1 (zh) 一种虚拟机迁移方法及装置、计算机存储介质、电子设备
US20180113799A1 (en) Model generation for model-based application testing
US10162735B2 (en) Distributed system test automation framework
WO2017048996A1 (en) Visual content development
US20160019081A1 (en) Viewing a snapshot of a virtual machine
US9699252B2 (en) Deployment of virtual machine disks from a shared network file system
CN108897575B (zh) 电子设备的配置方法以及配置系统
US20190339964A1 (en) Pending merge conflict notification
CN110347483B (zh) 物理机到虚拟机迁移方法、装置及存储介质
US20150365275A1 (en) Cloud environment configuration for cloud applications
US8776048B2 (en) Early configuration in deploying an enterprise application
WO2015117419A1 (zh) 一种跨平台移植python程序的方法及装置
US20220091830A1 (en) System and method for a hybrid development platform
JP6550372B2 (ja) 仮想アセンブリビルダー環境における汎用製品の結合のためのシステムおよび方法
CN103036947B (zh) 基于kvm的虚拟机迁移方法及系统
CN112579568A (zh) 数据库版本处理方法及系统
US9459883B2 (en) Modifying disk images
US20170091076A1 (en) Debugging remote vertex code on test machine
JP7410268B2 (ja) コンテナ・ベースの仮想化システムに関する方法
CA2997302C (en) Application migration
KR102007789B1 (ko) 데이터베이스 샤딩 환경에서의 데이터 복제

Legal Events

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