TWI629640B - 虛擬化軟體組建系統 - Google Patents
虛擬化軟體組建系統 Download PDFInfo
- 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
Links
- 238000012360 testing method Methods 0.000 claims abstract description 35
- 238000004891 communication Methods 0.000 claims description 23
- 238000004519 manufacturing process Methods 0.000 claims description 17
- 238000011161 development Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009264 viral breakthrough Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000543 intermediate Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; 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之軟體自動組建系統,其中該組建系統之該原始碼儲存庫包括:基於該組態之該組建及測試環境之多個執行個體。
- 如請求項1之軟體自動組建系統,其中該系統指派一版本至指定該組建及測試環境之該組態使得該系統保存該組態之多個版本。
- 如請求項1之軟體自動組建系統,其中該組態檔案進一步包括一組態,其用以執行個體化:一虛擬組建主控機,其經組態以管理一軟體組建專案內之任務以組建該軟體產品之該程式碼;一封裝虛擬機,其封裝該虛擬組建機及該虛擬組建主控機且經組態以實現該虛擬組建機與該虛擬組建主控機之間之通信;及 一額外虛擬機,其經封裝於該封裝虛擬機內,該額外虛擬機經組態以提供支援功能給該虛擬組建主控機及該虛擬組建機。
- 如請求項1之軟體自動組建系統,其中該系統自動保存一版本且將該版本指派至該組建及測試環境之組態,使得可根據多個版本依一自動化方式重建一虛擬機執行個體。
- 如請求項1之軟體自動組建系統,其中該組態包括包含原始碼及組建伺服器之一主要執行個體組建及測試環境之一完整複本,使得可在不同位置處獨立地產生及操作多個執行個體。
- 如請求項6之軟體自動組建系統,其中該多個執行個體之各者能夠在沒有至該組建系統之該原始碼儲存庫之一持續連接之情況下操作。
- 如請求項6之軟體自動組建系統,其中該多個執行個體之各者包括一遠端虛擬組建系統,且其中該虛擬組建系統之該多個遠端執行個體之各者經組態以使得能夠取出組建作業使得在該遠端虛擬組建系統內開始該組建作業。
- 如請求項6之軟體自動組建系統,其中該源儲存庫經組態以自該等執行個體之一者接收一完成的組建作業且將該完成的組建作業存回至可由該多個執行個體之各者存取之一主要源儲存庫。
- 如請求項6之軟體自動組建系統,其中該多個執行個體能夠選擇一主要系統來在該等執行個體之間協調功能,該等功能包含自由使改變自一執行個體傳播至另一執行個體及指派版本號碼組成之一群組選擇之至少一功能。
- 如請求項1之軟體自動組建系統,其中該系統可指定一執行個體作為一生產環境或一開發環境。
- 如請求項11之軟體自動組建系統,其中該執行個體可在一生產環 境與一開發環境之間切換。
- 如請求項12之軟體自動組建系統,針對該開發環境本機儲存組建作業,且將組建作業推入該生產環境之一生產儲存庫。
- 如請求項11之軟體自動組建系統,其中當起始一執行個體時,除非指定該生產環境,否則該系統預設為該開發環境。
- 一種組建方法,其包括:開發一版本化組建系統之原始碼以使用虛擬機開發及測試一軟體產品之程式碼;將該原始碼儲存於可存取之一組態檔案中以經由一遠端處理器執行個體化一虛擬組建系統,其中該原始碼包括用於執行個體化該版本化組建系統之碼,執行個體化該版本化組建系統包含重建一虛擬組建機,其經組態以執行任務而組建該軟體產品之該碼,其中組建該軟體產品之該碼包含在該經執行個體化之組建系統處執行一組建工作;及指派一版本至該虛擬組建系統之該原始碼使得可虛擬地存取及組建該組建系統之多個版本。
- 如請求項15之方法,其中該原始碼包括用於執行個體化該版本化組建系統之程式碼,該版本化組建系統進一步包含:一虛擬組建主控機,其經組態以管理一軟體組建專案內之任務以組建該軟體產品之該程式碼;一封裝虛擬機,其封裝該虛擬組建機及該虛擬組建主控機且經組態以實現該虛擬組建機與該虛擬組建主控機之間之通信;及一額外虛擬機,其經封裝於該封裝虛擬機內,該額外虛擬機經組態以提供支援功能給該虛擬組建主控機及該虛擬組建機。
- 如請求項15之方法,其進一步包括:自動保存一版本且將該版本指派至該組建系統之該原始碼之 修改,使得可根據多個版本之任意者依一自動化方式重建一虛擬組建系統。
- 如請求項15之方法,其中該原始碼包括包含原始碼及組建伺服器之該組建系統之一主要執行個體之一完整複本。
- 如請求項18之方法,其中該等執行個體之各者能夠在沒有至該組態檔案之一持續連接之情況下操作。
- 如請求項15之方法,其進一步包括:取出該組建系統之該原始碼之一版本;及執行個體化該組建系統之一執行個體。
- 如請求項20之方法,其進一步包括:於執行個體處取出一組建作業;及在該執行個體處執行一組建作業。
- 如請求項21之方法,其進一步包括:在執行該組建作業之後破壞該執行個體。
- 一種非暫態機器可讀媒體,其包括用於以下操作之程式碼:接收用於執行個體化之一組建系統之原始碼以使用虛擬機開發及測試一軟體產品之程式碼,該原始碼包括用於執行個體化一組建系統之碼,執行個體化該組建系統包含重建一虛擬組建機,其經組態以執行任務而組建該軟體產品之該碼;將該原始碼儲存於可存取之一組態檔案中以在一遠端處理器執行個體化一虛擬組建系統而在該經執行個體化之虛擬組建系統處執行一組建工作;及指派一版本至該虛擬組建系統之該原始碼使得可虛擬地存取及組建該組建系統之多個版本。
- 如請求項23之機器可讀媒體,其進一步包括用於執行個體化該組建系統之程式碼,該組建系統包含: 一虛擬組建主控機,其經組態以管理一軟體組建專案內之任務以組建該軟體產品之該程式碼;一封裝虛擬機,其封裝該虛擬組建機及該虛擬組建主控機且經組態以實現該虛擬組建機與該虛擬組建主控機之間之通信;及一額外虛擬機,其經封裝於該封裝虛擬機內,該額外虛擬機經組態以提供支援功能給該虛擬組建主控機及該虛擬組建機。
- 如請求項24之機器可讀媒體,其進一步包括用於以下操作之程式碼:取出該組建系統之該原始碼之一版本;執行個體化該組建系統之一執行個體;於執行個體處取出一組建作業;及在該執行個體處執行一組建作業。
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)
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)
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)
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 | 国云科技股份有限公司 | 一种软件组件组合构建方法 |
-
2014
- 2014-11-04 US US14/532,275 patent/US9250893B2/en not_active Expired - Fee Related
-
2015
- 2015-05-13 TW TW104115301A patent/TWI629640B/zh not_active IP Right Cessation
- 2015-05-13 CN CN201510240888.0A patent/CN105095068B/zh not_active Expired - Fee Related
-
2016
- 2016-03-02 HK HK16102427.1A patent/HK1214387A1/zh unknown
Patent Citations (4)
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 |