TWI411958B - 建立離線資源模板 - Google Patents

建立離線資源模板 Download PDF

Info

Publication number
TWI411958B
TWI411958B TW096106784A TW96106784A TWI411958B TW I411958 B TWI411958 B TW I411958B TW 096106784 A TW096106784 A TW 096106784A TW 96106784 A TW96106784 A TW 96106784A TW I411958 B TWI411958 B TW I411958B
Authority
TW
Taiwan
Prior art keywords
virtual machine
instance
resource
software resource
template
Prior art date
Application number
TW096106784A
Other languages
English (en)
Other versions
TW200809620A (en
Inventor
Araujo, Jr
Steven P Robertson
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW200809620A publication Critical patent/TW200809620A/zh
Application granted granted Critical
Publication of TWI411958B publication Critical patent/TWI411958B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • 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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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]
    • 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/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

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 Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Description

建立離線資源模板
本發明係關於可用以建立離線資源之模板複本之系統、方法、及電腦程式產品。
有多種方式可用以分配一電腦化環境中之不同之資源種類(軟體、硬體、或其組合)。由軟體的角度觀之,舉例而言,一企業可能想要在多個不同電腦上安裝作業系統(或應用程式)之多個複本,且因而可在多種系統間散播一複本。如此一來,該企業亦可能需要安裝數種額外軟體更新至這些複製或共享之作業系統,且因此亦可在多種系統間共享這些更新之多重複本。共享硬體之傳統方法包括在一網路上設置電腦系統而使得多個不同電腦系統可基於各種儲存或檔案共享需求來存取另一電腦之磁碟空間。
由結合軟體及硬體之觀點來分配資源之其他方式包括在一種單一實體電腦系統上建立獨特實體(entity),其中該等實體可作為分離且獨立之電腦系統,但可共享相同實體媒介及處理資源。舉例而言,一企業可在該相同單一伺服器上建立多個虛擬機,該等虛擬機中之每一者可由另一電腦個別地定址,如同每一特定虛擬機為其本身之獨立電腦系統一般。在此一實作中,一大型企業中之一或少數伺服器亦能在同一組硬體上代管(host)數個虛擬機,其中那些虛擬機之各者視其配置方式,可作為額外伺服器,或 網路可存取個人電腦。
可以理解,此種作為虛擬機之實體可結合軟體及硬體資源之共享,因為通常是利用由另一虛擬機所用之一作業系統的現有複本來設置此種實體,且由於此種實體甚至可共享已經由其他虛擬機所使用之一磁碟。然而,雖然共享相同作業系統,企業可能需要自訂作業系統之態樣而使得不會將虛擬機和利用相同作業系統複本之其他虛擬機混淆,特別是當安裝於相同實體磁碟上時。為了建立一自訂虛擬機,一系統管理員因而必須提供獨特標記給新虛擬機,該獨特標記可區別該新虛擬機和其他虛擬機(或其他電腦系統),例如機器名稱、時區、網域名稱、公司名稱、產品金鑰、及與其相似者。
然而,僅僅是自訂虛擬機,就可能相當困難。舉例而言,系統管理員可能僅想要由一作業系統之一基本安裝複本來安裝虛擬機,且之後套用所有需要之各種軟體修補、以及獨特虛擬機標記。當然,在管理員想要套用大量軟體修補以及其他獨特自訂的情形中,這樣的方式可能相當地不便。因此,系統管理員可能偏好複製已經根據系統管理員之偏好由一軟體角度自訂之一作業系統之一實例,且之後在具有不同獨特標記之新虛擬機中安裝該複本。如此一來,系統管理員必須在將現有之所需複本安裝於新虛擬機之前從該現有之所需複本移除自訂標記。
但是,僅自一作業系統複本移除自訂標記,與接著尚將新自訂標記加入至一新虛擬機上之作業系統複本有不同 的困難處。特別是,用以建立一作業系統(或應用程式)之一「一般性」(generic)或「模板」複本的傳統準備軟體可能很難使用,且耗費大量時間。舉例而言,一系統管理員可能需要啟動一有興趣作業系統複本,且之後當作業系統在運行時,可於其上執行特定準備軟體。當該準備軟體移除作業系統複本之特定獨特特徵時,準備軟體可能要求作業系統重新啟動數次直到移除所有獨特特徵為止。
除了持續重新啟動作業系統(或應用程式)本身僅因延遲所造成的問題之外,傳統準備軟體技術上非常複雜且難以使用。特別是,若一使用者無法在嘗試將一作業系統轉換成一種一般性複本或模板複本之前適當地配置該準備軟體,使用者可能必須捨棄一些其原本不想要捨棄之項目。這可能導致使用者必須花費更多時間才能讓作業系統回復至一適當點,或甚至使得特定有興趣之作業系統(或其模板)無法作業。
據此,在利用既有軟體來建立實體之新實例上,存在許多有待解決之問題。
本發明之實作以經設定用以建立離線資源之模板複本的系統、方法、以及電腦程式產品,來解決先前技術中之一或更多種問題。特別是,本發明之實作使得可將一特定資源之一複本(例如一作業系統或應用程式之一複本)依照一使用者之規格說明變成該資源之一般性複本或模板複 本,且同時該資源並未運行(即離線)。因此,本發明之實作,允許一使用者以有絕佳效率及可配置性(configurability)的方式建立如其所需數目之相同資源的模板複本。此種實作亦可在程序中的稍後時點提供與自訂模板有關之便利的使用者經驗。
舉例而言,當一或更多軟體資源之至少一者為離線時,一種建立該至少一軟體資源的一模板之方法可能涉及識別一離線軟體資源,以及識別一或更多種模板設定。這些模板設定大致地指出要從該軟體資源移除之一或更多標記。另外,該方法涉及在一第一作業系統執行一種經設定用以依照模板設定來移除標記之準備程式。該方法亦可能涉及將準備程式之一或更多的函數呼叫重定向至經識別之軟體資源。如此一來,由一或更多種模板設定所識別之標記便從軟體資源移除,一軟體資源之模板便建立起來。
另外,一種當一虛擬機為離線時複製該虛擬機,而使得該虛擬機及該複製虛擬機在運行時具有可區別之識別身份之方法,涉及接收安裝於一第一儲存空間上之一虛擬機檔案的識別身份。該方法亦可涉及從安裝於一第二儲存空間上之一準備程式接收一或更多種函數呼叫,其中該一或更多種函數呼叫要求移除一或更多種標記。另外,該方法可涉及在該虛擬機檔案上執行該一或更多種函數呼叫,其可導致移除位於第一儲存空間之所要求標記。再者,該方法可涉及建立該虛擬機檔案之一模板複本。
提出本發明內容之目的在於以一種簡化之方式介紹下 文實施方式中將進一步描述之某些所選概念。本發明內容之本意不在於指明申請專利範圍標的之主要特徵或關鍵特徵,且亦不應將本發明內容用於協助決定所請標的之範疇。
下文實施方式中將指出本發明之示範性實作的額外功能及優點,且其中部份在實施方式中顯而易見,或可由實作此示範性實作而得知。可利用附隨申請專利範圍中明確指出之設備及組合來實踐並達成此類實作之功能及優點。可由下文實施方式及附隨申請專利範圍或可由實作下述之此類示範性實作更清楚了解這些及其他功能。
本發明係關於可用以建立離線資源之模板複本之系統、方法、及電腦程式產品。特別是,本發明之實作使得可將一特定資源之一複本,例如一作業系統或應用程式之一複本,依照一使用者之規格說明變成該資源之一般性複本或模板複本,且同時該資源並未運行(即離線)。因此,本發明之實作允許一使用者以有絕佳的效率及可配置性的方式建立如其所需數目之相同資源的模板複本。此種實作亦可在程序中的稍後時點提供與自訂模板有關之便利的使用者經驗。
可由此處之實施方式及申請專利範圍更完整了解,這些實作之至少一種優點為,使用者(如,系統管理員)能夠有效地提供一自訂虛擬機給大量其他使用者而不必由一基本層級重新建立該自訂虛擬機。再者,自訂虛擬機之使 用者或擁有者可輕易建立使用者之虛擬機的一模板,而不必然需要經過數次重新開機及/或重新啟動硬體或相關聯之軟體。另外,由於可將此程序自動化,在例如協助工具列或管理呼叫中能夠由系統自動處理一般使用者不知道答案之某些常見的困難決定(例如產品金鑰、DNS、WINS等),最終可節省成本。更進一步而言,本發明之實作使得能夠將特定準備軟體之函數呼叫輕易地重定向至另一位置,而使得使用者可由位於遠端之一虛擬機建立一模板。
在此處,一「準備程式」係指一組一般獨立之電腦可執行指令,其經配置以介接於由一特定使用者所指示之一特定檔案,例如一虛擬機或作業系統之一映像檔(image file)、或一應用程式檔案之一映像(或可執行檔)。之後該準備程式可依照提供之模板設定,自該檔案移除某些自訂標記。舉例而言,在針對微軟(MICROSOFT)作業環境之至少一實作中,依照本發明之一或更多種實作利用之一準備程式(如,145)為系統準備(System Preparation)工具,亦稱為「Sysprep」。
無論如何,在某些情形中,例如主要於此處所述者,該準備程式可進一步利用來自使用者或其他管理員之配置而介接於一「準備代理程式」。準備代理程式亦為一組電腦可執行指令,其可有效地作為該準備程式及該有興趣之檔案(和/或亦可透過與一特定作業系統相關之任何其他適當介面組件)間之一墊片介面(shim interface)(如,第1C圖)。特別是,準備代理程式可經配置以接收及重定向來自 準備程式之呼叫。在至少一實作中,準備代理程式經配置以取得並重定向來自該準備程式之呼叫,且該準備程式對此種接收和/或重定向並不知情。
第1A圖圖示依照本發明之一實作的一概要示意圖,其中一準備程式建立一離線資源之一或更多種模板複本並安裝之。之後一或更多種其他資源或組件(此處未顯示)(如,一或更多種其他重新分配或儲存模組或機制)可在一或更多種主機磁碟區提供資源之模板複本。舉例而言,第1A圖顯示伺服器105代管(host)一或更多種資源,例如資源140,其目前為「離線」或並未運行。在本例中,資源140至少包含一「虛擬機」,該虛擬機實質上為在伺服器105之一配置硬碟分割上運行之一獨立實體。
作為一虛擬機,資源140可提供一傳統實體機之大多數或所有優點,例如執行應用程式、和其他實體機或虛擬機互動、伺服網路或資料庫應用程式/功能等等。在一實作中,舉例而言,伺服器105至少包含一主分割,該主分割主要作為一儲存伺服器,而資源140可作為一郵件或資料庫伺服器。如此一來,網路上的其他人通常不會察覺資源140僅為伺服器105代管(host)之一虛擬機,至少部份是因為資源140相較於網路上其他機器經過充分地自訂且可獨立定址。
第1A圖更顯示,在同一時間,一使用者想要複製資源140。舉例而言,使用者喜歡已經套用至資源140之各種軟體設定、更新、及自訂規格,且因而想要複製資源140 以用於其他主機上,而不需從無到有或移除那些軟體自訂規格。據此,第1A圖顯示準備程式145介接於離線的資源140,並建立相對應模板複本140a。這些模板之後可在主機110及115處的分離磁碟區(即,165、180)中被傳送、安裝以及任選地適當自訂。在適當自訂規格後,可將這些資源140之新版本(即,資源140b、140c)視為獨立實體,該些獨立實體基於各種目的可作為在網路上之其他用途的新機器。
第1B圖為第1A圖之示意圖的更詳細視圖,第1A圖中前述準備程式145可介接於準備代理程式150以便建立資源140之模板140a。特別是,第1B圖顯示伺服器105至少包含複數個不同機器和/或虛擬機,且因而在某些態樣中可作為一虛擬機程式庫。舉例而言,第1B圖顯示伺服器105至少包含儲存於主磁碟區160(c:\)、以及額外虛擬機磁碟區170(x:\)及175(z:\)上之分離實體。在本例中之每一此種磁碟區亦包括一特定資源其具有其本身的、經獨立自訂的作業系統。舉例而言,磁碟區160其上儲存和/或安裝了資源130,而磁碟區170及175其上分別儲存和/或安裝了資源135及140。在本特定情形中,資源135及140目前皆為離線(即,「離線資源」125)。
作為解釋,本特定範例顯示每一磁碟區160、170、175等皆可透過一特定磁碟機字母指派來識別。然而,應理解,依照本發明之實作,此動作並非必要。舉例而言,可利用合適於一既定作業系統的任何適當全域唯一識別碼 (Global Unique Identifier,GUID)來指定一磁碟機路徑。在其他情形中,亦可在欠缺一GUID的情形下指派一磁碟機路徑。舉例而言,磁碟機路徑可指派一未裝置(un-mounted)磁碟區、欠缺一磁碟機字母之一已裝置磁碟區(如,一裝置點)、具有一磁碟機字母之一已裝置磁碟區、甚或一可運送的快照(transportable snapshot)。最終,僅是需要一種方法以定址該特定磁碟區。因此,基於說明之便利性,此處特定磁碟機或檔案路徑之說明及指派可闡明至少一種可能實作。
在任何情況中,且如前所述,可至少根據基本標記以概略個別地自訂每一資源,該等基本標記可允許一本機或遠端電腦系統區別該資源。舉例而言,第1B圖顯示資源130至少包含「自訂標記a、b、c」而資源135至少包含「自訂標記c、d、e」且資源140至少包含「自訂標記c、f、g」。明顯地,在此情形中,每一資源具有至少一共有的標記「c」,該標記可指示一網域名稱、一時區設定、或某些其他可共享之標記或屬性。然而,每一資源至少更包含獨特標記,例如資源130之「a、b」、資源135之「d、e」、以及資源140之「f、g」。舉例而言,共有標記「c」可以是一共有網路網域名稱會員,而獨特標記「a、b」、「d、e、及「f、g」可以是獨特電腦名稱、擁有者帳戶、組態設定、或與其相似者。
第1B圖更顯示亦可以各種軟體版本、更新、和/或修補等個別地自訂每一資源。舉例而言,資源130及135包 括「軟體更新x、y、z」,而資源140包括「軟體更新v、y、及z」。在某個時點,一使用者可因為數個理由而決定其偏好於資源140之運行方式,例如以更新「v、y、z」而非以「x、y、z」為基礎。如此一來,使用者之後可決定建立資源140之一模板,該模板可保留相關軟體更新,但移除其他自訂標記,例如電腦名稱、擁有者帳號、日光節約設定、或與其相似者。
據此,使用者準備模板設定155,該模板設定155經由磁碟區「z:\」175定標資源140,且包括一特定要求僅移除自訂標記「f、及g」。在一實作中,模板設定155僅為提供給準備程式145之電子資料且其建立係回應透過一使用者介面接收之輸入。在其他情形中,模板設定155可以是利用另一種程式獨立建立之一種檔案或組件,其中準備程式145僅接收其中之資料。在任何情況中,第1B圖進一步顯示準備程式145在透過準備代理程式150執行時納入模板設定155。
如第1C圖所示,舉例而言,準備代理程式150實際上作為準備程式145及任何其他適當組件(例如磁碟區硬碟機裝置器195)間之一墊片,該些組件接著可直接介接於資源之一相對應檔案。如此一來,準備代理程式150可至少部份作為一屏蔽,而使得準備程式145進行之函數呼叫能夠以另一種離線磁碟區設立之模板設定155來導引,而非導引至準備程式145運行所在之作業系統。亦即,準備代理程式150可經配置以重定向函數呼叫至一適當目標, 且因而可確保準備程式145僅會由資源140產生一模板,而非由其中安裝了準備程式145及準備代理程式150之資源130。
再度參照第1B圖,其顯示準備代理程式150重定向準備程式145之函數呼叫,該等函數呼叫包括指令以便由離線資源140脫除(strip)自訂標記「f、g」。在一實作中,準備程式145僅直接脫除資源140的一或更多種指定標記,而使得一使用者可能必須在將資源140回復到上線狀態前重新組態自訂標記。在另一種實作中,使用者可過濾出複製及過濾函數呼叫之結果至另一種檔案,而不需直接由資源140移除標記。在又另一種實作中,使用者首先可複製資源140之離線檔案至一獨立位置,且接著脫除包括於模板設定155中之標記。不論如何組態,準備程式145的函數呼叫可造成如同所指定般地脫除資源140,而導致可在最小分裂的情形下有和所想一樣多之模板複本140a。如前所述,這至少部份是因為執行這些函數呼叫可能不需額外重新開機或重新啟動資源140。
舉例而言,特別是關於虛擬機,準備程式145可經由準備代理程式150裝置相對應資源(即,資源映像檔)之任何虛擬硬碟(如,磁碟區175)。或者是,準備程式145可經配置以僅讀取或寫入至資源檔案而不必然需要裝置該磁碟區。之後準備程式145能夠以任何適當旗標來設定準備代理程式150,例如藉由以在一除錯模式中之新程序的方式來初始準備代理程式150。當初始準備代理程式150 時,準備程式145可依照模板設定155來設定準備代理程式150以捕捉(trap)對檔案系統之所有呼叫、捕捉對系統註冊碼之所有呼叫、及捕捉欲成功執行該運行所必須之任何其他呼叫。之後準備程式145可開始將適當函數呼叫傳送至準備代理程式150,後者接著可按照設定(即,模板設定155)來重定向那些函數呼叫。舉例而言,來自準備程式145而關於從資源130移除自訂標記的指令由準備代理程式150重定向,而代以至資源140。
一旦移除了適當自訂規格,第1B圖更顯示現在可將新建立之模板140a依所需而安裝於其他位置。舉例而言,第1B圖顯示伺服器105提供資源模板140a及一組新標記185給位於主機110之磁碟區「p:\」,因而可建立資源140b。相似地,第1B圖顯示伺服器105可提供資源模板140a及新標記190給位於主機115之磁碟區「j:\」,因而可建立資源140c。在二種情形中,資源140之新疊代(即,資源140b-c)可保留所要求之軟體更新「v、y、z」、以及自訂標記「c」。但是,第1B圖顯示資源140b至少因為包括額外標記而為獨特的,例如資源140b之「h、i」、以及資源140c之「j、k」。如前所述,這些獨特標記可對應至任何數目之項目,例如電腦名稱、或其他適當設定資訊。
在資源模板140a之一新安裝過程中有多種不同方法能提供新標記185、190。如前所述,舉例而言,當從資源140脫除一標記時這些設定可透過一使用者介面提示預先提供給準備程式145,或可在任何適當時間從一不同儲存 媒體(如一軟碟機)接收該些設定。在其他情形中,在安裝時可再度於主機110、115使用準備程式145(或與其相似者)以透過一適當使用者介面向一使用者提示此一資訊。
另外,可以理解,前述組件及機制在本發明之脈絡下可有多種變形。舉例而言,除了從安裝於本機磁碟區上之目標資源脫除自訂標記和/或特定軟體組件或更新,系統管理員亦可在遠端離線資源上執行此類功能。舉例而言,系統管理員可利用準備程式145及準備代理程式150來脫除一大型企業中所有離線資源之某些軟體更新。相似地,系統管理員可利用準備程式145及準備代理程式150來從一位離職員工所擁有之一虛擬機脫除所有自訂標記。此外,一系統管理員可利用準備程式145及準備代理程式150來設置一作業系統之一種特別自訂版本以供在一企業之個人工作站使用,且之後建立可在最省事的情形下供安裝於東方工作站之複本。
更進一步而言,個別使用者可以各種個人設定來利用這些組件。舉例而言,一使用者可建立一作業系統之有效、經更新之版本的複本,該複本擁有所有經安裝且經配置之修補及各種安全性軟體;移除相關產品金鑰;且之後利用不同但有效的產品金鑰、電腦名稱等等,在另一朋友或家庭成員之電腦重新安裝此一複本。據此,第1A-1C圖闡明多種圖式及組件,其可用於一廣泛之設定範圍中,以便在非常有效率且精確的情形下,建立現有資源之模板。
亦可利用一或更多種方法之流程圖來描述本發明之實 作,該方法至少包含用以達成一特定結果之一系列不同動作。特別是,第2圖為從準備程式145及準備代理程式150之觀點,闡明用以建立一離線資源之一模板複本的動作流程圖。下文參照第1A至1C圖所述之組件及機制來描述第2圖之動作。
首先必須言明,在本說明書中有時提一「第一」、「第二」、或「第三」組件(如,第一、第二、或第三儲存空間)。然而,應理解,此種指派僅為了區別組件,因而「第一」組件或儲存空間僅需和一「第二」或「第三」組件或儲存空間不同,而和該組件可供存取之時點無關。舉例而言,一第一儲存空間、及一第二、或第三儲存空間之使用僅表示那些第一、第二、或第三儲存空間至少彼此相異,且這些指派不必然表示該第一、第二、或第三儲存空間係以任何特定序列或順序出現、存取、建立、或於其上進行其他動作。
舉例而言,第2圖顯示從準備程式145之觀點而用以在一或更多種軟體資源之至少一者為離線時建立該至少一軟體資源的一模板之方法,其至少包含一動作200可識別一離線資源。動作200包括識別一離線軟體資源。舉例而言,準備程式145由一使用者接收輸入,以便從位於磁碟區「z:\」175之資源140建立一模板。
相似地,第2圖顯示從準備代理程式150之觀點而用以當一虛擬機為離線時複製該虛擬機之方法,而使得虛擬機及複製虛擬機在運行時擁有可供區別之識別身份,其至 少包含一動作210可接收一離線檔案識別身份。動作210包括接收安裝於一第一儲存空間上之一虛擬機檔案的識別身份。舉例而言,準備代理程式150可從準備程式接收一指示以定標磁碟區「z:\」175上之資源140。在一虛擬機的特定情形中,可將資源140識別成一種單一檔案,例如一虛擬硬碟(即,「.vhd」、「VHD」、或「.vhd」)檔案。可以理解,在某些情形中,可替代性地以複數個「.vhd」檔案來表示一虛擬機。
第2圖亦顯示從準備程式145之觀點的方法,至少包含一動作220可識別模板設定。動作220包括識別一或更多種模板設定,該一或更多模板設定識別將從軟體資源移除之一或更多種標記。舉例而言,準備代理程式145接收模板設定155,該模板設定包括指令以依需求移除自訂標記「f、g」,但保留軟體更新「v、y、z」之任一或更多者。另外,第2圖顯示從準備程式145之觀點的方法,其至少包含一動作230可執行準備程式。動作230包括在一第一作業系統執行一準備程式,該準備程式經配置以依照模板設定移除標記。舉例而言,第1B圖顯示準備程式145在資源130(即,相對應作業系統)上運行和/或執行,但可依照模板設定155來重定向函數呼叫至資源140。
據此,第2圖顯示從準備程式145之觀點的方法,其至少更包含一動作240可重定向函數呼叫至經識別之資源。動作240包括重定向準備程式之一或更多種函數呼叫至經識別之軟體資源,而使得可從軟體資源移除一或更多 種模板設定所識別之標記,且因而可建立一軟體資源之模板。舉例而言,準備程式145可以在除錯模式中之一新程序的方式來初始準備代理程式150,並依照模板設定155以所有適當重定向功能來設定準備代理程式150。因此,當準備程式145傳送一函數呼叫以移除一自訂標記時,可將呼叫適當地重定向至定標之軟體資源,且最終可建立一模板。
因而,相似地,第2圖更顯示從準備代理程式150之觀點的方法,其至少包含一動作250可接收一或更多種函數呼叫。動作250包括從安裝於一第二儲存空間上之一準備程式接收一或更多種函數呼叫,該一或更多種函數呼叫可要求移除一或更多種標記。舉例而言,如第1B及1C二圖所示,準備代理程式150可直接介接於準備程式145以接收指令,並在由模板設定155所指定之位置實作那些指令。如此一來,儘管準備程式145在主磁碟區160上執行,準備代理程式150可確保所需之脫除功能僅會在適當離線目標(如,資源140)之磁碟區(如,175)上進行。
另外,第2圖顯示從準備代理程式150之觀點的方法,其至少包含一動作260可在檔案上執行一或更多種函數呼叫。動作260包括在虛擬機檔案上執行一或更多種函數呼叫,而使得可在第一儲存空間移除一或更多種標記。舉例而言,特別是在由一虛擬機檔案代表之一虛擬機之情形中,準備代理程式150可直接介接於虛擬機檔案(或直接介接於一磁碟區硬碟裝置器195),以便從虛擬機檔案移除 指定之自訂標記(如,資源140之「f、g」)或不需要之軟體組件。可在伺服器105上本機地、甚或透過一網路經由遠端呼叫功能來進行此種由準備代理程式150進行之執行過程。
第2圖更顯示從準備代理程式150之觀點的方法,其至少包含一動作270可建立離線檔案之一模板複本。動作270包括建立虛擬機檔案之一模板複本。舉例而言,如第1B圖所示,在資源140上之執行過程的結果是建立模板複本140,其包括軟體更新「v、y、z」、以及僅有自訂標記「c」。
據此,此處所示之方法以及相對應組件及示意圖提供了一或更多種實作,可用以比其他可用方法更有效率地建立一離線軟體資源之一模板。特別是,本發明之實作允許利用相對較快速、可靠之程序來建立模板,且通常不需要終端使用者互動或身份碼以執行自訂規格。除此之外,不會特別需要在運行軟體資源(即虛擬機)或在進行準備之前不需在軟體資源上安裝額外軟體組件。再者,亦可利用虛擬機上之小型介面來執行這些功能,亦即,不必然需要使用者登入、使用者設定檔建立、或與其相似者。更進一步,由於這些準備程式及組件通常夠新,而因此可用於廣泛範圍之資源上,這些準備程式及組件不必然在每當相對應目標軟體資源進行版本改變時便需要進行更新。
如前所述,以此種有效率之形式來建立模板之能力對大型企業非常有用,因為大型企業可能想在各種電腦工作 站安裝特別之自訂或更新之軟體資源。特別是,本發明之實作使得可在比以往花費更少時間、精力的情形下建立此種複本,並允許在比以往花費更少時間、精力的情形下將此種複本安裝至一特定自訂點。此種優點對於複製虛擬機、作業系統、及應用程式特別有用,該些虛擬機、作業系統、及應用程式可在壽命期間從軟體及/或個人化立場經自訂多次。
作為例示且非限制,此類電腦可讀取媒體可至少包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存、或其他磁性儲存裝置、或可用以攜帶或儲存電腦可執行指令或資料結構之形式的所需程式碼構件,且可供一種一般用途或特定用途電腦存取之任何其他媒體。當在一網路或另一種通訊連接(不論有線、無線、或有線或無線之一種組合)上將資訊傳輸或提供給一電腦,電腦可正確地將該連線視為一電腦可讀取媒體。因此,任何此類連線可正確地稱為一電腦可讀取媒體。上述之組合亦應包括在電腦可讀取媒體之範疇內。
電腦可執行指令至少包含,舉例而言,能導致一般用途電腦、特殊用途電腦、或特殊用途處理裝置執行某些功能或群組功能的指令及資料。雖然此處以專屬於結構功能和/或方法性動作之語言來描述本發明之標的,可以理解,附隨申請專利範圍中定義之標的不必然限於上述之特定功能或動作。反之,上述特定功能及動作係經揭露以作為實作申請專利範圍之示範性形式。
可將本發明具體實作於其他特定形式而不致悖離本發明之精神或實質特徵。在所有態樣中,僅可將所揭露之具體實施例視為說明性且非限制性。因而,本發明之範疇係由申請專利範圍而非上文敘述所界定。所有屬於申請專利範圍之意義及等價範圍內之改變,皆屬於其範疇。
105‧‧‧伺服器
110、115‧‧‧主機
120‧‧‧線上資源
125‧‧‧離線資源
130、140、140b、140c‧‧‧資源
140a‧‧‧資源模板
145‧‧‧準備程式
150‧‧‧準備代理程式
160‧‧‧主磁碟區
165、180‧‧‧磁碟區
170、175‧‧‧虛擬機磁碟區
185、190‧‧‧新標記
195‧‧‧磁碟區硬碟裝置器
為了描述可達成本發明之上述及其他優點及功能的方式,關於上文簡述之本發明的更具體詳細說明將參照附隨圖式中闡明之本發明之特定具體實施例來進行說明。有鑑於這些圖式僅描繪本發明之典型具體實施例,且因而不應將其視為對本發明範疇之限制,可利用附隨圖式更具體且詳細地描述並解釋本發明,其中:第1A圖為依照本發明之一實作的一概要示意圖,其中一準備程式建立一離線資源之一或更多種模板複本,並在一或更多種主機磁碟區安裝該資源;第1B圖為第1A圖之示意圖的更詳細視圖,其中一準備程式介接於一準備代理程式以便在一儲存媒體建立一資源之模板,以及在不同主機磁碟區上之不同儲存媒體安裝該資源之自訂版本;第1C圖闡明依照本發明之一組應用程式層,該組應用程式層經配置以將來自一準備程式之函數呼叫重定向至一適當資源目標檔案;以及第2圖為包含一系列動作之流程圖,該等動作係從一 準備程式及一準備代理程式之觀點,用以建立一離線資源之一模板複本。
105‧‧‧伺服器
110、115‧‧‧主機
125‧‧‧離線資源
140、140b、140c‧‧‧資源
140a‧‧‧資源模板
145‧‧‧準備程式
165、180‧‧‧磁碟區

