TWI571724B - 將一群節點時序同步的技術 - Google Patents

將一群節點時序同步的技術 Download PDF

Info

Publication number
TWI571724B
TWI571724B TW104107434A TW104107434A TWI571724B TW I571724 B TWI571724 B TW I571724B TW 104107434 A TW104107434 A TW 104107434A TW 104107434 A TW104107434 A TW 104107434A TW I571724 B TWI571724 B TW I571724B
Authority
TW
Taiwan
Prior art keywords
external
oscillator
node
local
variables
Prior art date
Application number
TW104107434A
Other languages
English (en)
Other versions
TW201543196A (zh
Inventor
大衛 高梅茲古泰瑞茲
約瑟 帕拉維奇斯
拉斐爾 德拉瓜地亞剛拉利茲
Original Assignee
英特爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201543196A publication Critical patent/TW201543196A/zh
Application granted granted Critical
Publication of TWI571724B publication Critical patent/TWI571724B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

將一群節點時序同步的技術
本發明係有關於將一群節點時序同步的技術。
發明背景
眾多裝置含有由此等裝置使用以獨立地追蹤時間之時鐘。此等時鐘通常係基於實體振盪器,實體振盪器之準確性至少部分確定時間追蹤之準確性。
隨時間推移,實體振盪器可通常遭受自其原始相位之偏移以及自其最初設定頻率之偏斜。因此,可要求偶而再同步此等獨立時鐘以確保此等裝置依據相同時間基準操作。
依據本發明之一實施例,係特地提出一種經組配以與其他節點時序同步之節點,該節點包括:一通訊模組,其經組配以自一第一外部節點接收一或多個第一外部時間變數之值並自一第二外部節點接收一或多個第二外部時間變數之值;及一本地時間更新模組,其耦接至該通訊模組,其中該時間更新模組經組配以至少基於該一或多個第一外部時間變數之該等值及該一或多個第二外部時間變數之該 等值調整一或多個本地時間變數之值。
110、120、130、140、150、210、1210‧‧‧節點
215‧‧‧時間更新模組
220‧‧‧記憶體模組
225‧‧‧儲存模組
230‧‧‧時鐘模組
235‧‧‧通訊模組
260‧‧‧可信度模組
300、310、315、340、345、350、400、410、415、425、435‧‧‧區塊
320、330、420、430‧‧‧決策
500、600、700、800、910、920、1010、1020‧‧‧曲線圖
510、610‧‧‧位置
520、620‧‧‧穩定路徑
1100‧‧‧處理器核心
1110‧‧‧前端部分
1113‧‧‧程式碼指令
1120‧‧‧解碼器
1125‧‧‧暫存器重命名邏輯
1130‧‧‧排程邏輯
1150‧‧‧執行邏輯
1155-1至1155-N‧‧‧執行單元
1160‧‧‧後端邏輯
1165‧‧‧引退邏輯
1170‧‧‧記憶體
1215‧‧‧處理單元
1220‧‧‧記憶體單元
1225‧‧‧儲存單元
1227‧‧‧圖形處理單元
1230‧‧‧實體振盪器
1235‧‧‧通訊單元
1250‧‧‧系統單晶片(SoC)
1260‧‧‧攝影機
1265‧‧‧麥克風
1270‧‧‧天線
1275‧‧‧揚聲器
1280‧‧‧觸控螢幕
1285‧‧‧鍵盤及滑鼠
在閱讀實施方式之後且在參考隨附圖式之後,本發明之其他目標及優勢可變得顯而易見。
圖1為根據一些實施例的說明出於時序同步之目的而彼此通訊的一群節點之方塊圖。
圖2為根據一些實施例的說明經組配以與一群其他節點時序同步之節點的方塊圖。
圖3為根據一些實施例的說明用於時序同步一群節點之方法的流程圖。
圖4為根據一些實施例的說明用於判定一群節點之可信度的方法之流程圖。
圖5為根據一些實施例的說明範德波耳振盪器(Van der Pol oscillator)之相位圖的實例之曲線圖。
圖6為根據一些實施例的說明安德羅諾夫霍普夫振盪器(Andronov-Hopf oscillator)之相位圖的實例之曲線圖。
圖7為根據一些實施例的說明隨時間推移同步若干不同節點的範德波耳振盪器之時間變數的曲線圖。
圖8為根據一些實施例的說明隨時間推移同步若干不同節點的安德羅諾夫霍普夫振盪器之時間變數的曲線圖。
圖9包含根據一些實施例的說明觀察另一節點之一個節點的時間變數的比較及由觀察節點進行同步所要求之努力之曲線圖。
圖10包含根據一些實施例的說明觀察另一節點之一個 節點的時間變數的比較及由觀察節點進行同步所要求之努力之曲線圖,其中兩個節點具有不同振盪器模型。
圖11為根據一些實施例的說明處理器之方塊圖。
圖12為根據一些實施例的說明包含系統單晶片之節點的方塊圖。
雖然本發明易有各種修改及替代形式,但在圖式及隨附實施方式中以舉例方式展示其具體實施例。然而,應理解,圖式及實施方式並不意圖將本發明限於特定實施例。本發明實情為意圖涵蓋屬於如由所附申請專利範圍所定義的本發明之範疇內的所有修改、等效物及替代例。
較佳實施例之詳細說明
圖1為根據一些實施例的說明出於時序同步之目的而彼此通訊的一群節點之方塊圖。
在各種實施例中,群組中之節點中的一或多者與群組中之所有其他節點直接通訊。在各種實施例中,節點中之一或多者僅與群組中之其他節點的子集直接通訊。
在一些實施例中,節點110、120、130、140及150(「節點」)經組配以執行各種任務,該等任務中之至少一些要求節點實質上與群組中之其他節點時序同步。
在一些實施例中,節點中之各者經組配以藉由週期性地傳輸時間相關資訊至其他節點之至少一子集並自該子集接收時間相關資訊而試圖保持與其他節點實質上時序同步。應注意,時序同步亦可實現於節點之子群內。
在一些實施例中,節點中之各者經組配以在本地實施離散邏輯振盪器以便為彼節點建立時間值。可使用各種類型之振盪器,包含藉由一個、兩個或兩個以上狀態變數實施之離散化振盪器。此振盪器之實例為可使用以下方程式實施的範德波耳振盪器:
離散範德波耳振盪器之實例的時間變數更新方程式
其中x1及x2為振盪器之時間變數,x1,new及x2,new為振盪器之新的經更新時間變數,τ為更新之間的時間或取樣間隔,且ω為振盪器角頻率/參數。亦可使用具有其他參數之範德波耳振盪器。亦可使用其他類型之振盪器,諸如安德羅諾夫霍普夫類型之振盪器:
離散安德羅諾夫霍普夫振盪器之實例的時間變數更新方程式
其中x1及x2為振盪器之變數,x1,new及x2,new為振盪器之新的經更新變數,τ為更新之間的時間或取樣間隔,且ω為振盪器角頻率/參數。
在一些實施中,使用來自位於各節點上之實體時鐘/振盪器的定時資訊實施各節點中之本地邏輯振盪器。舉 例來說,可依據來自此實體振盪器之循環量測更新之間的時間τ。此等實體振盪器通常在相位及/或頻率上自其他節點中之對應實體時鐘漂移。因此,相比於其他節點中之對應邏輯振盪器,節點中之各者中的邏輯振盪器亦可發生時間漂移。因此,節點可需要交換時間資訊以便在節點間或至少在節點之子集當中維持時序同步。
在一些實施例中,節點可形成同級間網路以用於共用資訊(包含定時資訊)。可使用各種類型之協定及媒體形成網路。舉例來說,節點可使用各種類型之無線通訊協定(包含光學或無線電通訊協定)建立無線通訊,或節點可使用各種類型之有線通訊協定建立有線通訊。
在一些實施中,節點可獨立地操作且可各自經組配以將節點之邏輯振盪器的狀態資訊(諸如,振盪器之時間變數)傳輸至其他節點。節點中之各者亦可經組配以觀察其他節點並自其他節點接收狀態資訊。
應注意,在一些實施例中,節點之子集可僅自節點群組中之節點的另一子集接收資訊及/或傳輸資訊至節點群組中之節點的另一子集。舉例來說,各節點可經組配以僅自節點之最近相鄰者接收資訊並將資訊傳輸至該等相鄰者。亦應注意,節點可經組配以將資訊傳輸至節點之某一子群並自節點之另一子群接收資訊。
在一些實施例中,不必出於時序同步之目的在網路中將某一節點指定為「伺服器」或「主控裝置」。因此,一個節點(或甚至節點之子集)之失效可並不影響其他節點 之時序同步程序。
在一些實施例中,各節點經組配以自一或多個外部節點接收時間資訊。所接收時間資訊指示由一或多個外部節點所維持之時間值。對於接收節點而言,此等所接收時間值為「外部」時間值。
在一些實施中,外部節點中之各者經組配以將其時間變數中之一或多者傳輸至其他節點。其他節點經組配以接收一或多個(對其而言為外部)時間變數,並至少基於所接收外部時間變數調整其對應本地邏輯振盪器。在一些實施例中,外部節點能夠在外部節點之振盪循環期間多次傳輸時間資訊。
在一些實施中,各節點可經組配以繼續自各種外部節點接收外部時間資訊,並繼續至少基於所接收外部資訊調整其自身本地時間。在一些實施例中,節點可基於硬體組態、應用要求、功率消耗等調整節點可在其中傳輸時序同步資訊或甚至接收時序同步資訊的間隔。應注意,某些節點可經組配以僅自網路中之其他節點接收時間資訊及同步;此等某些節點可未經組配以將時序同步資訊傳輸至其他節點。
在一些實施例中,本地節點可經組配以在使用來自外部節點之時間資訊以調整本地節點之時間資訊之前判定彼外部節點之可信度。因此,在一些實施例中,本地節點可避免用來自(例如)意外發生故障抑或遭到侵入且正執行惡意程式碼之節點的時間資訊污染本地節點之時間值。 在一些實施例中,經污染時間值可不僅負面影響本地節點,且亦影響可隨後自本地節點接收經污染時間值之其他節點。
在一些實施中,可藉由允許被判定為不可信之節點自其他節點接收時序同步資訊而仍准許其與網路中之其他節點時序同步。
在一些實施中,以下邏輯振盪器及同步協定關係可由彼此處於有效時序同步之一群節點使用:
使用來自外部節點之時間變數的時間變數同步方程式
其中z1,new及z2,new為自外部節點接收時間資訊之本地節點的經更新本地時間變數,z1及z2為本地節點之本地時間變數,τz為來自外部節點之訊息之間的時間間隔,ω0為本地振盪器之參數,且r,li(i=1,2,3)為設計參數。
變數為自外部節點中之一者所接收的外部時間變數,且其指示外部節點處之外部時間值。變數ez為外部時間變數與本地時間變數之間的差異的度量。此差異用於上文之本地時間變數更新方程式中以便導致本地時間變數朝向外部時間變數移位且因此朝向外部時間值移位本地時間值。
z3為可用於判定外部節點之可信度的本地變數。在一些實施例中,z3可指示本地節點為了使其自身保持與外部節點時序同步所需進行之努力。若外部節點的安全受到危害或發生故障,則本地節點可需要進行較多努力以維持與外部節點之時序同步。對於工作良好的外部節點,相反情況是成立的:本地節點可幾乎不需要進行努力來維持與外部節點之時序同步。因此,努力量可用作外部節點之可信度的指示符。
在一些實施例中,可使用諸如如下之替代性振盪器及同步協定:
使用來自外部節點之時間變數的時間變數替代性同步方程式
其中x1,new及x2,new為經更新本地時間變數,x1及x2為本地時間變數,為外部節點之外部時間變數,τx為來自外部節點之訊息之間的時間間隔,ω0為本地振盪器之參數,e為誤差變數,且r,ki(i=1,2,3)為設計參數。
在再其他實施例中,可使用諸如如下的接收兩個外部變數之同步協定:
使用來自外部節點之兩個時間變數的時間變數替代性同步及可信度判定方程式
其中x1,new及x2,new為經更新本地時間變數,x1及x2為本地時間變數,為外部節點之外部時間變數,ξ1及ξ2為輔助變數,τx為來自外部節點之訊息之間的時間間隔,ω0為本地振盪器之參數,e1及e2為誤差變數,且r1,r2,ki(i=1,2)為設計參數。
應注意,各種其他類型之邏輯振盪器模型可用於節點中之各者中。因此,可在節點中之各者處使用各種其他類型之時序同步模型以用於與其他節點時序同步。在一些實施中,舉例來說,可使用其他數目個方程式及/或其他數目個狀態變數,而非藉由兩個狀態變數及兩個更新方程式實施邏輯振盪器。舉例來說,可藉由一個變數之一個二階微分方程式(及變數之一階及二階時間導數)實施邏輯振盪器。在一些實施例中,可判定一或多個外部時間變數與一或多個對應本地時間變數之間的數值差異(差量)。在一些實施例中,此等差量提供本地振盪器與外部振盪器之間的時間差異的指示。在一些實施中,可將本地時間變數按取決於差量中之一或多者的量加以校正以便將本地時間變數 移位為更接近外部時間變數。舉例來說,可使用對差量具有線性、二次或其他非線性相關性之調整逐漸地修改本地時間變數。
圖2為根據一些實施例的說明經組配以與一群其他節點時序同步之節點的方塊圖。
在一些實施例中,節點210表示可如何實施圖1中所展示之節點中的一或多者之實例。應注意,一或多個額外組件/單元/模組可包含於節點中之各者中,且此處所展示組件中之一或多者可並不存在於節點中。另外,應注意,組件/單元/模組中之一或多者可實施於硬體、韌體、軟體或彼等之組合中。此外,應注意,可由一或多個其他單元實施一或多個組件中之各者。
時間更新模組215經組配以實施節點210之功能性中之至少一些。時間更新模組215耦接至記憶體模組220(其可包含依電性記憶體)及儲存模組225(其可包含非依電性記憶體)且經組配以與該等模組交換資料。在一些實施例中,時間更新模組215經組配以實施並更新可由節點210使用以判定節點之本地時間值的邏輯振盪器。
時間更新模組215亦可耦接至經組配以提供本地基準時間信號之時鐘模組230。基準時間信號可用於(例如)邏輯振盪器的實施。在各種實施例中,時鐘模組可包含晶體振盪器、諧振電路、壓控振盪器(VCO)或其他定時基準裝置。
時間更新模組215亦可耦接至通訊模組235,其經 組配以使用一或多個有線或無線通訊協定與一或多個其他節點通訊。
在一些實施例中,節點210經組配以與一或多個其他節點交換定時資訊以用於在節點之間維持時序同步。在一些實施中,各種節點之時鐘模組中的實體限制可導致各種節點處之時間值彼此不同。在節點之間交換時間資訊可有助於維持節點之間的時序同步。
在一些實施例中,時間更新模組215經組配以經由通訊模組235自第一外部節點接收一或多個第一外部時間變數之值並自第二外部節點接收一或多個第二外部時間變數之值。時間更新模組215可經組配以至少基於一或多個第一外部時間變數之值及一或多個第二外部時間變數之值調整一或多個本地時間變數之值。本地時間變數可定義經設計以定義本地時間值之本地邏輯振盪器。
在一些實施例中,可信度模組260經組配以至少基於自外部節點所接收之定時資訊判定外部節點之可信度。在一些實施中,時間更新模組215經組配以僅在可信度模組260判定外部節點之可信度高於某一可信度臨限值時使用來自外部節點之外部時間變數更新本地時間變數。
圖3為根據一些實施例的說明用於時序同步一群節點之方法的流程圖。
在一些實施例中,可由圖1及圖2中所展示之節點中的一或多者實施此處所描述方法。
處理開始於300處,其中在區塊310處,初始化本 地節點處之一或多個本地時間變數。在一些實施例中,本地時間變數表示由本地節點使用以判定本地時間值之邏輯本地振盪器。本地時間變數值及邏輯振盪器至少基於本地實體時鐘。相比於其他節點上之對應實體時鐘,實體時鐘可大體上發生時間漂移。因此,本地邏輯振盪器可需要與其他節點之邏輯振盪器進行時序同步。
在區塊315處,本地節點等待將自另一外部節點接收的同步訊息,且在決策320處,作出關於是否在時間週期「t」內接收同步訊息之判定。在一些實施例中,t之值可相關於本地邏輯振盪器之動態特性。舉例來說,t之值可被選擇為小於本地邏輯振盪器之一半週期。
若到「t」時間週期結束時並未接收到訊息,則決策320分支至「否」分支,其中在區塊350處重設本地振盪器參數中之至少一些。此等參數之實例為來自方程式4之參數r及來自方程式5之參數r1,r2。在一些實施例中,當在t間隔內並未接收到訊息時,可將參數r,r1,r2設定成零。在本地振盪器之一些實施中,將此等參數設定成零可等效於僅使用內部本地模型演進本地振盪器。當及若接收到更新訊息時,則可為參數指派不同於零之值且可考慮自外部節點所接收之資訊以更新本地振盪器模型。處理隨後返回至區塊315,其中本地節點等待另一同步訊息。
另一方面,若在「t」時間量內接收到訊息,則決策320分支至「是」分支,其中在決策330處,作出關於外部節點是否可信之另一判定。如先前論述,可實施各種 方法以用於判定外部節點之可信度。可能自不可信節點接收時間資訊,且因此在一些實施例中,並不將此時間資訊用於更新本地節點處之時間資訊。
若發現外部節點不可信,則決策330分支至「否」分支,其中在區塊345處,忽略同步訊息。處理隨後在重設本地振盪器參數之區塊350處繼續且接著至區塊315,其中本地節點等待另一同步訊息。
另一方面,若發現外部節點可信,則決策330分支至「是」分支,其中在區塊340處,至少基於與所接收同步訊息包含在一起的來自外部節點之所接收外部時間變數調整本地時間變數。在各種實施中,該等調整使用上文呈現之方程式3、方程式4或方程式5中的更新定義。
處理隨後返回至區塊315,其中本地節點等待另一同步訊息。
圖4為根據一些實施例的說明用於判定一群節點之可信度的方法之流程圖。
在一些實施例中,可由圖1及圖2中所展示之節點中的一或多者實施此處所描述方法。
處理在400處開始,其中在區塊410處,在本地節點處將相鄰外部節點初始化為不可信。在一些實施例中,相鄰外部節點屬於本地節點經組配以自其接收時間資訊之一群節點。本地節點可使用來自外部節點之所接收時間資訊以便更新本地節點處之時間。因此,本地節點經組配以在使用來自外部節點之時間資訊以更新本地時間資訊之前 判定外部節點之可信度。在一些實施例中,若外部節點被判定為不可信,則可忽略彼外部節點:本地節點並不使用來自該外部節點之時間資訊更新本地節點處之時間資訊。
在區塊415處,自外部節點接收外部時間變數。來自外部節點之外部時間變數指示外部節點處之外部時間值。接著使用所接收外部時間變數判定各外部節點之可信度指示符。各種方法可用於判定可信度指示符。舉例來說,各種實施例可將變數(諸如,來自上文方程式3之z3)用作自對應外部節點所接收資訊之可信度的指示符。
接著在決策420處,作出關於是否還有用於可信度檢查之額外節點的判定。若無剩餘的額外節點,則決策420分支至「否」分支,其中處理返回至自外部節點接收額外外部時間變數以用於額外處理之區塊415。
另一方面,若還有用於檢查之額外外部節點,則決策420分支至「是」分支,其中在區塊425處,選擇下一外部節點。分析自彼外部節點接收之外部時間變數以判定彼外部節點之可信度指示符。
在決策430處,作出關於外部節點之可信度指示符是否高於某一臨限值之判定。若外部節點之可信度並不高於臨限值,則決策430分支至「否」分支從而返回至決策420以用於處理額外外部節點。
在一些實施例中,可信度指示符可用於判定時間更新之加權因子。舉例來說,當用於時間更新時,可信節點可被賦予接近於1之權重,且當用於時間更新時,不可信 節點可被賦予接近於0之權重。
另一方面,若外部節點之可信度高於臨限值,則決策430分支至「是」分支,其中在區塊435處,在至少某一時間量中將外部節點添加至可信外部節點清單。可基於預期節點可靠之預期時間量設定此「可信持續時間」週期。舉例來說,取決於硬體及/或軟體之預期可靠性,此週期可為一秒之若干分之一、幾秒、幾分鐘、幾小時、幾天等。
隨後,處理返回至決策420以用於處理額外外部節點。
圖5為根據一些實施例的說明範德波耳振盪器之相位圖的實例之曲線圖。
曲線圖500為範德波耳邏輯振盪器之第一變數x 1相對第二變數x 2之相位圖。舉例來說,可使用上文針對變數x 1x 2所呈現的方程式1產生該圖。
由曲線圖500(及方程式1)所表示之振盪器為可由圖1中所展示節點中之任一者使用以實施本地邏輯時鐘來判定節點處之本地時間的振盪器之實例。在此實例中,振盪器路徑開始於位置510處且接著在第一循環內安定於穩定路徑520處。
如先前所提到,具有各種類型之參數的各種類型振盪器可用於實施節點中之時鐘。
圖6為根據一些實施例的說明安德羅諾夫霍普夫振盪器之相位圖的實例之曲線圖。
曲線圖600為安德羅諾夫霍普夫振盪器之第一變 數x 1相對第二變數x 2之相位圖。舉例來說,可使用來自上文呈現的方程式2之變數產生該圖。
由曲線圖600(及方程式2)所表示之振盪器為可由圖1中所展示的節點中之任一者使用以實施本地邏輯時鐘來判定節點處之本地時間的振盪器之實例。在此實例中,振盪器路徑開始於位置610處且接著在第一循環內安定於穩定路徑620處。
如先前所提到,具有各種類型之參數的各種類型振盪器可用於實施節點中之時鐘。
圖7為根據一些實施例的說明隨時間推移同步若干不同節點之範德波耳振盪器的時間變數的曲線圖。
曲線圖700展示各自屬於來自一群節點的若干獨立範德波耳振盪器的時間變數中之一者相對時間的圖。在此實例中,20個節點(類似於圖1中所展示之節點)用於圓形網路拓撲。隨機初始化各節點之振盪器,且至時間30時開始所有節點的同步。如可由曲線圖700看出,至時間42時達到所有節點之間的時序同步。在此實例中,使用如描述於上文呈現之方程式3中的節點間之互動式回饋實現時序同步。
圖8為根據一些實施例的說明隨時間推移同步若干不同節點之安德羅諾夫霍普夫振盪器的時間變數的曲線圖。
曲線圖800展示各自屬於來自一群節點的若干獨立安德羅諾夫霍普夫振盪器的時間變數中之一者相對時間 的圖。在此實例中,20個節點(類似於圖1中所展示之節點)用於圓形網路拓撲。隨機初始化各節點之振盪器且至時間10時開始所有節點的同步。如可由曲線圖800看出,至時間30時達到所有節點之間的時序同步。在此實例中,使用如描述於下文方程式中的節點間之互動式回饋實現時序同步:
離散安德羅諾夫霍普夫振盪器之實例的時間變數更新方程式
其中x1及x2為振盪器之變數,x1,new及x2,new為振盪器之新的經更新變數,τx為更新之間的時間或取樣間隔,且ω為振盪器角頻率/參數。ω為本地振盪器之參數,且r,ki(i=1,2)為設計參數。
變數為自外部節點中之一者所接收的外部時間變數,且其指示外部節點處之外部時間值。變數e為外部時間變數與本地時間變數之間的差異的度量。此差異用於上文之本地時間變數更新方程式中以便導致本地時間變數朝向外部時間變數移位且因此朝向外部時間值移位本地時間值。
圖9包含根據一些實施例的說明觀察另一節點之一個節點的時間變數的比較及由觀察節點進行同步所要求 之努力之曲線圖。
曲線圖910為外部節點之外部時間變數及本地節點之本地時間變數的相對時間之圖。在此實例中,本地節點及外部節點兩者皆經組配以使用具有相同參數之相同類型邏輯振盪器進行操作。出於維持與外部節點的時序同步之目的,本地節點經組配以觀察外部節點(藉由自外部節點接收時間資訊)。如可由曲線圖看出,本地時間變數以相比於外部變數的不同相位初始化且其快速匹配外部時間變數之相位及頻率。
曲線圖920為由本地節點觀察外部節點並將其相位及頻率匹配外部節點所要求之「努力」相對時間的圖。如可由曲線圖看出,在時序同步開始時,最初要求本地節點進行一些努力。但隨著本地節點將其相位及頻率匹配至外部節點,此努力快速安定為零。
在一些實施例中,努力(或努力變數之量值/絕對值)可為外部節點之可信度的指示。舉例來說,若外部節點意外抑或經由惡意攻擊而受到危害,則外部節點之振盪器可不再實施相同於本地節點之模型。因此,本地節點可需要進行較大努力以與外部節點保持同相,從而指示外部節點可能不再可信。
圖10包含根據一些實施例的說明觀察另一節點之一個節點的時間變數的比較及由觀察節點進行同步所要求的努力之曲線圖,其中兩個節點具有不同振盪器模型。
曲線圖1010為外部節點之外部時間變數及本地 節點之本地時間變數的相對時間之圖。在此實例中,本地節點及外部節點兩者皆經組配以藉由相同類型之振盪器進行操作,但兩個振盪器具有不同參數。出於與外部節點時序同步之目的,本地節點經組配以觀察外部節點(藉由自外部節點接收時間資訊)。如可由曲線圖看出,本地時間變數以相比於外部變數的不同相位初始化,但其遲早會在相位及頻率上匹配外部時間變數。
曲線圖1020為由本地節點觀察外部節點並將其相位及頻率匹配外部節點所要求之「努力」相對時間的圖。如可由曲線圖看出,最初要求本地節點進行一些努力,且甚至在本地節點將其相位及頻率匹配外部節點之後,所要求的努力量仍保持相對較高。
在一些實施例中,努力可為外部節點之可信度的指示。舉例來說,若外部節點意外抑或經由惡意攻擊受到危害,則外部節點之振盪器可不再實施相同於本地節點之模型。正如此實例中之狀況,甚至在本地節點在相位及頻率上匹配外部節點之後,仍要求本地節點進行一些明顯持續努力以與外部節點保持同相。此大量努力可被理解為外部節點就時序同步目的而言並不可信之指示符。
圖11為根據一些實施例的說明處理器之方塊圖。
圖11說明根據一個實施例之處理器核心1100。處理器核心1100可為用於任何類型之處理器的核心,諸如微處理器、嵌入式處理器、數位信號處理器(DSP)、網路處理器或用以執行程式碼之其他裝置。儘管圖11中僅說明一個 處理器核心1100,但處理元件可替代性地包含一個以上圖11中所說明之處理器核心1100。處理器核心1100可為單一執行緒核心,或對於至少一個實施例,處理器核心1100可為多執行緒的,此係因為其每核心可包含一個以上硬體執行序文(或「邏輯處理器)」。
圖11亦說明耦接至處理器1100之記憶體1170。記憶體1170可為如熟習此項技術者已知或以其他方式可供熟習此項技術者使用的廣泛多種記憶體中之任一者(包含記憶體階層之各種層)。記憶體1170可包含待由處理器1100核心執行之一或多個程式碼指令1113。處理器核心1100遵循由程式碼1113所指示之程式指令序列。各指令進入前端部分1110並由一或多個解碼器1120處理。解碼器可按預定義格式產生微操作(諸如固定寬度微操作)作為其輸出;或可產生反映原始程式碼指令之其他指令、微指令或控制信號。前端1110亦包含暫存器重命名邏輯1125及排程邏輯1130,其大體上分配資源並將對應於轉換指令的操作排入佇列以供執行。
處理器1100被展示為包含具有執行單元1155-1、1155-2至1155-N之集合的執行邏輯1150。一些實施例可包含專用於特定功能或功能集合之數個執行單元。其他實施例可包含僅一個執行單元或可執行特定功能的一個執行單元。執行邏輯1150執行由程式碼指令所指定之操作。
在完成執行由程式碼指令所指定之操作之後,後端邏輯1160使程式碼1113之指令引退。在一個實施例中, 處理器1100允許無序執行,但要求有序指令引退。引退邏輯1165可呈如熟習此項技術者已知之多種形式(例如,重新定序緩衝器或其類似者)。以此方式,處理器核心1100在程式碼1113之執行期間至少在由解碼器所產生的輸出、由暫存器重命名邏輯1125利用的硬體暫存器及表以及由執行邏輯1150修改的任何暫存器(未展示)方面經變換。
儘管圖11中未說明,但處理元件可包含與處理器核心1100一起在晶片上之其他元件。舉例來說,處理元件可包含記憶體控制連同處理器核心1100。處理元件可包含I/O控制邏輯及/或可包含與記憶體控制邏輯整合之I/O控制邏輯。處理元件亦可包含一或多個快取記憶體。
在一些實施例中,程式碼1113可經組配以導致/促進自至少一第一外部節點及第二外部節點接收來自第一外部節點之一或多個第一外部時間變數之值及來自第二外部節點之一或多個第二外部時間變數之值。此外,程式碼1113可經組配以導致/促進至少基於一或多個第一外部時間變數之值及一或多個第二外部時間變數之值調整一或多個本地時間變數之值。因此,程式碼1113可適於導致對應於經歷時序同步程序之邏輯振盪器的狀態變數之暫存器或記憶體元件的變換。
圖12為根據一些實施例的說明包含系統單晶片之節點的方塊圖。
在一些實施例中,節點1210表示可如何實施圖1中所展示節點中之一或多者的替代性實例。應注意,一或 多個額外組件/單元可包含於節點中之各者中且此處所展示組件中之一或多者可不存在於節點中。另外,應注意,組件中之一或多者可實施於硬體、韌體、軟體或彼等之組合中。此外,應注意,可由一或多個其他單元實施一或多個組件中之各者。
節點1210可包含可大體上設計為單一積體電路封裝之系統單晶片(SoC)1250。在一些實施中,SoC 1250可製造於單一半導體晶圓基體上。在各種實例中,節點1210可建構為包含各種SOC設計及製造方法以有效地產生小型計算系統。SoC 1250可包含處理單元1215、記憶體單元1220、儲存單元1225、圖形處理單元1227、實體振盪器1230及通訊單元1235以及其他單元。應注意,在其他實施中,SoC 1250中之各種裝置及模組中之一或多者可製造於分別的半導體晶圓基體上。舉例來說,在一些實施中,實體振盪器1230可駐留於一或多個分別的半導體封裝上。
另外,節點1210亦可包含用於捕獲影像/視訊之一或多個攝影機1260、用於捕獲音訊之一或多個麥克風1265、用於促進電磁傳輸/接收以用於通訊之一或多個天線1270、用於輸出音訊之一或多個揚聲器1275、用於輸出影像/視訊並接收使用者輸入之一個以上觸控螢幕1280及用於接收使用者輸入之一或多個鍵盤及滑鼠1285。此外,節點1210可包含一或多個感測器,諸如位置感測器、接近度感測器、光感測器、加速計、磁性感測器、壓力感測器、溫度感測器、生物測定保安感測器等。
處理單元1215經組配以執行指令以便實施節點1210之功能性。處理單元1215耦接至依電性記憶體單元1220及非依電性儲存單元1225且經組配以與該等單元交換資料。在一些實施例中,處理單元1215經組配以實施可由節點1210使用以判定節點之本地時間值的邏輯振盪器。
處理單元1215亦耦接至經組配以提供本地基準時間信號之實體振盪器1230。基準時間信號可用於(例如)邏輯振盪器的實施。在各種實施例中,實體振盪器可包含晶體振盪器、諧振電路、壓控振盪器(VCO)或其他定時基準裝置。
處理單元1215亦耦接至通訊單元1235,其經組配以使用一或多個有線或無線通訊協定與一或多個其他節點通訊。
在一些實施例中,節點1210經組配以與一或多個其他節點交換定時資訊以用於在節點之間維持時序同步。在一些實施中,各種節點之實體振盪器中的實體限制可導致各種節點處之時間值彼此不同。在節點之間交換時間資訊可有助於維持節點之間的時序同步。
在一些實施例中,指令/軟體程式碼可儲存於諸如儲存單元1225及記憶體單元1220之非依電性/依電性記憶體之組合中。指令可經組配以由處理器1215處理以便促進節點1210之功能性中的至少一些。舉例來說,指令可導致節點1210變換並自至少一第一外部節點及第二外部節點接收來自第一外部節點的一或多個第一外部時間變數之值 及來自第二外部節點的一或多個第二外部時間變數之值。此外,指令可經組配以導致節點1210變換並至少基於一或多個第一外部時間變數之值及一或多個第二外部時間變數之值調整節點1210之一或多個本地時間變數的值。
在一些實施例中,節點1210可為攜帶型裝置,諸如行動電話、具有觸控螢幕之智慧型電話、平板電腦、膝上型電腦、混合裝置、其他通訊裝置等。且在一些實施例中,節點1210可經組配以與其他此等節點通訊以便與此等其他節點交換時序同步資訊。
實例1可包含一種經組配以與其他節點時序同步之節點。該節點可包含經組配以自一第一外部節點接收一或多個第一外部時間變數之值並自一第二外部節點接收一或多個第二外部時間變數之值的一通訊模組。該節點亦可包含耦接至該通訊模組之一本地時間更新模組。該時間更新模組可經組配以至少基於該一或多個第一外部時間變數之該等值及該一或多個第二外部時間變數之該等值調整一或多個本地時間變數之值。
實例2可包含如實例1之節點,且其亦可包含一本地時鐘模組。該一或多個本地時間變數之該等值可至少基於自該本地時鐘模組所獲得之值。該一或多個第一外部時間變數之該等值可至少基於該第一外部節點處之一第一外部時鐘模組。該一或多個第二外部時間變數之該等值可至少基於該第二外部節點處之一第二外部時鐘模組。該本地時鐘模組、該第一外部時鐘模組及該第二外部時鐘模組可 隨時間推移相對於彼此發生相位及/或頻率漂移。
實例3可包含如實例1或2之節點,其中該一或多個第一外部時間變數之該等值指示該第一外部節點之一第一外部時間值。該一或多個第二外部時間變數之該等值可指示該第二外部節點之一第二外部時間值,且其中該一或多個本地時間變數之該等值指示該節點之一本地時間值。
實例4可包含如實例3之節點,其中該等第一外部時間變數之一第一接收時間獨立於該第一時間之一第一相位,且該等第二外部時間變數之一第二接收時間獨立於該第二時間之一第二相位。
實例5可包含如實例3或4之節點,其經組配使得調整該一或多個本地時間變數之該等值導致該本地時間值移位為更接近該第一外部時間值及/或更接近該第二外部時間值。
實例6可包含如實例3或4或5之節點,其中該通訊模組經組配以傳輸該一或多個本地時間變數之值。外部節點之一集合中的另一外部節點可經組配以接收該一或多個本地時間變數之該等值,並至少基於該一或多個本地時間變數之該等值調整該其他外部節點之一或多個其他外部時間變數的值。該一或多個其他外部時間變數之該等值可指示該其他外部時間節點之另一外部時間值。
實例7可包含如實例3或4或5或6之節點,其中該等本地時間變數指示經設計以定義該本地時間值之一本地邏輯振盪器的一狀態,該等第一外部時間變數指示經設計 以定義該第一外部時間值之一第一外部邏輯振盪器的一狀態,且該等第二外部時間變數指示經設計以定義該第二外部時間值之一第二外部邏輯振盪器的一狀態。
實例8可包含如實例1至7中任一者之節點,且其亦可包含經組配以判定該第一外部節點之一第一可信度及該第二外部節點之一第二可信度的一可信度模組。該本地時間更新模組可經組配以基於該第一可信度及該第二可信度調整該一或多個本地時間變數之該等值。
實例9可包含如實例1至8中任一者之節點,其中由該第一外部節點傳輸該等第一外部時間變數之一第一動作可獨立於該第一外部時間值,且由該第二外部節點傳輸該等第二外部時間變數之一第二動作可獨立於該第二外部時間值。
實例10可包含一種用於時序同步節點之方法。該方法可包含:在一本地節點處自一第一外部節點接收一或多個第一外部時間變數之值並自一第二外部節點接收一或多個第二外部時間變數之值;及由執行於一或多個處理單元上之一軟體本地時間更新模組至少基於該一或多個第一外部時間變數之該等值及該一或多個第二外部時間變數之該等值調整該本地節點之一或多個本地時間變數的值。
實例11可包含如實例10之方法,其中該一或多個本地時間變數之該等值至少基於自該本地節點處之一本地實體振盪器所獲得的值。該一或多個第一外部時間變數之該等值可至少基於該第一外部節點處之一第一外部實體振 盪器。該一或多個第二外部時間變數之該等值可至少基於該第二外部節點處之一第二外部實體振盪器。該本地實體振盪器、該第一外部實體振盪器及該第二外部實體振盪器可隨時間推移相對於彼此發生相位或頻率中之至少一者的漂移。
實例12可包含如實例10或11之方法,其中該一或多個第一外部時間變數之該等值指示該第一外部節點之一第一外部時間值。該一或多個第二外部時間變數之該等值可指示該第二外部節點之一第二外部時間值,且該一或多個本地時間變數之該等值可指示該本地節點之一本地時間值。
實例13可包含如實例12之方法,其中該等第一外部時間變數之一第一接收時間獨立於該第一時間之一第一相位,且該等第二外部時間變數之一第二接收時間獨立於該第二時間之一第二相位。
實例14可包含如實例12或13之方法,其中調整該一或多個本地時間變數之該等值可導致該本地時間值移位為更接近該第一外部時間值或更接近該第二外部時間值。
實例15可包含如實例12或13或14之方法,且其亦可包含自該本地節點傳輸該一或多個本地時間變數之值。外部節點之一集合中的另一外部節點可經組配以接收該一或多個本地時間變數之該等值,並至少基於該一或多個本地時間變數之該等值調整該其他外部節點之一或多個其他外部時間變數的值。該一或多個其他外部時間變數之該等 值可指示該其他外部時間節點之另一外部時間值。
實例16可包含如實例12或13或14或15之方法,其中該等本地時間變數指示經設計以定義該本地時間值之一本地邏輯振盪器的一狀態,該等第一外部時間變數指示經設計以定義該第一外部時間值之一第一外部邏輯振盪器的一狀態,且該等第二外部時間變數指示經設計以定義該第二外部時間值之一第二外部邏輯振盪器的一狀態。
實例17可包含如實例10至16中任一者之方法,且其亦可包含判定該第一外部節點之一第一可信度及該第二外部節點之一第二可信度,及基於該第一可信度及該第二可信度調整該一或多個本地時間變數之該等值。
實例18可包含實例10至17中任一者之方法,其中由該第一外部節點傳輸該等第一外部時間變數之一第一動作獨立於該第一外部時間值,且由該第二外部節點傳輸該等第二外部時間變數之一第二動作獨立於該第二外部時間值。
實例19可包含其上儲存有指令的至少一個非暫時性機器可存取儲存媒體,其中該等指令在執行於一機器上時經組配以導致該機器執行如描述於實例10至18中任一者中的方法。
實例20可包含一種經組配以進行時序同步之設備,該設備包含用於執行如實例10至18中任一者之方法的構件。
上文描述本發明之一或多個實施例。應注意,此 等及任何其他實施例係例示性的且意欲說明本發明而非限制本發明。雖然本發明廣泛適用於各種類型之系統,但技術人員將認識到不可能將本發明之所有可能實施例及上下文包含於本發明中。在閱讀本發明之後,一般技術者將顯而易見本發明之許多替代性實施例。
熟習此項技術者將瞭解,結合本文中所揭示之實施例所描述的各種例示性邏輯區塊、模組、電路及步驟可實施為硬體、韌體、軟體或彼等之組合。為清晰說明硬體、韌體及軟體之此互換性,上文已大體上依據其功能性描述各種例示性組件、區塊、模組、電路及步驟。將此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統上之設計約束。熟習此項技術者可針對各特定應用以變化方式實施所描述功能性,但不應將此等實施決策解釋為導致脫離本發明之範疇。
提供所揭示之實施例的先前描述以使任何熟習此項技術者能夠製作或使用本發明。熟習此項技術者將容易地顯而易見對此等實施例之各種修改,且可在不脫離本發明之精神或範疇的情況下將本文中所定義的一般原理應用於其他實施例。因此,本發明並不意欲限於本文中所展示的實施例,而應符合與本文中所揭示原理及新穎特徵相一致的最廣泛範疇。
上文已關於具體實施例描述可由本發明提供之益處及優勢。不應將此等益處及優勢及可導致此等益處及優勢發生或變得較明顯之任何元素或限制理解為申請專利 範圍中之任一或所有請求項的關鍵、要求或必需特徵。如本文中所使用,詞語「包括」或其任何其他變化意欲解釋為非排他地包含跟隨彼等詞之元素或限制。因此,包括元素集合之系統、方法或其他實施例並不僅限於彼等元素,且其可包含未明確地列舉或所主張實施例固有的其他元素。
雖然已參考特定實施例描述本發明,但應理解實施例係例示性的且本發明之範疇並不限於此等實施例。對上文所描述之實施例的許多變化、修改、添加及改良係可能的。預期此等變化、修改、添加及改良屬於如以下申請專利範圍內詳述的本發明之範疇內。
300、310、315、340、345、350‧‧‧區塊
320、330‧‧‧決策

Claims (33)

  1. 一種經組配以與其他節點時序同步之節點裝置,該節點裝置包括:一處理器;由該處理器操作的一通訊模組,用以自一第一外部節點接收表示振盪器狀態資訊的一或多個第一外部振盪器變數之第一值,並自一第二外部節點接收表示振盪器狀態資訊的一或多個第二外部振盪器變數之第二值;以及由該處理器操作的一本地時間更新模組,其耦接至該通訊模組,其中該時間更新模組係用以至少基於該一或多個第一外部振盪器變數之該等第一值及該一或多個第二外部振盪器變數之該等第二值,來調整表示本地振盪器狀態資訊的一或多個本地振盪器變數之值,其中來自該第一外部節點或該第二外部節點的振盪器為範德波耳振盪器(Van der Pol oseillator)或者為安德羅諾夫霍普夫振盪器(Andronov-Hopf oscillator)。
  2. 如請求項1之節點裝置,其進一步包括由該處理器操作的一本地時鐘模組,其中該一或多個本地振盪器變數之該等值至少基於自該本地時鐘模組所獲得之值,其中該一或多個第一外部振盪器變數之該等第一值係至少基於該第一外部節點處之一第一外部時鐘模 組,其中該一或多個第二外部振盪器變數之該等第二值係至少基於該第二外部節點處之一第二外部時鐘模組,且其中該本地時鐘模組、該第一外部時鐘模組及該第二外部時鐘模組隨時間推移相對於彼此發生相位或頻率中之至少一者的漂移。
  3. 如請求項1之節點裝置,其中該一或多個第一外部振盪器變數之該等第一值係指示該第一外部節點之一第一外部時間值,其中該一或多個第二外部振盪器變數之該等第二值係指示該第二外部節點之一第二外部時間值,且其中該一或多個本地振盪器變數之該等值係指示該節點之一本地時間值。
  4. 如請求項3之節點裝置,其中:該等第一外部振盪器變數之一第一接收時間獨立於該第一時間之一第一相位,且該等第二外部振盪器變數之一第二接收時間獨立於該第二時間之一第二相位。
  5. 如請求項3之節點裝置,其中對該一或多個本地振盪器變數之該等值的該調整導致該本地時間值移位為更接近該第一外部時間值或該第二外部時間值中之至少一者。
  6. 如請求項3之節點裝置,其中: 該通訊模組係用以傳輸該一或多個本地振盪器變數之值,其中外部節點之一集合中的另一外部節點係用以:接收該一或多個本地振盪器變數之該等值,以及至少基於該一或多個本地振盪器變數之該等值來調整表示該其他外部節點的振盪器狀態資訊之一或多個其他外部振盪器變數的值,其中該一或多個其他外部振盪器變數之該等值係指示該其他外部時間節點之另一外部時間值。
  7. 如請求項3之節點裝置,其中:該等本地振盪器變數指示經設計以定義該本地時間值之一本地邏輯振盪器的一狀態,該等第一外部振盪器變數指示經設計以定義該第一外部時間值之一第一外部邏輯振盪器的一狀態,且該等第二外部振盪器變數指示經設計以定義該第二外部時間值之一第二外部邏輯振盪器的一狀態。
  8. 如請求項1之節點裝置,其進一步包括由該處理器操作的一可信度模組,用以判定該第一外部節點之一第一可信度及該第二外部節點之一第二可信度,其中該本地時間更新模組係用以基於該第一可信度及該第二可信度來調整該一或多個本地振盪器變數之該等值。
  9. 如請求項1之節點裝置,其中: 由該第一外部節點傳輸該等第一外部振盪器變數之一第一動作係獨立於該第一外部時間值,且由該第二外部節點傳輸該等第二外部振盪器變數之一第二動作係獨立於該第二外部時間值。
  10. 如請求項1之節點裝置,其中該本地時間更新模組係進一步用以使用下列方程式來更新來自該第一外部節點或該第二外部節點的該等本地振盪器變數z1,new、z2,new 、及
  11. 如請求項1之節點裝置,其中該本地時間更新模組係進一步用以使用下列方程式來更新來自該第一外部節點或該第二外部節點的該等本地振盪器變數x1,new、x2,new
  12. 如請求項1之節點裝置,其中該節點裝置係實施為一系統單晶片。
  13. 如請求項1之節點裝置,其中該等範德波耳振盪器係使用下列方程式來實施x 1,new =x 1+x 2 τ、及 其中該等安德羅諾夫霍普夫振盪器係使用下列方程式來實施 、及
  14. 一種用於時序同步節點之方法,該方法包括以下步驟:在一本地節點處自一第一外部節點接收表示振盪器狀態資訊的一或多個第一外部振盪器變數之第一值,並自一第二外部節點接收表示振盪器狀態資訊的一或多個第二外部振盪器變數之第二值;以及藉由執行於一或多個處理單元上之一軟體本地時間更新模組,至少基於該一或多個第一外部振盪器變數之該等第一值及該一或多個第二外部振盪器變數之該等第二值,來調整表示該本地節點的振盪器狀態資訊之一或多個本地振盪器變數的值,其中該調整係基於一本地振盪器參數。
  15. 如請求項14之方法:其中該一或多個本地振盪器變數之該等值至少基於自該本地節點處之一本地實體振盪器所獲得的值,其中該一或多個第一外部振盪器變數之該等第一值至少基於該第一外部節點處之一第一外部實體振盪器,其中該一或多個第二外部振盪器變數之該等第二值至少基於該第二外部節點處之一第二外部實體振盪器,且其中該本地實體振盪器、該第一外部實體振盪器及該第二外部實體振盪器隨時間推移相對於彼此發生相 位或頻率中之至少一者的漂移。
  16. 如請求項14之方法,其中該一或多個第一外部振盪器變數之該等第一值係指示該第一外部節點之一第一外部時間值,其中該一或多個第二外部振盪器變數之該等第二值係指示該第二外部節點之一第二外部時間值,且其中該一或多個本地振盪器變數之該等值係指示該本地節點之一本地時間值。
  17. 如請求項16之方法,其中:該等第一外部振盪器變數之一第一接收時間係獨立於該第一時間之一第一相位,且該等第二外部振盪器變數之一第二接收時間係獨立於該第二時間之一第二相位。
  18. 如請求項16之方法,其中對該一或多個本地振盪器變數之該等值的該調整導致該本地時間值移位為更接近該第一外部時間值或該第二外部時間值中之至少一者。
  19. 如請求項16之方法,其包括:自該本地節點傳輸該一或多個本地振盪器變數之值,其中外部節點之一集合中的另一外部節點係用以:接收該一或多個本地振盪器變數之該等值;以及至少基於該一或多個本地振盪器變數之該等值調整該其他外部節點之一或多個其他外部振盪 器變數的值,其中該一或多個其他外部振盪器變數之該等值係指示該其他外部時間節點之另一外部時間值。
  20. 如請求項14之方法,其包括:判定該第一外部節點之一第一可信度及該第二外部節點之一第二可信度;以及基於該第一可信度及該第二可信度調整該一或多個本地振盪器變數之該等值。
  21. 如請求項14之方法,其中該方法係實施於一系統單晶片上。
  22. 如請求項14之方法,其中該等一或多個本地振盪器變數的值係至少基於下列方程式: 、及 或者至少基於下列方程式: 、及
  23. 一種其上儲存有指令之至少一個非暫時性機器可存取儲存媒體,其中該等指令經組配以在執行於一機器上時導致該機器進行如下操作:在一本地節點處自一第一外部節點接收表示振盪器狀態資訊的一或多個第一外部振盪器變數之第一 值,並自一第二外部節點接收表示振盪器狀態資訊的一或多個第二外部振盪器變數之第二值;以及至少基於該一或多個第一外部振盪器變數之該等第一值及該一或多個第二外部振盪器變數之該等第二值,來調整表示該本地節點的振盪器狀態資訊之一或多個本地振盪器變數的值,其中該調整係基於一本地振盪器參數。
  24. 如請求項23之至少一個儲存媒體:其中該一或多個本地振盪器變數之該等值至少基於自該本地節點處之一本地實體振盪器所獲得的值,其中該一或多個第一外部振盪器變數之該等第一值至少基於該第一外部節點處之一第一外部實體振盪器,其中該一或多個第二外部振盪器變數之該等第二值至少基於該第二外部節點處之一第二外部實體振盪器,且其中該本地實體振盪器、該第一外部實體振盪器及該第二外部實體振盪器隨時間推移相對於彼此發生相位或頻率中之至少一者的漂移。
  25. 如請求項23之至少一個儲存媒體,其中該一或多個第一外部振盪器變數之該等第一值係指示該第一外部節點之一第一外部時間值,其中該一或多個第二外部振盪器變數之該等第二值係指示該第二外部節點之一第二外部時間值,且 其中該一或多個本地振盪器變數之該等值係指示該本地節點之一本地時間值。
  26. 如請求項25之至少一個儲存媒體,其中:該等第一外部振盪器變數之一第一接收時間係獨立於該第一時間之一第一相位,且該等第二外部振盪器變數之一第二接收時間係獨立於該第二時間之一第二相位。
  27. 如請求項25之至少一個儲存媒體,其中對該一或多個本地振盪器變數之該等值的該調整導致該本地時間值移位為更接近該第一外部時間值或該第二外部時間值中之至少一者。
  28. 如請求項25之至少一個儲存媒體,其中該等指令經組配以在執行於該機器上時導致該機器進行如下操作:自該本地節點傳輸該一或多個本地振盪器變數之值,其中外部節點之一集合中的另一外部節點經組配以:接收該一或多個本地振盪器變數之該等值;以及至少基於該一或多個本地振盪器變數之該等值來調整該其他外部節點之一或多個其他外部振盪器變數的值,其中該一或多個其他外部振盪器變數之該等值係指示該其他外部時間節點之另一外部時間值。
  29. 如請求項25之至少一個儲存媒體,其中:該等本地振盪器變數指示經設計以定義該本地時間值之一本地邏輯振盪器的一狀態,該等第一外部振盪器變數指示經設計以定義該第一外部時間值之一第一外部邏輯振盪器的一狀態,且該等第二外部振盪器變數指示經設計以定義該第二外部時間值之一第二外部邏輯振盪器的一狀態。
  30. 如請求項23之至少一個儲存媒體,其中該等指令經組配以在執行於該機器上時導致該機器進行如下操作:判定該第一外部節點之一第一可信度及該第二外部節點之一第二可信度;以及基於該第一可信度及該第二可信度調整該一或多個本地振盪器變數之該等值。
  31. 如請求項23之至少一個儲存媒體,其中:由該第一外部節點傳輸該等第一外部振盪器變數之一第一動作係獨立於該第一外部時間值,且由該第二外部節點傳輸該等第二外部振盪器變數之一第二動作係獨立於該第二外部時間值。
  32. 如請求項23之至少一個儲存媒體,其中該機器為一系統單晶片裝置。
  33. 如請求項23之至少一個儲存媒體,其中該等一或多個本地振盪器變數的值係至少基於下列方程式: 、及 或者至少基於下列方程式: 、及
TW104107434A 2014-04-10 2015-03-09 將一群節點時序同步的技術 TWI571724B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/249,873 US9952620B2 (en) 2014-04-10 2014-04-10 Time-synchronizing a group of nodes

Publications (2)

Publication Number Publication Date
TW201543196A TW201543196A (zh) 2015-11-16
TWI571724B true TWI571724B (zh) 2017-02-21

Family

ID=54265969

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104107434A TWI571724B (zh) 2014-04-10 2015-03-09 將一群節點時序同步的技術

Country Status (4)

Country Link
US (2) US9952620B2 (zh)
EP (1) EP3129838A4 (zh)
TW (1) TWI571724B (zh)
WO (1) WO2015156977A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11301514B2 (en) 2013-03-02 2022-04-12 Leon Guzenda System and method to identify islands of nodes within a graph database
US10453094B2 (en) * 2015-03-10 2019-10-22 Samsung Electronics Co., Ltd. System, apparatus, and method to provide location-based service
DE102015212218A1 (de) * 2015-06-30 2017-01-05 Robert Bosch Gmbh Dezentral synchronisiertes Multisensorsystem
US10627853B2 (en) 2018-02-21 2020-04-21 Nxp B.V. Clock tuning
US10564665B2 (en) * 2018-05-01 2020-02-18 Microsoft Technology Licensing, Llc Performing scalable, causally consistent reads using a logical wall clock
US10754559B1 (en) * 2019-03-08 2020-08-25 EMC IP Holding Company LLC Active-active storage clustering with clock synchronization
US10763868B2 (en) 2019-06-28 2020-09-01 Intel Corporation Decentralized synchronization of multiple agents
US11822535B2 (en) 2021-06-08 2023-11-21 Salesforce, Inc. Director-based database system for transactional consistency
US11989051B2 (en) * 2021-06-08 2024-05-21 Salesforce, Inc. Time alignment in director-based database system for transactional consistency
US11824925B1 (en) 2022-09-29 2023-11-21 Caterpillar Inc. Node-to-node network time synchronization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200401187A (en) * 2002-07-12 2004-01-16 Nec Corp Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
US20080244094A1 (en) * 2000-12-15 2008-10-02 International Business Machines Corporation Method and Apparatus for Time Synchronization in a Network Data Processing System
US20080256262A1 (en) * 2007-04-10 2008-10-16 De Araujo Daniel N Clock Signal Synchronization Among Computers In A Network

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68927946T2 (de) * 1988-08-02 1997-10-16 Philips Electronics Nv Verfahren und Vorrichtung für die Synchronisierung von parallelen Prozessoren unter Verwendung einer unscharf definierten Sperre
DE4140017C2 (de) * 1991-12-04 1995-01-05 Nec Electronics Germany Verfahren zum Betreiben von über einen Datenbus durch seriellen Datenaustausch miteinander kommunizierenden Rechnereinheiten
US5887143A (en) * 1995-10-26 1999-03-23 Hitachi, Ltd. Apparatus and method for synchronizing execution of programs in a distributed real-time computing system
US6052712A (en) * 1996-04-30 2000-04-18 International Business Machines Corporation System for barrier synchronization wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each subsequent phase
US6904110B2 (en) * 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6502135B1 (en) * 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7103124B1 (en) 1999-12-30 2006-09-05 Telefonaktiebolaget Lm Ericsson (Publ) Synchronization of nodes
US6907472B2 (en) * 2001-03-30 2005-06-14 Yitran Communications Ltd. Distributed synchronization mechanism for shared communications media based networks
EP1280024B1 (en) * 2001-07-26 2009-04-01 Freescale Semiconductor, Inc. Clock synchronization in a distributed system
US7356618B2 (en) * 2003-12-31 2008-04-08 Intel Corporation Method and system for synchronizing platform clocks in a distributed wireless platform
ATE543277T1 (de) * 2005-03-04 2012-02-15 St Ericsson Sa St Ericsson Ltd System und verfahren zur synchronisierung eines datenverarbeitungsnetzwerks
US7856224B2 (en) * 2005-03-31 2010-12-21 General Electric Company Systems and methods for recovering a signal of interest from a complex signal
US7912094B2 (en) * 2006-12-13 2011-03-22 Honeywell International Inc. Self-checking pair-based master/follower clock synchronization
US7855545B2 (en) * 2007-01-17 2010-12-21 General Electric Company Sinusoidal modulated signal clarification tool using various oscillator systems
US7573303B1 (en) * 2007-06-08 2009-08-11 Integrated Device Technology, Inc Digitally controlled system on-chip (SOC) clock generator
PL2206316T3 (pl) 2007-10-23 2014-01-31 Koninklijke Kpn Nv Sposób i system synchronizacji grupy terminali końcowych
US9174045B2 (en) * 2009-03-20 2015-11-03 ElectroCore, LLC Non-invasive electrical and magnetic nerve stimulators used to treat overactive bladder and urinary incontinence
WO2010115151A1 (en) * 2009-04-03 2010-10-07 Schweitzer Engineering Laboratories, Inc. Fault tolerant time synchronization
US8837530B2 (en) 2010-03-12 2014-09-16 University Of Maryland Method and system for adaptive synchronization of timing information generated by independently clocked communication nodes
EP2429105B1 (en) * 2010-09-13 2013-03-27 Ntt Docomo, Inc. Node in a wireless system with time and clock frequency synchronizing and corresponding method
DE102011084985A1 (de) * 2010-11-12 2012-05-16 Samsung Electronics Co., Ltd. Pegelschieber sowie System-auf-Chip und Multimedia-Bauelement mit selbigem
US9253012B2 (en) * 2010-11-19 2016-02-02 Nec Corporation Path selection device, program and method
US8675689B2 (en) * 2011-02-15 2014-03-18 General Electric Company Method of time synchronization of free running nodes in an avionics network
EP2544387B1 (en) * 2011-07-04 2016-03-16 Mitsubishi Electric R&D Centre Europe B.V. Methods and devices for performing synchronization and compensating clock drift among communication devices
US8938636B1 (en) * 2012-05-18 2015-01-20 Google Inc. Generating globally coherent timestamps

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244094A1 (en) * 2000-12-15 2008-10-02 International Business Machines Corporation Method and Apparatus for Time Synchronization in a Network Data Processing System
TW200401187A (en) * 2002-07-12 2004-01-16 Nec Corp Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
US20080256262A1 (en) * 2007-04-10 2008-10-16 De Araujo Daniel N Clock Signal Synchronization Among Computers In A Network

Also Published As

Publication number Publication date
US20150295700A1 (en) 2015-10-15
US10739814B2 (en) 2020-08-11
TW201543196A (zh) 2015-11-16
EP3129838A4 (en) 2017-12-20
EP3129838A1 (en) 2017-02-15
US20190064874A1 (en) 2019-02-28
WO2015156977A1 (en) 2015-10-15
US9952620B2 (en) 2018-04-24

Similar Documents

Publication Publication Date Title
TWI571724B (zh) 將一群節點時序同步的技術
JP5569299B2 (ja) 通信システム及び通信インタフェース装置、並びに同期方法
CN106464398B (zh) 网络时钟比较的系统和方法
CN106416118B (zh) 用于安全网络通信的基于混沌的同步
CN109547146A (zh) 一种基于超宽带无线通信的无线时钟同步方法及装置
JP2022105097A (ja) 量子コンピュータの位相追跡及び補正
CN110445570B (zh) 一种时间校准方法、装置及计算机存储介质
JP2014238357A (ja) 受信装置、時刻差算出方法、およびプログラム
JP2019145062A (ja) 情報処理システム、サーバ装置、情報処理装置、動作制御装置及び情報処理システムの動作方法
JP2014165582A (ja) 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム
CN108833047A (zh) 时间同步方法、装置、可读存储介质和电子设备
Shenoy et al. Swarm-Sync: A distributed global time synchronization framework for swarm robotic systems
KR20150051012A (ko) Puf를 이용하는 하드웨어 암호키 생성 장치 및 방법
JP6601102B2 (ja) クロック調整回路および通信端末
TWI721948B (zh) 可同步網路及用於同步網路的方法
JP6085864B2 (ja) 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム
JP2009232112A (ja) 情報処理装置およびタイミング同期方法
Nagarathna et al. TFTS: A Novel Triple Factor Time Synchronization for Effective Routing in Large Scale WSN
Bojic et al. Self-synchronization of nonidentical machines in machine-to-machine systems
US10042384B2 (en) System and methods for computer clock synchronization without frequency error estimation
Lin et al. Energy-efficient device-based node authentication protocol for the Internet of Things
Klein et al. Evaluation of the influence of time synchronisation on classification learning based movement detection with accelerometers
JP2008193703A (ja) パケット交換ネットワークのためのサンプリングされたクロック信号の同期支援装置及びサンプリングされたクロック信号の再構成装置
EP3419217B1 (en) Network of nodes and method of operation
Koo et al. An enhanced time synchronization protocol in automated surface vehicles

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees