本發(fā)明涉及一種用于在電信網絡中部署一組軟件應用的方法,電信網絡包括至少一個服務器、電信終端以及在所述服務器和所述終端之間的電信裝置,該方法包括由服務器執(zhí)行的以下步驟:
-接收待部署在終端上的該組軟件應用;
-基于該組軟件應用確定用于終端的部署數據。
背景技術:
終端例如包括移動或固定設備、智能手機、平板電腦、筆記本電腦或臺式電腦、多媒體設備。
部署一組軟件應用的需要尤其發(fā)生在對終端群(fleets)的管理中,例如業(yè)務終端群,人們希望監(jiān)測終端的內容。在這種監(jiān)測的背景下,存在使得能夠對終端的數據進行保護的移動設備管理方案或安全解決方案。
當前用于部署軟件應用的方案基于通常由終端操作系統(tǒng)的發(fā)布者提供的公共應用部署系統(tǒng)的使用,例如“谷歌市場(Google Play)”系統(tǒng),根據該系統(tǒng),由終端的用戶(常常是終端群的管理員)安裝每個應用。對于應用的改動被發(fā)布在“谷歌市場”上?!肮雀枋袌觥比缓笸ㄖK端這些更新可用。
其它方案使用了專門的管理系統(tǒng)在終端上部署應用,通常在使用該方案的公司的信息系統(tǒng)上或者在為用戶選擇的安全解決方案的發(fā)布者處進行部署。
例如,文獻WO 2011162746A1已知設計應用部署確定系統(tǒng)。
上述這些方案存在一定數量的缺陷。
這些方案導致終端管理者或用戶難以接受的行為,例如:
-具有谷歌賬戶來下載應用、或要求經過公司的信息系統(tǒng);
-要求管理員來管理應用與正在使用中的操作系統(tǒng)版本的兼容性:操作者必須事先檢查他希望在遠程終端上部署的應用確實和該遠程終端相兼容。
此外,這些方案給中央管理實體造成了巨大的下載量:中央管理實體知道應用列表和每個終端中實施的操作系統(tǒng)版本,而且,對于這些終端中的每一個,根據該信息執(zhí)行計算以生成專用于該終端的部署順序,指示終端必須執(zhí)行的應用的安裝、刪除和更新以與由管理員限定的一組應用兼容。終端然后應用其具體的部署順序。
因此,所管理的終端的數目越大,該中央實體將需要進行更多的處理以管目標理終端群上的應用的部署。
上述方案基于以下原則:中央實體給終端發(fā)送通知以通知終端該部署順序或更新可用。這個原則要求中央實體了解終端的可用性以確保它們已經全部接收到通知,從而會產生用于那個實體的額外的工作量。
因此,需要減少現有技術方案中的缺陷。
技術實現要素:
為此,根據第一方面,本發(fā)明提出了用于部署以上提及的類型的一組應用的方法,其特征在于:所述用于終端的數據包括由服務器通過實施以下步驟確定的部署列表:
-對于在終端上實施的操作系統(tǒng)組中的每個操作系統(tǒng),基于與所述應用和操作系統(tǒng)之間的兼容性有關的標準,從所述待部署的該組軟件應用中選擇軟件應用;以及確定與該操作系統(tǒng)相關聯并且包括所選擇的應用的標識符的部署子列表;
-在所述部署列表(F2)中插入為針對操作系統(tǒng)組的應用的系統(tǒng)確定的子列表;
-將所述部署列表提供給所述終端提供。
上述自動處理方法因此使得能夠生成可以被所有終端使用的單個文件。在服務器級別的計算需求是有限的。
在實施例中,根據本發(fā)明的用于部署一組軟件應用的方法進一步包括一個或多個以下特征:
-對于從與一操作系統(tǒng)相關聯的子列表中選擇的每個應用,服務器確定該應用的安裝或卸載是否取決于另一應用,如果確定所述應用的安裝或卸載取決于另一應用,則服務器依賴關系將所述另一應用的標識符添加到與操作系統(tǒng)相關聯的子列表中,以指示所述應用與所述另一應用之間的依賴關系。
-驗證與給定的應用和操作系統(tǒng)之間的兼容性有關的所述準則包括:
-從應用中提取指示與應用兼容的操作系統(tǒng)的元數據的;和/或
-將與應用兼容的操作系統(tǒng)和由服務器管理的操作系統(tǒng)的列表進行比較;和/或
-從應用中提取指示應用的版本的數據;和/或
-應用和操作系統(tǒng)與各自的安全級別相關聯:將應用的安全級別和操作系統(tǒng)的安全級別進行比較;
-每個操作系統(tǒng)與強制性安全應用相關聯,并且應用和操作系統(tǒng)與各自的安全級別相關聯:確定與操作系統(tǒng)相關聯的強制性安全應用,并且將所給定的安全級別和所確定的強制性安全應用的安全級別進行比較。
根據第二方面,本發(fā)明提出了用于在電信網絡中部署一組軟件應用的方法,電信網絡包括至少一個服務器、電信終端及在所述服務器和所述終端之間的電信裝置,所述方法包括以下步驟:
-終端經由電信裝置從服務器中獲得部署列表,該部署列表列出多個子列表,該多個子列表指示應用標識符的子列表,并且每個子列表和與一組操作系統(tǒng)的相應終端操作系統(tǒng)相關聯;
-終端確定之后安裝在終端上的應用和操作系統(tǒng),將所確定的應用和與所確定的操作系統(tǒng)相關聯的子列表進行比較,并且基于上述比較:
-對于安裝在終端上的應用中所述標識符沒有在所述子列表中出現的每一個,終端卸載所述應用;
-對于在所述子列表中出現的應用標識符中的每一個,終端執(zhí)行以下步驟:
-終端確定所述應用是否已經安裝在終端上;
-如果終端確定應用尚未安裝在終端上,則終端從服務器下載所述應用并安裝所述應用;
部署方法進一步包括根據本發(fā)明的第一方面的部署方法的步驟:
在實施例中,根據本發(fā)明用于部署一組軟件應用的方法還包括一個或多個以下特征:
-與每個操作系統(tǒng)相關聯的子列表指示應用標識符,每個應用標識符與應用版本號相關聯,并根據該應用標識符執(zhí)行以下步驟:
-如果終端確定應用已經安裝在終端上,則終端將所安裝的應用的版本號和與列表中的標識符相關聯的版本號進行比較;
-如果所比較的版本號不同,則終端10從服務器下載在列表中所指示的版本號指示的應用的版本,并安裝所下載的軟件應用;
-在子列表中,一應用的標識符與另一應用的標識符相匹配,指示所述應用的安裝或卸載應用取決于所述另一應用,其中,終端以基于所述指示的順序安裝或卸載所述應用。
根據第三方面,本發(fā)明提出了安裝在服務器上的計算機程序,該計算機程序用于在電信網絡中實施,該電信網絡進一步包括電信終端及在所述服務器和所述終端之間的電信裝置,所述程序包括用于在在服務器的處理裝置執(zhí)行期間執(zhí)行根據本發(fā)明的第一方面的步驟的指令。
根據第四方面,本發(fā)明提出了在電信終端上安裝的計算機程序,該計算機程序用于在電信網絡中實施,電信網絡包括至少一個服務器、多個電信終端及在所述服務器和所述終端之間的電信裝置,所述程序包括用于在終端的處理裝置執(zhí)行程序期間執(zhí)行根據本發(fā)明的第二方面的步驟的指令。
根據第五方面,本發(fā)明提出了電信網絡的服務器,該電信網絡包括電信終端,所述服務器包括在所述服務器和所述終端之間的電信裝置;
所述服務器適用于接收待部署在終端上的一組軟件應用,基于所述接收的該組軟件應用確定用于終端的部署數據;
所述服務器的特征在于,在確定部署數據期間,該服務器適用于基于相對于與所述應用和操作系統(tǒng)之間的兼容性有關的準則,針對在終端上實現的操作系統(tǒng)組中的每個操作系統(tǒng),從所述待部署的該組軟件應用中選擇軟件應用;以及確定與該操作系統(tǒng)以及包括所述所選擇的應用的標識符相關聯的部署子列表;
所述服務器適用于在部署列表(F2)中插入針對所述操作系統(tǒng)組的應用的系統(tǒng)所確定的子列表,并使所述部署列表對于終端可用。
根據第六方面,本發(fā)明提出了用于電信網絡的電信終端,電信網絡包括:至少一個服務器、電信終端及在所述服務器和所述終端之間的電信裝置;
所述終端適用于經由電信裝置從服務器中獲得部署列表,該部署列表列出多個子列表,所述子列表指示應用標識符的子列表,并且每個子列表與一組操作系統(tǒng)的相應終端操作系統(tǒng)相關聯;
所述終端適用于確定應用和操作系統(tǒng)并將其安裝在終端上,對所確定的應用和與所確定的操作系統(tǒng)相關聯的子列表進行比較,并且基于上述比較:
-對于安裝在終端上的應用中所述標識符沒有在所述子列表中出現的每一個應用,終端卸載所述應用;
-對于在所述子列表中出現的應用標識符中的每一個,執(zhí)行以下步驟:
-確定所述應用是否已經安裝在終端上;
-如果終端確定所述應用尚未安裝在終端上,則終端從服務器下載所述應用并安裝所述應用。
附圖說明
閱讀以下僅作為示例提供并參照附圖進行的描述,將更好地理解本發(fā)明的以上特征和優(yōu)點,在附圖中:
圖1示出了在本發(fā)明的一個實施例中的電信系統(tǒng)的示意圖;
圖2示出了在本發(fā)明的一個實施例中實施的步驟的示意圖;
圖3示出了在本發(fā)明的一個實施例中實施的步驟的示意圖;
圖4示出了在本發(fā)明的一個實施例中的部署文件F2的內容的一部分的示意圖。
具體實施方式
圖1為實施根據本發(fā)明的方法的系統(tǒng)示意圖;
電信系統(tǒng)100包括多個用戶終端10。這些終端10經由電信鏈路11(有線或無線)連接到電信網絡R1。分布式服務器Servd也經由電信鏈路11連接到電信網絡R1。
終端10例如包括通過無線鏈路11連接到網絡R1上的移動智能手機。終端例如包括臺式電腦或筆記本電腦等等。
此外,分布式服務器(distribution server)Servd和生成式服務器(generating server)Servg通過各自的電信鏈路12連接到電信網絡R2。
在一個實施例中,網絡R1是公共網絡,例如因特網,網絡R2是私人網絡,例如公司網絡。
每個終端10特別地包括存儲器11和微處理器12。存儲器11尤其適用于存儲操作系統(tǒng)和軟件應用,并使用微處理器12來實施它們。
在此處所考慮的實施例中,系統(tǒng)100實現被稱為安全層的安全環(huán)境,該安全環(huán)境通過使用強制性安全軟件應用來實現。
安裝了強制性安全軟件應用的終端10適用于在終端10上安裝的任何軟件應用,并且通過以下方式與要保護的安全層兼容:由軟件應用生成的數據和/或軟件應用與網絡R1交換的數據被加密,通過使用軟件劃分以避免應用受到任何欺詐性的入侵。該劃分監(jiān)視安全應用的輸入和輸出以防止不安全的第三方應用以危險方式與安全應用交互。
系統(tǒng)100中存在安全層的不同版本。
圖2示出了在本發(fā)明的一個實施例的系統(tǒng)100中實施的步驟的示意圖。
值得注意的是,在所考慮的實施例中,在微處理器12上執(zhí)行了在存儲器11中存儲的相應的軟件指令后,完成由每個終端實施的步驟。
同樣地,在服務器的計算裝置上執(zhí)行了在服務器的存儲器中存儲的相應的軟件指令之后,完成由每個服務器Servg、Servd實施的步驟。
在第一配置步驟101中,服務器Servg導入配置文件F1,例如就完整性和真實性進行加密保護的配置文件。該文件例如由解決方案的發(fā)布者提供給服務器Servg并由服務器Servg的管理員U插入。
在所考慮的實施例中,該配置文件F1:
-對于由生成式服務器Servg管理的每個安全層版本和操作系統(tǒng)版本,指示依賴關系列表,該依賴關系列表包括應用的標識符,該應用在終端上的安裝或卸載使用了其它應用;并且該依賴關系列表中,每個應用標識符與所述其它應用的標識符相關聯。
-指示安全應用的標識符列表,該安全應用根據在系統(tǒng)1中考慮的安全層必須安裝在必須部署應用的終端上。
該文件F1存儲在服務器Servg的存儲器中。
在步驟102中,例如由請求導入軟件應用A的管理員U將指令提供給服務器Servg,每個導入的軟件應用與應用標識符和版本號相關聯。
當接收到要導入應用A的指令時,服務器Servg(經由網絡R2、其它網絡或媒介)導入軟件應用A,然后請求將軟件應用A存儲在分布式服務器Servd中。在步驟103中,服務器Servg分析該軟件應用A的內容并從該應用中提取數據,例如在應用的源代碼中呈現的元數據或在應用中呈現的清單文件的元數據,該元數據指示:
-與應用兼容的操作系統(tǒng)(例如操作系統(tǒng)的類型(例如安卓、Windows、Linux等等)和操作系統(tǒng)的版本(例如V4.0、V3.2等等)),
-與應用兼容的安全層的版本。
上述信息存儲在服務器Servg的存儲器中,與應用A的標識符及版本號匹配。
在步驟104中,管理員U選擇所導入的應用A(包括一個或多個強制性安全應用;該選擇可以默認完成)中的至少一些并給服務器Servg指示該選擇。這些所選擇的應用A限定管理員希望在終端10的組(set)T上部署的軟件包。
在步驟105中,服務器Servg基于所選的應用和服務器的存儲器中存儲的相關聯的信息,并進一步基于文件F1的配置信息,確定與限定的軟件包對應的部署列表的內容。在一個實施例中,由于基于F1中包含的信息,如果對于執(zhí)行所選擇的應用是必要的則可以引導服務器Servg添加應用,所以軟件包可以包含比那些由管理員U選擇的應用更多的應用。
在所考慮的實施例中,該部署列表包括圖4中示意性示出的文件F2。
參照圖4,由生成式服務器Servg確定的部署列表F2包括與各操作系統(tǒng)相關聯的連續(xù)區(qū)段(section)SOS。因此,區(qū)段SOSX與操作系統(tǒng)X相關聯。在所考慮的示例中,每個操作系統(tǒng)以操作系統(tǒng)的類型(Windows、Linux、Android)和操作系統(tǒng)的版本來表征。
與操作系統(tǒng)SOS相關聯的每個區(qū)段(例如段SOSX)包括針對以上限定的軟件包的組件的應用標識符A2,以及對于這些應用標識符中的每一個,進一步包括與所述應用標識符A2相關聯的版本代碼,該版本代碼指示應用的版本號、應用的大小、完整性字和依賴關系列表,完整性字使終端對能夠對其已經下載的應用進行完整性檢查。
現在參照圖3更詳細地對由生成式服務器Servg實施的步驟105進行描述。
在步驟105_1中,對于連續(xù)考慮的軟件包的每個應用標識符A2,服務器Servg從該服務器的存儲器中提?。?/p>
-與應用A2兼容的的信息系統(tǒng)有關的信息,以及
-應用A2的安全層版本。
對于被指示為與應用A2兼容并連續(xù)考慮的這些信息系統(tǒng)的每一個,在步驟105_2中,服務器Servg從該服務器的存儲器中提取配置文件F1(基于來自配置文件F1的存儲數據和從強制性應用中提取的數據),強制性安全應用的安全層版本與該信息系統(tǒng)兼容。上述信息系統(tǒng)在下文中引用如下:操作系統(tǒng)OS版本x。
在步驟105_3中,服務器Servg比較應用A2的安全層版本和與該信息系統(tǒng)兼容的強制性安全應用的安全層版本。
如果這兩個安全層版本不同,則不將所考慮的版本的應用A2添加到與操作系統(tǒng)OS版本X相關聯的文件F2的區(qū)段(步驟105_4),然后考慮下一個被指示為兼容的操作系統(tǒng)。
應該注意的是,在本發(fā)明的一個實施例中,如果操作系統(tǒng)版本X與具有不同安全層版本的多個安全應用兼容,則服務器Servg將自動選擇具有最新版本的應用(即,最高的版本代碼)并將該應用添加到F2中與操作系統(tǒng)OS版本X相關聯的的區(qū)段。
如果兩個安全層版本等同,則將所考慮的版本中提到的應用A2添加到F2中與操作系統(tǒng)OS版本X相關聯的區(qū)段SOSX中,但是在步驟105_5中,在存儲在服務器Servg的存儲器中并來自配置文件F1的依賴關系列表中,服務器Servg預先驗證應用A2是否被指示為依賴于其它應用。
如果應用A2沒有依賴關系,則在步驟105_7中,使與應用A2有關的字段(feild)(應用標識符、版本代碼、大小、完整性字)被輸入到與操縱系統(tǒng)OS版本X相關聯的文件F2的區(qū)段中。
如果應用A2被指示為依賴于其它應用,則使A2依賴的所述其它應用的標識符被輸入到與與操作系統(tǒng)OS版本X相關聯的文件F2的區(qū)段SOSX中與應用A2相關聯的“依賴關系列表”字段中,使與應用A2有關的其它字段(應用標識符、版本代碼、大小、完整性字)被輸入到文件F2的區(qū)段SOSX中[sic](原文如此)。
一旦已經執(zhí)行了用于軟件包的每個應用A2(和用于與應用A2兼容的操作系統(tǒng))的上述這些操作,則步驟105在步驟105_8處停止。
在步驟106中,生成式服務器Servg經由鏈路12和網絡R2向分布式服務器Servd發(fā)送部署列表F2,以使得部署列表F2對終端10可用。
根據實施例,限定列表所用于的終端10的組(set)T(例如,給定公司的終端的組)的信息還被發(fā)送(至服務器Servd),的列表,信息與部署列表F2匹配。生成式服務器Servg為給定組T或單個終端10提供部署列表F2服務器Servg預先向分布式服務器Servg提供組T的定義,這導致創(chuàng)建存儲每個組T的一般數據的文件(目錄)以及特定于每個終端10的文件。
如果新的部署列表F2適用于限定終端10的組T,則分布式服務器Servd然后存儲上述與終端10相關聯的新的部署列表F2。
因此,生成式服務器Servg已經將由管理員U限定的滿足以下2個標準的軟件包的應用包含到所生成的文件F2中,根據這2個標準該應用必須:
-與操作系統(tǒng)(版本和類型)兼容,該操作系統(tǒng)與強制性應用兼容;以及
-使得應用的安全層版本與強制性應用的安全層版本兼容。
部署列表包括子列表,子列表分別與根據本發(fā)明的系統(tǒng)100管理的每個操作系統(tǒng)相關聯。每個子列表通過操作系統(tǒng)選擇的包的應用標識符列出所考慮的部署及相關數據。
每個終端10是合適的以便于經由電信鏈路11和網絡R1定期(例如每天一次)驗證自身,并與分布式服務器Servd建立通信,以便于下載在服務器上可用的新的部署列表F2,接下來基于新的部署列表執(zhí)行操作。
以下對于任何終端10概括了這些步驟。
在步驟107中,終端10經由電信鏈路11和網絡R1建立與服務器Servd的通信,并請求經由安全的相互驗證(例如密碼驗證)連接到分布式服務器Servd。
然后,一旦驗證完成,在步驟108中,終端10和分布式服務器Servd交換信息,并基于這些交換確定終端10是否已經下載了可用于終端10的服務器Servd的部署列表F2。
如果是,則結束終端10和分布式服務器Servd之間的通信。
如果不是,則在步驟109中,終端10從分布式服務器Servd下載部署列表F2(如果可用的話,則僅在服務器Servd已經驗證了所述終端10實際上是對應于該部署列表F2的終端10的組T的一部分之后授權該下載)。
在步驟110中,終端10使用所下載的部署列表F2。特別是執(zhí)行以下處理:
-對于安裝在終端10上的每個應用(下文中簡稱A10):如果在與終端10實施的操作系統(tǒng)X對應的部署列表F2中的這個區(qū)段SOSX中沒有列出A10,則終端10卸載軟件應用A10;
-對于在區(qū)段SOSX中列出的每個軟件應用A2,終端執(zhí)行操作i至iii:
i.終端確定所述應用是否已經安裝在終端10上;
ii.如果是,則終端比較所安裝的應用A2的版本和由區(qū)段SOSX中表示的A2的版本代碼表示的版本。根據該比較:如果所比較的版本相同,則不存在要由終端10完成的與A2有關的操作;如果所比較的版本不同,則終端10從服務器Servd下載由區(qū)段SOSX中表示的A2的版本代碼表示的A2的版本,并使用所下載的版本(通常經由軟件更新程序)替換所安裝的軟件應用A2。
iii.如果終端10已經確定應用A2尚未安裝在終端10上,則當符合在區(qū)段SOSX中的應用A2的依賴關系列表中指示的A2的軟件依賴關系時,終端從服務器Servd下載并安裝由區(qū)段SOSX中指示的版本下的A2:如果在應用A2的依賴關系列表中識別出的應用A3,則在下載并安裝A2之前,終端10下載并安裝應用A3。
在所考慮的實施例中,終端10適用于就存在新的部署列表F2定期查詢分布式服務器Servd。在另一實施例中,通過消息通知終端10存在待下載的新的部署列表F2或者將新的部署列表F2直接發(fā)送給終端10。
這些部署列表(文件F2)因此包括:對于每個所考慮的類型的操作系統(tǒng),在每個考慮的版本中,從由管理員指示的一組應用E中提取的應用列表。
因此,對于在文件F2中考慮的兩個操作系統(tǒng)版本,針對操作系統(tǒng)的第一版本確定的應用列表可以與針對操作系統(tǒng)的第二版本確定的應用列表不同,原因如下:
-由管理員選擇的應用與兩個操作系統(tǒng)版本之一不兼容;
-應用與對應于操作系統(tǒng)的版本之一的安全層不兼容。
該部署列表(文件F2)不包括考慮的實施例中的任何命令。該部署列表提供了管理員限定的在一組應用E中的應用列表。
已經由服務器Servg一致形成了部署列表F2,即不存在與強制性安全應用不兼容的安全層。
因此,本發(fā)明使得對在終端群上的應用部署進行簡化成為可能。本發(fā)明系統(tǒng)地并自動解決了以下技術問題:
-應用與終端的操作系統(tǒng)及那些操作系統(tǒng)的版本的兼容性;
-應用與其使用的安全層的兼容性和一致性;
-將應用之間的依賴關系考慮在內。
本發(fā)明進一步使得能夠增強性能并減少必要的處理資源。
處理操作實際上分布在在中央實體(上文中的生成式服務器Servg)和移動終端之間。服務器Servg負責應用列表、一致性檢查并產生所生成的部署列表(在以上情況下,文件F2),每個終端根據共享文件F2執(zhí)行處理操作以減少必要的操作,從而基于終端的狀態(tài)執(zhí)行處理操作。
經由文件F2生成的部署列表是唯一的(服務器Servg僅生成用于一終端組的單個文件F2,而不是針對每個終端生成一個文件)。服務器尚未基于特定終端的狀態(tài)建立終端使用的文件F2,尤其是獨立于在該特定終端上實施的應用和操作系統(tǒng)建立文件F2。
參照以上附圖所描述的實施例使用了經由網絡R2連接的兩個服務器Servg和Servd。這只是本發(fā)明除其他情況之外的一個可能的實施例。在其他的實施例中,例如,使用單個服務器來執(zhí)行由這些服務器(Servg和Servd)執(zhí)行的操作。
在以上參照附圖描述的實施例中,已經考慮了將涉及在系統(tǒng)中實施的安全環(huán)境有關問題考慮在內的部署。本發(fā)明當然還可以用于這樣的安全環(huán)境以外的情況下。