Claims (17)

  1. 一種用於在一電腦化環境中建立一軟體資源之一模板的方法,其中該電腦化環境包含一或更多電腦系統,該一或更多電腦系統代管(host)至少一第一虛擬機及一第二虛擬機,該方法至少包含下列步驟:回應於接收到在該第二虛擬機上安裝一軟體資源的一請求,識別被安裝在該第一虛擬機上但不正在該第一虛擬機上執行的該軟體資源之一第一實例,該軟體資源之該第一實例具有一第一組自訂標記(indicia);識別一或更多模板設定(template settings),該一或更多模板設定識別要從該軟體資源之該第一實例的一複本移除之一或更多標記,且該一或更多模板設定識別要被加入至該軟體資源之該第一實例的該複本的一或更多標記;在一第一作業系統執行一準備程式,該準備程式經配置以藉由從該軟體資源之該第一實例的該複本移除該一或更多所要移除的標記,以及加入該一或更多所要加入的標記至該軟體資源之該第一實例的該複本,以從該軟體資源的該第一實例的該複本建立該軟體資源的一第二實例;以及將該準備程式之一或更多函數呼叫(function call)重定向,以在該第二虛擬機上安裝該軟體資源的該第二實例。
  2. 如申請專利範圍第1項所述之方法,其中該軟體資源之該第一實例為該第一虛擬機之一作業系統。
  3. 如申請專利範圍第1項所述之方法,其中該軟體資源之該第一實例為安裝在該第一虛擬機之一作業系統上之一應用程式。
  4. 如申請專利範圍第1項所述之方法,其中該準備程式係在一準備代理程式上執行,該準備代理程式經設定以接收該一或更多模板設定。
  5. 如申請專利範圍第4項所述之方法,其中該準備代理程式係經設定以透過一資源裝置器將該一或更多函數呼叫傳送至該軟體資源之該第二實例。
  6. 如申請專利範圍第5項所述之方法,其中該軟體資源之該第一實例為一磁碟區硬碟檔案(volume hard disk file),且其中該資源裝置器為經配置以提供對一相應實體硬碟之存取的下列至少一者:一磁碟區硬碟裝置器(volume hard disk mounter)、及一應用程式或系統程式庫。
  7. 如申請專利範圍第6項所述之方法,其中該磁碟區硬碟檔案對應於該第一虛擬機。
  8. 如申請專利範圍第1項所述之方法,其中該一或更 多模板設定包含一系統或使用者設定,該系統或使用者設定包含下列之任一或更多者的一指示:電腦名稱、使用者名稱、公司名稱、網域名稱、或網路位址。
  9. 如申請專利範圍第1項所述之方法,其中該一或更多模板設定包含一系統或使用者設定,該系統或使用者設定包含下列之任一或更多者的一指示:一日光節約(daylight savings)設定、或一時區設定。
  10. 如申請專利範圍第1項所述之方法,其中該一或更多模板設定包含一系統或使用者設定,該系統或使用者設定包含下列之任一或更多者的一指示:一資源產品金鑰、一軟體版本、或一安全性設定。
  11. 如申請專利範圍第1項所述之方法,其中該一或更多所要移除的標記及/或該一或更多所要加入的標記係接收自下列之任一者:一儲存媒體或網路介面。
  12. 如申請專利範圍第1項所述之方法,其中該一或更多所要移除的標記及/或該一或更多所要加入的標記係透過一使用者介面所接收。
  13. 一種在一電腦化環境中複製一虛擬機檔案的方法, 該電腦化環境包含至少一第一虛擬機、一第二虛擬機、一第一儲存空間、一第二儲存空間及一第三儲存空間,該虛擬機檔案及所複製的該虛擬機檔案具有可區別之識別身份,該方法至少包含下列步驟:回應於接收該虛擬機檔案的一指示,識別安裝於該第一虛擬機上但不正在該第一虛擬機上執行的一虛擬機檔案,其中該第一虛擬機位在該第一儲存空間上,且該虛擬機檔案具有一第一組自訂標記;從安裝於該第二儲存空間上之一準備程式接收一或更多函數呼叫,該一或更多函數呼叫要求移除要從該虛擬機檔案移除的一或更多標記,並且該一或更多函數呼叫要求加入要被加入至該虛擬機檔案的一或更多標記;在該虛擬機檔案上執行該一或更多函數呼叫,而使得該一或更多所要移除之標記係在該第一儲存空間上之該第一虛擬機中移除,並使得該一或更多所要加入之標記係在該第一儲存空間上之該第一虛擬機中加入;建立該虛擬機檔案之一模板複本,該虛擬機檔案之該模板複本具有一第二組自訂標記;以及在位於該第三儲存空間上之該第二虛擬機上安裝該虛擬機檔案之該模板複本。
  14. 如申請專利範圍第13項所述之方法,更包含下列步驟:儲存從該虛擬機檔案所移除的該一或更多被移除之 標記。
  15. 如申請專利範圍第13項所述之方法,其中該虛擬機檔案更包含一第一及第二軟體更新。
  16. 如申請專利範圍第15項所述之方法,其中該所要移除之一或更多標記包括一要求以移除該第二軟體更新但不移除該第一軟體更新。
  17. 一種其上儲存電腦可執行指令的電腦程式產品,當該些指令在一電腦化環境中被執行時可使一或更多處理器執行一種建立一軟體資源之一模板的方法,其中該電腦化環境包含一或更多電腦系統,該一或更多電腦系統代管(host)至少一第一虛擬機及一第二虛擬機,該方法至少包含下列步驟:回應於接收到在該第二虛擬機上安裝該軟體資源的一請求,識別被安裝在該第一虛擬機上但不正在該第一虛擬機上執行的該軟體資源之一第一實例,該軟體資源之該第一實例具有一第一組自訂標記(indicia);識別一第二組自訂標記;識別一或更多模板設定,該一或更多模板設定識別要從該軟體資源之該第一實例之一複本移除之一或更多標記,且該一或更多模板設定識別要被加入至該軟體資源之該第 一實例的該複本的一或更多標記;在一第一作業系統執行一準備程式,該準備程式經配置以藉由從該軟體資源之該第一實例的該複本移除該一或更多所要移除的標記,以及加入該一或更多所要加入的標記至該軟體資源之該第一實例的該複本,以從該軟體資源的該第一實例的該複本建立該軟體資源的一第二實例;將該準備程式之一或更多函數呼叫重定向以在該第二虛擬機上安裝該軟體資源的該第二實例。
