TW202046690A - 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體 - Google Patents

在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體 Download PDF

Info

Publication number
TW202046690A
TW202046690A TW109113459A TW109113459A TW202046690A TW 202046690 A TW202046690 A TW 202046690A TW 109113459 A TW109113459 A TW 109113459A TW 109113459 A TW109113459 A TW 109113459A TW 202046690 A TW202046690 A TW 202046690A
Authority
TW
Taiwan
Prior art keywords
frame
burst
transmission
type
communication
Prior art date
Application number
TW109113459A
Other languages
English (en)
Other versions
TWI756666B (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 TW202046690A publication Critical patent/TW202046690A/zh
Application granted granted Critical
Publication of TWI756666B publication Critical patent/TWI756666B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/245Traffic characterised by specific attributes, e.g. priority or QoS using preemption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本發明係關於在封包交換網路中藉由通訊實體進行通訊信號訊框之傳送,該通訊實體包含用於傳送通訊信號訊框之外出埠。該等訊框包含旨在以複數個叢發予以傳送之第一類型之訊框,對於該第一類型之訊框,將訊務成形定義為快遞訊務,該等訊框還包含作為偶發訊務之第二類型之訊框,對於該第二類型之訊框,未定義訊務成形。該通訊實體係組配成用於儲存分別與前述複數個叢發相關聯之第一類型之訊框之複數個第一佇列、以及第二類型之訊框之至少一個第二佇列。 該等叢發係儲存在相應之第一佇列中,有信令訊框居於各叢發之前,並且此信令訊框包含該叢發之產生時間戳記,接著,為了在儲存於該等第一佇列中之該等叢發間選擇要傳送之第一叢發,該通訊實體係組配成用於: -   讀取位於各第一佇列之首端之各信令訊框之該時間戳記, -   在所有該等信令訊框間確定時間戳記最舊之一個信令訊框,以及 -   選擇具有該確定之信令訊框之該叢發作為要傳送之該第一叢發。

Description

在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體
本發明係關於電信,並且更尤指資料訊框傳送。
由於引進了第2層特徵,封包交換網路逐漸用於工業控制應用,從而使控制資料輸送具有約束嚴密之潛時(latency)以及轉移延遲變化。
舉例來說,低潛時取樣資料、(封閉式迴路)控制及影像串流傳送(例如,用於即時影像處理)有非常嚴格之潛時要求。與最佳狀況輸送在收斂網路中可能提供者相比,影像串流及相關聯處理作為控制迴路之一部分,要求會更高。
同時,最佳狀況串流在時間上並不緊迫,而是為時間緊迫之串流提供恆定之干擾來源。
已逐步發展出解決方案,尤其是使交換式乙太網路經過調適而符合工業領域匯流排要求之解決方案:EtherCAT、乙太網路Powerlink、TCnet、PROFINET等。
這些解決方案全都依賴於對標準乙太網路協定之特定新增內容,這些新增內容支援已排程串流(scheduled stream),尤其是構成循環通訊之串流。
這些調適所使用之共通方案依賴於時間窗口(time window)中之傳送多工處理之組織,各窗口係為了特定串流而予以保留。時間窗口之數量及重複頻率係根據應用之要求而定。
鑑於產生(舉例來說,工業控制)已排程串流之典型應用具有週期性活動,傳送多工處理最終係以週期性循環予以組織,各循環含有為了已排程(低潛時)串流而保留之時間窗口串列及為了非排程串流(non- scheduled stream,在圖1之實施例中以虛線表示)而保留之時間窗口串列。
為了甚至進一步減少由於已排程串流與非排程串流之間的干擾所引起之潛在潛時來源,還引進了搶占機制(pre-emption mechanism)。非排程串流時間窗口與已排程串流時間窗口之間的轉變有搶占介入。下文亦將「已排程串流」稱為「快遞訊務」。「非排程串流」在TSN標準(「 TSN」是指「搶占」中之「時間敏感網路連結」(Time Sensitive Networking):IEEE 802.3第99條,IEEE 802.1Q)中亦稱為「偶發訊務」,或簡稱為「標準串流」,已排程串流在TSN標準中稱為「快遞串流」。
非排程串流與已排程串流之間一出現此一轉變,已排程串流之開頭便可與在居前之非排程串流時間窗口期間開始之訊框傳送之結束並行。在此一情況下,直到目前之非排程訊框傳送結束,才能傳送已排程訊框。
圖2展示這種情況,其中,在本實施例中,兩個已排程訊框落在已排程時序外。
透過搶占非排程訊框之殘餘部分之傳送機會,有可能避免已排程串流發生額外延遲。為了促進搶占操作,可將非排程訊框切成片段(切成如圖3之實施例中所示之f1及f2),從而延遲剩餘片段之傳送,直到已排程串流傳送完成為止。
為了提供單一標準以支援能夠輸送所有類型串流之收斂網路,IEEE定義了兩種機制: - 排程方案,其為了不同類型之串流(已排程及非排程)而依賴於時間窗口之保留,如標準802.1Qbv中之規定; - 搶占方案,其對於所謂的「快遞」訊框之並行傳送規定所謂的「標準」訊框之切成片段方案,如標準802.3br及802.1bu中的介紹。
802.1Qbv係基於週期性行事曆表格,表格中之各項目內容均定義為了傳送特定類別之串流,例如已排程或非排程串流,而保留之時間窗口,如圖4中所示。
然後,這些標準接著為週期性已排程串流之輸送提供具有最小潛時之完整框架,其可提供與上述工業標準所提供之服務類似之服務。
更普遍來說,在網路各處不同鏈路上實施同步化時間窗口需要: ‧ 使用集中式組配工具來離線運算及解決資源沿著傳送已排程串流之鏈路及通訊埠的分配, 以及以下之可用性: ‧ 就時脈準確度、潛時及抖動(jitter)而言,標準化或特徵明確之橋接器及終端站時序特性, ‧ 各鏈路之時序特徵, 以使得組配工具可對串流路徑產生一致的資源分配。
另外,取得之網路組態只能藉由進行新離線運算並向所有涉及之節點再發佈新組態來變更。接著對於在如線路或匯流排等拓撲複雜度有限之網路中,且時序限制條件(潛時及抖動)非常嚴格之支援串流的應用,保留此一剛性排程。
由於用於定義對已排程串流保留之不同時間窗口的行事曆表格之性質,透過標準802.1Qbv實施已排程串流也帶來一些限制。一般而言,標準802.1Qbv依賴於循序性及週期性執行之閘開/閘閉命令(gate open/gate close commands)之有限清單(一旦達到清單之末尾,便從清單之開頭開始執行)。各時間窗口之出現接著必須具有週期性,並且其週期係整個清單執行持續時間所定義之循環之整數部分。
本發明旨在改善這種情況。
為此,提出一種在封包交換網路中藉由通訊實體之電腦手段實施之方法,該通訊實體包含至少一個用於傳送通訊信號訊框之外出埠(egress port),該訊框包含: - 旨在以複數個叢發(burst)予以傳送之第一類型之訊框,對於該第一類型之訊框,將訊務成形(traffic shaping)定義為快遞訊務,以及 - 作為偶發訊務之第二類型之訊框,對於該第二類型之訊框,未定義訊務成形, 該通訊實體係組配成用於儲存: - 該第一類型之訊框之複數個第一佇列,該等第一佇列分別與該等叢發相關聯,以及 - 該第二類型之訊框之至少一個第二佇列。
更特別的是,前述叢發係儲存在相應之第一佇列中,有信令訊框居於各叢發之前,並且該信令訊框包含該叢發之產生時間戳記(timestamp of generation),以及,為了在儲存於該等第一佇列中之該等叢發間選擇要傳送之第一叢發,該通訊實體係組配成用於: - 讀取位於各第一佇列之首端之各信令訊框之該時間戳記, - 在所有該等信令訊框間確定時間戳記最舊之一個信令訊框,以及 - 選擇具有該確定之信令訊框之該叢發作為要傳送之該第一叢發。
接著,提出另一種透過網路分配保留時間窗口而無需藉助於集中式運算及組配之方法,該方法依賴於節點及鏈路時序參數串,其特徵可能導致運算規則過於保守及網路資源浪費。
在一具體實施例中,於該第一叢發之傳送期間,只要該第一叢發傳送尚未完成,便推遲第二類型訊框傳送。
類似的是,在一具體實施例中,於該第一叢發之傳送期間,只要該第一叢發傳送尚未完成,便推遲該第一叢發之該佇列除外的第一類型佇列之第一類型訊框傳送。
在一具體實施例中,一旦從該傳送選擇要傳送之該第一叢發,則在該第一叢發之該傳送之前: - 判斷該外出埠是否正在傳送該第二類型之訊框,如果是,則 - 將具有預定最小尺寸之該第二類型訊框之片段排程為該外出埠之下一次傳送,該下一次傳送正好是在該第一叢發之該傳送之前進行。
文件WO2018/174302中可找到此一最小片段尺寸之細節。
一般而言,該等佇列(第一及第二)可儲存在先進先出記憶體緩衝區中。
在一具體實施例中,該網路中提供複數個通訊實體作為該等第一類型訊框叢發之傳送器,並且根據該網路中之共用時脈參考,各該通訊實體係組配成用來在對應信令訊框中新增第一類型訊框叢發之產生時間戳記。
在該具體實施例中,這些通訊實體有一些可充當該等叢發之發射器,並且該產生時間戳記則是該對應叢發之建立時間戳記。
再者,在該具體實施例中,這些通訊實體中有一些可充當該等叢發之轉發器(在本說明書之下文中亦稱為「橋接器」),並且該產生時間戳記仍然是對應叢發之建立時間戳記(timestamp of creation)。
因此,由於這項具體實施例,即使第一類型訊框叢發是要以許多跳躍及藉由許多接連傳送實體來傳送,此透過網路之叢發傳送仍將比較為最近之第一類型訊框叢發之傳送更具有優先權。
在一具體實施例中,該信令訊框更包含與該第一叢發之全部該等第一訊框中之第一數量的資料對應之資料,並且在該第一叢發之訊框傳送期間,該通訊實體係進一步組配成用於: - 計數該第一叢發之已傳送資料的第二數量, - 以及繼續該第一叢發之資料傳送,直到該第二數量達到該第一數量為止。
如下面所論圖5中之介紹,相同叢發之第一類訊框可能具有不同長度(然後內有不同「資料數量」)。接著,在這項具體實施例中選擇最終計數該叢發具有之資料數量(或其總「長度」),或許減去EBS訊框之內容。
這項具體實施例使得有可能保持傳送排程。
一般而言,在該具體實施例中,該通訊實體可進一步組配成用於,當該第二數量達到該第一數量時: - 結束該第一叢發之資料傳送,以及 - 從該對應第一佇列排清該第一叢發之任何可能剩餘資料。
在一具體實施例中,相同第一佇列中之不同叢發係藉由該等叢發之相應信令訊框來劃界。
接著,當達到叢發之末尾時,即使佇列未完全淨空,根據以上之先前具體實施例,下一個訊框仍應該是信令訊框,否則要予以排清。
在一具體實施例中,該信令訊框可以是一乙太網路訊框,其包括一個乙太類型(Ethertype)欄位所構成之至少一個標籤,該乙太類型欄位宣告該標籤之資料,該資料至少對應於該時間戳記(並且這些資料有一些還可能與上述叢發中之第一總數量之資料有關)。
這項具體實施例使得有可能為信令訊框中之任何其他資料類型保留其他乙太類型欄位(亦由其他標籤宣告)。
本發明亦針對封包交換網路之一種通訊實體,其包含運算電路,該運算電路係組配成用來實施如以上所介紹方法之至少一部分(下文圖9中展示此一運算電路之具體實施例之一範例)。
本發明亦針對一種電腦軟體,其包含指令,用以在由處理器執行該軟體時實施如以上所介紹方法之至少一部分(下文圖8A及圖8B中展示此一電腦程式之流程圖之一範例)。
本發明亦針對一種電腦可讀非暫態記錄媒體,其上之軟體係經暫存,用以在處理器執行該軟體時,實施如以上所介紹之方法。
本發明針對所謂的即時乙太網路,諸如在工業自動化、車內控制或列車控制應用中使用之那些網路。本發明提出的技術將低潛時通訊訊框之「快遞叢發(Express Bursts)」(依據乙太網路TSN標準關於搶占之定義)組織為由特定短訊框劃界之一連串訊框,該等短訊框各用於宣示各快遞叢發之開頭。此明確帶內(in-band)快遞叢發劃界係用於對可能干擾快遞叢發之「標準訊框」(如TSN關於搶占之標準中所定義)觸發搶占操作,以及用於可能管理同時發生之快遞叢發之多工處理。
快遞叢發之傳送可與整個網路共通的週期同步。在那種情況下,快遞叢發可在該週期中於給定共通時間藉由所謂的「通話器(Talker)」(發射器)來發送,並且使用叢發劃界訊框所提供之明確劃界在發生碰撞之通訊埠中進行多工處理。
本發明允許在快遞及標準階段靈活地組織傳送多工處理,而不用依賴於傳送窗口,該等傳送窗口的打開及關閉時間在通訊之所有參與者(通話器、聽喚器(Listener)及橋接器)之間嚴格同步。
在下文中: -「通話器」一詞係指一種終端站,其係串流之來源或生成器; -「聽喚器」一詞係指一種終端站,其係串流之目的地、接收器或消耗者; -「橋接器」一詞係指網路中之中間節點,從通話器(或橋接器)接收訊框及將該訊框傳送至聽喚器(或橋接器); -「串流」一詞係指從通話器到一或多個聽喚器之單向資料流; -「快遞叢發」一詞係指快遞叢發開始(Express Burst Start, EBS)訊框所居前之訊框串。屬於快遞叢發之訊框係以接連訊框之形式予以連續發送; -「快遞叢發開始訊框」一詞係指在快遞叢發之開頭處插入之訊框; -「快遞叢發閘」一詞係指通訊埠局部處之信號(或狀態),用於指示正在傳送之快遞叢發。
藉助例如IEEE 802.1AS(-Rev)或IEEE 1588之協定,網路之所有終端站及橋接器全都維護共通的參考時間(例如,來自網路之時脈)。
通話器在產生快遞串流時,藉由在訊框串開頭處插入EBS訊框,於快遞叢發中組織所生成之訊框串。
如圖5所示,包括EBS訊框在內的快遞叢發之所有訊框全都是以連續方式傳送(訊框#1、訊框#2、訊框#3),舉例而言,係僅以最小預定訊框間隙予以分離,如由媒體存取標準IEEE 802.3所指定之一個訊框間隙。
聽喚器在接收快遞叢發時,識別並捨棄EBS訊框,並將快遞叢發之有效訊框傳遞至上層。
在圖6A所示之一般具體實施例中,EBS訊框通常可包括以下資料: - 目的地MAC位址, - 來源MAC位址, - 可能包括VLAN-ID, - 根據以上具體實施例: * 叢發之建立時間戳記,在圖6A中稱為EBSInitTxDate, * 以及其長度,在圖6A​​中稱為EBLength (即,叢發中包含之總資料數量)。
在乙太網路背景中,EBS訊框可具有如圖6B所示之結構,並且可具有例如標準乙太網路訊框之最小尺寸(64位元組長),然後包括與串流之訊框相同之資訊(通常是第2層的資訊),即: - 目的地MAC位址 - 來源MAC位址,以及 - VLAN標籤,且可能還有 - 其他標籤,其係藉由其相應乙太類型來識別。
然而,其係藉由以特定乙太類型值(EBS標籤乙太類型)識別之附加標籤與叢發之其他訊框區別開來,如圖6B所示。
EBS標籤包括三筆資訊(包括EBS標籤乙太類型欄位): - EBLength:訊框之快遞叢發長度,排除EBS訊框本身,舉例而言,係以位元組數量表示, - EBSInitTxDate:EBS訊框之初始傳送日期,由上述「通話器」插入,相對於整個網路共通的時間(舉例而言,由網路中之參考時脈所給予)。
EBS訊框中之可用酬載可能用於任何其他應用(例如:網路控制),該等應用係由EBS標籤之後的由其自有的乙太類型宣示。
下文說明橋接器在進入埠(ingress port)上接收快遞叢發並在外出埠上傳送該快遞叢發之操作。一般而言,將所有屬於快遞叢發之訊框全都過濾,並轉發自橋接器之該(等)進入埠(如其他接收之訊框)。快遞叢發之處理更特別的是發生在橋接器之該(等)外出埠中。
如圖7所示,快遞叢發之訊框係按照FIFO (先進先出)順序,儲存在目的地外出埠之專用各快遞串流佇列中。
標準訊框亦按照FIFO順序儲存在分配給標準串流之一個或數個佇列中。該(等)目的地佇列之選擇係基於網路管理所定義之準則(例如:訊務類別、優先順序等)來完成。
對於各快遞串流,外出埠維持一份脈絡資訊(context),除了與串流相關之其他資訊以外,該脈絡資訊還含有以下快遞叢發相關資料: - EBActive:係指快遞串流之活動,並且指出快遞串流佇列未淨空或正在接收該串流之EBS訊框; - HeadEBSFrameTrxDate:係指儲存在串流佇列之首端之EBS訊框之初始傳送日期(舉例而言,係指示為時間戳記)。如果在外出埠上接收到EBS訊框,並且與串流相關聯之佇列淨空,則EBS訊框中含有之初始傳送日期(EBSInitTxDate)係儲存在串流脈絡資訊中之HeadEBSFrameTrxDate。 - RemEBLength:係指要傳送之快遞叢發之剩餘部分之長度。當傳送EBS訊框時即將此參數之值初始化,該EBS訊框在其EBLength欄位中儲存有該值。其在相同叢發之後續快遞叢發訊框傳送期間持續遞減,並且在同一個訊框傳送期間維持恆定。
再者,外出埠維持兩個旗標: - XpressBurstGate:指出該通訊埠目前正在傳送快遞叢發。XpressBurstGate是在EBS訊框經外出埠傳送時便予以設定,以及在RemEBLength達到零時予以重設; - EBReady:指出已準備好在通訊埠上傳送至少一個快遞叢發,亦即至少一個快遞串流佇列未淨空。如果未設定EBReady並且接收到EBS訊框,則設定EBReady。
網路之節點之外出埠操作(這裡為中繼轉發訊框叢發)可參照圖8A及圖8B說明如下。圖8A係指訊框叢發被接收時(開始Rx)進行之步驟,而圖8B係指為了傳送訊框叢發(開始Tx)而需要進行之步驟。
在這項實施例中,一般來說,只要目前之快遞叢發傳送尚未完成,便不能傳送其他標準訊框或屬於快遞串流之訊框。
因此,在步驟S1及S9中,在要傳送(或要接收(步驟S9)並重傳)之標準訊務訊框與要傳送(或要接收(步驟S1)並重傳)之快遞訊框之間有區別操作。
在任一例中,節點均讀取所接收訊框並判斷外出埠上是否接收到EBS訊框(其宣示快遞叢發之開始)。
如果是,這意味著有快速叢發存在,並已備妥要從外出埠發送。因此,在測試S2中,如果變數EBActive=1,這意味著存在至少一個要發送之快遞訊框,並且如果旗標XpressBurstGate又設定為1 (在步驟S4中),即意味著外出埠將備妥要發送快遞訊框(並且目前未用於標準訊務),則在步驟S5中,可將所接收快遞叢發訊框(快速訊框叢發及位​​於其首端之EBS訊框)放在一旁,並儲存在FIFO型佇列(i)中以供未來傳送(B),下文參照圖8B有說明。
否則,如果旗標XpressBurstGate在要發送快遞訊框時(測試S2結果為是)係設定為0 (在步驟S4中),則標準訊務被視為目前要予以傳送但應予以中斷,有可能隨著要傳送之標準訊框之最新片段予以中斷(如先前參照圖3所闡釋)。接著,在步驟S6中,判斷目前是否正在進行標準訊框傳送。如果是,則在步驟S7將所接收快遞訊框叢發存放在佇列(i)中(與先前步驟S5所闡釋相似)。否則,傳送標準訊框之最新片段,然後,在步驟S8中,當傳送到標準訊框之該片段之末尾時(片段總長度已預定),快遞訊框終於可傳送(B),如下文參照圖8B所述。
或許在步驟S8中要傳送之片段之最小尺寸舉例而言,係文件WO2018/174302中所介紹之最小尺寸。
至於標準訊務在其接收時之處理(步驟S9),首先,在步驟S10中判斷是否已經接收到快遞叢發(如果是:步驟S11中EBReady=1)。如果是,則在步驟S13將標準訊務訊框儲存在FIFO型佇列(i)中以供未來傳送,因為快遞訊務比標準訊務優先。如果未接收到快遞叢發(步驟S11中EBReady = 0),則可發生標準訊務傳送(A),除非已經進行標準訊務自前一個佇列之傳送(步驟S12之結果為是:在這種情況下,於步驟S13中,在臨時化佇列中儲存目前接收到之標準訊框叢發)。
現請參閱圖8B(對於程序之傳送部分),如果步驟S14及S15中無快遞訊務備妥要傳送(EBReady = 0),則可在步驟S17中發送標準訊務(測試S16之結果為否)。否則(EBReady = 1),要傳送快遞叢發訊框,而且,為了確定首先要從哪個佇列傳送快遞訊框,進行步驟S18如下。為了下一次傳送而選擇之快遞串流佇列係為該快遞串流佇列首端之EBS訊框具有較小之HeadEBSFrameTrxDate者。接著,在步驟S19中將旗標XpressBurstGate設定為1,並且在步驟S20中傳送該佇列之訊框。
再者,於步驟S21,以從EBS訊框中之EBLength欄位讀取之值來初始化計數器RemEBLength(i)。在步驟S22中,以鏈路速度傳送對應於該EBS訊框之快遞叢發之各後續訊框,並且RemEBLength(i)遞減以位元組表示之訊框長度之值。當RemEBLength(i)達到零時(在步驟S23中),這種情況應該對應於具有此目前EBS訊框之該快遞叢發之末尾。接著會發生兩種情況(測試S24): - 該快遞叢發之完整佇列(i)淨空,或 - 相同佇列(i)中之下一個快遞叢發起於新EBS訊框(亦即,相同佇列(i)之下一個第一訊框係EBS訊框)。
如果遇到這兩種情況之一,則可在步驟S26中將快遞叢發閘重設為零(XpressBurstGate = 0),意味著外出埠對於快遞訊框傳送目前非作用中。接著,若有的話,下一步可以是標準訊框或片段之傳送,或者有可能是另一快遞串流佇列內容之傳送(若有的話,如步驟S27中之測試結果)。更特別的是,如果測試S27中所有快遞串流佇列都淨空,則可將旗標EBActive設定為0。
如果測試S24中未遇到上述兩種情況,意味著RemEBLength達到零,同時整個快遞叢發傳送尚未完成,則錯誤已發生。接著,中止訊框自該佇列之任何目前傳送,並且將此佇列(i)排清(在步驟S25中)直到下一個EBS訊框,或者如果佇列(i)中不存在EBS訊框,則全部排清。
最終可將對應於圖8A及圖8B之演算法總結如下:
如果外出埠上接收到EBS訊框並且EBActive = 0 (分配串流之佇列淨空),則將EBActive設定為1。
如果XpressBurstGate = 1,亦即正在傳送快遞叢發,則對應快遞串流佇列中儲存內送EBS訊框(incoming EBS frame),可能還儲存該叢發之後隨訊框。如果對應快遞串流佇列淨空,則以EBS訊框之EBSInitTxDate欄位之值設定快遞串流脈絡資訊之HeadEBSFrameTxDate變數。
如果EBReady設定為1,則將內送標準串流儲存在相應佇列中。
每當EBReady未設定為1並且標準串流佇列全都未淨空時,便選擇標準串流佇列之一的首端之訊框或片段、或目前接收之標準訊框或片段以供傳送(根據網路管理制定之規則)。
否則,如果EBReady設定為1: 如果XpressBurstGate = 0且目前未傳送任何標準訊框,則傳送具有較小HeadEBSFrameTxDate之ES佇列的首端之EBS訊框,並且快遞叢發傳送閘開啟(XpressBurstGate = 1),以保留整個通訊埠容量以供傳送屬於該快遞叢發之後續訊框。 如果XpressBurstGate = 0並且正在傳送標準訊框,則根據802.3br及802.1bu標準搶占標準訊框。接著,因搶占操作而在標準訊框片段末尾之後傳送EBS訊框,並且將XpressBurstGate設定為1。
相對於前述遞減,EBS訊框一旦傳送,便以從EBS訊框中之EBLength欄位讀取之值來初始化串流脈絡資訊中之RemEBLength資料。接著傳送快遞叢發之各後續訊框,並且將RemEBLength遞減訊框長度之值。當RemEBLength達到零時,將快遞叢發閘重設(XpressBurstGate = 0)。如果RemEBLength在快遞訊框傳送期間達到零,則中止傳送。如果對應快遞串流佇列淨空,並且其首端之訊框非為EBS訊框,則將佇列排清直到下一個EBS訊框,或如果佇列中不存在EBS訊框,則將佇列全部排清。
在快遞叢發傳送之後,如果快遞串流佇列未淨空,則快遞串流脈絡資訊之變數HeadEBSFrameTxDate係以佇列首端現在儲存之新EBS訊框之EBSInitTxDate欄位中含有之值來更新。
如果快遞串流佇列全都淨空,則將EBactive重設為0。
協定可根據任何目前應用要求,以透過網路之循環通訊實作態樣為依據來操作。因此,假設對網路中之所有鏈路都套用相同循環。在此一組態中,善用共用時脈分布,所有通話器都可在此循環上予以同步,並且可根據此循環來組織其傳送。接著,在一可能實作態樣中,所有通話器都在循環開頭處發送其快遞叢發,各與循環開始有不同偏移量。此偏移量係由快遞叢發首端EBS訊框中包括之EBSInitTxDate反映。接著,由各橋接節點使用此偏移量指示在將快遞叢發轉發到共通鏈路上時予以多工處理。
接著,本發明有可能向時間緊迫之應用提供超低潛時資料傳送,而不必使用靜態離線組態。一般而言,可將其應用在諸如工業或汽車網路等嵌入式控制網路中。
圖9展示根據本發明之通訊裝置(例如以上闡釋之橋接器)之可能實作態樣。此一裝置可包括實施根據本發明之方法步驟之處理電路,例如以上在圖8A及圖8B之具體實施例中所述之方法。該處理電路一般而言,可包括: -   如以上參照圖8A及圖8B所述用以傳送訊框之外出埠EgP, - 或許用以接收訊框(且或許自外出埠EgP重傳至少一些該等訊框)之進入埠InP, - 記憶體MEM,用於至少儲存根據本發明之電腦程式之指令(可能還儲存例如根據FIFO型佇列之訊框), - 處理器PROC,其存取記憶體MEM以讀取前述指令,並接著執行本發明之方法, - 輸入介面COM,一般用於接收在網路中係為共通參考(並且可例如藉由網路中提供之通訊時脈裝置提供)之時脈資料NCLK。當通訊裝置CDE產生此一EBS訊框(以及快遞訊框之對應後隨叢發)以供未來傳送時,該參考NCLK使通訊裝置CDE能夠在EBS訊框之欄位中新增時間戳記。
為了使說明簡化且清楚,圖式繪示一般構造方式,並且可省略眾所周知的特徵及技術之說明及細節以避免不必要地混淆本發明之所述具體實施例的論述。某些圖可能為了協助理解而以理想方式展示,例如所展示的結構具有直線、銳角、及/或平行平面或類似者,在現實世界中,這些結構可能會明顯較不對稱且較不整齊。不同圖中的相同參考符號表示相同元件,而類似的參考符號可表示類似元件,但不必然如此。
另外,應顯而易知的是,本文中的教示可體現成各式各樣的形式,並且本文中所揭示的任何特定結構及/或功能都只是具有代表性。尤其是,本揭露所屬技術領域中具有通常知識者將會了解的是,本文中所揭示的態樣可獨立於任何其他態樣來實施,並且數種態樣可採用各種方式組合。
本揭露係參照根據一或多項例示性具體實施例之方法、系統及電腦程式之功能、引擎、方塊圖及流程圖說明在下文作描述。方塊圖及流程圖說明之各所述功能、引擎、程序塊可實施於硬體、軟體、韌體、中間軟體、微碼、或任何以上適當的組合中。若是在軟體中實施,則方塊圖及/或流程圖說明之功能、引擎、程序塊可藉由電腦程式指令或軟體碼來實施,可予以透過電腦可讀取媒體儲存或傳送、或載入到通用型電腦、特殊用途電腦或其他可編程資料處理器具,以產生機器,使得在電腦或其他可編程資料處理器具上執行的電腦程式指令或軟體碼建立用於實施本文所述功能的手段。
電腦可讀取媒體之具體實施例包括但不限於包含有助於使電腦程式從一處轉移至另一處之任何媒體的電腦儲存媒體及通訊媒體兩者。「電腦儲存媒體」於本文中使用時,可以是可由電腦或處理器存取之任何實體媒體。另外,「記憶體」及「電腦儲存媒體」等詞包括任何類型之資料儲存裝置,例如(但不限於)硬碟機、快閃驅動器(flash drive)或快閃記憶體裝置(例如:隨身碟、記憶條、鑰匙硬碟、固態硬碟)、CD-ROM或光學儲存器、DVD、磁碟儲存器或其他磁性儲存裝置、(多個)記憶體晶片、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電氣可抹除可編程唯讀記憶體(EEPROM)、智慧卡、或任何其他可用於載送或儲存形式為可藉由電腦處理器來讀取之指令或資料結構之程式碼之適當媒體,或以上之組合。各種形式的電腦可讀取媒體亦可採用有線(同軸電纜、光纖、雙絞線、DSL纜線)或無線(紅外線、無線電、蜂巢式、微波)方式,將指令傳送或載送至電腦,包括路由器、閘道器、伺服器、或其他傳送裝置。此等指令可包含任何電腦程式語言寫成的符碼,包括但不限於組合語言、C、C++、Python、Visual Basic、SQL、PHP及JAVA。
除非另有具體表明敘述,將會了解的是,以下在全文中利用諸如處理、運算、計算、判定等詞、或類似者的說明論述意指為電腦或運算系統、或類似電子運算裝置之動作或程序,此動作或程序將運算系統之暫存器或記憶體內表示為物理(例如電子)量的資料操縱(manipulate)或轉換成以類似方式表示為運算系統之記憶體、暫存器或其他此類資訊儲存、傳送或顯示裝置內之物理量的其他資料。
「包含」、「包括」、「具有」等詞及任何其變體於本文中使用時,用意在於涵蓋非排他性的包括,使得包含元件清單之程序、方法、物件或器具不必然受限於那些元件,而是可包括此程序、方法、物件或器具未明確列出或固有的其他元件。
另外,「例示性」一詞在本文中係用於意指「當作實施例、實例或說明使用」。任何在本文中描述為「例示性」的具體實施例或設計不必然要推斷為比其他具體實施例或設計更佳或更有助益。
為了本揭露之目的,應將「網路」理解為係指可耦接裝置(在本文中亦稱為「節點」或「通訊實體」)之網路,以使得可在此類裝置之間發生數據通訊,舉例而言,包括在經由無線網路耦接之諸無線裝置之間發生數據通訊。網路亦可包括大量儲存器,諸如網路附接儲存器(network attached storage, NAS)、儲存區域網路(storage area network, SAN)、或其他形式之電腦或機器可讀媒體,舉例而言,還包括時脈計數器,以便向裝置提供時脈參考。可使各種類型之裝置,例如閘道器,用於為網路中使用之不同架構或協定提供可交互運作能力。根據本說明書,電腦網路中可使用任何數量之節點、裝置、器具、鏈路、互連等。
網路之運算裝置,例如感測器節點或致動器節點,可能夠發送或接收信號,諸如經由有線或無線網路發送或接收,及/或可具有處理及/或儲存資料之能力。
應理解的是,本揭露之具體實施例可在各種應用中使用,尤其是、但不限於工業網路,例如工業匯流排或感測器網路,其中潛在大量之感測器採協同方式監控位處不同位置(例如工廠或核電廠設施中)之物理或環境條件。雖然本揭露就這一點來說不受限制,仍可將本文中所揭示之方法用在具有各種拓撲之許多類型之電腦網路中,舉例如任何LLN網路、菊鍊拓撲網路、任何車輛匯流排網路、任何多點跳躍系統(例如:網目網路)、任何物聯網(IoT)網路或系統、任何機器間(M2M)網路或系統(例如:智慧物件網路,諸如感測器網路)、或以上之任何組合,並且可用在許多器具中,諸如電腦網路之任何網路節點中,舉例如根節點、閘道器節點、感測器節點、致動器節點、或用在連接至或包含在電腦網路中之任何伺服器中。
儘管已就較佳具體實施例說明本發明,本發明所屬技術領域中具有通常知識者仍將會輕易了解到,可對本發明施作各種變更及/或修改,但不會脫離如隨附申請專利範圍所定義之本發明的精神或範疇。
雖然本發明已揭示於某些較佳具體實施例的內容中,仍應理解可在各種其他具體實施例中實現系統、裝置及方法的某些優點、特徵及態樣。另外,預期本文所述的各種態樣及特徵可各別實際演練、組合在一起、或互相取代,並且此等特徵及態樣之各種組合及副組合可予以施作且仍都落於本發明的範疇內。再者,上述系統及裝置不需要包括較佳具體實施例中所述的全部模組及功能。
本文所述的資訊及信號可使用任何各種不同技術及技巧來表示。舉例而言,資料、指令、命令、資訊、信號、位元、符號及晶片可藉由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子、或以上之任何組合來表示。
取決於具體實施例,本文所述任何方法之某些動作、事件或功能可按照不同次序來進行,可全部一起新增、合併或忽略(例如:本方法之實作並不需要所有所述的動作或事件)。此外,在特定具體實施例中,動作或事件可同時進行,而不是循序進行。
S1~S28:流程步驟 CDE:通訊裝置 COM:輸入介面 EgP:外出埠 InP:進入埠 MEM:記憶體 NCLK:時脈資料 PROC:處理器
以下詳細說明及圖式中將展示其他特徵、細節及優點,在該等圖式中: 圖1展示已排程串流及非排程串流之一實施例; 圖2展示不利情況之一實施例; 圖3展示搶占操作之一實施例。 圖4展示標準802.1Qbv中規定之排程方案。 圖5展示第一佇列內容之一實施例,該第一佇列在這裡包含由相應信令訊框(指稱為「 EBS」訊框)分離之數個快遞叢發。 圖6A展示信令訊框結構之一實施例; 圖6B展示信令訊框結構之一實施例; 圖7示意性地展示具有需要管理之不同第一類型(快遞串流)及第二類型(標準串流)佇列之外出埠之架構之一實施例; 圖8A根據本說明書,係一種方法之主要步驟之具體實施例之一範例的流程圖; 圖8B根據本說明書,係一種方法之主要步驟之具體實施例之一範例的流程圖; 圖9根據本說明書,示意性地展示通訊實體之運算電路之一實施例。

Claims (15)

  1. 一種在封包交換網路中藉由通訊實體之電腦手段實施之方法,該通訊實體包含至少一個用於傳送通訊信號訊框之外出埠(EgP),該訊框包含: - 旨在以複數個叢發予以傳送之第一類型之訊框,對於該第一類型之訊框,將訊務成形定義為快遞訊務,以及 - 作為偶發訊務之第二類型之訊框,對於該第二類型之訊框,未定義訊務成形, 該通訊實體係組配成用於儲存: - 該第一類型之訊框之複數個第一佇列,該等第一佇列分別與該等叢發相關聯,以及 - 該第二類型之訊框之至少一個第二佇列, 其中該等叢發係儲存在相應之第一佇列中,有信令訊框居於各叢發之前,並且該信令訊框包含該叢發之產生時間戳記, 以及,其中,為了在儲存於該等第一佇列中之該等叢發間選擇要傳送之第一叢發,該通訊實體係組配成用於: - 讀取位於各第一佇列之首端之各信令訊框之該時間戳記, - 在所有該等信令訊框間確定時間戳記最舊之一個信令訊框,以及 - 選擇具有該確定之信令訊框之該叢發作為要傳送之該第一叢發。
  2. 如請求項1所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中在該第一叢發之傳送期間,只要該第一叢發傳送尚未完成,便推遲第二類型訊框傳送。
  3. 如請求項1所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中在該第一叢發之傳送期間,只要該第一叢發傳送尚未完成,便推遲該第一叢發之該佇列除外的第一類型佇列之第一類型訊框傳送。
  4. 如請求項1所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中一旦從該傳送選擇要傳送之該第一叢發,則在該第一叢發之該傳送之前: - 判斷該外出埠是否正在傳送該第二類型之訊框,如果是,則 - 將具有預定最小尺寸之該第二類型訊框之片段排程為該外出埠之下一次傳送,該下一次傳送正好是在該第一叢發之該傳送之前進行。
  5. 如請求項1所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中該等佇列係儲存在先進先出記憶體緩衝區中。
  6. 如請求項1所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中該網路中提供複數個通訊實體作為該等第一類型訊框叢發之傳送器,並且其中根據該網路中之共用時脈參考,各該通訊實體係組配成用來在對應信令訊框中新增第一類型訊框叢發之產生時間戳記。
  7. 如請求項6所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中該等通訊實體至少一部分充當該等叢發之發射器,並且該產生時間戳記係該對應叢發之建立時間戳記。
  8. 如請求項6所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中該等通訊實體至少一部分充當該等叢發之轉發器,並且該產生時間戳記係該對應叢發之建立時間戳記。
  9. 如請求項1所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中該信令訊框更包含與該第一叢發之全部該等第一訊框中之第一數量的資料對應之資料,並且其中在該第一叢發之訊框傳送期間,該通訊實體係進一步組配成用於: - 計數該第一叢發之已傳送資料的第二數量, - 以及,繼續該第一叢發之資料傳送,直到該第二數量達到該第一數量為止。
  10. 如請求項9所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中該通訊實體係進一步組配成用於,當該第二數量達到該第一數量時: - 結束該第一叢發之資料傳送,以及 - 從該對應第一佇列排清該第一叢發之任何可能剩餘資料。
  11. 如請求項1所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中相同第一佇列中之不同叢發係藉由該等叢發之相應信令訊框來劃界。
  12. 如請求項1所述之在封包交換網路中藉由通訊實體之電腦手段實施之方法,其中該信令訊框可以是一乙太網路訊框,其包括一個乙太類型欄位所構成之至少一個標籤,該乙太類型欄位宣告該標籤之資料,該資料至少對應於該時間戳記。
  13. 一種封包交換網路之通訊實體,該通訊實體包含運算電路,該運算電路係組配成用來實施如請求項1至12中任一項所述之方法之至少一部分。
  14. 一種電腦軟體,其包含指令,當由處理器執行該軟體時,該等指令實施如請求項1至12中任一項所述之方法之至少一部分。
  15. 一種電腦可讀非暫態記錄媒體,其上之軟體係經暫存,用以在處理器執行該軟體時,實施如請求項1至12其中一項所述之方法。
TW109113459A 2019-04-30 2020-04-22 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體 TWI756666B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP19305557.1 2019-04-30
EP19305557.1A EP3734919A1 (en) 2019-04-30 2019-04-30 In-band signalling for dynamic transmission time window control
WOPCT/JP2020/009281 2020-02-27
PCT/JP2020/009281 WO2020222289A1 (en) 2019-04-30 2020-02-27 Method implemented by computer means of a communicating entity in a packet-switched network, and computer program and computer-readable non-transient recording medium thereof, and communicating entity of a packet-switched network

Publications (2)

Publication Number Publication Date
TW202046690A true TW202046690A (zh) 2020-12-16
TWI756666B TWI756666B (zh) 2022-03-01

Family

ID=66625876

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109113459A TWI756666B (zh) 2019-04-30 2020-04-22 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體

Country Status (7)

Country Link
US (1) US20220210078A1 (zh)
EP (1) EP3734919A1 (zh)
JP (1) JP7191253B2 (zh)
KR (1) KR20210137204A (zh)
CN (1) CN113748650A (zh)
TW (1) TWI756666B (zh)
WO (1) WO2020222289A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11317058B2 (en) * 2019-03-28 2022-04-26 David Clark Company Incorporated System and method of wireless communication using a dynamic multicast distribution scheme
CN114513477A (zh) * 2020-11-17 2022-05-17 华为技术有限公司 报文处理方法以及相关装置
CN113708903B (zh) * 2021-07-09 2022-12-02 北京邮电大学 基于时间戳的信令确定性传输方法、装置、设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5309432A (en) * 1992-05-06 1994-05-03 At&T Bell Laboratories High-speed packet switch
US6967951B2 (en) * 2002-01-11 2005-11-22 Internet Machines Corp. System for reordering sequenced based packets in a switching network
US7372865B2 (en) * 2003-07-09 2008-05-13 Fujitsu Limited Processing data packets using time stamped marker packets
US20070291768A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS
RU2549159C2 (ru) * 2010-05-03 2015-04-20 Нокиа Корпорейшн Сокращение служебной информации протокола
GB2496681A (en) * 2011-11-21 2013-05-22 Push Technology Ltd A publish/subscribe system with time-sensitive message delivery to subscribers
US9219693B2 (en) * 2012-02-22 2015-12-22 Marvell World Trade Ltd. Network devices with time aware medium access controller
US9705700B2 (en) * 2014-10-21 2017-07-11 Cisco Technology, Inc. Sparse graph coding scheduling for deterministic Ethernet
EP3057273B1 (en) * 2015-02-13 2019-03-27 Mitsubishi Electric R&D Centre Europe B.V. Method for a traffic shaping in a network
EP3379793A1 (en) 2017-03-22 2018-09-26 Mitsubishi Electric R&D Centre Europe B.V. Asynchronous frame scheduler with efficient support for fragmentation
US10754816B2 (en) * 2018-12-21 2020-08-25 Intel Corporation Time sensitive networking device

Also Published As

Publication number Publication date
CN113748650A (zh) 2021-12-03
EP3734919A1 (en) 2020-11-04
US20220210078A1 (en) 2022-06-30
KR20210137204A (ko) 2021-11-17
WO2020222289A1 (en) 2020-11-05
JP7191253B2 (ja) 2022-12-16
TWI756666B (zh) 2022-03-01
JP2022518631A (ja) 2022-03-15

Similar Documents

Publication Publication Date Title
US10218631B2 (en) Method for traffic shaping of data frames in network and device and computer program product therefor
TWI756666B (zh) 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體
US11088962B2 (en) Method for performant data transmission in a data network with, in part, real-time requirements and apparatus for carrying out the method
EP4319055A1 (en) Message transmission method and apparatus
TWI665896B (zh) 用以傳輸通訊訊號訊框之方法、實體及程式
US10652044B2 (en) Ultra-low transmission latency for sporadic network traffic
Suethanuwong Scheduling time-triggered traffic in TTEthernet systems
US10367743B2 (en) Method for traffic management at network node, and network node in packet-switched network
CN111052688B (zh) 同步数据包传输的方法
US9236968B2 (en) Communication device and communication method
JP2023073204A (ja) 統合されたtsnおよび5g展開のためのシステムレベルのスケジュール生成
Blair Analysis of converged network traffic using time sensitive networking (TSN)
Steiner et al. IEEE 802.1 Audio/Video Bridging and Time-Sensitive Networking
CN117356080A (zh) 在分组交换网络中实现的用于调度以太网帧的传输的方法
CN117240728A (zh) 一种基于窗口缩小的tsn调度优化方法
CN115396371A (zh) 一种报文传输方法及系统
CN117751569A (zh) 报文传输

Legal Events

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