欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Java存儲電視機的制作方法

文檔序號:6362385閱讀:253來源:國知局
專利名稱:Java存儲電視機的制作方法
JAVA存儲電視機對相關(guān)申請的交叉引用本申請與2010年5月24日提交的標題為“JAVA STORE”的共同未決的WIPO專利申請N0.PCT/US2010/035947 (代理人檔案N0.33226/619W01)相關(guān)聯(lián),該申請的申請人是本申請的受讓人,通過引用將該申請的主題包括在此。根據(jù)35U.S.C.§ 119(e),本申請要求2010年10月15提交的美國臨時申請N0.61/393,688的優(yōu)先權(quán)。在此通過引用將美國臨時申請N0.61/393,688的全部內(nèi)容包括在此。
背景技術(shù)
全國甚至全世界的軟件開發(fā)人員不斷地創(chuàng)建新應用。軟件開發(fā)可以使用各種平臺來實現(xiàn),包括但是絕不限于:Java 和javaFX (Java 和JavaFX 是由SunMicrosystems, Inc.(位于美國加州Mountain View)所擁有的注冊商標)。當開發(fā)新應用時,開發(fā)人員必須找到使應用對那些對應用感興趣的用戶可用的辦法。這可以例如通過請求可能對這樣的應用感興趣的用戶來實現(xiàn)。開發(fā)人員可以例如通過諸如CD-ROM之類的可移動存儲器設備分發(fā)應用的副本。

發(fā)明內(nèi)容
一般而言,一方面,本發(fā)明涉及包括計算機可讀取的代碼的計算機程序產(chǎn)品(例如,非瞬時的計算機可讀存儲介質(zhì)),計算機可讀取的代碼,當由處理器執(zhí)行時,被配置成,從用戶網(wǎng)絡設備,接收在用戶網(wǎng)絡設備上執(zhí)行應用的第一請求,其中,所述第一請求包括用戶標識、路由信息,以及請求的應用信息,其中,使用公鑰來加密所述路由信息和請求的應用信息,其中,所述用戶網(wǎng)絡設 備被配置成在電視顯示設備上顯示所述應用。計算機可讀取的代碼進一步被配置成使用私鑰解密路由信息和請求的應用信息,向服務提供器發(fā)送對與所述用戶對應的預訂信息的第二請求,其中,所述第二請求包括所述用戶標識,從所述服務提供器接收所述預訂信息,判斷對應于所述應用的許可證與所述用戶標識相關(guān)聯(lián)。計算機可讀取的代碼進一步被配置成生成應用包,其中,所述應用包被配置成使用Java運行時環(huán)境(JRE)將所述應用部署在所述用戶網(wǎng)絡設備上,以及,將所述應用包發(fā)送到所述用戶網(wǎng)絡設備。一般而言,一方面,本發(fā)明涉及服務提供器,包括處理器、存儲器,包括指令,所述指令,當由處理器執(zhí)行時執(zhí)行一種方法,所述方法包括:接收來自用戶網(wǎng)絡設備的對于公鑰的第一請求,生成所述公鑰和私鑰,將所述公鑰發(fā)送到所述用戶網(wǎng)絡設備,將所述私鑰發(fā)送到倉庫,接收來自所述倉庫的包括用戶標識的對預訂信息的第二請求,標識與所述用戶標識相關(guān)聯(lián)的所述預訂信息,以及,將所述預訂信息發(fā)送到所述倉庫。該倉庫,響應于接收到所述預訂信息,被配置成判斷對應于應用的許可證與所述用戶標識相關(guān)聯(lián),生成應用包,其中,所述應用包被配置成使用Java運行時環(huán)境(JRE )將所述應用部署在所述用戶網(wǎng)絡設備上,以及,將所述應用包發(fā)送到所述用戶網(wǎng)絡設備。
—般而言,一方面,本發(fā)明涉及包括計算機可讀取的代碼的計算機程序產(chǎn)品(例如,非瞬時的計算機可讀存儲介質(zhì)),計算機可讀取的代碼,當由處理器執(zhí)行時,被配置成向服務提供器發(fā)送對公鑰的第一請求。服務提供器被配置成生成公鑰和私鑰,并將私鑰發(fā)送到倉庫。計算機可讀取的代碼進一步被配置成從服務提供器接收私鑰,以及,向所述倉庫發(fā)送執(zhí)行應用的第二請求。第二請求包括用戶標識、路由信息,以及請求的應用信息,以及,使用公鑰來加密所述路由信息和請求的應用信息。倉庫被配置成使用私鑰解密路由信息和請求的應用信息,向服務提供器發(fā)送對與所述用戶對應的預訂信息的第三請求,其中,所述第三請求包括所述用戶標識,從所述服務提供器接收所述預訂信息,判斷對應于所述應用的許可證與所述用戶標識相關(guān)聯(lián),以及,生成應用包。所述應用包被配置成使用Java運行時環(huán)境(JRE)將所述應用部署在所述用戶網(wǎng)絡設備上。計算機可讀取的代碼進一步被配置成接收應用包,執(zhí)行所述應用包,以及,在電視顯示設備上顯示所述應用。