TW096106784A 2006-03-30 2007-02-27 建立離線資源模板 TWI411958B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/393,585 US9213542B2 (en) 2006-03-30 2006-03-30 Creating templates of offline resources

Publications (2)

Publication Number Publication Date
TW200809620A TW200809620A (en) 2008-02-16
TWI411958B true TWI411958B (zh) 2013-10-11

Family

ID=38561062

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096106784A TWI411958B (zh) 2006-03-30 2007-02-27 建立離線資源模板

Country Status (13)

Country Link
US (3) US9213542B2 (zh)
EP (1) EP2011020B1 (zh)
JP (1) JP5113831B2 (zh)
KR (1) KR101344163B1 (zh)
CN (1) CN101416175B (zh)
AU (1) AU2007235540B2 (zh)
BR (1) BRPI0709166B1 (zh)
CA (1) CA2644167C (zh)
MX (1) MX2008011907A (zh)
MY (1) MY155040A (zh)
RU (1) RU2436150C2 (zh)
TW (1) TWI411958B (zh)
WO (1) WO2007117363A1 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577940B2 (en) * 2006-03-20 2013-11-05 Parallels IP Holdings GmbH Managing computer file system using file system trees
US9213542B2 (en) 2006-03-30 2015-12-15 Microsoft Technology Licensing, Llc Creating templates of offline resources
US8010495B1 (en) 2006-04-25 2011-08-30 Parallels Holdings, Ltd. Method and system for fast generation of file system snapshot bitmap in virtual environment
US8091084B1 (en) 2006-04-28 2012-01-03 Parallels Holdings, Ltd. Portable virtual machine
US8176153B2 (en) * 2006-05-02 2012-05-08 Cisco Technology, Inc. Virtual server cloning
US8909758B2 (en) * 2006-05-02 2014-12-09 Cisco Technology, Inc. Physical server discovery and correlation
US8442958B2 (en) 2006-06-26 2013-05-14 Cisco Technology, Inc. Server change management
US7706303B2 (en) 2006-06-26 2010-04-27 Cisco Technology, Inc. Port pooling
US8082539B1 (en) 2006-12-11 2011-12-20 Parallels Holdings, Ltd. System and method for managing web-based forms and dynamic content of website
US8327350B2 (en) * 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates
US8108855B2 (en) * 2007-01-02 2012-01-31 International Business Machines Corporation Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
US20090024645A1 (en) * 2007-07-16 2009-01-22 Sudhir Krishna S Method and system for generating offline applications
US8370802B2 (en) 2007-09-18 2013-02-05 International Business Machines Corporation Specifying an order for changing an operational state of software application components
JP4840670B2 (ja) * 2008-03-25 2011-12-21 日本電気株式会社 仮想マシンのデプロイ高速化システム、その方法及びそのプログラム
DE102008030317A1 (de) * 2008-06-30 2009-12-31 Trumpf Werkzeugmaschinen Gmbh + Co. Kg System und Verfahren zur Fernkommunikation zwischen einem zentralen Computer und einer Maschinensteuerung
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8060476B1 (en) 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
JP5446157B2 (ja) * 2008-07-28 2014-03-19 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US8429649B1 (en) 2008-09-25 2013-04-23 Quest Software, Inc. Systems and methods for data management in a virtual computing environment
US9189221B2 (en) 2009-01-27 2015-11-17 Microsoft Technology Licensing, Llc Consistent operating system servicing for distributed nodes
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US9778946B2 (en) * 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
JP2011076370A (ja) * 2009-09-30 2011-04-14 Hitachi Solutions Ltd デプロイシステム
US20110113422A1 (en) 2009-11-09 2011-05-12 Bank Of America Corporation Programmatic Creation Of Task Sequences From Manifests
US9122558B2 (en) * 2009-11-09 2015-09-01 Bank Of America Corporation Software updates using delta patching
US9274821B2 (en) * 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US8898114B1 (en) 2010-08-27 2014-11-25 Dell Software Inc. Multitier deduplication systems and methods
JP5681465B2 (ja) * 2010-12-02 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理システム、情報処理装置、準備方法、プログラムおよび記録媒体
US8924472B1 (en) * 2011-08-20 2014-12-30 Datastax, Inc. Embedding application services in a distributed datastore
WO2013035134A1 (ja) * 2011-09-08 2013-03-14 株式会社日立製作所 仮想計算機提供システム及び提供方法
US10108537B2 (en) * 2011-11-29 2018-10-23 Red Hat, Inc. Mechanisms for reproducing storage system metadata inconsistencies in a test environment
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US9501296B2 (en) * 2012-05-18 2016-11-22 Ca, Inc. Hypervisor automation manager for starting an operation system with customization data from a disk image
US9720669B2 (en) * 2013-05-30 2017-08-01 The Boeing Company Deployment of software across an enterprise system
WO2015039181A1 (en) * 2013-09-23 2015-03-26 Gopc Pty Ltd Virtual computing systems and methods
US10474484B2 (en) * 2015-03-26 2019-11-12 Vmware, Inc. Offline management of virtualization software installed on a host computer
CN105278874A (zh) * 2015-09-15 2016-01-27 中国联合网络通信集团有限公司 大数据平台系统及其运行方法
US9910692B2 (en) * 2016-01-26 2018-03-06 Intel Corporation Enhanced virtual function capabilities in a virtualized network environment
US11169982B2 (en) 2016-06-30 2021-11-09 Microsoft Technology Licensing, Llc Dynamic deactivation of cold database in database service
RU2744591C2 (ru) * 2019-05-31 2021-03-11 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ и система управления связями компьютеров в многоуровневом составном компьютерном кластере
CN112558968B (zh) * 2020-12-22 2023-10-17 北京飞讯数码科技有限公司 一种资源树视图的生成方法、装置、设备及存储介质
US11818055B1 (en) * 2022-05-31 2023-11-14 Walmart Apollo, Llc Systems and methods for automating resource deployment
CN116700897A (zh) * 2023-06-12 2023-09-05 北京首都在线科技股份有限公司 计算环境模板的创建方法、装置、计算设备及存储介质
CN117270961B (zh) * 2023-11-21 2024-04-12 武汉蜂鸟龙腾软件有限公司 一种Linux环境下MFC字符资源的解析和加载方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW497071B (en) * 1998-10-27 2002-08-01 Ibm Method and apparatus for managing clustered computer systems
US20020156877A1 (en) * 2001-04-23 2002-10-24 Lu James C. System and method for the duplication of a software system onto an appropriate target computer
US20030233644A1 (en) * 2002-06-17 2003-12-18 Microsoft Corporation System and method for manipulating offline software
US20040015959A1 (en) * 2002-06-28 2004-01-22 Hiroki Kobayashi Software installing method for setting printing environment in a computer on an individual computer basis
TW200522628A (en) * 2003-12-25 2005-07-01 Inst Information Industry Method of contention control for quality of service (QoS) in WLAN

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2285106A1 (en) * 1997-04-02 1998-10-08 David M. Silver Method for integrating a virtual machine with input method editors
US7000231B1 (en) 2000-09-22 2006-02-14 Hewlett-Packard Development Company, L.P. Method of manufacturing operating system master template, method of manufacturing a computer entity and product resulting therefrom, and method of producing a production version of an operating system
US7035963B2 (en) 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US20030158926A1 (en) 2002-02-20 2003-08-21 Gateway, Inc. Network master hard disk drive duplicator
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
JP4353003B2 (ja) 2004-06-25 2009-10-28 日本電気株式会社 インストール方式およびインストール方法ならびに配布装置およびそのプログラム
US8464250B1 (en) * 2004-09-23 2013-06-11 Transcontinental Events, Llc System and method for on-demand cloning of virtual machines
US7523089B2 (en) * 2005-09-30 2009-04-21 Microsoft Corporation Offline servicing of image files
US7840961B1 (en) * 2005-12-30 2010-11-23 United Services Automobile Association (Usaa) Method and system for installing software on multiple computing systems
US9213542B2 (en) 2006-03-30 2015-12-15 Microsoft Technology Licensing, Llc Creating templates of offline resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW497071B (en) * 1998-10-27 2002-08-01 Ibm Method and apparatus for managing clustered computer systems
US20020156877A1 (en) * 2001-04-23 2002-10-24 Lu James C. System and method for the duplication of a software system onto an appropriate target computer
US20030233644A1 (en) * 2002-06-17 2003-12-18 Microsoft Corporation System and method for manipulating offline software
US20040015959A1 (en) * 2002-06-28 2004-01-22 Hiroki Kobayashi Software installing method for setting printing environment in a computer on an individual computer basis
TW200522628A (en) * 2003-12-25 2005-07-01 Inst Information Industry Method of contention control for quality of service (QoS) in WLAN

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bowen Alpern et al., "PDS: a virtual execution environment for software deployment", International Conference on Virtual Execution Environments, 2005, pages 175 to 185. *

