用于可擴(kuò)展視頻云服務(wù)的系統(tǒng)和方法
【專利說明】用于可擴(kuò)展視頻云服務(wù)的系統(tǒng)和方法
[0001] 相關(guān)申請的交叉引用
[0002] 本申請要求2013年7月22日提交的發(fā)明人為六此61'1:1(&7,?抑1^811似抑5^11 和VaidhiNathan的標(biāo)題為"NOVELSYSTEMTHATUSESCLOUDSERVERSTOCAPTUREAND DISSEMINATEEVENTSANDVIDEOSFROMCAMERASENSORSANDINTEGRATEDWITHMOBILE DEVICES"(使用云服務(wù)器來捕獲并從攝像機(jī)傳感器傳播事件和視頻并且與移動(dòng)裝置集成在 一起的新型系統(tǒng))的美國專利申請61/857, 200的優(yōu)先權(quán)權(quán)益,所述申請的內(nèi)容以引用方式 并入本文。
[0003] 發(fā)明背景 發(fā)明領(lǐng)域
[0004] 本發(fā)明涉及互聯(lián)網(wǎng)或網(wǎng)絡(luò)連接的攝像機(jī)和可擴(kuò)展云計(jì)算的領(lǐng)域。相關(guān)技術(shù)的描述
[0005] 網(wǎng)絡(luò)攝像機(jī)在現(xiàn)代生活中已變得很普遍,并且可使用網(wǎng)絡(luò)攝像機(jī)視頻數(shù)據(jù)的基于 互聯(lián)網(wǎng)服務(wù)器的系統(tǒng),諸如Y〇uTube?"Skype?視頻聊天等在普通人群中已眾所周知。另 外,用于各種監(jiān)控應(yīng)用的網(wǎng)絡(luò)攝像機(jī)和互聯(lián)網(wǎng)服務(wù)器以及各種類型的計(jì)算機(jī)視覺方法的使 用在本領(lǐng)域中也是已知的。
[0006]作為一個(gè)具體實(shí)例,Verstraeten等人的"WebcamsforBirdDetectionand Monitoring:ADemonstrationStudy(用于檢測和監(jiān)控鳥的網(wǎng)絡(luò)攝像機(jī):實(shí)證研究)",《傳 感器》2010,10,3480-3503描述了用于諸如監(jiān)控動(dòng)物移動(dòng)的應(yīng)用的使用網(wǎng)絡(luò)攝像機(jī)的各種 方法。
[0007] 此外,Needham在美國專利6, 803, 945中描述了運(yùn)動(dòng)檢測網(wǎng)絡(luò)攝像機(jī)系統(tǒng)。這種 系統(tǒng)根據(jù)各種類型的運(yùn)動(dòng)捕獲算法周期性地將網(wǎng)絡(luò)攝像機(jī)圖像上傳到服務(wù)器。
[0008] 近年來,隨著互聯(lián)網(wǎng)技術(shù)的進(jìn)步,提供通常能夠通過使用各種類型的自動(dòng)化服務(wù) 提供方法和虛擬機(jī)迀移方法根據(jù)用戶需求自動(dòng)縮放的網(wǎng)絡(luò)服務(wù)已變得更加可行。張等人的 "Cloudcomputing:state-of-the-artandresearchchallenges(云計(jì)算:最前沿技術(shù)和 研究挑戰(zhàn))",JInternetServ.Appl. (2010) 1:7-18對這些可擴(kuò)展云服務(wù)進(jìn)行描述。這些 云服務(wù)包括AmazonEC2、MicrosoftWindowsAzure平臺(tái)、GoogleAppEngine等。
[0009] 例如,加利福尼亞州塞巴斯托波市的0'ReillyMedia有限公司2011年2月發(fā)布 的JurgvanViled等人的"ProgrammingAmazonEC2(編程AmazonEC2)"對AmazonEC2 云計(jì)算平臺(tái)進(jìn)行描述。
[0010] 另外,隨著互聯(lián)網(wǎng)技術(shù)的進(jìn)步,用于開發(fā)網(wǎng)絡(luò)服務(wù)的表述性狀態(tài)轉(zhuǎn)移(REST)方法 的使用已變得普及。加利福尼亞州塞巴斯托波市的O'ReillyMedia有限公司2007年5月 發(fā)布的LeonardRichardson和SamRuby的"RESTfulWebServices" 對這種技術(shù)進(jìn)行描 述。
[0011] 發(fā)明簡述
[0012] 本發(fā)明至少部分地基于以下見解:現(xiàn)代可擴(kuò)展云服務(wù)技術(shù)(諸如自動(dòng)化服務(wù)提 供、虛擬機(jī)迀移等)的進(jìn)步可用于幫助提供用于監(jiān)控真實(shí)世界環(huán)境的改進(jìn)且高度可擴(kuò)展的 方法。
[0013] 本發(fā)明還至少部分地基于以下見解:為了提供能夠與潛在地?cái)?shù)百萬不同視頻攝像 機(jī)裝置以及成千上萬或甚至數(shù)百萬不同客戶端用戶一起廣泛使用的高度可擴(kuò)展系統(tǒng),這種 高度可擴(kuò)展系統(tǒng)應(yīng)理想地還采用各種策略來克服防火墻以及其他網(wǎng)絡(luò)障礙,應(yīng)是各種用戶 可高度配置的,并且還應(yīng)采用良好的安全措施。
[0014] 本發(fā)明還至少部分地基于以下見解:正常用戶不希望充當(dāng)全職安全保衛(wèi)人員,而 是通常希望當(dāng)計(jì)算機(jī)化系統(tǒng)自動(dòng)檢測到問題或事件時(shí)簡單地在他們的移動(dòng)計(jì)算機(jī)化裝置 上(優(yōu)選地實(shí)時(shí))接收自動(dòng)通知,并且隨后通常能夠立即實(shí)時(shí)查看問題或事件,或作為替代 方案搜索包含問題或事件的記錄歷史的視頻文件。
[0015] 在一些實(shí)施方案中,本發(fā)明可以是一種使用多個(gè)遠(yuǎn)程可編程處理器控制的互聯(lián)網(wǎng) 視頻攝像機(jī)以及可擴(kuò)展云計(jì)算技術(shù)、使用它們的各種互聯(lián)網(wǎng)連接的智能電話和平板計(jì)算機(jī) (其通常將是移動(dòng)裝置,諸如智能電話)來監(jiān)控真實(shí)世界環(huán)境的系統(tǒng)和方法。
[0016] 本文所述的系統(tǒng)和方法被設(shè)計(jì)成能夠容易且自動(dòng)擴(kuò)展多達(dá)數(shù)百萬攝像機(jī)和用戶。 為此,本公開教導(dǎo)現(xiàn)代云計(jì)算技術(shù),包括自動(dòng)化服務(wù)提供、自動(dòng)化虛擬機(jī)迀移服務(wù)、RESTful API以及各種防火墻遍歷方法的使用以便促進(jìn)擴(kuò)展過程。
[0017] 系統(tǒng)的完整性通過要求各個(gè)視頻攝像機(jī)連續(xù)向云服務(wù)器發(fā)送"心跳"攝像機(jī)狀態(tài) 消息來維持。任選地可具有另外的傳感器,諸如麥克風(fēng)、溫度傳感器、濕度傳感器、煙霧檢測 器等的視頻攝像機(jī)任選地還可以遠(yuǎn)程地被配置來具有各種圖像和音頻分析算法以及其他 傳感器分析算法,所述算法使得攝像機(jī)能夠自動(dòng)地將發(fā)生在其本地環(huán)境中的各種事件報(bào)告 給系統(tǒng)服務(wù)器。系統(tǒng)服務(wù)器繼而可將這些事件報(bào)告給客戶端。系統(tǒng)可直接或間接地將事件 視頻數(shù)據(jù)流傳輸?shù)娇蛻舳?,或作為替代方案將視頻數(shù)據(jù)保存在各種可擴(kuò)展第三方云存儲(chǔ)系 統(tǒng)諸如AmazonS3服務(wù)中。時(shí)間終止令牌和加密密鑰確保系統(tǒng)安全。
[0018] 附圖簡述
[0019] 圖1示出視頻云服務(wù)(VCS)的關(guān)鍵部件中的一些。
[0020] 圖2示出處理器控制的視頻攝像機(jī)可如何使用各種協(xié)議與至少一個(gè)遠(yuǎn)程視頻云 服務(wù)(VCS)互聯(lián)網(wǎng)服務(wù)器以及任選地其他云服務(wù)器(諸如用作連接互聯(lián)網(wǎng)的視頻數(shù)據(jù)存儲(chǔ) 裝置的服務(wù)器)通信。
[0021] 圖3A示出本發(fā)明的視頻云服務(wù)(VCS)系統(tǒng)的一些部件和交互作用的框圖。
[0022] 圖3B示出本發(fā)明的連續(xù)記錄服務(wù)器實(shí)施方案的細(xì)節(jié),所述連續(xù)記錄服務(wù)器實(shí)施 方案被配置用于跨大量視頻攝像機(jī)和客戶端的高可擴(kuò)展性。
[0023] 圖4示出配備處理器的視頻攝像機(jī)可如何與系統(tǒng)的裝置管理器服務(wù)(DMS)服務(wù)器 進(jìn)行交互的流程圖。
[0024] 圖5示出可如何更新配備處理器的視頻攝像機(jī)和/或客戶端計(jì)算機(jī)化裝置固件或 其他類型的軟件。
[0025] 圖6示出根據(jù)各種對等(P2P)方案系統(tǒng)可如何遍歷各種防火墻并進(jìn)行操作的實(shí) 例。
[0026] 圖7示出VCS體系結(jié)構(gòu)的水平可擴(kuò)展性的實(shí)例。
[0027] 圖8示出客戶端計(jì)算機(jī)化裝置的軟件結(jié)構(gòu)的框圖。
[0028] 本發(fā)明的詳細(xì)描述
[0029] 出于本公開的目的,"可擴(kuò)展方法"被定義為根據(jù)自動(dòng)化服務(wù)提供和自動(dòng)化虛擬機(jī) 迀移方法進(jìn)行操作的基于互聯(lián)網(wǎng)云的方法。另外的細(xì)節(jié)請參見先前討論的張等人的"Cloud computing:state-of-the-artandresearchchallenges" 參考。此類可擴(kuò)展方法的實(shí)例 包括但不限于,AmazonEC2、MicrosoftWindowsAzure平臺(tái)和GoogleAppEngine。
[0030] 除非另有規(guī)定,否則本文所討論的實(shí)例應(yīng)被設(shè)想成在AmazonEC2云計(jì)算平臺(tái) 上操作,所述AmazonEC2云計(jì)算平臺(tái)通常如由先前討論的JurgvanViled等人申請的 "ProgrammingAmazonEC2" 參考描述。
[0031] 除非另有規(guī)定,否則本文所述的處理器控制的視頻攝像機(jī)通常將配置有麥克風(fēng)以 及甚至其他類型的傳感器,諸如溫度傳感器。因此,本文所述的方法通常將對這些配置有麥 克風(fēng)的視頻攝像機(jī)所接收的聲音數(shù)據(jù)進(jìn)行操作。處理器控制的視頻攝像機(jī)通常將包括:至 少一個(gè)處理器(通常選自普及的ARM、MIPS、x86或其他處理器系列)、存儲(chǔ)器(用來保持根 據(jù)本發(fā)明的各種固件和算法)、至少一個(gè)多像素圖像傳感器芯片(通常為至少一個(gè)電荷耦 合裝置(CCD)或互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)芯片)、圖像聚焦系統(tǒng)(通常為至少一個(gè)透 鏡)以及至少一個(gè)有線或無線網(wǎng)絡(luò)接口。
[0032] 除非另有規(guī)定,否則本文所述的客戶端計(jì)算機(jī)化裝置通常將配置有至少一個(gè)處理 器(通常選自普及的ARM、MIPS、x86或其他處理器系列)、存儲(chǔ)器(通常用于操作系統(tǒng)軟件 和各種應(yīng)用程序軟件(例如,app),其用來運(yùn)行根據(jù)本發(fā)明的各種固件和算法)、通常配置 有優(yōu)選地能夠顯示視頻的多像素顯示面板、用戶接口(例如,觸敏視頻屏幕、鍵盤、鼠標(biāo)、按 鈕等)以及至少一個(gè)有線或無線網(wǎng)絡(luò)接口。通常,移動(dòng)客戶端計(jì)算機(jī)化接口諸如智能電話、 平板計(jì)算機(jī)等將用作本公開的實(shí)例,但"移動(dòng)性"并非旨在進(jìn)行限制。
[0033] 類似地,本文所述的各種互聯(lián)網(wǎng)服務(wù)器和云服務(wù)(甚至當(dāng)根據(jù)自動(dòng)化服務(wù)提供和 自動(dòng)化虛擬機(jī)迀移服務(wù)進(jìn)行操作時(shí))本身將在至少一個(gè)處理器、網(wǎng)絡(luò)連接、計(jì)算機(jī)存儲(chǔ)器、 操作系統(tǒng)軟件、合適的自動(dòng)化服務(wù)提供和自動(dòng)化虛擬機(jī)迀移服務(wù)以及實(shí)現(xiàn)本文所公開的方 法的軟件的控制下在各種互聯(lián)網(wǎng)服務(wù)器上運(yùn)行。
[0034] 除非另有規(guī)定,否則本文所述的系統(tǒng)和方法的所有方面應(yīng)該被假設(shè)成在各種處理 器(例如,視頻攝像機(jī)處理器、客戶端計(jì)算機(jī)化裝置處理器、服務(wù)器處理器等)的控制下根 據(jù)本文的公開內(nèi)容進(jìn)行操作的軟件方法自動(dòng)進(jìn)行操作,而無需人工干預(yù)。
[0035] 在一些實(shí)施方案中,本發(fā)明可以是允許至少一個(gè)客戶端(通常為一個(gè)人類客戶 端,以及通常為大量不同的人類客戶端)使用多個(gè)處理器控制的視頻攝像機(jī)(常常但并非 總是實(shí)時(shí)地)監(jiān)控至少一個(gè)真實(shí)世界環(huán)境(通常為多個(gè)真實(shí)世界環(huán)境)的可擴(kuò)展方法。
[0036] 這些處理器控制的視頻攝像機(jī)通常將連接到較大的計(jì)算機(jī)網(wǎng)絡(luò)諸如互聯(lián)網(wǎng),并且 因此連接到各種互聯(lián)網(wǎng)服務(wù)器,并且最常見地,為達(dá)安全目的,此類處理器連接的視頻攝像 機(jī)將經(jīng)由至少一個(gè)防火墻連接到互聯(lián)網(wǎng)和至少一個(gè)遠(yuǎn)程互聯(lián)網(wǎng)服務(wù)器。
[0037] 此處,至少一個(gè)客戶端通常將使用客戶端計(jì)算機(jī)化裝置連接到互聯(lián)網(wǎng)和至少一個(gè) 遠(yuǎn)程互聯(lián)網(wǎng)服務(wù)器。在本說明書中,此至少一個(gè)遠(yuǎn)程互聯(lián)網(wǎng)服務(wù)器通常被稱為視頻云服務(wù) (VCS)服務(wù)器,并且稍后將詳細(xì)討論這個(gè)VCS服務(wù)器的裝置管理服務(wù)(DMS)方面。
[0038] 通常將使用多于一個(gè)客戶端計(jì)算機(jī)化裝置,并且這個(gè)客戶端計(jì)算機(jī)化裝置也可具 有其本身要爭用的防火墻。
[0039] 此處,至少一個(gè)處理器控制的視頻攝像機(jī)(一個(gè)攝像機(jī)、多個(gè)攝像機(jī))(通常自動(dòng) 或半自動(dòng)地)被配置來將音頻-視頻數(shù)據(jù)傳送到至少一個(gè)遠(yuǎn)程互聯(lián)網(wǎng)服務(wù)器。另外,這個(gè) 攝像機(jī)還被配置來響應(yīng)于來自此至少一個(gè)遠(yuǎn)程互聯(lián)網(wǎng)服務(wù)器的命令,并且使用通過網(wǎng)絡(luò)連 接來將攝像機(jī)狀態(tài)消息(通常稱為"心跳消息"或"心跳")周期性地傳送到此至少一個(gè)遠(yuǎn) 程互聯(lián)網(wǎng)服務(wù)器。如將要討論的,這些攝像機(jī)狀態(tài)消息(心跳)可由系統(tǒng)使用來檢測攝像 機(jī)是否關(guān)閉或另外是否未如預(yù)期那樣進(jìn)行操作以及其他目的。
[0040] 所述攝像機(jī)通常將用來監(jiān)控至少一個(gè)真實(shí)世界環(huán)境,并且隨后使用至少一個(gè)互聯(lián) 網(wǎng)服務(wù)器來將有關(guān)此至少一個(gè)真實(shí)世界環(huán)境的數(shù)據(jù)自動(dòng)傳送到各種客戶端計(jì)算機(jī)化裝置。 另外,如果至少一個(gè)互聯(lián)網(wǎng)服務(wù)器檢測到這些攝像機(jī)狀態(tài)消息(心跳)的缺失或異常持續(xù) 超過預(yù)定截止條件,那么本發(fā)明的軟件將自動(dòng)引導(dǎo)互聯(lián)網(wǎng)服務(wù)器將有關(guān)這種缺失或異常的 數(shù)據(jù)傳送到至少一個(gè)客戶端計(jì)算機(jī)化裝置。另外,各種處理器控制的視頻攝像機(jī)中的至少 一些(以及在一些實(shí)施方案中全部)也是被配置來在客戶端計(jì)算機(jī)化裝置發(fā)出要求時(shí)立即 連接到至少一個(gè)客戶端計(jì)算機(jī)化裝置并且將視頻數(shù)據(jù)發(fā)送到所述至少一個(gè)客戶端計(jì)算機(jī) 化裝置的軟件。
[0041] 系統(tǒng)體系結(jié)構(gòu)
[0042] 在最高級(jí)別處,本文所公開的可擴(kuò)展視頻云服務(wù)系統(tǒng)和方法可被視為具有至少三 種基本類型的部件。這些部件是a)各種可擴(kuò)展云服務(wù)器,b)各種客戶端計(jì)算機(jī)化裝置(通 常為移動(dòng)裝置諸如智能電話等),以及c)各種處理器控制的視頻攝像機(jī),其通常具有經(jīng)由 互聯(lián)網(wǎng)連至各種云服務(wù)器的網(wǎng)絡(luò)連接。
[0043] 如將要討論的,本公開教示使用云服務(wù)上傳來自攝像機(jī)的事件數(shù)據(jù)并且檢索來自 各種客戶端計(jì)算機(jī)化裝置諸如智能電話的事件數(shù)據(jù)的完整且全套的事件和視頻管理解決 方案。實(shí)際的云服務(wù)器解決方案是相對復(fù)雜的,并且具有多個(gè)部件,包括用于負(fù)載均衡、應(yīng) 用、存儲(chǔ)、備份、數(shù)據(jù)庫、裝置管理、事件管理以及通知/警報(bào)服務(wù)的部件和服務(wù)器。首先,將 集中描述所述系統(tǒng)的簡化版本,其中云服務(wù)可被理解為包括管理云服務(wù)器和用于存儲(chǔ)視頻 數(shù)據(jù)的云服務(wù)器。在描述了系統(tǒng)這種更簡化版本之后,隨后將討論其他云部件如何與整個(gè) 系統(tǒng)和方法相關(guān)。
[0044] 圖1示出視頻云服務(wù)(VCS)的關(guān)鍵部件中的一些。此處,至少一個(gè)處理器控制的視 頻攝像機(jī)(100)經(jīng)由連至互聯(lián)網(wǎng)連接的路由器的無線(例如,WiFi鏈路)或有線鏈路(通 常經(jīng)由防火墻(104))來連接到互聯(lián)網(wǎng)(102)??蛻舳擞?jì)算機(jī)化裝置也可經(jīng)由其本身的防火 墻也與互聯(lián)網(wǎng)分開(未示出)。各種服務(wù)器,諸如遠(yuǎn)程VCS互聯(lián)網(wǎng)服務(wù)器(106),和任選地 至少一個(gè)互聯(lián)網(wǎng)連接的視頻數(shù)據(jù)存儲(chǔ)裝置(108)(其本身可以是服務(wù)器)以及相關(guān)聯(lián)的數(shù) 據(jù)庫存儲(chǔ)器(110)可與至少一個(gè)處理器控制的視頻攝像機(jī)(100)連接。另外,各種客戶端 計(jì)算機(jī)化裝置(例如,智能電話、平板計(jì)算機(jī)、膝上型計(jì)算機(jī)、桌上型計(jì)算機(jī)等112)也可連 接到處理器控制的視頻攝像機(jī)(100)和/或遠(yuǎn)程VCS互聯(lián)網(wǎng)服務(wù)器(106)以及至少一個(gè)互 聯(lián)網(wǎng)連接的視頻數(shù)據(jù)存儲(chǔ)裝置(108)。
[0045] 在圖1中,處理器控制的視頻攝像機(jī)