專利名稱:用于通用移動數(shù)據(jù)的系統(tǒng)的制作方法
技術領域:
本發(fā)明設計移動通信技術,尤其涉及用于通用移動數(shù)據(jù)的系統(tǒng)。
背景技術:
計算的當前趨勢是遠離主機系統(tǒng)而轉(zhuǎn)向云計算。云計算是基于因特網(wǎng)的計算,藉此諸如軟件和其他信息的共享資源可以經(jīng)由因特網(wǎng)按需提供給各計算設備。它代表了 IT 服務的新消費與遞送模型,其中資源可用于所有具有網(wǎng)絡能力的設備,這與其中資源跨設備被本地存儲的較舊的模型相反。云計算一般涉及作為因特網(wǎng)上的服務的動態(tài)可縮放且常常虛擬化的資源的預設。走朝向云計算邁進打開了移動設備和其他網(wǎng)絡設備彼此結合來工作以就第三方和用戶自身資源提供更大的交互和更豐富的體驗的潛力。隨著推向云計算,需要一種用于數(shù)據(jù)聚集與傳播的新模型。目前的模型采用多個雜亂的應用編程接口(API)來允許訪問用戶云數(shù)據(jù)的總和。沒有相關的或聯(lián)合的系統(tǒng)來組織與提供對用戶所有的云數(shù)據(jù)的訪問。其結果是關于多個計算設備與其他人的計算設備之間的脫節(jié)的交互和被忽視的用戶體驗。
發(fā)明內(nèi)容
簡要描述的本技術包括用于聚集和組織位于包覆系統(tǒng)(encompassing system)中的用戶的云數(shù)據(jù),然后經(jīng)由通用API將該云數(shù)據(jù)的總和展現(xiàn)給應用程序的系統(tǒng)與方法。這樣的系統(tǒng)提供了豐富在場信息,從而允許用戶跨他們所有的計算設備映射(map)并統(tǒng)一他們的全部體驗,以及發(fā)現(xiàn)其他用戶及他們的體驗。由此,用戶能增強他們對其自己的環(huán)境的知識(knowledge)及增強與該環(huán)境的交互,以及打開與其他人的新的社交體驗。在實施例中,與用戶生活的寬范圍的方面相關的用戶數(shù)據(jù)可能被他們的計算設備檢測到,并被聚集到數(shù)據(jù)存儲中??稍陔S后例如通過將數(shù)據(jù)分類到數(shù)據(jù)類別、概括每個類別內(nèi)的數(shù)據(jù)、以及通過從特定數(shù)據(jù)項得到推論來合成數(shù)據(jù)以產(chǎn)生新的數(shù)據(jù)項來處理該數(shù)據(jù)。 然后,通用API可被用于跨所有數(shù)據(jù)類型以及對于所有設備類型將數(shù)據(jù)存儲中的全范圍用戶數(shù)據(jù)展現(xiàn)給應用程序。在一個示例中,本技術涉及組織并允許訪問云數(shù)據(jù)的方法。該方法包括以下步驟 a)經(jīng)由一個或多個計算設備檢測用戶數(shù)據(jù),所檢測的數(shù)據(jù)包括用戶的位置和用戶的活動兩者中的至少一個;b)將在所述步驟a)中檢測到的數(shù)據(jù)聚集到數(shù)據(jù)存儲中;以及c)經(jīng)由通用應用程序編程接口將在所述步驟b)中聚集到數(shù)據(jù)存儲中的數(shù)據(jù)展現(xiàn)給應用程序。在進一步的的示例中,本技術涉及用于編程處理器以執(zhí)行組織和允許訪問云數(shù)據(jù)的方法的計算機可讀存儲介質(zhì)。該方法包括以下步驟a)經(jīng)由一個或多個計算設備檢測用戶數(shù)據(jù),所檢測的數(shù)據(jù)包括以下中的至少一個al)用戶的位置,a2)用戶的活動,a3)用戶的簡檔,以及a4)用戶所擁有的設備;b)將在所述步驟a)中檢測到的數(shù)據(jù)聚集到數(shù)據(jù)存儲中,位置數(shù)據(jù)被存儲在第一數(shù)據(jù)類別中,活動數(shù)據(jù)被存儲在第二數(shù)據(jù)類別中,簡檔數(shù)據(jù)被存儲在第三數(shù)據(jù)類別中,而設備數(shù)據(jù)被存儲在第四數(shù)據(jù)類別中;c)概括第一、第二、第三和第四數(shù)據(jù)類別的每一個中的數(shù)據(jù),以對于第一、第二、第三和第四數(shù)據(jù)類別的每一個得到至少一個代表性數(shù)據(jù)項;以及d)經(jīng)由公共應用程序編程接口將在所述步驟b)中聚集到數(shù)據(jù)存儲中的數(shù)據(jù)展現(xiàn)給應用程序。在另一個示例中,本技術涉及一種組織和允許訪問云數(shù)據(jù)的方法,該方法包括a) 經(jīng)由一個或多個計算設備檢測用戶數(shù)據(jù),該用戶數(shù)據(jù)至少與用戶在哪里以及用戶在干什么有關;b)將在所述步驟a)中檢測到的數(shù)據(jù)聚集到數(shù)據(jù)存儲中;c)定義觸發(fā)事件,該觸發(fā)事件與由一個或多個計算設備測量的條件的發(fā)生有關;d)確定指示觸發(fā)事件已發(fā)生的數(shù)據(jù)是否被聚集到數(shù)據(jù)存儲中;以及e)基于所述步驟d)中確定指示觸發(fā)事件已經(jīng)發(fā)生的數(shù)據(jù)被聚集到數(shù)據(jù)存儲,經(jīng)由單個應用程序編程接口將所述步驟b)中被聚集到數(shù)據(jù)存儲中的數(shù)據(jù)展現(xiàn)給應用程序。提供本發(fā)明內(nèi)容以便以簡化形式介紹在以下的具體實施方式
中進一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
圖1示出可能使用了此處討論的技術的第一種系統(tǒng)。
圖2示出可能使用了此處討論的技術的第二種系統(tǒng)。
圖3示出根據(jù)本技術的數(shù)據(jù)存儲的框圖。
圖4是說明將數(shù)據(jù)加載到數(shù)據(jù)存儲的第一方法的流程圖。
圖5是說明將數(shù)據(jù)加載到數(shù)據(jù)存儲的第二方法的流程圖。
圖6是說明組織數(shù)據(jù)并將其存儲在數(shù)據(jù)存儲中的方法的流程圖。
圖7是訪問數(shù)據(jù)存儲中的數(shù)據(jù)的第一方法的流程圖。
圖8是訪問數(shù)據(jù)存儲中的數(shù)據(jù)的第二方法的流程圖。
圖9是帶有由此處討論的技術所提供的警告的移動設備的圖。
圖10示出用此處討論的技術所選擇出的顯示設備。
圖11是示例性計算環(huán)境的框圖。
圖12是示例性游戲控制臺的框圖。
圖13是示例性移動設備的框圖。
具體實施例方式本技術的實施例將會參看圖1到圖13而描述,其大體上涉及聚集與組織位于包覆系統(tǒng)中的所有的用戶的云數(shù)據(jù)的系統(tǒng),然后將該云數(shù)據(jù)的總和經(jīng)由公共API展現(xiàn)給應用程序。這樣的系統(tǒng)提供了豐富在場信息,從而允許用戶在他們所有的計算設備上映射并統(tǒng)一他們的全部體驗,以及發(fā)現(xiàn)其他用戶與他們的體驗。在這個方法中,用戶能增強他們對其自己的環(huán)境的知識及增強與該環(huán)境的交互,以及打開與其他人的新的社交體驗。根據(jù)本技術,來自用戶生活與體驗的各個方面的數(shù)據(jù),包括過去的和現(xiàn)在的,可以被上傳在數(shù)據(jù)存儲。數(shù)據(jù)可能被存儲在不同類別中,其中相關類型的數(shù)據(jù)可以被存儲在同一類別中。所述數(shù)據(jù)可以經(jīng)由各種方法來處理,包括比如概括給定類的數(shù)據(jù),按不同類別對數(shù)據(jù)進行標記,以幫助其跨多個計算設備和應用的使用。附加地,數(shù)據(jù)可能被合成并對其他
5數(shù)據(jù)進行交叉引用(cross-reference),以推斷隨后可能被存儲在一個或多個類中的附加數(shù)據(jù)。與傳統(tǒng)系統(tǒng)不同,本技術(也就是,本申請的發(fā)明性技術)提供了展現(xiàn)并允許訪問用戶的存儲數(shù)據(jù)的總和以及其他用戶的存儲數(shù)據(jù)的通用API。因此,用戶能夠訪問豐富在場數(shù)據(jù),從而跨所有用戶設備提供關于用戶他們在哪里以及他們以前、現(xiàn)在(實時)以及將來時間段在做什么的全面視圖。由于相同的數(shù)據(jù)對于用戶的朋友和其他人可用,因此用戶還可以實時地獲取他們的朋友們的體驗,以打開新的社交機會和發(fā)現(xiàn)。個人隱私設定使用戶能設定選擇(opt-in)準許和不同的訪問設定。本技術的這些原理及其他將在下面更詳細地解釋。圖1示出實現(xiàn)本技術的樣本網(wǎng)絡拓撲60的框圖。網(wǎng)絡拓撲60包括屬于單個用戶 80的多個計算設備82、84、86。在一個示例中,計算設備82可以是移動電話網(wǎng)絡的移動電話,計算設備84可以是諸如臺式計算機、筆記本計算機或平板計算機之類的個人計算機, 而計算設備86可以是帶有相關聯(lián)顯示器88的機頂盒或游戲控制臺。計算設備82、84、86還可以經(jīng)由網(wǎng)絡50與服務90相連接。這些計算設備的示例實現(xiàn)經(jīng)由相關附圖11、12、13而在下面列出。各種類型計算設備中的每一個可以本地地存儲數(shù)據(jù)或?qū)⑵浯鎯Α霸谠浦小保热绱鎯υ谌缦滤龅姆?0中的豐富在場(rich presence)存儲位置200上。每個設備可能具有相同數(shù)據(jù)、不同數(shù)據(jù)或相同數(shù)據(jù)的不同版本。作為示例,移動設備82可含有具有數(shù)據(jù)的信息83,諸如聯(lián)系信息、日程信息、地理位置信息、應用使用數(shù)據(jù)、應用專用數(shù)據(jù)、以及用戶的消息接發(fā)和呼叫歷史。個人計算設備84可含有具有數(shù)據(jù)的信息85,諸如相關用戶80 的聯(lián)系信息、日程信息、地理位置信息、應用使用、應用數(shù)據(jù)和消息歷史。游戲控制臺86可以包括信息87,比如玩過的游戲的歷史、購買的游戲的歷史、用戶80最經(jīng)常玩哪些應用的歷史、以及諸如成績、獎勵和所記錄會話之類的應用數(shù)據(jù)。除了真實世界的社交,用戶能參與虛擬社交。比如,用戶80可以參與與其他用戶 (諸如在圖2中示出的那些)的在線游戲。在該游戲中,用戶可以不僅通過玩游戲,還可以通過他們之間的口頭或消息通信來進行交互。圖1所示計算設備82、84、86僅為示例方式,且在進一步實施例中可能省略它們的一個或多個。另外,在進一步實施例中,用戶80可能還有各種其他計算設備或計算設備82、 84,86的額外副本。這樣的計算設備大體上可能包括,但不限于,桌面計算機、膝上型計算機、平板計算機、蜂窩電話、電視機/機頂盒、視頻游戲控制臺、汽車、照相機和智能設備。其他計算設備也被考慮。服務90可能比如是大規(guī)模因特網(wǎng)服務提供商,就像比如MSN 服務和Xbox LIVE, 盡管進一步實施例中不一定是這些服務。服務90可能具有一個或多個服務器92,其可能是比如包括在下文所述的數(shù)據(jù)庫管理服務218。服務器92可能進一步包括web服務器、支持游戲應用的游戲服務器、組織并分發(fā)所選媒體的媒體服務器,和/或支持文件轉(zhuǎn)移的ftp服務器和/或其他類型的服務器。其他服務器也可被考慮。在實施例中,圖1中所示的計算設備的每一個可以經(jīng)由一個或多個公共或?qū)S镁W(wǎng) 50來彼此耦合。網(wǎng)絡50可以包括因特網(wǎng)、蜂窩網(wǎng)或其他類型的已知公共或私人數(shù)據(jù)和/或語音傳輸網(wǎng)絡。在進一步的實施例中,作為他們連接至網(wǎng)絡50的補充和替代,計算設備82、
684,86可通過對等連接來彼此連接。 服務90還提供服務集合,在計算設備82、84、86上運行的應用可以調(diào)用或利用服務集合。比如,計算設備82、84、86可以調(diào)用用戶登錄服務94,其被用于認證尋求從服務90 訪問他或她的安全資源的用戶80。用戶80可以通過各種認證協(xié)議,包括比如用諸如用戶名和密碼之類的ID,來向服務90認證他或她自己。當認證由服務90來實行的時候,ID和密碼可被存儲在數(shù)據(jù)結構96內(nèi)的用戶賬戶記錄98中。數(shù)據(jù)結構96可以進一步包括豐富在場存儲位置200,用以存儲如下所述的多種數(shù)據(jù)。在進一步實施例中,用戶賬戶記錄98可以被合并作為豐富在場存儲位置200的一部分。盡管服務器92、登錄服務94和數(shù)據(jù)結構96被圖示為單個服務90的一部分,在進一步實施例中,這些組件的一些或全部可以跨不同的服務分布。圖2是根據(jù)本發(fā)明技術的包括多個用戶及其計算設備的替換性網(wǎng)絡拓撲60的概覽。圖2示出多個用戶102、106、114、118、122、126和132,其中的任一個或多個可參與彼此之間的社交或商業(yè)關系。圖2所示用戶可能與他們的一個或多個計算設備相關,這些計算設備可以是上述計算設備中的一個或多個。比如,用戶102與他筆記本計算機104相關,用戶106與她的游戲控制臺108相關,用戶118與她的移動設備116相關,而用戶122與他的電視機124相關。圖2所示的每一個設備可能如上所述經(jīng)由一個或多個公共或?qū)S镁W(wǎng)50 來與彼此耦合以及耦合至云服務。除了服務90,圖2進一步示出基于云的信息170,其包括關于圖2中所示的個體中的任一個的公共和/或私人信息,且被存儲在經(jīng)由網(wǎng)絡50可用的網(wǎng)絡可訪問數(shù)據(jù)存儲中。 公共信息170可以比如包括Facebook簡檔172、個人網(wǎng)絡日志174、My Space簡檔176、地理位置在場178和/或游戲歷史180。云信息可以進一步包括經(jīng)由云可訪問的私人數(shù)據(jù)190, 其中所述私人數(shù)據(jù)190可以包括諸如購買記錄、銀行歷史和經(jīng)由任何其他已知廠商的購買交易歷史之類的東西。在一個實施例中,私人數(shù)據(jù)190僅能基于經(jīng)由私人數(shù)據(jù)的所有者的授權才能訪問。云數(shù)據(jù)170和/或私人數(shù)據(jù)190被用在本系統(tǒng)中,此信息可以分別地從豐富在場數(shù)據(jù)存儲200訪問到,或云數(shù)據(jù)170的至少部分和/或私人數(shù)據(jù)190可被并入作為豐富在場數(shù)據(jù)存儲器200的一部分。圖2所示的各種類型的計算設備的每一個可能具有上面關于不同計算設備82、 84,86所述的數(shù)據(jù)類型。這樣的計算設備的數(shù)據(jù)可以被本地地存儲并存儲在豐富在場數(shù)據(jù)存儲200上。圖3示出豐富在場數(shù)據(jù)存儲200的一個示例的框圖。該數(shù)據(jù)存儲200可以比如是或包括關系數(shù)據(jù)庫,諸如比如建立在SQL Server 技術上的SQL Azure 數(shù)據(jù)庫。其他類型的數(shù)據(jù)庫也被考慮。數(shù)據(jù)存儲200可能包括多個類別,在該示例中為類別202、204、206、 208、210、212、214、216,每個類別含有不同的數(shù)據(jù)分類。每個用戶可以擁有他們自己的類別集合202到216,用于存儲從他或她的計算設備,諸如計算設備82、84、86中收集來的數(shù)據(jù)。 在進一步實施例中,數(shù)據(jù)存儲器200中的用戶數(shù)據(jù)可以從其他源處得到。本系統(tǒng)進一步包括API 240,如下所述的,其允許數(shù)據(jù)被上傳并可作為整體被訪問。這提供了跨用戶的所有計算設備上集成的用戶及其體驗的增強型視圖,此處被稱為豐富在場數(shù)據(jù)??杀淮鎯υ陬悇e202到類別216之中的數(shù)據(jù)類型可以是關于用戶的任何數(shù)據(jù)類型。此處的術語“用戶”被寬泛地定義為用戶及與用戶交互的對象和/或?qū)嶓w。在本上下文中,用戶包括人,但也可以包括車、房子、公司等。其可以是從用戶的一個、一個以上或所有的計算設備中收集的,不過在進一步實施例中,其還可以從用戶設備之外的源處得到。僅為示例而非限制,在圖3中用戶數(shù)據(jù)被拆分到其中的類別202到216包括位置數(shù)據(jù)、簡檔數(shù)據(jù)、用戶活動、用戶可用性、用戶環(huán)境、用戶具有的設備、用戶訪問過的媒體及用戶的歷史記錄。 位置數(shù)據(jù)類別202大體上可包括關于用戶當前位置的數(shù)據(jù),且可以通過從用戶的一個或多個計算設備提取的多種數(shù)據(jù)中的任何一種來給定。這個數(shù)據(jù)可由計算設備中的全球定位系統(tǒng)(GPS)接收器來供給,該計算設備諸如是用戶攜帶的移動電話82。位置數(shù)據(jù)可以進一步由在已知位置的計算設備處登錄的用戶帳號或通過已知IP地址來給出。位置數(shù)據(jù)可以進一步來自拾取移動電話的蜂窩站點或其可來自用戶所連接的WiFi連接點,其中 WiFi連接點的位置是已知的。在實施例中,用戶所拍的照片可包括關于拍攝照片的時間和地點的元數(shù)據(jù)。這個信息還可以被用于實時標識拍攝照片的用戶位置。其他類型的位置數(shù)據(jù)也被考慮。類別204可能包括由此包含用戶隱私設定的簡檔數(shù)據(jù)。本系統(tǒng)將關于用戶的大量信息推送給其他用戶。每個用戶都具有關于他們的數(shù)據(jù)和個人信息中的多少被共享而建立隱私設定的能力。用戶可以選擇不與他人完全共享他們的數(shù)據(jù);用戶施行僅與特定用戶 (諸如他們的朋友列表上的那些用戶)共享他們的數(shù)據(jù)點隱私設定;且用戶可以設置他們的隱私設置,從而僅他們的數(shù)據(jù)中具有低于特定隱私率閾值的部分才可以共享。這些設定可以由用戶通過服務90提供的隱私界面來設定。個人信息類別204可以進一步包括各種其他的用戶簡檔數(shù)據(jù),諸如他們的游戲統(tǒng)計數(shù)據(jù)(玩家簡檔統(tǒng)計數(shù)據(jù),所玩和購買的游戲、成績、獎勵和所記錄的會話等);他們的人口統(tǒng)計(demographics),諸如用戶年齡、家庭成員和聯(lián)系信息;他們的朋友列表;瀏覽和搜索的記錄;和他們的職業(yè)信息。其他類型的簡檔數(shù)據(jù)也可以被考慮?;顒訑?shù)據(jù)類別206通常包括用戶實時正在做什么的數(shù)據(jù)。這個數(shù)據(jù)可以經(jīng)由各種直接或間接的方法產(chǎn)生。收集這樣的數(shù)據(jù)的直接方法例如是由用以示出用戶正在玩的游戲和看電視的控制臺或機頂盒來提供的。類似地,用戶的PC或移動設備可以示出用戶正在執(zhí)行什么瀏覽和web搜索。用戶設備可能示出用戶購買了事件的門票,或者已進行與旅游、餐飲、購物和其他休閑活動相關的特定購買(這些購買可以是實時發(fā)生的,或者是在將來的某個時間發(fā)生的)?;顒訑?shù)據(jù)類別206可以包括各種其他活動,這些活動可以被他們的計算設備之間感測且被實時地上傳到數(shù)據(jù)存儲器200中。在進一步的實施例中,類別206的活動數(shù)據(jù)可以間接地得到,諸如比如經(jīng)由合成引擎230得到。合成引擎230在下面會詳細描述,但是該引擎230通常可以檢查數(shù)據(jù)存儲200中的各類別內(nèi)的數(shù)據(jù)以推測進一步數(shù)據(jù),該進一步數(shù)據(jù)隨后可被添加到數(shù)據(jù)存儲200。比如,如果用戶正在拍照片,則這些照片被識別出為旅游勝地,合成引擎320可以為活動數(shù)據(jù)類被203推斷數(shù)據(jù)認為用戶正在旅行和/或觀光。各種其他類型的活動數(shù)據(jù)可被提供在活動數(shù)據(jù)類別206中??捎眯詳?shù)據(jù)類別208可實時示出用戶的可用性。這個信息的良好源可以是用戶的日程,因為其可從他或她的計算設備的任一個處更新并被維護在中央數(shù)據(jù)存儲中(或者作為服務90的部分或其他地方)。然而,其他指示符也可以被用于建立用戶的可用性。比如,可以通過由用戶的計算設備檢測到的她的活動與購買從關于工作日與周末的日常慣例中推斷出用戶的可用性??捎眯钥梢允怯捎脩粽趫?zhí)行的什么樣活動(被存儲于活動類別 206中)來指示。比如,如果用戶正在游戲會話中,可以假定用戶當時不可用。類別208的可用性數(shù)據(jù)可以進一步間接地從合成引擎230根據(jù)其他數(shù)據(jù)中推斷出來。比如,如果用戶的車(或其他設備)指示用戶開始在高速行駛的車中行進,而用戶日程顯示用戶有異地會議,則合成引擎可以推斷出用戶正在駕駛,且在一段時間內(nèi)不可用。其他類型的可用性數(shù)據(jù)也可考慮。
類別210中的環(huán)境數(shù)據(jù)可以包括用戶的周圍環(huán)境的經(jīng)驗測量,比如諸如當前GPS 位置、溫度、濕度、海拔、環(huán)境光等。在上述示例中,GPS數(shù)據(jù)被包括在位置和環(huán)境數(shù)據(jù)類別 202和210中。這顯示至少特定類型的數(shù)據(jù)可以被包含在多于一個的類別中。設備數(shù)據(jù)類別212可能包括用戶具有的計算設備的類型和這些設備的位置。數(shù)據(jù)類別212可以進一步包括在這些設備上加載的應用,使用這些設備有多頻繁和這些設備什么時候被使用、以及應用數(shù)據(jù)。其他類型的數(shù)據(jù)也可以被包括在設備數(shù)據(jù)類別212中。媒體數(shù)據(jù)類別214可也包括用戶當時看到或聽到或者以前訪問過的的任何媒體。 這個媒體可能包括諸如音樂、圖片、游戲、視頻和電視之類的信息。媒體數(shù)據(jù)類別214可能包括所存儲的這個媒體的副本,或僅僅是用戶訪問或已訪問的什么樣的媒體的元數(shù)據(jù)列表,且如果存儲在用戶設備或存儲位置處,則媒體被存儲在哪里。歷史數(shù)據(jù)類別216可能包括用戶過去做了什么的歷史視圖。本系統(tǒng)的一個特征是實時上傳用戶數(shù)據(jù)并使該數(shù)據(jù)能用于消費的能力,如接下來詳細描述的那樣。然而,歷史數(shù)據(jù)也可以被存儲。這樣的歷史數(shù)據(jù)可能包括過去的活動(也就是,存儲于活動類別206中但是一旦用戶完成了該活動就被移動到歷史數(shù)據(jù)類別216中的數(shù)據(jù))。歷史數(shù)據(jù)類別216可包括電話和/或消息歷史(SMS、即時消息接發(fā)、電子郵件等),以及計算設備的使用和web-瀏覽/搜索的歷史。可能進一步包括用戶住過、工作過、訪問過的歷史記錄等。類別216中的歷史數(shù)據(jù)可能僅僅是過時幾秒鐘或幾分鐘,或者其可能過時了幾年。類別202到216中的上述信息僅為示例方式。除了上述的數(shù)據(jù)之外,數(shù)據(jù)存儲器 200可以進一步包括,而不限于來自云信息170 (圖2)和諸如Facebook、Four Square和 My Space之類的其他社交網(wǎng)站的數(shù)據(jù);服務數(shù)據(jù),諸如可從諸如Xbox LIVE得到的游戲服務;社會圖數(shù)據(jù),包括朋友、朋友的朋友、家庭或其他社交定義的關系,以及從用戶的朋友和社交圖的其他層所曝露的數(shù)據(jù)。各種其他數(shù)據(jù)和其他數(shù)據(jù)類別可以被提供在數(shù)據(jù)存儲器 200 中。上述數(shù)據(jù)可以用多種方法從用戶的計算設備中上傳到數(shù)據(jù)存儲器200中。此處參看圖4和圖5來描述兩種這樣的方法。在步驟300中,管理員可以在數(shù)據(jù)庫管理服務 (DBMS) 218的幫助下設置數(shù)據(jù)存儲200,并提供豐富在場存儲器200中的類別的定義。這樣的類別定義可以附加地或替換地由數(shù)據(jù)分類引擎220產(chǎn)生,其操作將在下文描述。在步驟304中,每個計算設備檢查設備中是否已本地地創(chuàng)建新數(shù)據(jù)記錄。如果已創(chuàng)建,則計算設備在步驟308中檢查是否具有到數(shù)據(jù)存儲200的連接。如果有的話,則在步驟312中,將新數(shù)據(jù)記錄推送到數(shù)據(jù)存儲中。由此,新數(shù)據(jù)可被實時地上傳到數(shù)據(jù)存儲。這容許如下所述地處理數(shù)據(jù),以使得其也能被實時地訪問。然而,如果在步驟308中沒有網(wǎng)絡連接可用,則在步驟316中,當連接變得可用時,數(shù)據(jù)被上傳到數(shù)據(jù)存儲200。 被上傳到數(shù)據(jù)存儲器200的數(shù)據(jù)可能已經(jīng)具有來自已位于數(shù)據(jù)存儲200上的先前測量的相同數(shù)據(jù)的版本。在步驟320中,DBMS 218可檢查所接收到的數(shù)據(jù)是否正在試圖修改已存儲于數(shù)據(jù)存儲200中的現(xiàn)有記錄。如果在數(shù)據(jù)存儲上沒有找到已接收數(shù)據(jù)的先前版本,則在步驟324中,存儲新的數(shù)據(jù)。如果數(shù)據(jù)的版本已經(jīng)存在,那么在步驟328中,DBMS 218可執(zhí)行已知版本檢查以及關于現(xiàn)有與較早版本數(shù)據(jù)之間的沖突解決。在步驟332中,如果新數(shù)據(jù)被發(fā)現(xiàn)是最新的版本,且任何沖突被解決以后,數(shù)據(jù)可以被存儲。如果發(fā)現(xiàn)基于應用已存儲的沖突規(guī)則還是無法解決沖突,則可向用戶提示如所知地來解決沖突。上面描述了其中新數(shù)據(jù)從用戶的不同計算設備中被推送到存儲200的方法。圖5 示出替換性實施例,其中服務90從用戶的計算設備中的每一個拉取數(shù)據(jù)。圖5所示帶有與圖4類似附圖標記的每個步驟在操作上相同,且上述描述可合并在此。一個不同之處在于, 在圖5的示例中,在步驟302中,服務90周期性地輪詢屬于用戶的計算設備。如果在步驟 304中發(fā)現(xiàn)了新數(shù)據(jù),則該數(shù)據(jù)如前所述地被上傳。如果沒有發(fā)現(xiàn)新數(shù)據(jù),則服務90在下一輪詢區(qū)間再次執(zhí)行輪詢。輪詢區(qū)間可以被設置為短的,比如幾秒鐘,以允許實時或接近實時的數(shù)據(jù)上傳。在進一步實施例中,輪詢區(qū)間可以比幾秒鐘更長或更短。對于用戶的計算設備的每一個,以及對于與服務90相關聯(lián)的每個用戶,可發(fā)生如圖4和圖5所上述的從用戶的計算設備上傳數(shù)據(jù)。因此,數(shù)據(jù)存儲器200具有關于用戶、以及用戶的朋友和如下所述用戶可能發(fā)現(xiàn)的其他人的豐富在場數(shù)據(jù)??梢赃M一步理解,作為以上參看圖4和圖5所述的補充和替代,來自用戶計算設備的數(shù)據(jù)可以用各種方法、以及使用各種步驟來上傳到云中。一旦數(shù)據(jù)被上傳到數(shù)據(jù)存儲200中,可以在如圖3所示的DBMS 218的控制下對數(shù)據(jù)執(zhí)行各種處理操作。DBMS 218僅作為示例公開??梢岳斫獾氖?,在進一步的實施例中,下述處理操作可以由DBMS之外的控制算法來執(zhí)行。不管是由DBMS 218還是一些其他控制來執(zhí)行,這些處理步驟可能包括以下的一個或多個將數(shù)據(jù)分類到類別、概括數(shù)據(jù)、對數(shù)據(jù)進行標記、以及檢查新的數(shù)據(jù)是否會是從被檢測到的數(shù)據(jù)合成的。這些操作將會在下文再次參看圖3以及圖6的流程圖來解釋。步驟340中,接收來自用戶計算設備的新數(shù)據(jù)。在步驟344中,數(shù)據(jù)分類引擎220 檢查接收到的數(shù)據(jù)是否可被分類到現(xiàn)有數(shù)據(jù)類別中。數(shù)據(jù)分類引擎220可以是DMBS 218的已知組件,用于設置字段、關于每個字段的關系集合、以及可被用于訪問與不同的字段和關系集合的數(shù)據(jù)的查詢的定義。給定一組預定義約束,數(shù)據(jù)分類引擎220能將接收到的數(shù)據(jù)整理到不同類別中,以及檢測對于新數(shù)據(jù)何時需要新的類別。分類引擎220可以使用已知的方法將數(shù)據(jù)整理到類別中和/或創(chuàng)建新的類別。數(shù)據(jù)庫管理員還可以監(jiān)視數(shù)據(jù)存儲200 并促進數(shù)據(jù)分類引擎220的操作以分類數(shù)據(jù)并確定何時需要新的數(shù)據(jù)類別。如果數(shù)據(jù)分類引擎220確定新的數(shù)據(jù)適于所定義的類別中,則在步驟348中,將該數(shù)據(jù)添加在該類別。如果引擎220確定新的數(shù)據(jù)確實需要新的數(shù)據(jù)類別,引擎可以在步驟 346中產(chǎn)生新的類別,且新數(shù)據(jù)可以在步驟348中被添加到新的數(shù)據(jù)類別。在步驟352中,給定數(shù)據(jù)類別的數(shù)據(jù)可由數(shù)據(jù)概括引擎224來概括。具體地,當新數(shù)據(jù)被接收到時,其可具有該數(shù)據(jù)的可靠性的一些指示符,比如置信值。該可靠性指示符例如是基于源的已知準確度、以及該數(shù)據(jù)是由計算設備直接測量還是從如下所述的合成引擎推斷出的。其他各種因素可能加入到確定可靠性指示符的置信值中。可靠性指示符可能是保持作為常數(shù),或者隨時間衰退。比如,位置數(shù)據(jù)最好是實時的,但是隨著位置數(shù)據(jù)變舊其可靠性就減少了。在一個實施例中,概括引擎224合成類別中每個數(shù)據(jù)記錄的可靠性指示符,并確定具有表示數(shù)據(jù)值的類別的最佳數(shù)據(jù)值的概括236。這可能是基于確定可靠性指示符顯示一個數(shù)據(jù)值比其他數(shù)據(jù)值更可靠。比如,對于給出用戶位置,GPS數(shù)據(jù)可能比IP地址更可靠。在這樣的實施例中,概括引擎224可返回具有與最高可靠性指示符相關聯(lián)的數(shù)據(jù)的概括236。在進一步實施例中,概括引擎224可返回具有基于數(shù)個可靠性指示符的復合值的概括236。該概括引擎224可能返回各種其他因素,包括數(shù)據(jù)的整體可靠性、中值和標準差。作為概括引擎224的操作的示例,數(shù)據(jù)存儲可具有多個位置數(shù)據(jù)輸入(GPS緯度/ 經(jīng)度、WiFi節(jié)點等)。這些數(shù)據(jù)值的可靠性指示符可包括諸如GPS信號的信號強度、WiFi 網(wǎng)絡范圍等信息。使用可靠性指示符,概括引擎224可以確定使用一個數(shù)據(jù)點而丟棄其他的。替換地,概括引擎可以使用多于一個的數(shù)據(jù)點來創(chuàng)建帶有復合位置的概括236,該復合位置具有單個概括值(比如緯度/經(jīng)度)或多個數(shù)據(jù)點(比如緯度/經(jīng)度加上整體可靠性分數(shù))。在步驟354中,數(shù)據(jù)標簽引擎228可被用于在至少一個特定數(shù)據(jù)項上提供元數(shù)據(jù)標簽。具體地,可用描述符來對類別中的數(shù)據(jù)項進行標記以便以各種方式來用于幫助該數(shù)據(jù)跨各種計算設備、應用程序和情景上的使用。一些計 算設備可能需要以特定方法格式化的數(shù)據(jù),這些信息可能在元數(shù)據(jù)標簽中提供。一些應用程序可能以一種方式使用該數(shù)據(jù),而另外程序以另一種方式使用該數(shù)據(jù),這些信息可在元數(shù)據(jù)標簽中提供。元數(shù)據(jù)標簽可由數(shù)據(jù)標簽引擎228產(chǎn)生,且與特定數(shù)據(jù)項相關聯(lián)。數(shù)據(jù)標簽引擎228可能基于關于如何以及何時對數(shù)據(jù)進行標記的預定義規(guī)則來生成標簽,其信息可由 DBMS 218來提供??蛇x地或附加地,數(shù)據(jù)標簽引擎228可利用就數(shù)據(jù)項目上傳的元數(shù)據(jù)。接下來在步驟358中合成引擎320檢查數(shù)據(jù)存儲200中的數(shù)據(jù)項目是否可被單獨地使用,或者對其它數(shù)據(jù)項進行交叉引用,從而合成新的數(shù)據(jù)。具體地,管理員可創(chuàng)建存儲在DBMS 218中的規(guī)則,該規(guī)則定義何時可從特定數(shù)據(jù)類型中得出邏輯推論以創(chuàng)建新的數(shù)據(jù)項。上述已經(jīng)闡述了一些示例車速數(shù)據(jù)連同日程安排數(shù)據(jù)一起使用能被用于推斷關于用戶可用性的數(shù)據(jù);識別用戶照片(比如通過已知的照片識別技術)的主題可被用于推斷出用戶正在旅游和/或觀光的新數(shù)據(jù)。可提供各種廣泛的其它預定義規(guī)則拉定義何時可由合成引擎230關于數(shù)據(jù)存儲200中的數(shù)據(jù)作出邏輯推論以推導出新數(shù)據(jù)。存儲200中的數(shù)據(jù)可如上所述地由引擎220、224、228和230的一個或多個來處理??梢岳斫獾氖牵@些處理步驟中的一個或多個可以在可替代的實施例中被忽略。在上述處理步驟之前或之后,該系統(tǒng)可以在步驟360中由用戶或由DBMS218檢查接收到的數(shù)據(jù)中是否具有與其相關的一些隱私方面。每個用戶有關于數(shù)據(jù)項建立隱私設置的能力,具體地,是否可以以及誰可以看到這個數(shù)據(jù)。用戶可以將一組特定隱私規(guī)則和每一個數(shù)據(jù)項聯(lián)系起來,詳細而言,隱私設定將與該數(shù)據(jù)項相關聯(lián)??蛇x地,用戶可以僅為數(shù)據(jù)項簡單地指派通用隱私等級。然后,這個通用等級可以由DBMS 218用來設定數(shù)據(jù)的隱私分層結構。有了這個分層結構,用戶可以設定閾值隱私設置,比如在他們的簡檔數(shù)據(jù)中。這樣做,用戶同意允許訪問具有位于指定閾值設定之下(或之上)的隱私等級的所有數(shù)據(jù)。這容許用戶又快又簡單地將隱私設定應用到廣范圍的數(shù)據(jù)上。該用戶還可容易地以這種方式改變廣范圍數(shù)據(jù)上的隱私設定。在步驟360中,DBMS 218可以檢查新數(shù)據(jù)片是否具有相關聯(lián)的隱私設定,諸如例如詳細的規(guī)則和/或通用等級。如果是有的話,在步驟364中,所述隱私設定可如上所述地被存儲在簡檔類別204中。 一旦數(shù)據(jù)已經(jīng)被上傳、處理和組織,它就能被一個或多個應用程序所訪問。這個過程的實施例現(xiàn)在參看圖3和圖7所示流程圖而描述。在步驟370中,用戶可能從他們的計算設備中的一個中執(zhí)行應用程序,諸如例如應用程序234-1,234-2,…,234_n中的一個或多個。這些應用程序之中的任一個可以使計算設備周期性地調(diào)用API來訪問數(shù)據(jù)存儲200。根據(jù)本技術,單個的、通用API 240可被用于跨所有數(shù)據(jù)類別以及對于所有設備類型將存儲200中全范圍的用戶數(shù)據(jù)展示給訪問方應用程序。具體地,API能基于訪問方應用程序的目的而制定查詢,以在所有滿足該查詢的字段中搜索用戶數(shù)據(jù)和數(shù)據(jù)類別的總禾口。如上所述,傳統(tǒng)系統(tǒng)可能提供多個API,該允許看到用戶數(shù)據(jù)的不連續(xù)的片段。然而,傳統(tǒng)API不會提供對存儲在數(shù)據(jù)存儲200中的豐富在場數(shù)據(jù)的全范圍的訪問。對比于通過傳統(tǒng)的和/或不同API所能訪問的,API 240用于展示全范圍數(shù)據(jù)和數(shù)據(jù)類別的操作允許產(chǎn)生更清晰的圖片和增強的體驗。比如,本系統(tǒng)容許用戶與他的各種計算設備進行無縫地交互,從而使它們動作一致而不是作為離散的處理設備。另外,本系統(tǒng)用傳統(tǒng)系統(tǒng)不知曉的方式來容許用戶發(fā)現(xiàn)其他用戶并與他們交互。下面會示出一些更詳細的示例。再次參看圖7所示流程圖,步驟370中,一旦應用程序234作出API調(diào)用,則在步驟378,API 240接收到該調(diào)用并在步驟388制定基于目的的查詢來在所有類別上搜索滿足該調(diào)用的數(shù)據(jù)。在步驟384,DBMS 218可以響應于查詢檢索數(shù)據(jù)字段。在步驟388,所檢索的數(shù)據(jù)字段可被制定為響應以便轉(zhuǎn)發(fā)給計算設備。不同的設備具有不同的能力,且在步驟 392響應數(shù)據(jù)可以針對特定可訪問設備而被格式化(或格式化指令可連同響應被轉(zhuǎn)發(fā))。然后,在步驟396,該響應被送給計算設備,并在步驟398被接收到設備中。如上所述,合成引擎230可以合成存儲在存儲200中的數(shù)據(jù)。應用程序234可能在數(shù)據(jù)存儲200中查詢不同的數(shù)據(jù)片,然后實行合成步驟,這個合成步驟與由合成引擎230 執(zhí)行的操作不同。如果這樣的話,關于返回數(shù)據(jù)的分開的合成步驟可以被應用程序234在步驟400中處理。步驟400用虛線示出,因為這是可選擇的,且可以被省略。在步驟402,所制定的響應可以在接收方計算設備上被呈現(xiàn)。值得注意的是,此處“呈現(xiàn)”響應可以指在接收方計算設備上的視覺或聽覺的響應。其也可以指在計算設備上執(zhí)行程序,或者在計算設備上執(zhí)行一些其他動作。圖8示出經(jīng)由API240訪問數(shù)據(jù)的替換性實施例。圖8與圖7相類似,其改動在于, 步驟374中作出對API 240的調(diào)用以查找在所上傳數(shù)據(jù)中已發(fā)生的一些觸發(fā)事件。觸發(fā)事件可以由應用程序324、在計算設備和/或用戶的設備處運行的另外一個應用程序來定義。 觸發(fā)事件可以是各種條件事件中的任一個,這條件事件由一個或多個計算設備檢測到并被上傳到數(shù)據(jù)存儲器200。觸發(fā)事件可以接近度相關的,比如如果計算設備χ距離計算設備ζ在y英尺范圍內(nèi),則制定在應用程序234中指定的響應。
觸發(fā)事件可選擇地或可附加地,是時間的 如果在日程事件w的ν小時內(nèi)[且計算設備χ在計算設備ζ的y碼內(nèi)],則制定響應??蓸嬒敫鞣N其他實施例。盡管接近度和時間觸發(fā)事件是很好的示例,但是在進一步的實施例中,觸發(fā)事件并不一定與接近度或時間事件相關。作出API調(diào)用的計算設備可以是或可以不是感測到觸發(fā)事件的一個或多個計算設備。觸發(fā)事件還能在云中被確定,而不僅是在計算設備上確定。比如單個設備可能不知道由所有設備上傳的圖片的總數(shù),但是一旦云中的圖片的總數(shù)達到閾值,事件就被觸發(fā)。 比如,圖8示出步驟386,在那里服務90確定了存儲于數(shù)據(jù)存儲中的數(shù)據(jù)是否滿足了 API調(diào)用中的觸發(fā)事件。如果是的話,步驟388到步驟402如上參看圖7的流程圖所述地來進行。上述的API 240被用于跨所有數(shù)據(jù)類別的總和將數(shù)據(jù)展現(xiàn)給運行于計算設備上的多個應用程序中的任一個??梢岳斫獾氖牵嗤蛳嗨频腁PI可能被用于將數(shù)據(jù)上傳到數(shù)據(jù)存儲200以及將數(shù)據(jù)呈現(xiàn)給DBMS 218以進行如上所述的處理和存儲。如所述,本技術可被用于增強用戶關于他們自己的計算設備和/或其他用戶的體驗以及與其的交互。以下是增強用戶(例如,如圖1中的用戶80)與他們自己的計算設備 82、84、86交互性的示例。在這示例中,使得經(jīng)由API 240從豐富在場數(shù)據(jù)可得到的知識和交互性的程度可以允許應用在計算機設備之間無縫切換,操作也被稱為用戶與他們的設備之間的分解/演化模型。具體地,用戶可在他們的移動設備82上運行應用。應用程序234 可在提供用戶位置的實時知識、以及與用戶的其他設備(諸如控制臺)的接近度的后臺中運行。應用程序234、在移動設備82上運行的前臺應用或者用戶可能設置觸發(fā)事件,其為當移動計算設備w運行應用χ且位于控制臺計算設備ζ的y英尺內(nèi)時,開始控制臺計算設備、運行應用X、鏈接到計算設備Z上運行的游戲的特定實例,以及獲得運行在計算設備Z上的游戲的特定實例的狀態(tài)數(shù)據(jù)。因此,比如當用戶在回家路上時,運行游戲應用X,當他快到家時,他的控制臺將啟動并加入他正在玩的游戲中,從而他可以從在其計算設備的玩耍切換到他的控制臺。另一個示例接下來參看圖9來描述。在這示例中,用戶能夠跨數(shù)據(jù)存儲200中的各種數(shù)據(jù)類別訪問實時數(shù)據(jù),從而增強他與他人的社交。此處,用戶已設置觸發(fā)事件(或者他已經(jīng)運行了含有這個觸發(fā)事件的應用程序234),其為當用戶χ的移動計算設備距咖啡館在2英里以內(nèi)時,檢查是咖啡館內(nèi)否有任何檢測到的設備在用戶X的朋友列表上;如果找到的話,則發(fā)出警告,顯示檢測到的朋友的聯(lián)系信息、消息y并呈現(xiàn)呼叫按鈕。注意,在這個示例中,API調(diào)用的特定功能并不僅僅執(zhí)行特定結果,還可以檢查數(shù)據(jù)存儲200中的其他數(shù)據(jù)的狀態(tài)。也就是,基于觸發(fā)事件,檢查數(shù)據(jù)存儲以查找位于特定位置處的朋友。此處,當用戶χ行至咖啡館的2英里范圍內(nèi)時,API調(diào)用實現(xiàn)對Joe Smith的設備的檢測,他是用戶χ的朋友。Joe的活動類別數(shù)據(jù)指示Joe剛點了雙份拿鐵(比如來自銷售收據(jù)的指示)。這個信息將會被上傳到數(shù)據(jù)存儲200上的Joe的數(shù)據(jù)中。Joe已設定允許他的朋友發(fā)現(xiàn)這個數(shù)據(jù)的準許。這樣,當用戶行至咖啡館的2英里范圍內(nèi)時,用戶設備觸發(fā)API調(diào)用,其標識Joe在那兒、Joe在干什么以及向用戶提供加入Joe的選項。用戶的移動設備可能發(fā)出警告,呈現(xiàn)Joe的聯(lián)系信息410、呈現(xiàn)包括API調(diào)用中標識的信息的消息412、以及給予用戶用來與他們的朋友取得聯(lián)系的按鈕414。圖10是另一個示例,其中本技術增強了用戶與他自己設備、以及與朋友的交互。 在這個示例中,用戶已設定觸發(fā)事件(或者已經(jīng)運行了設置觸發(fā)事件的應用程序234),其為 如果在用戶χ的朋友列表上的朋友行至用戶χ的平板計算設備的10英尺范圍內(nèi)時,標識關于所找到的朋友、以及所找到的朋友的朋友的所有圖片,并顯示關于所標識圖片的隱私設置是否低于ζ。在這個示例中,平板計算設備420檢測到Jessie的計算設備,她在用戶朋友列表上。平板計算機420搜索Jessie和她朋友的所有可用圖片422,并顯示具有低于某一任意定義值ζ的隱私級別(由Jessie或用戶設置)的那些圖片。值得注意的是,一旦已通過網(wǎng)絡50向服務90作出API調(diào)用,使得發(fā)起這些動作, 這個動作可以用直接通信方式發(fā)生,比如藍牙、RF、IR和近場通信。因此,在圖10所示示例中,平板計算機420可以從平板計算機的存儲位置、從數(shù)據(jù)存儲200、或者從平板計算機可與之建立直接通信鏈路的其它計算設備處檢索圖片。圖11圖解了可例如包括臺式或膝上型計算設備84的合適的通用計算系統(tǒng)環(huán)境 500的示例。計算系統(tǒng)環(huán)境500只是一個合適的計算環(huán)境的示例,而并非旨在對本發(fā)明系統(tǒng)的使用范圍或功能提出任何限制。也不應將計算系統(tǒng)環(huán)境500解釋為對在示例性計算系統(tǒng)環(huán)境500中示出的組件中的任何一個或其組合有任何依賴或要求。本發(fā)明系統(tǒng)可運行于各種其他通用或?qū)S糜嬎阆到y(tǒng)、環(huán)境或配置。適合在本發(fā)明系統(tǒng)中使用的公知的計算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個人計算機、服務器計算機、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子產(chǎn)品、網(wǎng)絡PC、小型機、大型計算機、膝上型和掌上計算機、手持式設備、包含上述系統(tǒng)或設備中的任一個的分布式計算機環(huán)境等。參考圖11,用于實現(xiàn)本技術的示例性系統(tǒng)包括計算機510形式的通用計算設備。 計算機510的組件可包括,但不限于,處理單元520、系統(tǒng)存儲器530和將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合至處理單元520的系統(tǒng)總線521。系統(tǒng)總線521可以是若干類型的總線結構中的任一種,包括使用各種總線體系結構中的任一種的存儲器總線或存儲器控制器、外圍總線,以及局部總線。作為示例而非限制,這樣的架構包括工業(yè)標準架構(ISA)總線、微通道架構(MCA)總線、增強型ISA(EISA)總線、視頻電子標準協(xié)會(VESA)局部總線、 以及也稱為夾層(Mezzanine)總線的外圍組件互連(PCI)總線。計算機510可以包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是能由計算機 510訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結構、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不局限于 隨機存取存儲器(RAM)、只讀存儲器(ROM)、EEPR0M、閃存或其它存儲術、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、盒式磁帶、磁帶、磁盤存儲或其它磁性存儲設備、或可用于存儲所需信息并可由計算機510訪問的任何其它介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機可讀指令、數(shù)據(jù)結構、程序模塊或其他數(shù)據(jù),并包括任意信息傳送介質(zhì)。術語“已調(diào) 制數(shù)據(jù)信號”指的是一個或多個特征以在信號中編碼信息的方式被設定或更改的信號。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡或直接線連接,以及如聲學、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。上面各項中的任何組合也包括在計算機可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲器530包括以諸如ROM 531和RAM 532之類的易失性和/或非易失性存儲器的形式存在的計算機存儲介質(zhì)?;据斎?輸出系統(tǒng)(BIOS) 533通常存儲在ROM 531 中,包含了諸如在啟動過程中幫助在計算機510內(nèi)的元件之間傳輸信息的基本例程。RAM 532通常包含處理單元520可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖11示出了操作系統(tǒng)534、應用程序535,其他程序模塊536和程序數(shù)據(jù) 537。計算機510還可以包括其他可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。只作為示例,圖11示出了讀寫不可移動、非易失性磁性介質(zhì)的硬盤驅(qū)動器541和讀寫可移動、非易失性磁盤552的磁盤驅(qū)動器551。計算機510還可以包括讀和/寫光學介質(zhì)的光學介質(zhì)讀取設備555??梢杂糜谑纠圆僮鳝h(huán)境中的其他可移動/不可移動,易失性/非易失性的計算機存儲介質(zhì)包括,但不僅限于,盒式磁帶、閃存卡、DVD、數(shù)字視頻磁帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器541通常由不可移動存儲器接口,諸如接口 540連接至系統(tǒng)總線521,磁盤驅(qū)動器551和光盤驅(qū)動器555通常由可移動存儲器接口,諸如接口 550連接至系統(tǒng)總線521。上文所討論的并且在圖11中所示出的驅(qū)動器以及它們的相關聯(lián)的計算機存儲介質(zhì)為計算機510提供了計算機可讀指令、數(shù)據(jù)結構、程序模塊及其他數(shù)據(jù)的存儲。例如,在圖11中,硬盤驅(qū)動器541被示為存儲操作系統(tǒng)544,應用程序545,其他程序模塊546,以及程序數(shù)據(jù)547。這些組件可以與操作系統(tǒng)534、應用程序535、其他程序模塊536,以及程序數(shù)據(jù)537相同,也可以不同。此處給操作系統(tǒng)544、應用程序545、其他程序模塊546以及程序數(shù)據(jù)547提供了不同的編號,以說明至少它們是不同的副本。用戶可以通過諸如鍵盤562 和指示設備561 (通常被稱為鼠標、軌跡球或觸摸板)之類的輸入設備向計算機510中輸入命令和信息。其他輸入設備(未示出)可以包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、 掃描儀等等。這些及其他輸入設備常常通過耦合到系統(tǒng)總線521的用戶輸入接口 560連接到處理單元521,但是,也可以通過其他接口和總線結構,如并行端口、游戲端口、通用串行總線(USB)端口來進行連接。監(jiān)視器591或其他類型的顯示設備也通過接口,例如視頻接口 590,連接至系統(tǒng)總線521。除監(jiān)視器之外,計算機還可以包括可以通過輸出外圍接口 595 連接的諸如揚聲器597和打印機596之類的其他外圍輸出設備。計算機510可以使用到一個或多個遠程計算機(如遠程計算機580)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。遠程計算機580可以是個人計算機、服務器、路由器、網(wǎng)絡PC、對等設備或其他公共網(wǎng)絡節(jié)點,且通常包括上文參考計算機510所描述的許多或全部元件,雖然圖 11中只示出了存儲器存儲設備581。圖11中所示邏輯連接包括局域網(wǎng)(LAN)571和廣域網(wǎng) (WAN) 573,但也可以包括其他網(wǎng)絡。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機網(wǎng)絡、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機510通過網(wǎng)絡接口或適配器570連接至LAN 571。當用于WAN聯(lián)網(wǎng)環(huán)境中時,計算機510通常包括調(diào)制解調(diào)器572,或用于通過WAN573(如因特網(wǎng))建立通信的其他裝置。調(diào)制解調(diào)器572可以是內(nèi)置或外置的,它可以經(jīng)由用戶輸入接口 560或其他適當?shù)臋C制連接至系統(tǒng)總線521。在聯(lián)網(wǎng)環(huán)境中,相對于計算機 510所描述的程序模塊或其部分可被存儲在遠程存儲器存儲設備中。作為示例而非限制,圖 11示出了駐留在存儲器設備581上的遠程應用程序585。可以理解,所示出的網(wǎng)絡連接只是示例性的,也可以使用用于在計算機之間建立通信鏈路的其他裝置。圖 12是游戲和媒體系統(tǒng)600的功能框圖并且更詳細地示出游戲和媒體系統(tǒng)600 的各功能組件。系統(tǒng)600可與如上所述的計算設備86相同??刂婆_602具有中央處理單元(CPU) 700,以及便于對包括閃存只讀存儲器(ROM) 704、隨機存取存儲器(RAM)706、硬盤驅(qū)動器708、以及便攜式媒體驅(qū)動器606在內(nèi)的各種類型的存儲器進行處理器訪問的存儲器控制器702。在一個實施例中,CPU 700包括一級高速緩存710和二級高速緩存712,以用于臨時地存儲數(shù)據(jù)并且因此減少了對硬盤驅(qū)動器708進行的存儲器訪問周期數(shù),從而提高處理速度和吞吐量。CPU 700、存儲器控制器702、以及各種存儲器設備通過一個或多個總線(未示出) 互連。在此實現(xiàn)中使用的總線的細節(jié)并不特別地與理解此處所討論的感興趣的主題相關。 然而,將理解,這樣的總線可能包括使用各種總線架構中的任何一種的串行和并行總線、存儲器總線、外圍總線、處理器或局部總線中的一個或多個。作為示例,這樣的架構可以包括工業(yè)標準架構(ISA)總線、微通道架構(MCA)總線、增強型ISA(EISA)總線、視頻電子技術標準協(xié)會(VESA)局部總線和外圍部件互連(PCI)總線(也被稱為夾層(Mezzanine)總線)。在一個實現(xiàn)中,CPU 700、存儲器控制器702、ROM 704、以及RAM 706被集成到公共模塊714上。在該實現(xiàn)中,ROM 704被配置為通過PCI總線和ROM總線(兩者都未示出) 連接到存儲器控制器702的閃存ROM。RAM 706被配置為由存儲器控制器702通過單獨的總線(未示出)被獨立控制的多個雙倍數(shù)據(jù)率同步動態(tài)RAM (DDR SDRAM)模塊。硬盤驅(qū)動器708和便攜式媒體驅(qū)動器606被示為通過PCI總線和AT附加設備(ATA)總線716連接到存儲器控制器702。然而,在其他實現(xiàn)中,還可以在替代方案中應用不同類型的專用數(shù)據(jù)總線結構。三維圖形處理單元720和視頻編碼器722形成用于進行高速和高分辨率(例如, 高清晰度)圖形處理的視頻處理流水線。數(shù)據(jù)通過數(shù)字視頻總線(未示出)從圖形處理單元720輸送到視頻編碼器722。音頻處理單元724和音頻編解碼器(編碼器/解碼器)726 形成用于對各種數(shù)字音頻格式進行多通道音頻處理的相應音頻處理流水線。音頻數(shù)據(jù)通過通信鏈路(未示出)在音頻處理單元724與音頻編解碼器726之間輸送。視頻和音頻處理流水線將數(shù)據(jù)輸出到A/V(音頻/視頻)端口 728以傳輸?shù)诫娨暀C或其他顯示器。在示出的是實現(xiàn)中,視頻和音頻處理組件720-728被安裝在模塊714上。圖12示出包括USB主控制器730和網(wǎng)絡接口 732的模塊714。USB主控制器730 被示為通過總線(例如PCI總線)與CPU 700和存儲器控制器702通信,并用作外圍控制器604(1)-604(4)的主機。網(wǎng)絡接口 732提供對網(wǎng)絡(例如因特網(wǎng)、家庭網(wǎng)絡等)的訪問并且可以是各種有線或無線接口組件中的任一種,包括以太網(wǎng)卡、調(diào)制解調(diào)器、無線接入卡、 藍牙模塊、電纜調(diào)制解調(diào)器等等。在圖12中示出的實現(xiàn)中,控制臺602包括用于支持四個控制器604(1)-604 (4)的控制器支持子部件740。控制器支持子部件740包括為支持對諸如媒體與游戲控制器等外部控制設備進行有線和無線 操作所需的任何硬件和軟件組件。前面板I/O子部件742支持暴露在控制臺602的外表面上的電源按鈕612、彈出按鈕614、以及任何LED (發(fā)光二極管) 或其他指示器的多個功能。子部件740和742通過一個或多個電纜部件744與模塊714進行通信。在其他實現(xiàn)中,控制臺602可包括附加的控制器子部件。示出的實現(xiàn)還示出了被配置為發(fā)送和接收可被傳送到模塊714的信號的光學I/O接口 735。MU 640(1)和 640 (2)被示為可以分別連接到 MU 端口 “A” 630 (1)和 “B” 630 (2)。 附加MU (例如MU 640 (3)-640 (6))被示為可以連接到控制器604 (1)和604 (3),即每一控制器兩個MU??刂破?04(2)和604(4)也可以被配置為容納MU(未示出)。每個MU 640提供上面可以存儲游戲、游戲參數(shù)、以及其他數(shù)據(jù)的附加存儲設備。在某些實現(xiàn)中,其他數(shù)據(jù)可以包括數(shù)字游戲組件、可執(zhí)行游戲應用、用于擴展游戲應用的指令集、以及媒體文件中的任何一個。在被插入到控制臺602或控制器中時,MU 640可以由存儲器控制器702來訪問。系統(tǒng)供電模塊750向游戲和媒體系統(tǒng)600的組件供電。風扇752冷卻控制臺602 內(nèi)的電路。包括機器指令的應用760被存儲在硬盤驅(qū)動器708上。在控制臺602通電時,應用 760的各部分被加載到RAM 706、和/或高速緩存710和712中,以供在CPU 700上執(zhí)行,其中應用760是一個這樣的示例??梢詫⒏鞣N應用存儲在硬盤驅(qū)動器708上以供在CPU 700 上執(zhí)行。可通過簡單地將系統(tǒng)連接到監(jiān)視器88 (圖1)、電視機、視頻投影儀、或其他顯示設備來將游戲和媒體系統(tǒng)600用作獨立系統(tǒng)。在該獨立模式中,游戲與媒體系統(tǒng)600允許一個或多個玩家玩游戲、或例如通過看電影或聽音樂來享受數(shù)字媒體。然而,隨著通過網(wǎng)絡接口 732寬帶連接的集成變?yōu)榭捎?,游戲和媒體系統(tǒng)600還可用作較大的網(wǎng)絡游戲社區(qū)中的
參與者。圖13描繪移動設備的示例框圖。描繪了典型的蜂窩電話的示例性電子電路。該電話800包括一個或多個微處理器,以及存儲由控制處理器812的一個或多個處理器執(zhí)行來實現(xiàn)此處所述的功能的處理器可讀代碼的存儲器810 (例如,諸如ROM等非易失性存儲器和諸如RAM等易失性存儲器)。移動設備800可包括例如處理器812、包括應用和非易失性存儲的存儲器810。處理器812可實現(xiàn)通信以及任何數(shù)目的應用,包括本文中所描述的交互應用。存儲器810可以是任何種類的存儲器存儲介質(zhì)類型,包括非易失性和易失性存儲器。設備操作系統(tǒng)處理移動800的不同操作,并可包含用于操作的用戶界面,如撥打和接聽電話呼叫、文本消息收發(fā)、檢查語音郵件等。應用程序830可以是任何種類的程序,如用于照片和/或視頻的照相機應用程序、地址簿應用程序、日歷應用程序、媒體播放器、因特網(wǎng)瀏覽器、游戲、鬧鐘應用程序、其他第三方應用程序、本文中討論的交互應用程序等。存儲器810中的非易失性存儲組件840包含諸如web高速緩存、音樂、照片、聯(lián)系人數(shù)據(jù)、時間安排數(shù)據(jù)、以及其他文件等數(shù)據(jù)。處理器812還與進而耦合至天線的RF傳輸/接收電路806通信,該電路帶有紅外傳輸/接收器808,以及帶有移動/定向傳感器814,比如加速度計。加速度計已被集成在移動設備中以將實現(xiàn)這樣的應用,諸如能使用戶經(jīng)由姿勢來輸入命令的智能用戶界面、在與GPS衛(wèi)星斷開連接之后計算設備的移動和方向的室內(nèi)GPS功能,以及當旋轉(zhuǎn)設備時檢測設備的定向和將顯示從縱向改變?yōu)闄M向。加速度計還能由,比如,微電磁系統(tǒng)(MEMS)提供, 該微電磁系統(tǒng)是置于半導體芯片上的微小機械設備(毫米級別)。加速方向和定向、振動和沖擊可以被傳感。處理器812進一步與響鈴器/振動器816、用戶界面鍵盤/屏幕818、揚聲器820、麥克風822、相機824、光傳感器826和溫度傳感器828通信。 處理器812控制無線信號的發(fā)射和接收。在發(fā)射模式期間,處理器812向發(fā)射/ 接收電路806提供來自話筒822的語音信號或其它數(shù)據(jù)信號。發(fā)射/接收電路806將該信號發(fā)射到遠程站(例如固定站、運營商、其他蜂窩電話等)來通過天線802進行通信。響鈴器/振動器816被用于向用戶發(fā)傳入呼叫、文本消息、日歷提醒、鬧鐘提醒或其他通知等信號。在接收模式期間,發(fā)射/接收電路806通過天線802接收來自遠程站的語音或其它數(shù)據(jù)信號。所接收到的語音信號被提供給揚聲器820,同時所接收到的其它數(shù)據(jù)信號也被適當?shù)靥幚?。另外,物理連接器888可被用來將移動設備800連接到外部電源,如AC適配器或加電對接底座。物理連接器888還可被用作到計算設備的數(shù)據(jù)連接。該數(shù)據(jù)連接允許諸如將移動數(shù)據(jù)與另一設備上的計算數(shù)據(jù)進行同步等操作。對此類服務啟用使用基于衛(wèi)星的無線電導航來中繼用戶應用的位置的GPS接收器 865。盡管用結構特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權利要求書中定義的主題不必限于上述具體特征或動作。更確切而言,上述具體特征和動作是作為實現(xiàn)權利要求的示例形式公開的。
權利要求
1.一種組織并允許訪問云數(shù)據(jù)(96)的方法,包括a)經(jīng)由一個或多個計算設備(82、84、86)檢測(步驟31 用戶數(shù)據(jù),所檢測的數(shù)據(jù)包括以下中的至少一個al)用戶的位置(202), a2)用戶的活動(206), a3)用戶的簡檔(204), a4)用戶的設備(212), a5)用戶的環(huán)境(210), a6)用戶的可用性Q08);b)將在所述步驟a)中檢測的數(shù)據(jù)聚集(步驟324,33 到數(shù)據(jù)存儲(96)中;以及c)經(jīng)由供多個應用訪問的單個應用程序編程接口(MO)將在所述步驟b)中聚集到數(shù)據(jù)存儲中的數(shù)據(jù)展現(xiàn)給應用程序034)。
2.如權利要求1所述的方法,其特征在于,進一步包括通過將在所述步驟a)中檢測到的數(shù)據(jù)分類到各類別以及概括不同類別中的數(shù)據(jù)來處理聚集在存儲中的數(shù)據(jù)的步驟d)。
3.如權利要求2所述的方法,其特征在于,所述概括數(shù)據(jù)的步驟包括分析與在所述步驟b)中聚集的數(shù)據(jù)相關聯(lián)的可靠性指示符,以及確定類別的概括的步驟,所述概括包括基于對所述可靠性指示符的分析的最佳數(shù)據(jù)值。
4.如權利要求2所述的方法,其特征在于,所述處理數(shù)據(jù)的步驟d)進一步包括合成第一數(shù)據(jù)項以獲得從關于第一數(shù)據(jù)項的邏輯推論得到的第二數(shù)據(jù)項的步驟。
5.如權利要求1所述的方法,其特征在于,所述將聚集在數(shù)據(jù)存儲中的數(shù)據(jù)展現(xiàn)給應用程序的步驟c)包括經(jīng)由單個應用程序編程接口將數(shù)據(jù)展現(xiàn)給多個計算設備的步驟,所述多個計算設備至少包括移動電話、個人計算機和游戲控制臺的步驟。
6.如權利要求1所述的方法,其特征在于,進一步包括在條件觸發(fā)事件發(fā)生之際,經(jīng)由單個應用程序編程接口來將數(shù)據(jù)展現(xiàn)給應用程序的步驟h)。
7.一種用于編程處理器(520、700)以執(zhí)行一種組合并允許訪問云數(shù)據(jù)(96)的計算機可讀存儲介質(zhì)(541、555、708),所述方法包括a)經(jīng)由一個或多個計算設備(82、84、86)檢測(步驟31 用戶數(shù)據(jù),所檢測的數(shù)據(jù)包括以下中的至少兩個al)用戶的位置(202), a2)用戶的活動(206), a3)用戶的簡檔(204), a4)用戶的設備(212), a5)用戶的環(huán)境(210), a6)用戶的可用性Q08);b)將在所述步驟a)中檢測到的數(shù)據(jù)聚集(步驟324,33 到數(shù)據(jù)存儲(96)中,所述位置數(shù)據(jù)被存儲在第一數(shù)據(jù)類別中,所述活動數(shù)據(jù)被存儲在第二數(shù)據(jù)類別中,簡檔數(shù)據(jù)被存儲在第三數(shù)據(jù)類別中,而所述設備數(shù)據(jù)被存儲在第四數(shù)據(jù)類別中;以及c)概括(步驟35 第一、第二、第三和第四數(shù)據(jù)類別的每一個中的數(shù)據(jù)以對于第一、第二、第三和第四數(shù)據(jù)類別的每一個得出至少一個代表性數(shù)據(jù)項;以及d)經(jīng)由單個應用程序編程接口(MO)將在所述步驟b)中聚集在數(shù)據(jù)存儲中的數(shù)據(jù)展現(xiàn)(步驟384,388)給應用程序(234)。
8.如權利要求7所述的計算機可讀介質(zhì),其特征在于,進一步包括接收隱私設定的步驟e),所述隱私設定指示用戶是否以及在什么條件下同意與其它用戶共享在所述步驟b) 中聚集的數(shù)據(jù)。
9.如權利要求8所述的計算機可讀介質(zhì),其特征在于,所述步驟e)包括用戶將隱私排序與在所述步驟b)中聚集的數(shù)據(jù)的數(shù)據(jù)項進行關聯(lián)以及用戶設置將被應用于具有隱私排序的數(shù)據(jù)的隱私閾值的步驟。
10.如權利要求7所述的計算機可讀介質(zhì),其特征在于,進一步包括合成第一數(shù)據(jù)項以獲得從關于所述第一數(shù)據(jù)項的邏輯推論得到的第二數(shù)據(jù)項的步驟f)。
11.如權利要求7所述的計算機可讀介質(zhì),其特征在于,進一步包括第一用戶實時發(fā)現(xiàn)第二用戶的活動以及所述第一用戶在所述活動中加入所述第二的步驟。
12.—種組織和允許訪問云數(shù)據(jù)(96)的方法,所述方法包括a)經(jīng)由一個或多個計算設備(82,84,86)檢測至少與用戶在哪里以及用戶在干什么相關(步驟312)的用戶數(shù)據(jù);b)將在所述步驟a)中檢測到的數(shù)據(jù)聚集(步驟324,33 到數(shù)據(jù)存儲(96)中;c)定義觸發(fā)事件,所述觸發(fā)事件與由一個或多個計算設備測量的條件的發(fā)生有關;d)確定(步驟374)指示觸發(fā)事件已經(jīng)發(fā)生的數(shù)據(jù)是否被聚集到數(shù)據(jù)存儲器;以及e)基于在所述步驟d)中確定指示觸發(fā)事件已經(jīng)發(fā)生的數(shù)據(jù)被聚集到數(shù)據(jù)存儲,經(jīng)由單個應用程序編程接口(MO)向應用程序(234)展現(xiàn)(步驟386、388)在所述步驟b)中聚集到數(shù)據(jù)存儲中的數(shù)據(jù)。
13.如權利要求12所述的方法,其特征在于,所述定義觸發(fā)事件的步驟c)包括定義所述觸發(fā)事件與以下各項中的至少一個有關的步驟一個或多個計算設備與另一個位置的接近度、以及時間事件。
14.如權利要求12所述的方法,其特征在于,進一步包括檢測來自用戶與其計算設備的所有交互的數(shù)據(jù)的總和的步驟f),以及將此數(shù)據(jù)的總和聚集到數(shù)據(jù)存儲中的步驟g)。
15.如權利要求14所述的方法,其特征在于,進一步包括經(jīng)由單個應用程序編程接口將在所述步驟g)中聚集到數(shù)據(jù)存儲中的數(shù)據(jù)展現(xiàn)給應用程序。
全文摘要
本文描述了用于通用移動數(shù)據(jù)的系統(tǒng)。公開了聚集與組織位于包覆系統(tǒng)中的用戶云數(shù)據(jù),以及然后經(jīng)由通用API將該云數(shù)據(jù)的總和展現(xiàn)給應用程序的系統(tǒng)與方法。這樣的系統(tǒng)提供了豐富在場信息,允許用戶跨他們所有的計算設備映射并統(tǒng)一他們的全部體驗,以及發(fā)現(xiàn)其他用戶及其體驗。由此,用戶能增強他們對其自己的環(huán)境知識及增強與該環(huán)境的交互,以及打開與其他人之間的新的社交體驗。
文檔編號G06F9/44GK102222002SQ20111017903
公開日2011年10月19日 申請日期2011年6月20日 優(yōu)先權日2010年6月18日
發(fā)明者B·奧斯特格倫, J·克萊維恩, K·A·洛布, K·蓋斯那, S·楚帕拉 申請人:微軟公司