圖1A-1C示出了根據(jù)本發(fā)明的一個或多個實施例的系統(tǒng)。圖2示出了根據(jù)本發(fā)明的一個或多個實施例的倉庫的體系結(jié)構(gòu)。圖3示出了根據(jù)本發(fā)明的一個或多個實施例的系統(tǒng)。圖4-9示出了根據(jù)本發(fā)明的一個或多個實施例的方法。圖10示出了根據(jù)本發(fā)明的一個或多個實施例的計算機系統(tǒng)。圖11A-11B示出了根據(jù)本發(fā)明的一個或多個實施例的電視系統(tǒng)。
具體實施例方式現(xiàn)在將參考附圖詳細描述本發(fā)明的具體實施例。為確保一致性,各附圖中的相似元件通過相似附圖標記來表示。在本發(fā)明的一個實施例中,闡明了眾多具體細節(jié)以提供對本發(fā)明的更加全面的理解。然而,對本領域的技術(shù)人員顯而易見的是,本發(fā)明也可以在沒有這些具體細節(jié)的情況下實施。在其他情況下,沒有對已知的特征進行詳細描述,以便不至于使本發(fā)明變得模糊。一般而言,本發(fā)明的各實施例涉及獲取存儲在倉庫中的應用并在用戶網(wǎng)絡設備上執(zhí)行。更具體而言, 本發(fā)明的各實施例涉及獲取能夠在Java運行時環(huán)境(JRE)中執(zhí)行的應用(例如,Java或JavaFX應用)并在電視顯示設備上顯示這些應用。根據(jù)本發(fā)明的一個或多個實施例,這涉及驗證用戶的電視預訂情況,并生成應用包,以便該應用被呈現(xiàn)給電視顯示設備。在本發(fā)明的一個實施例中,應用一旦被編譯就處于字節(jié)代碼格式。編譯的應用被配置成在Java虛擬機(JVM)上執(zhí)行。在本發(fā)明的一個或多個實施例中,JVM存儲在可操作地連接到諸如電視服務提供器之類的服務提供器的用戶網(wǎng)絡設備中,以及電視顯示設備中。更具體而言,JVM包括啟動JRE的執(zhí)行并使應用在JRE內(nèi)執(zhí)行的功能。根據(jù)本發(fā)明的一個或多個實施例,用戶網(wǎng)絡設備是包括JRE并可操作地連接到電視顯示設備的任何設備。在一個示例中,用戶網(wǎng)絡設備是機頂盒。在另一個示例中,用戶網(wǎng)絡設備是包括JRE的電視機。再一個示例是連接到電視機的包括JRE的計算機或Blu-Ray 播放器。(Blu-Ray 是Blu-Ray光盤協(xié)會所擁有的商標。)應用的執(zhí)行包括讀取并驗證字節(jié)代碼,確定對應的本機平臺機器代碼,并向客戶端設備OS和/或硬件發(fā)布對應的本機平臺機器代碼。在本發(fā)明的一個實施例中,JVM可以實現(xiàn)一個或多個“沙箱”,其中,每一個沙箱都是JRE內(nèi)的隔離的執(zhí)行環(huán)境。在沙箱內(nèi)執(zhí)行的應用可以只與沙箱內(nèi)的JVM及其他應用進行交互;然而,應用可以與在沙箱外面執(zhí)行的應用進行交互。進一步地,JVM可以對應用可如何在給定沙箱內(nèi)執(zhí)行施加進一步的限制。圖1A示出了根據(jù)本發(fā)明的一個實施例的系統(tǒng)。該系統(tǒng)包括一個或多個應用開發(fā)人員(110)、倉庫(120)、用戶網(wǎng)絡設備(140)、電視顯示設備(145),以及服務提供器(175)。下面將討論這些組件中的每一個組件。在本發(fā)明的一個實施例中,開發(fā)人員(110)生成、創(chuàng)建,或以其他方式提供應用(150)。根據(jù)本發(fā)明的一個或多個實施例,應用可以是但不僅限于:Java (任何版本)以及JavaFX應用。然后,開發(fā)人員將這些應用(150)提供到倉庫(120)供分發(fā)。另外,根據(jù)本發(fā)明的一個或多個實施例,開發(fā)人員(110)將應用信息(155)(即,涉及應用的數(shù)據(jù))提供到倉庫(120)。根據(jù)本發(fā)明的一個或多個實施例,開發(fā)人員(110)還從倉庫(120)接收涉及已經(jīng)提交的應用(即,應用(150))的數(shù)據(jù)。根據(jù)本發(fā)明的一個或多個實施例,此數(shù)據(jù)可以包括客戶端使用數(shù)據(jù)(165),以及應用度量(170)。根據(jù)本發(fā)明的一個或多個實施例,客戶端使用數(shù)據(jù)(165)可以對應于詳述給定應用如何在一個或多個用戶網(wǎng)絡設備(140)上被使用的數(shù)據(jù)(例如,無需任何個人標識信息)。根據(jù)本發(fā)明的一個或多個實施例,客戶端使用數(shù)據(jù)(165)可以包括諸如用戶啟動和/或停止應用(150)的頻繁度、哪些頁面被用戶訪問、用戶導航通過應用中的各種頁面的順序、頁面是如何被訪問的、用戶如何與用戶界面進行交互(例如,用戶在哪里點擊了哪些按鈕,等等)以及在訪問頁面上花費的時間之類的信息。另夕卜,開發(fā)人員(110)可以接收應用度量(170)。根據(jù)本發(fā)明的一個或多個實施例,應用度量(170)可以包括應用已經(jīng)安裝或重新安裝的次數(shù)、應用被查看的次數(shù)、應用被用戶刪除的次數(shù),以及應用導致災難性錯誤(即,應用“崩潰”)的次數(shù)。根據(jù)本發(fā) 明的一個或多個實施例,如下面所描述的,應用度量(170)由倉庫(120)生成。在本發(fā)明的一個實施例中,倉庫(120)對應于被配置成與開發(fā)人員和用戶網(wǎng)絡設備(140)連接的一個或多個計算機系統(tǒng)(例如,服務器)。一般而言,根據(jù)本發(fā)明的一個或多個實施例,倉庫(120 )從開發(fā)人員(110)那里接收應用,并通過將它們提供到用戶網(wǎng)絡設備
(140)來將它們提供到用戶。根據(jù)本發(fā)明的一個或多個實施例,應用(150)被提供到封裝在標準Java歸檔(JAR)文件中的倉庫(120)。倉庫被配置成存儲一個或多個應用(150)。進一步地,倉庫可以存儲同一應用的不同的版本(例如,版本1、版本1.1、版本2等等),其中每一個版本都包括不同的特征和/或內(nèi)容。例如,根據(jù)本發(fā)明的一個或多個實施例,可以為各種屏幕大小和輸入功能(例如,觸摸屏、物理鍵盤輸入、跟蹤球輸入等等)存儲應用的不同的版本。另外,倉庫(120)可以存儲應用的給定版本的多個實例,其中應用的每一個實例都被配置成被部署在不同類型的用戶網(wǎng)絡設備(140)上(例如,一個實例用于機頂盒,一個實例用于智能電視機等等)。進一步地,在本發(fā)明的一個實施例中,倉庫(120)包括支持在圖4-11中的一個或多個中所描述的實施例的功能。在圖2中描述了倉庫的實施例。根據(jù)本發(fā)明的一個或多個實施例,倉庫(120)被配置成使用客戶端使用數(shù)據(jù)(165)來生成有關(guān)應用(150)如何被使用的趨勢,隨后將所生成的趨勢發(fā)送到開發(fā)人員
(110)。作為替代地,或除上面的描述之外,倉庫(120)可以被配置成將客戶端使用數(shù)據(jù)
(165)發(fā)送到開發(fā)人員(110)。在本發(fā)明的一個實施例中,客戶端使用數(shù)據(jù)(165)是從執(zhí)行應用的若干個單個用戶網(wǎng)絡設備中獲取的客戶端使用數(shù)據(jù)的聚集。在本發(fā)明的一個實施例中,應用度量(170)包括除客戶端使用數(shù)據(jù)以外的由倉庫跟蹤的其他信息。例如,應用度量(170)可以表示給定應用被預覽的次數(shù)(下面在圖7中所描述的)、給定應用安裝在用戶網(wǎng)絡設備上的次數(shù)、應用當前存儲在其上面的用戶網(wǎng)絡設備(140)的類型等等。 倉庫(120)被配置成通過有線網(wǎng)絡、無線網(wǎng)絡,或其任何組合與開發(fā)人員(110)和用戶網(wǎng)絡設備(140)進行通信。進一步地,倉庫(120)和用戶網(wǎng)絡設備(140)可以通過有線網(wǎng)絡、無線網(wǎng)絡,或其任何組合進行通信。根據(jù)本發(fā)明的一個或多個實施例,在接收到應用(150 )和應用信息(155 )時,倉庫(120 )可以將應用封裝在使對其用戶可用的部署封包(160)中。根據(jù)本發(fā)明的一個或多個實施例,開發(fā)人員(110)和用戶網(wǎng)絡設備(140)的用戶可以使用顯示在電視顯示設備(145)上的界面與倉庫(110)進行交互。在本發(fā)明的一個實施例中,用戶網(wǎng)絡設備(140)被配置成從倉庫(120)接收作為部署封包(160)的應用。在本發(fā)明的一個實施例中,部署封包(160)符合Java網(wǎng)絡啟動協(xié)議(JNLP),以便應用可以使用JNLP的Web啟動特征來執(zhí)行。在本發(fā)明的一個實施例中,用戶網(wǎng)絡設備還支持JavaFX,JavaFX被用來獲取與應用在用戶網(wǎng)絡設備(140)上的JRE中執(zhí)行相關(guān)聯(lián)的客戶端使用數(shù)據(jù)(165)。在本發(fā)明的一個實施例中,用戶網(wǎng)絡設備(140)是JRE可以在其上執(zhí)行,并可操作地連接到電視顯示設備(145)的任何設備。換言之,每一個用戶網(wǎng)絡設備(140)都包括Java運行時環(huán)境(130)。根據(jù)本發(fā)明的一個或多個實施例,用戶使用用戶網(wǎng)絡設備(140)從倉庫(120)訪問應用。用戶網(wǎng)絡設備(140)的示例包括但不僅限于:機頂盒、智能電視機等等。根據(jù)本發(fā)明的一個或多個實施例,機頂盒是被用來連接到電視服務提供器并在電視顯示設備(145)上顯示電視節(jié)目的包括處理器、存儲器、永久性存儲器的設備。進一步地,根據(jù)本發(fā)明的一個或多個實施例,智能電視機是包括處理器、存儲器、永久性存儲器的電視機,并包括接收并解碼廣播信號的功能,廣播信號然后顯示在電視顯示設備(145)上。進一步地,根據(jù)本發(fā)明的一個或多個實施例,智能電視機包括直接因特網(wǎng)連接。下面將在圖12B中更詳細地描述智能電視機。然而,根據(jù)本發(fā)明的一個或多個實施例,用戶網(wǎng)絡設備(140)可以是包括JRE并被配置成接收并解碼要顯示在電視顯示設備(145)上的廣播信號的任何設備。根據(jù)本發(fā)明的一個或多個實施例,電視顯示設備(145)可以是陰極射線管(CRT)設備、發(fā)光二極管(LED)顯示器、等離子顯示板(PDP)、液晶顯示器(IXD)、有機發(fā)光二極管顯示器(0LED)、表面導電電子發(fā)射器顯示器(SED)、激光TV、納米晶體顯示器,或被用來顯示廣播信號的任何其他顯示設備。根據(jù)本發(fā)明的一個或多個實施例,用戶網(wǎng)絡設備(140)被配置成連接到服務提供器(175)。根據(jù)本發(fā)明的一個或多個實施例,服務提供器是電視服務提供器(175)(即,廣播電視的提供器)。相應地,為了接收廣播電視,用戶網(wǎng)絡設備(140)必須連接到服務提供器(175)。根據(jù)本發(fā)明的一個或多個實施例,服務提供器(175)存儲與用戶網(wǎng)絡設備(140)相關(guān)聯(lián)的用戶信息,并提供到倉庫(120)的連接。根據(jù)本發(fā)明的一個或多個實施例,為了從倉庫(120)接收應用(150),倉庫(120)必須首先通過聯(lián)絡服務提供器(175)來判斷用戶網(wǎng)絡設備(140)被授權(quán)接收該應用(150)。在圖8中比較詳細地對此進行了描述。圖1B示出了根據(jù)本發(fā)明的一個或多個實施例的另一個示例系統(tǒng)。再次,此系統(tǒng)包括倉庫(120),以及服務提供器(175)。然而,此示例系統(tǒng)還包括機頂盒(180)和電視系統(tǒng)
(190)。如上文所描述的,用戶可以通過包括JRE,并可操作地連接到電視顯示設備(145)的任何設備連接到倉庫(120)。在此示例中,它是包括JRE (130)并連接到電視系統(tǒng)(190)(該電視系統(tǒng)(190)包括電視顯示設備(145))的機頂盒(180)。相應地,在圖1A中被視為用戶網(wǎng)絡設備(140)的是圖1B中的機頂盒(180)。如圖所示,它是與服務提供器(175)和倉庫
(120)進行通信的機頂盒(180)。圖1C示出了根據(jù)本發(fā)明的一個或多個實施例的另一個示例系統(tǒng)。再次,此系統(tǒng)包括倉庫(120)以及服務提供器(175)。然而,此示例系統(tǒng)還包括電視系統(tǒng)(190)。在此示例中,電視系統(tǒng)(190)通過用戶網(wǎng)絡設備(185 )直接與倉庫(120)和服務提供器(175)進行通信。相應地,在圖1A中被視為用戶網(wǎng)絡設備(140)的是圖1C中的用戶網(wǎng)絡設備(185)。雖然在圖1B中未示出,用戶網(wǎng)絡設備是連接到服務提供器(175)和倉庫(120)并包括JRE的任何設備。如此,將在描述中使用術(shù)語“用戶網(wǎng)絡設備”,以標識可以在本發(fā)明的任何實施例中發(fā)現(xiàn)的這樣的組件。圖2示出了根據(jù)本發(fā)明的一個實施例的倉庫(200) (B卩,圖1A的倉庫(120))的體系結(jié)構(gòu)。倉庫(200)包括操作系統(tǒng)(OS) (240),例如,SolarisTM、LinuxTM、UnixTM、Windows ,
或任何其他操作系統(tǒng)(Solaris'*是Sun Microsystems Inc.,(位于美國加州MountainView)所擁有的注冊商標;Linux 是Linus Tourvalds (位于美國加州Santa Clara)所
擁有的注冊商標;Unix 是The Open Group的注冊商標;而\\111(10\¥ 是由 Microsoft Corporation (美國華盛頓州雷德蒙市)所擁有的注冊商標。)OS (240)執(zhí)行被配置成托管對倉庫(200)所提供的服務的應用編程接口(API)的應用服務器(230)(例如,Glassfish)。
在本發(fā)明的一個實施例中,倉庫(200 )包括管理服務(205 )、安全服務(210 )、內(nèi)容傳送服務(220),以及數(shù)字版權(quán)管理服務(225)。下面將描述這些服務中的每一個服務。在本發(fā)明的一個實施例中,管理服務(205 )提供倉庫管理服務(通過通用資源定位器(URL)訪問),包括倉庫硬件和軟件的配置。例如,根據(jù)本發(fā)明的一個或多個實施例,管理服務(205)被配置成跟蹤向倉庫(200)提交內(nèi)容的開發(fā)人員。根據(jù)本發(fā)明的一個或多個實施例,管理服務(205)被配置成跟蹤應用的購買交易和/或部署。根據(jù)本發(fā)明的一個或多個實施例,管理服務(205)被配置成管理目錄中的應用向消費者的顯示。最后,根據(jù)本發(fā)明的一個或多個實施例,管理服務(205 )管理向內(nèi)容倉庫(200 )提交的內(nèi)容的狀態(tài)(例如,提交、批準,正在審閱,發(fā)布,或隔離)。在本發(fā)明的一個實施例中,安全服務(210)包括管理涉及提供應用的安全問題的功能,包括與服務提供器(即,圖1A的服務提供器(175))進行交互。根據(jù)本發(fā)明的一個或多個實施例,安全服務(210)可以包括若干個映射,包括用戶的標識和用來解密請求的私鑰之間的映射、用戶標識和對該用戶標識可用的許可證之間的映射,以及預訂信息和許可證映射之間的映射,這確保帶有某一預訂的用戶被允許訪問帶有某些許可證的應用。在圖3中比較詳細地討論了這些映射。在本發(fā)明的一個實施例中,內(nèi)容傳送服務(220 )給用戶提供門戶(通過URL訪問),以(i)查看倉庫(200)中的應用(245),(ii)封裝應用以用于使用JNLP傳送給客戶端設備供安裝或預覽,(iii)管理應用版本和實例,(iv)管理計費和開發(fā)票(根據(jù)需要),(v)對確認給定客戶端設備包括給定應用的最新版本的請求作出響應,(vi)跟蹤哪些應用被每一個用戶安裝在他們的客戶端設備上(例如,用戶A在他們的移動設備上加載應用1),以及(V)維護用戶帳戶信息(例如,用戶名、密碼等等)。根據(jù)本發(fā)明的一個或多個實施例,內(nèi)容傳送服務(220)包括與服務提供器(即,圖1A的服務提供器(175))進行交互以便向服務提供器提供記帳信息的功能。在本發(fā)明的一個實施例中,數(shù)字版權(quán)管理服務(225 )包括為給定應用、特定用戶,特定客戶端設備類型,或其任何組合設置數(shù)字版權(quán)管理(DRM)設置的功能。例如,DRM設置可以指定但不僅限于指定:(i)應用可以在哪里執(zhí)行(例如,應用可以在什么系統(tǒng)上執(zhí)行),( )應用的給定實例是否可以被復制到多個客戶端設備,(iii)用戶可以訪問應用的哪些特征,以及(iv)應用(或應用的給定特征)可用的持續(xù)時間。進一步地,根據(jù)本發(fā)明的一個或多個實施例,DRM設置可以提供跟蹤消費者已經(jīng)購買的許可證的類型的能力。例如,消費者可以購買永久性的許可證、預訂許可證,或每個內(nèi)容訪問許可證。根據(jù)本發(fā)明的一個或多個實施例,向服務提供器的某些預訂可以提供不需要被單獨地購買的某些許可證。根據(jù)本發(fā)明的一個或多個實施例,數(shù)字版權(quán)管理服務(225)可以包括預訂信息和許可證之間的映射。根據(jù)本發(fā)明的一個或多個實施例,在沒有購買有效許可證的情況下,DRM服務(225)禁止用戶復制應用并在不同的系統(tǒng)上使用。根據(jù)本發(fā)明的一個或多個實施例,DRM管理服務還驗證特定應用上的對用戶可用的訪問級別(例如,如果應用是包括5個級別的游戲,但是,用戶只有訪問級別1-3的許可證,那么,DRM可以實施此限制)。在本發(fā)明的一個實施例中,應用(245)的可執(zhí)行代碼、應用信息(250),以及交易日志(255 )存儲在倉庫(200 )中的數(shù)據(jù)儲存庫(235 )中。在本發(fā)明的一個實施例中,數(shù)據(jù)儲存庫(235)中的數(shù)據(jù)是通過諸如ZFS、網(wǎng)絡文件系統(tǒng)(NTFS)、通用磁盤格式(UDF),或任何其他文件系統(tǒng)(或其組合)來 管理的。另外,作為一種替代方案,應用(245)的可執(zhí)行代碼、應用信息(250),以及交易日志(255)中的一項或多項可以存儲在內(nèi)容分發(fā)網(wǎng)絡(即,從地理上講分布式的存儲網(wǎng)絡),以促進應用等等向消費者的有效傳輸。在這樣的實施例中,倉庫
(200)包括訪問內(nèi)容分發(fā)網(wǎng)絡并管理存儲在內(nèi)容分發(fā)網(wǎng)絡中的數(shù)據(jù)的功能。在本發(fā)明的一個實施例中,應用信息(250)作為可擴展標記語言(XML)文件存儲在數(shù)據(jù)儲存庫(235)。本領域技術(shù)人員將認識到,應用信息可以以除XML以外的格式(或與XML相結(jié)合)存儲。根據(jù)本發(fā)明的一個或多個實施例,開發(fā)人員還給倉庫提供涉及提交的應用的應用信息。根據(jù)本發(fā)明的一個或多個實施例,應用信息可以包括但不僅限于:應用名稱、小標題、描述、類別、許可證要求(例如,永久性的、預訂,或免費的)以及價格。然而,此應用信息也可以例如由服務提供器來提供。根據(jù)本發(fā)明的一個或多個實施例,小標題是伴隨應用名稱的本發(fā)明的簡短描述。根據(jù)本發(fā)明的一個或多個實施例,描述可以是彈出式描述或完整描述。進一步地,根據(jù)本發(fā)明的一個或多個實施例,應用信息(250 )可包括彈出式描述以及完整描述。根據(jù)本發(fā)明的一個或多個實施例,當用戶在顯示器中在與應用相關(guān)聯(lián)的圖標上懸停時將出現(xiàn)彈出式描述。關(guān)于完整描述,根據(jù)本發(fā)明的一個或多個實施例,使完整描述對請求了更多有關(guān)應用的信息的用戶可用。關(guān)于類別,根據(jù)本發(fā)明的一個或多個實施例,開發(fā)人員從描述應用的預先存在的列表中選擇描述性術(shù)語(即,“社交網(wǎng)絡”、“體育”、“金融”等等)。根據(jù)本發(fā)明的一個或多個實施例,應用信息可以包括其他信息,諸如幫助頁面統(tǒng)一資源定位符(“URL”)、與應用(150)相關(guān)聯(lián)的一個或多個圖標,以及應用(150)的屏眷抓圖。圖3示出了根據(jù)本發(fā)明的一個或多個實施例的示例系統(tǒng)。具體而言,圖3示出了什么信息存儲在系統(tǒng)的每一個組件中,以及數(shù)據(jù)如何在各組件之間遷移。圖3包括用戶網(wǎng)絡設備(300)、倉庫(305),以及服務提供器(310)。下面討論了每一個的組件。根據(jù)本發(fā)明的一個或多個實施例,用戶網(wǎng)絡設備(300)包括用于標識設備的用戶的信息,以及設備本身的標識信息以及路由信息。在本發(fā)明的一個實施例中,標識信息可以包括,例如,用戶標識(315)。根據(jù)本發(fā)明的一個或多個實施例,路由信息包括終端站標識(325)和網(wǎng)絡標識(330),這兩者都可以存儲在用戶網(wǎng)絡設備(300)中。根據(jù)本發(fā)明的一個或多個實施例,終端站標識是指派給諸如消費者家庭內(nèi)的電纜盒或機頂盒之類的設備的唯一標識符。根據(jù)本發(fā)明的一個或多個實施例,網(wǎng)絡標識是內(nèi)部電纜分布式網(wǎng)絡內(nèi)的諸如電纜盒或機頂盒之類的每一個設備的唯一網(wǎng)絡標識符。根據(jù)本發(fā)明的一個或多個實施例,網(wǎng)絡端標識可以是TCP/IP網(wǎng)絡的因特網(wǎng)協(xié)議(IP)地址。本領域的技術(shù)人員將認識到,終端站標識和網(wǎng)絡標識對于向倉庫(305)傳輸請求來說可能是必須的。最后,用戶網(wǎng)絡設備(300)也可以包括用來加密發(fā)送到倉庫(305)的消息的公鑰(335)。在圖6中比較詳細地描述了公鑰。 根據(jù)本發(fā)明的一個或多個實施例,倉庫(305 )可以包括多個映射,這些映射可以存儲在計算機可讀取的存儲設備中。根據(jù)本發(fā)明的一個或多個實施例,這些映射包括用戶標識(WD)到私鑰映射(340)。根據(jù)本發(fā)明的一個或多個實施例,用戶標識(WD)到私鑰映射(340)映射允許倉庫(305)標識請求中的用戶標識,并且確定用來解密消息的私鑰。倉庫(305 )也可以包括應用到許可證映射(345 )。根據(jù)本發(fā)明的一個或多個實施例,應用到許可證映射(345)映射被用來確定訪問存儲在倉庫中的特定應用所需的許可證。倉庫(305)也可以包括預訂到許可證映射(355)。根據(jù)本發(fā)明的一個或多個實施例,用戶可以具有向服務提供器(310)的預訂所附帶 的某些許可證,此信息存儲在預訂到許可證映射(355)中。例如,用戶的電視服務可以與已經(jīng)可用的特定的應用一起提供。在另一個示例中,除基本線纜之外,用戶還可以具有對HBO的預訂,此預訂可以包括HBO創(chuàng)建的稱贊他們的影視劇或進行產(chǎn)品展示的應用。在此示例中,如果影視劇是關(guān)于海盜的,那么,HBO可以創(chuàng)建一個基于海盜的視頻游戲應用。此應用可以作為HBO預訂的一部分可用。返回到圖3的討論,根據(jù)本發(fā)明的一個或多個實施例,服務提供器(310)可以向用戶提供很多預訂,這些預訂中的每一個都可以允許對倉庫(305 )中的應用的變化的訪問。倉庫(305)也可以包括用戶標識到許可證映射(350)。根據(jù)本發(fā)明的一個或多個實施例,用戶標識到許可證映射(350)映射被用來標識與特定用戶相關(guān)聯(lián)的許可證。例如,與用戶標識相關(guān)聯(lián)的用戶可能已經(jīng)與他們的預訂分開地購買了許可證。根據(jù)本發(fā)明的一個或多個實施例,服務提供器(310)可以包括用戶標識和預訂之間的映射(360)。換言之,服務提供器(310)跟蹤特定用戶的預訂信息。根據(jù)本發(fā)明的一個或多個實施例,為了獲取對應用的訪問,用戶網(wǎng)絡設備(300 )首先向倉庫(305 )發(fā)送應用請求(365 )。根據(jù)本發(fā)明的一個或多個實施例,應用請求(365 )包括用戶標識、終端站標識、網(wǎng)絡標識,以及請求的應用信息。根據(jù)本發(fā)明的一個或多個實施例,除用戶標識之外的一切都使用公鑰加密。根據(jù)本發(fā)明的一個或多個實施例,當倉庫(305)接收到應用請求(365)時,標識用戶標識、從用戶標識私鑰映射(340)獲取與用戶標識相關(guān)聯(lián)的私鑰,并解密該應用請求(365)。然后,倉庫(305)將預訂請求(370)發(fā)送到服務提供器(310),以便確定與用戶相關(guān)聯(lián)的預訂。根據(jù)本發(fā)明的一個或多個實施例,服務提供器(310)使用用戶標識預訂映射(360)來標識預訂信息。服務提供器(310)將預訂信息(375)返回到倉庫(305)。根據(jù)本發(fā)明的一個或多個實施例,倉庫(305)基于用戶的預訂信息(375),判斷用戶具有用于所請求的應用的許可證。如此,倉庫(305)生成應用包(380),并將該應用包(380)發(fā)送到用戶網(wǎng)絡設備(300)。根據(jù)本發(fā)明的一個或多個實施例,倉庫(305)可以基于終端站標識來標識應用的特定版本。進一步地,根據(jù)本發(fā)明的一個或多個實施例,倉庫(305)使用諸如終端站標識和網(wǎng)絡標識之類的路由信息將應用包(380)發(fā)送到用戶網(wǎng)絡設備(300)。根據(jù)本發(fā)明的一個或多個實施例,路由信息也可以包括其他設備標識。圖4示出了根據(jù)本發(fā)明的一個或多個實施例的方法。更具體而言,圖4示出了用于從開發(fā)人員向倉庫提供應用的方法。盡管順序地呈現(xiàn)并描述了流程圖中的各步驟,但是,本領域技術(shù)人員將認識到,某些或全部步驟可以以不同的順序執(zhí)行,可以被組合或省略,而某些或全部步驟可以并行地執(zhí)行。在ST400,由開發(fā)人 員(或向倉庫提供應用的其他第三方)獲取(生成、或創(chuàng)建等等)應用的一個或多個Java歸檔文件(JAR)。在ST402,獲取應用的應用信息。在本發(fā)明的一個實施例中,可以使用現(xiàn)有技術(shù)中的任何已知機制,包括完成基于Web的表單、提供文本文檔、提供XML文檔,等等,來獲取(生成,或創(chuàng)建)應用信息。在ST404,JAR和對應的應用信息被提供到倉庫。根據(jù)本發(fā)明的一個或多個實施例,應用和應用信息被通過將它們跨網(wǎng)絡發(fā)送而提供到倉庫。圖5示出了根據(jù)本發(fā)明的一個或多個實施例的方法。更具體而言,圖5示出了用于審查在圖4中(或通過另一種機制)向倉庫所提供的應用的方法。盡管順序地呈現(xiàn)并描述了流程圖中的各步驟,但是本領域技術(shù)人員將認識到,某些或全部步驟可以以不同的順序執(zhí)行、可以被組合或省略,而某些或全部步驟可以并行地執(zhí)行。在ST500,接收到JAR和對應的應用信息。在ST502,審查應用的內(nèi)容(例如,文本、圖形,和/或音頻內(nèi)容)。在本發(fā)明的一個實施例中,應用的內(nèi)容可以由審查者通過應用審查者服務來審查。根據(jù)本發(fā)明的一個或多個實施例,手動審查內(nèi)容提交的文本,并自動地審查JAR以檢查是否有病毒并驗證代碼。根據(jù)本發(fā)明的一個或多個實施例,可以要么手動要么自動地(例如使用仿真器)來驗證JAR和對應的應用信息。在ST504,確定應用的訪問特權(quán)。訪問特權(quán)可以部分地根據(jù)應用信息來確定。進一步地,訪問特權(quán)可以部分地使用通過應用審查者服務所指定的(或可以被應用審查者服務訪問的)的規(guī)則來確定。在本發(fā)明的一個實施例中,訪問特權(quán)可以指定任何粒度級別。例如,訪問特權(quán)可以是⑴只沙箱執(zhí)行(即,應用可以只在沙箱內(nèi)執(zhí)行,(ii)在客戶端設備上在沙箱外有限的訪問執(zhí)行(即,應用可以訪問沙箱之外的資源/數(shù)據(jù)/外圍設備的指定的子集),以及(iii)客戶端設備上的完全訪問執(zhí)行。在ST506,設置應用的DRM設置。DRM設置可以指定對應用的任何類型的DRM約束。例如,根據(jù)本發(fā)明的一個或多個實施例,可以對應用施加允許用戶在購買應用之前僅僅訪問應用的預覽的DRM約束。另一個示例是,可以對應用施加限制應用可以被訪問的次數(shù)或設置應用在多長時間內(nèi)可被訪問的時間限制的DRM約束。在本發(fā)明的一個實施例中,ST506可以通過DRM服務來執(zhí)行。在ST508,使用JNLP來封裝JAR、訪問特權(quán),以及DRM設置以供部署。在本發(fā)明的一個實施例中,倉庫包括在ST508所需的執(zhí)行所有必要的操作的功能。本領域技術(shù)人員將認識到,封裝可以包括創(chuàng)建部署封包的多個實例,其中,為特定類型的用戶網(wǎng)絡設備創(chuàng)建部署封包的每一個實例(例如,一個實例用于直接部署在電視系統(tǒng)上,一個實例用于部署在機頂盒上等等)。在ST510中,應用倉庫中發(fā)布在(即,可以通過用戶網(wǎng)絡設備安裝或預覽應用)。根據(jù)本發(fā)明的一個或多個實施例,發(fā)布的應用可通過倉庫的內(nèi)容傳送服務被訪問。在本發(fā)明的一個實施例中,ST508 - ST510可以通過內(nèi)容傳送服務來執(zhí)行。圖6示出了根據(jù)本發(fā)明的一個或多個實施例的方法。具體而言,圖6示出了在用戶網(wǎng)絡設備、服務提供器,以及倉庫之間交換公鑰和私鑰的方法。盡管順序地呈現(xiàn)并描述了流程圖中的各步驟,但是,本領域技術(shù)人員將認識到,某些或全部步驟可以以不同的順序執(zhí)行、可以被組合或省略,而某些或全部步驟可以并行地執(zhí)行。在ST600,用戶從服務提供器請求公鑰。根據(jù)本發(fā)明的一個或多個實施例,從諸如智能電視機或機頂盒之類的設備請求公鑰。根據(jù)本發(fā)明的一個或多個實施例,服務提供器被配置成生成公鑰和私鑰以分發(fā)到用戶客戶端設備和倉庫。在本發(fā)明的一個實施例中,在將設備部署到用戶之前,公鑰可以預先加載在用戶網(wǎng)絡設備上。作為替代地,可以使用與用來向服務提供器傳遞請求的信道不同的通信信道從服務提供器將公鑰傳輸?shù)接脩艟W(wǎng)絡設備。在ST605,用戶接收并存儲公鑰。根據(jù)本發(fā)明的一個或多個實施例,公鑰與用戶向服務提供器的預訂相關(guān)聯(lián)。如此,根據(jù)本發(fā)明的一個或多個實施例,不管用戶的預訂涵蓋了多少用戶網(wǎng)絡設備,用戶都可以使用相同公鑰。根據(jù)本發(fā)明的一個或多個實施例,公鑰也可以與特定設備相關(guān)聯(lián)。 例如,根據(jù)本發(fā)明的一個或多個實施例,如果用戶具有多于一個的與單個預訂相關(guān)聯(lián)的用戶網(wǎng)絡設備,則服務提供器可以為每一個設備生成單獨的公鑰。在ST610,服務提供器向倉庫發(fā)送私鑰。根據(jù)本發(fā)明的一個或多個實施例,服務提供器傳輸私鑰以及用戶標識,以便倉庫可以在私鑰和用戶標識之間創(chuàng)建映射(例如,圖3的用戶標識私鑰映射(340))。在ST615,倉庫存儲私鑰。根據(jù)本發(fā)明的一個或多個實施例,私鑰存儲在用戶標識私鑰映射中。如此,倉庫可以標識用來使用用戶標識解密封包的適當?shù)乃借€。圖7示出了根據(jù)本發(fā)明的一個或多個實施例的方法。更具體而言,圖7示出了用于在用戶網(wǎng)絡設備上預覽或安裝應用的方法。盡管順序地呈現(xiàn)并描述了流程圖中的各步驟,但是,本領域技術(shù)人員將認識到,某些或全部步驟可以以不同的順序執(zhí)行、可以被組合或省略,而某些或全部步驟可以并行地執(zhí)行。在ST700,用戶例如使用內(nèi)容傳送服務登錄到倉庫。在本發(fā)明的一個實施例中,用戶可以通過 Web 瀏覽器(例如,F(xiàn)irefox 、Google Chrome 、Internet Explorer ,或任何微型瀏覽器、迷你瀏覽器或無線因特網(wǎng)瀏覽器)和/或通過安裝在用戶網(wǎng)絡設備上的另一應用
來訪問倉庫(Firefox';<:.是Mozilla, Inc.,(位于美國加州Mountain View)所擁有的注冊商標;Google Chrome#是Google, Inc.,(位于美國加州Mountain View)所擁有的商標;而Internet Explorer'"':是Microsoft Corporation (位于美國華盛頓州雷德蒙市)所擁
有的注冊商標)。例如,根據(jù)本發(fā)明的一個或多個實施例,用戶可以使用由服務提供器所提供的菜單來訪問倉庫,以瀏覽并選擇可用的電視節(jié)目。在ST702,由用戶通過用戶網(wǎng)絡設備來選擇應用。在ST704,就用戶是否希望安裝應用或預覽應用作出判斷。如果應用將被安裝,那么,方法前進到ST706。如果應用將被預覽,那么,方法前進到ST714。在ST706,由倉庫接收部署應用包的請求。根據(jù)本發(fā)明的一個或多個實施例,可以由用戶使用用戶網(wǎng)絡設備的遙控器(即,電視機遙控器或機頂盒的遙控器)來生成請求。本領域技術(shù)人員將認識到,部署封包可以由用戶使用其他傳統(tǒng)的輸入設備,諸如被配置成向用戶網(wǎng)絡設備發(fā)送信號并從用戶網(wǎng)絡設備接收信號的鼠標或鍵盤,來請求。如上文所描述的,該請求可以包括諸如用戶標識、機頂盒或其他用戶網(wǎng)絡設備標識,該請求的應用信息之類的信息,以及諸如終端站標識和網(wǎng)絡端標識之類的路由信息。在上面的圖3中比較詳細地對此進行了描述。在ST708,認證訂戶(B卩,與用戶網(wǎng)絡設備相關(guān)聯(lián)的預訂帳戶)。在圖8中比較詳細地對此進行了描述。在ST710,使用JNLP啟動部署封包的傳輸。根據(jù)本發(fā)明的一個或多個實施例,對于特定應用,可以有多個部署封包??梢允褂脕碜栽撜埱蟮男畔ⅲT如用戶網(wǎng)絡設備標識,來確定適當?shù)牟渴鸱獍8鶕?jù)本發(fā)明的一個或多個實施例,部署封包是使用來自該請求的路由信息(參見圖3)生成的。在ST712,部署封包存儲在永久性存儲器中。根據(jù)本發(fā)明的一個或多個實施例,用戶網(wǎng)絡設備包括其中存儲了部署封包的永久性存儲器。根據(jù)本發(fā)明的一個或多個實施例,這可使用戶從永久性存儲器部署封包,而并非再次從倉庫請求封包。返回到ST704,根據(jù)本發(fā)明的一個或多個實施例,如果用戶希望預覽應用,則不需要獲取完整的部署封包。流程圖在ST714繼續(xù)。根據(jù)本發(fā)明的一個或多個實施例,用戶可以將應用的幾部分或應用的預覽緩存在用戶網(wǎng)絡設備中。這可降低在用戶網(wǎng)絡設備、倉庫,以及服務提供器之間傳輸數(shù)據(jù)的必要性。根據(jù)本發(fā)明的一個或多個實施例,請求的應用的預覽可以緩存在用戶網(wǎng)絡設備存儲器中。如果在ST714,判斷預覽沒有被緩存,則需要從倉庫中獲取預覽,流程圖在ST716繼續(xù)。在ST716,用戶網(wǎng)絡設備向倉庫發(fā)送對預覽的請求。雖然在流程圖中未示出,該請求可以包括諸如用戶標識、機頂盒或其他用戶網(wǎng)絡設備標識、請求的應用信息,以及諸如終端站標識以及網(wǎng)絡端標識之類的路由信息之類的信息。倉庫從該請求標識用戶網(wǎng)絡設備的類型。在ST718,倉庫為該類型的用戶網(wǎng)絡設備呈現(xiàn)部署封包。例如,對于特定請求的應用,倉庫可以具有第一版本以便部署在機頂盒上,具有第二版本以直接部署在電視機上。如此,根據(jù)本發(fā)明的一個或多個實施例,倉庫基于在ST716中標識的信息呈現(xiàn)部署封包。在ST720,倉庫使用JNLP來啟動部 署封包向用戶網(wǎng)絡設備的傳輸。在ST722,用戶網(wǎng)絡設備接收部署封包,并將它存儲在易失性存儲器中。根據(jù)本發(fā)明的一個或多個實施例,部署封包存儲在用戶網(wǎng)絡設備上的臨時存儲器中(或以臨時方式)。例如,部署封包存儲在易失性存儲器中,并只在客戶端設備上可用,直到JRE關(guān)閉和/或如在DRM設置中所指定的。本領域技術(shù)人員將認識到,正在被預覽的應用的DRM設置可以比所安裝應用的DRM設置更具約束性。從ST722、ST712繼續(xù),或在在ST714緩存了應用的預覽版本的情況下,流程圖在ST724中繼續(xù)。在ST724,應用根據(jù)訪問特權(quán)和DRM設置,在客戶端上的JRE中執(zhí)行。在本發(fā)明的一個實施例中,當預覽應用時(例如,在ST714或ST722之后),可以發(fā)送完整的應用供預覽,或作為替代地,可以向客戶端設備發(fā)送帶有比完整的應用較少的功能的版本(即,“預覽版本”)。進一步地,一旦預覽完成一一例如,用戶已經(jīng)使用應用達指定的時間段,則關(guān)閉用戶網(wǎng)絡設備,執(zhí)行JVM,然后,應用可以變得對用戶網(wǎng)絡設備無法訪問。在ST726,從用戶網(wǎng)絡設備(使用,例如,JavaFX)中獲取涉及用戶網(wǎng)絡設備上的應用使用情況的客戶端使用數(shù)據(jù)??蛻舳耸褂脭?shù)據(jù)可以包括個人標識信息(即,標識客戶端設備的用戶的信息或客戶端設備的用戶的任何其他個人/機密信息)。在將數(shù)據(jù)發(fā)送到倉庫之前,可以從客戶端使用數(shù)據(jù)中刪除個人標識信息(或其一些部分)。作為替代地,將客戶端使用數(shù)據(jù)與個人標識信息一起發(fā)送到倉庫,此時,在將客戶端使用數(shù)據(jù)發(fā)送到開發(fā)人員(或向倉庫提供應用的其他第三方)之前由倉庫刪除它。在ST728,客戶端使用數(shù)據(jù)被發(fā)送到倉庫。圖8示出了根據(jù)本發(fā)明的一個或多個實施例的方法。更具體而言,圖8示出了用于在用戶網(wǎng)絡設備上認證訂戶的方法。盡管順序地呈現(xiàn)并描述了流程圖中的各步驟,但是,本領域技術(shù)人員將認識到,某些或全部步驟可以以不同的順序執(zhí)行、可以被組合或省略,而某些或全部步驟可以并行地執(zhí)行。進一步地,根據(jù)本發(fā)明的一個或多個實施例,由此流程圖所示出的步驟意圖在圖7的ST708過程中發(fā)生。在ST800,倉庫從用戶那里接收帶有用戶標識的對應用的請求。如上文所描述的,請求可以包括諸如用戶標識、請求的應用信息,以及諸如終端站標識和網(wǎng)絡端標識之類的路由信息之類的信息。在圖3中比較詳細地對此進行了描述。在ST802,倉庫使用用`戶標識來獲取對應于用戶的私鑰。根據(jù)本發(fā)明的一個或多個實施例,用戶標識除外的請求中的所有項都可以使用用戶網(wǎng)絡設備公鑰來加密。如此,根據(jù)本發(fā)明的一個或多個實施例,倉庫可以標識用來使用用戶標識解密該請求的適當?shù)乃借€。例如,適當?shù)乃借€可以被索引在用戶標識私鑰映射中。在ST804,倉庫使用私鑰解密請求,以獲取路由信息和請求的應用信息。在ST806,倉庫獲取與用戶標識相關(guān)聯(lián)的當前許可證。根據(jù)本發(fā)明的一個或多個實施例,倉庫使用用戶標識-許可證映射,以便確定用戶當前具有哪些許可證。在ST808,倉庫判斷請求的應用的許可證是否是當前與用戶標識相關(guān)聯(lián)的的許可證中的一個。根據(jù)本發(fā)明的一個或多個實施例,倉庫可以使用應用許可證映射,來確定應用需要什么許可證,以及與用戶標識相關(guān)聯(lián)的當前許可證,如在ST806確定的。在ST808,就請求的應用的許可證是否是已經(jīng)與用戶標識相關(guān)聯(lián)的許可證作出判斷。如果請求的應用的許可證是已經(jīng)與用戶標識相關(guān)聯(lián)的許可證,那么,流程圖返回到圖7中的ST708。否則,流程圖在ST810繼續(xù)。在ST810,倉庫將用戶標識作為對用戶的預訂信息的請求發(fā)送到服務提供器。在ST812,服務提供器向倉庫提供預訂信息。根據(jù)本發(fā)明的一個或多個實施例,服務提供器向預訂映射存儲用戶標識。在ST814,就應用的許可證是否被用戶的預訂涵蓋作出判斷。根據(jù)本發(fā)明的一個或多個實施例,倉庫包括預訂到許可證映射,該映射詳述了哪些許可證與哪些預訂包括在一起。如果判斷許可證被用戶的預訂涵蓋,那么,流程圖在ST816繼續(xù),并且許可證與用戶標識相關(guān)聯(lián)。根據(jù)本發(fā)明的一個或多個實施例,倉庫作為用戶標識預訂映射的一部分,存儲此關(guān)聯(lián)。如此,根據(jù)本發(fā)明的一個或多個實施例,如果用戶隨后請求使用相同預訂的應用,則倉庫可以在沒有與服務提供器進行通信的情況下將許可證標識為與用戶標識相關(guān)聯(lián)。返回到ST814,如果許可證沒有被用戶的預訂涵蓋,那么,用戶必須獲取許可證,流程圖在ST818繼續(xù)。在ST818,倉庫從用戶那里獲取關(guān)于許可證購買情況的數(shù)據(jù)。根據(jù)本發(fā)明的一個或多個實施例,這可以包括諸如用戶信息或金融信息之類的信息。在ST820,驗證關(guān)于許可證購買情況的數(shù)據(jù)。例如,倉庫可以驗證關(guān)于許可證購買情況的數(shù)據(jù)滿足許可證的總體成本。在ST816,許可證與用戶標識相關(guān)聯(lián)。根據(jù)本發(fā)明的一個或多個實施例,倉庫作為用戶標識預訂映射的一部分,存儲此關(guān)聯(lián)。如此,根據(jù)本發(fā)明的一個或多個實施例,如果用戶隨后請求使用相同預訂的應用,則倉庫可以在沒有與服務提供器進行通信的情況下將許可證標識為與用戶標識相關(guān)聯(lián)。最后,在ST824,對于許可證購買情況的記帳信息被發(fā)送到服務提供器。根據(jù)本發(fā)明的一個或多個實施例,記帳信息可以被包括在來自用戶的關(guān)于許可證購買情況的數(shù)據(jù)中。然后,流程圖返回到圖7中的ST708。圖9示出了根據(jù)本發(fā)明的一個或多個實施例的方法。更具體而言,圖9示出了用于在用戶網(wǎng)絡設備上執(zhí)行預先安裝的應用的方法。盡管順序地呈現(xiàn)并描述了流程圖中的各步驟,但是,本領域技術(shù)人員將認識到,某些或全部步驟可以以不同的順序執(zhí)行、可以被組合或省略,而某些或全部步驟可以并行地執(zhí)行。在ST900,使用啟動應用的任何已知方法(例如,選擇對應于該應用的圖標、輸入命令行指令等等),來在客戶端設備上啟動應用的執(zhí)行。在ST905,確定(或以其他方式獲取)用戶網(wǎng)絡設備上的應用的當前版本 。在ST910,就用戶網(wǎng)絡設備上的應用的版本是否是最新的版本作出判斷,其中,最新的版本在倉庫中可用。如果用戶網(wǎng)絡設備上的應用是最新的版本,那么,方法前進到ST925 ;否則,方法前進到ST915。在本發(fā)明的一個實施例中,使用校驗和函數(shù)(例如,SHAU MD5等等)為應用的每一個版本計算校驗和。在這樣的實施例中,通過將設備上的應用的版本的校驗和與應用的最新的版本的校驗和進行比較,執(zhí)行ST910中的判斷。在ST915,包括應用的最新的版本的部署封包(可以是用戶網(wǎng)絡設備類型特定的)使用JNLP被傳輸?shù)接脩艟W(wǎng)絡設備。在ST920,部署封包存儲在客戶端設備上的永久性存儲器中。在ST925,應用根據(jù)訪問特權(quán)和DRM設置在客戶端上的JRE中執(zhí)行。在ST930,從客戶端設備(使用例如JavaFX)獲取涉及客戶端設備上的應用使用情況的客戶端使用數(shù)據(jù)??蛻舳耸褂脭?shù)據(jù)可以包括個人標識信息(即,標識客戶端設備的用戶的信息或客戶端設備的用戶的任何其他個人/機密信息)。根據(jù)本發(fā)明的一個或多個實施例,客戶端使用數(shù)據(jù)可以被本地緩存在客戶端設備上,并只周期性地傳輸。在將數(shù)據(jù)發(fā)送到倉庫之前,可以從客戶端使用數(shù)據(jù)中刪除個人標識信息(或其一些部分)。作為替代地,將客戶端使用數(shù)據(jù)與個人標識信息一起發(fā)送到倉庫,此時,在將客戶端使用數(shù)據(jù)發(fā)送到開發(fā)人員(或向倉庫提供應用的其他第三方)之前由倉庫刪除它。在ST935,客戶端使用數(shù)據(jù)被發(fā)送到倉庫。在本發(fā)明的一個實施例中,用戶可以使用不同的用戶網(wǎng)絡設備來訪問倉庫。在這樣的情況下,用戶可以跨所有他們的用戶網(wǎng)絡設備在倉庫中具有共同的用戶帳戶,如此,具有在他們的用戶網(wǎng)絡設備中的每一個上安裝相同應用的權(quán)限。例如,如果用戶A購買并在他的移動電話上安裝應用1,然后從他的膝上型計算機訪問倉庫,則在沒有購買應用I的另外的副本的情況下用戶A可以在他的臺式機上安裝應用I。本發(fā)明的各實施例可以在實質(zhì)上任何類型的計算機上實現(xiàn),不管所使用的平臺如何。例如,如圖10所示,計算機系統(tǒng)(1100 )包括一個或多個處理器(1102)、相關(guān)聯(lián)的存儲器(1104)(例如,隨機存取存儲器(RAM)、高速緩沖存儲器、閃存等等)、非瞬時的計算機可讀取的存儲設備(1106)(例如,硬盤、諸如光盤驅(qū)動器或數(shù)字視盤(DVD)驅(qū)動器之類的光驅(qū)動器,閃存棒等等),以及當今的計算機典型的很多其他元件以及功能(未示出)。計算機(1100)還可以包括諸如鍵盤(1108)、鼠標(1110)或麥克風(未示出)之類的輸入裝置。進一步地,計算機(2100)可以包括諸如監(jiān)視器(1112)(例如,液晶顯示器(IXD)、等離子顯示器,或陰極射線管(CRT)監(jiān)視器)之類的輸出裝置。計算機系統(tǒng)(1100)可以通過網(wǎng)絡接口連接(未示出)連接到網(wǎng)絡(1114)(例如,局域網(wǎng)(LAN)、諸如因特網(wǎng)之類的廣域網(wǎng)(WAN),或任何其他類似的類型的網(wǎng)絡)。 本領域技術(shù)人員將認識到,存在許多不同類型的計算機系統(tǒng),如前所述的輸入和輸出裝置可以呈現(xiàn)其他形式。例如,計算機系統(tǒng)(1100)可以是具有多個刀片的服務器系統(tǒng)。一般而言,計算機系統(tǒng)(1100)包括實施本發(fā)明的各實施例所需的至少最小的處理、輸入,和/或輸出裝置。執(zhí)行本發(fā)明的各實施例的計算機可讀取的程序代碼可以存儲在諸如光盤(CD)、磁盤、磁帶,物理存儲器之類的非瞬時的計算機可讀存儲介質(zhì)上,或包括存儲計算機可讀取的程序代碼以執(zhí)行本發(fā)明的各實施例的功能的任何其他物理計算機可讀取的存儲介質(zhì)。在本發(fā)明的一個實施例中,計算機可讀取的程序代碼,當由處理器執(zhí)行時,被配置成執(zhí)行本發(fā)明的各實施例。本發(fā)明的各實施例也可以在幾乎任何類型的用戶網(wǎng)絡設備上實現(xiàn),不管所使用的平臺如何。例如,如圖1lA所示,機頂盒(1210)包括一個或多個處理器(1230)、相關(guān)聯(lián)的存儲器(1220)(例如,隨機存取存儲器(RAM)、高速緩沖存儲器、閃存等等)、非瞬時的計算機可讀取的存儲設備(1240)(例如,硬盤、諸如光盤驅(qū)動器或數(shù)字視盤(DVD)驅(qū)動器之類的光驅(qū)動器,閃存棒等等),以及當今的機頂盒典型的很多其他元件以及功能(未示出)。機頂盒(1210)也可以包括諸如電視遙控器(1250)之類的輸入裝置。進一步地,機頂盒(1210)可以可操作地連接到電視顯示設備(1200)。根據(jù)本發(fā)明的一個或多個實施例,電視顯示設備(1200)可以是陰極射線管(CRT)設備、發(fā)光二極管(LED)顯示器、等離子顯示板(PDP)、液晶顯示器(IXD)、有機發(fā)光二極管顯示器(0LED)、表面導電電子發(fā)射器顯示器(SED)、激光TV、碳納米管,納米晶體顯示器,或被用來顯示廣播信號的任何其他顯示設備。機頂盒(1210)可以被配置成從電視服務提供器(1260),例如線纜提供器,接收電視廣播信號。作為另一個示例,如圖1lB所示,電視系統(tǒng)(1260)包括一個或多個處理器(1230)、相關(guān)聯(lián)的存儲器(1220)(例如,隨機存取存儲器(RAM)、高速緩沖存儲器、閃存等等)、非瞬時的計算機可讀取的存儲設備(1240)(例如,硬盤、諸如光盤驅(qū)動器或數(shù)字視盤(DVD)驅(qū)動器之類的光驅(qū)動器,閃存棒等等),以及當今的電視設備典型的很多其他元件以及功能(未示出)。機頂盒(1210)也可以包括諸如電視遙控器(1250)之類的輸入裝置。進一步地,機頂盒(1210)可以可操作地連接到電視顯示設備(1200)。根據(jù)本發(fā)明的一個或多個實施例,電視顯示設備(1200)可以是陰極射線管(CRT)設備、發(fā)光二極管(LED)顯示器、等離子顯示板(PDP)、液晶顯示器(IXD)、有機發(fā)光二極管顯示器(OLED)、表面導電電子發(fā)射器顯示器(SED)、激光TV、納米晶體顯示器,或被用來顯示廣播信號的任何其他顯示設備。電視系統(tǒng)(1260)可以被配置成從電視服務提供器(1260),例如線纜提供器,接收電視廣播信號。執(zhí)行本發(fā)明的各實施例的計算機可讀取的程序代碼可以存儲在諸如光盤(CD)、磁盤、磁帶,物理存儲器 之類的非瞬時的計算機可讀存儲介質(zhì)上,或包括存儲計算機可讀取的程序代碼以執(zhí)行本發(fā)明的各實施例的功能的任何其他物理計算機可讀取的存儲介質(zhì)。在本發(fā)明的一個實施例中,計算機可讀取的程序代碼,當由處理器執(zhí)行時,被配置成執(zhí)行本發(fā)明的各實施例。
權(quán)利要求
1.一種包括計算機可讀取的代碼的計算機程序產(chǎn)品,當由處理器執(zhí)行代碼時,被配置成: 從用戶網(wǎng)絡設備接收在所述用戶網(wǎng)絡設備上執(zhí)行應用的第一請求,其中,所述第一請求包括用戶標識、路由信息,以及請求的應用信息,其中,使用公鑰來加密所述路由信息和請求的應用信息,其中,所述用戶網(wǎng)絡設備被配置成在電視顯示設備上顯示所述應用;使用私鑰來解密所述路由信息和請求的應用信息; 向服務提供器發(fā)送對與所述用戶對應的預訂信息的第二請求,其中,所述第二請求包括所述用戶標識; 從所述服務提供器接收所述預訂信息; 判斷對應于所述應用的許可證與所述用戶標識相關(guān)聯(lián); 生成應用包,其中 ,所述應用包被配置成使用Java運行時環(huán)境(JRE)將所述應用部署在所述用戶網(wǎng)絡設備上;以及 將所述應用包發(fā)送到所述用戶網(wǎng)絡設備。
2.如權(quán)利要求1所述的計算機程序產(chǎn)品,其中,在接收所述第一請求之前,從所述服務提供器接收所述私鑰,其中,所述服務提供器被配置成響應于來自所述用戶網(wǎng)絡設備的請求而生成所述私鑰。
3.如權(quán)利要求2所述的計算機程序產(chǎn)品,其中,所述計算機可讀取的代碼,當由所述處理器執(zhí)行時,進一步被配置成,在發(fā)送所述第二請求之前: 使用所述用戶標識來標識所述私鑰。
4.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,所述計算機可讀取的代碼,當由所述處理器執(zhí)行時,進一步被配置成接收表示所述應用由所述用戶網(wǎng)絡設備成功地接收到的確認。
5.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,所述用戶網(wǎng)絡設備包括所述應用的第一部分,并且其中所述應用包包括所述應用的第二部分。
6.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,判斷所述許可證與所述用戶標識相關(guān)聯(lián)包括: 向所述用戶發(fā)送對許可證數(shù)據(jù)的第三請求; 響應于所述第三請求,接收所述許可證數(shù)據(jù); 向所述服務提供器發(fā)送所述許可證數(shù)據(jù);以及 將所述許可證與所述用戶標識相關(guān)聯(lián)。
7.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,判斷所述許可證與所述用戶標識相關(guān)聯(lián)包括: 判斷所述預訂信息與所述許可證相關(guān)聯(lián),以及 將所述許可證與所述用戶標識相關(guān)聯(lián)。
8.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,所述用戶網(wǎng)絡設備是從由智能電視機和機頂盒構(gòu)成的組中選擇的。
9.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,所述執(zhí)行應用的第一請求響應于來自電視機遙控器的信號。
10.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,所述計算機可讀取的代碼,當由所述處理器執(zhí)行時,進一步被配置成通過為所述應用設置數(shù)字版權(quán)管理(DRM)設置來生成所述應用包,其中,所述DRM設置是通過所述JRE實施的。
11.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,所述應用包是根據(jù)Java網(wǎng)絡啟動協(xié)議生成的。
12.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,所述計算機可讀取的代碼,當由所述處理器執(zhí)行時,進一步被配置成使用訪問特權(quán)來生成所述應用包,其中,所述訪問特權(quán)是從只沙箱執(zhí)行、在用戶電視設備上在沙箱外有限的訪問執(zhí)行,以及在所述用戶電視設備上完全訪問執(zhí)行中選擇的。
13.如前面的權(quán)利要求中任一權(quán)利要求所述的計算機程序產(chǎn)品,其中,所述應用是JAVA應用。
14.一種服務提供器,包括: 處理器; 存儲器,包括指令,這些指令,在由所述處理器執(zhí)行時執(zhí)行一種方法時,所述方法包括: 接收來自用戶網(wǎng)絡設備的對于公鑰的第一請求; 生成所述公鑰和私鑰; 將所述公鑰發(fā)送到所述用戶網(wǎng)絡設備; 將所述私鑰發(fā)送到倉庫; 接收來自所述倉庫的包括用戶標識的對預訂信息的第二請求; 標識與所述用戶標識相關(guān)聯(lián)的所述預訂信息; 將所述預訂信息發(fā)送到所述倉庫, 其中,所述倉庫,響應于接收到所述預訂信息,被配置成: 判斷對應于應用的許可證與所述用戶標識相關(guān)聯(lián); 生成應用包,其中,所述應用包被配置成使用Java運行時環(huán)境(JRE)將所述應用部署在所述用戶網(wǎng)絡設備上;以及 將所述應用包發(fā)送到所述用戶網(wǎng)絡設備。
15.如權(quán)利要求14所述的服務提供器,其中,所述用戶網(wǎng)絡設備包括所述應用的第一部分,其中,所述應用包包括所述應用的第二部分。
16.如權(quán)利要求14或15所述的服務提供器,其中,所述計算機可讀取的代碼,當由所述處理器執(zhí)行時,進一步被配置成: 從所述倉庫接收許可證數(shù)據(jù);以及 將所述許可證與所述用戶標識相關(guān)聯(lián)。
17.—種包括計算機可讀取的代碼的計算機程序產(chǎn)品,當由處理器執(zhí)行代碼時,被配置成: 向服務提供器發(fā)送對公鑰的第一請求,其中,所述服務提供器被配置成: 生成公鑰和私鑰,以及 將所述私鑰發(fā)送到倉庫; 從所述服務提供器接收所述私鑰; 向所述倉庫發(fā)送執(zhí)行應用的第二請求,其中,所述第二請求包括用戶標識、路由信息,以及請求的應用信息, 其中,使用公鑰來加密所述路由信息和請求的應用信息, 其中,所述倉庫被配置成: 使用所述私鑰來解密所述路由信息和請求的應用信息; 向服務提供器發(fā)送對與所述用戶對應的預訂信息的第三請求,其中,所述第三請求包括所述用戶標識, 從所述服務 提供器接收所述預訂信息, 判斷對應于所述應用的許可證與所述用戶標識相關(guān)聯(lián),以及 生成應用包,其中,所述應用包被配置成使用Java運行時環(huán)境(JRE)將所述應用部署在所述用戶網(wǎng)絡設備上, 接收所述應用包; 執(zhí)行所述應用包;以及 在電視顯示設備上顯示所述應用。
18.根據(jù)權(quán)利要求1-13和17中的任何一個權(quán)利要求所述的計算機程序產(chǎn)品,包括其中含有所述計算機可讀取的代碼的非瞬時的計算機可讀存儲介質(zhì)。
全文摘要
一般而言,本發(fā)明涉及被配置成執(zhí)行方法的服務提供器。該方法包括接收來自用戶網(wǎng)絡設備的對于公鑰的第一請求,生成所述公鑰和私鑰,將所述公鑰發(fā)送到所述用戶網(wǎng)絡設備,將所述私鑰發(fā)送到倉庫,接收來自所述倉庫的包括用戶標識的對預訂信息的第二請求,標識與所述用戶標識相關(guān)聯(lián)的所述預訂信息,以及,將所述預訂信息發(fā)送到所述倉庫。該倉庫,響應于接收到所述預訂信息,被配置成判斷對應于應用的許可證與所述用戶標識相關(guān)聯(lián),生成應用包,其中,所述應用包被配置成使用Java運行時環(huán)境(JRE)將所述應用部署在所述用戶網(wǎng)絡設備上,以及,將所述應用包發(fā)送到所述用戶網(wǎng)絡設備。
文檔編號G06F21/62GK103229187SQ201180057263
公開日2013年7月31日 申請日期2011年10月7日 優(yōu)先權(quán)日2010年10月15日
發(fā)明者B·A·特拉弗薩特, M·J·杜伊高, H·詹, M·M·阿布德拉齊茲, B·戈茨 申請人:甲骨文美國公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
顺平县| 达拉特旗| 贞丰县| 安龙县| 墨脱县| 旬邑县| 赣州市| 南雄市| 鹰潭市| 余庆县| 濉溪县| 达孜县| 邛崃市| 祁阳县| 齐齐哈尔市| 安丘市| 乐平市| 桃园市| 集贤县| 高平市| 岳西县| 汕头市| 息烽县| 封开县| 石家庄市| 邵阳市| 齐齐哈尔市| 科尔| 信阳市| 大丰市| 武冈市| 奉节县| 全州县| 平度市| 全椒县| 望奎县| 四子王旗| 资阳市| 洪雅县| 滨州市| 河西区|