Also Published As

Publication number Publication date
BRPI0709166A2 (pt) 2011-06-28
US9213542B2 (en) 2015-12-15
RU2436150C2 (ru) 2011-12-10
BRPI0709166B1 (pt) 2019-01-15
KR101344163B1 (ko) 2013-12-20
CN101416175A (zh) 2009-04-22
CA2644167A1 (en) 2007-10-18
US20070234334A1 (en) 2007-10-04
MY155040A (en) 2015-08-28
EP2011020B1 (en) 2018-04-18
US9600276B2 (en) 2017-03-21
CA2644167C (en) 2015-12-29
AU2007235540A1 (en) 2007-10-18
TW200809620A (en) 2008-02-16
RU2008138700A (ru) 2010-04-10
AU2007235540B2 (en) 2011-12-08
KR20080114752A (ko) 2008-12-31
WO2007117363A1 (en) 2007-10-18
US20160098286A1 (en) 2016-04-07
CN101416175B (zh) 2013-10-16
EP2011020A4 (en) 2009-08-19
JP5113831B2 (ja) 2013-01-09
US20170147390A1 (en) 2017-05-25
BRPI0709166A8 (pt) 2016-12-13
EP2011020A1 (en) 2009-01-07
JP2009532757A (ja) 2009-09-10
MX2008011907A (es) 2008-09-29

