本公開的多個實施例涉及低功耗設(shè)備,特別是涉及使用低功耗設(shè)備的數(shù)據(jù)通信。
背景技術(shù):
從信息技術(shù)的角度來看,機(jī)器、人員、外圍設(shè)備和其它實體全部可以是資產(chǎn)。諸如射頻識別(RFID)之類的近場通信(NFC)通常用于跟蹤這些資產(chǎn)以便進(jìn)行資產(chǎn)管理。RFID標(biāo)簽通常成本較低,從而使得它們可方便和有效地進(jìn)行大規(guī)模部署。但是,如果給定短距離,則當(dāng)使用RFID標(biāo)簽時,資產(chǎn)管理器必須接近每個資產(chǎn)以便收集任何需要的數(shù)據(jù)。例如,對于無源RFID標(biāo)簽,距離通常限于十到五十厘米。因此,收集資產(chǎn)信息導(dǎo)致高誤差度,特別是在復(fù)雜的數(shù)據(jù)中心環(huán)境內(nèi)。此外,在諸如煤礦之類的危險環(huán)境中,資產(chǎn)管理器幾乎不可能在物理上足夠接近每個資產(chǎn)以獲得需要的資產(chǎn)信息。
隨著芯片變得更廉價,更多的長距離技術(shù)用于資產(chǎn)管理。這些技術(shù)包括WiFi、ZigBee和無線串行設(shè)備。使用這些技術(shù)的設(shè)備可以具有昂貴的制造成本并且消耗大量電力。此外,每個此類設(shè)備需要處理器,例如微控制器單元(MCU)或者中央處理單元(CPU)。這些處理器需要比普通電池更多的電力來支持?jǐn)?shù)月或數(shù)年的穩(wěn)定和持續(xù)運行。因此,實現(xiàn)這些長距離技術(shù)可能需要電源,這對于實際部署而言可能成為問題。
藍(lán)牙低功耗(BLE)是一種新興的高能效技術(shù)。BLE設(shè)備高功效并且具有低成本和可容易更換的電池。但是,這些設(shè)備每次只能與單個其它BLE設(shè)備配對,并且因此不能支持具有N-N傳輸?shù)木W(wǎng)絡(luò)。
傳統(tǒng)的藍(lán)牙協(xié)議支持微微網(wǎng)(piconet)和散射網(wǎng)(scatternet),但這兩個網(wǎng)絡(luò)都具有局限性。在微微網(wǎng)中,主節(jié)點在其短通信距離內(nèi)可以連接到不超過七個從節(jié)點。在散射網(wǎng)中,從節(jié)點充當(dāng)微微網(wǎng)之間的橋以便在微微網(wǎng)之間通信。為此,從節(jié)點必須停留在兩個微微網(wǎng)的距離內(nèi),并且支持對應(yīng)頻率通道中的通信。
技術(shù)實現(xiàn)要素:
在本發(fā)明的一個實施例中,一種系統(tǒng)包括第一被跟蹤設(shè)備和第二被跟蹤設(shè)備。所述第一被跟蹤設(shè)備包括第一已知的設(shè)備數(shù)據(jù),其中所述第一已知的設(shè)備數(shù)據(jù)描述了所述第一被跟蹤設(shè)備已知的一個或多個以前的連接。所述第二被跟蹤設(shè)備包括第二已知的設(shè)備數(shù)據(jù),所述第二已知的設(shè)備數(shù)據(jù)描述了所述第二被跟蹤設(shè)備已知的一個或多個以前的連接。所述第一被跟蹤設(shè)備被配置為連接到所述第二被跟蹤設(shè)備,傳輸至少一部分所述第一已知的設(shè)備數(shù)據(jù)到所述第二被跟蹤設(shè)備,并從所述第二被跟蹤設(shè)備接收至少一部分所述第二已知的設(shè)備數(shù)據(jù)。所述第一被跟蹤設(shè)備被進(jìn)一步配置為修改所述第一已知的設(shè)備數(shù)據(jù)來包含所述第二已知的設(shè)備數(shù)據(jù)。所述第二已知的設(shè)備數(shù)據(jù)包括與以前的連接相關(guān)的涉及所述第一被跟蹤設(shè)備信號范圍之外的第三被跟蹤設(shè)備的數(shù)據(jù)。
在本發(fā)明的另一個實施例中,一種計算機(jī)實現(xiàn)的方法包括將第一被跟蹤設(shè)備連接到第二被跟蹤設(shè)備。所述第一被跟蹤設(shè)備包括第一已知的設(shè)備數(shù)據(jù),所述第二被跟蹤設(shè)備包括第二已知的設(shè)備數(shù)據(jù)。從所述第一被跟蹤設(shè)備傳輸至少一部分所述第一已知的設(shè)備數(shù)據(jù)到所述第二被跟蹤設(shè)備,其中所述第一已知的設(shè)備數(shù)據(jù)描述了所述第一被跟蹤設(shè)備已知的一個或多個以前的連接。所述第一被跟蹤設(shè)備從所述第二被跟蹤設(shè)備接收至少一部分所述第二已知的設(shè)備數(shù)據(jù),所述第二已知的設(shè)備數(shù)據(jù)描述了所述第二被跟蹤設(shè)備已知的一個或多個以前的連接。修改所述第一被跟蹤設(shè)備的所述第一已知的設(shè)備數(shù)據(jù)來包含所述第二已知的設(shè)備數(shù)據(jù)。所述第二已知的設(shè)備數(shù)據(jù)包括與以前的連接相關(guān)的涉及所述第一被跟蹤設(shè)備信號范圍之外的第 三被跟蹤設(shè)備的數(shù)據(jù)。
在本發(fā)明的又一個實施例中,一種在多個被跟蹤設(shè)備之間傳輸數(shù)據(jù)的計算機(jī)程序產(chǎn)品包括其中具有程序指令的計算機(jī)可讀存儲介質(zhì)。處理器執(zhí)行程序指令,使得處理器執(zhí)行方法。所述方法包括將第一被跟蹤設(shè)備連接到第二被跟蹤設(shè)備。所述第一被跟蹤設(shè)備包括第一已知的設(shè)備數(shù)據(jù),所述第二被跟蹤設(shè)備包括第二已知的設(shè)備數(shù)據(jù)。此外,根據(jù)所述方法,從所述第一被跟蹤設(shè)備傳輸至少一部分所述第一已知的設(shè)備數(shù)據(jù)到所述第二被跟蹤設(shè)備,其中所述第一已知的設(shè)備數(shù)據(jù)描述了所述第一被跟蹤設(shè)備已知的一個或多個以前的連接。所述第一被跟蹤設(shè)備從所述第二被跟蹤設(shè)備接收至少一部分所述第二已知的設(shè)備數(shù)據(jù),所述第二已知的設(shè)備數(shù)據(jù)描述了所述第二被跟蹤設(shè)備已知的一個或多個以前的連接。修改所述第一被跟蹤設(shè)備的所述第一已知的設(shè)備數(shù)據(jù)來包含所述第二已知的設(shè)備數(shù)據(jù)。所述第二已知的設(shè)備數(shù)據(jù)包括與以前的連接相關(guān)的涉及所述第一被跟蹤設(shè)備信號范圍之外的第三被跟蹤設(shè)備的數(shù)據(jù)。
通過本發(fā)明的技術(shù)實現(xiàn)其它特性和優(yōu)點。在此詳細(xì)描述了本發(fā)明的其它實施例和方面,并且它們被視為要求保護(hù)的本發(fā)明的一部分。為了更好地理解本發(fā)明以及優(yōu)點和特性,參考說明書和附圖。
附圖說明
在說明書結(jié)尾處的權(quán)利要求中具體指出并明確要求保護(hù)了被視為本發(fā)明的主題。從下面結(jié)合附圖的詳細(xì)描述,本發(fā)明的上述和其它特性和優(yōu)點將變得顯而易見,這些附圖是:
圖1是根據(jù)本發(fā)明一些實施例的通信系統(tǒng)的框圖;
圖2是根據(jù)本發(fā)明一些實施例的通信系統(tǒng)中的示例性通信的框圖;
圖3是根據(jù)本發(fā)明一些實施例的通信系統(tǒng)中的數(shù)據(jù)通信方法的流程圖;以及
圖4是根據(jù)本發(fā)明一些實施例的用于實現(xiàn)通信系統(tǒng)的部分或者全部方面的計算設(shè)備的框圖。
具體實施方式
本發(fā)明的多個實施例使能被跟蹤設(shè)備(例如藍(lán)牙低功耗設(shè)備(BLE))通過自組織(ad-hoc)網(wǎng)絡(luò)進(jìn)行彼此之間信息通信。盡管BLE設(shè)備具有低成本、低功耗,其常規(guī)使用只能提供有限的自組織的能力,部分原因是這些設(shè)備的覆蓋范圍小。然而通過本發(fā)明的實施例,可以跨越比每個設(shè)備信號覆蓋范圍更大的距離傳輸信息。
圖1是根據(jù)本發(fā)明一些實施例的通信系統(tǒng)100的框圖。如圖所示,通信系統(tǒng)100可以包括兩個或者多個被跟蹤設(shè)備110以及服務(wù)器120。每個被跟蹤設(shè)備110可以是,例如,BLE設(shè)備或者其它節(jié)能藍(lán)牙設(shè)備或者通信設(shè)備。在某些實施例中,被跟蹤設(shè)備110可以附屬于,或者被某物所攜帶,例如人或者設(shè)備,以便使能跟蹤某物本身。此外,被跟蹤設(shè)備110可以形成自組織網(wǎng)絡(luò),其中每個被跟蹤設(shè)備向其鄰居設(shè)備傳輸信息。結(jié)果是服務(wù)器120可以知道多個被跟蹤設(shè)備110的狀態(tài),因此,服務(wù)器120不需要和每個單獨的被跟蹤設(shè)備110直接通信。
每個被跟蹤設(shè)備110可以包括多個部件,包括發(fā)送器140,接收器150,以及存儲設(shè)備160。更具體地說,對于是BLE設(shè)備的被跟蹤設(shè)備110,發(fā)送器140可以是BLE外圍模塊,接收器150可以是BLE中心模塊,存儲設(shè)備160可以使用閃存(Flush memory)。在某些實施例中,一個或多個被跟蹤設(shè)備110也可以包括位置跟蹤器130,如GPS設(shè)備。
為了說明的目的,本發(fā)明通篇在多個被跟蹤設(shè)備110之間參照第一被跟蹤設(shè)備110a和第二被跟蹤設(shè)備110b??梢岳斫猓谝槐桓櫾O(shè)備110a和第二被跟蹤設(shè)備110b是多個被跟蹤設(shè)備110的例子。因此,第一被跟蹤設(shè)備110a和第二被跟蹤設(shè)備110b可以與其它被跟蹤設(shè)備相似,可以包括相同或者相似的硬件或者軟件部件。可以進(jìn)一步理解,每個被跟蹤設(shè)備110如第一被跟蹤設(shè)備110a和第二被跟蹤設(shè)備110b一樣,可以包括相同的功能。結(jié)果是,多個被跟蹤設(shè)備110可以以第一被跟蹤設(shè)備110a和第二 被跟蹤設(shè)備110b與其它被跟蹤設(shè)備110通信相同或者類似的方式彼此通信。
在存儲設(shè)備160中,第一被跟蹤設(shè)備110可以維護(hù)已知的設(shè)備數(shù)據(jù)。已知的設(shè)備數(shù)據(jù)可以包括與已知的被跟蹤設(shè)備110相關(guān)的數(shù)據(jù),已知的被跟蹤設(shè)備110是第一被跟蹤設(shè)備具有關(guān)于其信息的被跟蹤設(shè)備。對于每個已知的被跟蹤設(shè)備110,由第一被跟蹤設(shè)備110a維護(hù)的已知的設(shè)備數(shù)據(jù)可以包括與已知的被跟蹤設(shè)備110相關(guān)的記錄。此記錄可以包括,例如,已知的被跟蹤設(shè)備110的通用唯一識別符(UUID),已知的被跟蹤設(shè)備110的組識別符;以及一個或多個記錄行,其中每個記錄行可以描述已知的被跟蹤設(shè)備110的以前的連接。例如,以不被限制的方式,記錄的每個記錄行可以包括連接的時間戳,連接的位置,連接的超時,以及連接的設(shè)備。連接的時間戳可以指定何時已知的被跟蹤設(shè)備110連接到由連接設(shè)備指定的特定的連接設(shè)備110,連接超時可以指定連接持續(xù)了多久。如果已知的被跟蹤設(shè)備110具有位置跟蹤器130,連接位置可以指定在連接被記錄到記錄行的時間時,已知的被跟蹤設(shè)備110的位置。
多個被跟蹤設(shè)備可以彼次相連來交換已知的設(shè)備數(shù)據(jù)。在第一被跟蹤設(shè)備110a和第二被跟蹤設(shè)備110b發(fā)生交換之前,這兩個被跟蹤設(shè)備110a和110b可以首先彼此連接。在某些實施例中,被跟蹤設(shè)備110能夠每次只連接到單個其它被跟蹤設(shè)備110。因此,每個被跟蹤設(shè)備110可以一次連接一系列的其它被跟蹤設(shè)備中的一個。
當(dāng)可以連接時,被跟蹤設(shè)備110可以處于其可獲得連接模式中的一個模式,可獲得連接模式包括廣播模式(advertiser mode)和發(fā)起模式(initiator mode)。在廣播模式中,被跟蹤設(shè)備110可以廣播自己的信息,如其UUID。在某些實施例中,可以由發(fā)送器140執(zhí)行廣播。在發(fā)起模式,被跟蹤設(shè)備110可以偵聽廣播,發(fā)起與在廣播模式的被跟蹤設(shè)備的連接。在某些實施例中,偵聽可以由接收器150執(zhí)行。如果第一被跟蹤設(shè)備110a處于發(fā)起模式,第二被跟蹤設(shè)備110b處于廣播模式,第一被跟蹤設(shè)備110a就可以接收第二被跟蹤設(shè)備的廣播并可以發(fā)起連接,或者與第二被跟蹤設(shè) 備110b配對。在某些實施例中,連接可以是主-從關(guān)系,其中處于發(fā)起模式的被跟蹤設(shè)備110成為主設(shè)備,引導(dǎo)與作為從設(shè)備運行的其它被跟蹤設(shè)備110的數(shù)據(jù)交換。
在某些實施例中,每個被跟蹤設(shè)備110在給定的時間可以或者處于廣播模式,或者處于發(fā)起模式,但是不可以同時處于兩種模式。結(jié)果是,可能存在這種情況,此時被跟蹤設(shè)備110由于和鄰居處于相同的模式而沒有和范圍內(nèi)的鄰居通信。因此,通信系統(tǒng)100可以確保每個被跟蹤設(shè)備110在廣播模式和發(fā)起模式間來回切換。用這種方式,當(dāng)與將每個被跟蹤設(shè)備110鎖定為單一模式相比時,通信系統(tǒng)100可以提高由被跟蹤設(shè)備110收集并傳送給服務(wù)器120的數(shù)據(jù)量。
被跟蹤設(shè)備110可以使用多種機(jī)制來定時模式之間的切換。例如,被跟蹤設(shè)備110可以在廣播模式和發(fā)起模式之間來回隨機(jī)切換。在另一個例子中,被跟蹤設(shè)備110可以基于在每個模式的前段時間起能夠制造多少個連接來修改其在一個模式或者另一個模式的持續(xù)時間。例如,如果被跟蹤設(shè)備110認(rèn)為當(dāng)在廣播模式時創(chuàng)造了很多連接,其可以增加其廣播模式的長度,減少其發(fā)起模式的長度。在另外一個例中,被跟蹤設(shè)備110可以基于歷史連接利用概率確定其模式的長度。在此例中,每個模式的長度可以對應(yīng)于在該模式中比其它模式具有更多的機(jī)會創(chuàng)建連接的概率。
在某例子中,可能發(fā)生沖突。在沖突中,第一被跟蹤設(shè)備110a可以有機(jī)會同時連接兩個或更多個被跟蹤設(shè)備110。如果第一被跟蹤設(shè)備110a處于廣播模式,當(dāng)?shù)谝槐桓櫾O(shè)備110a在范圍內(nèi)檢測到兩個或者多個被跟蹤設(shè)備110時,可能會發(fā)生沖突。如果第一被跟蹤設(shè)備110a處于發(fā)起模式,當(dāng)兩個或者多個被跟蹤設(shè)備110在同一時間試圖發(fā)起連接時,可能會發(fā)生沖突。當(dāng)沖突發(fā)生時,具有兩個或者多個連接機(jī)會的第一被跟蹤設(shè)備110a可以從可獲得的被跟蹤設(shè)備110中選擇一個來創(chuàng)建連接??梢酝ㄟ^多種機(jī)制進(jìn)行該選擇。例如,第一被跟蹤設(shè)備110a可以從可獲得的被跟蹤設(shè)備110中隨機(jī)選擇,或者可以選擇其時間上最近連接的被跟蹤設(shè)備。
當(dāng)已連接時,兩個被跟蹤設(shè)備110可以交換它們己知的設(shè)備數(shù)據(jù)。換句話說,如果第一和第二被跟蹤設(shè)備110a和110b已連接,第一被跟蹤設(shè)備110a可以將其已知的設(shè)備數(shù)據(jù)傳輸給第二被跟蹤設(shè)備110,第二被跟蹤設(shè)備110可以接收該已知的數(shù)據(jù)。同樣地,第二被跟蹤設(shè)備110b可以將其已知的設(shè)備數(shù)據(jù)傳輸給第一被跟蹤設(shè)備110a,第一被跟蹤設(shè)備110a可以接收該已知數(shù)據(jù)。相連的第一和第二被跟蹤設(shè)備110a和110b中的每一個可以將接收到的已知的設(shè)備數(shù)據(jù)與現(xiàn)存的已知的設(shè)備數(shù)據(jù)組合,這可以包括將接收到的已知的設(shè)備數(shù)據(jù)加入到現(xiàn)存的已知的設(shè)備數(shù)據(jù)。結(jié)果是,交換發(fā)生后,連接中的第一和第二被跟蹤設(shè)備110a和110b中的每一個可以具有其他被跟蹤設(shè)備110的以前已知的設(shè)備數(shù)據(jù)的拷貝。
在某些例子中,由第一被跟蹤設(shè)備110a接收的已知的設(shè)備數(shù)據(jù)可以包括與第一被跟蹤設(shè)備110a已知的其它被跟蹤設(shè)備110相關(guān)的數(shù)據(jù)。換句話說,第一被跟蹤設(shè)備110a已經(jīng)具有與在接收的已知的設(shè)備數(shù)據(jù)中描述的其它被跟蹤設(shè)備110相關(guān)的數(shù)據(jù)。在這些例子中,將接收的已知的設(shè)備數(shù)據(jù)與現(xiàn)有的已知的設(shè)備數(shù)據(jù)相結(jié)合可以包括在已知的設(shè)備數(shù)據(jù)上和接收的已知的設(shè)備數(shù)據(jù)上整合記錄,其中整合可以是基于UUID的。例如,如果第一被跟蹤設(shè)備110a已經(jīng)知道包括具有第一UUID的已知被跟蹤設(shè)備110的記錄的設(shè)備數(shù)據(jù);并且如果被跟蹤設(shè)備110接收包括具有第一UUID的已知被跟蹤設(shè)備110的記錄的已知的設(shè)備數(shù)據(jù),被跟蹤設(shè)備110可以整合這兩個記錄。此整合可以包括將已知的設(shè)備數(shù)據(jù)的記錄的記錄行與接收的已知的設(shè)備數(shù)據(jù)的記錄相組合,并移除任何重復(fù)的行。
當(dāng)兩個被跟蹤設(shè)備110連接時,它們可以檢查自己的設(shè)備數(shù)據(jù)以確定它們是否以前相連過。如果它們確定它們以前相連過,一個或兩個被跟蹤設(shè)備可以決定交換多少它們的已知的設(shè)備數(shù)據(jù)。由于以前的連接,可以認(rèn)為被跟蹤設(shè)備110已經(jīng)有了重復(fù)的已知的設(shè)備數(shù)據(jù),因為它們以前連接期間交換過已知的設(shè)備數(shù)據(jù)。在某些實施例中,被跟蹤設(shè)備110可以簡單地交換它們整個已知的設(shè)備數(shù)據(jù)。然而,在某些實施例中,每個被跟蹤設(shè)備可以在其自己已知的設(shè)備數(shù)據(jù)中檢查與其它被跟蹤設(shè)備110相關(guān)的記錄, 以便確定它連接到該其他被跟蹤設(shè)備110的最后時間。然后,被跟蹤設(shè)備110可以只交換該最后時間之后接收的已知的設(shè)備數(shù)據(jù)。例如,如果先前連接之后,第一和第二被跟蹤設(shè)備110a和110b相連,第一被跟蹤設(shè)備110a可以檢查其已知的設(shè)備數(shù)據(jù)來確定何時其最后一次連接到第二被跟蹤設(shè)備110b,并且可以只傳輸以前連接時間之后的已經(jīng)被更新(例如,加入或者修改)的記錄到第二被跟蹤設(shè)備110b。
除了連接期間交換已知的設(shè)備數(shù)據(jù),第一和第二被跟蹤設(shè)備110a和110b的每一個可以加入表示彼此連接的記錄行。更具體地說,例如,如果第一被跟蹤設(shè)備110a在其已知的設(shè)備數(shù)據(jù)中沒有對第二被跟蹤設(shè)備110b的現(xiàn)存記錄,第一被跟蹤設(shè)備110a可以加入新記錄,該新記錄包括表示對第二被跟蹤設(shè)備110b的連接的新的記錄行。如果當(dāng)連接時第一被跟蹤設(shè)備110a已經(jīng)有對第二被跟蹤設(shè)備110b的現(xiàn)存記錄,第一被跟蹤設(shè)備110a可以通過加入表示連接的新的記錄行來修改該現(xiàn)存記錄。無論以前是否發(fā)生連接,在第一被跟蹤設(shè)備110a的已知的設(shè)備數(shù)據(jù)中的新的記錄行可以包括連接的時間戳以及第二被跟蹤設(shè)備110b的UUID。在某些實施例中,第一和第二被跟蹤設(shè)備110a和110b之間的連接結(jié)束后,就加入或者修改這個新的記錄行。在此情況下,記錄行可以進(jìn)一步包括可以指出連接持續(xù)時間的連接超時。
圖2是根據(jù)本發(fā)明一些實施例的通信系統(tǒng)100中的示例性通信的框圖。更具體地,圖2示出了被跟蹤設(shè)備110之間從時間T1到時間T5的一段時間跨度下數(shù)據(jù)交換的例子。這個例子涉及被跟蹤設(shè)備D1、D2、D3和D4。在該例子開始的時候,這些被跟蹤設(shè)備110的每一個具有已知的設(shè)備數(shù)據(jù)的初始集合。特別地,D1具有已知的設(shè)備數(shù)據(jù)KD1,D2具有已知的設(shè)備數(shù)據(jù)KD2,D3具有已知的設(shè)備數(shù)據(jù)KD3,以及D4具有已知的設(shè)備數(shù)據(jù)KD4。
在時間T1,被跟蹤設(shè)備D1與被跟蹤設(shè)備D2配對,D1和D2交換已知的設(shè)備數(shù)據(jù)。交換完畢后,D1和D2的每個具有已知的設(shè)備數(shù)據(jù)KD1和KD2。在時間T2,被跟蹤設(shè)備D2與被跟蹤設(shè)備D3配對,D2和D3交 換已知的設(shè)備數(shù)據(jù)。具體地,被跟蹤設(shè)備D2將已知的設(shè)備數(shù)據(jù)KD1和KD2傳輸給D3,被跟蹤設(shè)備D3將已知的設(shè)備數(shù)據(jù)KD3傳輸給D2。交換完畢后,D2和D3的每個具有已知的設(shè)備數(shù)據(jù)KD1、KD2和KD3。在時間T3,沒有建立連接或者交換數(shù)據(jù)。在時間T4,被跟蹤設(shè)備D3移動到被跟蹤設(shè)備D4的范圍內(nèi)。在時間T5,被跟蹤設(shè)備D3與被跟蹤設(shè)備D4配對,兩者交換已知的設(shè)備數(shù)據(jù)。具體地,被跟蹤設(shè)備D3將已知的設(shè)備數(shù)據(jù)KD1、KD2和KD3傳輸給D4,被跟蹤設(shè)備D4將已知的設(shè)備數(shù)據(jù)KD4傳輸給D3。交換完畢后,D3和D4的每個具有已知數(shù)被數(shù)據(jù)KD1、KD2、KD3和KD4。如該例子中示出的那樣,被跟蹤設(shè)備D4能夠通過只連接一個其它的被跟蹤設(shè)備110而從三個其它的被跟蹤設(shè)備110獲得已知的設(shè)備數(shù)據(jù)。此外,如果被跟蹤設(shè)備D3或者D4中任何一個要連接到服務(wù)器120并傳輸已知的設(shè)備數(shù)據(jù)給服務(wù)器120,服務(wù)器120就可以接收由所有組合的四個被跟蹤設(shè)備110最初維護(hù)的已知的設(shè)備數(shù)據(jù)。
每個被跟蹤設(shè)備110可以有很短的范圍(例如,30英尺)。由于在通信系統(tǒng)100中被跟蹤設(shè)備之間創(chuàng)建的多個連接,每個被跟蹤設(shè)備110可以在其已知設(shè)備數(shù)據(jù)中有一個或多個其它的被跟蹤設(shè)備110相關(guān)的記錄。該一個或多個其它的被跟蹤設(shè)備110可以在服務(wù)器120的范圍內(nèi),該服務(wù)器可以搜尋盡可能多的被跟蹤設(shè)備110的信息。當(dāng)被跟蹤設(shè)備110連接到服務(wù)器120,被跟蹤設(shè)備110可以將其已知的設(shè)備數(shù)據(jù)傳輸給服務(wù)器120。在某些實施例中,服務(wù)器120因此可以從一個或多個被跟蹤設(shè)備110接收已知的設(shè)備數(shù)據(jù),其中該接收的已知的設(shè)備數(shù)據(jù)可以包括與一個或多個被跟蹤設(shè)備110相關(guān)的記錄。結(jié)果是,服務(wù)器120可以接收不在服務(wù)器120范圍內(nèi)的被跟蹤設(shè)備110相關(guān)的記錄。
如圖1所示,服務(wù)器120可以包括數(shù)據(jù)收集單元170,數(shù)據(jù)聚集單元180以及數(shù)據(jù)分析單元190。每個單元可以包括硬件、軟件或者二者的組合。盡管在圖1中說明的數(shù)據(jù)收集單元170,數(shù)據(jù)聚集單元180以及數(shù)據(jù)分析單元190是單獨的部件,可以理解這些單元170、180和190可以包括重復(fù)的硬件、軟件或者二者的組合,或者可以基于實現(xiàn)被進(jìn)一步劃分。
數(shù)據(jù)收集單元170可以從被跟蹤設(shè)備110接收已知的設(shè)備數(shù)據(jù),并且可以在本地存儲器或者服務(wù)器120可訪問的某些其它存儲設(shè)備上存儲該接收的已知的設(shè)備數(shù)據(jù)。數(shù)據(jù)聚集單元180可以從已知的設(shè)備數(shù)據(jù)中提取被跟蹤設(shè)備創(chuàng)建連接的每個時間的每個被跟蹤設(shè)備的位置。從提取的位置中,數(shù)據(jù)分析單元190可以確定每個被跟蹤設(shè)備110的更精確的位置數(shù)據(jù)??赡艿那闆r是已知的設(shè)備數(shù)據(jù)中的一些信息相對于被跟蹤設(shè)備110的位置是不正確的或者缺失的。例如,如果被跟蹤設(shè)備的位置跟蹤器130發(fā)生故障,可能記錄了不正確的位置數(shù)據(jù)。也可能的情況是一個或多個被跟蹤設(shè)備110缺少位置跟蹤器130。在該情況下,此類被跟蹤設(shè)備110的位置可以基于它們所連接的被跟蹤設(shè)備110的位置來確定。通過分析已知的設(shè)備數(shù)據(jù),服務(wù)器120可以丟棄或者修改看起來不正確的位置數(shù)據(jù),在合適的地方可以加入位置數(shù)據(jù)。在某些實施例中,例如,數(shù)據(jù)分析單元190可以對每個被跟蹤設(shè)備110產(chǎn)生印記(footprint),例如熱圖。印記可以是代表被跟蹤設(shè)備隨時間的位置的圖。在一些實施例中,印記可以是通信系統(tǒng)100的用戶輸出,用于人工審閱或者分析。
圖3是根據(jù)本發(fā)明一些實施例的數(shù)據(jù)通信方法300的流程圖。如圖所示,在方框310,第一被跟蹤設(shè)備110a可以搜尋連接,或者通過在廣播模式下廣播其UUID,或者在發(fā)起模式下傾聽廣播。在某些實施例中,搜尋連接可以包括偶爾在廣播模式和發(fā)起模式之間來回切換。在方框320,第一被跟蹤設(shè)備110a可以連接到另外的設(shè)備。在方框330,第一被跟蹤設(shè)備可以將其已知的設(shè)備數(shù)據(jù)傳輸?shù)剿B接的設(shè)備。如果所連接的設(shè)備是另一個被跟蹤設(shè)備110,那么在方框340,第一被跟蹤設(shè)備110可以從該另一個被跟蹤設(shè)備110接收已知的設(shè)備數(shù)據(jù)。在方框350,第一被跟蹤設(shè)備110可以斷開連接,方法300返回到方框310等待另外一個連接。
圖4示出根據(jù)一些實施例的用于實現(xiàn)通信系統(tǒng)100或方法的計算機(jī)系統(tǒng)400的框圖。例如,服務(wù)器120或被跟蹤設(shè)備110可以是例如圖4中示出的計算機(jī)系統(tǒng)400。在此描述的通信系統(tǒng)100和方法可以以硬件、軟件(例如,固件)或其組合來實現(xiàn)。在一些實施例中,所述方法可以至少部 分地以硬件實現(xiàn),并且可以是專用或通用計算機(jī)系統(tǒng)400(例如移動設(shè)備、個人計算機(jī)、工作站、小型計算機(jī)或大型計算機(jī))的微處理器的一部分。
在一些實施例中,如圖4中所示,計算機(jī)系統(tǒng)400包括處理器405、耦合到存儲控制器415的存儲器410,以及一個或多個輸入設(shè)備445和/或輸出設(shè)備440(例如外圍設(shè)備),它們經(jīng)由本地I/O控制器435在通信上耦合。這些設(shè)備440和445例如可以包括打印機(jī)、掃描儀、麥克風(fēng)等。諸如常規(guī)鍵盤450和鼠標(biāo)455之類的輸入設(shè)備可以耦合到I/O控制器435。I/O控制器435例如可以是一個或多個總線或者其它有線或者無線連接,如所屬技術(shù)領(lǐng)域已知的那樣。I/O控制器435可以具有其它元件(為了簡單起見而被省略),例如控制器、緩沖器(高速緩存)、驅(qū)動器、中繼器和接收器以便實現(xiàn)通信。
I/O設(shè)備440、445可以進(jìn)一步包括傳送輸入和輸出的設(shè)備,例如磁盤和磁帶存儲裝置、網(wǎng)絡(luò)接口卡(NIC)或者調(diào)制器/解調(diào)器(用于訪問其它文件、設(shè)備、系統(tǒng)或網(wǎng)絡(luò))、射頻(RF)或者其它收發(fā)器、電話接口、橋接器、路由器等。
處理器405是用于執(zhí)行硬件指令或軟件(特別是存儲在存儲器410中的硬件指令或軟件)的硬件設(shè)備。處理器405可以是定制或者可以從市面上購買的處理器、中央處理單元(CPU)、與計算機(jī)系統(tǒng)400關(guān)聯(lián)的數(shù)個處理器之間的輔助處理器、基于半導(dǎo)體的微處理器(以微芯片或芯片組的形式)、宏處理器或者用于執(zhí)行指令的其它設(shè)備。處理器405包括高速緩存470,其可以包括但不限于用于加快可執(zhí)行指令取回的指令高速緩存、用于加快數(shù)據(jù)取回和存儲的數(shù)據(jù)高速緩存,以及用于加快可執(zhí)行指令和數(shù)據(jù)的虛擬到物理地址轉(zhuǎn)換的轉(zhuǎn)換后備緩沖器(TLB)。高速緩存470可以被組織為具有更多高速緩存級別(L1、L2等)的層次結(jié)構(gòu)。
存儲器410可以包括以下各項的任何一個或組合:易失性存儲元件(例如,隨機(jī)存取存儲器RAM,例如DRAM、SRAM、SDRAM等)和非易失性存儲元件(例如,ROM、可擦式可編程只讀存儲器(EPROM)、電可擦式可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、 磁帶、壓縮盤只讀存儲器(CD-ROM)、磁盤、軟盤、盒帶、卡帶等)。此外,存儲器410可以包括電、磁、光和/或其它類型的存儲介質(zhì)。注意,存儲器410可以具有分布式體系架構(gòu),其中各種組件可以彼此遠(yuǎn)離,但可以由處理器405訪問。
存儲器410中的指令可以包括一個或多個單獨程序,每個程序包括用于實現(xiàn)邏輯功能的可執(zhí)行指令的有序列表。在圖4的實例中,存儲器410中的指令包括合適的操作系統(tǒng)(OS)411。操作系統(tǒng)411基本上可以控制其它計算機(jī)程序的執(zhí)行,并且提供調(diào)度、輸入輸出控制、文件和數(shù)據(jù)管理、存儲管理、以及通信控制和相關(guān)服務(wù)。
其它數(shù)據(jù)(例如包括處理器405的指令或者其它可檢索信息)可以存儲在存儲裝置420中,存儲裝置420可以是諸如硬盤驅(qū)動器或者固態(tài)驅(qū)動器之類的存儲設(shè)備。存儲器410或存儲裝置420中存儲的指令可以包括使處理器能夠執(zhí)行本公開的通信系統(tǒng)100和方法的一個或多個方面的那些指令。
計算機(jī)系統(tǒng)400可以進(jìn)一步包括耦合到顯示器430的顯示控制器425。在一些實施例中,計算機(jī)系統(tǒng)400可以進(jìn)一步包括用于耦合到網(wǎng)絡(luò)465的網(wǎng)路接口460。網(wǎng)絡(luò)465可以是基于IP的網(wǎng)絡(luò),以便經(jīng)由寬帶連接在計算機(jī)系統(tǒng)400與外部服務(wù)器、客戶機(jī)等之間通信。網(wǎng)絡(luò)465在計算機(jī)系統(tǒng)400與外部系統(tǒng)之間發(fā)送和接收數(shù)據(jù)。在一些實施例中,網(wǎng)絡(luò)465可以是由服務(wù)提供者管理的受管IP網(wǎng)絡(luò)。網(wǎng)絡(luò)465可以以無線方式實現(xiàn),例如使用諸如藍(lán)牙、NFC技術(shù)、WiFi、WiMax之類的無線協(xié)議和技術(shù)。網(wǎng)絡(luò)465還可以是分組交換網(wǎng)絡(luò),例如局域網(wǎng)、廣域網(wǎng)、城域網(wǎng)、因特網(wǎng)或者其它類似類型的網(wǎng)絡(luò)環(huán)境。網(wǎng)絡(luò)465可以是固定無線網(wǎng)絡(luò)、無線局域網(wǎng)(LAN)、無線廣域網(wǎng)(WAN)、個人區(qū)域網(wǎng)絡(luò)(PAN)、虛擬專用網(wǎng)絡(luò)(VPN)、內(nèi)聯(lián)網(wǎng)或者其它合適的網(wǎng)絡(luò)系統(tǒng),并且可以包括用于接收和發(fā)送信號的設(shè)備。
根據(jù)本公開的通信系統(tǒng)100和方法可以全部或部分包含在計算機(jī)程序產(chǎn)品或者例如圖4中所示的計算機(jī)系統(tǒng)400中。
一些實施例的技術(shù)效果和優(yōu)點包括能夠在多個被跟蹤設(shè)備110和服務(wù)器120之間傳送信息,使得服務(wù)器120可以有關(guān)接收范圍之外的被跟蹤設(shè)備110的信息。因此,通信系統(tǒng)100的一些實施例可以使能低成本、低功耗設(shè)備(諸如BLE設(shè)備)的使用,同時有效擴(kuò)展這些設(shè)備的使用范圍。
在此使用的術(shù)語只是為了描述特定的實施例并且并非旨在作為本發(fā)明的限制。如在此使用的,單數(shù)形式“一”、“一個”和“該”旨在同樣包括復(fù)數(shù)形式,除非上下文明確地另有所指。還將理解,當(dāng)在此說明書中使用時,術(shù)語“包括”和/或“包含”指定了聲明的特性、整數(shù)、步驟、操作、元素和/或組件的存在,但是并不排除一個或多個其它特性、整數(shù)、步驟、操作、元素、組件和/或其組合的存在或增加。
以下的權(quán)利要求中的對應(yīng)結(jié)構(gòu)、材料、操作以及所有功能性限定的裝置(means)或步驟的等同替換,旨在包括任何用于與在權(quán)利要求中具體指出的其它單元相組合地執(zhí)行該功能的結(jié)構(gòu)、材料或操作。所給出的對本發(fā)明的描述其目的在于示意和描述,并非是窮盡性的,也并非是要將本發(fā)明限定到所表述的形式。對于所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不偏離本發(fā)明范圍和精神的情況下,顯然可以作出許多修改和變型。對實施例的選擇和說明,是為了最好地解釋本發(fā)明的原理和實際應(yīng)用,使所屬技術(shù)領(lǐng)域的普通技術(shù)人員能夠明了,本發(fā)明可以有適合所要的特定用途的具有各種改變的各種實施方式。
本發(fā)明可以是系統(tǒng)、方法和/或計算機(jī)程序產(chǎn)品。計算機(jī)程序產(chǎn)品可以包括計算機(jī)可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本發(fā)明的各個方面的計算機(jī)可讀程序指令。
計算機(jī)可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計算機(jī)可讀存儲介質(zhì)例如可以是—但不限于—電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計算機(jī)盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態(tài)隨機(jī)存取存儲器 (SRAM)、便攜式壓縮盤只讀存儲器(CD-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算機(jī)可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其它自由傳播的電磁波、通過波導(dǎo)或其它傳輸介質(zhì)傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?/p>
這里所描述的計算機(jī)可讀程序指令可以從計算機(jī)可讀存儲介質(zhì)下載到各個計算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機(jī)或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計算機(jī)和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計算機(jī)可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計算機(jī)可讀存儲介質(zhì)中。
用于執(zhí)行本發(fā)明操作的計算機(jī)可讀程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如Smalltalk、C++等,以及常規(guī)的過程式編程語言—諸如“C”語言或類似的編程語言。計算機(jī)可讀程序指令可以完全地在用戶計算機(jī)上執(zhí)行、部分地在用戶計算機(jī)上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機(jī)的情形中,遠(yuǎn)程計算機(jī)可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機(jī),或者,可以連接到外部計算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機(jī)可讀程序指令的狀態(tài)信息來個性化電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計算機(jī)可讀程序指令,從而實現(xiàn)本發(fā)明的各個方面。
這里參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品 的流程圖和/或框圖描述了本發(fā)明的各個方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機(jī)可讀程序指令實現(xiàn)。
這些計算機(jī)可讀程序指令可以提供給通用計算機(jī)、專用計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機(jī)可讀程序指令存儲在計算機(jī)可讀存儲介質(zhì)中,這些指令使得計算機(jī)、可編程數(shù)據(jù)處理裝置和/或其它設(shè)備以特定方式工作,從而,存儲有指令的計算機(jī)可讀存儲介質(zhì)則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
也可以把計算機(jī)可讀程序指令加載到計算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機(jī)、其它可編程裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機(jī)實現(xiàn)的過程,從而使得在計算機(jī)、其它可編程裝置、或其它設(shè)備上執(zhí)行的指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的不同實施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實現(xiàn)。
出于示例目的給出了對本發(fā)明的不同實施例的描述,但所述描述并非旨在是窮舉的或是限于所公開的實施例。在不偏離所述實施例的范圍和精 神的情況下,對于所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變化都將是顯而易見的。在此使用的術(shù)語的選擇,旨在最好地解釋實施例的原理、實際應(yīng)用或?qū)κ袌鲋械募夹g(shù)的技術(shù)改進(jìn),或者使所屬技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解在此所公開的實施例。