亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

云邊拓?fù)涞闹谱鞣椒?

文檔序號(hào):7870545閱讀:205來源:國(guó)知局
專利名稱:云邊拓?fù)涞闹谱鞣椒?br> 技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)的領(lǐng)域,具體涉及云邊拓?fù)洹?br> 背景技術(shù)
消費(fèi)者對(duì)智能電話等“智能”便攜式計(jì)算設(shè)備的廣泛采用以及大量的基于云的計(jì)算資源的可用性已經(jīng)導(dǎo)致所謂的“云邊拓?fù)洹?。這些智能便攜式計(jì)算設(shè)備之所以稱為“智能”是因?yàn)樘幚砥骱痛鎯?chǔ)器的進(jìn)步允許這些設(shè)備具有用戶可利用的豐富計(jì)算資源。智能便攜式計(jì)算設(shè)備可以產(chǎn)生實(shí)時(shí)數(shù)據(jù),如GPS定位、電池消耗、速度等。這些智能便攜式計(jì)算設(shè)備還可被認(rèn)為是云邊設(shè)備,因?yàn)楦鱾€(gè)設(shè)備和基于云的資源之間的通信可被認(rèn)為是一條邊。假設(shè)智能便攜式計(jì)算設(shè)備上有可利用的豐富計(jì)算資源,則用戶可以選擇要在他/她的設(shè)備上運(yùn)行的各種應(yīng)用。這些應(yīng)用中的許多應(yīng)用可被稱為云邊應(yīng)用,因?yàn)橐粋€(gè)應(yīng)用實(shí)例在該智能便攜式計(jì)算設(shè)備上運(yùn)行,而另一個(gè)應(yīng)用實(shí)例在基于云的計(jì)算資源上運(yùn)行。存在一大類的在多個(gè)智能便攜式計(jì)算設(shè)備和云間將數(shù)據(jù)相互關(guān)聯(lián),以實(shí)現(xiàn)其功能的云邊應(yīng)用。一個(gè)例子是交友應(yīng)用,其功能是如果任何好友在附近則通知用戶。該應(yīng)用的功能依賴于實(shí)時(shí)位置和緩慢改變的數(shù)據(jù)如社交網(wǎng)絡(luò)的相互關(guān)聯(lián)。盡管在智能便攜式計(jì)算設(shè)備和基于云的資源上可獲得大量的計(jì)算資源,但是當(dāng)大量的智能便攜式計(jì)算設(shè)備正在運(yùn)行云邊應(yīng)用時(shí),通信資源等資源的使用率可能是值得重視的。

發(fā)明內(nèi)容
本發(fā)明涉及云邊拓?fù)?。一些方面涉及在各種云邊拓?fù)渲械脑七厬?yīng)用和資源的使用。一個(gè)例子可以評(píng)估使用來自多個(gè)不同邊計(jì)算設(shè)備的數(shù)據(jù)的實(shí)時(shí)流查詢。所述多個(gè)不同邊計(jì)算設(shè)備可以被配置為與基于云的資源通信,但是不直接相互通信。各個(gè)邊計(jì)算設(shè)備包括用說明性時(shí)序語(yǔ)言(declarative temporal language)表達(dá)的應(yīng)用的實(shí)例。該例子可以比較第一和第二場(chǎng)景之間的資源使用。第一場(chǎng)景涉及將查詢數(shù)據(jù)從多個(gè)不同邊計(jì)算設(shè)備上傳到基于云的資源用于處理。第二場(chǎng)景涉及將所述查詢數(shù)據(jù)從所述多個(gè)不同邊計(jì)算設(shè)備中除了一個(gè)節(jié)點(diǎn)以外的所有節(jié)點(diǎn)上傳到基于云的資源并且將所述查詢數(shù)據(jù)下載到所述多個(gè)不同邊計(jì)算設(shè)備中的所述一個(gè)節(jié)點(diǎn)用于處理。本發(fā)明的云邊拓?fù)涞牧硪环矫婵梢陨婕笆褂脮r(shí)序語(yǔ)言的云邊應(yīng)用的說明。另一方面可以涉及在云和云邊計(jì)算機(jī)上運(yùn)行數(shù)據(jù)流管理系統(tǒng)(DSMS)引擎以運(yùn)行各查詢部分的架構(gòu)。根據(jù)本發(fā)明的一個(gè)方面,提供了一種方法,包括:獲得在包括多個(gè)邊設(shè)備和基于云的資源的云邊拓?fù)渲械恼f明性流查詢;將說明性流查詢轉(zhuǎn)換為反映多個(gè)邊設(shè)備的查詢圖;以及基于云邊拓?fù)涞馁Y源使用來判斷是在各個(gè)邊設(shè)備上執(zhí)行查詢圖的算符還是在基于云的資源上執(zhí)行查詢圖的算符。根據(jù)本發(fā)明的另一個(gè)方面,提供了一種系統(tǒng),包括:基于云的云邊上實(shí)時(shí)應(yīng)用即RACE管理業(yè)務(wù),其被配置為與在云上以及在與云通信的各個(gè)邊計(jì)算設(shè)備上執(zhí)行的應(yīng)用交互,基于云的RACE管理業(yè)務(wù)被配置為模擬數(shù)據(jù)流管理系統(tǒng)即DSMS引擎,以從各個(gè)邊計(jì)算設(shè)備接收時(shí)序性說明性查詢;以及RACE處理器,其被配置為攔截時(shí)序性說明性查詢并且將各個(gè)時(shí)序性說明性查詢分析并編譯為對(duì)象表達(dá)。上文列出的例子意圖提供快速參考以幫助讀者,并且不意圖限定本文描述的構(gòu)思的范圍。