Similar Documents

Publication Publication Date Title
TWI411958B (zh) 建立離線資源模板
US7448034B2 (en) Build time determination and installation of drivers on cloned systems
US7743242B2 (en) Method and system for automatic generation of operating system boot images
US7937455B2 (en) Methods and systems for modifying nodes in a cluster environment
CN107992355B (zh) 一种部署应用软件的方法、装置及虚拟机
JP5239075B2 (ja) 複数のサービスステップを含むサービスプロセスを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US10715594B2 (en) Systems and methods for update propagation between nodes in a distributed system
US20040221146A1 (en) Build time dynamic installation of drivers on cloned systems
US20100332637A1 (en) Virtual-machine management program and method for managing virtual machines
US11144292B2 (en) Packaging support system and packaging support method
KR100831128B1 (ko) 다중 사용자 환경에서의 서버 시스템을 이용한 운영체제백업/복구와 게임 백업/복구/업데이트/설치/실행 및운영체제 관리 시스템 및 그 방법
Shafiq A Practical Guide to SharePoint 2013: No fluff! Just practical exercises to enhance your SharePoint 2013 learning!
JP2001075811A (ja) 配布情報選択装置
Thakker et al. Preparing the Identity Management Database
PT108747A (pt) Sistema e método de um gestor local e outro remoto que inclui um replicador de configuração

Legal Events

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