亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于在基于碰撞識別的通信網(wǎng)中實時數(shù)據(jù)交換的通信方法、相應的存儲媒體和通信網(wǎng)的制作方法

文檔序號:7747471閱讀:174來源:國知局
專利名稱:用于在基于碰撞識別的通信網(wǎng)中實時數(shù)據(jù)交換的通信方法、相應的存儲媒體和通信網(wǎng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于在基于碰撞識別的通信網(wǎng)中,例如在實時以太網(wǎng)協(xié)議中的實時數(shù)據(jù)交換的通信方法,其中,通過常規(guī)的以太網(wǎng)網(wǎng)絡(luò)確定性地,例如可預見地實現(xiàn)一種實時數(shù)據(jù)交換。
例如從國際專利申請WO 00/03521中已知一種這樣的系統(tǒng),其中,在傳輸實時數(shù)據(jù)時,通過應用程序和以太網(wǎng)協(xié)議之間的相應的中間件(Middleware)來防止實時傳輸期間的數(shù)據(jù)碰撞。但是此外,在此不利的是,在每個網(wǎng)絡(luò)節(jié)點中必須有該中件。
從US專利申請US 2001/0002195 A1中建議了一種解決方案,其中,在網(wǎng)絡(luò)的外圍設(shè)備中安置了裝置適配器,給這些裝置適配器分配了某些時隙,在這些時隙之內(nèi)該裝置適配器于是可以專門發(fā)送數(shù)據(jù)分組。但是這導至資源的很少使用。
因此本發(fā)明的任務(wù)在于,說明一種用于在基于碰撞識別的通信網(wǎng)中通過相應的存儲媒體和通信網(wǎng)進行實時數(shù)據(jù)交換的通信方法,其中,分別避免了上述的缺點。
按本發(fā)明關(guān)于所述的方法則通過權(quán)利要求1所述的特征,而關(guān)于通信網(wǎng)則通過權(quán)利要求7所述的特征來解決該任務(wù)。
其它的權(quán)利要求涉及所述方法的優(yōu)選的擴展方案,以及一種可機讀的存儲媒體。
本發(fā)明主要涉及一種基于碰撞識別的通信網(wǎng),例如基于以太網(wǎng)的方法,其中,時間上在周期性重復的實時數(shù)據(jù)交換之前,實現(xiàn)將所述的實時數(shù)據(jù)交換路由選擇到成本最低的數(shù)據(jù)路徑上,并隨后借助貪婪的探試法(greedy heuristic)對實時數(shù)據(jù)交換的消息進行調(diào)度,以便無沖突地和以盡可能短的周期時間來實現(xiàn)周期性重復的實時數(shù)據(jù)交換。
以下借助圖中示出的實施例來詳述本發(fā)明。


圖1展示了一個具有三個消息和四個開關(guān)的小實例,
圖2展示了一個當消息以廣播方式傳輸時的條件圖,圖3展示了一個當消息被復制時的條件圖,圖4展示了一個圖2情況的甘特圖(Ganttdiagramm),圖5展示了圖3情況的甘特圖,圖6展示了一個具有所復制消息的條件圖,圖7展示了一種以甘特圖形式的圖6情況的解決方案,圖8展示了一種用于闡述冗余處理的簡單的環(huán)形布局技術(shù),圖9展示了一個具有圖8情況的兩個獨立已選擇路由的消息的甘特圖和圖10展示了圖8情況的兩個以資源分離方式已選擇路由的消息。
在用于在諸如傳感器驅(qū)動或控制器那樣的組件之間的快速通信的實時以太網(wǎng)中,在系統(tǒng)之內(nèi)以周期性的方式和方法來交換可計劃的消息。在初始化階段或建立階段中,對于這些消息可以如下來既確定它們從發(fā)送站向接收站所采用的路徑,也確定當它們通過網(wǎng)絡(luò)的開關(guān)元件(開關(guān))時的一個周期之內(nèi)的時間,使得在這些消息之間不產(chǎn)生沖突。以此方式使得無任何非確定性的通信成為可能,而且以此方式使得實時特性成為可能。
為此目的,將所述的通信周期劃分為一個含有這些所計劃消息的實時部分和一個非實時部分,在該非實時部分中通過采用標準TCP/UDP/IP法來進行非計劃的事務(wù)(Transaktion)。
在此,所述的實時部分應在總周期中占有盡可能少的空間,以便留出非計劃事務(wù)用的足夠大的空間。
所述的網(wǎng)絡(luò)由開關(guān)單元(開關(guān))和雙向的通信連接(鏈路)組成。每個鏈路連接一對開關(guān),或更確切地說連接該兩個開關(guān)的端口。所述的鏈路促成與鏈路長度成正比的延遲。此外還假設(shè)將消息傳遞通過開關(guān)用的固定的延遲時間;該延遲因此包括允許同步抖動,這在調(diào)度時未進一步得到考慮。
開關(guān)的所確定的延遲的假設(shè)暗示,一個相應的開關(guān)不暫存消息,以便然后稍后時才轉(zhuǎn)送它們。
所述的網(wǎng)絡(luò)布局技術(shù)典型地是環(huán)形的或樹狀的,但是不局限于這些簡單的布局技術(shù)。
從網(wǎng)絡(luò)元件與網(wǎng)絡(luò)布局技術(shù)、消息及其發(fā)送站與接收站、以及總體(global)的設(shè)計參數(shù)的說明出發(fā),針對每個消息通過路由選擇來確定一個通過所述網(wǎng)絡(luò)的路徑,并確定所述的消息何時通過各自開關(guān)的時刻,其中,在此使所有要發(fā)送消息的總時間最小化。下面還將詳述與此相連接的路由選擇和調(diào)度任務(wù)的附加條件。路由選擇和調(diào)度原則上不是獨立的任務(wù);在路由選擇階段所執(zhí)行的選擇影響著調(diào)度的質(zhì)量。在本發(fā)明的一個較簡單的變型中,所述的路由選擇和調(diào)度卻是被看作為彼此獨立的。
路由選擇問題網(wǎng)絡(luò)說明和消息的清單用作為路由選擇的輸入?yún)⒘?。發(fā)送的開關(guān)和若干接收的開關(guān)對于每個消息是已知的。所述的路由選擇任務(wù)現(xiàn)在在于找出一個路徑,即若干開關(guān)或其端口,以便向目的地傳遞消息。如果消息具有k個目的地,則可由發(fā)送站將它同時向所有的接收站發(fā)送,其中,將它向中間連接的開關(guān)轉(zhuǎn)移(廣播方式),或者又可以將它與發(fā)送站無關(guān)地在k個不同的時刻向k個接收站發(fā)送。除此之外,在該兩個極端之間的變型當然也是可能的。下面也將說明,在這些選項之間的選擇不是毫無意義的,而可以在調(diào)度之內(nèi)來進行。針對每個消息,所述的鏈路和端口,以及相對于發(fā)送時刻的相對的到達時間確定為路由選擇的結(jié)果,其中,根據(jù)累加由消息所通過的鏈路和開關(guān)所引起的延遲,可以以簡單的方式計算出所述的到達時間。
調(diào)度問題所述調(diào)度的任務(wù)是如此來分配所發(fā)送消息的絕對時刻,使得在消息之間不出現(xiàn)沖突,并使得傳輸所有消息的總周期時間最小化(makespan)。通過由路由選擇所給定的條件也自動地確定了在所有端口上的到達時間,這些端口由所述的消息所使用。
但是潛在地在這些消息之間出現(xiàn)了沖突,因為所述的端口卻在某個時刻總是只能轉(zhuǎn)接一個消息。
如果例如觀察一個端口輸出端p和兩個使用該端口的消息mi和mj,則得出以下的內(nèi)容
在相應的發(fā)送站中在時刻ti和tj發(fā)送所述的兩個消息,并在時間ti,p=ti+δi,p和tj,p=tj+δj,p在端口輸出端p上可以提供該兩個消息,其中,δi,p表示了在消息mi的發(fā)送站和端口輸出端p之間的延遲的總和。在以下的條件下,即所述的兩個消息具有長度或持續(xù)時間li和lj,以及一方面可能出現(xiàn)以下的情況,即所述的消息mi在消息mj之前或相反地可以使用端口p,則得出以下的不等式tj≥ti+di,j式中di,j=maxpδi,p-δj,p+li]]>和tj≤ti-dj,i式中dj,i=maxpδj,p-δi,p+lj.]]>如果解決了在調(diào)度的端口輸出端上的沖突,則在此不需要考慮端口輸入端上的資源沖突。如果這樣的兩個消息不直接彼此相繼地跟隨,則當然在調(diào)度期間也必須考慮所述兩個消息之間的空隙。
調(diào)度的任務(wù)因此是如此來向一個或多個發(fā)送時間分配每個消息,使得滿足了所有的不等式,并在此使得消息傳輸?shù)目倳r間最小化。
集中的數(shù)據(jù)結(jié)構(gòu)例如有利地將以下的數(shù)據(jù)結(jié)構(gòu)用于程序技術(shù)的實現(xiàn)消息端口(MessPort)說明一個向端口傳遞的消息,并包含所述消息在所述端口上的相對的到達時間、一個指向所述消息的指示符(Zeiger)和一個指向所述端口的指示符。
端口說明一個端口,并指明所屬的開關(guān)和與此相連接的鏈路。除此之外,所述的數(shù)據(jù)結(jié)構(gòu)還包含一個消息端口的清單,以便提供對使用該端口的所有消息的訪問。后者的信息是路由選擇階段的結(jié)果。
開關(guān)說明一個開關(guān),并包含所述開關(guān)的名稱,以及指向其端口的指示符。
鏈路說明一個鏈路,并包含所述鏈路的長度或延遲、以及通向由該鏈路彼此相連接的兩個端口的指示符。
消息說明一個消息,并包含消息名稱、所述消息的長度、一個通向發(fā)送開關(guān)的指示符、一個具有接收開關(guān)的清單、一個消息端口的清單,這些消息端口提供對所有由所述消息所通過的端口的訪問、以及所屬的由調(diào)度所確定的消息到達時間。所述消息端口的清單是路由選擇階段的結(jié)果,而所述的時間是調(diào)度階段的結(jié)果。
約束說明一個在兩個消息的調(diào)度時間之間的條件,正如它例如由上列不等式所指明的那樣。
組件說明約束圖的一個相連接的組成部分,并包含一個所有屬于各自組成部分的消息和端口的清單。
路由選擇針對路由選擇由圖來模擬所述的網(wǎng)絡(luò)。為此存在著一系列的可能性,但是將一個開關(guān)模擬為一個節(jié)點,并將一個鏈路模擬為路由選擇圖的一個棱邊則已足夠。由于所有的鏈路是雙向的,因此例如來自TURBO-C++等級程序庫中的未定向的(ungerichtet)圖可以得到采用。從文獻中早已公開的狄杰克斯特拉(Dijkstra)算法可用于路由選擇本身,以便對于每個從發(fā)送有關(guān)消息的開關(guān)出發(fā)的消息形成最短的路徑樹。出于效率的原因,針對配備了標號(Label)的但還未處理的節(jié)點,將由狄杰克斯特拉算法所需要的優(yōu)先隊列實施為所謂的基數(shù)(Radix)隊列。如果所有的目標節(jié)點或接收的開關(guān)具有一個持久的標號,則停止樹的生成過程。通過返回的指示符,可以用簡單的方式追溯從目標節(jié)點返回樹的根節(jié)點的最短的路徑,其中,生成消息端口對象(Objekt),并添加給相應消息和端口的消息端口清單。路由選擇的主要結(jié)果是消息端口對象,這些消息端口對象包含在端口和消息對象中。由此可以簡單地訪問所有通過某個端口的消息,和訪問所有由任何一個已有消息通行的端口。
調(diào)度例如也可以通過未定向圖來模擬上面規(guī)定的調(diào)度條件,其中,圖的節(jié)點相當于消息,而棱邊相當于在向所述兩個消息分配時間時必須滿足的條件。但是以此方式產(chǎn)生了許多″平行″的條件,從這些條件中只有這些條件中的最強烈者對于調(diào)度才是重要的。此時,所述的條件可以要么明晰地存儲在所述條件的圖中,例如在矩陣中,以便獲得各自節(jié)點對的快速訪問,要么但是也可以是隱含地代表的,并只有當分析研究了由某個消息使用的端口時,才可以生成所述的條件。在此,如果成功地將所述的調(diào)度問題分解為可以彼此獨立解決的較小的子問題,則可以節(jié)省處理時間。當不存在消息之間的直接或間接的條件時,這則能成功。
由于一般通過采用有效率的算法不能直至最佳地解決所述的調(diào)度問題,所以求出一個下極限用于評價所述調(diào)度用的探試法,以便具有對相距最佳值的距離的評估。例如在使用某個端口的消息的基礎(chǔ)上可以形成所述的下極限,其中,對于每個端口累加所有的消息長度,并從中形成最大值,以及示出總周期時間(make span)的下極限。對于較好的下極限的計算也可以引用消息的最大子集(Teilmenge),即條件圖中的最大的組(群Cliquen),在這些消息之間成對地存在著條件。
將″貪婪的″探試法(greedy Heuristics)用于本來的調(diào)度,其中,通過采用優(yōu)先權(quán)圖表在最短的執(zhí)行時間之后分配消息。在針對一個消息實現(xiàn)了調(diào)度之后,重新分配(更新)所有還未由所述調(diào)度計劃的消息用的最短執(zhí)行時間以及這些消息的優(yōu)先權(quán)。實施的一種可能性在于還未計劃(未調(diào)度)的消息用的優(yōu)先權(quán)隊列,以及在于修改最短執(zhí)行時間的條件圖,并可以通過以下的偽代碼來說明<pre listing-type="program-listing"><![CDATA[queue_schedule(){   forall messages m{  lowest_feasible_time(m)=0;  put m into priority queue;   }   while(queue not empty){  select message m to schedule from priority queue;  delete message m from priority queue;  schedule m at lowest feasible time;  for all affected messages h{   update lowest time of h;  update priority queue ;  }   }  }]]></pre>(隊列調(diào)度(){全部消息m{最短可行的時間(m)=0;將m放入優(yōu)先隊列中;}當(隊列不是空的){從優(yōu)先隊列中選出要調(diào)度的消息m;從優(yōu)先隊列中刪除消息m;
以最短可行的時間調(diào)度m;全部受影響的消息h{更新h的最短的時間;更新優(yōu)先隊列;}}})但是也可以沒有較大損失地僅采用一個還未計劃進去的消息用的清單來替代所述的優(yōu)先隊列,由此得出所述調(diào)度的以下的偽代碼<pre listing-type="program-listing"><![CDATA[list_schedule(){   forall messages m{  lowest_feasible_time(m)=0;  put m into list of unscheduled messages;   }   while(list not empty){  select message m to schedule from unscheduled list;  delete message m from unscheduled list;  schedule m at lowest feasible time;  for all affected messages h{   update lowest time of h;  }   }  }]]></pre>(調(diào)度清單( ){全部消息m{最短可行的時間(m)=0;將m放入未調(diào)度消息的清單中;
}當(清單不是空的){從未調(diào)度的清單中選出要調(diào)度的消息m;從未調(diào)度的清單中刪除消息m;以最短可行的時間調(diào)度m;全部受影響的消息h{更新h的最短的時間;}}})所述調(diào)度的一個更簡單和更快速的變型考慮了以下的事實,上面所述條件圖的每個棱邊事實上被使用了兩次,并可以通過以下的偽代碼來說明<pre listing-type="program-listing"><![CDATA[fast_simple_schedule(){   forall messages m{  lowest_feasible_time(m)=0;  put m into list of unscheduled messages;   }   while(list not empty){  select message m to schedule from unscheduled list;  delete message m from unscheduled list;  schedule m at lowest feasible time;  for all ports p of message m{   for all messages m1 of port p{   update earliest feasible time;   delete m1 from list of messages for port p;   }  }   }   rebuild lists of messages of ports;  }]]></pre>
(快速簡單調(diào)度( ){全部消息m{最短可行的時間(m)=0;將m放入未調(diào)度消息的清單中;}當(清單不是空的){從未調(diào)度的清單中選出要調(diào)度的消息m;從未調(diào)度的清單中刪除消息m;以最短可行的時間調(diào)度m;消息m的全部端口p{端口p的全部消息m1{更新最早可行的時間;從端口p的消息清單中刪除m1;}}}重建端口的消息清單})在更新步驟期間將消息端口對象從端口中的它們的清單中刪除,使得對于已實現(xiàn)了調(diào)度的消息不再進行更新。消息端口對象的數(shù)量以此方式隨著進展的調(diào)度變得越來越小,直至在最后的步驟中于是更新了所述的清單時為止。
當然甚至于即使用再聰慧的優(yōu)先權(quán)圖表也會對于下一個通過調(diào)度應計劃的消息作出錯誤的選擇,因為以一種″貪婪″的方式和方法以有限的知識來實現(xiàn)這些選擇。在一個實施例中通過迭代的改進來嘗試消除這些錯誤的選擇。通過以下的偽代碼說明了用于此的基本的圖表
improvement( ){while (solution can be improved){select a message m and remove it from the schedule;find best position to reinsert m into the schedule;reinsert m into the schedule;}}(改進( ){當(解決方案是可以改進的){選出a個消息m,并將其從進度表中消除;找出將m編入進度表中的最好位置;將m編入進度表中;}})用于改進調(diào)度的另一個可能性是顯著地快于上述改進的,因為在這里增量地實現(xiàn)了盡可能多的處理步驟。為此目的需要一種最長路徑的方案。在調(diào)度之后,原先未定向的條件圖定向了;在此,每個棱邊從稍后計劃的消息指向以前計劃的消息。圖中從任何一個節(jié)點或一個消息通向圖的任何一個漏極的最長路徑的長度,給出了各自消息調(diào)度用的最早的執(zhí)行時間。圖棱邊的追溯和最長路徑的計算給出最遲的執(zhí)行時間,只要不放大總周期時間。如果最遲的執(zhí)行時間大于最早的執(zhí)行時間,所述的消息則具有所謂的滑移(slack松馳)。消除該伴有滑移的消息不能導至減少總周期時間。因此只有不帶這種滑移的消息形成了條件圖中的一個臨界的路徑,并且是改進用的候選者。通過在進度表中消除這種消息,引入了其它消息的附加的滑移,并要在所計劃消息的清單中找出一個位置,在這里可以最好地利用該滑移,例如通過采用所消除的、具有總周期時間的最小放大率的消息(makespan)。這可以如下來實現(xiàn),分析研究所觀察位置″之下″和″之上″的消息。通過以下的偽代碼來說明該行動方式
<pre listing-type="program-listing"><![CDATA[improvement( ){   calculate forward and backward longest paths;  while(solution can be improved){   select any message m in a cyclic fashion;   if(m has slack)continue;   remove m from schedule;   note longest paths;   update longest paths;   find best position for messages m;   if(best position gives improvement){  reinsert m at best position;  update longest paths;   }   else{   reinsert m at old position;   restore longest paths;   }  }  }]]></pre>(改進( ){向前和向后計算最長的部分;當(解決方案是可以改進的){以周期性的方式選出任何消息m;如果(m具有滑移)繼續(xù);從進度表中消除m;
注釋最長的部分;更新最長的部分;找出消息m的最好位置;如果(最好的位置提供改進){在最好的位置上編入m;更新最長的部分;}否則{在原來的位置上編入m;再存入最長的部分;}}})通過以象由調(diào)度所計劃那樣的順序由消息所進行的簡單掃描(Durchlauf),可以實現(xiàn)找出最好的位置。例如通過以下的偽代碼可以說明找出最好的位置<pre listing-type="program-listing"><![CDATA[find_best_position(Messages m){   for all ports p{  initialize highest MessPort in p;   }   for all messages i as they have been scheduled{  from highest MessPorts in ports of m determine earliest  time for m  from successor of highest MessPorts determine latest time  for m;  from earliest and latest time,determine increase of make  span,   when message m would be scheduled after message i;  note position with least increase;  increment highest MessPort for ports of i;   }  }]]></pre>
(找出最好的位置(消息m){全部端口p{初始化p中最高的消息端口;}全部消息i,當它們已被調(diào)度時{從m的端口中最高消息的端口中求出m的最早時間從最高消息端口的后繼站中求出m的最遲時間;從最早和最遲的時間中求出make span的增量值,如果要在消息i之后調(diào)度消息m;注釋具有最少增量值的位置;增量i的端口的最高消息端口;}})專用的實例圖1中借助一個具有三個消息M1,M2和M3和四個開關(guān)裝置A...D的小實例來展示具有多個目的地的消息的操作。開關(guān)A的第一端口A(1)在此是與開關(guān)B的第一端口B(1),該開關(guān)的第二端口B(2)是與開關(guān)C的第一端口C(1)和開關(guān)B的第三端口B(3)是與開關(guān)D的第一端口D(1)相連接的。在此,應從開關(guān)B向開關(guān)C和D傳輸消息M1,從開關(guān)A向開關(guān)C傳輸消息M2和從開關(guān)A向開關(guān)D傳輸消息M3。
以廣播方式存在著消息M1和M2之間的條件,其中,兩者使用B的所述的共同的端口,存在著消息M1和M3之間的條件,因為兩者具有B的一個共同的端口,以及存在著消息M2和M3之間的條件,因為兩者具有開關(guān)A的一個共同的端口。對于以廣播方式傳輸消息M1的情況,在圖2中示出了一個相應的條件圖。
如果將消息M1分解成消息M1′和消息M1″,則在消息M1′和消息M2之間形成了新的條件,因為它們具有開關(guān)B的一個共同的端口,并在消息M1″和消息M2之間形成了新的條件,因為它們也具有B的一個共同的端口。但是在這里,條件圖中的最大組的大小從三下降到二。在圖3中對于該情況示出了,即如果復制了消息M1。圖4和5展示了各自的結(jié)果,其中,圖4中展示了以廣播方式的消息M1的解決方案,而圖5中展示了具有所復制消息M1的解決方案。
在圖4和5中,在所謂的甘特圖中在水平的時間軸上在垂直方向標上了端口,而通過矩形示出了由消息引起的端口占用,其中,對角貫通劃線(durchgestrichen)的消息是伴有滑移的。端口之下的各自的大的矩形展示了調(diào)度的各自的下極限。
因此以不同的方式來處理具有多于一個目的(Bestimmung)的消息。通過將一個消息分解成被獨立處理的子消息,生成一種附加的數(shù)據(jù)交換,然而該數(shù)據(jù)交換必要時可能提高總周期時間。另一方面,當樹狀地對所述的消息進行路由選擇時,如果因此僅一次性從源點出發(fā)來發(fā)送它,這則可能導至難于滿足的條件。為了在生成過多的數(shù)據(jù)交換、或過于伴有條件的問題之間找出最好的折衷方案,必須修改所述的路由選擇和調(diào)度。在所述的路由選擇時,必須以兩種不同的方式和方法來處理多個接收站的消息。
如果所述的消息配備了標志″廣播″,則不需要專用的行動,因為簡單的是在追溯時排除共同的子路徑。
如果不要求多重接收站消息用的廣播方式,則也可以多次發(fā)送所述的消息。對于該情況在消息的路由選擇之后,對于每個接收的開關(guān)生成一個單獨的消息對象,其中,該組的所有的消息獲得一個單一的共同標志,使得所述的調(diào)度可以繼續(xù)用專用的方式處理該組的消息。如果在路由選擇之后這樣的部分消息mi的消息端口是同一組中的其它子消息mj的子集,則將行消息mi與它的消息端口一起作為冗余的而劃去。如果首先對消息或子消息按其組標志來進行分類,并按端口來分類其消息端口的清單,則這些子關(guān)系的找出是簡單的。
消息的增倍產(chǎn)生具有較少條件的調(diào)度問題,但是導至在調(diào)度階段可以部分地排除的附加的數(shù)據(jù)交換。也可以在路由選擇之前實現(xiàn)消息增倍,這導至在路由選擇時的較大的自由度。在路由選擇之后才進行增倍然而卻確保,通過某個給定端口的復制組的所有子消息具有在該端口上的同一的相對到達時間,這又方便了在調(diào)度階段中重新匯總子消息。在調(diào)度期間以特別的方式來處理源自同一個消息的子消息。這些消息獲得在同樣的時間上通過調(diào)度將它們計劃進去的許可。因此必須相應地考慮由一個單一原始消息生成的子消息之間的條件。要么通過注意正常的條件,要么又在同樣的時間上通過調(diào)度來將一對這樣的消息計劃進去。該技術(shù)的一個實例在圖6中示出,并展示了以前所說明實例的條件,如果劃去了消息M3。從圖7的相應的甘特圖中可以看出,現(xiàn)在在同一個時間上將消息M1′和M1″計劃進去了。
在調(diào)度的迭代的改進階段,相對于其它的消息來優(yōu)選處理源自一個單一原始消息的相鄰子消息的序列。如果這可以不提高總周期時間,則重新匯總這些相鄰子消息。通過并置(Konkatenation)消息端口的清單,在清除在匯總清單中的復制物和清除兩個消息之一的條件下,從兩個消息中實現(xiàn)匯總。
借助圖8中示出的簡單的環(huán)形布局技術(shù)來詳述冗余的處理。該環(huán)形布局技術(shù)由開關(guān)A,B和C組成,其中,端口A(1)與端口B(1),端口B(2)與端口C(1)和端口A(2)與端口C(4)相連接,以及其中,分別從開關(guān)A向開關(guān)C傳輸消息M1和M2。
在路由選擇期間所述的行動方式如下在已經(jīng)路由選擇了冗余對的第一部分之后,封鎖由該消息所使用的鏈路。在此之后對該對的第二消息進行路由選擇,并隨后取消所述的封鎖。以此方式,不使用除了發(fā)送站和接收站、或所述對的兩個部分的端口之外的開關(guān)。在例如像環(huán)的簡單布局技術(shù)的情況下該措施是足夠的,因為在路由選擇中不存在真正的選擇。但是對于復雜的布局技術(shù)則存在著對兩個資源分離的路徑的需求,這些路徑共同使成本量度(Kostenmass)最小化。通過作為″最低成本流問題″的處理可以正確而有效地解決該任務(wù)。不直接通過容許差錯的路由選擇涉及到所述的調(diào)度;在調(diào)度中僅僅應將更多的消息計劃進去。圖9中示出了以下情況的圖,即獨立地對消息M1和M2進行路由選擇。圖10中相應的甘特圖展示了以下情況的狀態(tài),即以具有分離資源的方式傳輸所述的消息M1和M2。
權(quán)利要求
1.用于在基于碰撞識別的通信網(wǎng)中實時數(shù)據(jù)交換的通信方法,其中,時間上在周期性重復的實時數(shù)據(jù)交換之前執(zhí)行以下的步驟a)將所述的周期性重復的實時數(shù)據(jù)交換路由選擇到成本最低的數(shù)據(jù)路徑上和b)調(diào)度,其中從所求出的成本最低的數(shù)據(jù)路徑出發(fā),借助貪婪探試法來確定所述周期性重復的實時數(shù)據(jù)交換的消息用的發(fā)送時刻,其中具有最早可能的實施時間的消息獲得最高的優(yōu)先權(quán),針對所述的當時還未分配給確定的發(fā)送時間的消息重新計算出所述的實施時間,以及一直重復該兩個步驟,直至在優(yōu)先權(quán)清單中排列了全部的消息,和確定了通信網(wǎng)的開關(guān)點端口(Schaltstellen-Port)的時間上的消息占用以及所屬的周期持續(xù)時間時為止。
2.按權(quán)利要求2的方法,其中,在結(jié)束貪婪探試法的運行之后實現(xiàn)所述優(yōu)先權(quán)清單中的交換步驟,其中,去除一個當時的無滑移的消息,并將在其它消息中因此所產(chǎn)生的滑移被用于所述的當時去除的無滑移的消息。
3.按權(quán)利要求2或3之一的方法,其中,通過選出最短的通信連接來求出成本最低的數(shù)據(jù)路徑。
4.按權(quán)利要求2或3之一的方法,其中,重復執(zhí)行所述的路由選擇和調(diào)度,其中,通過所述的調(diào)度分別改變所述路由選擇的成本系數(shù)。
5.按以上權(quán)利要求之一的方法,其中,在甘特圖中示出了至少一個路由選擇和調(diào)度的結(jié)果,其中,所述的甘特圖展示了所述通信網(wǎng)的開關(guān)點端口的時間上的消息占用。
6.可機讀的存儲媒體具有存儲在其上的指令,這些指令促使計算機執(zhí)行按權(quán)利要求1至5的方法之一。
7.用于實時數(shù)據(jù)交換通信的基于碰撞識別的通信網(wǎng),其中,存在一個單元,該單元時間上在周期性重復的實時數(shù)據(jù)交換之前安排以下的步驟a)將所述的周期性重復的實時數(shù)據(jù)交換路由選擇到成本最低的數(shù)據(jù)路徑上和b)調(diào)度,其中從所求出的成本最低的數(shù)據(jù)路徑出發(fā),借助貪婪的探試法來確定所述周期性重復的實時數(shù)據(jù)交換的消息用的發(fā)送時刻,其中具有最早可能的實施時間的消息獲得最高的優(yōu)先權(quán),針對所述的當時還未分配給確定的發(fā)送時間的消息重新計算出所述的實施時間,以及一直重復該兩個步驟,直至在優(yōu)先權(quán)清單中排列了全部的消息,和確定了通信網(wǎng)的開關(guān)點端口的時間上的消息占用以及所屬的周期持續(xù)時間時為止。
全文摘要
本發(fā)明主要涉及一種基于碰撞識別的通信網(wǎng),例如基于以太網(wǎng)的方法,其中,時間上在周期性重復的實時數(shù)據(jù)交換之前,實現(xiàn)將所述的實時數(shù)據(jù)交換路由選擇到成本最低的數(shù)據(jù)路徑上,并隨后借助貪婪探試法(greedy heuristic)進行實時數(shù)據(jù)交換的消息的調(diào)度,以便無沖突地和以盡可能短的周期時間來實現(xiàn)周期性重復的實時數(shù)據(jù)交換。
文檔編號H04L12/56GK1582554SQ02821823
公開日2005年2月16日 申請日期2002年10月1日 優(yōu)先權(quán)日2001年10月31日
發(fā)明者U·勞特 申請人:西門子公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1