附圖示出本發(fā)明中表達(dá)的構(gòu)思的實(shí)施例。通過參考以下結(jié)合附圖的描述將更容易理解所示出的實(shí)施方式的特征。在不同的圖中相同的附圖標(biāo)記用于表示相同的要素。此外,每個(gè)附圖標(biāo)記中最左邊的數(shù)字表達(dá)該附圖標(biāo)記第一次被引入的圖和相關(guān)討論。圖1示出根據(jù)一些實(shí)施例的可應(yīng)用本發(fā)明的云邊應(yīng)用資源使用構(gòu)思的系統(tǒng)的例子。圖2示出根據(jù)一些實(shí)施例的可應(yīng)用本發(fā)明的云邊應(yīng)用資源使用構(gòu)思的系統(tǒng)架構(gòu)的例子。圖3至圖9示出根據(jù)一些實(shí)施例的可應(yīng)用本發(fā)明的云邊應(yīng)用資源使用構(gòu)思的圖的例子。圖10示出根據(jù)本發(fā)明的構(gòu)思的一些實(shí)施例的云邊應(yīng)用資源使用技術(shù)的一個(gè)例子的流程圖。
具體實(shí)施例方式MM本發(fā)明的構(gòu)思涉及基于云的系統(tǒng),以及在基于云的系統(tǒng)和所連接的設(shè)備上運(yùn)行的應(yīng)用所進(jìn)行的動(dòng)態(tài)的、與資源有關(guān)的處理。為了解釋的目的,考慮介紹性的圖1,圖1示出可以實(shí)施本發(fā)明的構(gòu)思的系統(tǒng)100的例子。系統(tǒng)100包括三個(gè)云邊計(jì)算設(shè)備(在下文中稱為“計(jì)算設(shè)備”)102 (I)、102 (2)和102 (N)(其中N表示可使用的計(jì)算設(shè)備的任意數(shù)目)。計(jì)算設(shè)備102 (I)-102 (N)可以分別經(jīng)由線108(1)-108(3)所表示的網(wǎng)絡(luò)106與云104通信。在該例子中,各個(gè)計(jì)算設(shè)備可以通過云104相互通信,但是不直接與其它計(jì)算設(shè)備通信。云104可以提供大量的計(jì)算資源110,但是這些計(jì)算資源的精確物理位置可能不是很明顯。云計(jì)算由于其提供的相對(duì)廉價(jià)且豐富的計(jì)算資源而日益普及。計(jì)算設(shè)備102(1)_102(N)可以是任何類型的計(jì)算設(shè)備。通常這些計(jì)算設(shè)備是便攜式計(jì)算設(shè)備,如智能電話和平板計(jì)算機(jī)。在本文中使用的術(shù)語(yǔ)“計(jì)算機(jī)”或“計(jì)算設(shè)備”可以指具有一定程度的處理能力的任何類型的設(shè)備。盡管為了解釋的目的而示出了這種設(shè)備的特殊例子,但是這種設(shè)備的其它例子可以包括傳統(tǒng)計(jì)算設(shè)備,如個(gè)人計(jì)算機(jī)、蜂窩電話、智能電話、個(gè)人數(shù)字助理或者無數(shù)的正在設(shè)計(jì)中的或尚未開發(fā)出的設(shè)備類型。此外,計(jì)算機(jī)可以被結(jié)合在另一設(shè)備中而不是獨(dú)立的。例如,儀表板計(jì)算機(jī)可以被包括在汽車或其它交通工具中。從一個(gè)角度來看,計(jì)算設(shè)備102(1)_102(N)可被認(rèn)為是在云104和網(wǎng)絡(luò)106所支持的拓?fù)渲械摹斑呍O(shè)備”。這些邊設(shè)備中的多數(shù)安裝有傳感器,這些傳感器產(chǎn)生頻繁的或連續(xù)的實(shí)時(shí)數(shù)據(jù)流,如用戶的GPS位置、速度、當(dāng)前活動(dòng)、設(shè)備的電池使用率等。另外,可能存在數(shù)量日益增多的變化較慢的參考數(shù)據(jù),如在云上,例如通過數(shù)據(jù)市場(chǎng),可以獲得的社交網(wǎng)絡(luò)圖和加油站的燃料價(jià)格。計(jì)算設(shè)備和數(shù)據(jù)的激增導(dǎo)致對(duì)新興的一類實(shí)時(shí)云邊應(yīng)用的關(guān)注日益增加。這些云邊應(yīng)用可以基于從大量的邊計(jì)算設(shè)備和云收集來的實(shí)時(shí)資料提供業(yè)務(wù),如通知或推薦。在一些情況下,計(jì)算設(shè)備102(1)_102(N)將它們的數(shù)據(jù)傳送到云104,以供在云計(jì)算資源110上運(yùn)行的一個(gè)或多個(gè)業(yè)務(wù)提供商進(jìn)行處理。例如,為了解釋的目的,假定一個(gè)這種業(yè)務(wù)是當(dāng)用戶的任何好友出現(xiàn)在用戶的當(dāng)前位置附近時(shí)向通知用戶的交友業(yè)務(wù)。在一些實(shí)施例中,交友業(yè)務(wù)可以由運(yùn)行在云計(jì)算資源110上的交友應(yīng)用和運(yùn)行在各個(gè)計(jì)算設(shè)備102 (I)-102 (N)上的相應(yīng)交友應(yīng)用來完成。對(duì)交友應(yīng)用的使能需要來自用戶的智能電話(例如,計(jì)算設(shè)備102 (I)-102 (N))的實(shí)時(shí)位置以及(限定好友關(guān)系的)緩慢變化的參考數(shù)據(jù)如社交網(wǎng)絡(luò)的相互關(guān)聯(lián)。為了便于解釋,只考慮計(jì)算設(shè)備102(1)和102 (2),并且假定計(jì)算設(shè)備102(1)屬于用戶1,計(jì)算設(shè)備102(2)屬于用戶2。此外,假定用戶I和用戶2已經(jīng)被認(rèn)為是“好友”。每個(gè)計(jì)算設(shè)備可以如箭頭112(1)和112(2)所表示的那樣時(shí)不時(shí)地向云上傳數(shù)據(jù)。上傳的數(shù)據(jù)可以被在云計(jì)算資源110上操作的業(yè)務(wù)提供商處理。業(yè)務(wù)提供商可以確定每個(gè)計(jì)算設(shè)備的結(jié)果并且將這些結(jié)果傳送回到各自的計(jì)算設(shè)備102 (I)和102 (2)。在有些情況下,這種處理可能需要通過網(wǎng)絡(luò)106在云104和計(jì)算設(shè)備102(1)和102(2)之間進(jìn)行大量的上傳和下載通信。本發(fā)明的構(gòu)思可以考慮替代方案。該替代方案可被認(rèn)為是動(dòng)態(tài)的考慮資源的方案。在該動(dòng)態(tài)的考慮資源的方案中,計(jì)算設(shè)備102(1)和102(2)之一可以判斷,該計(jì)算設(shè)備個(gè)體通過從云獲得其它計(jì)算設(shè)備的數(shù)據(jù)并且在該計(jì)算設(shè)備上進(jìn)行本地處理可以減少系統(tǒng)資源的使用,如這些網(wǎng)絡(luò)通信。(可以按照數(shù)目和/或網(wǎng)絡(luò)帶寬使用來考慮網(wǎng)絡(luò)通信)。在此情況下,該計(jì)算設(shè)備個(gè)體不上傳。其它(其余的)計(jì)算設(shè)備正常上傳,并且該計(jì)算設(shè)備個(gè)體下載。該動(dòng)態(tài)的考慮資源的方案可被認(rèn)為是動(dòng)態(tài)的,因?yàn)橘Y源使用的計(jì)算可以隨著場(chǎng)景的變化而變化。下面描述一個(gè)關(guān)于計(jì)算設(shè)備產(chǎn)生位置數(shù)據(jù)的速率的例子。當(dāng)位置數(shù)據(jù)的速率改變時(shí)資源使用的計(jì)算可以產(chǎn)生不同的結(jié)果。因此,可以隨著條件或參數(shù)變化以迭代的方式重復(fù)進(jìn)行判斷而不是一次性判斷。為了說明這種減少資源使用的情況,假定計(jì)算設(shè)備102(1)屬于用戶1,計(jì)算設(shè)備102(2)屬于用戶2。進(jìn)一步假定用戶I正在他/她的辦公室工作(例如,相對(duì)靜止),用戶2在附近開車。在上述固定配置中,現(xiàn)有的交友應(yīng)用將需求用戶2 (計(jì)算設(shè)備102 (2))頻繁地上傳(112(2))他/她的位置,使得云知道他/她的最新位置是否與用戶I的位置相關(guān)聯(lián)。然而,用戶I (計(jì)算設(shè)備102(1))可以不那么頻繁地(例如,每小時(shí)一次)上傳(112(1))他/她的位置,因?yàn)樗?她的移動(dòng)沒有那么活躍。在該例子中,用戶I和用戶2的總通信開銷是通過網(wǎng)絡(luò)106每小時(shí)361個(gè)消息(忽略最終通知消息)。這樣的網(wǎng)絡(luò)使用可能是昂貴的,特別是當(dāng)用戶具有很多好友或者運(yùn)行很多應(yīng)用時(shí)。這可能嚴(yán)重限制應(yīng)用的效用,因?yàn)檫@會(huì)被迫限制以什么樣的頻度將用戶數(shù)據(jù)相互關(guān)聯(lián),這導(dǎo)致長(zhǎng)的通知延遲。此外,由于應(yīng)用對(duì)資源的高度占用,用戶可能簡(jiǎn)單地關(guān)閉該應(yīng)用。然而,在上述動(dòng)態(tài)的考慮資源的方案的例子中,能夠容易地解決該低效率問題。代替使用在云上相互關(guān)聯(lián)的方法,用戶I的位置可(通過分別由箭頭114和116表示的云104)被發(fā)送到用戶2的計(jì)算設(shè)備102(2)。然后可以由用戶2的計(jì)算設(shè)備進(jìn)行相互關(guān)聯(lián)。在此情況下,用戶2無論在哪都不需要發(fā)送他/她的位置,并且總成本變?yōu)槊啃r(shí)僅2個(gè)消息(一個(gè)消息是從用戶I到云,另一個(gè)消息是從云到用戶2)。注意,在隨后的時(shí)間點(diǎn),例如當(dāng)用戶I正在往家走時(shí),該動(dòng)態(tài)的考慮資源的方案可以確定不同的方法,例如在云104上處理??傊?,該動(dòng)態(tài)的考慮資源的方案可以確定要推出什么(如果有的話)計(jì)算以及要將它推給哪個(gè)邊計(jì)算設(shè)備。該確定可被認(rèn)為是優(yōu)化問題,該優(yōu)化問題取決于各種因素,如網(wǎng)絡(luò)拓?fù)?、?shù)據(jù)流的速率、數(shù)據(jù)上傳和下載成本、要相互關(guān)聯(lián)的流對(duì)等。此外,由于這些參數(shù)可以隨時(shí)間改變(例如,當(dāng)用戶I下班后開始走時(shí)他/她的速率可能改變),所以該確定可被動(dòng)態(tài)更新。一個(gè)動(dòng)態(tài)的考慮資源的方案的實(shí)施例被稱為RACE,下面對(duì)其進(jìn)行詳細(xì)描述。簡(jiǎn)言之,RACE(Real-time Applications over Cloud-Edge,云邊實(shí)時(shí)應(yīng)用)是用于說明和有效率地執(zhí)行云邊應(yīng)用的架構(gòu)和系統(tǒng)。RACE可以使用數(shù)據(jù)庫(kù)技術(shù)來處理兩個(gè)主要方面。第一,RACE處理實(shí)時(shí)云邊應(yīng)用的說明。第二,RACE處理與執(zhí)行實(shí)時(shí)云邊應(yīng)用相關(guān)聯(lián)的系統(tǒng)資源的使用。系統(tǒng)資源的使用可被增強(qiáng)和/或優(yōu)化(在下文中,為了簡(jiǎn)潔,術(shù)語(yǔ)“優(yōu)化”表示“增強(qiáng)和/或優(yōu)化”)。云邊應(yīng)用的說明RACE通過提取云邊應(yīng)用的核心邏輯作為在一組流數(shù)據(jù)源上的與平臺(tái)無關(guān)(p I at f orm-agno s t i c )的連續(xù)查詢(CQ ),來解決實(shí)時(shí)云邊應(yīng)用的說明問題。云邊應(yīng)用通常用標(biāo)準(zhǔn)的命令式語(yǔ)言,如Objective C (面向?qū)ο蟮腃)、Java或C#編寫而成。應(yīng)用開發(fā)人員需要手動(dòng)實(shí)施應(yīng)用邏輯中處理跨設(shè)備通信、公布和訂閱數(shù)據(jù)流以及時(shí)間相關(guān)的語(yǔ)義的機(jī)制,如時(shí)序性連接和加窗計(jì)算。該處理是費(fèi)時(shí)而且易出錯(cuò)的。RACE可以添加對(duì)大多數(shù)云邊應(yīng)用所共享的公共功能的平臺(tái)支持。然后應(yīng)用設(shè)計(jì)者可以將精力集中于核心應(yīng)用邏輯,而不是實(shí)施細(xì)節(jié)。本發(fā)明的實(shí)施例利用如下事實(shí):盡管不同的云邊應(yīng)用具有不同的應(yīng)用特有特征(例如,可視化和對(duì)隱私的支持),但是它們可具有一些共同性。例如,云邊應(yīng)用的數(shù)據(jù)和核心應(yīng)用邏輯二者本質(zhì)上通常是暫時(shí)性的。換句話說,云邊應(yīng)用可被視為在龐大的分布式系統(tǒng)中將實(shí)時(shí)的和緩慢變化的(但仍然是時(shí)序性的)參考數(shù)據(jù)持續(xù)相互關(guān)聯(lián)的持續(xù)查詢。例如,交友應(yīng)用可被認(rèn)為是邊設(shè)備的實(shí)時(shí)GPS位置與緩慢變化的社交網(wǎng)絡(luò)流之間的時(shí)序性連接。感知位置的優(yōu)惠券應(yīng)用將(在歷史時(shí)間窗上計(jì)算出的)帶有用戶簡(jiǎn)檔的當(dāng)前用戶位置信息與當(dāng)前廣告相關(guān)聯(lián)。因此,在一些實(shí)施例中,云邊應(yīng)用的說明語(yǔ)言應(yīng)該包含對(duì)時(shí)序性語(yǔ)義的原生支持。這種支持能夠清楚地表達(dá)面向時(shí)間的操作,如時(shí)序性連接和加窗聚集(windowed aggregation)??蛇x地或附加地,該語(yǔ)言可以具有其它屬性。例如,一個(gè)這種屬性是說明語(yǔ)言的說明性本質(zhì)。這可以允許應(yīng)用設(shè)計(jì)者以說明性的并且與網(wǎng)絡(luò)拓?fù)錈o關(guān)的方式說明應(yīng)用,這樣他們可以將精力集中于應(yīng)用是“什么”,而不是它們被“怎樣”實(shí)施。實(shí)施細(xì)節(jié)對(duì)應(yīng)用設(shè)計(jì)者可以是透明的,并且可以改為由底層平臺(tái)自動(dòng)處理。另一個(gè)屬性可涉及簡(jiǎn)潔性。應(yīng)用的說明可以是簡(jiǎn)潔的,允許應(yīng)用設(shè)計(jì)者進(jìn)行富有成效的原型開發(fā)、部署和調(diào)試。簡(jiǎn)潔性自然與說明性(描述性)說明的采用相符。靈活性可以是另一個(gè)屬性。該說明語(yǔ)言可以是靈活的,使得應(yīng)用設(shè)計(jì)者能夠容易地根據(jù)不同的輸入/輸出源和配置定制應(yīng)用?,F(xiàn)在根據(jù)這些屬性描述說明語(yǔ)言的設(shè)計(jì)空間。說明性語(yǔ)言,如SQL和Datalog(及其變體,如Network Datalog)可以允許對(duì)分布式環(huán)境中的持續(xù)查詢進(jìn)行簡(jiǎn)潔和靈活的說明。然而,這些語(yǔ)言不具有對(duì)時(shí)序性語(yǔ)義的原生支持,而對(duì)于大多數(shù)云邊應(yīng)用來說對(duì)時(shí)序性語(yǔ)義的原生支持是至關(guān)重要的。另一方面,數(shù)據(jù)流管理系統(tǒng)(DSMS)使用滿足所需屬性的說明性時(shí)序語(yǔ)言。例子包括Streamlnsight 的LINQ 和Oracle CEP的StreamSQL 以及StreamBase 。以下描述使用Stream Insight的LINQ作為說明語(yǔ)言,但是該描述也適用于其它配置。LINQ允許時(shí)序性查詢的說明性(描述性)說明,并且是基于與云邊應(yīng)用的時(shí)序性質(zhì)很好地符合的的明確定義的代數(shù)和語(yǔ)義的。下面的討論提供云邊應(yīng)用說明的一個(gè)例子。假設(shè)交友查詢發(fā)現(xiàn)了滿足如下條件的所有用戶對(duì)(用戶1、用戶2):1)用戶2是用戶I的好友;以及2)在給定的時(shí)間,這兩個(gè)用戶在地理上彼此很近。在這點(diǎn)上,為了解釋的目的,假定好友關(guān)系是非對(duì)稱的,即,給定一時(shí)間點(diǎn),用戶2是用戶I的好友不一定意味著反之亦然。存在對(duì)交友應(yīng)用的兩個(gè)輸入,即,由邊設(shè)備報(bào)告的GPS位置流和社交網(wǎng)絡(luò)數(shù)據(jù)。在運(yùn)行時(shí)間主動(dòng)收集GPS位置,而社交網(wǎng)絡(luò)數(shù)據(jù)是相對(duì)緩慢改變的并且通??稍谠浦蝎@得。交友應(yīng)用可被寫為下面所示的兩階段時(shí)序性連接查詢。var queryO=from elin locationfrom e2in social Networkwhere el.Userld==e2.Useridselect new {el.Userid, el.Latitude,el.Longitude, e2.Friendld};var queryl=from elin queryOfrom e2in locationwhere el.Friendld==e2.UserIdMDistance (el.Latitude, el.Longitude,e2.Latitude, e2.Longitude)<THRE SHOLDselect new{Userl=el.Userid, User2=e2.Userid};第一查詢(queryO)連接將GPS位置流(location)與社交網(wǎng)絡(luò)參考流(socialNetwork)連接,并且(在queryl中)得到的輸出流再次與GPS位置連接連接,以檢查每對(duì)好友之間的距離。最后的輸出是(用戶1、用戶2)對(duì)的流,其中這兩個(gè)用戶是好友并且在地理上彼此接近。上述查詢說明將查詢的高等級(jí)邏輯定義為時(shí)序性連接,并且參考位置流和社交網(wǎng)絡(luò)流的模式(schemas)。它是在社交網(wǎng)絡(luò)流上編寫的,并且是構(gòu)思上統(tǒng)一的GPS位置流輸入,因此是與網(wǎng)絡(luò)拓?fù)錈o關(guān)的。作為另一個(gè)例子,假定所需功能是找到在上一周到訪特定位置(如飯店)的好友。為了說明這一點(diǎn),本發(fā)明的構(gòu)思可以允許用location.AlterEventDuration (Time Span.From Days (7))替換queryl中的位置輸入。這將位置事件的“壽命”擴(kuò)展到7天,允許該連接考慮上一周內(nèi)來自朋友的事件??傊?,RACE可以使用云邊應(yīng)用的說明性(描述性)說明。RACE可以在由邊設(shè)備和云構(gòu)成的分布式系統(tǒng)上執(zhí)行該邏輯。RACE可以使用未修正的DSMS作為黑盒子以在各個(gè)邊設(shè)備和云上本地執(zhí)行查詢。一些RACE實(shí)施例可以在如下假定下操作:DSMS提供用戶提交查詢(其限定要執(zhí)行的持續(xù)查詢)用的管理應(yīng)用程序接口(API )、事件類型(其說明輸入數(shù)據(jù)流的模式)以及輸入和輸出適配器(其限定流數(shù)據(jù)如何從外界到達(dá)DSMS,以及從DSMS到達(dá)外界)。此外,API還允許用戶在DSMS上開始和停止查詢。換句話說,一些實(shí)施例可以將不同的數(shù)據(jù)流(或流的各部分)移動(dòng)到云并且/或者通過云移動(dòng)到其它邊計(jì)算設(shè)備。一些其它數(shù)據(jù)流可以被本地保留在設(shè)備上并且不上傳到云。此外,這些不同的(被移動(dòng)的和本地的)流可以用作對(duì)運(yùn)行在不同位置上的應(yīng)用查詢段的輸入(例如,在一子組設(shè)備上或者甚至在云上)。這種查詢的輸出流本身可以被保留在本地以用于進(jìn)一步的計(jì)算,或者被上傳到云(然后可能被轉(zhuǎn)發(fā)到其它設(shè)備)??傊梢杂梅植际椒绞竭M(jìn)行由最終用戶說明的計(jì)算。RACE 結(jié)構(gòu)圖2示出一個(gè)RACE實(shí)施例的總體系統(tǒng)或系統(tǒng)架構(gòu)200。系統(tǒng)架構(gòu)200延續(xù)了圖1的計(jì)算設(shè)備102 (I)-102 (N)、云104和網(wǎng)絡(luò)106。系統(tǒng)架構(gòu)200引入RACE管理業(yè)務(wù)202和RACE處理器204。該RACE處理器包括圖構(gòu)造器206、優(yōu)化器208和查詢構(gòu)造器210。系統(tǒng)架構(gòu)200還包括靜態(tài)數(shù)據(jù)214、參考數(shù)據(jù)216、控制層218和數(shù)據(jù)層220。計(jì)算設(shè)備102 (I)-102 (N)分別包括DSMS222(l)-222(3)的實(shí)例。DSMS實(shí)例222 (4)還出現(xiàn)在云104中。結(jié)合提供給應(yīng)用開發(fā)者224的體驗(yàn)來解釋系統(tǒng)架構(gòu)200。該應(yīng)用開發(fā)者可以通過用說明性的時(shí)序語(yǔ)言(如LINQ226)編寫應(yīng)用與RACE管理業(yè)務(wù)202交互。為了解釋的目的,假定該應(yīng)用是交友應(yīng)用228。上面結(jié)合圖1介紹了交友應(yīng)用的功能。交友應(yīng)用228可以在各計(jì)算設(shè)備102 (I)-102 (N)上分別表現(xiàn)為交友應(yīng)用實(shí)例228 (I) -228 (3),并且在云104上表現(xiàn)為交友應(yīng)用實(shí)例228(4)。此外,盡管為了簡(jiǎn)潔起見僅以計(jì)算設(shè)備102(1)為例,但是各個(gè)計(jì)算設(shè)備可以包括各種硬件230。在該例子中,所示出的硬件是處理器232、存儲(chǔ)器234和其它硬件236。在下面對(duì)上面提到的元件進(jìn)行更詳細(xì)的描述。處理器232可以執(zhí)行計(jì)算機(jī)可讀指令形式的數(shù)據(jù)以提供功能,如交友功能。諸如計(jì)算機(jī)可讀指令之類的數(shù)據(jù)可以被存儲(chǔ)在存儲(chǔ)器234上。該存儲(chǔ)器可以在計(jì)算設(shè)備的內(nèi)部或外部。存儲(chǔ)器234可以包括易失性或非易失性存儲(chǔ)器、硬盤驅(qū)動(dòng)器和/或光存儲(chǔ)設(shè)備(例如,⑶、DVD等)等中的任一個(gè)或多個(gè)。計(jì)算機(jī)102(1)還可以被配置為從存儲(chǔ)器234接收和/或產(chǎn)生計(jì)算機(jī)可讀指令形式的數(shù)據(jù)。計(jì)算機(jī)102(1)還可以通過網(wǎng)絡(luò)接收計(jì)算機(jī)可讀指令形式的數(shù)據(jù),然后將該數(shù)據(jù)存儲(chǔ)在該計(jì)算機(jī)上以由該計(jì)算機(jī)的處理器來執(zhí)行。在可選的配置中,計(jì)算機(jī)102(1)可以被實(shí)施為片上系統(tǒng)(SOC)類型的設(shè)計(jì)。在此情況下,由該計(jì)算機(jī)提供的功能可以被集成在單個(gè)SOC上或者多個(gè)耦合的SOC上。在有些配置中,計(jì)算設(shè)備可以包括共享資源和專用資源。接口方便共享資源和專用資源之間的通信。如名稱所暗示的,專用資源可以被認(rèn)為包括專用于實(shí)現(xiàn)特定功能的各個(gè)部分。共享資源可以是存儲(chǔ)器、處理單元等,它們可以被多個(gè)功能所使用。一般來說,能夠使用軟件、固件、硬件(例如,固定邏輯電路)、人工處理或者這些實(shí)施例的組合來實(shí)施本文中描述的任何功能。在本文中使用的術(shù)語(yǔ)“工具”、“部件”或“模塊”一般代表軟件、固件、硬件、整個(gè)設(shè)備或網(wǎng)絡(luò)、或者它們的組合。例如,在軟件實(shí)施例的情況下,這些可以代表程序代碼,當(dāng)在處理器(例如,一個(gè)或多個(gè)CPU)上執(zhí)行該程序代碼時(shí)該程序代碼執(zhí)行指定任務(wù)。該程序代碼可以被存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)設(shè)備,如計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。部件的特征和技術(shù)是獨(dú)立于平臺(tái)的,這意味著它們可以被實(shí)施在具有各種處理配置的各種商業(yè)計(jì)算平臺(tái)上。
在本文中使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”可以包括瞬時(shí)指令和非瞬時(shí)指令。相反,術(shù)語(yǔ)“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”不包括瞬時(shí)指令。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括“計(jì)算機(jī)可讀存儲(chǔ)設(shè)備”。計(jì)算機(jī)可讀存儲(chǔ)設(shè)備的例子包括易失性存儲(chǔ)介質(zhì)(如RAM)和非易失性存儲(chǔ)介質(zhì)(如硬盤驅(qū)動(dòng)器、光盤和閃存等)。其它硬件236可以包括可以在各種計(jì)算設(shè)備上實(shí)施的顯示器、輸入/輸出設(shè)備、傳
感器等等。RACE管理業(yè)務(wù)202可以在云104中運(yùn)行,并且可以呈現(xiàn)與DSMS的管理API充分兼容的管理業(yè)務(wù)。因此,各個(gè)計(jì)算設(shè)備102 (I)-102 (N)可以將它們的說明性云邊應(yīng)用邏輯提交給RACE管理業(yè)務(wù)202,作為由各自的DSMS222 (I) -222 (N)支持的規(guī)則的時(shí)序性說明性查詢。注意,從邊設(shè)備(例如,計(jì)算設(shè)備102(1)-102(2))的角度來看,它們看起來只是與通常的DSMS引擎通信。從其它角度來看,RACE管理業(yè)務(wù)202可以被認(rèn)為是被配置為與在云上和在與云通信的各個(gè)邊計(jì)算設(shè)備上執(zhí)行的應(yīng)用交互。RACE管理業(yè)務(wù)202可以被配置為模擬DSMS引擎以從各個(gè)邊計(jì)算設(shè)備接收時(shí)序性說明性查詢。簡(jiǎn)言之,RACE處理器204可以被認(rèn)為是攔截和分析來自運(yùn)行交友應(yīng)用228的各個(gè)計(jì)算設(shè)備102(1)-102 (N)的輸入查詢、適配器和類型。然后RACE處理器204將這些輸入編譯為原始查詢的對(duì)象表達(dá)。該對(duì)象表達(dá)被傳送到圖構(gòu)造器模塊206,圖構(gòu)造器模塊206將該原始查詢轉(zhuǎn)換為較大的查詢圖。例如,該較大的查詢圖可以包括每個(gè)邊輸入流和算符。該查詢圖被傳送到優(yōu)化器模塊208,以決定最優(yōu)算符布局。最后,查詢構(gòu)造器模塊210可以產(chǎn)生要在各個(gè)計(jì)算設(shè)備102 (I)-102 (N)或云104處執(zhí)行的類型、適配器和(子)查詢的對(duì)象表達(dá)。這些對(duì)象被(經(jīng)由各個(gè)DSMS的管理API)發(fā)送到各個(gè)計(jì)算設(shè)備的各個(gè)DSMS,以用分布式方式執(zhí)行該應(yīng)用邏輯。注意,盡管在該配置中在云104上實(shí)施RACE管理業(yè)務(wù)202和RACE處理器204,但是在其它實(shí)施例中,可選地或附加地,可以在一個(gè)或多個(gè)計(jì)算設(shè)備102 (I)-102 (N)上實(shí)施RACE管理業(yè)務(wù)和/或RACE處理器。在計(jì)算設(shè)備上實(shí)施的RACE管理業(yè)務(wù)和/或RACE處理器可以是獨(dú)立的或者與對(duì)應(yīng)的RACE管理業(yè)務(wù)和/或云上的RACE處理器實(shí)例以合作的方式工作。圖構(gòu)造器206可以被認(rèn)為是將查詢的對(duì)象表達(dá)連同流速率的統(tǒng)計(jì)以及每個(gè)輸入的元數(shù)據(jù)信息作為輸入。該圖構(gòu)造器首先使用查詢的對(duì)象表達(dá)來產(chǎn)生查詢模式,該查詢模式代表用于產(chǎn)生擴(kuò)展的查詢圖的模版或框架。例如,圖3示出由上文結(jié)合第25段描述的交友查詢的圖構(gòu)造器206輸出的查詢模式302。查詢模式302中的一些輸入流參考按設(shè)備的數(shù)據(jù)流,如GPS位置源。圖構(gòu)造器206可以通過將所述流分解成多個(gè)輸入(每個(gè)邊一個(gè))來創(chuàng)建所述查詢模式的多個(gè)實(shí)例??蓪⒕徛兓膮⒖紨?shù)據(jù)輸入(如社交網(wǎng)絡(luò))具體化,以限制所產(chǎn)生的查詢圖的大小。例如,圖4示出四個(gè)用戶P、Q、R和S的社交網(wǎng)絡(luò)400。圖5示出用于交友查詢的對(duì)應(yīng)的實(shí)例化查詢模式502(1),502(2)和502(3)。注意,為了在該實(shí)例化的查詢模式中允許信息共享和避免重復(fù)的邊,如圖5中所示,實(shí)例化的源和連接接合算符被小心地命名。最后的步驟是將該實(shí)例化的查詢模式502(1)-502(3)結(jié)合成完整的查詢圖。圖6示出從圖5中所示的實(shí)例化的查詢模式得出的最終查詢圖602。注意,當(dāng)結(jié)合實(shí)例化的查詢模式時(shí),(在實(shí)例化的模式中)具有相同名稱的頂點(diǎn)被映射到最終查詢圖中相同的頂點(diǎn)。例如,Join〈GPS-P,SNP>頂點(diǎn)被邊(P;R)和(P;S)的實(shí)例化模式所共享。回到圖2,優(yōu)化器模塊208接受最終查詢圖602作為輸入,并且決定在哪里執(zhí)行該查詢圖中的每個(gè)算符(例如,查詢部分),使得該應(yīng)用的總的或累積的通信成本被最小化(或者至少減小)。在數(shù)千個(gè)或者甚至數(shù)百萬(wàn)個(gè)用戶參與該云邊系統(tǒng)的情況下,最終查詢圖可能是巨大的——包含數(shù)百萬(wàn)個(gè)算符。對(duì)于這種大查詢圖,最優(yōu)算符布局不是小事。RACE優(yōu)化器模塊可以使用各種技術(shù)來確定最優(yōu)算符布局。一個(gè)技術(shù)是在下面的標(biāo)題“最優(yōu)算符布局(Optimal Operator Placement)”下描述的。RACE可以進(jìn)行周期性的重優(yōu)化以根據(jù)該查詢圖和/或統(tǒng)計(jì)的變化來調(diào)節(jié)該布局。在確定了增強(qiáng)/最優(yōu)算符布局之后,RACE處理器204具有一組根查詢圖(每個(gè)圖包括時(shí)序性算符的有向無環(huán)圖(directed acyclic graph, DAG))。每個(gè)這種圖對(duì)應(yīng)于一些位置(邊或云)。查詢構(gòu)造器模塊210可以產(chǎn)生每個(gè)圖的查詢組成(包括事件類型、適配器和查詢)的對(duì)象表達(dá)。然后該查詢構(gòu)造器模塊可以經(jīng)由控制層218將對(duì)象表達(dá)提交給對(duì)應(yīng)的DSMS0注意,在每個(gè)DSMS實(shí)例中可以安裝兩個(gè)附加適配器一一個(gè)用于將事件數(shù)據(jù)發(fā)送到數(shù)據(jù)層220,另一個(gè)用于從該數(shù)據(jù)層接收事件數(shù)據(jù)。RACE控制層218用于使用DSMS的管理API將所產(chǎn)生的查詢片段和元數(shù)據(jù)部署到DSMS的云實(shí)例和邊實(shí)例。一個(gè)復(fù)雜因素是通常不能從RACE管理業(yè)務(wù)202直接到達(dá)或?qū)ぶ愤呍O(shè)備(例如,電話)。相反,RACE管理業(yè)務(wù)可以維護(hù)服務(wù)器,邊設(shè)備建立和保持與該服務(wù)器的持續(xù)連接服務(wù)器,以接收被轉(zhuǎn)發(fā)給邊上的DSMS實(shí)例的管理命令。在查詢執(zhí)行期間,事件在邊設(shè)備和云之間流動(dòng)。RACE管理業(yè)務(wù)202可以使用單獨(dú)的數(shù)據(jù)層220,該數(shù)據(jù)層220在云104上表現(xiàn)為服務(wù)器,并且邊計(jì)算設(shè)備102 (I)-102 (N)可以經(jīng)由控制層218連接到該數(shù)據(jù)層220。邊計(jì)算設(shè)備和云上所產(chǎn)生的查詢訂閱并公布使用數(shù)據(jù)層220注冊(cè)的所謂的流。該數(shù)據(jù)層將來自云104的事件路由到邊計(jì)算設(shè)備102 (I)-102 (N),以及將來自邊設(shè)備的事件路由到云。在數(shù)千或者甚至數(shù)百萬(wàn)個(gè)用戶參與到該云邊系統(tǒng)中的情況下,最終查詢圖可能是巨大的一包含數(shù)百萬(wàn)個(gè)算符。由于數(shù)據(jù)源是分布式的(例如,不同用戶的GPS數(shù)據(jù)流源自他們的邊設(shè)備),所以每個(gè)算符的布局會(huì)影響到查詢?cè)u(píng)估開銷。算符布局存在指數(shù)增長(zhǎng)的眾多不同組合。搜索整個(gè)設(shè)計(jì)空間的單純方法可能是不可行的。另外,對(duì)中間結(jié)果的共享的考慮使得問題更加困難。以下討論涉及通過利用云邊系統(tǒng)的特殊“星形”拓?fù)涞挠糜谧顑?yōu)算符布局的有效算法的例子。對(duì)于一些實(shí)施例,在下面給出的兩個(gè)假定下,可以證明該算法的正確性。此外,發(fā)現(xiàn)最優(yōu)布局的開銷可以非常低。假定1.與輸入流數(shù)據(jù)相比,查詢的最終輸出小得多,因此可以忽略其成本??紤]到云邊應(yīng)用的普遍性質(zhì),該假定是合理的。另外,基于隱私考慮,一些實(shí)施例可以限制算符的允許位置。例如,流數(shù)據(jù)可能包括敏感的個(gè)人信息(例如,移動(dòng)電話的地理位置蹤跡)。邊客戶可能不想暴露原始信息,除非它被適當(dāng)處理(通過從連接操作的最終結(jié)果中排除該敏感數(shù)據(jù)),或者它只被傳送到授權(quán)的節(jié)點(diǎn)。假定2.對(duì)于任意連接A [><d B(其中A和B是該連接的輸入流),在云上或者A或B所起源的節(jié)點(diǎn)上進(jìn)行連接操作。注意,該假定沒有簡(jiǎn)化布局問題;仍然存在指數(shù)增加數(shù)目的可能的算符布局。在給出該論證和所提出的算法之前,描述幾個(gè)基于圖的表示。定義(需求),可以被表示為一對(duì)(Vl,V2),其中流數(shù)據(jù)源V2 “需要”由另一個(gè)源V1產(chǎn)生的數(shù)據(jù)(即,需要與另一個(gè)源V1產(chǎn)生的數(shù)據(jù)相關(guān)聯(lián))。定義(需求圖),對(duì)于云邊應(yīng)用,需求圖G=(V, E)被定義如下:頂點(diǎn)集合V={v/v是流數(shù)據(jù)源},和E=Kv1, V2) I (Vl,V2)是需求對(duì)}。每個(gè)邊e=(i,)e E與速率相關(guān)聯(lián),速率rij表示Vj需求的Vj的流速率。算法1.從查詢圖產(chǎn)生需求圖
權(quán)利要求
1.一種方法(1000),包括: 獲得在包括多個(gè)邊設(shè)備和基于云的資源的云邊拓?fù)渲械恼f明性流查詢(1002); 將所述說明性流查詢轉(zhuǎn)換為反映所述多個(gè)邊設(shè)備的查詢圖(1004);以及 基于所述云邊拓?fù)涞馁Y源使用來判斷是在各個(gè)邊設(shè)備上執(zhí)行所述查詢圖的算符還是在所述基于云的資源上執(zhí)行所述查詢圖的算符(1006 )。
2.根據(jù)權(quán)利要求1所述的方法,其中所述邊計(jì)算設(shè)備包括智能計(jì)算設(shè)備,該智能計(jì)算設(shè)備被配置為通過網(wǎng)絡(luò)直接與所述基于云的資源通信,并且其中所述網(wǎng)絡(luò)被配置為不允許各個(gè)智能計(jì)算設(shè)備直接相互通信,而是所述各個(gè)智能計(jì)算設(shè)備通過所述基于云的資源間接地相互通信。
3.根據(jù)權(quán)利要求1所述的方法,其中所述判斷包括:關(guān)于網(wǎng)絡(luò)帶寬資源的使用,確定與所述基于云的資源有關(guān)的全局優(yōu)化。
4.根據(jù)權(quán)利要求3所述的方法,其中所述確定全局優(yōu)化包括:允許所述查詢圖的節(jié)點(diǎn)以貪心方式進(jìn)行本地決策,并且其中所述本地決策在被查看時(shí)累積地產(chǎn)生所述全局優(yōu)化。
5.一種系統(tǒng)(200),包括: 基于云的云邊上實(shí)時(shí)應(yīng)用即RACE管理業(yè)務(wù)(202),其被配置為與在所述云上以及在與所述云通信的各個(gè)邊計(jì)算設(shè)備上執(zhí)行的應(yīng)用交互,所述基于云的RACE管理業(yè)務(wù)被配置為模擬數(shù)據(jù)流管理系統(tǒng)即DSMS引擎,以從所述各個(gè)邊計(jì)算設(shè)備接收時(shí)序性說明性查詢;以及 RACE處理器(204),其被配置為攔截所述時(shí)序性說明性查詢并且將各個(gè)時(shí)序性說明性查詢分析并編譯為對(duì)象表達(dá)。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中所述RACE處理器包括圖構(gòu)造器,所述圖構(gòu)造器被配置為從所述對(duì)象表達(dá)產(chǎn)生查詢模式。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中在所述查詢模式包括指向來自每個(gè)邊計(jì)算設(shè)備的數(shù)據(jù)流的輸入流的實(shí)例下,所述圖構(gòu)造器被進(jìn)一步配置為通過將所述數(shù)據(jù)流分解成所述查詢模式的多個(gè)實(shí)例,所述查詢圖的每個(gè)邊一個(gè)輸入流,來產(chǎn)生包括所述查詢模式的多個(gè)實(shí)例的查詢圖。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述RACE處理器包括優(yōu)化器,所述優(yōu)化器被配置為確定在哪里執(zhí)行所述查詢圖的各個(gè)算符,以減小所述邊計(jì)算設(shè)備和所述基于云的資源之間的總通信成本。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述優(yōu)化器被配置為確定在哪里執(zhí)行所述查詢圖的各個(gè)算符,以使所述邊計(jì)算設(shè)備和所述基于云的資源之間的總通信成本最小化。
10.根據(jù)權(quán)利要求5所述的系統(tǒng),其中所述RACE處理器包括查詢構(gòu)造器,所述查詢構(gòu)造器被配置為產(chǎn)生要在每個(gè)邊計(jì)算設(shè)備或者在所述云上執(zhí)行的類型、適配器和子查詢的對(duì)象表達(dá)。
全文摘要
本發(fā)明涉及云邊拓?fù)?。一些方面涉及在各種云邊拓?fù)渲械脑七厬?yīng)用和資源的使用。該云邊拓?fù)涞牧硪环矫婵缮婕笆褂脮r(shí)序語(yǔ)言的云邊應(yīng)用的說明。另一方面可涉及在云以及云邊計(jì)算機(jī)上運(yùn)行數(shù)據(jù)流管理系統(tǒng)(DSMS)引擎以運(yùn)行查詢的各個(gè)部分的架構(gòu)。
文檔編號(hào)H04L29/08GK103108031SQ20121057976
公開日2013年5月15日 申請(qǐng)日期2012年12月27日 優(yōu)先權(quán)日2011年12月27日
發(fā)明者巴德里什·錢德拉蒙利, 蘇曼·納特, 周文超 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1