TWI594626B - 串流辨識與過濾技術 - Google Patents
串流辨識與過濾技術 Download PDFInfo
- Publication number
- TWI594626B TWI594626B TW102106683A TW102106683A TWI594626B TW I594626 B TWI594626 B TW I594626B TW 102106683 A TW102106683 A TW 102106683A TW 102106683 A TW102106683 A TW 102106683A TW I594626 B TWI594626 B TW I594626B
- Authority
- TW
- Taiwan
- Prior art keywords
- data stream
- signature
- block
- synchronization
- stream
- Prior art date
Links
- 238000001914 filtration Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 description 24
- 230000006870 function Effects 0.000 description 19
- 239000000463 material Substances 0.000 description 17
- 238000003860 storage Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本專利文件含有受到著作權保護的材料。著作權所有者不反對在美國專利及商標局之檔案中的本專利文件或任何相關聯材料的複製,但無論如何於其他方面保留所有著作權。
本發明係有關於串流辨識與過濾技術。
檢驗儲存在裝置上或在裝置之間傳輸的資料以便試圖判定該資料是否對應於其他已知資料通常為有用的且合乎需要的。舉例來說,判定儲存在裝置上之資料是否對應於其他資料或是否為其他資料之完整或部分複本可為有用的或合乎需要的。作為另一實例,判定在兩個裝置之間發送的資料串流是否對應於其他資料(或是否為其他資料之完整或部分複本)可為有用的或合乎需要的。
依據本發明之一實施例,係特地提出一種電腦實施之方法,其藉由硬體與軟體組合而實施,該方法包含:判定一資料項目中之多個同步點,該資料項目由一任意位元序列組成,且每一同步點由該資料項目中之一位元序列
組成;針對該等多個同步點中之每一者,判定該資料項目中之一對應位元區塊;針對每一位元區塊,藉由將一雜湊函數或訊息摘錄函數應用於該位元區塊來判定一對應區塊簽名;藉由將該等多個同步點中之每一者與該對應位元區塊之該對應區塊簽名相關聯來形成一資料項目簽名。
100‧‧‧串流
102‧‧‧簽名
200‧‧‧設置/初始設置/初始設置程序/串流
202‧‧‧串流簽名/程序
204~214、218~232、400~412‧‧‧步驟
216‧‧‧比較程序、比較應用程式
300‧‧‧邏輯組織
302‧‧‧資料結構
800‧‧‧電腦系統
801‧‧‧匯流排
802‧‧‧處理器
803‧‧‧通訊埠
804‧‧‧主記憶體
805‧‧‧可卸除式儲存媒體
806‧‧‧唯讀記憶體
807‧‧‧大容量儲存器
809‧‧‧輸入/輸出(I/O)埠
816‧‧‧輸入裝置
830‧‧‧顯示螢幕
850-1‧‧‧應用程式
850-2‧‧‧程序
b0、b1、...、bk‧‧‧位元
B1、B2、B3、...、Bi‧‧‧位元區塊
c0、c1、...、c j ‧‧‧位元
S‧‧‧串流
S'‧‧‧串流
SS‧‧‧串流簽名
SP1、SP2、SP3、...、SPi‧‧‧同步點
<SP,H(B)>‧‧‧簽名對
S1、...、Sk‧‧‧串流
在參看隨附圖式考慮以下描述及所附申請專利範圍時,本發明之其他目標、特徵及特性,以及結構之相關元件的操作方法及功能,及製造的零件與經濟之組合將變得更加顯而易見,以下描述及所附申請專利範圍及隨附圖式皆形成本說明書的一部分。
圖1(a)描繪資料串流;圖1(b)描繪同步點及對應位元區塊;圖1(c)描繪圖1(A)之資料串流的串流簽名;圖2(a)至圖2(d)描繪對資料串流的處理;圖3(a)至圖3(b)展示用以處理多個串流的結構;圖4(a)至圖4(b)描繪對多個串流的處理;圖5展示用於處理串流之例示性資料結構;圖6(a)至圖6(c)展示使用圖5之資料結構處理的實例串流;圖7展示典型封包;及圖8為電腦系統的示意圖。
檢驗儲存在裝置上或在裝置之間傳輸的資料,以便試圖判定該資料是否對應於其他已知資料,通常為有用的且合乎需要的。舉例來說,判定儲存在裝置上之資料是否對應於其他資料或是否為其他資料之完整或部分複本,可為有用的或合乎需要的。作為另一實例,判定在兩個裝置之間發送的資料串流是否對應於其他資料(或是否為其他資料之完整或部分複本),可為有用的或合乎需要的。
資料串流(或串流)包含位元序列。串流中之位元序列可表示或編碼某種資料項目(例如電影或影像或音樂、資料庫等)。可將串流中之位元序列加密及/或壓縮。熟習此項技術者在閱讀本描述時將認識且理解,本發明不受基礎位元序列所表示的事物限制。
如本文中所使用,不管基礎資料表示什麼且不管基礎資料如何經格式化、編碼或儲存,資料指代任何任意資料。
參看圖1(a)至圖1(b),串流100包括多個同步點(在圖式中,以i個同步點展示串流,此等同步點表示為SP1、SP2、SP3、...、SPi,統稱為SPj)。串流中之以下每一同步點為位元區塊(在圖式中,第j個區塊表示為Bj)。
如圖1(b)中所示,第i個同步點(SPi)由k個位元(b0、b1、...、bk)組成,且第i個位元區塊(Bi)由j個位元(c0、c1、...、c j )組成。
雖然第j個位元區塊在圖式中展示為緊接在第j
個同步點之後,但第j個位元區塊可與第j個同步點分離某個已知量應為顯而易見的。
在目前較佳的實施中,存在十六個(16)同步點,每一同步點由32個位元組成,且每一位元區塊由256個位元組組成。在另一實施中,存在十個(10)同步點,每一同步點由64個位元組成,且每一位元區塊由256個位元組組成。如本文中所使用,串流中之位元數目被稱為串流之大小,同步點中之位元數目被稱為同步點之大小,且位元區塊中的位元數目被稱為位元區塊的大小。熟習此項技術者在閱讀本描述時將認識且理解,可使用與上文所示之數目不同及/或其他數目個同步點,同步點可具有與上文所示之大小不同的大小,且位元區塊可具有與上文所示之數目不同的大小。
熟習此項技術者在閱讀本描述時將認識且理解,在一些情況下,同步點之數目可依據位元之串流的大小而判定。
對應於每一位元區塊Bj的係藉由以下方法而判定的值Hj:將函數(h)應用於位元區塊,使得:Hj=h(Bj)
值Hj在本文中亦稱為第j個位元區塊的區塊簽名。
函數h應具有以下性質:針對任何兩個任意位元區塊Ba及Bb,若Ba等於Bb,則h(Ba)=h(Bb)。
函數h之其他合乎需要的性質包括:
(a)Bi之小改變很可能導致h(Bi)之不同值;(b)函數h計算起來為相對容易且快速的。
函數h可為任何雜湊函數。在一些實施中,可使用諸如MD5或SHA-1或其類似者的訊息摘錄函數,但較佳可使用較簡單且較輕量的函數。較佳地,雜湊函數產生32位元之值。
熟習此項技術者在閱讀本描述時將認識且理解,函數h不需要(且很可能將不)為每一位元區塊產生唯一值。
每一串流具有對應串流簽名。現參看圖1(a)至圖1(c),具有i個同步點(SP1、SP2、SP3、...、SPi)之串流的簽名由i對<SPj,h(Bj)>組成,其中j=1...i。圖1(c)中之圖表展示圖1(a)之串流100之簽名102的邏輯表示。
參看圖2(a)及圖2(b)描述資料串流之串流簽名的產生。如圖2(a)中所示,藉由初始設置200處理串流S以產生串流簽名202。參看圖2(b)中之流程圖更詳細地描述藉由初始設置200之處理。初始設置程序200將針對某個k值產生串流簽名202,其由數(k)對<SPj,h(Bj)>組成,其中j=1...k。儘管k值較佳如上文所註明預設(例如10、15、20等),但k值亦可依據串流S之大小而判定。
在處理串流200的過程中,初始設置202可首先判定串流S之大小(在步驟204)。此大小資訊可用以(例如)判定此串流所需之同步點的數目(k)及/或在該串流內之同步點的分離。如在閱讀本描述時將變得顯而易見,針對任
何給定串流(S),較佳使同步點分佈在整個串流(S)上。
程序202接著(在步驟206)判定串流S中之下一(第i個)同步點(SP i ),及對應位元區塊(B i )。為位元區塊Bi判定值H(Bi)(在步驟208),且將對<SPj,H(Bj)>儲存在串流S之簽名中(在步驟210)。在步驟208計算之函數「H」對應於上文所描述之函數h,且較佳為諸如MD5或SHA或其類似者之雜湊函數的訊息摘錄。
程序202接著判定是否已為此串流S判定足夠的<同步點,值>對(在步驟212)。若已判定足夠的<同步點,值>對,則儲存串流之簽名(SS)(在步驟214),否則判定另一同步點(在步驟206)。在結束處理串流(S)時,產生且儲存與串流(S)相關聯之串流簽名(例如呈圖1(c)中所示之形式)。
如對熟習此項技術者在閱讀本描述時將變得顯而易見,兩個串流具有相同的串流簽名(如使用本文中所描述之程序而判定)之事實未必隱含該兩個串流為相同的。舉例來說,第一串流可由數百萬個位元組成,而串流簽名可由僅僅十個或二十個<同步點,位元區塊值>對組成,其中同步點隨機地分佈在串流上且其中每一同步點僅使用128個位元且每一位元區塊僅使用512個位元。在此情況下,若第二串流具有完全相同的<同步點,位元區塊值>對,則第二串流可對應於第一串流,但第二串流可能不對應於第一串流。然而,若第二串流不具有與第一串流相同的<同步點,位元區塊值>對,則第二串流不對應於第一串流。
發明者認識到,針對一些應用,可充分地判定資
料串流是否充分地對應於另一已知的資料串流。發明者認識到,在一些應用中,可充分地以某種程度的確定性判定兩個串流可能為相等的。此種資訊可用以觸發對串流之更廣泛(且可能更貴)的處理,以判定對應性或相等性。
現參看圖2(c),在已判定且儲存串流S之簽名(SS)後,可處理任意串流以判定其是否充分地對應於串流S。向比較程序216(下文參看圖2(d)描述)提供串流S',比較程序216使用先前儲存之串流簽名(SS)來判定輸入串流S'是否對應於串流S。
比較程序216判定是否存在更多串流要處理(在步驟218)。若不存在,則並未發現匹配且因此串流不匹配。若存在更多輸入串流要處理,則程序尋找同步點(在步驟220)。應瞭解,程序將尋找串流簽名SS中之同步點(SP)中的任一者,且不需要依次尋找該等同步點。如對熟習此項技術者在閱讀本描述時將顯而易見,此允許輸入串流以可無序地到達比較程序216之片或封包的形式而得以處理。
在已發現同步點(SP)後,比較程序216接著發現與彼同步點相關聯的對應位元區塊(B)(在步驟220),且判定位元區塊B之簽名H(B)。熟習此項技術者在閱讀本描述後將認識且理解,在比較程序216中使用之函數H必須與用以產生串流簽名之函數相同。
接下來(在步驟226),將對<SP,H(B)>與串流簽名SS中之同步點SP的對應對相比較。若該對不匹配(在步驟228),則處理串流之剩餘部分(若有的話)(在步驟
218、...)。另一方面,若(在步驟228)對<SP,H(B)>與串流簽名SS中之同步點SP的對應對匹配,則(在步驟230)比較程序216判定是否已存在充分對匹配來考慮串流匹配。對「充分匹配」之測試(在步驟230)目前可使用對串流中之匹配數目的計數,且可使用彼計數值來判定串流簽名之<同步點,區塊簽名>對的匹配百分比。在一些較佳實施中,70%匹配(例如十分之七的匹配)被認為係用以考慮串流匹配之充分匹配(在步驟232)。熟習此項技術者在閱讀本描述時將認識且理解,所需匹配百分比(高達且包括100%)為比較程序所需之準確度的函數。如上文所解釋,由於比較程序216可用以在發現匹配時(在步驟232)觸發額外(且代價更高的比較),因此熟習此項技術者將知道且理解以對充分匹配之串流的後續處理為代價替換誤報(false positive)匹配(在步驟232)的方法。
目前已經描述將輸入串流(S')與單一先前經處理串流(S)比較且可能地匹配。在一些實施例中,可將輸入串流與一個以上先前經處理串流比較。
圖3(a)中之圖表展示複數個(k)串流簽名之邏輯組織300,k個串流S1、...、Sk中之每一者具有一串流簽名。串流簽名中之每一者可如上文參看圖2(a)至圖2(b)所描述而判定。
現參看圖3(a)至圖3(b)及圖4(a)至圖4(b)描述將任意輸入串流(S)與此等k個串流中之每一者比較的程序。一串流與多個可能的串流比較的比較程序可為輸入串流中
之多個串流簽名發現同步點,且該比較程序亦可為一個以上簽名發現匹配<同步點,雜湊值>對。總之,該程序較佳地追蹤其為k個串流(S1...Sk)中之每一者發現的匹配<同步點,雜湊值>對之數目,且向充分匹配宣告輸入串流S與k個串流中之第一者之間的匹配(基於某一預定的充分性臨限值,如上文所論述)。
參看圖4(a)至圖4(b)中之流程圖,若存在更多串流S要處理(在步驟400),則處理繼續(在步驟402)為串流S1...Sk中之一者尋找S中之對應於同步點中之至少一者的同步點(SP)。在流程圖中,串流S1...Sk被稱為表示為S'之串流集合。若未發現同步點(在步驟402),則處理繼續(在步驟400)處理輸入串流S之任何剩餘部分。若(在步驟402)在S中發現對應於串流S1...Sk(亦即,串流集合S')中之任一者的同步點(SP),則處理繼續(在步驟404)判定與所發現同步點(SP)相關聯之位元區塊B的對應簽名H(B)。
接下來(在步驟406),將簽名對<SP,H(B)>與S'中之與同步點SP相關聯的所有串流的簽名相比較(其中SP為在S中發現的同步點,其對應於串流S1...Sk中之至少一者中之同步點中的至少一者;且H(B)為對應於同步點SP之位元區塊B的簽名)。再一次參看圖3(a),串流S1...Sk中之每一者的串流簽名經儲存且對該程序可用,使得可檢查<同步點,簽名>對。
若針對S'中之串流中之任一者的對<SP,H(B)>未發現匹配簽名對(在步驟408),則處理繼續(在步驟400)處
理輸入串流S之任何剩餘部分。若發現一或多個匹配對<SP,H(B)>(在步驟408),則處理繼續(在步驟410),其中更新S'中之所有匹配串流之<SP,H(B)>對的計數。
一旦更新該等計數(在步驟410),該程序就判定(在步驟412)S'中之串流(Sm)中的任一者是否具有充分的匹配對。若判定(在步驟412)S'中無串流具有充分的匹配對,則處理繼續(在步驟400)處理輸入串流S之任何剩餘部分。若任何串流Sm確實具有充分的匹配對,則處理完成(在步驟414)且輸入串流S被認為與具有充分匹配對之串流匹配。
應瞭解,上文描述之程序可導致輸入串流S與集合S'中之一個以上串流匹配。
在一些實施中,資料結構302(圖3(b))為每一串流簽名維持檢查清單,使得該程序每次可為彼串流劃分出(或檢查)<同步點,簽名>對匹配。彼清單允許系統為彼串流判定(例如計數)匹配對之數目。熟習此項技術者在閱讀本描述時將認識且理解,檢查清單可以任何數目種方式實施,該等方式包括(例如)作為位元映射,其中針對對應<同步點,簽名>對中之每一者具有一位元。在開始處理輸入串流時,檢查清單中之所有位元設定為零,且在發現匹配時,對應位元值設定為一。串流Sj之位元映射檢查清單中之位元的總和將接著為彼串流Sj給出輸入串流中之匹配對的數目。如將瞭解,不同及/或其他方案可用以追蹤匹配之數目。
熟習此項技術者在閱讀本描述時將認識且理
解,此處「匹配」一詞相對於兩個串流之使用未必隱含該兩個串流為相同的。若兩個串流之充足數目個<同步點,簽名>對為相同的,則彼等串流匹配。
如先前所論述,熟習此項技術者在閱讀本描述時將認識且理解,充分性之不同量測可用以判定兩個串流是否具有充分的匹配。在一些實施例中,70%匹配將被認為係充分的,而在其他實施例中,可需要較高匹配(高達100%)。熟習此項技術者在閱讀本描述時將認識且理解,如何基於例如程序之應用及對於誤報匹配之容限來選擇匹配充分性之量測。如較早注意,在一些應用中,一旦藉由此處所描述之程序發現兩個串流匹配,就可使用更多測試來判定該等串流是否匹配。
熟習此項技術者在閱讀本描述時將認識且理解,可將各種最佳化應用於實施匹配程序。資料結構應較佳為:˙可縮放的:應處置最初100至數百萬個輸入項目,其中在需要時可增長。
˙記憶體高效的:應使用儘量少的記憶體
˙搜尋高效的:對給定圖案之搜尋應不超過O(n)。
參看圖5描述串流匹配程序之實施的例示性資料結構。針對此實例,假定每一同步點為六至八個位元組之序列,且每一指紋為兩位元組長的值。額外(可選)資料亦可儲存在資料結構中。參看圖5,資料結構(稱為同步指紋
識別資料結構(SFDS))由一組陣列組成。
˙列1-256個位元長之陣列,其中每一位元對應於ASCII碼(對應於可出現在同步點中之碼)
˙列2-2562個位元長之陣列,其中256個位元與列1中之位元中的每一點相關
˙列3-2563個位元長之陣列,其中256個位元與列3中之位元中的每一點相關
˙列4-對應於列3中之具體輸入項目之樹的清單
在初始化程序中,同步點(6至8個位元組的序列)及指紋(具有額外可選資料集合之2個位元組長的雜湊值)之對如下儲存在資料結構中:
1.同步之第一位元組將設定在列1中之相關位元(若該相關位元還未設定)。
2.同步之第二位元組將設定在列2之256個位元中的相關位元,列2之256個位元與在列1中設定之位元相關(若該相關位元還未設定)。
3.同步之第三位元組將設定在列3之256個位元中的相關位元,列3之256個位元與在列2中設定之位元相關(若該相關位元還未設定)。
4.剩餘同步位元組儲存在對應於在步驟3設定之位元的樹中。(若該樹還未存在,則創建該樹。)
5.指紋及任何額外資料連接至來自以上步驟4之樹的相關葉。
以下實例展示上文所描述(在圖5中)之例示性資料結構的使用。現參看圖6(a)至圖6(c)中之圖式,考慮具有同步點SP1=「2、254、1、A、A、C」之串流(該圖案在此處在ASCII中展示),該同步點SP1=「2、254、1、A、A、C」具有對應指紋值0x23a9。將瞭解,此意謂與同步點SP1相關聯之位元區塊的雜湊為0x23a9。為了此實例,假定串流具有串流id 1000及同步索引5。
此對<「2、254、1、A、A、C」,0x23a9>可如下添加至資料結構:
1.同步點中之第一字元為「2」,因此將列1中之位元2設定為1。
2.同步點中之第二字元為254,因此將與列1之位元2對應的列2之256個位元中的位元254設定為1。亦即,將列2[2][254]設定為1。
3.同步點中之第三字元為1,因此設定與在步驟2中設定之位元對應的列3之256個位元中的第一位元。亦即,將列3[2,254][1]設定為1。
4.假定在步驟3中設定之位元已經具有與其對應之樹且該樹已經具有「A」作為與「A」無關之第一字元(同步點中之第四字元)。
5.同步點中之第五字元亦為「A」-將其添加至樹作為第二字母。
6.同步點中之第六字元為「C」,因此將其添加至樹作為第三字母且在其下面產生新的空白葉。
7.將指紋值(0x23a9)及額外資料(串流id 1000及同步索引5)儲存在記錄中且將其與在步驟6中產生之葉相關聯。
一旦資料結構經設置(如上文所描述),就可處理輸入串流,例如,如此處參看圖6(a)至圖6(c)所描述。匹配程序使用兩個輔助資料結構,即,匹配同步清單(MSL)資料結構(圖6(b))及向量之匹配簽名清單(MSLoV)資料結構(圖6(c))。
匹配同步清單(MSL)結構為具有高達n個輸入項目之清單(其中n為同步之長度)。在此實例中,同步長度為八且MSL具有八個輸入項目。清單保持經處理之同步的位址(SFDS,圖5)。向量之輸入項目i保持同步之位址,該同步之前i個位元組與SFDS中之同步匹配,且其第(i+1)個位元組還未經比較。-1值代表在彼長度中「無匹配」。
向量之匹配簽名清單(MSLoV)結構為向量之清單。MSLoV清單中之每一向量保持與給定串流之同步及彼串流之串流id匹配之同步的清單。向量之第j個輸入項目保持發現為與彼串流之同步匹配之第j個同步的同步索引(自SFDS獲得)。
使用此等資料結構之搜尋流程如下:
1.每當讀取新封包時,在彼封包中之所有位元組經逐位元組地掃描。將每一位元組與SFDS之列1中的位元組比較。若存在匹配,則MSL之輸入項目1設定為SFDS之列2的與SFDS之列1中之相關輸入項目相關的區
段。
2.在具有匹配之位元組之後的位元組經比較若干次。假定先前位元組為匹配中之第i個,則當前位元組將被檢查i次(按以下描述之相反次序進行檢查。亦即,首先進行步驟e中之檢查,接著d中之檢查,接著...且最後一者為步驟a中描述之檢查):
a.作為匹配中之第一者(如在步驟1中所描述)
b.作為匹配中之第二位元組,該匹配以藉由MSL之輸入項目1指向的部分同步開始-對照SFDS之列2的藉由MSL之輸入項目1指向的相關區段檢查該匹配。若發現匹配,則將輸入項目1設定為「-1」且用目前發現之部分匹配的位址(亦即,SFDS之列2中的相關輸入項目)更新輸入項目2。
c.作為匹配中之第三位元組,該匹配以藉由MSL之輸入項目2指向的部分同步開始-對照SFDS之列3的藉由MSL之輸入項目1指向的相關區段檢查匹配。若發現匹配,則將輸入項目2設定為「-1」且用目前發現之部分匹配的位址(亦即,SFDS之列2中的相關輸入項目)更新輸入項目3
d. ...
e.作為匹配中之第i個位元組,該匹配以藉由MSL之輸入項目i-1指向的部分同步開始-對照SFDS之藉由MSL之輸入項目i-1指向的相關區段檢查匹配。若發現匹配,則將輸入項目i-1設定為「-1」且用目前發現之部分匹配的位
址(亦即,SFDS中之相關輸入項目)更新輸入項目i
3.每當發現完全同步(亦即,步驟2中之i等於完全同步之長度且步驟2為成功的)時,計算指紋。將經計算指紋與藉由SFDF之樹葉指向的指紋比較,該等SFDF之樹葉藉由MSL之最後輸入項目中的SFDF區段指向。若發現匹配指紋,則獲得其串流Id及同步索引且更新MSLoV:
a.若MSLoV不具有彼串流Id之向量,則產生新向量且將其添加至MSLov之開始處。將新向量之串流Id設定為自SFDS獲得的串流Id。將新向量之輸入項目1設定為自SFDS獲得之同步索引。
b.若MSLoV已經具有彼串流Id之向量,則將其第一空缺輸入項目設定為自SFDS獲得之同步索引。
c.注意,若匹配同步在MSLoV中具有若干葉,則針對此等葉中之每一者分離地進行以上步驟a/b。
4.一旦MSLoV向量中之索引數目超過給定量(例如十分之八),則界定輸入流與串流之間的匹配,該串流之id藉由彼向量之串流Id儲存。
5.注意,僅為同步搜尋該流之具有預定長度的部分。若搜尋在識別匹配串流的情況下超過彼部分,則假定其為未知串流且清除MSL及MSLoV兩者。
熟習此項技術者在閱讀本描述時將認識且理解,不同及/或其他資料結構可用以實施此處所描述之程
序。應瞭解,相對於所使用之資料結構,某種效率為較佳的。作為目標,資料結構應儲存高達1百萬個同步點(各自6至8個位元組),其中指紋與同步圖案中之每一者相關。如所注意,資料結構較佳提前離線產生(該資料結構將為初始資料集合而準備,且接著在需要時以增量方式更新),而搜尋自身將即時進行。
使用在上文實例(圖6(a)至圖6(c))中描述之資料結構,針對一百萬個同步輸入項目:˙前3個位元組將被添加至3條線,每一條線具有256個輸入項目(3次28等於224,即等於1600萬個輸入項目)。緊接位元組將獨特地添加至每一首碼之最後行(小於1%將具有相同的首碼且清單結構將為足夠有效的,否則,可為新添加的串流考慮不同的同步圖案)。
˙添加新的同步離線進行且按照同步長度之次序。
˙搜尋資料結構中之同步可即時進行且按照同步長度O(1)之次序。
在一些情況下,資料之輸入串流可呈封包化資料之形式。此可例如在比較處理發生在諸如路由器之裝置中的情況下發生。在此等情況下,執行該處理之裝置可需要緩衝來自一個以上封包之酬載資料,以便執行該處理。
如所熟知,在基於封包之網路(諸如TCP/IP網路,例如網際網路)中,將自一位置發送至另一位置之資料經封包化(分割成多個封包)。參看圖7,典型封包包括位址
資訊及酬載。酬載包含待傳輸之資料,且位址資訊包括允許網路將封包路徑選擇至其目的地的資訊。熟習此項技術者在閱讀本描述時將認識且理解,可使用許多封包化形式,且封包之形式及類型不限於本發明。另外,應瞭解,一些網路可使用多個層級之協定,使得酬載自身可為包括其他位址資訊的封包。不管所使用之協定,熟習此項技術者將知道如何自特定封包提取對應於資料項目之資料。
若提前知道封包化種類,則較佳選擇同步點,使得每一同步點適合單一封包之酬載。然而,由於此情況可能並非可能的,因此獲得且緩衝多個連續封包之酬載以便執行上文所描述之處理(尋找同步點且接著處理其對應位元區塊)可為必要的。
熟習此項技術者在閱讀本描述時將認識且理解,所描述之程序及系統與當前使用之方法相比較快得多地且以更有效的方式支援兩個內容串流之間的比較。另外,本文中所描述之方法可處置經加密內容。
可以數種方式使用多種媒體(例如電腦可讀媒體)來儲存及傳輸實施此等方法之程式(以及其他類型之資料)。可代替或與可實施各種實施例之程序的軟體指令中之一些或全部組合來使用硬連接電路或定製硬體。因此,可使用硬體及軟體之各種組合來代替僅使用軟體。
圖8為電腦系統800之示意圖,在電腦系統800上可實施及實行本發明之實施例。
根據本實例,電腦系統800包括匯流排801(亦即互連線)、至少一處理器802、至少一通訊埠803、主記憶體804、可卸除式儲存媒體805、唯讀記憶體806及大容量儲存器807。
處理器802可為任何已知的處理器,諸如(但不限於)Intel® Itanium®或Itanium 2®處理器、AMD® Opteron®或Athlon MP®處理器、或Motorola®處理器系列、及其類似者。通訊埠903可為用於供基於數據機之撥號連接使用的RS-232埠、10/100乙太網路埠、使用銅或纖維之十億位元埠或USB埠及其類似者中之任一者。通訊埠803可取決於諸如以下各項之網路而選擇:區域網路(LAN)、廣域網路(WAN)、CDN或電腦系統800連接至之任何網路。電腦系統800可經由輸入/輸出(I/O)埠809與周邊裝置(例如顯示螢幕830、輸入裝置816)通訊。
主記憶體804可為隨機存取記憶體(RAM)或在此項技術中通常已知之任何其他動態儲存裝置。唯讀記憶體806可為用於為處理器802儲存諸如指令之靜態資訊的任何靜態儲存裝置,諸如可規劃唯讀記憶體(PROM)晶片。大容量儲存器807可用以儲存資訊及指令。舉例來說,可使用諸如Adaptec®家族之小電腦串列介面(SCSI)驅動器的硬碟、光碟、諸如獨立磁碟冗餘陣列(RAID)的磁碟陣列、諸如Adaptec®家族之RAID驅動器或任何其他大容量儲存裝置。
匯流排801以通訊方式將處理器802與其他記憶
體、儲存器及通訊區塊耦接。取決於所使用之儲存裝置及其類似者,匯流排801可為PCI/PCI-X、SCSI、基於通用串列匯流排(USB)之系統匯流排(或其他)。可卸除式儲存媒體805可為任何種類之外部硬碟機、軟碟機、IOMEGA® Zip驅動器、緊密光碟-唯讀記憶體(CD-ROM)、可重寫緊密光碟(CD-RW)、數位視訊碟片-唯讀記憶體(DVD-ROM)等。
可提供本文中之實施例作為電腦程式產品,其可包括具有儲存在上面之指令的機器可讀媒體,該等指令可用以程式化電腦(或其他電子裝置)以執行程序。如本文中所使用,「機器可讀媒體」一詞指代任何媒體、複數個相同媒體或不同媒體之組合,其參與提供可藉由電腦、處理器或類似裝置讀取之資料(例如指令、資料結構)。此種媒體可採取許多形式,包括但不限於非依電性媒體、依電性媒體及傳輸媒體。非依電性媒體包括例如光碟或磁碟及其他永久性記憶體。依電性媒體包括動態隨機存取記憶體,其通常構成電腦之主記憶體。傳輸媒體包括同軸電纜、銅線及光纖,其包括包含耦接至處理器之系統匯流排的電線。傳輸媒體可包括或傳達聲波、光波及電磁發射,諸如在射頻(RF)及紅外線(IR)資料通訊期間產生之聲波、光波及電磁發射。
機器可讀媒體可包括但不限於軟碟、光碟、CD-ROM、磁光碟、ROM、RAM、可抹除可規劃唯讀記憶體(EPROM)、電氣可抹除可規劃唯讀記憶體(EEPROM)、磁卡或光卡、快閃記憶體或適合於儲存電子指令之其他類型的媒體/機器可讀媒體。此外,本文中之實施例亦可作為電
腦程式產品經下載,其中程式可經由通訊鏈路(例如數據機或網路連接)藉由體現於載波或其他傳播媒體中之資料信號而自遠端電腦傳送至請求電腦。
各種形式之電腦可讀媒體可涉及將資料(例如指令之序列)攜載至處理器。舉例來說,資料可(i)自RAM遞送至處理器;(ii)經由無線傳輸媒體來攜載;(iii)根據許多格式、標準或協定格式化及/或傳輸;及/或(iv)以在此項技術中熟知之多種方式中的任一者加密。
電腦可讀媒體可儲存(以任何適合的格式)適合於執行該等方法的彼等程式元件。
如圖所示,主記憶體804用支援如本文中所論述之功能性的應用程式850-1編碼(應用程式850-1可例如為初始設置200或比較應用程式216)。應用程式850-1(及/或如本文中所描述之其他資源)可體現為諸如資料及/或邏輯指令之軟體程式碼(例如儲存在記憶體中或儲存在諸如碟片之另一電腦可讀媒體上的程式碼),其根據本文中所描述之不同實施例支援處理功能性。
在一實施例之操作期間,處理器802經由使用匯流排801來存取主記憶體804,以便啟動、運行、執行、中斷或以其他方式執行應用程式850-1之邏輯指令。應用程式850-1之執行在程序850-2中產生處理功能性。換言之,程序950-2表示在電腦系統800之處理器802內或上執行之應用程式850-1的一或多個部分。
應注意,除實行如本文中所論述之操作的程序
850-2之外,本文中之其他實施例包括應用程式850-1自身(亦即,未執行或非執行邏輯指令及/或資料)。應用程式850-1可儲存在諸如碟片、硬碟之電腦可讀媒體(例如儲存庫)上,或儲存在光學媒體中。根據其他實施例,應用程式850-1亦可儲存在記憶體類型系統中,諸如儲存在韌體、唯讀記憶體(ROM)中,或如在此實例中,作為可執行程式碼儲存在主記憶體804內(例如在隨機存取記憶體或RAM內)。舉例來說,應用程式850-1亦可儲存在可卸除式儲存媒體805、唯讀記憶體806及/或大容量儲存裝置807中。
上文參看圖2(a)至圖2(d)及圖4(a)至圖(b)論述藉由電腦系統800支援之實例功能性,且更特定言之,與應用程式850-1相關聯之功能性。
熟習此項技術者將理解,電腦系統800可包括其他程序及/或軟體及硬體組件,諸如控制硬體資源之分配及使用之作業系統。
如本文中所論述,本發明之實施例包括各種步驟或操作。多種此等步驟可藉由硬體組件執行或可體現於機器可執行指令中,該等機器可執行指令可用以使以該等指令程式化之通用或專用處理器執行該等操作。或者,可藉由硬體、軟體及/或韌體之組合執行該等步驟。「模組」一詞指代自身含有之功能組件,其可包括硬體、軟體、韌體或其任何組合。
一般熟習此項技術者在閱讀本描述時將容易地瞭解且理解,設備之實施例可包括可操作以執行一些(但
未必所有)所描述程序的電腦/計算裝置。
儲存程式或資料結構之電腦可讀媒體的實施例包括儲存程式之電腦可讀媒體,該程式在執行時,可使處理器執行一些(但未必所有)所描述程序。
在本文中描述程序之情況下,熟習此項技術者將瞭解,該程序可在無任何使用者介入之情況下操作。在另一實施例中,該程序包括一些人類介入(例如藉由人類或在人類之協助下執行步驟)。
應瞭解,申請專利範圍中之詞「第一」及「第二」用以區分或識別且並非展示串列或數字限制。類似地,字母或數字標籤(諸如「(a)」、「(b)」及其類似者)之使用用以幫助區分及/或識別且並非展示任何串列或數字限制或排序。
雖然已結合目前認為係最實務及最佳之實施例之事物描述本發明,但應理解,本發明不限於所揭示之實施例,但相反地,意欲涵蓋包括在所附申請專利範圍之精神及範疇內的各種修改及等效配置。
218~232‧‧‧步驟
Claims (18)
- 一種電腦實施之方法,其藉由硬體與軟體組合而實施,該方法包含:判定一資料串流中之複數個同步點,該資料串流由一任意位元序列組成,且每一同步點由該資料串流中之一位元序列組成;針對該等複數個同步點中之每一者,判定該資料串流中之一對應位元區塊,其中針對複數個位元區塊(B k ,k=1...i-1),第k個位元區塊(Bk)係由少於在該資料串流中之同步點(SPk)與下一個同步點(SPk+1)之間的所有位元所組成;針對每一位元區塊,藉由將一雜湊函數或訊息摘錄函數應用於該位元區塊來判定一對應區塊簽名;藉由將該等複數個同步點中之每一者與該對應位元區塊之該對應區塊簽名相關聯來形成一資料串流簽名,其中上述相關聯步驟形成一有序之對應同步點與區塊簽名對序列。
- 如請求項1之方法,其中每一特定同步點之該對應位元區塊直接鄰近於該資料串流中之該特定同步點。
- 如請求項1或2之方法,其中該雜湊函數選自包含以下各項之函數:SHA及MD5。
- 如請求項1或2之方法,其中每一同步點由32個位元組成。
- 如請求項1或2之方法,其中每一位元區塊由256個位元組組成。
- 一種電腦實施之方法,其藉由硬體與軟體組合而實施,該方法包含:(A)獲得一第一資料串流之一第一資料串流簽名,該第一資料串流簽名包含在該第一資料串流中之複數個同步點與對應複數個區塊簽名之間的一關聯,其中該關聯包含一有序之對應同步點與區塊簽名對序列(<SPj,H j>,j=1...i),其中各個該區塊簽名(H j ,j=1...i-1)係使用少於兩個連續同步點(SPj)與下一個同步點(SPj+1)之間的所有位元而判定;(B)試圖在一第二資料串流中發現該等複數個同步點中之一同步點;以及(C)若在該第二資料串流中發現該等複數個同步點中之一特定同步點,則:(C)(1)判定對應於該特定同步點之該第二資料串流中之一對應位元區塊的一區塊簽名,其中該區塊簽名藉由將一雜湊函數或訊息摘錄函數應用於該第二資料串流中之該對應位元區塊而判定;以及(C)(2)確定來自該第二資料串流之該特定同步點及該對應區塊簽名是否對應於該第一資料串流簽名中之一同步點及區塊簽名對;以及(C)(3)當來自該第二資料串流之該特定同步點及該對應區塊簽名對應於該第一資料串流簽名中之 一同步點及區塊簽名時,維持指示該對應性之計數資訊;(D)在該第二資料串流中之至少一些仍然未經處理時重複步驟(B)及步驟(C),直至來自該第二資料串流之一預定數目個同步點及對應區塊簽名與該第一資料串流簽名中之同步點及對應區塊簽名匹配為止;(E)當來自該第二資料串流之該預定數目個同步點及對應區塊簽名與該第一資料串流簽名中之同步點及對應區塊簽名匹配時,指出該第一資料串流與該第二資料串流之間的一匹配。
- 如請求項6之方法,其中針對該第二資料串流之多個不同的部分平行重複步驟(B)及步驟(C)。
- 如請求項6或7之方法,其進一步包含:(F)在發生如在(E)中判定之該第一資料串流與該第二資料串流之間的一匹配之情況下,選擇性地拒絕對該第二資料串流之存取。
- 如請求項6或7之方法,其進一步包含:(G)在發生如在(E)中判定之該第一資料串流與該第二資料串流之間的一匹配之情況下,維持關於該第二資料串流之資訊。
- 如請求項9之方法,其中該處理中至少一些發生在一特定裝置中,且其中該所維持之資訊包括關於該特定裝置的資訊。
- 如請求項10之方法,其中該裝置為一網路中之一路由器。
- 如請求項6或7之方法,其進一步包含:獲得複數個封包;以及自該等複數個封包提取酬載資訊以獲得該第二資料串流中之至少一些。
- 如請求項6或7之方法,其進一步包含:(H)在發生如在(E)中判定之該第一資料串流與該第二資料串流之間的一匹配之情況下,使該第二資料串流受到額外檢查以判定該第二資料串流是否與該第一資料串流相同。
- 如請求項6或7之方法,其中每一特定同步點之該對應位元區塊直接鄰近於該特定同步點。
- 如請求項6或7之方法,其中該雜湊函數選自包含以下各項之函數:SHA及MD5。
- 如請求項6或7之方法,其中每一同步點由32個位元組成。
- 如請求項6或7之方法,其中每一位元區塊由256個位元組組成。
- 一種電腦實施之方法,其藉由硬體與軟體組合而實施,該方法包含:(A)獲得複數個資料串流簽名,複數個資料串流中之每一者具有至少一串流簽名,該等複數個資料串流之每一特定資料串流的該資料串流簽名包含在該特定資料串流中之複數個同步點(SPj,j=1...i)與該特定資料串流中對應複數個位元區塊之對應複數個區塊簽名之間的 一關聯,其中該特定資料串流之該關聯包含在該特定資料串流中之一有序之對應同步點與區塊簽名對序列;及其中針對該特定資料串流中之複數個位元區塊(B k ,k=1...i-1),第k個位元區塊(Bk)係由少於在該資料串流中之第k個同步點(SPk)與下一個同步點(SPk+1)之間的所有位元所組成;(B)試圖在一第二資料串流中發現該等複數個資料串流簽名之一同步點;以及(C)若在該第二資料串流中發現該等複數個資料串流簽名之一同步點,則:(C)(1)判定該第二資料串流中之一對應位元區塊的一區塊簽名,其中該區塊簽名藉由將一雜湊函數或訊息摘錄函數應用於該第二資料串流中之該對應位元區塊而判定;以及(C)(2)確定該第二資料串流之該同步點及該對應區塊簽名是否對應於該等複數個資料串流簽名中之任一者中的一同步點及區塊簽名;以及(C)(3)當該第二資料串流之該同步點及該對應區塊簽名對應於該等複數個資料串流簽名中之一或多者中的一同步點及區塊簽名時,維持指示該對應性之資訊;(D)在該第二資料串流中之至少一些仍然未經處理時重複步驟(B)及步驟(C),直至來自該第二資料串流之一預定數目個同步點及對應區塊簽名與該等複數個資 料串流簽名中之至少一者中的同步點及對應區塊簽名匹配為止;(E)當來自該第二資料串流之一預定數目個同步點及對應區塊簽名與該等複數個資料串流之一第一資料串流簽名中之該預定數目個同步點及區塊簽名匹配時,指出該第一資料串流與該第二資料串流之間的一匹配。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261604859P | 2012-02-29 | 2012-02-29 | |
US201261607021P | 2012-03-06 | 2012-03-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201340689A TW201340689A (zh) | 2013-10-01 |
TWI594626B true TWI594626B (zh) | 2017-08-01 |
Family
ID=49083160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102106683A TWI594626B (zh) | 2012-02-29 | 2013-02-26 | 串流辨識與過濾技術 |
Country Status (8)
Country | Link |
---|---|
US (2) | US9703869B2 (zh) |
EP (1) | EP2820564B1 (zh) |
JP (1) | JP6340668B2 (zh) |
KR (1) | KR20140131333A (zh) |
CN (1) | CN104205089B (zh) |
AU (1) | AU2013226430A1 (zh) |
TW (1) | TWI594626B (zh) |
WO (1) | WO2013130281A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9444726B2 (en) | 2012-07-31 | 2016-09-13 | At&T Intellectual Property I, L.P. | Distributing communication of a data stream among multiple devices |
US9356980B2 (en) | 2012-07-31 | 2016-05-31 | At&T Intellectual Property I, L.P. | Distributing communication of a data stream among multiple devices |
US9491093B2 (en) | 2012-07-31 | 2016-11-08 | At&T Intellectual Property I, L.P. | Distributing communication of a data stream among multiple devices |
US10567489B2 (en) * | 2013-03-15 | 2020-02-18 | Time Warner Cable Enterprises Llc | System and method for seamless switching between data streams |
FR3010606A1 (fr) * | 2013-12-27 | 2015-03-13 | Thomson Licensing | Procede de synchronisation de metadonnees avec un document audiovisuel en utilisant des parties de trames et dispositif de production de telles metadonnees |
EP3356961B1 (en) | 2015-10-02 | 2020-05-27 | Google LLC | Peer-to-peer syncable storage system |
US10437829B2 (en) | 2016-05-09 | 2019-10-08 | Level 3 Communications, Llc | Monitoring network traffic to determine similar content |
CN108021580A (zh) * | 2016-11-04 | 2018-05-11 | 广东亿迅科技有限公司 | 一种数据同步更新方法及其系统 |
JP2019047331A (ja) * | 2017-09-01 | 2019-03-22 | 株式会社リコー | データ生成装置、データ生成方法、プログラム及びデータ記録システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007101324A1 (en) * | 2006-03-09 | 2007-09-13 | Borderware Technologies Inc. | Method and sytem for recognizing desired email |
US7373520B1 (en) * | 2003-06-18 | 2008-05-13 | Symantec Operating Corporation | Method for computing data signatures |
TW200922333A (en) * | 2007-10-31 | 2009-05-16 | Vns Portfolio Llc | Fault-resistant digital-content-stream AV packet switch |
TW200947976A (en) * | 2008-01-04 | 2009-11-16 | Yahoo Inc | System and method for delivery of augmented messages |
US20100293142A1 (en) * | 2009-05-12 | 2010-11-18 | Revinetix, Inc. | System and method for transmitting needed portions of a data file between networked computers |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4658093A (en) | 1983-07-11 | 1987-04-14 | Hellman Martin E | Software distribution system |
WO1995001599A1 (en) | 1993-07-01 | 1995-01-12 | Legent Corporation | System and method for distributed storage management on networked computer systems |
WO1996032685A1 (en) | 1995-04-11 | 1996-10-17 | Kinetech, Inc. | Identifying data in a data processing system |
JP3312105B2 (ja) * | 1997-02-05 | 2002-08-05 | 株式会社東芝 | 動画像インデックス生成方法および生成装置 |
US6807632B1 (en) | 1999-01-21 | 2004-10-19 | Emc Corporation | Content addressable information encapsulation, representation, and transfer |
US6717694B1 (en) * | 1998-07-31 | 2004-04-06 | Canon Kabushiki Kaisha | Data transmission apparatus, system and method, and recording medium |
US6574657B1 (en) * | 1999-05-03 | 2003-06-03 | Symantec Corporation | Methods and apparatuses for file synchronization and updating using a signature list |
US6819337B2 (en) * | 2000-06-28 | 2004-11-16 | Sun Microsystems, Inc. | Initializing a series of video routers that employ source-synchronous signaling |
JP4219086B2 (ja) * | 2000-12-21 | 2009-02-04 | 株式会社リコー | 抄本データ作成方法、抄本データ作成装置、そのための装置、及び記録媒体 |
US20040199786A1 (en) * | 2002-12-02 | 2004-10-07 | Walmsley Simon Robert | Randomisation of the location of secret information on each of a series of integrated circuits |
JP2004234641A (ja) * | 2003-01-08 | 2004-08-19 | Kddi Corp | コンテンツファイル制作者の認証方式およびそのプログラム |
US7809154B2 (en) | 2003-03-07 | 2010-10-05 | Technology, Patents & Licensing, Inc. | Video entity recognition in compressed digital video streams |
US7519726B2 (en) | 2003-12-12 | 2009-04-14 | International Business Machines Corporation | Methods, apparatus and computer programs for enhanced access to resources within a network |
US8549177B2 (en) * | 2004-03-02 | 2013-10-01 | Divinetworks Ltd. | Communication server, method and systems, for reducing transportation volumes over communication networks |
JP4901164B2 (ja) * | 2005-09-14 | 2012-03-21 | ソニー株式会社 | 情報処理装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
US8271403B2 (en) | 2005-12-09 | 2012-09-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for automatic comparison of data sequences using local and global relationships |
JP5022025B2 (ja) * | 2006-12-27 | 2012-09-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンテンツのデータ・ストリームとメタデータを同期するための方法および装置。 |
JP2008211022A (ja) * | 2007-02-27 | 2008-09-11 | Toshiba Corp | 不揮発性半導体記憶装置及びその製造方法 |
CN101796835B (zh) * | 2007-07-02 | 2012-08-08 | Lg电子株式会社 | 数字广播系统和数据处理方法 |
US8732236B2 (en) * | 2008-12-05 | 2014-05-20 | Social Communications Company | Managing network communications between network nodes and stream transport protocol |
JP5337411B2 (ja) | 2008-06-13 | 2013-11-06 | 京セラドキュメントソリューションズ株式会社 | 情報秘匿化方法および情報秘匿化装置 |
US8135930B1 (en) * | 2008-07-14 | 2012-03-13 | Vizioncore, Inc. | Replication systems and methods for a virtual computing environment |
US8400566B2 (en) * | 2008-08-21 | 2013-03-19 | Dolby Laboratories Licensing Corporation | Feature optimization and reliability for audio and video signature generation and detection |
US20100138414A1 (en) * | 2008-12-01 | 2010-06-03 | Andrew Newman | Methods and systems for associative search |
JP2009151798A (ja) * | 2009-01-19 | 2009-07-09 | Sony Corp | 画像処理装置および方法 |
JP5291523B2 (ja) * | 2009-04-21 | 2013-09-18 | 株式会社データ変換研究所 | 類似データ検索装置及びそのプログラム |
JP5297297B2 (ja) * | 2009-08-11 | 2013-09-25 | Kddi株式会社 | 動画コンテンツ検出装置 |
US8325276B2 (en) * | 2009-08-26 | 2012-12-04 | Samsung Electronics Co., Ltd. | System and method for real-time video content sharing with synchronization via closed-caption metadata |
US8910202B2 (en) * | 2009-12-08 | 2014-12-09 | Harmonic, Inc. | Modification and distribution of video content |
US20120176386A1 (en) * | 2011-01-10 | 2012-07-12 | Hutchins Edward A | Reducing recurrent computation cost in a data processing pipeline |
-
2013
- 2013-02-15 WO PCT/US2013/026264 patent/WO2013130281A1/en active Application Filing
- 2013-02-15 CN CN201380011606.9A patent/CN104205089B/zh not_active Expired - Fee Related
- 2013-02-15 JP JP2014559914A patent/JP6340668B2/ja not_active Expired - Fee Related
- 2013-02-15 KR KR1020147024179A patent/KR20140131333A/ko not_active Application Discontinuation
- 2013-02-15 EP EP13754088.6A patent/EP2820564B1/en active Active
- 2013-02-15 AU AU2013226430A patent/AU2013226430A1/en not_active Abandoned
- 2013-02-26 TW TW102106683A patent/TWI594626B/zh not_active IP Right Cessation
-
2014
- 2014-08-05 US US14/452,465 patent/US9703869B2/en active Active
-
2015
- 2015-03-27 US US14/671,695 patent/US10068017B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373520B1 (en) * | 2003-06-18 | 2008-05-13 | Symantec Operating Corporation | Method for computing data signatures |
WO2007101324A1 (en) * | 2006-03-09 | 2007-09-13 | Borderware Technologies Inc. | Method and sytem for recognizing desired email |
TW200922333A (en) * | 2007-10-31 | 2009-05-16 | Vns Portfolio Llc | Fault-resistant digital-content-stream AV packet switch |
TW200947976A (en) * | 2008-01-04 | 2009-11-16 | Yahoo Inc | System and method for delivery of augmented messages |
US20100293142A1 (en) * | 2009-05-12 | 2010-11-18 | Revinetix, Inc. | System and method for transmitting needed portions of a data file between networked computers |
Also Published As
Publication number | Publication date |
---|---|
WO2013130281A1 (en) | 2013-09-06 |
US20140351280A1 (en) | 2014-11-27 |
CN104205089A (zh) | 2014-12-10 |
US20150248485A1 (en) | 2015-09-03 |
US9703869B2 (en) | 2017-07-11 |
KR20140131333A (ko) | 2014-11-12 |
AU2013226430A1 (en) | 2014-09-04 |
JP6340668B2 (ja) | 2018-06-13 |
EP2820564A4 (en) | 2015-11-25 |
US10068017B2 (en) | 2018-09-04 |
EP2820564B1 (en) | 2019-04-10 |
EP2820564A1 (en) | 2015-01-07 |
TW201340689A (zh) | 2013-10-01 |
JP2015515770A (ja) | 2015-05-28 |
CN104205089B (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI594626B (zh) | 串流辨識與過濾技術 | |
US8244691B1 (en) | Dictionary architecture and methodology for revision-tolerant data de-duplication | |
US7715934B2 (en) | Identification of input files using reference files associated with nodes of a sparse binary tree | |
Myers Jr | A history of DNA sequence assembly | |
US9043275B2 (en) | Data synchronization using string matching | |
US10394763B2 (en) | Method and device for generating pileup file from compressed genomic data | |
US20130262941A1 (en) | Data Alignment Over Multiple Physical Lanes | |
AU2021287730A1 (en) | Systems and methods for compression and encryption of data | |
US8700918B2 (en) | Data masking | |
WO2021196463A1 (zh) | 一种区块链数据的同步方法、装置及电子设备、存储介质 | |
US8868584B2 (en) | Compression pattern matching | |
CN112534507B (zh) | 用于测序读值的分组和折叠的系统和方法 | |
AU2005297525C1 (en) | Device and method for testing and establishing test values | |
KR102497634B1 (ko) | 문자 빈도 기반 서열 재정렬을 통한 fastq 데이터 압축 방법 및 장치 | |
Wei et al. | An automatic carving method for RAR file based on content and structure | |
Bitouzé et al. | A practical framework for efficient file synchronization | |
Długosz et al. | Improvements in DNA reads correction | |
WO2004013769A2 (en) | Method and apparatus for combining data of biological sequences into a non-redundant data source | |
US12057861B2 (en) | System and method for extracting data from a compressed and encrypted data stream | |
US20240364360A1 (en) | Extracting data from a compressed and encrypted data stream | |
WO2023223445A1 (ja) | 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム | |
Pulova-Mihaylova et al. | Compressing High Throughput Sequencing Data–Models and Software Implementation | |
US20210110036A1 (en) | Computer security using context triggered piecewise hashing | |
JP2007274051A (ja) | バイト列探索器及び探索方法 | |
CN114564704A (zh) | 一种基于位隐藏的最小化失真关系型数据库水印方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |