TWI566176B - 基於策略存取虛擬化應用程式的電腦實現方法及電腦可讀取儲存媒體 - Google Patents
基於策略存取虛擬化應用程式的電腦實現方法及電腦可讀取儲存媒體 Download PDFInfo
- Publication number
- TWI566176B TWI566176B TW100142079A TW100142079A TWI566176B TW I566176 B TWI566176 B TW I566176B TW 100142079 A TW100142079 A TW 100142079A TW 100142079 A TW100142079 A TW 100142079A TW I566176 B TWI566176 B TW I566176B
- Authority
- TW
- Taiwan
- Prior art keywords
- application
- virtualized application
- computer
- virtualization
- execution
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 27
- 230000004044 response Effects 0.000 claims description 13
- 230000009471 action Effects 0.000 claims description 11
- 238000012550 audit Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- 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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2111—Location-sensitive, e.g. geographical location, GPS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本案係關於基於策略虛擬化應用程式的存取。
企業、政府機構,以及其他類型的實體通常限制對某些類型的機密或敏感資訊的存取。限制對諸如實體文件之類的實體資訊的存取可以經由使用標準存取限制來很容易地實現。限制對例如儲存在伺服器電腦上的文件之類的數位資訊的存取亦可以經由使用諸如存取控制清單之類的標準安全措施來相對容易地實現。
限制對電腦應用程式(「應用程式」)的使用可能要比限制對實體專案的存取難得多,特別是在必須以某種方式限制另外被授權使用該應用程式的使用者時尤其如此。對於向雇員發放諸如膝上型電腦、平板電腦和智慧型電話之類的可攜式計算設備的組織而言尤其是如此。因為雇員可以持續地存取發放給他們的計算設備,所以很難限制對該等計算設備上所安裝的應用程式的使用。
此處所做出的本案正是關於該等和其他考慮事項而提出的。
本文描述了用於基於策略虛擬化應用程式的存取的技術。經由本文在此呈現的概念和技術的實現,可提供能夠根據執行策略來限制虛擬化應用程式的執行的應用程式虛擬化環境。該執行策略可以由管理員來設置,並且定義可以或不可以執行虛擬化應用程式的條件。以此方式,應用程式的執行可以基於各種條件來限制,諸如在其上執行應用程式的設備的地理位置、使用該應用程式的一天中的時刻或持續時間、某些計算資源對於該設備的可用性,或其他條件。
可結合應用程式虛擬化環境來實現本文揭示的實施例。具體地,應用程式虛擬化客戶端元件被配置為提供用於執行虛擬化應用程式的環境。應用程式虛擬化客戶端元件亦提供用於使虛擬化應用程式與底層作業系統、其他應用程式和系統資源分開地被封裝起來的功能。應用程式虛擬化客戶端元件亦可經由從應用程式虛擬化伺服器元件流傳送虛擬化應用程式的所需部分來提供載入虛擬化應用程式的該等部分的功能。
根據另一態樣,應用程式虛擬化客戶端元件被配置為提供基於策略虛擬化應用程式的的存取。具體而言,當接收到執行虛擬化應用程式的請求時,應用程式虛擬化客戶端元件評價執行策略以決定該應用程式是否可被執行。如上文簡單論述的,該執行策略可以由管理員來設置,並且定義可以或不可以執行虛擬化應用程式的條件。例如,執行策略可規定只有在執行虛擬化應用程式的設備處在指定地理區域時才可執行該虛擬化應用程式、應用程式僅可在一天的指定時刻(例如,9 a.m.至5 p.m.)執行、每天僅可執行指定的持續時間(例如,每天一個小時),或者只有在某些計算資源不受限制時才可執行應用程式。
若應用程式虛擬化客戶端元件基於執行策略決定該虛擬化應用程式可以執行,則應用程式虛擬化客戶端元件將公佈該虛擬化應用程式。如在此所使用的,術語「公佈」意指使虛擬化應用程式可供執行之用。例如,在一個實施例中,應用程式虛擬化客戶端元件經由決定虛擬化應用程式是否被安裝並且若已安裝則使虛擬化應用程式可供執行來公佈虛擬化應用程式。若虛擬化應用程式未安裝則應用程式虛擬化客戶端元件可使虛擬化應用程式被流傳送至該設備以供執行。
根據另一態樣,應用程式虛擬化客戶端元件在虛擬化應用程式的執行期間週期性地或不斷地評價執行策略。若應用程式虛擬化客戶端元件決定不再滿足執行策略,則應用程式虛擬化客戶端元件「取消公佈」虛擬化應用程式。例如,應用程式虛擬化客戶端元件可停止虛擬化應用程式的執行並使應用程式不可用於執行。應用程式虛擬化客戶端元件亦可將虛擬化應用程式從在其上執行該虛擬化應用程式的客戶端設備移除。
根據另一態樣,若不能評價執行策略則應用程式虛擬化客戶端元件亦取消公佈虛擬化應用程式。例如,若執行策略要求只有在特定地理區域內才可執行應用程式而執行該應用程式的設備所處的地理區域無法決定則可以取消公佈該虛擬化應用程式。應用程式虛擬化客戶端元件亦可儲存關於虛擬化應用程式的不允許存取、取消公佈應用程式的條件,以及對應用程式虛擬化環境的管理員可能有說明的其他資訊的審核資料。
本發明內容並不意欲標識所主張的標的的關鍵特徵或必要特徵,亦不意欲將本概述用來限制所主張的標的的範圍。此外,所主張的標的不限於解決在本發明的任一部分中提及的任何或所有缺點的實現。
下文的詳細描述涉及用於基於策略虛擬化應用程式的存取之技術。如上文簡短論述的,提供了應用程式虛擬化環境,其被配置成基於執行策略對虛擬化應用程式的執行實施限制。具體而言,當收到執行虛擬化應用程式的請求時,應用程式虛擬化客戶端元件評價執行策略以決定該應用程式是否可被公佈和執行。若應用程式虛擬化客戶端元件基於執行策略決定該虛擬化應用程式可以執行,則應用程式虛擬化客戶端元件公佈並執行該虛擬化應用程式。
應用程式虛擬化客戶端元件在應用程式已安裝時經由使該虛擬化應用程式可供執行來公佈應用程式且當應用程式未安裝時經由安裝該虛擬化應用程式來公佈應用程式。應用程式虛擬化客戶端元件亦在虛擬化應用程式執行期間評價執行策略。若應用程式虛擬化客戶端元件決定不再滿足執行策略,則應用程式虛擬化客戶端元件取消公佈虛擬化應用程式,由此阻止該虛擬化應用程式的執行。關於該等和其他特徵的附加細節將在以下提供。
儘管在結合電腦系統上的作業系統和應用程式的執行而執行的程式模組的一般上下文中呈現了本文描述的標的,但是本領域技藝人士將認識到,其他實現可以結合其他類型的程式模組來執行。一般而言,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、元件、資料結構和其他類型的結構。此外,本領域技藝人士將明白,可以利用其他電腦系統組態來實施本文描述的標的,該等電腦系統組態包括手持設備、多處理器系統、基於微處理器的或可程式設計消費電子產品、小型電腦、大型電腦等等。
在下文的詳細描述中,將參考構成本發明的一部分的附圖,並且在附圖中作為說明圖示各具體實施例或實例。現在參考附圖(全部若干附圖中相同的標號表示相同的元素),將描述用於基於策略虛擬化應用程式的存取之計算系統和方法的各態樣。
圖1是示出用於此處揭示的各個實施例的一個說明性操作環境100的軟體和網路架構圖。圖1中所示的說明性操作環境100包括被配置為經由網路106與伺服器104通訊的客戶端設備102。客戶端設備102是被配置為執行作業系統108A和應用程式虛擬化客戶端元件110的計算設備。客戶端設備102可以是標準桌上型或膝上型電腦、平板電腦、智慧手機或能執行此處呈現的用於基於策略虛擬化應用程式的存取之操作的任何其他類型的計算設備。客戶端設備102亦可以是被配置為提供此處揭示的功能性的伺服器電腦。
伺服器104是被配置為執行作業系統108B和應用程式虛擬化伺服器元件116的計算系統。應該理解的是伺服器104可以是被配置為執行應用程式虛擬化伺服器元件110的伺服器電腦或者可包括被配置為執行如由伺服器104所執行的此處描述的的功能性的另一種類型的電腦系統。
圖1中所示的網路106可包括廣域網或區域網路。例如,網路106可以是公司區域網路、諸如網際網路之類的廣域網,或者多個廣域網和區域網路的組合。應該理解的是儘管圖1中圖示單個網路106,但是可使用很多其他網路。亦應該理解的是儘管圖1中圖示單個客戶端設備102和伺服器104,此處揭示的諸實施例可使用很多此種設備。
如上所簡要論述的,客戶端設備102被配置為執行應用程式虛擬化客戶端元件110。應用程式虛擬化客戶端元件110是被配置為提供應用程式虛擬化環境的軟體元件。在該意義上,應用程式虛擬化客戶端元件110被配置為執行虛擬化應用程式112。應用程式虛擬化客戶端元件110提供使虛擬化應用程式112的執行與作業系統108A分開地被封裝起來的功能。應用程式虛擬化客戶端元件110亦可提供使虛擬化應用程式112的執行與客戶端設備102的其他應用程式和系統資源分開地被封裝起來的功能。例如,應用程式虛擬化客戶端元件110可將作業系統108A或客戶端設備102的資源虛擬化。當虛擬化應用程式112嘗試存取實體資源的時候,應用程式虛擬化客戶端元件110將虛擬化資源呈現給應用程式112。以此方式,可以經由不對作業系統108A或客戶端設備102所暴露的實際資源產生影響的方式執行虛擬化應用程式112。
根據其他態樣,應用程式虛擬化客戶端元件110亦提供隨選載入虛擬化應用程式112的部分的功能。具體地,應用程式虛擬化客戶端元件110可與應用程式虛擬化伺服器元件116協同操作,以將虛擬化應用程式112的所需要的部分從伺服器104流傳送至客戶端設備102。以此方式,可在客戶端設備102處隨選存取虛擬化應用程式112。此外,由於可以僅僅將虛擬化應用程式112的所需部分從伺服器104流傳送至客戶端設備102,所以可提供對虛擬化應用程式112的存取而不需要將整個應用程式112從伺服器104流傳送至客戶端設備102。
有關應用程式虛擬化客戶端元件110所提供的用於封裝虛擬化應用程式112的執行以及用於將虛擬化應用程式112從伺服器104流傳送至客戶端設備102的功能性的附加細節可在2007年5月29日提出申請的名為「Systems and Methods for Delivering Content over a Computer Network(用於在電腦網路上遞送內容的系統與方法)」的美國專利號為7,225,264的申請、在2007年4月3日提出申請的名為「Method and System for Serving Software Applications to Client Computers(用於向客戶端電腦供應軟體應用程式的方法與系統)」的美國專利號為7,200,632的申請、在2008年11月11日提出申請的、名為「Operating System Abstraction and Protection Layer(作業系統抽象與保護層)」的美國專利號為7,451,451的申請,以及在2010年9月14日提出申請的名為「Serving Software Applications from Servers for Client Computers(從伺服器為客戶端電腦供應軟體應用程式)」的美國專利號為7,797,372的申請中找到,上述每個專利經由引用整體併入本文。
應用程式虛擬化客戶端元件110亦被配置為提供基於策略虛擬化應用程式112的存取。在該意義上,伺服器104和客戶端設備102可儲存執行策略114。執行策略114定義可以或不可以執行虛擬化應用程式112的條件。例如,執行策略114可規定只有在客戶端設備102處在特定地理區域內時才可執行虛擬化應用程式112。替換或組合地,執行策略114亦可規定只有在一天的指定時間或每天的指定持續時間期間才可執行虛擬化應用程式112。
作為另一實例,執行策略114可規定只有在客戶端設備102的某些計算資源不受限制時才可執行虛擬化應用程式112。例如,若客戶端設備112沒有一定量的中央處理單元或網路頻寬可用,則執行策略114可規定不能執行虛擬化應用程式112。應該可以領會,執行策略114可以規定基於實體位置、時間,或其他因素的其他限制。亦應領會,客戶端設備102或伺服器104的管理員可以設置執行策略114。
當在客戶端設備102處收到執行虛擬化應用程式112的請求時,應用程式虛擬化客戶端元件110被配置為評價執行策略114以決定是否可以執行應用程式112。為了評價執行策略114,應用程式虛擬化客戶端元件110可與其他元件協作以獲得評價執行策略114所需的資料。例如,應用程式虛擬化客戶端元件110可與能夠決定客戶端設備102的實體位置的軟體或硬體元件協同操作。
用於標識客戶端設備102的位置的說明性技術包括蜂巢三角量測、全球定位系統(「GPS」)位置、A-GPS位置、基於無線信號強度的位置、基於有線信號強度的位置、基於網際網路協定位址的位置決定等等。應用程式虛擬化客戶端元件110亦可協同其他類型的元件操作以獲得評價執行策略114所需的資料。如將在下文更詳細地描述的,若應用程式虛擬化客戶端元件110不能獲得評價執行策略114所需的資料,則可禁止虛擬化應用程式112的執行。
應該領會,根據諸實施例,執行策略114的評價可以發生在客戶端設備102、伺服器104,或客戶端設備102和伺服器104的組合上。例如,在一種實現中,應用程式虛擬化客戶端元件110被配置為請求應用程式虛擬化伺服器元件116評價執行策略114。若應用程式虛擬化伺服器元件116不可用,則應用程式虛擬化客戶端元件110可在客戶端設備102上評價執行策略114。替換地,若沒有應用程式虛擬化伺服器元件116可供用於評價執行策略114,則應用程式虛擬化客戶端元件110可禁止虛擬化應用程式112的執行。替換地,應用程式虛擬化客戶端元件110可被配置為在沒有來自伺服器104的任何輔助的情況下在客戶端設備102上評價執行策略114。
若應用程式虛擬化客戶端元件110基於執行策略114決定虛擬化應用程式112可以執行,則應用程式虛擬化客戶端元件110將公佈虛擬化應用程式112以供使用。如上文簡短地描述的,術語「公佈」意指使虛擬化應用程式112可供在客戶端設備102上作執行之用。例如,在一個實施例中,應用程式虛擬化客戶端元件110經由決定虛擬化應用程式112是否被安裝在客戶端設備102上來公佈虛擬化應用程式112。若虛擬化應用程式112被安裝在客戶端設備102上,則應用程式虛擬化客戶端元件110使得虛擬化應用程式112可供執行。若虛擬化應用程式112未安裝在客戶端設備102上,則應用程式虛擬化客戶端元件110可使虛擬化應用程式112從伺服器104流傳送至客戶端設備102以用於執行。
應用程式虛擬化客戶端元件110亦被配置為在虛擬化應用程式112的執行期間評價執行策略114。例如,應用程式虛擬化客戶端元件110可週期性地或不斷地評價執行策略114以確保執行策略114是得到滿足的。若應用程式虛擬化客戶端元件110決定不再滿足執行策略114,則應用程式虛擬化客戶端元件110取消公佈虛擬化應用程式112。例如,應用程式虛擬化客戶端元件110可停止虛擬化應用程式112的執行並使應用程式112不可用於執行。應用程式虛擬化客戶端元件110亦可從客戶端設備102上移除虛擬化應用程式112。若之後再次滿足執行策略114,應用程式虛擬化客戶端元件110可經由從伺服器104向客戶端設備102流傳送虛擬化應用程式112重新公佈虛擬化應用程式112。
如上文簡短論述的,若不能評價執行策略114則應用程式虛擬化客戶端元件110亦取消公佈虛擬化應用程式112。例如,若執行策略114要求僅在特定地理區域內執行應用程式112但應用程式虛擬化客戶端元件110不能決定該地理區域則亦可取消公佈虛擬化應用程式112。若客戶端設備102之後返回到准許執行應用程式112的地理區域,則應用程式虛擬化客戶端元件110可重新公佈應用程式112以供執行。
根據其他態樣,應用程式虛擬化客戶端元件110被配置為儲存供伺服器104和客戶端設備102的管理員使用的審核資料。例如,審核資料可包括標識虛擬化應用程式112的不允許的存取的資料、應用程式虛擬化客戶端元件110取消公佈應用程式112的條件,以及對元件110和116所提供的應用程式虛擬化環境的管理員有可能有說明的其他資訊。關於應用程式虛擬化客戶端元件110、客戶端設備102和伺服器104的操作的附加細節將在下文參照圖2A-2B來提供。
圖2A-2B是示出說明此處揭示的用於基於策略虛擬化應用程式的存取之一個說明性程序的各態樣的常式200的流程圖。應當理解,參考圖2A-2B以及其他附圖所描述的邏輯操作被實現為(1)電腦實現的動作的序列或執行於計算系統上的程式模組,及/或(2)計算系統內的互連機器邏輯電路或電路模組。取決於計算系統的效能及其他要求,可以選擇不同的實現。因此,此處所描述的邏輯操作被不同地稱為操作、結構設備、動作或模組。該等操作、結構設備、動作和模組可用軟體、韌體、專用數位邏輯,及其任何組合來實現。亦應該明白,可以執行比附圖中示出並在此處描述的操作更多或更少的操作。該等操作亦可以按與此處所描述的不同的次序來執行。
常式200在操作202處開始,此處應用程式虛擬化客戶端元件110決定是否已經接收到執行虛擬化應用程式112的請求。例如,客戶端設備102的使用者可作出執行應用程式112的請求。若亦未收到此種請求,則常式200回到操作202,在此處進行另一次此種判定。若應用程式虛擬化客戶端元件110決定已經接收到執行虛擬化應用程式112的請求,常式200從操作202行進至操作204。
在操作204,應用程式虛擬化客戶端元件110嘗試評價執行策略114。如上文所論述地,應用程式虛擬化客戶端元件110可利用其他元件提供的功能性來獲得評價執行策略114所需的資料。例如,應用程式虛擬化客戶端元件110可獲得標識客戶端設備102的地理位置、一天中的時刻,或評價執行策略114所需的其他資訊的資料。常式200從操作204行進至操作206。
在操作206,應用程式虛擬化客戶端元件110決定是否能夠評價執行策略114。例如,若諸如客戶端設備102的地理位置之類的資料不可用,則應用程式虛擬化客戶端元件110可能不能評價執行策略114。在其他實施例中,若不能連接伺服器104的網路,則應用程式虛擬化客戶端元件110亦可能不能評價執行策略114。其他類型的因素亦可能阻礙應用程式虛擬化客戶端元件110評價執行策略114。
若不能評價執行策略114,則常式200從操作206行進至操作208。在操作208,應用程式虛擬化客戶端元件110拒絕執行虛擬化應用程式112的請求。另外,如上論述地,應用程式虛擬化客戶端元件110可以儲存關於虛擬化應用程式112的不允許存取的審核資料以及對應用程式虛擬化環境的管理員可能有說明的其他資訊。常式200從操作208行進至上文描述的操作202,在此處可以處理執行應用程式112的另一請求。
若執行策略114經過了應用程式虛擬化客戶端元件110的評價,則常式200從操作206行進至操作210。在操作210做出關於是否滿足執行策略114的決定。若不滿足執行策略114,則常式200從操作210行進至操作208,在此處拒絕執行虛擬化應用程式112的請求。另外,如上所述,亦可以儲存審核資料。
若滿足了執行策略114,則常式200行進至操作212,在此處應用程式虛擬化客戶端元件110公佈虛擬化應用程式112。如上文論述的,為了公佈應用程式112,應用程式虛擬化客戶端元件110可決定應用程式112是否安裝在客戶端設備102上。若安裝了應用程式112,則應用程式虛擬化客戶端元件110可使虛擬化應用程式可供在客戶端設備102上執行之用。若虛擬化應用程式112未安裝在客戶端設備102上,則應用程式虛擬化客戶端元件110可使虛擬化應用程式112從伺服器104流傳送至客戶端設備102以用於執行。一旦應用程式112已經被公佈,常式200從操作212前進到操作214。
根據一個實現,應用程式虛擬化客戶端元件110可被配置成每次取消公佈應用程式112時儲存虛擬化應用程式112的狀態。例如,每次取消公佈應用程式112,應用程式虛擬化客戶端元件110可儲存記憶體、暫存器的內容,以及描述客戶端設備102的資源的狀態的資料。在此實現中,應用程式虛擬化客戶端元件110可被配置成每次重新公佈應用程式112時恢復虛擬化應用程式112先前保存的狀態。例如,在常式200的操作214,應用程式虛擬化客戶端元件110恢復虛擬化應用程式112先前保存的狀態。以此方式,可在重新公佈之後向客戶端設備102的使用者呈現與取消公佈應用程式112時處於相同狀態的虛擬化應用程式112。
從操作214,常式200行進至操作216,此處應用程式虛擬化客戶端元件110使虛擬化應用程式112被執行。如上文論述的,應用程式虛擬化客戶端元件110提供用於使虛擬化應用程式112的執行與作業系統108、其他應用程式,以及系統資源分開地被封裝的功能性。常式200從操作216行進至操作218。
在操作218,應用程式虛擬化客戶端元件110在虛擬化應用程式112的執行期間嘗試評價執行策略114。以此方式,即使在虛擬化應用程式112正在執行,應用程式虛擬化客戶端元件110亦能實施執行策略114所施加的限制。
從操作218,常式200行進至操作220,此處應用程式虛擬化客戶端元件110決定是否能夠評價執行策略114。例如,如上文論述的,若無所需資料或不能建立至伺服器104的連接,則應用程式虛擬化客戶端元件110可能不能評價執行策略114。
若能夠評價執行策略114,則常式200從操作220行進至操作222。在操作222,應用程式虛擬化客戶端元件110決定是否滿足執行策略114。若能夠滿足,則常式200從操作222行進至上文描述的操作216,在此處繼續虛擬化應用程式112的執行。若不滿足執行策略114,則常式200從操作222行進至操作224。另外,若應用程式虛擬化客戶端元件110不能評價執行策略114則常式200從操作220行進至操作224。
在操作224,應用程式虛擬化客戶端元件110儲存虛擬化應用程式112的狀態。如上文論述的,應用程式虛擬化客戶端元件110可儲存記憶體內容、暫存器內容,以及用於使虛擬化應用程式112在重新公佈後返回至其當前狀態所需的其他資訊。一旦已經儲存了虛擬化應用程式112的狀態,常式200行進至操作226。
在操作226,應用程式虛擬化客戶端元件110取消公佈虛擬化應用程式112。如上文簡短論述的,應用程式虛擬化客戶端元件110可經由使應用程式112不能供在客戶端設備102上執行之用來取消公佈虛擬化應用程式112。應用程式虛擬化客戶端元件110亦可從客戶端設備102上移除虛擬化應用程式112及其狀態。在下一次執行虛擬化應用程式112時可從伺服器104向客戶端設備102流傳送虛擬化應用程式112。
應用程式虛擬化客戶端元件110亦可在操作226儲存關於應用程式112的不允許存取、取消公佈應用程式112的條件,以及對客戶端設備102和伺服器104的管理員可能有說明的其他資訊的審核資料。常式200從操作226行進至上述操作202,在此處按照上述方式處理對應用程式112的另外請求。
圖3是示出用於能夠實現本文所提出的各種實施例的計算系統的說明性電腦硬體和軟體體系結構的電腦體系結構圖。圖3示出的電腦體系結構說明了傳統桌上型電腦、膝上電腦,或伺服器電腦,並可被用來執行此處描述的各種軟體元件。
圖3所示的電腦體系結構包括中央處理單元302(「CPU」)、包括隨機存取記憶體314(「RAM」)和唯讀記憶體(「ROM」)316的系統記憶體308,以及將記憶體耦合至CPU 302的系統匯流排304。包含諸如在啟動時有助於在電腦300內的元件之間傳輸資訊的基本常式的基本輸入/輸出系統(「BIOS」)被儲存在ROM 316中。電腦300亦包括用於儲存作業系統318、應用程式和其他程式模組的大型儲存設備310,大型儲存設備310將在以下更為詳細地描述。
大型儲存設備310經由連接至匯流排304的大型儲存控制器(未圖示)連接到CPU 302。大型儲存設備310及其相關聯的電腦可讀取儲存媒體為電腦300提供非揮發性的儲存。儘管對此處包含的電腦可讀取媒體的描述引用了諸如硬碟或CD-ROM驅動器等大型儲存設備,但本領域的技藝人士應當理解,電腦可讀取媒體可以是可由電腦300存取的任何可用電腦儲存媒體。
作為實例而非限制,電腦可讀取儲存媒體可包括以用於儲存諸如電腦可讀取指令、資料結構、程式模組或其他資料的資訊的任何方法或技術實現的揮發性和非揮發性、可移除和不可移除媒體。例如,電腦可讀取儲存媒體包括,但並不限於,RAM、ROM、EPROM、EEPROM、快閃記憶體或其他固態記憶體技術,CD-ROM、數位多功能光碟(「DVD」)、HD-DVD、藍光或其他光學儲存,磁帶盒、磁帶、磁碟儲存或其他磁性儲存裝置,或可以用來儲存所需資訊並可由電腦300存取的任何其他非瞬態媒體。
可以理解,此處的電腦可讀取媒體亦包括通訊媒體。通訊媒體通常以諸如載波或其他傳輸機制等已調制資料信號來體現電腦可讀取指令、資料結構、程式模組或其他資料,並包括任意資訊傳送媒體。術語「已調制資料信號」是指其一或多個特徵以在信號中編碼資訊的方式來設置或改變的信號。作為實例而非限制,通訊媒體包括諸如有線網路或直接線連接之類的有線媒體,以及諸如聲學、RF、紅外及其他無線媒體之類的無線媒體。上述中任一組合亦應包括在電腦可讀取媒體的範圍之內。電腦可讀取儲存媒體不包括通訊媒體。
根據各實施例,電腦300可以使用經由諸如網路320之類的網路到遠端電腦的邏輯連接來在聯網環境中操作。電腦300可以經由連接至匯流排304的網路介面單元306來連接到網路320。應當理解,網路介面單元306亦可以被用來連接到其他類型的網路和遠端電腦系統。電腦300亦可包括用於接收和處理來自多個其他設備的輸入的輸入/輸出控制器312,該等設備包括鍵盤、滑鼠或者電子觸控筆(未在圖3中示出)。類似地,輸入/輸出控制器可以提供至顯示螢幕、印表機或其他類型的輸出設備(亦未在圖3中示出)的輸出。
如前簡述的一般,多個程式模組和資料檔案可以儲存在電腦300的大型儲存設備310和RAM 314內,包括適於控制聯網的桌上型、膝上型或伺服器電腦的操作的作業系統318。大型儲存設備310和RAM 314亦可以儲存一或多個程式模組。具體而言,大型儲存設備310和RAM 314可儲存虛擬化應用程式112、應用程式虛擬化客戶端元件110、及/或上述的其他軟體元件。大型儲存設備310和RAM 314亦可儲存其他程式模組和資料,諸如執行策略114。
一般而言,軟體應用或模組在載入到CPU 302中並執行時,可將CPU 302和整個電腦300從通用計算系統轉換成被定制成執行此處所呈現功能的專用計算系統。CPU 302可以用任意數量的電晶體或其他個別的電路元件(其可以分別地或共同地呈現任意數量的狀態)構建。更具體地說,CPU 302可以回應軟體或模組內包含的可執行的指令,作為一或多個有限狀態機來操作。該等電腦可執行的指令可以經由指定CPU 302如何在多個狀態之間轉換來轉換CPU 302,從而在實體上轉換構成CPU 302的電晶體或其他個別的硬體元件。
經由將軟體或模組編碼到大型儲存設備上,亦可轉換大型儲存設備或相關聯的電腦可讀取儲存媒體的實體結構。在本說明書的不同實現中,實體結構的具體轉換可取決於各種因素。該等因素的實例包括但不限於:用來實現電腦可讀取儲存媒體、電腦可讀取儲存媒體是否被表徵為主儲存亦是次級儲存等技術。例如,若電腦可讀取的儲存媒體是作為基於半導體的記憶體實現的,則當軟體被編碼到其中時,軟體或模組可以轉換半導體記憶體的實體狀態。例如,軟體可以轉換構成半導體記憶體的電晶體、電容器或其他個別的電路元件的狀態。
作為另一個實例,電腦可讀取儲存媒體可以使用磁性或光學技術來實現。在此種實現方式中,當軟體被編碼到其中時,軟體或模組可以轉換磁性或光學媒體的實體狀態。該等轉換可以包括改變給定磁性媒體內的特定位置的磁性。該等轉換亦可以包括改變給定光學媒體內的特定位置的實體特徵或特性,以改變該等位置的光學特性。在沒有偏離本說明書的範圍和精神的情況下,實體媒體的其他轉換亦是可以的,前面提供的實例只是為了促進此論述。
基於前述內容,應當理解,在此已經提出了用於基於策略虛擬化應用程式的存取之技術。儘管以電腦結構特徵、方法動作,以及電腦可讀取媒體專用的語言描述了本文呈現的標的,但是應該理解,在所附申請專利範圍中所限定的本發明不一定僅限於本文描述的具體特徵、動作,或媒體。相反,該等具體特徵、動作和媒體是作為實現請求項的示例性形式來揭示的。
上述標的僅作為說明提供,並且不應被解釋為限制。可對此處述及之標的作出各種修改和改變,而不必遵循所示和述及之示例性實施例和應用,且不背離所附申請專利範圍中述及之本發明的真正精神和範圍。
100...操作環境
102...客戶端設備
104...伺服器
106...網路
108A...作業系統
108B...作業系統
110...應用程式虛擬化客戶端元件/應用程式虛擬化伺服器元件
112...虛擬化應用程式
114...執行策略
116...應用程式虛擬化伺服器元件
200...常式
202...操作
204...操作
206...操作
208...操作
210...操作
212...操作
214...操作
216...操作
218...操作
220...操作
222...操作
224...操作
226...操作
300...電腦
302...中央處理單元
306...網路介面單元
310...大型儲存設備
312...輸入/輸出控制器
314...隨機存取記憶體
316...唯讀記憶體
318...作業系統
320...網路
圖1是示出用於此處揭示的各個實施例的一個說明性操作環境的軟體和網路架構圖;
圖2A-2B是根據此處提供的一個實施例示出此處所揭示的用於基於策略虛擬化應用程式的存取之一個說明性處理的諸態樣的流程圖;及
圖3是示出用於能夠實現本文所提出的各種實施例的計算系統的說明性電腦硬體和軟體體系結構的電腦體系結構圖。
100...操作環境
102...客戶端設備
104...伺服器
106...網路
108A...作業系統
108B...作業系統
110...應用程式虛擬化客戶端元件/應用程式虛擬化伺服器元件
112...虛擬化應用程式
114...執行策略
116...應用程式虛擬化伺服器元件
Claims (24)
- 一種基於策略存取虛擬化應用程式的電腦實現方法,該方法包括用於執行以下步驟的電腦實現操作:接收在一設備上執行一虛擬化應用程式的一請求;回應於接收該請求,嘗試評價該虛擬化應用程式的一執行策略以決定是否可以在該設備上執行該虛擬化應用程式;決定是否能夠評價該執行策略;回應於決定不能評價該執行策略,而經由將該虛擬化應用程式從該設備移除以從該設備取消公佈該虛擬化應用程式;及回應於決定可以評價該執行策略及可以執行該虛擬化應用程式而公佈該虛擬化應用程式。
- 如請求項1之電腦實現方法,其中該執行策略規定只有在執行該虛擬化應用程式的該設備位於一指定地理位置時才可執行該虛擬化應用程式。
- 如請求項1之電腦實現方法,其中該執行策略規定只有在一指定時間段期間才可執行該虛擬化應用程式。
- 如請求項1之電腦實現方法,其中該執行策略規定該虛擬化應用程式僅可執行一指定的持續時間。
- 如請求項1之電腦實現方法,其中該執行策略規定只有在執行該虛擬化應用程式的該設備所用的計算資源不受限制時才可執行該虛擬化應用程式。
- 如請求項1之電腦實現方法,其中公佈該虛擬化應用程式之步驟包括以下步驟:決定該虛擬化應用程式是否安裝在該設備上;若該虛擬化應用程式安裝在該設備上則使該虛擬化應用程式可供執行;及若該虛擬化應用程式未安裝在該設備上則向該設備流傳送該虛擬化應用程式。
- 如請求項6之電腦實現方法,其中取消公佈該虛擬化應用程式之步驟包括以下步驟:使該虛擬化應用程式不可用於執行。
- 如請求項6之電腦實現方法,進一步包括以下步驟:在該虛擬化應用程式的執行期間評價該執行策略以決定是否可繼續執行該虛擬化應用程式;及回應於決定不可以繼續執行該虛擬化應用程式而取消公佈該虛擬化應用程式。
- 如請求項1之電腦實現方法,進一步包括以下步驟:決定一應用程式虛擬化伺服器元件是否可用來評價該執 行策略;回應於決定該應用程式虛擬化伺服器元件為可用的而在該應用程式虛擬化伺服器元件處評價該執行策略;及若該應用程式虛擬化伺服器元件為不可用來評價該執行策略,則在執行該虛擬化應用程式的該設備處評價該執行策略。
- 如請求項9之電腦實現方法,進一步包括以下步驟:儲存審核資料,該審核資料包含描述一或多個取消公佈該虛擬化應用程式之條件的資料。
- 如請求項1之電腦實現方法,其中取消公佈該虛擬化應用程式之步驟包括以下步驟:停止執行該虛擬化應用程式及儲存該虛擬化應用程式的一狀態。
- 如請求項11之電腦實現方法,進一步包括以下步驟:基於該執行策略來決定可執行該虛擬化應用程式;及回應於決定可執行該虛擬化應用程式,而藉由恢復該虛擬化應用程式的該狀態來重新公佈該虛擬化應用程式。
- 一種基於策略存取虛擬化應用程式的電腦可讀取儲存媒體,該電腦可讀取儲存媒體具有儲存於其上的電腦可執行指令,該等電腦可執行指令在由一電腦執行時使得該電腦執行以下動作: 接收執行一虛擬化應用程式的一請求;回應於接收該請求,嘗試評價該虛擬化應用程式的一執行策略以決定是否可以執行該虛擬化應用程式;決定是否能夠評價該執行策略;回應於決定不能評價該執行策略,而經由移除該虛擬化應用程式以取消公佈該虛擬化應用程式;及回應於決定可以評價該執行策略及可以執行該虛擬化應用程式而公佈該虛擬化應用程式。
- 如請求項13之電腦可讀取儲存媒體,其中具有儲存於其上之進一步的電腦可執行指令,該等電腦可執行指令在由該電腦執行時使得該電腦執行以下動作:在該虛擬化應用程式的執行期間評價該執行策略以決定是否可繼續執行該虛擬化應用程式;及回應於決定不可以繼續執行該虛擬化應用程式而取消公佈該虛擬化應用程式。
- 如請求項13之電腦可讀取儲存媒體,其中公佈該虛擬化應用程式之動作包括以下動作:決定該虛擬化應用程式是否安裝在一設備上;若該虛擬化應用程式安裝在該設備上則使該虛擬化應用程式可供執行;及若該虛擬化應用程式未安裝在該設備上則向該設備流傳送該虛擬化應用程式。
- 如請求項15之電腦可讀取儲存媒體,其中取消公佈該虛擬化應用程式之動作包括以下動作:使該虛擬化應用程式不可用於執行。
- 如請求項15之電腦可讀取儲存媒體,其中該執行策略規定只有在執行該虛擬化應用程式的該設備位於一指定地理位置時才可執行該虛擬化應用程式。
- 如請求項15之電腦可讀取儲存媒體,其中該執行策略規定只有在一指定時間段期間才可執行該虛擬化應用程式,或者規定該虛擬化應用程式僅可執行一指定的持續時間。
- 如請求項15之電腦可讀取儲存媒體,其中該執行策略規定只有在執行該虛擬化應用程式的該設備所用的計算資源不受限制時才可執行該虛擬化應用程式。
- 如請求項13之電腦可讀取儲存媒體,其中具有儲存於其上之進一步的指令,該等指令在由該電腦執行時使得該電腦執行以下動作:決定一應用程式虛擬化伺服器元件是否可用來評價該執行策略;回應於決定該應用程式虛擬化伺服器元件為可用的而在該應用程式虛擬化伺服器元件處評價該執行策略;及 若該應用程式虛擬化伺服器元件為不可用來評價該執行策略,則在執行該虛擬化應用程式的該設備處評價該執行策略。
- 如請求項20之電腦可讀取儲存媒體,其中具有儲存於其上之進一步的指令,該等指令在由該電腦執行時使得該電腦儲存審核資料,該審核資料包含描述一或多個取消公佈該虛擬化應用程式之條件的資料。
- 如請求項13之電腦可讀取儲存媒體,其中取消公佈該虛擬化應用程式之動作包括以下動作:停止執行該虛擬化應用程式及儲存該虛擬化應用程式的一狀態。
- 如請求項22之電腦可讀取儲存媒體,其中具有儲存於其上之進一步的指令,該等指令在由該電腦執行時使得該電腦執行以下動作:基於該執行策略來決定可執行該虛擬化應用程式;及回應於決定可執行該虛擬化應用程式,而藉由恢復該虛擬化應用程式的該狀態來重新公佈該虛擬化應用程式。
- 一種基於策略存取虛擬化應用程式的電腦可讀取儲存媒體,該電腦可讀取儲存媒體具有儲存於其上的電腦可執行指令,該等電腦可執行指令在由一電腦執行時使得該電腦執行以下動作:接收在一設備上執行一虛擬化應用程式 的一請求;回應於接收該請求,嘗試評價該虛擬化應用程式的一執行策略以決定是否可以在該設備上執行該虛擬化應用程式;決定是否能夠評價該執行策略;回應於決定不能評價該執行策略而經由將該虛擬化應用程式從該設備移除來從該設備取消公佈該虛擬化應用程式;及回應於決定能夠評價該執行策略及能夠執行該虛擬化應用程式而經由向該設備流傳送該虛擬化應用程式來公佈該虛擬化應用程式,且其中該執行策略規定只有在該設備位於一指定地理位置時才可執行該虛擬化應用程式。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/978,655 US8931037B2 (en) | 2010-12-27 | 2010-12-27 | Policy-based access to virtualized applications |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201229905A TW201229905A (en) | 2012-07-16 |
TWI566176B true TWI566176B (zh) | 2017-01-11 |
Family
ID=46318678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100142079A TWI566176B (zh) | 2010-12-27 | 2011-11-17 | 基於策略存取虛擬化應用程式的電腦實現方法及電腦可讀取儲存媒體 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8931037B2 (zh) |
EP (1) | EP2659422B1 (zh) |
JP (1) | JP5960164B2 (zh) |
CN (2) | CN107688485B (zh) |
TW (1) | TWI566176B (zh) |
WO (1) | WO2012092113A2 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140032733A1 (en) | 2011-10-11 | 2014-01-30 | Citrix Systems, Inc. | Policy-Based Application Management |
US20140053234A1 (en) * | 2011-10-11 | 2014-02-20 | Citrix Systems, Inc. | Policy-Based Application Management |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US9183380B2 (en) | 2011-10-11 | 2015-11-10 | Citrix Systems, Inc. | Secure execution of enterprise applications on mobile devices |
US9215225B2 (en) | 2013-03-29 | 2015-12-15 | Citrix Systems, Inc. | Mobile device locking with context |
EP2810445B1 (en) * | 2012-03-05 | 2017-08-02 | LG Electronics Inc. | Video display apparatus and operating method thereof |
US9053340B2 (en) | 2012-10-12 | 2015-06-09 | Citrix Systems, Inc. | Enterprise application store for an orchestration framework for connected devices |
US9516022B2 (en) | 2012-10-14 | 2016-12-06 | Getgo, Inc. | Automated meeting room |
US20140109176A1 (en) | 2012-10-15 | 2014-04-17 | Citrix Systems, Inc. | Configuring and providing profiles that manage execution of mobile applications |
US8910239B2 (en) | 2012-10-15 | 2014-12-09 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US20140108793A1 (en) | 2012-10-16 | 2014-04-17 | Citrix Systems, Inc. | Controlling mobile device access to secure data |
US9606774B2 (en) | 2012-10-16 | 2017-03-28 | Citrix Systems, Inc. | Wrapping an application with field-programmable business logic |
WO2014062804A1 (en) | 2012-10-16 | 2014-04-24 | Citrix Systems, Inc. | Application wrapping for application management framework |
US9413736B2 (en) | 2013-03-29 | 2016-08-09 | Citrix Systems, Inc. | Providing an enterprise application store |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US9355223B2 (en) | 2013-03-29 | 2016-05-31 | Citrix Systems, Inc. | Providing a managed browser |
US9985850B2 (en) | 2013-03-29 | 2018-05-29 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US8850049B1 (en) | 2013-03-29 | 2014-09-30 | Citrix Systems, Inc. | Providing mobile device management functionalities for a managed browser |
US9705801B2 (en) * | 2013-10-07 | 2017-07-11 | Facebook, Inc. | Systems and methods for mapping and routing based on clustering |
CN105227523B (zh) * | 2014-06-10 | 2021-09-28 | 中兴通讯股份有限公司 | 虚拟化应用提供、访问方法与装置及实现方法与系统 |
US10614211B2 (en) * | 2017-03-22 | 2020-04-07 | Ca, Inc. | Bringing a non-isolated application into an isolation layer with an isolated application |
US11048390B2 (en) * | 2018-06-25 | 2021-06-29 | MI Technical Solutions, Inc. | Auto-reformatting of home screen graphical user interface depicting only administrator-approved applications |
JP7309533B2 (ja) * | 2019-09-06 | 2023-07-18 | 株式会社日立製作所 | モデル改善支援システム |
US11853782B2 (en) * | 2020-12-09 | 2023-12-26 | Dell Products L.P. | Method and system for composing systems using resource sets |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200745951A (en) * | 2005-10-21 | 2007-12-16 | Vir2Us Inc | Computer security method having operating system virtualization allowing multiple operating system instances to securely share single machine resources |
US20080109871A1 (en) * | 2006-09-13 | 2008-05-08 | Richard Jacobs | Policy management |
US20090199178A1 (en) * | 2008-02-01 | 2009-08-06 | Microsoft Corporation | Virtual Application Management |
CN101611613A (zh) * | 2007-02-26 | 2009-12-23 | 索尼爱立信移动通讯有限公司 | 基于位置和公司服务等级约定来限制电子设备功能的使用 |
US20090328225A1 (en) * | 2007-05-16 | 2009-12-31 | Vmware, Inc. | System and Methods for Enforcing Software License Compliance with Virtual Machines |
US20100031311A1 (en) * | 2008-07-30 | 2010-02-04 | Samsung Electronics Co., Ltd. | Method of executing virtualized application able to run in virtualized environment |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154172A (en) | 1998-03-31 | 2000-11-28 | Piccionelli; Gregory A. | System and process for limiting distribution of information on a communication network based on geographic location |
US7017188B1 (en) | 1998-11-16 | 2006-03-21 | Softricity, Inc. | Method and apparatus for secure content delivery over broadband access networks |
US6763370B1 (en) | 1998-11-16 | 2004-07-13 | Softricity, Inc. | Method and apparatus for content protection in a secure content delivery system |
US7225264B2 (en) | 1998-11-16 | 2007-05-29 | Softricity, Inc. | Systems and methods for delivering content over a computer network |
US7730169B1 (en) | 1999-04-12 | 2010-06-01 | Softricity, Inc. | Business method and system for serving third party software applications |
US7370071B2 (en) | 2000-03-17 | 2008-05-06 | Microsoft Corporation | Method for serving third party software applications from servers to client computers |
US7200632B1 (en) | 1999-04-12 | 2007-04-03 | Softricity, Inc. | Method and system for serving software applications to client computers |
US6938096B1 (en) | 1999-04-12 | 2005-08-30 | Softricity, Inc. | Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port |
US6678824B1 (en) | 1999-11-02 | 2004-01-13 | Agere Systems Inc. | Application usage time limiter |
CA2316003C (en) * | 2000-08-14 | 2009-02-03 | Ibm Canada Limited-Ibm Canada Limitee | Accessing legacy applications from the internet |
US7028305B2 (en) | 2001-05-16 | 2006-04-11 | Softricity, Inc. | Operating system abstraction and protection layer |
US20030069692A1 (en) | 2001-10-10 | 2003-04-10 | Krasner Norman F. | Methods and apparatuses for controlling distribution of location information |
US7328259B2 (en) | 2002-11-08 | 2008-02-05 | Symantec Operating Corporation | Systems and methods for policy-based application management |
US20050080898A1 (en) | 2003-10-08 | 2005-04-14 | Block Jerald J. | System and method for managing computer usage |
US7590743B2 (en) | 2003-12-23 | 2009-09-15 | Softricity, Inc. | Method and system for associating a process on a multi-user device with a host address unique to a user session associated with the process |
JP4379223B2 (ja) * | 2004-06-18 | 2009-12-09 | 日本電気株式会社 | 動作モデル作成システム、動作モデル作成方法および動作モデル作成プログラム |
ES2681522T3 (es) | 2004-07-20 | 2018-09-13 | Microsoft Technology Licensing, Llc | Procedimiento y sistema para minimizar la pérdida en una aplicación informática |
EP1674961A1 (en) * | 2004-12-21 | 2006-06-28 | International Business Machines Corporation | Method for determining an applicable policy for an incoming message |
US8621549B2 (en) | 2005-12-29 | 2013-12-31 | Nextlabs, Inc. | Enforcing control policies in an information management system |
US9942271B2 (en) * | 2005-12-29 | 2018-04-10 | Nextlabs, Inc. | Information management system with two or more interactive enforcement points |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
JP2008131594A (ja) * | 2006-11-24 | 2008-06-05 | Nippon Telegr & Teleph Corp <Ntt> | アプリケーション制御システムおよび制御方法 |
US20080134348A1 (en) | 2006-12-05 | 2008-06-05 | Microsoft Corporation | Conditional policies in software licenses |
US7890135B2 (en) | 2007-03-09 | 2011-02-15 | Sony Ericsson Mobile Communication Ab | System and method for protecting data based on geographic presence of a restricted device |
US20080313639A1 (en) | 2007-06-13 | 2008-12-18 | Krishna Kumar | Policy based scheduling of software applications |
US20090199175A1 (en) | 2008-01-31 | 2009-08-06 | Microsoft Corporation | Dynamic Allocation of Virtual Application Server |
US8560694B2 (en) * | 2008-02-01 | 2013-10-15 | Microsoft Corporation | Virtual application server with version control |
US8078713B1 (en) * | 2008-03-05 | 2011-12-13 | Full Armor Corporation | Delivering policy settings with virtualized applications |
US9495538B2 (en) | 2008-09-25 | 2016-11-15 | Symantec Corporation | Graduated enforcement of restrictions according to an application's reputation |
US8893009B2 (en) * | 2009-01-28 | 2014-11-18 | Headwater Partners I Llc | End user device that secures an association of application to service policy with an application certificate check |
US8272031B2 (en) * | 2009-09-23 | 2012-09-18 | Avaya Inc. | Policy-based virtualization method involving adaptive enforcement |
US9552497B2 (en) * | 2009-11-10 | 2017-01-24 | Mcafee, Inc. | System and method for preventing data loss using virtual machine wrapped applications |
US8996649B2 (en) * | 2010-02-05 | 2015-03-31 | Qualcomm Incorporated | Utilizing policies for offload and flow mobility in wireless communications |
US20110208797A1 (en) * | 2010-02-22 | 2011-08-25 | Full Armor Corporation | Geolocation-Based Management of Virtual Applications |
-
2010
- 2010-12-27 US US12/978,655 patent/US8931037B2/en active Active
-
2011
- 2011-11-17 TW TW100142079A patent/TWI566176B/zh not_active IP Right Cessation
- 2011-12-22 WO PCT/US2011/066790 patent/WO2012092113A2/en active Application Filing
- 2011-12-22 JP JP2013547566A patent/JP5960164B2/ja active Active
- 2011-12-22 EP EP11853940.2A patent/EP2659422B1/en active Active
- 2011-12-26 CN CN201710942563.6A patent/CN107688485B/zh active Active
- 2011-12-26 CN CN2011104432000A patent/CN102591701A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200745951A (en) * | 2005-10-21 | 2007-12-16 | Vir2Us Inc | Computer security method having operating system virtualization allowing multiple operating system instances to securely share single machine resources |
US20080109871A1 (en) * | 2006-09-13 | 2008-05-08 | Richard Jacobs | Policy management |
CN101611613A (zh) * | 2007-02-26 | 2009-12-23 | 索尼爱立信移动通讯有限公司 | 基于位置和公司服务等级约定来限制电子设备功能的使用 |
US20090328225A1 (en) * | 2007-05-16 | 2009-12-31 | Vmware, Inc. | System and Methods for Enforcing Software License Compliance with Virtual Machines |
US20090199178A1 (en) * | 2008-02-01 | 2009-08-06 | Microsoft Corporation | Virtual Application Management |
US20100031311A1 (en) * | 2008-07-30 | 2010-02-04 | Samsung Electronics Co., Ltd. | Method of executing virtualized application able to run in virtualized environment |
Also Published As
Publication number | Publication date |
---|---|
CN107688485B (zh) | 2021-08-24 |
EP2659422B1 (en) | 2021-07-28 |
WO2012092113A3 (en) | 2012-10-04 |
EP2659422A2 (en) | 2013-11-06 |
US20120167159A1 (en) | 2012-06-28 |
US8931037B2 (en) | 2015-01-06 |
CN107688485A (zh) | 2018-02-13 |
CN102591701A (zh) | 2012-07-18 |
JP2014501419A (ja) | 2014-01-20 |
WO2012092113A2 (en) | 2012-07-05 |
JP5960164B2 (ja) | 2016-08-02 |
TW201229905A (en) | 2012-07-16 |
EP2659422A4 (en) | 2017-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI566176B (zh) | 基於策略存取虛擬化應用程式的電腦實現方法及電腦可讀取儲存媒體 | |
US10229283B2 (en) | Managing applications in non-cooperative environments | |
US9246941B1 (en) | Systems and methods for predicting the impact of security-policy changes on users | |
US9189619B2 (en) | Runtime based application security and regulatory compliance in cloud environment | |
US9959188B1 (en) | Managing processor usage of a physical host configured for hosting computing instances | |
US9886398B2 (en) | Implicit sharing in storage management | |
US9959426B2 (en) | Method and apparatus for specifying time-varying intelligent service-oriented model | |
US9912682B2 (en) | Aggregation of network traffic source behavior data across network-based endpoints | |
EP2972728B1 (en) | Tracking application usage in a computing environment | |
US11055444B2 (en) | Systems and methods for controlling access to a peripheral device | |
US9948714B2 (en) | Assigning a data item to a storage location in a computing environment | |
US20140101655A1 (en) | Enforcing Machine Deployment Zoning Rules in an Automatic Provisioning Environment | |
US20230014064A1 (en) | Decentralized reputation management in a named-function network | |
US11146537B1 (en) | Systems and methods for protecting geolocation information | |
US11640249B2 (en) | Access verification on portable mass storage devices | |
US11803634B2 (en) | Secure preconfigured profile for role-based access control setup | |
US20240022605A1 (en) | Lcs resource policy enforcement system | |
Ghosh | Decentralized Storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |