用于管理數(shù)據(jù)的計算系統(tǒng)的制作方法
【專利摘要】描述了用于管理數(shù)據(jù)的系統(tǒng)和方法的各種實施例。該系統(tǒng)可包括被配置成進行對等通信的設(shè)備組,該設(shè)備組包括計算設(shè)備以及一個或多個對等計算設(shè)備。該系統(tǒng)包括被實現(xiàn)為在該計算設(shè)備以及每一個對等計算設(shè)備上執(zhí)行的設(shè)備組應(yīng)用編程接口(API)客戶機的跨設(shè)備API。每一個設(shè)備組API客戶機都包括許可模塊,該許可模塊被配置成確定請求是否滿足用于訪問存儲在與設(shè)備組相關(guān)聯(lián)的任何設(shè)備上的數(shù)據(jù)的設(shè)備組專用許可。當(dāng)請求被授權(quán)時,文件存儲模塊被配置成檢索并輸出所請求的文件。
【專利說明】用于管理數(shù)據(jù)的計算系統(tǒng)
[0001]背景
[0002]隨著包括智能電話、平板、筆記本計算機等的移動計算設(shè)備的普及,用戶可將個人信息和數(shù)據(jù)存儲在多個不同設(shè)備上。具有多個計算設(shè)備的用戶可能發(fā)現(xiàn)難以跨他們的各種設(shè)備管理他們的數(shù)據(jù)。一種現(xiàn)有的解決方案已經(jīng)使用戶將他們的數(shù)據(jù)存儲在云計算環(huán)境中的遠(yuǎn)程服務(wù)器上,該云計算環(huán)境指的是其中客戶機設(shè)備能夠與服務(wù)器進行通信以便跨因特網(wǎng)將文件存儲在這些服務(wù)器上的聯(lián)網(wǎng)計算環(huán)境。以此方式,用戶可以從可訪問云的任何計算機訪問存儲在云服務(wù)器上的他們的數(shù)據(jù)。然而,用戶對將他們的數(shù)據(jù)存儲在遠(yuǎn)程服務(wù)器上可能具有隱私和/或安全顧慮,因為存儲該數(shù)據(jù)的物理設(shè)備不在該用戶的實際控制下。單個用戶的多個設(shè)備之間以及網(wǎng)絡(luò)中的不同用戶的多個設(shè)備之間的數(shù)據(jù)管理也可能是困難的。另外,方便來自網(wǎng)絡(luò)之外的對網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)的請求可能是困難的。
[0003]概述
[0004]本文公開了用于跨設(shè)備組內(nèi)的各個設(shè)備管理數(shù)據(jù)的系統(tǒng)和方法。一個系統(tǒng)可包括設(shè)備組,該設(shè)備組包括計算設(shè)備以及一個或多個對等計算設(shè)備。該系統(tǒng)包括被實現(xiàn)為在該計算設(shè)備以及每一個對等計算設(shè)備上執(zhí)行的設(shè)備組應(yīng)用編程接口(API)客戶機的跨設(shè)備API。
[0005]每一個設(shè)備組API客戶機包括被配置成發(fā)現(xiàn)與設(shè)備組相關(guān)聯(lián)的對等計算設(shè)備的設(shè)備發(fā)現(xiàn)模塊。每一個設(shè)備組API客戶機還包括被配置成經(jīng)由對等計算設(shè)備各自的設(shè)備組API客戶機來參與與設(shè)備組中的每一個對等計算設(shè)備的對等(P2P)通信的P2P模塊。每一個設(shè)備組API客戶機還包括文件存儲模塊,該文件存儲模塊被配置成使設(shè)備組API客戶機能夠在本地設(shè)備上本地地和/或使用經(jīng)由P2P模塊發(fā)送的通信來在一個或多個對等計算設(shè)備上遠(yuǎn)程地訪問存儲在分布式文件存儲中的文件。文件存儲模塊還被配置成經(jīng)由設(shè)備組API客戶機從計算機程序接收訪問存儲在分布式文件存儲中的所請求的文件的請求。
[0006]每一個設(shè)備組API客戶機還包括許可模塊,該許可模塊被配置成確定請求是否滿足用于對存儲在與設(shè)備組相關(guān)聯(lián)的任何設(shè)備上的數(shù)據(jù)的訪問許可的設(shè)備組專用許可,并且如果滿足,則授權(quán)該請求訪問所請求的文件,否則拒絕該請求訪問所請求的文件。當(dāng)請求被許可模塊授權(quán)時,文件存儲模塊還被配置成從分布式文件存儲中檢索所請求的文件并將所請求的文件輸出到計算機程序。
[0007]提供本概述是為了以簡化的形式介紹將在以下詳細(xì)描述中進一步描述的選擇的概念。本概述并不旨在標(biāo)識所要求保護主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護主題的范圍。此外,所要求保護的主題不限于解決在本公開的任一部分中所提及的任何或所有缺點的實現(xiàn)。
[0008]附圖簡述
[0009]圖1是包括作為第一設(shè)備組和第二設(shè)備組的成員的計算設(shè)備的用于管理數(shù)據(jù)的計算系統(tǒng)的示意圖。
[0010]圖2是示出包括第一設(shè)備組API客戶機的計算設(shè)備的組件的圖1的計算設(shè)備的詳細(xì)示意圖。[0011]圖3是示出用于管理數(shù)據(jù)的方法且示出計算設(shè)備、第一設(shè)備組對等計算設(shè)備、第二設(shè)備組對等計算設(shè)備和服務(wù)器之間的通信和活動的圖示。
[0012]圖4是示出圖3的方法中的請求處理部分的一個示例的圖示,該示例包括接收和處理廣告請求。
[0013]圖5是示出圖3的方法中的請求處理部分的另一示例的圖示,該示例包括接收和處理對媒體文件的請求。
[0014]詳細(xì)描述
[0015]圖1是用于經(jīng)由計算設(shè)備102以及一個或多個對等計算設(shè)備104之間的對等(P2P)通信來管理數(shù)據(jù)的計算系統(tǒng)100的示意圖。計算設(shè)備102通過跨網(wǎng)絡(luò)的P2P連接與對等計算設(shè)備104通信,這些網(wǎng)絡(luò)在所公開的實施例中是局域網(wǎng)(LAN) 106和116。如以下更詳細(xì)地描述的,該系統(tǒng)包括在計算設(shè)備102和對等計算設(shè)備104上的客戶機中實現(xiàn)的跨設(shè)備應(yīng)用編程接口(API)??缭O(shè)備API使計算設(shè)備102能夠成為可具有不同許可和不同的對等計算設(shè)備成員的多個設(shè)備組的成員。在其它示例中,多個設(shè)備組可具有不同許可和相同的對等計算設(shè)備。在又一些示例中,多個設(shè)備組可具有相同許可但不同的對等計算設(shè)備。
[0016]計算設(shè)備102和對等計算設(shè)備104可采取以下形式:臺式計算機、筆記本計算機、平板計算機、交互式電視機、移動計算設(shè)備、移動通信設(shè)備、游戲設(shè)備等。另外,將會理解,LAN106和116也可采取以下形式:廣域網(wǎng)(WAN)、個域網(wǎng)(PAN)或其組合,包括因特網(wǎng)。
[0017]現(xiàn)在參考圖2,計算設(shè)備102包括大容量存儲108、顯示器110、存儲器112和處理器114。存儲在大容量存儲108上的程序可由處理器114使用存儲器112來執(zhí)行以實現(xiàn)本文描述的各種功能。大容量存儲108包括操作系統(tǒng)118、文件系統(tǒng)120、一個或多個應(yīng)用程序(APP) 122和瀏覽器124。如下文更詳細(xì)地描述的,大容量存儲108還包括第一設(shè)備組API客戶機130A。
[0018]返回到圖1,計算設(shè)備102是第一設(shè)備組132的成員,該第一設(shè)備組132還包括臺式計算機形式的對等計算設(shè)備104A、膝上型計算機形式的對等計算設(shè)備104B和交互式電視機形式的對等計算設(shè)備104C作為成員。在其它示例中,第一設(shè)備組132還可包括附加對等計算設(shè)備,并且對等計算設(shè)備104A、104B和/或104C可以是不同于圖1所描繪的那些計算設(shè)備的計算設(shè)備。計算設(shè)備102以及第一設(shè)備組132中的每一個其它成員包括圖1中大致指示的第一設(shè)備組API客戶機130的實例,該第一設(shè)備組API客戶機使得能夠在第一設(shè)備組132的成員之間進行P2P通信。更具體而言,計算設(shè)備102包括第一設(shè)備組API客戶機130A,對等計算設(shè)備104A包括第一設(shè)備組API客戶機130B,對等計算設(shè)備104B包括第一設(shè)備組API客戶機130C,而對等計算設(shè)備104C包括第一設(shè)備組API客戶機130D。
[0019]計算設(shè)備102也是第二設(shè)備組140的成員,該第二設(shè)備組140包括不同于第一設(shè)備組132中的對等計算設(shè)備104A、104B和104C的對等計算設(shè)備104E和104F。第二設(shè)備組140中的每一個成員包括圖1中大致指示的第二設(shè)備組API客戶機142的實例,該第二設(shè)備組API客戶機使得能夠在第二設(shè)備組140的成員之間進行P2P通信。更具體而言,計算設(shè)備102包括第二設(shè)備組API客戶機142A,對等計算設(shè)備104E包括第二設(shè)備組API客戶機142B,而對等計算設(shè)備104F包括第二設(shè)備組API客戶機142C。如同第一設(shè)備組132,在其它示例中,第二設(shè)備組140還可包括附加對等計算設(shè)備,并且對等計算設(shè)備104E和/或104F可以是不同于圖1所描繪的那些計算設(shè)備的計算設(shè)備。[0020]現(xiàn)在參考圖2,第一設(shè)備組API客戶機130A包括多個軟件模塊150。將會理解,分別在對等計算設(shè)備104A、104B和104C上的其它第一設(shè)備組API客戶機130B、130C和130D包括具有如下文描述的功能的多個相同的軟件模塊150。還將理解,第二設(shè)備組API客戶機142AU42B和142C還可包括多個相同的軟件模塊150或者一個或多個不同的軟件模塊。為了容易描述,軟件模塊150將只參考第一設(shè)備組API客戶機130A來描述。
[0021]軟件模塊150包括P2P模塊154,該P2P模塊154被配置成經(jīng)由第一設(shè)備組132中的其它對等計算設(shè)備104A、104B和104C各自的第一設(shè)備組API客戶機130B、130C和130D來參與與這些對等計算設(shè)備中的每一個的P2P通信。以此方式,在遵從下文更詳細(xì)地描述的設(shè)備組專用許可的情況下,第一設(shè)備組132中的每一個成員都可直接訪問該組中的其它成員的數(shù)據(jù)和資源。
[0022]軟件模塊150包括設(shè)備發(fā)現(xiàn)模塊156,該設(shè)備發(fā)現(xiàn)模塊156被配置成動態(tài)地發(fā)現(xiàn)當(dāng)前與第一設(shè)備組132相關(guān)聯(lián)的一個或多個對等計算設(shè)備或者當(dāng)前未與第一設(shè)備組132相關(guān)聯(lián)的其它非成員計算設(shè)備,這些非成員計算設(shè)備可以在自組織的基礎(chǔ)上被添加到該組。當(dāng)設(shè)備發(fā)現(xiàn)模塊156標(biāo)識出非成員計算設(shè)備時,設(shè)備發(fā)現(xiàn)模塊156可確定該非成員設(shè)備是否滿足存儲在許可模塊158中的一個或多個設(shè)備組準(zhǔn)則。
[0023]在一個示例中,設(shè)備組準(zhǔn)則可包括非成員計算設(shè)備的位置在計算設(shè)備102或者對等計算設(shè)備104A、104B或104C中的一個的預(yù)定義范圍內(nèi)。在另一示例中,設(shè)備組準(zhǔn)則可包括非成員計算設(shè)備的用戶的社交距離在計算設(shè)備102或者對等計算設(shè)備104AU04B或104C中的一個的用戶的預(yù)定義距離內(nèi)。該預(yù)定義距離可包括非成員設(shè)備的用戶在社交網(wǎng)站上具有相對于計算設(shè)備102或者對等計算設(shè)備104AU04B或104C中的一個的用戶的特定社交指定(諸如“朋友”或“朋友的朋友”)。
[0024]在另一示例中,設(shè)備組準(zhǔn)則可包括非成員計算設(shè)備的所有權(quán)指定與計算設(shè)備102或者對等計算設(shè)備104AU04B或104C中的一個的用戶相關(guān)聯(lián)。在一個示例中,計算設(shè)備102是用戶A所擁有的筆記本計算機。用戶A購買被設(shè)備發(fā)現(xiàn)模塊156發(fā)現(xiàn)為非成員設(shè)備的新移動電話。當(dāng)確定該移動電話是也擁有筆記本計算機/計算設(shè)備102的用戶A所擁有時,設(shè)備發(fā)現(xiàn)模塊156將該移動電話添加到第一設(shè)備組132。
[0025]在另一示例中,當(dāng)非成員計算設(shè)備變成第一設(shè)備組132內(nèi)的對等計算設(shè)備時,第一設(shè)備組API客戶機130A可被展示給諸如服務(wù)器162上的廣告引擎176等外部web服務(wù),以允許該web服務(wù)發(fā)現(xiàn)新的或修改后的第一設(shè)備組132。第一設(shè)備組132然后可允許該web服務(wù)在第一設(shè)備組中的成員設(shè)備上編寫新應(yīng)用。
[0026]軟件模塊150還包括文件存儲模塊160,該文件存儲模塊160被配置成使第一設(shè)備組API客戶機130A能夠訪問存儲在與第一設(shè)備組132相關(guān)聯(lián)的分布式文件存儲中的文件。分布式文件存儲可以本地地駐留在計算設(shè)備102上和/或遠(yuǎn)程地駐留在對等計算設(shè)備104A、104B和104C中的一個或多個上。文件存儲模塊160還被配置成從計算機程序接收訪問存儲在分布式文件存儲中的所請求的文件的請求。在一個示例中,做出請求的計算機程序能夠以諸如媒體播放器等應(yīng)用程序122的形式本地地駐留在計算設(shè)備102上。在其它示例中,計算機程序可以駐留在對等計算設(shè)備104AU04B或104C中的一個上或者遠(yuǎn)程地駐留在服務(wù)器162上。
[0027]如上所述,軟件模塊150還包括許可模塊158,該許可模塊158被配置成確定文件存儲模塊160接收到的請求是否滿足用于對存儲在計算設(shè)備102和/或?qū)Φ扔嬎阍O(shè)備104A、104B和104C中的任一個上的數(shù)據(jù)的訪問許可的一個或多個設(shè)備組專用許可164。設(shè)備組專用許可164可包括內(nèi)部許可166和外部許可168。內(nèi)部許可166可包括例如用于在第一設(shè)備組132的成員之間共享各種類別的用戶數(shù)據(jù)的用戶數(shù)據(jù)隱私設(shè)置。各種類別的用戶數(shù)據(jù)可包括例如應(yīng)用使用歷史、瀏覽器歷史、媒體數(shù)據(jù)、聯(lián)系人數(shù)據(jù)、日歷數(shù)據(jù)和社交網(wǎng)絡(luò)數(shù)據(jù)。許可模塊158可被配置成允許用戶設(shè)置針對一個或多個用戶數(shù)據(jù)類別的隱私設(shè)置。外部許可168可包括訪問計算設(shè)備102和/或?qū)Φ扔嬎阍O(shè)備104AU04B和104C中的任一個的外部請求(諸如對存儲在這些第一設(shè)備組成員中的任一個上的數(shù)據(jù)的請求)需要滿足的設(shè)備組專用許可。如下文更詳細(xì)地描述的,外部許可168可包括例如在可將廣告從服務(wù)器162上的廣告引擎176提供至第一設(shè)備組132之前必須滿足的許可。
[0028]現(xiàn)在參考圖1,將會理解計算設(shè)備102是第一設(shè)備組132和第二設(shè)備組140兩者的成員。因此,計算設(shè)備102包括第一設(shè)備組API客戶機130A和第二設(shè)備組API客戶機142A。在一個示例中,服務(wù)器162可以經(jīng)由WAN170和計算設(shè)備102上的第一設(shè)備組API客戶機130A向第一設(shè)備組132請求文件。許可模塊158確定該請求是否滿足第一設(shè)備組專用許可集,并且如果滿足,則許可模塊授權(quán)該請求訪問文件。第一存儲模塊160然后從分布式文件存儲中檢索該文件并將該文件輸出到服務(wù)器162。如果該請求未滿足第一設(shè)備組專用許可集,則拒絕該請求。
[0029]在另一示例中,如果該請求滿足第一設(shè)備組專用許可集,則許可模塊158還可被配置成基于適用于做出請求的用戶的通過程序確定的部分訪問特權(quán)來授予對該文件的不同級別的訪問特權(quán)。例如,許可模塊158可被配置成授予部分訪問特權(quán),該部分訪問特權(quán)只允許訪問文件中的數(shù)據(jù)的一部分和/或只允許為了授權(quán)用途訪問文件中的數(shù)據(jù)。該部分訪問特權(quán)例如可根據(jù)隱私保護功能來制定以便在一個示例中保護用戶隱私;在該示例中,請求可被授權(quán)只訪問所請求的文件中的部分信息(諸如非個人可標(biāo)識信息)和/或僅僅出于以非個人可標(biāo)識方式聚集這類數(shù)據(jù)的目的來訪問個人可標(biāo)識信息。在一個用例示例中,請求可尋求訪問存儲在用戶的移動設(shè)備上的薪水信息。在該薪水信息遵從隱私保護功能(諸如在一組用戶之間聚集該信息)的情況下,許可模塊158可授權(quán)該請求訪問該薪水信息。
[0030]服務(wù)器162還可以經(jīng)由WAN170和計算設(shè)備102上的第二設(shè)備組API客戶機142A向第二設(shè)備組140請求文件。第二設(shè)備組API客戶機142A中的許可模塊確定該請求是否滿足第二設(shè)備組專用許可集,并且如果滿足,則許可模塊授權(quán)該第二請求訪問文件。第二設(shè)備組API客戶機142A上的文件存儲模塊然后從第二設(shè)備組分布式文件存儲中檢索該文件并將該文件輸出到服務(wù)器162。如果該請求未滿足第二設(shè)備組專用許可集,則拒絕該請求。
[0031]在一個示例中,計算設(shè)備102上的應(yīng)用程序122可以是媒體播放器。媒體播放器可以在第一設(shè)備組132和第二設(shè)備組140的分布式文件存儲中搜索特定媒體文件。如果媒體播放器在第一設(shè)備組132的分布式文件存儲中定位到該媒體文件,則該媒體播放器可以向第一設(shè)備組API客戶機130A發(fā)送對該媒體文件的設(shè)備組專用請求。第一設(shè)備組API客戶機130A中的搜索模塊172被配置成在分布式文件存儲中搜索媒體文件。如果媒體播放器請求滿足設(shè)備組專用許可164,則搜索模塊172經(jīng)由P2P模塊154將該媒體文件流傳輸?shù)矫襟w播放器。
[0032]在另一示例中,第一設(shè)備組API客戶機130A中的廣告模塊174被配置成根據(jù)包括例如組級范圍的隱私設(shè)置在內(nèi)的設(shè)備組專用許可164來從第一設(shè)備組132的成員收集聚集的用戶數(shù)據(jù)。如上所述,各種類別的用戶數(shù)據(jù)可包括例如應(yīng)用使用歷史、瀏覽器歷史、媒體數(shù)據(jù)、聯(lián)系人數(shù)據(jù)、日歷數(shù)據(jù)和社交網(wǎng)絡(luò)數(shù)據(jù)。在收集聚集的用戶數(shù)據(jù)時,廣告模塊174聯(lián)系許可模塊158以確定聚集的用戶數(shù)據(jù)是否滿足設(shè)備組專用許可164,包括諸如選擇廣告設(shè)置等管控可以與第三方服務(wù)共享的用戶數(shù)據(jù)類別的用戶數(shù)據(jù)隱私設(shè)置。許可模塊158然后授權(quán)根據(jù)設(shè)備組專用許可164可發(fā)送的用戶數(shù)據(jù)。
[0033]當(dāng)發(fā)生諸如瀏覽器124下載網(wǎng)頁等觸發(fā)事件時,廣告模塊174將包括已授權(quán)的聚集的用戶數(shù)據(jù)在內(nèi)的廣告請求發(fā)送到遠(yuǎn)程服務(wù)器162上的廣告引擎176。廣告請求還可包括第一設(shè)備組132的組級特性,諸如組成員之間的關(guān)聯(lián)或公共連接、組的社交圖關(guān)聯(lián)、成員設(shè)備的位置等。廣告模塊174然后接收廣告引擎176提供的廣告并確定選擇第一設(shè)備組132中的哪些成員將接收到該廣告的呈現(xiàn)樣式。廣告模塊174然后根據(jù)呈現(xiàn)樣式在所選的第一設(shè)備組成員上顯不廣告。
[0034]將會理解,廣告引擎176提供的廣告被定向到第一設(shè)備組132,并因此可針對第一設(shè)備組的獨特的組級特性。在其中廣告請求由第二設(shè)備組140的成員發(fā)起的另一示例中,廣告引擎176提供的廣告可針對第二設(shè)備組的獨特的組級特性。
[0035]現(xiàn)在參考圖3,一圖示示出了用于根據(jù)本公開的一個實施例來管理數(shù)據(jù)的方法300。該方法可使用以上在圖1中描述并示出的計算系統(tǒng)100的軟件和硬件組件或使用其它合適的組件來執(zhí)行。方法300開始于302,形成包括諸如計算設(shè)備102等計算設(shè)備以及諸如對等計算設(shè)備104A等第一組對等計算設(shè)備的第一設(shè)備組132。這可采取計算設(shè)備向第一組對等計算設(shè)備發(fā)送邀請304的形式。第一組對等計算設(shè)備通過向計算設(shè)備發(fā)送接受306來進行響應(yīng)。
[0036]在另一示例中并且如上所述,該方法還可包括至少部分地通過動態(tài)地發(fā)現(xiàn)當(dāng)前與設(shè)備組相關(guān)聯(lián)的一個或多個對等計算設(shè)備或者可以在自組織的基礎(chǔ)上被添加到該組的其它非成員計算設(shè)備來形成該設(shè)備組。當(dāng)標(biāo)識出當(dāng)前未與設(shè)備組相關(guān)聯(lián)的非成員計算設(shè)備時,該方法可確定該非成員設(shè)備是否滿足設(shè)備組準(zhǔn)則。在一個示例中,設(shè)備組準(zhǔn)則可包括非成員計算設(shè)備的位置在計算設(shè)備或?qū)Φ扔嬎阍O(shè)備的預(yù)定義范圍內(nèi)。在另一示例中,設(shè)備組準(zhǔn)則可包括非成員計算設(shè)備的用戶的社交距離在計算設(shè)備或?qū)Φ扔嬎阍O(shè)備的用戶的預(yù)定義距離內(nèi)。在另一示例中,設(shè)備組準(zhǔn)則可包括非成員計算設(shè)備的所有權(quán)指定與計算設(shè)備或?qū)Φ扔嬎阍O(shè)備的用戶相關(guān)聯(lián)。
[0037]一旦形成第一設(shè)備組,該方法在308包括建立計算設(shè)備和第一組對等計算設(shè)備之間的P2P通信。在310,該方法包括在計算設(shè)備上本地地和/或在第一組對等計算設(shè)備上遠(yuǎn)程地將與計算設(shè)備或第一組對等計算設(shè)備相關(guān)聯(lián)的文件存儲在分布式文件存儲中。
[0038]該方法然后繼續(xù)至請求處理部分312,其中接收并處理請求以確定是授權(quán)還是拒絕該請求。在314,計算設(shè)備從計算機程序接收訪問存儲在分布式文件存儲中的所請求的文件的請求316。在所描繪的示例中,計算機程序遠(yuǎn)程地駐留在諸如服務(wù)器162等服務(wù)器上。在其它示例中,計算機程序可以本地地駐留在計算設(shè)備上或者遠(yuǎn)程地駐留在第一組對等計算設(shè)備上。如上所述,所請求的文件可包括來自計算設(shè)備和/或第一組對等計算設(shè)備的用戶數(shù)據(jù)。該用戶數(shù)據(jù)可包括來自各種用戶數(shù)據(jù)類別的信息,包括例如應(yīng)用使用歷史、瀏覽器歷史、媒體數(shù)據(jù)、聯(lián)系人數(shù)據(jù)、日歷數(shù)據(jù)和社交網(wǎng)絡(luò)數(shù)據(jù)。[0039]在318,該方法包括確定請求是否滿足用于對存儲在計算設(shè)備和/或第一組對等計算設(shè)備上的數(shù)據(jù)的訪問許可的一個或多個設(shè)備組專用許可。如果請求滿足許可164,則該方法包括在320授權(quán)該請求完整地訪問或部分地訪問所請求的文件,在322檢索所請求的文件以及在324將所請求的文件輸出到做出請求的計算設(shè)備上的計算機程序,在所示實施例中該做出請求的計算設(shè)備是服務(wù)器162,但可另選地是另一計算設(shè)備。如果請求不滿足許可164,則該方法包括在326拒絕該請求并向服務(wù)器162上的計算機程序發(fā)送請求拒絕328。
[0040]在330,該方法還可包括形成計算設(shè)備是其成員的第二設(shè)備組。該計算設(shè)備可以向諸如對等計算設(shè)備104E等第二組對等計算設(shè)備發(fā)送邀請332。該第二組對等計算設(shè)備可通過向計算設(shè)備102發(fā)送接受334來進行響應(yīng)。如在336所示,該方法然后可繼續(xù)以如上文描述且針對第二設(shè)備組和第二組對等計算設(shè)備來實現(xiàn)步驟308-328。具體而言,第二設(shè)備組可具有用于對存儲在與第二設(shè)備組相關(guān)聯(lián)的任何設(shè)備上的數(shù)據(jù)的訪問許可的第二設(shè)備組專用許可集。該計算設(shè)備可以從計算機程序接收訪問存儲在第二分布式文件存儲中的第二所請求的文件的第二請求。該方法然后可確定第二請求是否滿足第二設(shè)備組專用許可集,并且如果滿足,則授權(quán)該第二請求完整地訪問或部分地訪問第二所請求的文件。如果第二請求不滿足第二設(shè)備組專用許可集,則拒絕該請求并向計算機程序發(fā)送請求拒絕。
[0041]現(xiàn)在參考圖4,在一個示例中,方法300的請求處理部分312的至少一部分可包括接收并處理廣告請求。在圖4中,第一設(shè)備組包括諸如計算設(shè)備102等計算設(shè)備、諸如第一組對等計算設(shè)備104A等第一組對等計算設(shè)備A以及諸如第一組對等計算設(shè)備104B等第一組對等計算設(shè)備B。在402,該方法包括設(shè)置計算設(shè)備上的一個或多個隱私設(shè)置和/或跨該計算設(shè)備以及第一組對等計算設(shè)備A和B的設(shè)備組級的一個或多個隱私設(shè)置。在404,計算設(shè)備接收廣告請求。該廣告請求可發(fā)送自計算設(shè)備的第一設(shè)備組API客戶機中的廣告模塊、發(fā)送自第一設(shè)備組中的另一對等設(shè)備或發(fā)送自諸如服務(wù)器162等外部源。
[0042]在406,該方法包括從計算設(shè)備102以及第一組對等計算設(shè)備A和B收集聚集的用戶數(shù)據(jù)。這可采取以下形式:廣告模塊向第一組對等計算設(shè)備A發(fā)送數(shù)據(jù)請求408以及向第一組對等計算設(shè)備B發(fā)送數(shù)據(jù)請求410。第一組對等計算設(shè)備A和B通過分別向該計算設(shè)備發(fā)送用戶數(shù)據(jù)412和414來進行響應(yīng)。在416,該方法包括授權(quán)根據(jù)第一設(shè)備組專用許可來發(fā)送的聚集的用戶數(shù)據(jù)。如上所述,這些許可可包括諸如選擇廣告設(shè)置等管控可以與第三方服務(wù)共享的用戶數(shù)據(jù)類別的用戶數(shù)據(jù)隱私設(shè)置。
[0043]在418,該方法包括將聚集的用戶數(shù)據(jù)保存在第一設(shè)備組的分布式文件存儲中。當(dāng)發(fā)生諸如計算設(shè)備的用戶下載網(wǎng)頁等觸發(fā)事件時,該方法然后在420包括將包括聚集的用戶數(shù)據(jù)的廣告請求422發(fā)送到服務(wù)器上的廣告引擎。如上所述,廣告請求還可包括第一設(shè)備組的組級特性,諸如組成員之間的關(guān)聯(lián)或公共連接、組的社交圖關(guān)聯(lián)、成員設(shè)備的位置等。在424,廣告引擎使用聚集的用戶數(shù)據(jù)以及任何組級特性來匹配針對第一設(shè)備組132的廣告428。
[0044]在426,該方法包括計算設(shè)備從廣告引擎接收廣告428。在430,該方法包括顯示廣告428。廣告可以顯示在與計算設(shè)備102相關(guān)聯(lián)的顯示器上。另選地或另外地,計算設(shè)備102可將廣告428發(fā)送到第一組對等計算設(shè)備A和B中的每一個,并且430處的顯示可包括在第一組對等計算設(shè)備A和B中的每一個上顯示廣告428。[0045]現(xiàn)在參考圖5,在另一示例中,方法300的請求處理部分312的至少一部分可包括接收并處理對媒體文件的請求。在圖5中,第一設(shè)備組包括諸如計算設(shè)備102等計算設(shè)備、諸如第一組對等計算設(shè)備104A等第一組對等計算設(shè)備A以及諸如第一組對等計算設(shè)備104B等第一組對等計算設(shè)備B。在502,該方法包括計算設(shè)備從第一組對等計算設(shè)備B上的媒體播放器接收對媒體文件的請求504。在506,該方法包括在包含來自計算設(shè)備102和第一組對等計算設(shè)備A和B的文件的分布式文件存儲中搜索媒體文件。在508,該方法包括確定請求是否滿足第一設(shè)備組的設(shè)備組專用許可。如果請求滿足許可,則該方法包括在510計算設(shè)備授權(quán)該請求并在512將媒體文件流傳輸?shù)降谝唤M對等計算設(shè)備B上的媒體播放器。如果請求不滿足許可,則在514計算設(shè)備102拒絕該請求并向媒體播放器發(fā)送請求拒絕516。
[0046]使用上述系統(tǒng)和方法,用戶可將數(shù)據(jù)存儲在對等設(shè)備上并且避免與將他們的數(shù)據(jù)存儲在遠(yuǎn)程服務(wù)器上相關(guān)聯(lián)的隱私和安全顧慮,因為數(shù)據(jù)未被存儲在遠(yuǎn)程服務(wù)器上。此外,這些系統(tǒng)和方法具有允許單個用戶的多個設(shè)備之間以及網(wǎng)絡(luò)中的不同用戶的多個設(shè)備之間的數(shù)據(jù)管理的潛在益處。另外,這些系統(tǒng)和方法允許組外和組內(nèi)設(shè)備兩者做出對存儲在計算設(shè)備所屬的一個或多個對等組上的數(shù)據(jù)的請求,并且在充分的許可伴隨該請求的情況下接收到包括所請求的數(shù)據(jù)的適當(dāng)響應(yīng)。
[0047]應(yīng)該理解,此處所述的配置和/或方法在本質(zhì)上是示例性的,并且這些具體實施例或示例不應(yīng)被認(rèn)為是局限性的,因為多個變體是可能的。此處所述的具體例程或方法可表示任何數(shù)量的處理策略中的一個或多個。由此,所示出的各個動作可以按所示次序執(zhí)行、按其他次序執(zhí)行、并行地執(zhí)行、或者在某些情況下被省略。同樣,可以改變上述過程的次序。
[0048]本公開的主題包括各種過程、系統(tǒng)和配置、此處所公開的其他特征、功能、動作、和/或特性、以及其任何和全部等效方案的所有新穎和非顯而易見的組合和子組合。
【權(quán)利要求】
1.一種包括跨設(shè)備應(yīng)用編程接口(API)的用于管理數(shù)據(jù)的計算系統(tǒng),包括: 在與設(shè)備組相關(guān)聯(lián)的計算設(shè)備上執(zhí)行的設(shè)備組API客戶機,所述API客戶機包括: 被配置成發(fā)現(xiàn)與所述設(shè)備組相關(guān)聯(lián)的一個或多個對等計算設(shè)備的設(shè)備發(fā)現(xiàn)模塊; 對等(P2P)模塊,所述P2P模塊被配置成經(jīng)由在所述設(shè)備組中的所述一個或多個對等計算設(shè)備上執(zhí)行的各自的設(shè)備組API客戶機來參與與所述一個或多個對等計算設(shè)備中的每一個的P2P通信; 文件存儲模塊,所述文件存儲模塊被配置成使所述設(shè)備組API客戶機能夠在所述計算設(shè)備上本地地和/或使用經(jīng)由所述P2P模塊發(fā)送的通信來在所述一個或多個對等計算設(shè)備上遠(yuǎn)程地訪問存儲在分布式文件存儲中的文件,所述文件存儲模塊被配置成經(jīng)由所述設(shè)備組API客戶機從計算機程序接收訪問存儲在所述分布式文件存儲中的所請求的文件的請求; 許可模塊,所述許可模塊被配置成確定所述請求是否滿足用于對存儲在與所述設(shè)備組相關(guān)聯(lián)的任何設(shè)備上的數(shù)據(jù)的訪問許可的設(shè)備組專用許可,并且如果滿足,則授權(quán)所述請求訪問所請求的文件,否則拒絕所述請求訪問所請求的文件;并且 當(dāng)所述請求被所述許可模塊授權(quán)時,所述文件存儲模塊被配置成從所述分布式文件存儲中檢索所請求的文件并將所請求的文件輸出到所述計算機程序。
2.如權(quán)利要求1所述的計算系統(tǒng),其特征在于,所述設(shè)備組是具有第一設(shè)備組專用許可集的第一設(shè)備組,而所述設(shè)備組API客戶機是第一設(shè)備組API客戶機,所述第一設(shè)備組API客戶機的許可模塊被配置成確定所述請求是否滿足所述第一設(shè)備組專用許可集,并且如果滿足,則授權(quán)所述請求訪問所請求的文件,否則拒絕所述請求訪問所請求的文件,所述系統(tǒng)還包括具有第二設(shè)備組專用許可集的第二設(shè)備組,所述計算設(shè)備是所述第二設(shè)備組的成員并且包括包含許可模塊的第二設(shè)備組API客戶機,所述第二設(shè)備組API客戶機的許可模塊被配置成確定所述請求是否滿足所述第二設(shè)備組專用許可集,并且如果滿足,則授權(quán)所述請求訪問所請求的文件,否則拒絕所述請求訪問所請求的文件。
3.如權(quán)利要求1所述的計算系統(tǒng),其特征在于,所請求的文件包括來自多個用戶數(shù)據(jù)類別中的至少一個的用戶數(shù)據(jù),所述用戶數(shù)據(jù)類別選自包括應(yīng)用使用歷史、瀏覽器歷史、媒體數(shù)據(jù)、聯(lián)系人數(shù)據(jù)、日歷數(shù)據(jù)和社交網(wǎng)絡(luò)數(shù)據(jù)的組,并且所述許可模塊被配置成允許用戶為所述用戶數(shù)據(jù)類別中的每一個設(shè)置隱私設(shè)置。
4.如權(quán)利要求3所述的計算系統(tǒng),其特征在于,所述API客戶機包括廣告模塊,所述廣告模塊被配置成從所述計算設(shè)備以及所述對等計算設(shè)備中的至少一個收集聚集的用戶數(shù)據(jù),將包括所述聚集的用戶數(shù)據(jù)的廣告請求發(fā)送到遠(yuǎn)程服務(wù)器上的廣告引擎,所述聚集的用戶數(shù)據(jù)被授權(quán)根據(jù)所述設(shè)備組專用許可來發(fā)送,所述廣告模塊還被配置成響應(yīng)于所述廣告請求來接收廣告,并在所述計算設(shè)備和/或所述對等計算設(shè)備中的至少一個上顯示所述廣告。
5.如權(quán)利要求1所述的計算系統(tǒng),其特征在于,所述許可模塊還被配置成在所述請求滿足所述設(shè)備組專用許可的情況下授予部分訪問特權(quán),所述部分訪問特權(quán)允許只訪問文件中的數(shù)據(jù)的一部分和/或只允許為了授權(quán)用途訪問所述文件中的數(shù)據(jù)。
6.如權(quán)利要求1所述的計算系統(tǒng),其特征在于,所述計算機程序是媒體播放器,而所請求的文件是媒體文件,并且所述API客戶機包括搜索模塊,所述搜索模塊被配置成在所述分布式文件存儲中搜索所述媒體文件,并且如果所述請求滿足所述設(shè)備組專用許可,則經(jīng)由所述P2P模塊將所請求的文件流傳輸?shù)剿雒襟w播放器。
7.如權(quán)利要求1所述的計算系統(tǒng),其特征在于,所述設(shè)備發(fā)現(xiàn)模塊標(biāo)識滿足至少一個設(shè)備組準(zhǔn)則的、當(dāng)前未與所述設(shè)備組相關(guān)聯(lián)的非成員計算設(shè)備,并將所述非成員計算設(shè)備添加到所述設(shè)備組。
8.一種用于管理數(shù)據(jù)的方法,在計算設(shè)備處,所述方法包括: 形成包括所述計算設(shè)備以及至少一個對等計算設(shè)備的設(shè)備組; 建立所述計算設(shè)備和所述至少一個對等計算設(shè)備之間的對等通信; 在所述計算設(shè)備上本地地和/或在所述至少一個對等計算設(shè)備上遠(yuǎn)程地將文件存儲在分布式文件存儲中; 從計算機程序接收訪問存儲在所述分布式文件存儲中的所請求的文件的請求; 確定所述請求是否滿足用于對存儲在與所述設(shè)備組相關(guān)聯(lián)的任何設(shè)備上的數(shù)據(jù)的訪問許可的設(shè)備組專用許可,并且如果滿足,則授權(quán)所述請求訪問所請求的文件,否則拒絕所述請求訪問所請求的文件;以及 如果所述請求被授權(quán), 則從所述分布式文件存儲中檢索所請求的文件并將所請求的文件輸出到所述計算機程序。
9.如權(quán)利要求8所述的方法,其特征在于,所述請求是第一請求,所請求的文件是第一所請求的文件,所述分布式文件存儲是第一分布式文件存儲,而所述設(shè)備組是第一設(shè)備組,所述第一設(shè)備組具有針對所述第一設(shè)備組的第一設(shè)備組專用許可集,所述方法還包括: 形成所述計算設(shè)備是其成員的第二設(shè)備組,所述第二設(shè)備組具有用于對存儲在與所述第二設(shè)備組相關(guān)聯(lián)的任何設(shè)備上的數(shù)據(jù)的訪問許可的第二設(shè)備組專用許可集; 在所述計算設(shè)備上本地地和/或在對等計算設(shè)備上遠(yuǎn)程地將文件存儲在第二分布式文件存儲中; 從所述計算機程序接收訪問存儲在所述第二分布式文件存儲中的第二所請求的文件的第二請求;以及 確定所述第二請求是否滿足所述第二設(shè)備組專用許可集,并且如果滿足,則授權(quán)所述第二請求訪問所述第二所請求的文件,否則拒絕所述第二請求訪問所述第二所請求的文件。
10.如權(quán)利要求8所述的方法,其特征在于,還包括: 至少部分地通過動態(tài)地發(fā)現(xiàn)滿足設(shè)備組準(zhǔn)則的、當(dāng)前未與所述設(shè)備組相關(guān)聯(lián)的非成員計算設(shè)備來形成所述設(shè)備組。
【文檔編號】G06F9/44GK103635890SQ201280030601
【公開日】2014年3月12日 申請日期:2012年6月19日 優(yōu)先權(quán)日:2011年6月23日
【發(fā)明者】G·基米馳, R·巴伽, V·古普塔, Z·阿普特, S·帕帕里佐斯 申請人:微軟公司