TWI473019B - 用於可部署物件階層內之應用程式管理的方法及系統 - Google Patents

用於可部署物件階層內之應用程式管理的方法及系統 Download PDF

Info

Publication number
TWI473019B
TWI473019B TW98105022A TW98105022A TWI473019B TW I473019 B TWI473019 B TW I473019B TW 98105022 A TW98105022 A TW 98105022A TW 98105022 A TW98105022 A TW 98105022A TW I473019 B TWI473019 B TW I473019B
Authority
TW
Taiwan
Prior art keywords
application
user
object hierarchy
computing environment
component
Prior art date
Application number
TW98105022A
Other languages
English (en)
Other versions
TW200941347A (en
Inventor
Ori Amiga
John Macintyre
Dharma Shukla
Junfeng Zhang
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 TW200941347A publication Critical patent/TW200941347A/zh
Application granted granted Critical
Publication of TWI473019B publication Critical patent/TWI473019B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

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 Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

用於可部署物件階層內之應用程式管理的方法及系統
本發明係關於可部署物件階層內之應用程式管理。
許多計算環境皆含有龐大且各式物件的集合,該等物件可由一組物件系統加以管理。例如,一計算環境可包含一組可由一檔案系統所管理的檔案集合、由一資料庫系統所管理的一或更多資料庫、一組代表應用程式且由一組合快取所管理的可執行二進位檔、一組由一作業系統之使用者設定檔組件所管理的使用者設定檔,以及各種由資料快取組件所管理的資料快取,像是一組由該作業系統之一拷貝緩衝器所管理的經拷貝項目、一組由該作業系統之一還原組件所管理的還原動作和一組由該作業系統之一項目使用追蹤組件所管理的「最近使用」項目。同時,此等物件可在由一或更多使用者所操作的複數個裝置之間,根據一或更多的操作(例如,將兩個物件集合加以合併的物件同步化操作以及調整一目標物件集合以符合於一來源物件集合的物件鏡映操作)進行交換。按此方式,該等物件係經由一組物件系統鬆散地組織並經聚集以表示該計算環境。
在傳統計算環境內的應用程式管理經常會牽涉到相當程度的使用者涉入。例如,一使用者可獨立地發現一所欲應用程式,並可獲得一安裝程式套裝,像是一可執行設定或一含有設定檔案的CD-ROM。然後該使用者可運用一安裝應用程式,其可協助將該應用程式部署於該計算環境中,像是藉由將檔案拷貝至特定位置處並建立登錄資訊。然在部署該應用程式之後,計算環境通常對於該應用程式提供微少的續行支援,有時僅含有一解安裝解安裝應用程式。一般的維護任務,像是執行、共享、同步化及更新作業,通常會是移交予該應用程式處理。此外,將應用程式部署於單一電腦系統或裝置上,很少能夠供以或協助將該應用程式部署在其他的電腦系統或裝置上,即使是由相同使用者分別在兩個以上此等平台上以一共同目的進行操作亦然。
本「發明內容」係提供以簡單介紹本發明之選擇概念,此將在後文「實施方式」段落中作進一步描述。本「發明內容」並非用以識別所主張之發明標的的各項關鍵因素或基本特性,亦非用以用於限制所主張之發明標的的範圍。
在一計算系統中按如一分離、鬆散聚集之物件系統集合的物件組織方式可能會產生許多問題。例如,可能會難以透過各種裝置對該使用者呈現一致性的計算環境,尤其是若該等裝置在功能性方面有所不同(例如一高效能個人工作站、一瀏覽器式公共終端機以及一低效能行動電話裝置)。在另一範例中,將像是同步化及備份之服務施用於該等物件,這可能會牽涉到介接於各個物件系統以影響由此所管理的物件,而此等介接在物件系統之間可能互異。在一第三範例中,可能會因無法完整地管理物件系統協同作業而難以關聯不同的物件集合(像是組成一應用程式的所有物件)。
一種用以表示組成該計算環境之多個物件的替代性技術是牽涉到以一物件階層來組織物件,而此階層可由一計算環境主機所主控。若該等物件係按均勻方式表示並由一物件系統按一致方式管理,則可構思一組服務以供施用於該計算環境的所有物件。此外,可將該物件階層遞送至各種裝置以表示相同的計算環境(包含相同的使用者設定檔、應用程式、資料檔案等等),同時各個裝置可按一致但基於該裝置之功能性所客訂的方式來呈現該計算環境(例如一硬式鍵盤介面,用以自一接附於一工作站的鍵盤裝置接收資料輸入,以及一觸控螢幕軟體鍵盤介面,用以自一行動電話裝置接收資料輸入)。
在一具備此一本質的物件階層中可進行應用程式管理任務。該計算環境主機可協助取得該應用程式、將該應用程式關聯於一裝置並且將該應用程式部署於該裝置上。將該應用程式表示為該可部署物件階層中之物件的一集合,可有助於進行共同應用程式管理任務。在一第一範例中,可將該應用程式隨即地部署(並且在許多情境下係自動地部署)於該物件階層中所表示的複數個電腦系統及裝置上。例如,可將該應用程式的一第一版本部署至一工作站;將該應用程式的一第二版本部署如一網路或具網路功能之應用程式以供運用於一公共終端機;而將該應用程式的一第三版本部署如一精簡功能性應用程式以供運用於一低功率行動電話裝置上。在一第二範例中,該計算環境主機可藉由據以調整該物件階層,並藉由對該所主控及該所部署版本的物件階層進行同步化以將該等調整項目部署至該等裝置,來協助更新該應用程式(例如具更新版本的應用程式資源修補,或者部署新內容以運用於該應用程式)。
此外,將該應用程式表示成該可部署物件階層中之物件的一集合,如此亦可提供新的特性。在一第一範例中,該計算環境可讓一使用者能夠藉由將該物件階層之一特定局部部署至一第二使用者的裝置、電腦系統或計算環境主機以與該第二使用者共享一應用程式,或一應用程式會期的一特點。例如,一第一使用者可選擇一組歌曲物件以透過一媒體播放器應用程式而在一第一電腦上播放,並且可選擇與一第二使用者共享該媒體播放器應用程式會期(例如藉由將該媒體播放器應用程式的音訊串流傳送至該第二使用者)。在一第二範例中,可按如該物件階層之一部分而跨於多個裝置及電腦系統對該應用程式的組態進行同步化。具有裝置獨立性的應用程式性質(例如,被加入至一拼字檢查字典的客訂字詞)可被自動地傳播至所有此等裝置及電腦系統,而同時可由該計算環境主機對個別裝置指定具有裝置特定性的應用程式性質。按此方式,該計算環境主機的應用程式管理服務即能在由一或更多使用者所操作之各種電腦系統和裝置上支援應用程式的發現、部署、使用與移除作業。
為達成前揭及相關目的,後文說明與隨附圖式列述部份的示範性特點和實作方式。然此等僅表示可部署一或更多特點之各種方式中的少數者。當併同於該等隨附圖式考量時,本揭示的其他特點、優點與新穎特性將隨可自後文詳細說明而顯見。
現將參照於各圖式以說明所主張之發明標的,其中全篇裡相同元件符號用以指示相同元件。為解釋之目的,在如後說明裡陳述出多項特定細節,藉此供以通徹地瞭解所主張之發明標的。然可顯見確可實作所主張之發明標的具體實施例而無須這些特定細節。在其他實例裡,眾知結構及裝置係顯示為區塊圖形式,藉此協助描述所主張之發明標的。
傳統的計算環境通常含有大量且各款各式的各種應用程式,其範圍涵蓋可自具簡單目的之小型工具,像是時鐘及計算機,到複雜且相互關聯的大型應用程式套裝軟體,像是軟體整合開發環境與生產力套裝軟體。應用程式亦可包含媒體,像是多媒體播放器和藉此所呈現的媒體物件(例如,由一閱讀器應用程式所呈現的一或更多電子書)、遊戲、桌面螢幕背景、用以管理各種類型之硬體的裝置驅動程式等等。應用程式的部署作業可為本地部署(例如透過可執行二進位檔及經部署至該使用者之裝置的資源)、遠端部署(例如運行於一遠端伺服器上並透過一網路瀏覽器以與一使用者進行通訊的網路應用程式),或者二種部署之組合(例如經本地安裝而運用遠端資源的應用程式,像是經組態設定以存取網路可存取電子郵件存檔的電子郵件客戶端)。一作業系統通常被提供來主控並且維護該等應用程式,同時讓使用者能夠經由一應用程式啟動器以及與其相關之資料物件的關聯性來存取該等應用程式。
第1圖說明一在一計算環境之中由一應用程式所展現的典型應用程式生命週期10。在一典型計算環境之中所執行的應用程式生命週期10可牽涉到眾多的操作,像是拷貝資料物件、寫入並讀取組態資訊,以及透過一電腦網路而對伺服器進行物件請求與接收。該應用程式生命週期10通常是開始於獲取12,其中該使用者選定該應用程式以令其在該計算環境中為可存取。該獲取12通常包含發現14,其中該使用者例如透過由該使用者所驅動之應用程式程式庫瀏覽,或一廣告建議,而獲悉該應用程式。該獲取12通常亦包含取得16,其中該使用者獲得該應用程式的資源並安排准允使用該應用程式。對於經本地安裝的應用程式而言,該取得16可牽涉到自一應用程式伺服器下載一安裝應用程式;而網路可存取應用程式則是牽涉到與該網路應用程式的供應商進行簽署,例如藉由建立一用於一網路郵件服務的使用者帳戶。該取得16亦可涉及到一交易(像是一金錢付款)以及授權(像是向一使用者呈現一末端使用者授權協議(end-user license agreement,EULA)並且請求接受其條款與條件)。有時可將該獲取12的一部分或全部予以省略,例如透過一使用者可獲用以作為一新計算環境之內定組件的經預先安裝應用程式。
在該獲取12之後或與其共時地,該應用程式生命週期10通常會牽涉到安裝18,其中該本地計算環境係經組態設定以供存取該程式。該安裝18有時牽涉到對映20,其中一特定裝置係經組態設定以使用該應用程式。該對映20可涉及到一使用者指定一特定裝置以供存取該軟體(例如選定一應用程式將部署於其上的一行動電話),及/或授權一裝置以使用該軟體(例如透過產品啟動作業)。該安裝18亦牽涉到該部署22,其中含有該應用程式的資源係經部署於一或更多個所對映裝置上(例如建立應用程式檔案夾、將應用程式二進位檔放置在該等檔案夾內、登錄程式碼程式庫,以及將組態資訊寫入至系統登錄項及組態檔案)。該部署22亦可牽涉到組態設定該計算環境以供存取該應用程式,像是藉由將該應用程式登錄一應用程式啟動器、將該應用程式關聯於與其相關的資料物件(例如將一媒體應用程式識別為針對某些類型之媒體物件的媒體播放器),及/或組態設定該計算環境以在當該系統啟始化時,或回應於特定事件,自發地啟動該應用程式。該部署22亦可牽涉到顯示文件化作業以利使用者運用該應用程式。在一些情境下,該安裝18可涉及到遠端資源的組態設定,像是將一裝置登錄於一網路伺服器,或是組態設定一網路伺服器以針對於該裝置而主控該應用程式。在其他情境下,可將該安裝18予以精簡或省略;例如一經本地部署之應用程式可含有一可執行二進位檔,其可在無須進行組態設定或安裝作業下運行,並且一網路應用程式可能無須涉及在一本地裝置上進行任何類型的安裝作業。
在該獲取12及該安裝18之後,該應用程式即已準備好由一或更多的使用者使用24。該使用24通常牽涉到該執行26,其可例如藉由啟動該應用程式或是啟用一與該應用程式相關聯的資料物件來開始。該執行26亦可包含取得額外內容,像是可由一媒體播放器呈現的新媒體物件。該使用24亦涉及到更新28,其含有對該應用程式的續行變化,像是修補,以提供新版本的應用程式或者對藉此所運用的資源進行維護(例如一防毒套裝,其可接收且併入資訊以刪除並解決新形式的惡意軟體)。有時,可由一應用程式伺服器在遠端資源上執行該更新28;例如一網路郵件供應商可頻繁地更新其後端軟體而無須牽涉到使用者或使用者裝置,且該使用者甚至無須知曉。
該應用程式生命週期10亦可牽涉到解安裝30,其中該應用程式係自一或更多裝置中移除。該解安裝30可包含該解對映32,其中一或更多裝置係經解授權於使用該應用程式。例如,一網路應用程式僅可在一些裝置上存取,並且一裝置可藉由將其自經儲存於該應用程式伺服器上的授權裝置列表之中移除來解對映。該解安裝30亦可含有該除役34,其中可自一或更多裝置移除一應用程式的資源。該除役34可由一使用者所請求,或者可為自發性地調用(例如一應用程式可對該使用者僅授證一有限時段,並且該計算環境可經組態設定以在當該授權效期逾期時自動地將該應用程式除役)。
該應用程式生命週期雖既經廣泛地運用於大量各款應用程式,然許多的傳統計算環境係經組態設定而使得該應用程式生命週期展現出多項缺點。如一範例中,傳統的計算環境在進行此一應用程式生命週期過程中可能會引生大量的使用者參與。在該獲取12過程中,一計算環境對於發現或取得應用程式可能提供極少支援或者不提供任何支援,同時一使用者可能需承擔經由搜尋(例如網路搜尋)以尋找有用應用程式以及下載應用程式安裝套裝的任務。該獲取12亦可牽涉到使用者接受一授權,然此點有時可略除(例如一使用者可預先授權在一特定定型末端使用者授權協議之下所提供的任何應用程式)。現代的計算環境對於該對映20通常提供極少支援或不提供任何支援,並且使用者必須配置一應用程式個別佈署在一組裝置陣列上。許多傳統計算環境可對該部署22提供某些支援,像是自動化安裝程式工具。然而,此等安裝程式工具可能仍會分配原本可另予避免的大量互動任務給使用者,像是當在一網路應用程式中建立一使用者帳戶時輸入使用者資訊(姓名、電子郵件地址等等)、提供信用卡資訊以購買一授權,以及輸入一經納入在像是一安裝CD之實體媒體中的序列鍵號。傳統的計算環境亦可能提供對於該更新28的不適當支援,這經常是分配給應用程式,或甚至分配給使用者所啟動的發現作業、下載處理及軟體修補之應用程式。最後,該解對映32及該除役34可由該安裝應用程式所促成,然可能受限於逐一裝置管理;例如該使用者可能必須在各個裝置上啟動解安裝作業,且在所有此等裝置之中的集中管理部署作業可能難以進行。
在經常是延展跨於一組裝置陣列的現代計算環境應用情境下,這些缺點可能加劇,並且可能會引生出其他缺點。一計算環境的使用者可能是協同地管理並運用一工作站、一可攜式電腦系統,像是筆記型或平板型電腦、一遊戲主控台、一行動電話及一媒體播放器。此外,該使用者可能希望存取一公共工作站上的所有或部份計算環境,或是對其他使用者准允存取所有或部份的計算環境(例如准允一訪客運用該計算環境或存取其內所管理的資料物件)。即使在一計算環境情境下使用者可操作之裝置的持續增生,然傳統作業系統提供對於在此等裝置之間一致地呈現一計算環境,以及對於協助散佈、存取和藉此所進行的資料物件同步化,僅能提供微少支援。就應用程式而言,此一有限支援會特別地顯著。一般說來,使用者經常會在各個裝置上以手動方式執行該應用程式生命週期10的多項特點,而與其它裝置之組態無關。例如一使用者可能會根據該使用者的偏好以組態設定一特定應用程式,然組態設定各個其上依類似方式安裝該應用程式的裝置,經常會牽涉到對各個應用程式部署進行手動組態設定。此外,以一協同作業方式使用多個裝置可能產生新的問題;例如一使用者可能在一第一裝置上擁有一組對於一人士的聯絡資訊,然此與一組在一第二裝置上對於該同一人士的聯絡資訊並不一致,而且可能無法確定哪一組聯絡資訊較為新近。
近來既已嘗試開發出用於依一致、可部署且可延展之方式在一組裝置陣列間存取一計算環境的技術。這些技術亦尋求在該等協同作業裝置之間提供一組共同應用程式,以及用以在此等裝置之間管理應用程式取得、安裝、使用及解安裝作業的集中式服務。該組應用程式集合在各式裝置之間並不必然地等同;例如一工作站可含有高效能應用程式(例如相片編輯軟體及具有圖形密集性的遊戲),這在一行動電話裝置上可能無法良好運行,同時該行動電話裝置可能含有可攜性應用程式(例如,一GPS式圖映軟體),然這與一非可攜式工作站並無關聯。然而,許多應用程式以及與其相關的資料物件可能在該等裝置之間共享(例如一行事曆應用程式,其係經組態設定以管理一使用者行事曆物件),並且該計算環境可經調適以供在此等裝置之間進行應用程式及資料物件的散佈和同步化。該應用程式亦可針對此等裝置之各者進行調適;例如第一版本或組態的應用程式可針對於高效能裝置(像是一工作站),而第二版本或組態的應用程式則針對於具備有限螢幕大小及輸入功能性的低效能裝置。不過,該相同應用程式之應用程式組態的其他局部(例如像是視覺風格的使用者偏好)則可在該等裝置之間共享,同時可促成該使用者在該等各式裝置間對於該計算環境之體驗的一致性。
因而能夠瞭解可依能夠在一組裝置之間部署該計算環境(包含該應用程式集合在內)的方式來有利地表示一電腦系統。在此一技術中,該計算環境-包含一組應用程式、應用程式資源以及藉此所使用的資料物件-係按一可予遞送至裝置以供根據該裝置之功能性進行呈現的方式來表示。該表示包含一組物件,其係根據一物件階層來組織並且按照一共同文法來表示。該等物件含有該電腦系統的資料物件,像是使用者檔案以及由該使用者所建立的資料。該等物件亦包含含有該作業系統組件的可執行二進位檔和類別程式庫(像是系統殼),以及其中所提供的應用程式。該等物件亦含有用以指定一計算環境的使用者介面的資訊,包含系統殼偏好(例如視覺主題、應用程式啟動選單和雙按門檻值)、使用者帳戶及特權、安全資訊(例如密碼、安全權號和證照)、應用程式二進位檔及組態資訊、使用者資料及超資料(例如檔案共享資訊),以及資料快取(例如最新近使用的檔案列表與瀏覽器歷史)。即便是這些物件具有各種本質及用途,該等物件在該物件階層中仍依一共同方式來表示,並且可在該階層中予以任意地組織。因此,不同於傳統的電腦系統,其中含有一組經隔離的資料儲存,而各者含有一類型的物件(例如一含有檔案的檔案系統、一含有組態資訊的登錄項及一含有該瀏覽器歷史的資料快取),依此一方式之物件階層仍能在該物件階層裡按一共同方式組織所有的此等物件。
一按此一方式所表示的計算環境可遞送至任何裝置,並以一適合於該裝置之功能性的方式加以呈現。例如,一工作站可將該資訊呈現如一穩健且具一般目的性的計算環境,而同時一公共工作站可透過一網路瀏覽器以呈現不同的計算環境體驗(如一可在該使用者之會期結束時予以拋除的虛擬機器),並且一行動電話可提供一較精簡介面而能較快速地存取與行動電話相關的資訊(例如聯絡人、行事曆及導航資料)。此外,可將對於資訊集合的更新(例如偏好變化以及對其內所含之資料檔案的更新)施用於該資訊集合的正規來源,並藉此傳播至需對其遞送該資訊集合的所有其他裝置。同時,可經由該共享資訊集合以整合共享該計算環境的裝置,使得一裝置可與在該資訊集合所經識別的其他裝置進行互動;例如經儲存在一第一裝置上的資料可由一第二裝置存取,並且一第一裝置可透過一通訊導管而由一第二裝置加以控制。因此,該資訊集合可識別共享該計算環境之裝置集組,且連帶各個裝置的角色、功能性以及資源,藉以跨於潛在地眾多數量與類型的裝置間提供一種整合式計算體驗。
第2圖說明一此等情境40,其中該計算環境可為由一計算環境主機42所主控,此主機可儲存並管理一物件階層44。該計算環境主機42亦可代表各種裝置(像是一行動電話裝置46、一個人筆記型電腦50及一公共工作站54)及代表不同類型而擁有不同存取特權的的使用者,來依不同方式呈現該物件階層44。因此,該計算環境的呈現可反映出跨於所有顯露出相同應用程式、使用者設定檔、系統殼組態、使用者資料物件等等之裝置為一致的計算環境。因此,一使用者可透過一高效能筆記型電腦以存取該計算環境的一完全特性版本52,可在一低功率行動電話裝置46上存取該計算環境的一精簡版本48,並且可經由一公共終端機54之網路瀏覽器56以存取該應用程式的一瀏覽器相容且隱私導向版本58。就以此等裝置各者支援呈現該計算環境的功能性而言,可因針對各個裝置的功能性加以調整並呈現該物件階層44之故,而呈現出一致性的使用者介面與資料集合。對該計算環境的更新可被傳播返回至該計算環境主機42,並且可與其他裝置自動地同步化。各種裝置亦可藉由與其他裝置共享經本地儲存的資料,並且藉由控制或受控於其他裝置,以進行協同作業。因此,該計算環境可經構思且呈現如一雲集計算架構,其中含有一與裝置無關的表示(一「雲集」),此表示係以跨於所有構成該相同計算環境之協同作業入口(具有裝置特定性質)的網路之裝置(「客戶端」)為一致的方式來呈現。特別是針對於該計算環境的應用程式,該物件階層44可含有該應用程式集合、該等應用程式資源以及藉此所建立之資料物件的表示。此外,該計算環境主機42可對組成該物件階層44的各式物件施行服務,同時將該等物件以共同格式儲存於該物件階層之內,藉此可促進一致的可獲用性和服務施行,而無論該等所受施行之物件的本質如何皆然。
為促成這些目標,一物件階層方案可經構思用以依一特定方式組織該物件階層的物件。例如,物件可經構思且結構化以表示由該計算環境所引生的資料物件(像是檔案)、使用者和使用者帳戶、裝置及事件,以及其間的偏差、擁有權與相互關係。組織該等物件的方式可引生出特定優點,及/或減少對於其他的物件組織的缺點。因此,可據以組織該等物件之物件階層方案係鑑於此等物件與該計算環境的運用所設計。例如,可藉由將個別物件關聯於一或更多具有各種准允集合的使用者帳戶,以將安全准允予以模型化(例如一第一使用者帳戶擁有對一物件的讀/寫准允,一第二使用者帳戶擁有對該物件的唯讀准允,而一第三使用者帳戶對該物件則並無准允)。該計算環境可經組態設定以根據一物件階層方案之結構及語意來運用該物件階層的物件,藉此能夠以一適於各個裝置之組態及功能性然可在所有該等裝置間保持一致的方式,跨於複數個裝置上表示一可部署計算環境。
在一具有此一本質的物件階層中,可按與各個應用程式之應用程式生命週期一致的方式來管理一組應用程式。例如,該計算環境主機42可協助進行該應用程式的取得、該應用程式與一或更多裝置的關聯性,以及該應用程式在各個裝置上的部署。將該應用程式表示成一該物件階層44中之物件的集合,可有助於進行共同應用程式管理任務。在一第一範例中,可將該應用程式隨即地部署(並且在許多情境下係自動地部署)於該物件階層44中所表示的複數個電腦系統及裝置上。例如,可將該應用程式的一第一版本部署至一個人筆記型電腦50;將該應用程式的一第二版本部署如一網路或具網路功能之應用程式以供運用於一公共工作站54;並且可將該應用程式的一第三版本部署如一精簡功能性應用程式以供運用於一低功率行動電話裝置46上。在一第二範例中,該計算環境主機42可藉由據以調整該物件階層44,並藉由對該經主控及該所部署版本的物件階層44進行同步化以將該等調整項目部署至該等裝置,來協助更新一應用程式(例如具更新版本的應用程式資源修補,或者部署新內容以運用於該應用程式)。
將一應用程式表示成一可部署物件階層44中之物件的集合,如此亦可提供新的特性。在一第一範例中,該計算環境可讓一使用者能夠藉由將該物件階層44之一特定局部部署至一第二使用者的裝置、電腦系統或計算環境主機42以與該第二使用者共享一應用程式,或一應用程式會期的一特點。例如,一第一使用者可選擇一組歌曲物件以透過一媒體播放器應用程式而在一第一電腦上播放,並且可選擇與一第二使用者共享該媒體播放器應用程式會期(例如藉由將該媒體播放器應用程式的音訊串流傳送至該第二使用者)。在一第二範例中,可按如該物件階層之一部分而跨於多個裝置及電腦系統對該應用程式的組態進行同步化。具有裝置獨立性的應用程式性質(例如,被加入至一拼字檢查字典的客訂字詞)可被自動地傳播至所有此等裝置及電腦系統,而同時可由該計算環境主機42對個別裝置指定具有裝置特定性的應用程式性質。按此方式,該計算環境主機42的應用程式管理服務即能在由一或更多使用者所操作之各種電腦系統和裝置上支援應用程式的發現、部署、使用與移除作業。該等任務的許多局部可藉由調整該物件階層44並且對其內所表示之各種裝置的部署作業予以同步化來執行,而此一自動化處理程序確可在該計算環境之一致性與整體使用者體驗方面提供顯著的改善結果。
第3圖說明該等技術之一具體實施例,如一範例方法60,該方法管理將經儲存在一應用程式儲存內之一應用程式佈署在一表示一裝置上之計算環境的物件階層之部署作業。現參照第3圖,可運用此一示範性方法60,以藉由在一(至少部份地)散佈至多個裝置的可部署物件階層44中表示該應用程式,來在該等一或更多裝置上(像是一行動電話裝置40、一筆記型電腦50及一公共工作站54)安裝並管理一應用程式。該示範性方法60開始於62處,並且牽涉到接收64一將該應用程式部署至該裝置的請求。該請求可為由該計算環境的一使用者所產生,此人希望安裝該應用程式;或由一程式所產生,此程式係於一裝置上之計算環境的表示中運行;或由一程式所產生,此程式係經組態設定以產生一具有至少一預先安裝應用程式的新計算環境等等。該示範性方法60亦牽涉到自該應用程式儲存取得66該應用程式。若該應用程式係一網路應用程式,則該取得66可僅牽涉到(例如)辨識該應用程式在一所提供URL處的可獲用性。該示範性方法60亦牽涉到將在該物件階層中所表示的裝置對映68至該應用程式。該對映68可牽涉到將該物件階層內之裝置的表示關聯於在該物件階層內之應用程式的表示、針對該裝置對該應用程式在該物件階層內建立一組組態資訊等等。
第3圖的示範性方法60亦牽涉到在該物件階層中部署70該應用程式。該部署70可牽涉到在該物件階層中建立該應用程式的一表示、在該物件階層的應用程式表示中表示一或更多可執行二進位檔、針對該裝置以進一步組態設定該應用程式等等。對於網路應用程式而言,該部署70可包含(例如)在一與該裝置相關聯之應用程式啟動器表示中插入一連至該網站的鏈結,及/或在該裝置上建立一或更多網路餅乾(cookies)以促進該應用程式在會期之間的持續性。該示範性方法60亦牽涉到將該物件階層的至少一局部傳送72至該裝置。例如,一像是一筆記型電腦50之高效能電腦系統可接收一完全版本的物件階層,而一相對較低功率的行動電話裝置46可僅接收該物件階層之中與該行動電話裝置46相關的局部,包含與該行動電話裝置46相容之新應用程式的部署。在既已組態設定該物件階層以將該應用程式關聯於該裝置並且既已將該物件階層部署於該裝置之後,該示範性方法60因此能夠管理針對於該裝置的應用程式部署作業,從而於74處結束。
第4圖呈現該等技術之一第二具體實施例,其係經具體實作如一示範性系統86,該系統可用以管理將經儲存於一應用程式儲存84內之應用程式部署至一表示至少一裝置上之計算環境的物件階層82之部署作業。此情境80牽涉到三個可部署應用程式:一計算機應用程式、一行事曆應用程式及一媒體播放器應用程式。可使得在三個裝置上所表示的計算環境中獲用這些應用程式:一行動電話裝置、一筆記型電腦裝置及一公共工作站。在此一情境80中,該等應用程式是由一表示至少一應用程式的應用程式儲存86所主控。可將這些應用程式部署於該計算環境內並在該等裝置上,而可藉由重新組態設定該物件階層82以在該等裝置上呈現該計算環境。
在此一情境80中,該應用程式管理系統86可運作以在該物件階層中部署一或更多應用程式。該示範性系統86包含一應用程式取得組件88,其係經組態設定以接收一安裝一應用程式的請求,並且自該應用程式儲存84取得該應用程式。該應用程式取得組件88亦可決定該請求是否滿足任何先決條件(例如該應用程式是否能夠在該所請求裝置上運行;該使用者是否基於該使用者的各種安全特權及授權課題等等而獲准允許安裝並運行該應用程式,等等)。第4圖的示範性系統86亦包含一應用程式對映組件90,其係經組態設定以將該物件階層82中所表示的至少一裝置對映至至少一經安裝應用程式。例如,若該計算機應用程式既經包含在該物件階層82內,則該應用程式對映組件90可在該物件階層82內於該計算機應用程式與應在其上提供該應用程式的一或更多裝置之間建立一關聯性。若該計算機應用程式並未經包含在該物件階層82之內,則該示範性系統86亦可例如藉由將可執行二進位檔的表示或連至一網路應用程式網站的鏈結拷貝到該物件階層82中,以在執行該對映之前於該物件階層82內建立該計算機應用程式的表示。該示範性系統86亦包含一應用程式部署組件92,其係經組態設定以在該物件階層82內部署該至少一經安裝應用程式。該部署可牽涉到例如對於該經新近對映之裝置在該物件階層內建立具裝置特定組態資訊;將該經新近對映裝置關聯於與裝置無關的組態資訊;將該應用程式插入於一應用程式啟動器中以供在一或更多裝置上呈現,等等。既已將該物件階層82內之裝置的表示關聯於由該裝置所呈現之計算環境中所表示的應用程式集合之表示,該示範性系統86即可藉此對表示該計算環境之物件階層中的經部署應用程式進行管理。
本揭所述技術在許多特點方面可經變化後進行實作,並且部份變化相對於該等和其他技術的其他變化而而可呈現出額外優點及/或減少缺點。這些變化可納入在各種具體實施例之內,像是第3圖的示範性方法60和第4圖的示範性系統86,同時可與其他此等變化相容,藉以呈現多項此等額外優點及/或減少缺點。因此,熟諳本項技藝之人士可根據本揭所述技術而構思該等具體實施例。
一可在該等技術之實作間有所變化的第一特點是有關為提供該應用程式管理服務所需透過之應用程式管理伺服器的架構。如第4圖所示,該應用程式管理系統84可與一具有各種應用程式的應用程式儲存82進行互動,可請求並接收一經儲存於其內的應用程式,並且可將該應用程式部署至該物件階層82。在此情境80中,該應用程式管理系統84係經實作為一在一或更多應用程式儲存與該計算環境主機86之間的獨立式介面。然而,其他的架構與系統組成亦可適用於實作此等技術。
第5圖說明一第二示範性架構100,其中該應用程式管理服務86亦作為該應用程式儲存84,並因此含有各種可供部署至該物件階層82的應用程式,像是一計算機應用程式102及一行事曆應用程式104。此具體實施例可呈現一優點,即該應用程式取得服務與可供部署之應用程式二者間具有較緊密整合性。
第6圖說明一第三示範性架構110,其中該計算環境主機42併入該應用程式管理服務86。因此,該計算環境主機42可同時儲存該物件階層82以及該應用程式管理服務86之多項服務兩者,像是該應用程式取得組件88、該應用程式對映組件90及該應用程式部署組件92。在此第三示範性架構110中,可自一裝置直接地接收該應用程式112,像是在該裝置上所呈現之計算環境內透過一由該使用者發出的請求。該計算環境主機42可接收此請求並經由該應用程式管理服務86的組件加以處理,而這可對儲存在該計算環境主機42內的物件階層82進行更新。然後,可將該經更新物件階層82同步化於該裝置,藉以完成將該應用程式部署至該裝置的部署作業。當實作本揭技術時,可由熟諳本項技藝之人士構思該等和其他的系統組成。
可在這些技術之實作間變化的第二特點是有關在該應用程式管理之基本組件方面的變化,包含取得、對映與部署。針對此一特點的第一變化,應用程式取得通常是涉及接收一請求以部署該應用程式,並且針對一特定裝置取得待予部署至該物件階層的應用程式。然而,該取得亦可包含透過該裝置向一使用者呈現一應用程式授權,像是顯示一對於該應用程式之末端使用者授權協議的條款及條件。該取得亦可包含請求該使用者接受該應用程式授權而作為一部署作業的先決條件;並且當接受到該應用程式授權時,該取得可包含記錄此一應用程式授權接受結果,例如藉由對一應用程式授權伺服器進行通知。此接受可經接收作為來自該使用者的確認結果,或是作為一自動化接受結果,例如在該使用者既已在一特定應用程式授權之下預先授權接受任何應用程式的情況(例如依一特定版本之「GNU公共授權」所提供的任何應用程式)。該取得亦可包含與該至少一裝置之一使用者仲介一取得交易,像是依電子商務方式購買一對於該應用程式的授權。該取得亦可包含產生一代表該應用程式之一使用者的使用者帳戶,這對於供以存取至一像是一網路電子郵件應用程式的網路應用程式可為特別有利,該程式係經完全地主控於一網路電子郵件伺服器上,同時在該計算環境中係透過一瀏覽器所提供。
在此第二特點的第二變化中,一應用程式的對映通常會牽涉到將該應用程式關聯於該物件階層中所表示的一或更多裝置。然而,該對映亦可包含對一裝置特定條件的審核,像是是否可獲用一與該裝置相容之版本的應用程式,以及在該裝置上是否既已可獲用該應用程式或其一變化(如一稍早版本)。該對映亦可牽涉到取得額外資源,藉此促進將該應用程式對映至一新裝置,像是可與該裝置相容之一新版本的應用程式二進位檔,或是為該應用程式所依賴而可予部署至該裝置的額外組件(例如,一可自另一伺服器擷取的支援性執行時間)。該對映亦可牽涉到透過一應用程式啟動伺服器啟動該應用程式,此伺服器可授權以在一特定裝置上執行該應用程式,例如藉由提供一經認證之授權,而當啟動時可由該裝置上的應用程式加以驗證。
在此第二特點的第三變化中,一應用程式的部署通常牽涉到在該物件階層內部署該應用程式,像是藉由將該應用程式之組件的表示插入在該物件階層內。即使是經一般組織的應用程式亦可按多種方式結構化。一小型公用程式可含有一單一可執行二進位檔,其可為整體地或部份地編譯,或可被納入作為來源程式碼而在各個裝置上按本地方式編譯。此可執行二進位檔可表示為例如來源程式碼模組、一剖析樹,代表一經部份編譯之二進位檔或一經整體編譯之二進位檔的中介語言指令等等。而一較大型公用程式則可能含有一組資源,像是一或更多的可執行二進位檔;經共享之組裝,其可登錄於一整體組合快取中;應用程式資源,像是圖像、聲音物件、圖片、文件和視訊;求助檔案;資料資源,其係儲存在一或更多像是一關聯式資料庫的結構化資料儲存中;輔助應用程式資源,像是一在一文書處理應用程式中用於拼字檢查工具的語言字典檔案;一應用程式列表,這可作為一其內所指定之資源的索引,等等。此外,一應用程式可含有一可執行二進位檔的多個版本,各版本可針對於一特定平台;例如,一應用程式可含有一完全特性版本,藉以運用於一功能較強大的裝置上(像是一筆記型電腦50),以及一精簡功能性版本藉以運用於一低功率行動電話裝置46。該應用程式亦可含有多組組態資訊,各者係針對於一特定平台。該應用程式可呈現如一獨立式安裝程式套裝;或如一可安裝存檔而可由一以裝置為基礎的安裝程式加以部署;或如一組一或更多資源而可在任何位置處加以運用,等等。
該物件階層亦可含有具有較低傳統結構性的應用程式。例如,一遊戲應用程式可能含有數量龐大的圖形資源,像是點陣式紋理及網路,以供建構複雜的三維環境及其內所表示的物件。具網路功能的應用程式可含有一組網頁,這些可含有線內程式碼的局部或可參照於外部程式碼資源,像是納入於來源程式碼內或為經編譯形式的Java物件。此一應用程式亦可僅表示成一對能夠獲用此等資源之一網站的參照。一具網路功能之應用程式亦可透過一標記語言(像是「可延伸應用程式標記語言(XAML)」)來結構化,其可經編譯或依解譯方式在一裝置上如一應用程式或一網路瀏覽器之內所主控的小程式來執行。最後,一網路應用程式可僅表示成一或更多URL,此等係參照於一或更多其上部署有該應用程式之局部或全部的網站,而可在該裝置上透過一網路瀏覽器存取該應用程式;另外或此外,可納入像是網路餅乾(cookies)的一些資源以供進行裝置部署,網路餅乾可按本地方式儲存,藉以在多個會期之間續保一網路應用程式的狀態。
由於組成一應用程式的資源可為分散,因此該物件階層內的應用程式部署可為類似地穩健。例如,文字資源可被納入作為純文字,或者可藉一般或特殊壓縮公用程式進行壓縮。二進位檔資源可呈現如序列化二進位碼、可藉一二進位檔壓縮公用程式進行壓縮、可予轉碼(例如透過Uuencode或MIME)等等。經階層式組織的物件可依據一像是XML之階層格式來結構化,或者可經序列化如一單一階層式物件。大型物件可被納入以作為一原子單元、經壓縮、經轉碼(例如一電影檔案可按一較低位元速率所重新編碼以節省空間)、經節段化而成為多個局部,以在時間上(或依一「特定」基礎)予以個別地傳送至一裝置,等等。資源可被納入在該物件階層內,或者可被插入作為對一主控該資源(其視需要可加以存取)之伺服器的參照。眾多物件的大型集合可經納入以作為一存檔(例如一含有數千個物件的經壓縮檔案)。網路式應用程式可表示成其中可獲用該應用程式之組件的一或更多URL;另外或此外,可捕捉該網路應用程式的一快照並予納入在該物件階層內,藉以提供該應用程式的一經快取版本或可供以離線存取該應用程式。當實作本揭技術時,熟諳本項技藝之人士可構思多項技術以在一物件階層內表示一應用程式。
除在該物件階層中表示該應用程式以外,該部署亦可包含針對該裝置及/或針對該使用者,組態設定該應用程式。例如,可對於該裝置配製一組新的組態資訊,或是指定一組態集合程式庫中的一組適當組態資訊以由該裝置使用。第7圖說明此一情境120,其中該物件階層82含有一行事曆應用程式的表示,該應用程式含有兩個可執行二進位檔(一為經編譯之可執行檔,此係用於本地的原生執行作業,而一為客戶端側瀏覽器腳本,此係用於經由一標準網路瀏覽器之較緩慢然較標準化的存取),以及兩個組態集合(一為具完全功能性而用於高效能裝置的組態集合,一為用於低功率行動裝置的可攜式組態集合)。該物件階層82亦含有一組態集合,其中含有運用於任何裝置的裝置獨立性設定值,像是由該使用者選定的所偏好顏色方案。該物件階層82亦含有兩個裝置之表示,該等裝置上可呈現該計算環境:一低功率行動電話裝置46以及一高效能筆記型電腦50。
當在該物件階層82內對於該等裝置部署該應用程式時,該應用程式部署組件92可針對在各裝置上的特定用途以組態設定該應用程式。例如,該行事曆應用程式可藉由將其關聯於該客戶端側瀏覽器腳本可執行二進位檔(此二進位檔可在該行動電話裝置46的一網路瀏覽器應用程式內運行),並且將其關聯於低功率裝置的可攜式組態集合,以部署於該行動電話裝置46。類似地,該行事曆應用程式可藉由將其關聯於該經編譯之可執行二進位檔,並且關聯於可提供該筆記型電腦50能夠呈現之計算密集特性的完全功能性組態集合,以部署於該筆記型電腦50。然而,兩者服務皆可併入該裝置獨立性組態設定集合以呈現一致的裝置獨立特性集合,藉此在該計算網路的所有此等裝置間促成一致的計算環境。當實作本揭技術時,熟諳本項技藝之人士在該物件階層82中的應用程式取得、對映及部署方面能夠構思額外變化。
一可在這些技術之實作中改變的第三特點是有關可被加入於此等具體實施例之基本組件的額外特性。除基本的管理服務(取得、對映及部署)以外,可對應用程式管理提供額外服務,這有助於該使用者及該電腦系統管理該應用程式生命週期。
在此第三特點的第一變化中,該應用程式管理服務亦可作為該計算環境主機,像是在第6圖的第三示範性架構110中。在此第一變化裡,該應用程式管理服務亦包含一物件階層儲存,其係經組態設定以儲存該物件階層,以及包含一物件階層傳送組件,其係經組態設定以將該物件階層的至少一局部傳送至該等裝置(例如,藉由將經更新之物件階層同步化於經儲存在各裝置上的物件階層)。將該物件階層之中含有該經部署應用程式的局部傳送至該裝置,可達成將該應用程式安裝且部署至該裝置之目的。
在此第三特點的第二變化中,該應用程式管理服務亦可有助於發現使用者可能有興趣的應用程式。例如,一管理將該應用程式部署至一物件階層的方法(像是第3圖的示範性方法60)可含有一查詢特點,其中該方法係經組態設定以當自一使用者收到一應用程式查詢時,選定滿足該應用程式查詢的應用程式,並且將該所選定之應用程式呈現予該使用者。同樣地,一用以管理將應用程式部署至一物件階層的系統(像是第4圖的示範性系統86)可含有一應用程式發現組件,其可經組態設定以自一使用者接收一應用程式查詢,選定滿足該應用程式查詢的應用程式,並且將該所選定之應用程式呈現予該使用者。然後,該使用者可選擇取得該等所選定應用程式中的一或更多者,而該應用程式管理系統可予以部署至該物件階層。
第8圖說明此一情境130,其中一使用者132希望識別一可與該使用者之行動電話裝置46相容的音訊播放器應用程式。因此,該使用者132可將一應用程式查詢136發出至該應用程式管理服務86的一應用程式發現組件134,像是一對於與行動電話裝置相容之媒體播放器應用程式的查詢。該應用程式發現組件134可與一應用程式儲存84進行通訊以識別滿足該應用程式查詢136的應用程式,像是一用於行動電話裝置的音訊播放器應用程式以及一用於行動電話裝置的視訊播放器應用程式。該應用程式發現組件134可因而提供一將該等應用程式呈現予該使用者132的回應138。該使用者132可回覆該應用程式管理服務86而選定140待予部署至該行動電話裝置46的一或更多所發現應用程式。接著該應用程式管理服務86可取得所選定的應用程式(在此情境130中為用於行動電話裝置的音訊播放器),並且可將該應用程式部署於該物件階層142,然後再將該程式傳送至該行動電話裝置46以完成部署該選定應用程式。當實作本揭技術時,熟諳本項技藝之人士可構思其他方式以協助發現應用程式。
在此第三特點的第三變化中,該應用程式管理服務亦可促成啟動該應用程式。例如,一運用該應用程式管理服務的示範性系統可包含一應用程式啟動組件,其可經組態設定以在該至少一裝置上啟動該應用程式。該應用程式啟動組件可包含例如一執行時間,其係經組態設定以提供一用於該裝置的平台以利在其上執行該應用程式。例如,一應用程式可如一客戶端側瀏覽器腳本而部署於該服務內,並且該應用程式管理服務可藉該物件階層而含有一瀏覽器,在此瀏覽器內可按解譯方式執行該瀏覽器腳本。在另一範例中,該應用程式可表示成來源程式碼,並且該應用程式啟動組件可包含一裝置特定編譯器,而當在該裝置上啟動該應用程式時,此編譯器將該來源程式碼編譯成一能夠在該裝置上執行的可執行二進位檔。此外,該應用程式啟動組件亦可將該經編譯可執行二進位檔儲存在例如一組合快取中,並且可回應後續請求而藉由擷取所儲存之可執行二進位檔,而非重新編譯該應用程式,來啟動該應用程式。在一第三範例中,一具網路功能的應用程式可包含一客戶端側前端,其係經組態設定以存取一遠端資源,同時該應用程式啟動組件可嘗試連接至該遠端資源,並且當啟動該應用程式時可辨識其對該裝置的可獲用性。當實作本揭技術時,熟諳本項技藝之人士可構思其他方式以協助在一裝置上啟動應用程式。
在此第三特點的第四變化中,該應用程式管理服務亦可促成與其他使用者共享該應用程式的特點。此應用程式共享可出現在許多情境中。如一第一範例中,該共享可牽涉到共享完整的應用程式(包含所有與其相關聯的資源和資料物件)。如一第二範例中,該共享可牽涉到與另一使用者共享該應用程式的一版本;例如,該第一使用者可能已先購買一使用該應用程式的授權,並且與該第二使用者共享該應用程式的一精簡版本,此版本可示範該應用程式的一些特性,藉此鼓勵該第二使用者購買該應用程式之授權。如一第三範例中,該共享可牽涉到共享與該應用程式相關聯的一或更多資料物件,像是藉由該應用程式所建立的媒體物件。然後,該第二使用者可運用相同的應用程式,或另一應用程式,以在該第二使用者的計算環境中呈現該等媒體物件。如一第四範例中,該共享可牽涉到與另一使用者共享該應用程式的一組態;例如一軟體開發團隊之多位成員在當共同開發該軟體時可運用一整合式開發環境的特定組態。如一第五範例中,該共享可牽涉到與另一使用者共享該應用程式的一會期;例如兩位使用者可協力地準備一文字文件,並且一第一使用者可與該第二使用者共享一文書處理應用程式的一會期,藉此促進該等使用者之間的即時互動。這些共享情境亦可出現在一計算環境(由一單一物件階層所表示)的多位使用者間,或是在兩個以上計算環境(由一多個物件階層所表示)的使用者間,或者可當透過一像是「檔案傳送協定(FTP)」之共同通訊協定,藉由提供所共享計算環境之資料物件來將表示一計算環境的一物件階層之局部與按未知方式所表示的計算環境之使用者共享。當實作本揭技術時,可由熟諳本項技藝之人士構思該等及其他的共享情境。
第9圖說明一應用程式共享情境150,其中一第一物件階層152的第一使用者已取得一媒體播放器應用程式以及一些由各式作曲家所創作之各種歌曲形式的媒體物件,其中此等媒體物件係依一高傳真方式(亦即按一320kbps編碼速率)進行編碼。該第一使用者亦已建立一像是podcast的媒體播放器會期,其參照一些在該第一物件階層152之媒體段落中所表示的物件。該第一使用者可能希望與一第二物件階層154的第二使用者共享此podcast。因而該應用程式共享可牽涉到將該媒體播放器會期自該第一物件階層152拷貝至該第二物件階層154。由於該媒體播放器會期參照一些經儲存在該第一物件階層152之內的媒體物件,因此該應用程式共享亦可牽涉到藉由將該等媒體物件拷貝至該第二物件階層154以共享該等其內所參照的媒體物件。然而,與該等媒體物件相關聯之數位權利可准允按一較低傳真性將該媒體物件傳送至其他的物件階層;因此,該計算環境可將該等媒體物件轉碼成較低品質的版本(例如,按一24kbps編碼速率)傳送至該第二物件階層。此外,該第二物件階層154可能並未含有用於由該等媒體物件所表示之音訊類型的媒體播放器應用程式。因此,該第一物件階層152可與該第二物件階層154共享該媒體播放器應用程式之一版本;然可依循由該第一使用者所取得之媒體播放器應用程式的末端使用者授權協議,將具較低功能性的版本傳送至該第二使用者。按此方式,即可藉由將該第一物件階層152之局部傳送至該第二物件階層154,依一自動化方式以與該第二使用者共享該應用程式、藉此所呈現的媒體物件和由該第一使用者所建立的應用程式會期,並同時符合與該應用程式會期相關聯之組件的數位權利。
在此第三特點的第五變化中,該應用程式管理服務亦可促成以新近內容來更新該應用程式。應用程式經常會藉由修補二進位檔、插入新資源以及更改或移除現有資源而獲更新為新的版本和新的內容。可藉由獲得應用程式更新項並將該等更新項部署於該物件階層中所表示的應用程式(例如藉由對該物件階層內所含有的應用程式資源進行更新,及/或插入新資源以作為該物件階層內的新物件),以由該應用程式管理服務執行此一更新。該等更新可依據一使用者的請求來實施,此使用者可已取得待由該應用程式顯露的新內容;或者可透過對一應用程式儲存的查詢而由該應用程式管理服務擷取;或者可由一應用程式儲存或一監管伺服器推送至該應用程式管理服務,等等。然後可將該經更新物件階層傳送至一或更多裝置,並且藉此可較少地仰賴於使用者涉入來更新該計算環境的應用程式。熟諳本項技藝之人士能夠在當實作本揭技術時構思許多對該物件階層中所表示之應用程式進行更新的方式。
在此第三特點的第六變化中,該應用程式管理服務亦可准允自該計算環境中廢除應用程式。此廢除可牽涉到許多情境,像是移除一應用程式至一裝置的對映、在一應用程式啟動伺服器的經授權裝置列表中將一裝置解授權、自一裝置移除應用程式資源(例如藉由自該裝置中扣制該物件階層中含有該等應用程式資源的局部),以及藉由自該物件階層且自所有經對映之裝置中移除所有的應用程式資源以完全地除役該應用程式。該廢除可依據一希望自一或更多裝置解安裝該應用程式之使用者的請求,或於一有限時段軟體授權逾期時,或當自該計算網路移除一裝置時等等。此變化之一示範性具體實施例中,一應用程式管理系統可包含一應用程式廢除組件,其係經組態設定以按任何這些方式自至少一裝置廢除該應用程式。熟諳本項技藝之人士能夠在當實作本揭技術時構思許多從由物件階層所表示之計算環境中廢除應用程式的方式。
該等特點之變化可納入於本揭技術的多項具體實施例裡,包含第3圖的示範性方法60以及第4圖的示範性系統86。此外,許多此等變化可結合該等技術之該等和其他特點的變化來實作,藉以針對第3-4圖所示之較基本具體實施例提供許多優點及/或減少缺點。有些組合亦可具有協同增效之優點:例如,一應用程式發現組件可協同地鏈結於一應用程式取得組件,藉以如一整合式使用者體驗來呈現該發現、洽購、授權接受及應用程式購取的使用者帳戶建立。
第10圖說明一示範性系統160,此系統係用於管理在一表示一至少一裝置(像是一行動電話裝置46、一筆記型電腦50及一公共工作站54)上之計算環境的物件階層44內之應用程式部署。第10圖的示範性系統160具體實作許多本揭所述的變化。該示範性系統160含有一物件階層儲存82,其係經組態設定以儲存該物件階層44;以及一應用程式儲存84,其表示至少一應用程式,而個別應用程式含有至少一應用程式資源。該示範性系統160亦含有一應用程式發現組件134,其係經組態設定以自一使用者接收一應用程式查詢,以選定滿足該應用程式查詢的應用程式,以及向該使用者呈現所選定的應用程式。該示範性系統160亦含有一應用程式取得組件88,其係經組態設定以接收一安裝一應用程式的請求,經由該裝置向一使用者呈現一應用程式授權,以及當自該使用者收到該應用程式授權的接受結果時,記錄該應用程式授權的接受結果。該應用程式取得組件88亦經組態設定以產生一代表該應用程式之使用者的使用者帳戶,以及仲介一與該至少一裝置之使用者的取得交易。該應用程式發現組件134及該應用程式取得組件88可協同作用,以促進在典型的應用程式生命週期中取獲一應用程式。
第10圖的示範性系統160亦包含一應用程式對映組件90,其係經組態設定以將該物件階層44中所表示的至少一裝置對映至至少一經安裝應用程式。該示範性系統160亦含有一應用程式部署組件92,其係經組態設定以藉由針對該裝置及該裝置之使用者二者至少一者來組態設定該應用程式,進而在該物件階層44中部署至少一經安裝應用程式。該應用程式對映組件90及該應用程式部署組件92可協同作用,以促進在典型的應用程式生命週期中於該物件階層內安裝該應用程式。
第10圖的示範性系統160亦含有一應用程式啟動組件162,其係經組態設定以在該至少一裝置上啟動該應用程式。該示範性系統160亦含有一應用程式共享組件164,其係經組態設定以接收一與一使用者共享該應用程式的請求,並且當收到共享該應用程式的請求時,與該使用者共享該物件階層中的局部,包含如下至少一者:該應用程式、該應用程式會期、一應用程式組態以及至少一由該應用程式所產生的資料物件。該示範性系統160亦包含一應用程式更新組件166,其係經組態設定以在該物件階層44內更新該至少一應用程式資源。該應用程式啟動組件162、該應用程式共享組件164及該應用程式更新組件166可協同作用,以促進在典型的應用程式生命週期中於一或更多裝置上執行該應用程式。
第10圖的示範性系統160亦含有一應用程式廢除組件168,其係經組態設定以廢除該應用程式(例如藉由自該物件階層內之一或更多裝置的表示中解對映該應用程式、自一或更多裝置中移除應用程式資源,及/或藉由將該應用程式自該物件階層中完全地移除以予完全地除役)。該應用程式廢除組件168因此可促進在典型的應用程式生命週期中解安裝該應用程式。
最後,該示範性系統160亦含有一物件階層傳送組件170,其係經組態設定以將該物件階層44的至少一局部傳送至該至少一裝置。該物件階層44可由該應用程式管理系統160的許多組件所修改,同時可將該物件階層44的修改結果同步化於其內所表示的一或更多裝置,藉此實施該計算環境之應用程式集合的更新。藉由合併本揭技術的此等多項變化,該示範性系統160可藉此提供廣泛的應用程式管理服務,以供在許多組成一計算網路之裝置間透過典型的應用程式生命週期來監管龐大的應用程式集合。
雖已依據結構特性及/或方法動作之特定語言來描述本發明標的,然應瞭解在後載申請專利範圍中所定義之本發明標的並非必然地受限於前述各項特定特性或動作。確切的說,上述各項特定特性及動作係揭露作為實作該申請專利範圍之範例形式。
如本申請案中所使用者,該等詞彙「組件組件」、「模組」、「系統」、「介面」等等係為概以參指於一電腦相關實體,其可為硬體、一硬體及軟體之組合、軟體或執行中軟體。例如,一組件可為,然不限於此,一運行於一處理器上之處理程序、一處理器、一物件、一可執行檔案、一執行緒、一程式及/或一電腦。藉由示範方式,運行於一控制器上之應用程式以及該控制器兩者皆可為一組件。一或更多的組件可常駐於一處理程序及/或執行緒內,並且一組件可為經本地化於一電腦上及/或散佈於兩台以上的電腦之間。
此外,可利用標準程式設計及/或工程技術,生產出軟體、韌體、硬體、或該等之任何組合,按如一方法、設備或製造物實作出所主張之發明標的,藉以控制一電腦來實作所揭示之發明標的。在此所使用之詞彙「製造物」是用以涵蓋一可自任何電腦可讀取裝置、載體或媒體加以存取的電腦程式。當然,熟諳本項技藝之人士將即可認知可對此組態進行多項修改,而不致悖離所主張之主題項目的範圍或精神。
第11圖和後文討論係供以簡要、概略地敘述一用以實作本文所揭示之一或更多者的具體實施例之適當計算環境。第11圖之作業環境僅係一適當作業環境之單一範例,並非意圖指任何對於該作業環境之使用範圍或功能性的限制。範例計算裝置包含個人電腦、伺服器電腦、手持式或膝上型裝置、行動裝置(像是行動電話、「個人數位助理(PDA)」、媒體播放器等等)、多重處理器系統、消費性電子裝置、迷你電腦、大型主機電腦、含有上述系統或裝置之任者的分散式計算環境等等,然不限於此。
雖非必要,然該等具體實施例將按「電腦可讀取指令」之一般情境而由一或更多計算裝置所執行之方式說明。電腦可讀取指令可透過電腦可讀取媒體散佈(如後述)。該等電腦可讀取指令可實作如程式模組,像是函式、物件、「應用程式介面(API)」、資料結構等等,此等可執行特定任務或者實作特定抽象資料型態。通常,可按如各種具體實施例中所需,將各電腦可讀取指令的功能性予以合併或分散。
第11圖說明一系統180的範例,其中含有一計算裝置182,其係經組態設定以實作一或更多本揭所提供的具體實施例。在一組態中,該計算裝置182含有至少一處理單元186及記憶體188。根據計算裝置的精確組態與類型而定,該記憶體188可為揮發性(例如像是RAM)、非揮發性(例如像是ROM、快閃記憶體等等)或為此二者的一些組合。此組態係如第11圖中由虛線184所述者。
在其他具體實施例裡,該裝置182可包含額外的特性及/或功能性。例如,該裝置182亦可含有額外的儲存裝置(例如可移除及/或非可移除),包含磁性儲存裝置、光學儲存裝置等等,然不限於此。此等額外儲存裝置在第11圖中是由該儲存裝置190所示。在一具體實施例裡,實作一或更多本揭提供之具體實施例的電腦可讀取指令可儲存在該儲存裝置190內。該儲存裝置190亦可儲存其他用以實作一作業系統、一應用程式等等的電腦可讀取指令。例如,電腦可讀取指令可載入至該記憶體188以由該處理單元168執行。
本揭所使用之該詞彙「電腦可讀取媒體」包含電腦儲存媒體。電腦儲存媒體包含揮發性及非揮發性、可移除及非可移除媒體,該等可按任何用以儲存像是電腦可讀取指令或其他資料之資訊的方法或技術來實作。該記憶體188及該儲存裝置190為電腦儲存媒體的範例。電腦儲存媒體包含(但不限於此)RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、數位光碟片(DVD)或其他光學儲存、磁匣、磁帶、磁碟儲存或其他磁性儲存裝置,或者是任何其他可用以儲存所欲資訊並可由裝置182所存取的媒體。任何此等電腦儲存媒體皆可為該裝置182的一部份。
該裝置182亦可包含(多個)通訊連接196,藉此讓該裝置182能夠與其它裝置進行通訊。該(等)通訊連接196可包含一數據機、一「網路介面卡(NIC)」、一整合式網路介面、一射頻傳送器/接收器、一紅外線連接埠、一USB連接,或是其他用以將該計算裝置182連接至其他計算裝置的介面,然不限於此。該(等)通訊連接196可包含一有線連接或一無線連接。該(等)通訊連接196可傳送及/或接收通訊媒體。
該詞彙「電腦可讀取媒體」可包含通訊媒體。通訊媒體通常可在一「經調變資料信號」(像是一載波或其他傳送機制)裡具體實作電腦可讀取指令或其他資料,並且含有任何資訊遞送媒體。該詞彙「經調變資料信號」可包含一種信號,其可令其一或更多項的特徵按一將資訊編碼至該信號內之方式所設定或變化。
該裝置182可包含(多個)輸入裝置194,像是鍵盤、滑鼠、點筆、語音輸入裝置、觸控輸入裝置、紅外線相機、視訊輸入裝置及/或任何其他的輸入裝置。亦可將(多個)輸出裝置192,像是一或更多顯示器、喇叭、印表機及/或任何其他輸出裝置,納入在該裝置182內。該(等)輸入裝置194及輸出裝置192可經由一有線連接、無線連接或其任意組合而連接至該裝置182。在一具體實施例裡,可利用一來自另一計算裝置之輸入裝置或輸出裝置,以作為該計算裝置182的(多個)輸入裝置194或(多個)輸出裝置192。
該計算裝置182的組件可藉由各種互連(像是一匯流排)而連接。此等互連可包含一像是PCI Express之「週邊組件互連(PCI)」、「通用序列匯流排(USB)」、Firewire(IEEE 1394)、一光學匯流排架構等等。在另一具體實施例裡,該計算裝置182的組件可藉由一網路而互連。例如,該記憶體188可由多個實體記憶體單元所組成,該等位於不同實體位置處而由一網路所互連。
熟諳本項技藝之人士將可知曉用以儲存電腦可讀取指令的儲存裝置可散佈跨於一網路上。例如,一可透過該網路198而存取的計算裝置200可儲存電腦可讀取指令,藉以實作本揭所提供的一或更多具體實施例。該計算裝置182可存取該計算裝置100,並且下載該電腦可讀取指令的一部分或全部以供執行。或另者,該計算裝置182可視需要下載該電腦可讀取指令的片段,或者部份指令可在該計算裝置182處執行,而部份則是在該計算裝置200處執行。
本揭提供各種具體實施例操作情況。在一具體實施例裡,一或更多的所述操作可組成經儲存於一或更多電腦可讀取媒體上的電腦可讀取指令,而若由一計算裝置執行,該等將能令該計算裝置執行所述操作。所述之部份或全部操作的次序不應被詮釋為意指這些操作必然地具有次序相關性。熟諳本項技藝之人士在受惠於本說明後將即能瞭解替代性的次序排定。此外,將能瞭解並非所有操作皆必然地出現在各個本揭具體實施例內。
此外,在此所使用之詞彙「示範性」係作為一範例、實例或說明。在此所使用如「示範性」之任何特點或設計並不必然地需被詮釋為佳於其他特點或設計。相反地,使用該字詞示範性係用以按一務實方式呈現概念。本申請書中所使用之該詞彙「或」係意指一納入性「或」,而非排斥性「或」。換言之,除另予標明或自前後文而他述之外,「X運用A或B」係意指任何自然納入性的排組方式。亦即,若X運用A,X運用B,或X運用A及B兩者,則在任何前述實例下皆能滿足「X運用A或B」。同時,除另予標明或自前後文而他述以針對於一單數形式者外,本申請書及後載申請專利範圍中所使用的詞彙「一」可應概經詮釋為意指「一或更多」。
同時,本揭示雖已針對於一或更多實作來顯示及說明,然熟諳本項技藝之人士在當閱讀並知曉本說明書及隨附圖式後確能進行等同性的替換及修改。本揭示包含所有此等修改及替換,並且僅受限於下列申請專利範圍。尤其是,對於由前述組件(例如組件、資源等等)所執行的各種功能,用以描述該等組件的辭彙除另述明者外,係用以對應於執行該所述組件之標定功能的任何組件(例如在功能方面為等同者),即使在結構上並非等同於本揭所述之示範性實作中執行該功能的揭示結構亦然。此外,雖已對於多項實作之僅一者來揭示本揭的一特定特性,然確可視任何給定或特定應用之需要及有利性,將此特性合併於其他實作的一或更多其他特性。此外,在實施方式或申請專利範圍中使用之「包含」、「含有」、「擁有」、「具有」或其變化語詞,這些詞彙係為按一類似於該詞彙「包含」之方式而具有納入性。
10...應用程式生命週期
12...獲取
14...發現
16...取得
18...安裝
20...對映
22...部署
24...使用
26...執行
28...更新
30...解安裝
32...解對映
40...情境
44...物件階層
46...行動電話裝置
48...精簡版本計算環境
50...個人筆記型電腦
52...完全特性版本計算環境
54...公共工作站
56...網路瀏覽器
58...瀏覽器相容且隱私導向版本應用程式
80...情境
82...物件階層
84...應用程式儲存
86...應用程式管理系統
88...應用程式取得組件
90...應用程式對映組件
92...應用程式部署組件
100...架構
102...計算機應用程式
104...行事曆應用程式
110...架構
112...應用程式
130...情境
132...使用者
134...應用程式發現組件
136...查詢
138...回應
140...選定
150...情境
152...第一物件階層
154...第二物件階層
160...系統
162...應用程式啟動組件
164...應用程式共享組件
166...應用程式更新組件
168...應用程式廢除組件
170...物件階層傳送組件
180...系統
182...計算裝置
184...虛線(組態)
186...處理單元
188...記憶體
190...儲存裝置
192...(多個)輸出裝置
194...(多個)輸入裝置
196...(多個)通訊連接
198...網路
200...計算裝置
第1圖說明在一計算環境中一典型的應用程式生命週期。
第2圖說明一計算環境主機與各種計算環境呈現裝置的示範性互動作業。
第3圖係一流程圖,其中說明一示範性方法,此方法管理一在用以表示一裝置上之計算環境的物件階層中之應用程式部署作業。
第4圖係一組件區塊圖,其中說明一示範性系統,此系統係用於管理將由一應用程式儲存所管理的至少一應用程式佈署至一用以表示至少一裝置上之一計算環境的物件階層之佈署作業。
第5圖係一組件區塊圖,其中說明另一示範性系統,此系統係用於管理將應用程式佈署至一用以表示至少一裝置上之一計算環境的物件階層之應用程式部署作業。
第6圖係一組件區塊圖,其中說明又另一示範性系統,此系統係用於管理將應用程式部署至一用以表示一至少一裝置上之一計算環境的物件階層之應用程式部署作業。
第7圖係一組件區塊圖,其中說明一示範性系統之一局部,此局部係用於管理將應用程式佈署至一用以表示一至少一裝置上之一計算環境的物件階層之應用程式部署作業。
第8圖係一組件區塊圖,其中說明一示範性系統之另一局部,此局部係用於管理將應用程式佈署至一用以表示一至少一裝置上之一計算環境的物件階層之應用程式部署作業。
第9圖係一組件區塊圖,其中說明一示範性系統之又另一局部,此局部係用於管理將應用程式佈署至一表示一至少一裝置上之一計算環境的物件階層之應用程式部署作業。
第10圖係一組件區塊圖,其中說明又另一示範性系統,此系統係用於管理將應用程式佈署至一用以表示一至少一裝置上之一計算環境的物件階層之應用程式部署作業。
第11圖說明一示範性計算環境,其中可實作本揭所列述的一或更多提供項目。
80...情境
82...物件階層
84...應用程式儲存
86...應用程式管理系統
88...應用程式取得組件
90...應用程式對映組件
92...應用程式部署組件

Claims (20)

  1. 一種用於管理一應用程式在一物件階層中之部署的方法,該物件階層表示一裝置上的一計算環境,該方法包含以下步驟:接收將該應用程式部署至該裝置的一請求;自一應用程式儲存取得該應用程式;將該物件階層中所表示的該裝置對映至該應用程式;在該物件階層中部署該應用程式;以及將該物件階層的至少一局部傳送至該裝置。
  2. 如申請專利範圍第1項所述之方法,進一步包含以下步驟:當自一使用者收到一應用程式查詢時:選定滿足該應用程式查詢的應用程式;以及對該使用者呈現該所選定應用程式。
  3. 如申請專利範圍第1項所述之方法,進一步包含以下步驟:當接收到與一使用者共享該應用程式的一請求時,與該使用者共享該應用程式。
  4. 如申請專利範圍第1項所述之方法,進一步包含以下步驟: 當偵測到該應用程式的至少一更新時,更新在該物件階層中的該應用程式。
  5. 如申請專利範圍第1項所述之方法,進一步包含以下步驟:當接收到廢除該應用程式的一請求時,廢除該物件階層中的該應用程式。
  6. 一種用以管理至少一應用程式至一物件階層之佈署之系統,該至少一應用程式由一應用程式儲存所管理,該物件階層表示至少一裝置上的一計算環境,該系統包含:一應用程式取得組件,其係經組態設定以執行以下步驟:接收安裝一應用程式的一請求;以及自該應用程式儲存取得該應用程式;一應用程式對映組件,其係經組態設定以將該物件階層中所表示的至少一裝置對映至至少一經安裝應用程式;以及一應用程式部署組件,其係經組態設定以執行以下步驟:將該至少一經安裝應用程式部署在該物件階層中。
  7. 如申請專利範圍第6項所述之系統,該系統進一步包含一應用程式儲存,其表示至少一應用程式,而個別 應用程式含有至少一應用程式資源。
  8. 如申請專利範圍第6項所述之系統,該系統進一步包含:一物件階層儲存,其係經組態設定以儲存該物件階層;以及一物件階層傳送組件,其係經組態設定以將該物件階層之至少一局部傳送至該至少一裝置。
  9. 如申請專利範圍第6項所述之系統,該系統進一步包含:一應用程式發現組件,其係經組態設定以執行以下步驟:自一使用者接收一應用程式查詢;選定滿足該應用程式查詢的應用程式;以及對該使用者呈現該所選定應用程式。
  10. 如申請專利範圍第6項所述之系統,其中該應用程式取得組件係經組態設定以執行以下步驟:透過該裝置向一使用者呈現一應用程式授權;以及當自該使用者接收到該應用程式授權的接受結果時,記錄該應用程式授權的接受結果。
  11. 如申請專利範圍第6項所述之系統,其中該應用程 式取得組件係經組態設定以仲介與該至少一裝置之使用者的一取得交易。
  12. 如申請專利範圍第6項所述之系統,其中該應用程式取得組件係經組態設定以產生代表該應用程式之一使用者的一使用者帳戶。
  13. 如申請專利範圍第6項所述之系統,其中該部署之步驟包含以下步驟:針對該裝置以及該裝置的一使用者中之至少一者以組態設定該應用程式。
  14. 如申請專利範圍第6項所述之系統,進一步包含:一應用程式啟動組件,其係經組態設定以在該至少一裝置上啟動該應用程式。
  15. 如申請專利範圍第6項所述之系統,進一步包含:一應用程式共享組件,其係經組態設定以執行以下步驟:接收與一使用者共享該應用程式的一請求;以及當接收到共享該應用程式的該請求時,與該使用者共享該應用程式。
  16. 如申請專利範圍第15項所述之系統,其中該應用 程式共享組件係經組態設定以與該使用者共享該物件階層之一局部,該物件階層包含以下至少一者:該應用程式、一應用程式會期、一應用程式組態,以及由該應用程式所產生的至少一資料物件。
  17. 如申請專利範圍第6項所述之系統,進一步包含:一應用程式更新組件,其係經組態設定以更新該應用程式。
  18. 如申請專利範圍第17項所述之系統,其中該應用程式更新組件係經組態設定以在該物件階層內更新至少一應用程式資源。
  19. 如申請專利範圍第6項所述之系統,進一步包含:一應用程式廢除組件,其係經組態設定以廢除該應用程式。
  20. 一種用於管理在一物件階層中應用程式之部署的系統,該物件階層表示至少一裝置上之一計算環境,該系統包含:一物件階層儲存,其係經組態設定以儲存該物件階層;一應用程式儲存,其表示至少一應用程式,各個應用程式包含至少一應用程式資源;一應用程式發現組件,其係經組態設定以執行以下步 驟:自一使用者接收一應用程式查詢;選定滿足該應用程式查詢的應用程式;以及對該使用者呈現該所選定應用程式;一應用程式取得組件,其係經組態設定以執行以下步驟:接收安裝一應用程式的一請求;透過該裝置向一使用者呈現一應用程式授權;以及當自該使用者接收到該應用程式授權的接受結果時,記錄該應用程式授權的接受結果;產生代表該應用程式之一使用者的一使用者帳戶;以及仲介與該至少一裝置之一使用者的一取得交易;一應用程式對映組件,其係經組態設定以將該物件階層中所表示的至少一裝置對映至至少一經安裝應用程式;一應用程式部署組件,其係經組態設定以藉由針對該裝置及該裝置之一使用者二者至少一者組態設定該應用程式,藉此將該至少一經安裝應用程式部署於該物件階層內;一物件階層傳送組件,其係經組態設定以將該物件階層的至少一局部傳送至該至少一裝置;一應用程式啟動組件,其係經組態設定以在該至少一裝置上啟動該應用程式; 一應用程式共享組件,其係經組態設定以執行以下步驟:接收與一使用者共享該應用程式的一請求;以及當接收到共享該應用程式的該請求時,與該使用者共享該物件階層之一局部,該物件階層包含以下至少一者:該應用程式、一應用程式會期、一應用程式組態,以及由該應用程式所產生的至少一資料物件;一應用程式更新組件,其係經組態設定以更新該物件階層內的至少一應用程式資源;以及一應用程式廢除組件,其係經組態設定以廢除該應用程式。
TW98105022A 2008-03-20 2009-02-17 用於可部署物件階層內之應用程式管理的方法及系統 TWI473019B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/052,550 US9753712B2 (en) 2008-03-20 2008-03-20 Application management within deployable object hierarchy

Publications (2)

Publication Number Publication Date
TW200941347A TW200941347A (en) 2009-10-01
TWI473019B true TWI473019B (zh) 2015-02-11

Family

ID=41090146

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98105022A TWI473019B (zh) 2008-03-20 2009-02-17 用於可部署物件階層內之應用程式管理的方法及系統

Country Status (8)

Country Link
US (5) US9753712B2 (zh)
EP (1) EP2255295B1 (zh)
JP (1) JP5409767B2 (zh)
KR (1) KR20100133382A (zh)
CN (1) CN101978366B (zh)
BR (1) BRPI0907773A2 (zh)
TW (1) TWI473019B (zh)
WO (1) WO2009117207A1 (zh)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296728B1 (en) 2008-08-26 2012-10-23 Adobe Systems Incorporated Mobile device interaction using a shared user interface
US8832681B1 (en) * 2008-08-29 2014-09-09 Adobe Systems Incorporated Bundled mobile/desktop application package
JP5112229B2 (ja) * 2008-09-05 2013-01-09 株式会社エヌ・ティ・ティ・ドコモ 配信装置、端末装置及びシステム並びに方法
JP5080406B2 (ja) * 2008-09-05 2012-11-21 株式会社エヌ・ティ・ティ・ドコモ 配信装置、端末装置及びシステム並びに方法
US8271974B2 (en) * 2008-10-08 2012-09-18 Kaavo Inc. Cloud computing lifecycle management for N-tier applications
US8069247B2 (en) * 2008-12-03 2011-11-29 Verizon Data Services Llc Application launcher systems, methods, and apparatuses
US20100159898A1 (en) 2008-12-19 2010-06-24 Openpeak, Inc. Services platform for networked devices that provide telephony and digital media services
US8707288B2 (en) * 2009-02-13 2014-04-22 Mobitv, Inc. System for automatic management of applications on remote devices
US20120047228A1 (en) * 2009-05-07 2012-02-23 Shady Hassan Sayed Hassan Aly Method for delivering tag based services
US20110072371A1 (en) * 2009-09-18 2011-03-24 Microsoft Corporation Application programming interface for user interface creation
KR20110040604A (ko) * 2009-10-14 2011-04-20 삼성전자주식회사 클라우드 서버, 클라이언트 단말, 디바이스, 클라우드 서버의 동작 방법 및 클라이언트 단말의 동작 방법
US8831823B2 (en) 2009-10-15 2014-09-09 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US8942888B2 (en) 2009-10-15 2015-01-27 Airbiquity Inc. Extensible scheme for operating vehicle head unit as extended interface for mobile device
US9002574B2 (en) 2009-10-15 2015-04-07 Airbiquity Inc. Mobile integration platform (MIP) integrated handset application proxy (HAP)
US8838332B2 (en) 2009-10-15 2014-09-16 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US9160812B2 (en) * 2009-10-22 2015-10-13 Cellco Partnership Systems and methods for delivering an application over a mobile communications network
US9037711B2 (en) * 2009-12-02 2015-05-19 Metasecure Corporation Policy directed security-centric model driven architecture to secure client and cloud hosted web service enabled processes
CN102200918B (zh) * 2010-03-23 2015-12-16 中兴通讯股份有限公司 服务器部署应用程序的方法及装置
US10013252B2 (en) * 2010-04-16 2018-07-03 Oracle International Corporation Software development compliance system
US8707296B2 (en) * 2010-04-27 2014-04-22 Apple Inc. Dynamic retrieval of installation packages when installing software
US8359463B2 (en) * 2010-05-26 2013-01-22 Hewlett-Packard Development Company, L.P. Selecting a configuration for an application
US8521777B2 (en) * 2010-06-16 2013-08-27 Ricoh Company, Ltd Methods and apparatus for presentation of software as a service applications
US20120144319A1 (en) 2010-12-03 2012-06-07 Razer (Asia-Pacific) Pte Ltd Collaboration Management System
US9116728B2 (en) * 2010-12-21 2015-08-25 Microsoft Technology Licensing, Llc Providing a persona-based application experience
US9354852B2 (en) 2010-12-23 2016-05-31 Microsoft Technology Licensing, Llc Satisfying application dependencies
US20120174212A1 (en) * 2010-12-29 2012-07-05 Microsoft Corporation Connected account provider for multiple personal computers
US8826260B2 (en) * 2011-01-11 2014-09-02 Intuit Inc. Customization of mobile-application delivery
WO2012107929A2 (en) * 2011-02-09 2012-08-16 Conduit Ltd Application synchronization among multiple computing devices
US8261295B1 (en) * 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
WO2012162158A1 (en) * 2011-05-20 2012-11-29 Citrix Systems, Inc. Shell integration on a mobile device for an application executing remotely on a server
US10089093B1 (en) 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US8924958B1 (en) * 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US9843665B2 (en) 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10417018B2 (en) 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US8924885B2 (en) * 2011-05-27 2014-12-30 Microsoft Corporation Desktop as immersive application
US8676995B1 (en) 2011-07-07 2014-03-18 Cisco Technology, Inc. System and method for enabling pairing of a companion device with a mate device for performing a companion service
US9123078B2 (en) * 2011-08-19 2015-09-01 Nokia Technologies Oy Method and apparatus for socially aware applications and application stores
US9286050B2 (en) * 2011-09-02 2016-03-15 Verizon Patent And Licensing Inc. Method and system for context-based application management
US9173090B2 (en) * 2011-09-15 2015-10-27 Teletech Holdings, Inc. Method for activating services associated with a product via a service center supporting a variety of products
US9785628B2 (en) 2011-09-29 2017-10-10 Microsoft Technology Licensing, Llc System, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication
US20220004649A1 (en) * 2011-12-09 2022-01-06 Sertainty Corporation System and methods for using cipher objects to protect data
US10282221B2 (en) * 2011-12-09 2019-05-07 International Business Machines Corporation Controlling usage of virtual disks before their attachment to virtual machines
US20130191495A1 (en) * 2012-01-23 2013-07-25 Cristian Almstrand Framework and system to distribute applications for heterogeneous platforms
US9503520B2 (en) * 2012-02-06 2016-11-22 Conduit Ltd. Application synchronization among multiple computing devices
US9235565B2 (en) * 2012-02-14 2016-01-12 Facebook, Inc. Blending customized user dictionaries
US9098357B2 (en) * 2012-04-11 2015-08-04 Nokia Technologies Oy Method and apparatus for activity management across multiple devices
US9104538B2 (en) 2012-06-08 2015-08-11 Airbiquity Inc. Assessment of electronic sensor data to remotely identify a motor vehicle and monitor driver behavior
CA2783223C (en) * 2012-07-19 2014-07-15 Microsoft Corporation Global recently used files list
CN104919833B (zh) 2012-12-20 2019-11-08 爱尔比奎特公司 高效头单元通信集成
US20140189670A1 (en) * 2012-12-31 2014-07-03 Openpeak Inc. System and method for tailoring applications and application repositories for individual electrical devices
KR101822463B1 (ko) 2013-01-21 2018-01-26 삼성전자주식회사 복수 개의 아이콘들을 화면상에 배치하는 장치 및 이의 운용 방법
WO2014122733A1 (ja) * 2013-02-06 2014-08-14 株式会社日立製作所 計算機、データアクセス管理方法及び記録媒体
CN103164286A (zh) * 2013-03-12 2013-06-19 无锡云动科技发展有限公司 云计算平台部署的实现方法、资源管理器、云计算系统
TWI497953B (zh) * 2013-04-24 2015-08-21 Sunix Co Ltd 遠端周邊的控制系統、方法及其遠端服務器
WO2015006170A1 (en) * 2013-07-12 2015-01-15 FREILICH, Arthur A computer system storing content into application independent objects
CN104301338A (zh) * 2013-07-16 2015-01-21 苏州精易会信息技术有限公司 基于云平台的应用系统自动部署方法
US9503541B2 (en) * 2013-08-21 2016-11-22 International Business Machines Corporation Fast mobile web applications using cloud caching
US9323906B2 (en) * 2013-09-04 2016-04-26 D2L Corporation Method and system for digital rights management enforcement
US9098369B1 (en) * 2013-11-13 2015-08-04 Google Inc. Application installation using in-video programming
CN103970579B (zh) * 2014-05-29 2017-05-03 中国银行股份有限公司 应用版本部署方法及装置
US9880918B2 (en) * 2014-06-16 2018-01-30 Amazon Technologies, Inc. Mobile and remote runtime integration
US10185590B2 (en) 2014-06-16 2019-01-22 Amazon Technologies, Inc. Mobile and remote runtime integration
US8997081B1 (en) * 2014-09-18 2015-03-31 Ensighten, Inc. Analytics for mobile applications
US10476757B1 (en) * 2015-01-27 2019-11-12 Nutanix, Inc. Architecture for implementing centralized management for a computing environment
US9798864B2 (en) * 2015-03-06 2017-10-24 International Business Machines Corporation Embedded integrated component governance policy
CN105677421B (zh) * 2016-01-06 2020-01-03 惠州Tcl移动通信有限公司 一种移动终端的桌面启动器的定制方法及系统
US10791109B2 (en) * 2016-02-10 2020-09-29 Red Hat, Inc. Certificate based expiration of file system objects
US10489181B2 (en) 2016-02-12 2019-11-26 Nutanix, Inc. Entity database browser
US10304215B2 (en) 2016-06-10 2019-05-28 Apple Inc. Providing variants of texture assets for an asset catalog
US10621314B2 (en) * 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US10607002B2 (en) * 2016-08-30 2020-03-31 Microsoft Technology Licensing, Llc Isolating an application running inside a native container application
US11675774B2 (en) 2016-09-23 2023-06-13 Amazon Technologies, Inc. Remote policy validation for managing distributed system resources
US10489424B2 (en) * 2016-09-26 2019-11-26 Amazon Technologies, Inc. Different hierarchies of resource data objects for managing system resources
CN106713047A (zh) * 2017-01-12 2017-05-24 泰凌微电子(上海)有限公司 一种网状网络中的节点升级方法与系统
US10810009B2 (en) * 2017-07-14 2020-10-20 Microsoft Technology Licensing, Llc Visualizations of software project and contributor activity
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
GB201717251D0 (en) * 2017-10-20 2017-12-06 Palantir Technologies Inc Serving assets in a networked environment
US10678975B2 (en) * 2017-11-07 2020-06-09 Amazon Tecnnologies, Inc. Code module selection for device design
US10700991B2 (en) 2017-11-27 2020-06-30 Nutanix, Inc. Multi-cluster resource management
US10936333B2 (en) * 2018-02-28 2021-03-02 Forcepoint Llc System and method for managing system configuration data models
US11340880B2 (en) * 2018-05-17 2022-05-24 Hewlett-Packard Development Company, L.P. Application management service including package file
CN112585574A (zh) * 2018-06-26 2021-03-30 西门子股份公司 用于确定在分布式网络环境中所要安装的应用程序的适合的安装位置的方法和系统
US10901717B2 (en) 2018-07-16 2021-01-26 International Business Machines Corporation Controlling computer executions based on terms and conditions and user device attributes
US20200159560A1 (en) * 2018-11-16 2020-05-21 Avi Networks Propagating ordered object changes
US11556320B2 (en) 2020-08-06 2023-01-17 Bank Of America Corporation Electronic system for dynamic analysis and detection of transformed transient data in a distributed system network
US11749284B2 (en) * 2020-11-13 2023-09-05 Google Llc Dynamically adapting on-device models, of grouped assistant devices, for cooperative processing of assistant requests
US20220244903A1 (en) * 2021-02-04 2022-08-04 Apple Inc. Application casting

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060581A1 (en) * 2003-09-16 2005-03-17 Chebolu Anil Kumar Remote administration of computer access settings
TW200515175A (en) * 2003-10-24 2005-05-01 Microsoft Corp Programming interface for a computer platform
TW200620129A (en) * 2004-09-01 2006-06-16 Microsoft Corp Rule-based filtering and alerting
US7117243B2 (en) * 2001-10-02 2006-10-03 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network

Family Cites Families (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5504852A (en) * 1991-09-09 1996-04-02 Apple Computer, Inc. Method for creating a collection of aliases representing computer system files
US5437025A (en) * 1993-01-26 1995-07-25 International Business Machines Corporation System and method for run time configuration of objects in an object oriented computing environment
US5548726A (en) * 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
EP0823092A1 (en) * 1995-04-24 1998-02-11 Aspect Development, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US5850090A (en) 1995-05-24 1998-12-15 Mitsubishi Denki Kabushiki Kaisha Dynamic semiconductor memory device on SOI substrate
US5764543A (en) * 1995-06-16 1998-06-09 I2 Technologies, Inc. Extensible model network representation system for process planning
JP3598183B2 (ja) * 1996-10-16 2004-12-08 株式会社東芝 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体
US6678724B2 (en) * 1997-03-12 2004-01-13 Microsoft Corporation Common namespace for internet and local filesystem objects
US6573907B1 (en) * 1997-07-03 2003-06-03 Obvious Technology Network distribution and management of interactive video and multi-media containers
US6105062A (en) * 1998-02-26 2000-08-15 Novell, Inc. Method and system for pruning and grafting trees in a directory service
US6330717B1 (en) * 1998-03-27 2001-12-11 Sony Corporation Of Japan Process and system for developing an application program for a distributed adaptive run-time platform
US6209029B1 (en) * 1998-05-12 2001-03-27 Silverstream Software, Inc. Method and apparatus for accessing data sources in a three tier environment
US6553375B1 (en) 1998-11-25 2003-04-22 International Business Machines Corporation Method and apparatus for server based handheld application and database management
US6243746B1 (en) * 1998-12-04 2001-06-05 Sun Microsystems, Inc. Method and implementation for using computer network topology objects
US7035895B1 (en) * 1998-12-17 2006-04-25 International Business Machines Corporation Manager object for management of multiple resources on dataless clients in a distributed computing environment
US6286138B1 (en) * 1998-12-31 2001-09-04 International Business Machines Corporation Technique for creating remotely updatable programs for use in a client/server environment
US7062532B1 (en) 1999-03-25 2006-06-13 Autodesk, Inc. Method and apparatus for drawing collaboration on a network
WO2000067121A1 (en) * 1999-04-29 2000-11-09 Rutgers University Distributed software development environment
US6886017B1 (en) * 1999-04-30 2005-04-26 Elata Limited System and method for managing distribution of content to a device
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
US6519679B2 (en) * 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US6826760B1 (en) * 1999-06-16 2004-11-30 Microsoft Corporation Methods of factoring operating system functions, methods of converting operating systems, and related apparatus
US7181539B1 (en) * 1999-09-01 2007-02-20 Microsoft Corporation System and method for data synchronization
US6732172B1 (en) * 2000-01-04 2004-05-04 International Business Machines Corporation Method and system for providing cross-platform access to an internet user in a heterogeneous network environment
US6594664B1 (en) * 2000-01-04 2003-07-15 International Business Machines Corporation System and method for online/offline uninterrupted updating of rooms in collaboration space
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6934532B2 (en) * 2000-02-09 2005-08-23 Apriva, Inc. Communication systems, components, and methods operative with programmable wireless devices
US6904593B1 (en) * 2000-03-24 2005-06-07 Hewlett-Packard Development Company, L.P. Method of administering software components using asynchronous messaging in a multi-platform, multi-programming language environment
US6662192B1 (en) 2000-03-29 2003-12-09 Bizrate.Com System and method for data collection, evaluation, information generation, and presentation
EP1148322A1 (de) 2000-04-18 2001-10-24 Gretag-Macbeth AG Verfahren zur Erzeugung einer elektronischen Farbinformationsdatei und Verfahren zur Farbkommunikation
US7013340B1 (en) * 2000-05-18 2006-03-14 Microsoft Corporation Postback input handling by server-side control objects
US6685090B2 (en) * 2000-05-24 2004-02-03 Fujitsu Limited Apparatus and method for multi-profile managing and recording medium storing multi-profile managing program
US6611837B2 (en) 2000-06-05 2003-08-26 International Business Machines Corporation System and method for managing hierarchical objects
US7219304B1 (en) * 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US6865737B1 (en) * 2000-08-23 2005-03-08 Microsoft Corporation Remote software installation and maintenance
US20020138617A1 (en) * 2000-09-06 2002-09-26 Jacob Christfort Providing content from multiple services
US7089295B2 (en) * 2000-09-06 2006-08-08 Oracle International Corporation Customizing content provided by a service
US7836458B1 (en) 2000-11-02 2010-11-16 Microsoft Corporation Configuration system
US20040006566A1 (en) * 2000-11-07 2004-01-08 Matt Taylor System and method for augmenting knowledge commerce
US6834301B1 (en) * 2000-11-08 2004-12-21 Networks Associates Technology, Inc. System and method for configuration, management, and monitoring of a computer network using inheritance
US6961909B2 (en) * 2001-01-05 2005-11-01 Hewlett-Packard Development Company, L.P. System for displaying a hierarchical directory
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US20020103811A1 (en) * 2001-01-26 2002-08-01 Fankhauser Karl Erich Method and apparatus for locating and exchanging clinical information
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
JP2002229902A (ja) 2001-01-31 2002-08-16 Justec:Kk 情報提供方法、情報提供システム、地理情報提供方法、地図情報提供システム、及びコンピュータ読み取り可能なプログラム
US6836842B1 (en) * 2001-04-24 2004-12-28 Xilinx, Inc. Method of partial reconfiguration of a PLD in which only updated portions of configuration data are selected for reconfiguring the PLD
US20030004746A1 (en) * 2001-04-24 2003-01-02 Ali Kheirolomoom Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7685126B2 (en) * 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US8290762B2 (en) * 2001-08-14 2012-10-16 National Instruments Corporation Graphically configuring program invocation relationships by creating or modifying links among program icons in a configuration diagram
US6907451B1 (en) * 2001-09-29 2005-06-14 Siebel Systems, Inc. Method, apparatus, and system for immediate posting of changes in a client server environment
US6952714B2 (en) * 2001-10-02 2005-10-04 Citrix Systems, Inc. Method for distributed program execution with server-based file type association
EP1470482A2 (en) 2001-10-02 2004-10-27 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network
US7330872B2 (en) * 2001-10-02 2008-02-12 Citrix Systems, Inc. Method for distributed program execution with web-based file-type association
WO2003032188A1 (en) 2001-10-05 2003-04-17 Vitria Technology, Inc. System and method for vocabulary-based data transformation
JP3857571B2 (ja) * 2001-11-15 2006-12-13 タイコ エレクトロニクス レイケム株式会社 ポリマーptcサーミスタおよび温度センサ
KR100426307B1 (ko) * 2001-12-12 2004-04-08 한국전자통신연구원 에스오에이피-엑스엠엘을 이용한 데이터 액세스 장치 및방법
US7088995B2 (en) * 2001-12-13 2006-08-08 Far Eastone Telecommunications Co., Ltd. Common service platform and software
JP2003186782A (ja) * 2001-12-20 2003-07-04 Fuji Photo Film Co Ltd 情報配信システム、情報配信装置及びプログラム、デジタルカメラ及び携帯端末装置
US7266563B2 (en) * 2001-12-28 2007-09-04 Fotomedia Technologies, Llc Specifying, assigning, and maintaining user defined metadata in a network-based photosharing system
US7206817B2 (en) * 2002-01-18 2007-04-17 Bea Systems, Inc. Systems and methods for application management and deployment
EP1488313A2 (en) * 2002-03-01 2004-12-22 Green Border Technologies Method and system for assured denotation of application semantics
US7421478B1 (en) * 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
US7552481B2 (en) * 2002-03-18 2009-06-23 Sun Microsystems, Inc. Method of assessing an organization's network identity capability
US6968535B2 (en) 2002-03-21 2005-11-22 Sun Microsystems, Inc. Service mapping method of enterprise application modeling and development for multi-tier service environments
US7072898B2 (en) 2002-05-30 2006-07-04 Oracle International Corporation Method and apparatus for exchanging communications between heterogeneous applications
US7117495B2 (en) * 2002-06-12 2006-10-03 Altiris, Inc. Systems and methods for the creation of software packages using layered systems
US20040031029A1 (en) * 2002-08-06 2004-02-12 Kyu-Woong Lee Methods and systems for automatically updating software components in a network
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
JP2004171107A (ja) * 2002-11-18 2004-06-17 Sony Corp ソフトウエア提供システム、ソフトウエア提供装置および方法、記録媒体、並びにプログラム
CA2412383A1 (en) 2002-11-22 2004-05-22 Ibm Canada Limited-Ibm Canada Limitee Meta-model for associating multiple physical representations of logically equivalent entities in messaging and other applications
US7613812B2 (en) * 2002-12-04 2009-11-03 Microsoft Corporation Peer-to-peer identity management interfaces and methods
US7386529B2 (en) * 2002-12-19 2008-06-10 Mathon Systems, Inc. System and method for managing content with event driven actions to facilitate workflow and other features
US7512703B2 (en) * 2003-01-31 2009-03-31 Hewlett-Packard Development Company, L.P. Method of storing data concerning a computer network
US7890543B2 (en) * 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7099888B2 (en) * 2003-03-26 2006-08-29 Oracle International Corporation Accessing a remotely located nested object
EP2270730A1 (en) * 2003-04-25 2011-01-05 Apple Inc. Method and system for network-based purchase and distribution of media
US7203711B2 (en) 2003-05-22 2007-04-10 Einstein's Elephant, Inc. Systems and methods for distributed content storage and management
US7240327B2 (en) * 2003-06-04 2007-07-03 Sap Ag Cross-platform development for devices with heterogeneous capabilities
TWI223725B (en) 2003-06-10 2004-11-11 Chunghwa Picture Tubes Ltd Polarizer manufacturing method
US20050015430A1 (en) 2003-06-25 2005-01-20 Rothman Michael A. OS agnostic resource sharing across multiple computing platforms
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US7594015B2 (en) * 2003-07-28 2009-09-22 Sap Ag Grid organization
US7383541B1 (en) * 2003-08-07 2008-06-03 Cisco Technology, Inc. Method and apparatus providing interoperation of execution images of different versions
US20050060315A1 (en) * 2003-09-16 2005-03-17 Aleksey Sanin Metadata database lookup system
CA2539474C (en) * 2003-09-17 2012-04-03 Research In Motion Limited System and method for dynamic generation and customization of web service client applications for terminals
US7350201B2 (en) * 2003-10-23 2008-03-25 International Business Machines Corporation Software distribution application supporting operating system installations
US7721254B2 (en) * 2003-10-24 2010-05-18 Microsoft Corporation Programming interface for a computer platform
US7546594B2 (en) * 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US7574706B2 (en) * 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US20050138156A1 (en) * 2003-12-19 2005-06-23 Alexander Gebhart Grid application customization
US7257583B2 (en) * 2004-01-09 2007-08-14 Microsoft Corporation System and method for updating an on-device application catalog in a mobile device receiving a push message from a catalog server indicating availability of an application for download
WO2005072114A2 (en) 2004-01-19 2005-08-11 Pantero Corporation Enterprise interoperability using shared data services
US7480699B2 (en) * 2004-01-20 2009-01-20 International Business Machines Corporation System and method for replacing an application on a server
US20050177600A1 (en) * 2004-02-11 2005-08-11 International Business Machines Corporation Provisioning of services based on declarative descriptions of a resource structure of a service
US20050192962A1 (en) * 2004-02-26 2005-09-01 Patricia Furrer Apparatus, system, method for enabling web-applications to access enterprise managed data
EP1723518A1 (de) * 2004-03-09 2006-11-22 Bayerische Motorenwerke Aktiengesellschaft Aktualisierung und/oder erweiterung der funktionalität der ablaufsteuerung mindestens eines steuergeräts
US20050203931A1 (en) 2004-03-13 2005-09-15 Robert Pingree Metadata management convergence platforms, systems and methods
US7190962B2 (en) * 2004-04-01 2007-03-13 Qualcomm Incorporated Networked wireless communications device programmed to identify and eliminate probable multipath errors to enhance accuracy in correcting sleep clock for thermally induced errors
US20050251812A1 (en) 2004-04-27 2005-11-10 Convertabase, Inc. Data conversion system, method, and apparatus
US20050251786A1 (en) 2004-05-07 2005-11-10 International Business Machines Corporation System and method for dynamic software installation instructions
US7650432B2 (en) 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
US7703073B2 (en) * 2004-06-08 2010-04-20 Covia Labs, Inc. Device interoperability format rule set and method for assembling interoperability application package
CN1969282A (zh) * 2004-06-15 2007-05-23 松下电器产业株式会社 数据处理装置
US20050289454A1 (en) 2004-06-28 2005-12-29 D & Wayne & Co. Interactive website configuration, display and management application
US7882147B2 (en) 2004-06-30 2011-02-01 Robert T. and Virginia T. Jenkins File location naming hierarchy
US20060036602A1 (en) * 2004-08-13 2006-02-16 Unangst Marc J Distributed object-based storage system that stores virtualization maps in object attributes
US8069436B2 (en) * 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
CA2622404A1 (en) * 2004-09-15 2006-03-23 Adesso Systems, Inc. System and method for managing data in a distributed computer system
US20070038642A1 (en) * 2004-09-15 2007-02-15 Scott Durgin Method for providing extensible software components within a distributed synchronization system
US7266370B2 (en) * 2004-09-20 2007-09-04 Trilibis Inc. System and method for developing and deploying device independent applications
US20060089965A1 (en) * 2004-10-26 2006-04-27 International Business Machines Corporation Dynamic linkage of an application server and a Web server
US20060129972A1 (en) * 2004-11-30 2006-06-15 Tyburski John C Application developer and method for generating platform independent code
US7760746B2 (en) * 2004-11-30 2010-07-20 Computer Associates Think, Inc. Cascading configuration using one or more configuration trees
KR100714683B1 (ko) * 2004-12-24 2007-05-04 삼성전자주식회사 디지털 컨텐츠를 글로벌로 공유하고 거래하는 방법 및시스템
US9535679B2 (en) * 2004-12-28 2017-01-03 International Business Machines Corporation Dynamically optimizing applications within a deployment server
US8387037B2 (en) * 2005-01-28 2013-02-26 Ca, Inc. Updating software images associated with a distributed computing system
US7516206B2 (en) * 2005-01-28 2009-04-07 Cassatt Corporation Management of software images for computing nodes of a distributed computing system
US7685148B2 (en) * 2005-01-31 2010-03-23 Computer Associates Think, Inc. Automatically configuring a distributed computing system according to a hierarchical model
US20070050446A1 (en) * 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
US7680835B2 (en) * 2005-02-28 2010-03-16 Microsoft Corporation Online storage with metadata-based retrieval
US7590653B2 (en) * 2005-03-02 2009-09-15 Cassatt Corporation Automated discovery and inventory of nodes within an autonomic distributed computing system
US8554916B2 (en) * 2005-04-11 2013-10-08 Accenture Global Services Gmbh Service delivery platform and development of new client business models
US7743373B2 (en) 2005-05-06 2010-06-22 International Business Machines Corporation Method and apparatus for managing software catalog and providing configuration for installation
US7577681B1 (en) * 2005-06-29 2009-08-18 Emc Corporation Methods and apparatus for managing contents of a database
US7694287B2 (en) 2005-06-29 2010-04-06 Visa U.S.A. Schema-based dynamic parse/build engine for parsing multi-format messages
US7739680B1 (en) * 2005-07-21 2010-06-15 Sprint Communications Company L.P. Application server production software upgrading with high availability staging software
US20070028175A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing user tools
US20070061349A1 (en) 2005-09-15 2007-03-15 Microsoft Corporation Hierarchically describing shapes
US20070073770A1 (en) 2005-09-29 2007-03-29 Morris Robert P Methods, systems, and computer program products for resource-to-resource metadata association
US8005879B2 (en) * 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
WO2007064849A1 (en) * 2005-12-01 2007-06-07 Cassatt Corporation Automated deployment and configuration of applications in an autonomically controlled distributed computing system
US20070169083A1 (en) * 2005-12-12 2007-07-19 Penubolu Shyam P Method for secure in-service software upgrades
CN1801086A (zh) 2006-01-17 2006-07-12 浙江大学 应用于Java操作系统中设备支持的实现方法
US8606895B2 (en) 2006-01-17 2013-12-10 Kidaro (Israel) Ltd. Seamless integration of multiple computing environments
US7814211B2 (en) 2006-01-31 2010-10-12 Microsoft Corporation Varying of message encoding
US7793343B2 (en) * 2006-03-03 2010-09-07 Oracle America, Inc. Method and system for identity management integration
US8572138B2 (en) * 2006-03-30 2013-10-29 Ca, Inc. Distributed computing system having autonomic deployment of virtual machine disk images
US8060871B2 (en) * 2006-03-30 2011-11-15 Microsoft Corporation Servicing software through versioning
US7483978B2 (en) * 2006-05-15 2009-01-27 Computer Associates Think, Inc. Providing a unified user interface for managing a plurality of heterogeneous computing environments
DE102006023876A1 (de) * 2006-05-19 2007-11-22 Carl Zeiss Smt Ag Optische Abbildungseinrichtung
US7508787B2 (en) 2006-05-31 2009-03-24 Cisco Technology, Inc. Graphical selection of information display for wireless mesh hierarchies
US8370423B2 (en) 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US7814460B2 (en) * 2006-07-13 2010-10-12 Scriptlogic Corporation Hierarchical modular software packages and associated development tool
US7822594B2 (en) 2006-08-07 2010-10-26 Voltaire Ltd. Service-oriented infrastructure management
US7739411B2 (en) * 2006-08-11 2010-06-15 Samsung Electronics Co., Ltd. Method and system for content synchronization and detecting synchronization recursion in networks
US7606588B2 (en) * 2006-08-31 2009-10-20 Telefonaktiebolaget Lm Ericsson (Publ) Hierarchical point-to-multipoint group communications between multiple active communication groups
US8683352B2 (en) * 2006-09-05 2014-03-25 International Business Machines Corporation Selectable flattening hierarchical file browser
US7934194B2 (en) * 2006-10-17 2011-04-26 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
US20080249994A1 (en) 2006-11-28 2008-10-09 Calder Group, Inc. System and process for server side stateless data interchange
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US7844912B2 (en) * 2006-12-22 2010-11-30 Sap Ag System and method using transformation nodes with enhancement layers
US9451009B2 (en) * 2007-02-19 2016-09-20 Appcentral, Inc. Methods and system to create applications and distribute applications to a remote device
US20080263348A1 (en) * 2007-04-17 2008-10-23 Texas Instruments Incorporated Dynamic asymmetric partitioning of program code memory in network connected devices
US7853669B2 (en) * 2007-05-04 2010-12-14 Microsoft Corporation Mesh-managing data across a distributed set of devices
US8185891B2 (en) * 2007-05-14 2012-05-22 Red Hat, Inc. Methods and systems for provisioning software
US8321538B2 (en) * 2007-09-24 2012-11-27 Hewlett-Packard Development Company, L.P. Autonomous network device configuration method
US8266260B2 (en) * 2007-12-11 2012-09-11 Sharp Laboratories Of America, Inc. Method and system for updating the software of multiple network nodes
US9280402B2 (en) * 2007-12-20 2016-03-08 Sap Se System and method for updating a dual layer browser
US8127287B2 (en) * 2007-12-20 2012-02-28 Baljit Singh Gupta Systems and methods for reusing SAP adaptors in non-supported releases
US20090172637A1 (en) * 2007-12-28 2009-07-02 Microsoft Corporation Markup-based language for manifests
US9298747B2 (en) * 2008-03-20 2016-03-29 Microsoft Technology Licensing, Llc Deployable, consistent, and extensible computing environment platform
US8572033B2 (en) * 2008-03-20 2013-10-29 Microsoft Corporation Computing environment configuration
US8484174B2 (en) 2008-03-20 2013-07-09 Microsoft Corporation Computing environment representation
US20110246977A1 (en) * 2010-03-31 2011-10-06 Leviton Manufacturing Co., Inc. Control system code installation and upgrade
US9152404B2 (en) * 2011-07-13 2015-10-06 Z124 Remote device filter
US20140325502A1 (en) * 2012-06-29 2014-10-30 Giannis Zarifis Packaging, distribution and de-packaging of device-independent software applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117243B2 (en) * 2001-10-02 2006-10-03 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network
US20050060581A1 (en) * 2003-09-16 2005-03-17 Chebolu Anil Kumar Remote administration of computer access settings
TW200515175A (en) * 2003-10-24 2005-05-01 Microsoft Corp Programming interface for a computer platform
TW200620129A (en) * 2004-09-01 2006-06-16 Microsoft Corp Rule-based filtering and alerting

Also Published As

Publication number Publication date
WO2009117207A1 (en) 2009-09-24
CN101978366B (zh) 2013-10-30
EP2255295B1 (en) 2014-10-15
US10970062B2 (en) 2021-04-06
EP2255295A1 (en) 2010-12-01
JP2011515763A (ja) 2011-05-19
US20170357498A1 (en) 2017-12-14
KR20100133382A (ko) 2010-12-21
US20090241104A1 (en) 2009-09-24
US20220276857A1 (en) 2022-09-01
BRPI0907773A2 (pt) 2015-07-14
US11366654B2 (en) 2022-06-21
US10514901B2 (en) 2019-12-24
US20210357200A1 (en) 2021-11-18
US9753712B2 (en) 2017-09-05
EP2255295A4 (en) 2011-11-02
US20200110594A1 (en) 2020-04-09
US11593094B2 (en) 2023-02-28
TW200941347A (en) 2009-10-01
CN101978366A (zh) 2011-02-16
JP5409767B2 (ja) 2014-02-05

Similar Documents

Publication Publication Date Title
US11366654B2 (en) Application management within deployable object hierarchy
US9332063B2 (en) Versatile application configuration for deployable computing environments
JP6774499B2 (ja) オフラインでのハイブリッドアプリケーションへのアクセスの提供
US9680964B2 (en) Programming model for installing and distributing occasionally connected applications
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
US8244798B2 (en) Techniques for sharing content between portals
US20170359701A1 (en) Sticker distribution system for messaging apps
CN113254121A (zh) 与一个或多个扩展应用程序对接的消息应用程序
US20130179414A1 (en) Mechanisms for connecting files between applications
Kou GlassFish Administration
TW200933381A (en) System and method for running a web-based application while offline
Smith et al. Automated macOS Application Deployment Using Munki
CN117785221A (zh) 一种应用程序安装方法及电子设备
Amin Introducing grive

Legal Events

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