多個應(yīng)用版本的分發(fā)的制作方法
【專利說明】多個應(yīng)用版本的分發(fā)
[0001 ] 本申請是申請日為2014年03月19日、申請?zhí)枮?01280045508.2、發(fā)明名稱為“多個應(yīng)用版本的分發(fā)”的中國發(fā)明專利申請的分案申請。
[0002]有關(guān)申請的交叉引用
[0003]本申請要求對于2011年7月20日提交的、標題為MULTIPLE APPLICAT1N VERS1NS的第13/187,198號美國申請的優(yōu)先權(quán),其公開內(nèi)容通過引用結(jié)合于此。
技術(shù)領(lǐng)域
[0004]本文總體涉及軟件分發(fā)系統(tǒng)。
【背景技術(shù)】
[0005]可以使用多種模型來銷售和分發(fā)軟件應(yīng)用。有時用來分發(fā)以移動設(shè)備和其它計算設(shè)備為目標的應(yīng)用或者app的模型的一個示例是應(yīng)用集市模型。在這一模型中,軟件開發(fā)者可以提交它們的應(yīng)用用于在在線應(yīng)用集市中發(fā)布,并且集市可以提供允許用戶瀏覽或者搜尋發(fā)布的應(yīng)用的接口。
[0006]在用戶標識他或者她希望獲得的應(yīng)用時,應(yīng)用集市一般可以有助于交易。例如在免費應(yīng)用的情況下,應(yīng)用集市可以簡單地提供該應(yīng)用以用于向用戶的設(shè)備中的一個或者多個設(shè)備下載。在付費應(yīng)用的情況下,應(yīng)用集市可以提供應(yīng)用用于下載,并且也可以提供與從用戶收集付費并且補償軟件開發(fā)者有關(guān)的服務(wù)。應(yīng)用集市通??梢杂绍浖_發(fā)者和用戶二者信任的組織運作以適當處理任何這樣的交易。
【發(fā)明內(nèi)容】
[0007]本文檔描述允許開發(fā)者或者發(fā)布方在軟件分發(fā)系統(tǒng)、比如應(yīng)用集市中提供特定應(yīng)用的多個版本的系統(tǒng)和技術(shù)??梢砸詰?yīng)用的不同版本為目標,以便基于請求應(yīng)用的特定設(shè)備的能力或者與設(shè)備關(guān)聯(lián)的其它屬性而向不同設(shè)備或者設(shè)備類型分發(fā)。例如應(yīng)用的標準版本可以以具有標準能力的基本智能電話為目標,并且相同應(yīng)用的大屏幕版本可以以具有在某個尺寸以上的屏幕的寫字板或者智能電話為目標。作為另一示例,應(yīng)用的基本版本可以與具有特定操作系統(tǒng)的設(shè)備為目標,而應(yīng)用的利用更加新的操作系統(tǒng)的一些特征的高級版本可以以具有安裝的更加新的操作系統(tǒng)的設(shè)備為目標。
[0008]取代向瀏覽應(yīng)用集市的用戶呈現(xiàn)應(yīng)用的多個版本中的所有版本(這可能讓用戶混淆)的是,應(yīng)用集市可以代之以確定多個版本中的哪個版本與用戶的設(shè)備最適合地匹配,并且僅向用戶呈現(xiàn)該特定版本。這樣,開發(fā)者可以在應(yīng)用集市上發(fā)布應(yīng)用的多個不同版本,而不擔心用戶意外地選擇與用戶的各設(shè)備不兼容或者未為這些設(shè)備優(yōu)化的版本。此外,應(yīng)用集市可以能夠跨應(yīng)用的不同版本監(jiān)視各種應(yīng)用度量、比如用戶排名和安裝統(tǒng)計。
[0009]在一個方面中,本申請描述一種用于確定軟件應(yīng)用的以計算設(shè)備為目標的版本的由計算機實施的方法。該方法包括在應(yīng)用集市系統(tǒng)處并且從與計算設(shè)備關(guān)聯(lián)的用戶接收與由應(yīng)用集市系統(tǒng)分發(fā)的軟件應(yīng)用對應(yīng)的請求,該計算設(shè)備與應(yīng)用集市系統(tǒng)遠離地操作,軟件應(yīng)用具有在應(yīng)用集市系統(tǒng)上的多個版本。該方法也包括確定與計算設(shè)備關(guān)聯(lián)的一個或者多個設(shè)備屬性并且基于設(shè)備屬性從在應(yīng)用集市系統(tǒng)上的多個版本之中標識軟件應(yīng)用的、以計算設(shè)備為目標的特定版本。該方法也包括用于向用戶顯示并且響應(yīng)于請求來提供與軟件應(yīng)用的特定版本有關(guān)的信息。
[0010]在另一方面中,本申請描述一種用于通過應(yīng)用集市分發(fā)軟件的由計算機實施的方法。該方法包括在計算機系統(tǒng)處并且從應(yīng)用開發(fā)者接收軟件程序的多個版本。該方法也包括用計算機系統(tǒng)將軟件程序的版本中的特定版本與特定計算設(shè)備、設(shè)備類或者設(shè)備能力進行關(guān)聯(lián)。該方法也包括在計算機系統(tǒng)處并且從軟件程序的預(yù)期用戶與定義用戶的設(shè)備的能力的信息一起接收對于軟件程序的請求。該方法也包括從軟件程序的多個版本之中選擇與用戶的設(shè)備的定義的能力匹配的特定版本,以及通過電子網(wǎng)絡(luò)向用戶的設(shè)備遞送軟件程序的選擇的版本。
[0011]在另一方面中,本申請描述一種用于通過應(yīng)用集市分發(fā)軟件的由計算機實施的系統(tǒng)。該系統(tǒng)包括:應(yīng)用發(fā)布方計算系統(tǒng),其從應(yīng)用發(fā)布方接收軟件程序的多個版本,并且將軟件程序的版本中的特定版本與特定計算設(shè)備、設(shè)備類別或者設(shè)備能力進行關(guān)聯(lián)。該系統(tǒng)也包括:應(yīng)用集市計算系統(tǒng),其從軟件程序的預(yù)期用戶與定義用戶的設(shè)備的能力的信息一起接收對于軟件程序的請求。應(yīng)用集市計算系統(tǒng)也從軟件程序的多個版本之中選擇與用戶的設(shè)備的定義的能力匹配的版本,并且通過電子網(wǎng)絡(luò)向用戶的設(shè)備遞送軟件程序的選擇的版本。
[0012]在附圖和以下描述中闡述一個或者多個實施例的細節(jié)。將根據(jù)描述和附圖以及從權(quán)利要求清楚其它特征和優(yōu)點。
【附圖說明】
[0013]圖1A是示出用于發(fā)布和分發(fā)軟件應(yīng)用的環(huán)境的示例的概念圖。
[0014]圖1B是示出應(yīng)用發(fā)布方系統(tǒng)和應(yīng)用市場系統(tǒng)的示例的系統(tǒng)圖。
[0015]圖2是允許軟件發(fā)布方上傳軟件應(yīng)用的多個版本的示例用戶接口的圖。
[0016]圖3是允許軟件發(fā)布方描述和修改軟件應(yīng)用的不同版本以其為目標的設(shè)備組的示例用戶接口的圖。
[0017]圖4是用于發(fā)布和分發(fā)具有不同版本的軟件應(yīng)用的示例過程的泳道圖。
[0018]圖5示出可以用來實施這里描述的技術(shù)的計算機設(shè)備和移動計算機設(shè)備的示例。
[0019]在各種附圖中的相似標號指示相似單元。
【具體實施方式】
[0020]本文描述允許軟件開發(fā)者和/或發(fā)布方在應(yīng)用集市中發(fā)布應(yīng)用的多個版本的系統(tǒng)和技術(shù)。這樣的功能可以在多個不同情形中由軟件開發(fā)者和/或發(fā)布方使用。例如軟件開發(fā)者可能想要它的應(yīng)用支持具有不同屏幕尺寸的設(shè)備(例如智能電話和寫字板),并且可能希望提供專門為將執(zhí)行該應(yīng)用的特定設(shè)備定制的圖形和其它用戶接口元素。在這樣的示例中,軟件開發(fā)者可以開發(fā)應(yīng)用的兩個或者更多版本并且可以在應(yīng)用集市中發(fā)布兩個或者更多版本用于向適當設(shè)備分發(fā)。相似地,另一應(yīng)用開發(fā)者可能希望支持具有不同操作框架(例如操作系統(tǒng)或者應(yīng)用編程接口(API))的設(shè)備并且可能想要提供特定于設(shè)備的特定框架的特征。同樣,軟件開發(fā)者可能想要選擇發(fā)布應(yīng)用的不同版本并且可以依賴于應(yīng)用集市以向為請求應(yīng)用的特定設(shè)備分發(fā)適當版本。
[0021]根據(jù)這里描述的技術(shù),應(yīng)用集市可以通過確定與設(shè)備關(guān)聯(lián)的某些屬性來標識用于設(shè)備的應(yīng)用的適當版本。繼續(xù)以上示例,應(yīng)用集市可以從具有小屏幕尺寸的智能電話接收請求并且基于智能電話的屏幕尺寸可以提供應(yīng)用的小屏幕版本用于由智能電話下載。響應(yīng)于接收到相似請求,但是是從額外大屏幕尺寸的寫字板接收該請求,應(yīng)用集市可以代之以提供應(yīng)用的大屏幕版本用于由寫字板下載。
[0022]在一些實現(xiàn)中,這樣的功能可以對用戶透明,原因在于用戶無需了解應(yīng)用的不同版本。取而代之,在這樣的實現(xiàn)中,應(yīng)用集市可以僅向用戶示出應(yīng)用的以用戶的特定設(shè)備為目標的版本。以這一方式,應(yīng)用集市可以防止在向用戶呈現(xiàn)多個不同的用于下載的選擇的情況下原本可能出現(xiàn)的用戶混淆。
[0023]圖1A是示出用于發(fā)布和分發(fā)軟件應(yīng)用的環(huán)境100的示例的概念圖。在環(huán)境100中,使用計算設(shè)備102的軟件發(fā)布方可以與發(fā)布方系統(tǒng)104交互以如標注為A的箭頭所示上傳和/或發(fā)布應(yīng)用的多個版本。軟件發(fā)布方也可以使用發(fā)布方系統(tǒng)104以定義作為應(yīng)用的特定版本的目標的特定設(shè)備、設(shè)備類型或者設(shè)備組。例如軟件發(fā)布方可以指定應(yīng)當向具有相機的移動計算設(shè)備提供應(yīng)用的一個版本而應(yīng)當向無相機的移動計算設(shè)備提供相同應(yīng)用的另一版本(例如不包括拍攝圖片的能力的更不復(fù)雜的版本)。
[0024]發(fā)布方系統(tǒng)104可以允許軟件發(fā)布方用多種方式指定版本目標設(shè)定。例如在一些實現(xiàn)中,軟件發(fā)布方可以包括在與相應(yīng)應(yīng)用版本對應(yīng)的應(yīng)用二進制文件中、例如在二進制文件中嵌入的清單文件中的元數(shù)據(jù)信息。清單文件可以描述與能夠執(zhí)行應(yīng)用的設(shè)備或者設(shè)備類型有關(guān)的某些依賴關(guān)系、限制或者其它類型的信息。在清單文件中的信息可以由應(yīng)用發(fā)布方系統(tǒng)104用來自動(例如無用戶干預(yù))定義可以用來使版本以特定設(shè)備或者設(shè)備組為目標的一個或者多個應(yīng)用特性的集合。例如如果清單聲明應(yīng)用版本僅與操作系統(tǒng)(0S)2.0或者以上兼容,則應(yīng)用發(fā)布方系統(tǒng)104可以自動使應(yīng)用版本以具有2.0或者以上版本的設(shè)備為目標。應(yīng)用的另一版本可以包括聲明與OS 1.6至1.8兼容的清單,并且應(yīng)用發(fā)布方系統(tǒng)104因此可以使應(yīng)用版本以具有OS 1.6至1.8的設(shè)備為目標。
[0025]在其它實現(xiàn)中,應(yīng)用發(fā)布方系統(tǒng)104可以提供用戶接口,該用戶接口允許軟件發(fā)布方使用各種設(shè)備屬性來定義設(shè)備組。設(shè)備組可以各自對應(yīng)于軟件應(yīng)用的不同版本。例如軟件發(fā)布方可以選擇用來區(qū)分各種設(shè)備組的一個或者多個設(shè)備屬性并且可以提供用于設(shè)備屬性中的每個設(shè)備屬性的值或者值范圍以定義設(shè)備組。軟件發(fā)布方可以定義適當數(shù)目的設(shè)備組一一每個設(shè)備組可以與應(yīng)用的一個特定版本關(guān)聯(lián)一一以控制相應(yīng)應(yīng)用設(shè)備向作為應(yīng)用版本的目標的適當設(shè)備的分發(fā)。通過使用多個不同設(shè)備屬性組合來定義設(shè)備組,軟件發(fā)布方可以能夠使用任何適當級別的粒度來指定對它的應(yīng)用版本的分發(fā)。
[0026]應(yīng)用發(fā)布方系統(tǒng)104也可以使用這些方式的組合以定義用于使應(yīng)用版本以特定設(shè)備組為目標的設(shè)備組。例如發(fā)布方系統(tǒng)104可以初始地使用來自用應(yīng)用二進制文件包括的清單的信息來自動設(shè)立設(shè)備組、然后可以允許軟件發(fā)布方適當時調(diào)整或者調(diào)節(jié)設(shè)備組。
[0027]在計算設(shè)備102與發(fā)布方系統(tǒng)104之間的通信可以通過任何適當網(wǎng)絡(luò)(例如因特網(wǎng)、LAN、WAN、無線寬帶或者其任何組合)出現(xiàn)。計算設(shè)備102被描繪為桌面型計算機,但是其它類型的計算設(shè)備(例如膝上型計算機、網(wǎng)本、寫字板、智能電話、機頂盒等)也可以與發(fā)布方系統(tǒng)104通信。相似地,發(fā)布方系統(tǒng)104被描繪為獨立服務(wù)器,但是發(fā)布方系統(tǒng)104可以代表服務(wù)器群集、服務(wù)器群或者可以用來托管發(fā)布方系統(tǒng)104的功能的其它服務(wù)器分組。在一些實現(xiàn)中,發(fā)布方系統(tǒng)104可以由提供這里描述的發(fā)布服務(wù)的受信任的組織操作。
[0028]在從軟件開發(fā)者接收用于發(fā)布應(yīng)用、包括應(yīng)用的一個或者多個版本的指令時,發(fā)布方系統(tǒng)104可以如標注為B的箭頭所示向應(yīng)用數(shù)據(jù)存儲裝置106中的一個或者多個數(shù)據(jù)結(jié)構(gòu)寫入關(guān)于應(yīng)用的某些信息。數(shù)據(jù)結(jié)構(gòu)一般可以用來描述應(yīng)用并且也可以用來描述應(yīng)用的各種發(fā)布和/或未發(fā)布的版本。作為示例,數(shù)據(jù)結(jié)構(gòu)可以包括比如描述應(yīng)用的各種版本的版本化信息、描述版本以其為目標的設(shè)備或者設(shè)備類型的設(shè)備組信息和一般與應(yīng)用或者與應(yīng)用的具體版本關(guān)聯(lián)的其它適當元數(shù)據(jù)(例如定價信息、文本描述、屏幕截圖、圖標、用于從下載應(yīng)用的用戶接收付款的賬戶等)這樣的信息。
[0029]在發(fā)布方系統(tǒng)104已經(jīng)發(fā)布應(yīng)用之后,應(yīng)用可以表現(xiàn)為用于經(jīng)由可以被配置用于讀取在應(yīng)用數(shù)據(jù)存儲裝置106中存儲的數(shù)據(jù)結(jié)構(gòu)的應(yīng)用市場系統(tǒng)108下載的應(yīng)用。根據(jù)這里描述的技術(shù),在已經(jīng)在應(yīng)用市場系統(tǒng)108上發(fā)布應(yīng)用的多個版本時,系統(tǒng)可以確定應(yīng)用版本中的哪個應(yīng)用版本適合于請求應(yīng)用(或者在使用不同計算設(shè)備來請求應(yīng)用的情況下的情況下為其請求應(yīng)用)的特定計算設(shè)備,并且可以向計算設(shè)備提供應(yīng)用的該特定版本。在一些情況下,這樣的功能可以減少用戶混淆,并且仍然可以向軟件發(fā)布方提供用于發(fā)布應(yīng)用的以不同設(shè)備或者設(shè)備類型為目標的多個版本的能力。
[0030]在環(huán)境100中,用戶可以如標注為C的箭頭所示向多個不同客戶端計算設(shè)備、例如設(shè)備110、112和116來訪問應(yīng)用集市系統(tǒng)108。移動客戶端計算設(shè)備、例如設(shè)備110和112如智能電話或者寫字板可以通過無線通信信道或者任何其它適當通信信道與應(yīng)用集市系統(tǒng)108通信。在一些實現(xiàn)中,移動計算設(shè)備可以具有安裝為在設(shè)備