潘韻,孫蘭娟
池州學院數(shù)學與計算機科學系,安徽池州247000
車輛自組織網(wǎng)絡VANETs(Vehicle Ad hoc Networks)作為智能交通的重要組成部分,通過車間通信V 2V(Vehicle to Vehicle communication)以及車輛與路邊設施間通信,高效地實現(xiàn)事故預警、輔助駕駛、道路交通信息查詢,以及Internet接入服務等多種應用[1]。VANETs廣泛應用于事故預警、保障交通安全、交通管理、乘客娛樂,并為用戶提供舒適、安全的駕駛環(huán)境,使得VANETs在智能交通起著至關重要的作用,有望成為物聯(lián)網(wǎng)的典型應用之一[1-2]。
相對于傳統(tǒng)的移動自組織網(wǎng)絡,VANETs具有高動態(tài)的拓撲結(jié)構(gòu)、間斷性的網(wǎng)絡連接、高度不可靠的鏈路、深度開放的網(wǎng)絡等特點。VANETs的這些特點使得傳統(tǒng)的路由協(xié)議難于直接應用。為此,2000年,Karp[3]提出GPSR(Greedy Perimeter Stateless Routing)協(xié)議。GPSR無需復雜的維護路由,僅依據(jù)通信雙方選擇轉(zhuǎn)發(fā)節(jié)點,開銷低。盡管GPSR適用于節(jié)點高速運動的場景,但是GPSR尋找的轉(zhuǎn)發(fā)節(jié)點不是最優(yōu)解,從而導致路由經(jīng)常中斷,不得不恢復策略,造成數(shù)據(jù)傳輸時延增大。研究成果表明,傳統(tǒng)的路由協(xié)議應用于VANETs時,數(shù)據(jù)包的成功傳輸率小于50%,延遲大且延遲抖動劇烈。如何設計有效的路由協(xié)議從而保障通信消息的安全、實時、可靠地傳遞,是VANETs研究的熱點問題[4]。
GSR[5]屬于基于位置的路由協(xié)議,根據(jù)地理信息,利用迪杰斯特拉Dijkstra算法計算最短路徑,之后采用貪婪轉(zhuǎn)發(fā)策略實現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)。然而GSR的不足之處在于:當交通密度很低時,就沒有足夠的節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包。在低密度的交通情況下,端與端的連接率低。此外,A-STAR[6]也屬基于位置的路由協(xié)議。A-STAR考慮了靜態(tài)交通流量信息,并利用基于錨節(jié)點策略,為數(shù)據(jù)包尋找高連接率的路徑。A-STAR將公交巴士作為錨節(jié)點。文獻[7]也提出基于位置的路由協(xié)議GPCR,GPCR在每個十字路口選擇一個節(jié)點作為協(xié)調(diào)節(jié)點。在數(shù)據(jù)轉(zhuǎn)發(fā)過程中,轉(zhuǎn)發(fā)節(jié)點采用貪婪策略,并擇優(yōu)選擇協(xié)調(diào)節(jié)點作為下一跳轉(zhuǎn)發(fā)節(jié)點。上述的這些路由協(xié)議在路由決策時并沒有考慮交通的實時狀態(tài)信息,這將會增加路由斷裂的幾率。
文獻[8]提出VADD(Vehicle-Assisted Data Delivery)方案。VADD結(jié)合車輛的位置以及方向信息,并利用基于數(shù)據(jù)包傳遞到目的節(jié)點的概率。其主要有三種數(shù)據(jù)包轉(zhuǎn)發(fā)模式:Intersection、Straightway、Destination。當數(shù)據(jù)包傳遞到道路交叉口時,就啟用Intersection模式,擇優(yōu)選擇延遲最小的路段組建路由。當離開道路交叉口時,就啟用Straightway模式,并沿道路轉(zhuǎn)發(fā)數(shù)據(jù)包。當數(shù)據(jù)包傳遞到目的節(jié)點附近時,進入Destination模式。Junichiro[9]提出新的方案,通過預先計算源節(jié)點與目的節(jié)點可能路由的概率,并基于一定的數(shù)學模型。通過計算這些概率,建立一擬用的路由表。
DTSG[10](Dynamic Time-Stable Geocast)方案。DTSG將網(wǎng)絡區(qū)域分為:目的區(qū)域定義為ZOR(Zone of Relevance);轉(zhuǎn)發(fā)區(qū)域為ZOF(Zone of Forwarding)。在ZOR內(nèi)節(jié)點表示數(shù)據(jù)包的目的節(jié)點,而ZOF內(nèi)的節(jié)點為數(shù)據(jù)包的轉(zhuǎn)發(fā)節(jié)點。實施DTSG可分兩步:首先在ZOR內(nèi)擴散數(shù)據(jù)包,再使數(shù)據(jù)包在預設時長內(nèi)持久的存在于ZOR中??蓜討B(tài)預設時長,無任何額外的開銷。
許多學者也提出利用實時交通信息的路由協(xié)議。文獻[11]提出優(yōu)化的貪婪交通流量感知的路由協(xié)議GyTAR(Improved Greedy Traffic Aware Routing Protocol)。GyTAR利用實時的道路流量以及道路地圖信息選擇路由。如果轉(zhuǎn)發(fā)節(jié)點處于十字路口區(qū)域,它將從鄰近的十字路口收集道路的實時信息選擇下一個轉(zhuǎn)發(fā)的十字路口。然而,GyTAR僅從一跳鄰居節(jié)點收集交通信息,這些信息并不充分。利用不充分的信息難以選擇最優(yōu)的路由。文獻[12]提出靜態(tài)節(jié)點輔助適應式路由SADV(Static-Node Assisted Adaptive Routing Protocol)。SADV在節(jié)點密度時,通過十字路口部署靜態(tài)節(jié)點收集實時的信息,利用這些信息預測車輛的移動。靜態(tài)節(jié)點在十字路口采取等待策略,直到有高的數(shù)據(jù)包遞交率才轉(zhuǎn)發(fā)數(shù)據(jù)。這種方式可以避免繞路,但是數(shù)據(jù)包傳輸時延取決于車輛密度。因此,SADV的性能優(yōu)劣受到節(jié)點密度的影響。
為此,本文提出混合式的感知交通信息路由HTAR。HTAR不部署靜態(tài)節(jié)點,同時利用道路流量以及網(wǎng)絡流量信息決策路由。節(jié)點廣播這些混合式信息。通過共享這些信息,有利于節(jié)點選擇更優(yōu)的路由。
本文提出的算法基于以下幾點假設:
(1)網(wǎng)絡中的節(jié)點均裝有GPS設備,能獲取自己準確的位置信息;同時節(jié)點都有無線通信設備,任何兩個節(jié)點在其通信范圍內(nèi),就能彼此通信。
(2)源節(jié)點在向目標節(jié)點發(fā)送數(shù)據(jù)前,通過位置服務已獲取目標節(jié)點、鄰居節(jié)點的位置信息。
(3)網(wǎng)絡中的節(jié)點能獲取街道信息,包括:(a)道路的拓撲結(jié)構(gòu);(b)交叉路口的ID、位置;(c)道路ID、長度。
2.2.1 鄰居節(jié)點的相關信息
HTAR方案的節(jié)點周期性向鄰居廣播“Hello”消息,以便鄰居節(jié)點能獲取周圍節(jié)點的實時信息。接收節(jié)點依據(jù)實時信息,選擇最合適的數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點。Hello消息的格式如下所示:
其中,Road ID為此節(jié)點所處的道路號,Location(x,y)表示節(jié)點所在的位置。A t junction(True or False)代表此節(jié)點是否處于在交叉路口。表中的最后一列的內(nèi)容取決于A t junction的值。如果A t junction是“True”,最后一列存放節(jié)點停留于十字路口的時間(Time to Leave Junction,TTLJ),否則的話,就存放Channel load,其表示道路擁堵率。
一旦節(jié)點收到來自其他節(jié)點的“Hello”消息,將其存放在自己的鄰居信息表中,格式如下所示:
2.2.2 交叉功能節(jié)點的選取
在每個交叉路口,需選擇一個功能節(jié)點,作為此交叉路口的信息收集者,負責從鄰近道路周期地收集實時交通信息。功能節(jié)點主要負責以下三方面的任務:
(1)及時收集鄰近道路交通、網(wǎng)絡流量信息;
(2)根據(jù)所收集的信息,依據(jù)算法計算道路的權(quán)值;
(3)向鄰近交叉路口分發(fā)道路的權(quán)值數(shù)據(jù)。
在HTAR方案中,根據(jù)節(jié)點所處不同的情況,將節(jié)點的狀態(tài)分為四種,分別為:休眠(sleep)、監(jiān)視(monitor)、競爭(com pete)、發(fā)布(spread)。根據(jù)不同的輸入信息(激勵),四種狀態(tài)可相互轉(zhuǎn)換。
當節(jié)點不處于交叉路口,就進入sleep狀態(tài)。每次節(jié)點第一次進入交叉路口,它將sleep狀態(tài)轉(zhuǎn)變?yōu)閙onitor狀態(tài)。在monitor狀態(tài)時,節(jié)點設定一個Tm秒的倒數(shù)計時器。設置計時器的目的就是監(jiān)視交叉路口是否存在功能節(jié)點。因為功能節(jié)點周期地向鄰居節(jié)點分發(fā)更新過的權(quán)值信息包W IU(Updated Weight Information),如果在Tm內(nèi)未收到權(quán)值信息包,表明當前沒有功能節(jié)點。如果在Tm內(nèi),節(jié)點收到了W IU,則節(jié)點仍處于monitor狀態(tài)并重新設置當前的計數(shù)器。如果沒有收到,節(jié)點進入compete狀態(tài)。
處于com pete狀態(tài)的節(jié)點需設置Tc倒數(shù)計時器與其他節(jié)點競爭成為功能節(jié)點。Tc由式(1)計算。
所有處于spread狀態(tài)的節(jié)點都是功能節(jié)點。它們必須周期性收集鄰近交通信息,并向鄰居節(jié)點廣播已更新的權(quán)值信息。當功能節(jié)點離開交叉路口,它需要從處于交叉路口的節(jié)點中選擇一個節(jié)點繼承它的位置,即作為下一輪功能節(jié)點。TTLJ可通過式(2)計算:
其中,D(t)表示節(jié)點離交叉路口的路程,V(t)表示節(jié)點當前速度。如果HTAR能獲取其他的一些信息,如交通燈時間,TTLJ的值將更準確。TTLJ值越大,表明節(jié)點停留在交叉路口的時間越長。如前所述,處于交叉路口的節(jié)點周期地廣播含有TTLJ值的Hello消息。當前的功能節(jié)點依據(jù)TTLJ的值擇優(yōu)選取功能節(jié)點的繼承者,具有TTLJ最大值的節(jié)點,被選中。通過這種方式,HTAR能夠降低因更換功能節(jié)點的開銷。繼承節(jié)點選定后,節(jié)點將離開交叉路口,同時進入sleep狀態(tài)。繼承節(jié)點也隨之進入spread狀態(tài)。
四種不同狀態(tài)的轉(zhuǎn)移如圖1所示。
圖1 節(jié)點狀態(tài)轉(zhuǎn)移圖
2.2.3 功能節(jié)點的任務
由上述分析可知,功能節(jié)點有三項任務必須完成,分別為匯集交通信息、評估道路權(quán)值,以及廣播道路權(quán)值。
2.2.3.1 匯集交通信息
在HTAR中,功能節(jié)點需收集兩類交通信息。一類是道路中節(jié)點的密度信息,另一類是網(wǎng)絡交通擁塞信息,其用道路堵塞率Channel Load表示。通過此值判斷道路是否堵塞。
為此,功能節(jié)點向鄰近的功能節(jié)點發(fā)送交通信息收集包(Traffic Information Collection,TIC)。在收集信息的開始,HTAR將道路進行分段。將每兩個交叉路口間的道路依據(jù)通信范圍R分段,按式(3)劃分:其中,Nseg為道路所分的段數(shù),L為兩交叉路口之間的道路長度。如圖2為道路劃分示意圖。
圖2 道路劃分示意圖
在信息收集過程中,每個TIC包盡量傳遞到每段道路的中心。為此,每次轉(zhuǎn)發(fā)時,從鄰居信息表中選取離此段中心最近的節(jié)點作為轉(zhuǎn)發(fā)點。一旦接收節(jié)點發(fā)現(xiàn)自己是離此段道路中心最近的節(jié)點,就將此段道路的節(jié)點密度以及道路堵塞信息加入到TIC包中,然后再轉(zhuǎn)發(fā)給下一段道路,直到?jīng)]有下一跳轉(zhuǎn)發(fā)TIC包或新的繼任功能節(jié)點收到此TIC包。如果新的繼任功能節(jié)點收到TIC包,它將此TIC包復制并發(fā)送給源功能節(jié)點。原功能節(jié)點收到后,將分析交通信息并更新道路的權(quán)值。如下描述了TIC的格式:
其中,兩列Junction ID分別表示源交叉路口、目的交叉路口;Numbers of Nodes表示某路段的節(jié)點的數(shù)目;Segment ID表示道路的段數(shù)號;Channel Load表示此段道路的堵塞率。
(1)道路密度交通信息
靠近每段中心區(qū)域的節(jié)點收到TIC數(shù)據(jù)包,并首先計算鄰居節(jié)點的數(shù)目,然后將此值存入上述TIC格式中的“Number of Nodes”區(qū)域。如下顯示了由功能節(jié)點收到TIC包的示例,其中,A、B表示源交叉路口、目的交叉路口。
(2)網(wǎng)絡流量堵塞信息
如前所述,在道路的節(jié)點必須周期地廣播hello消息,該消息中包含了Channel Load的信息。一旦進入道路,功能節(jié)點監(jiān)視道路情況,計算道路堵塞時間,并計算堵塞率。如式(4)所示:
其中,Tmeasure(n)表示節(jié)點n檢測路段的時間,Tbusy(n)表示此路段忙的時間。
多個節(jié)點一起檢測路段忙的時間。整個路段上的CLi由式(5)計算:
其中,i∈Nseg;Ni為此路段i的節(jié)點數(shù)目;Time Stam p表示產(chǎn)生TIC包時戳;Channel Load表示道路堵塞率。
2.2.3.2 評估道路權(quán)值
評估道路權(quán)值時,利用Dijkstra算法去計算最短路徑。功能節(jié)點收到TIC包,就按式(6)計算道路的權(quán)值Weiroad:
其中,Li表示路段的長度;C1、C2為兩個常數(shù),且C1>C2;CTth為路段負荷的門限值;Weiroad值越小,路由路徑越好。
功能節(jié)點計算了每條路段的權(quán)值后,將這每條權(quán)值存于權(quán)值信息表,其格式如下所示:
2.2.3.3 道路權(quán)值信息的分發(fā)
功能節(jié)點利用權(quán)值信息更新包(Weight Information Update,W IU)周期性地分發(fā)最新的道路權(quán)值,格式如下所示:
源節(jié)點獲取每條路段的權(quán)值后,從中選取權(quán)值最小的路段作為數(shù)據(jù)包的轉(zhuǎn)發(fā)路途。
定義G=(V,E):節(jié)點邏輯關系的圖論表示方法,V、E分別表示點集和邊集。
與GSR、A-STAR一樣,HTAR利用最短路徑算法去計算路由。在路由發(fā)現(xiàn)過程中,將交叉路口(junction)看成點V,道路看成邊E,每條邊均有它自己的權(quán)值。對于給定的兩個點,HTAR能找出最佳路由。此外,HTAR是實時交通感知路由,因此可根據(jù)實時的信息更新權(quán)值。
每個源節(jié)點在數(shù)據(jù)開始傳輸時需建立路由。根據(jù)當前所處區(qū)域的不同,路由的建立分兩種情況。
第一類,節(jié)點處于非交叉口。不處于交叉口的節(jié)點收到一個數(shù)據(jù)包時,首先檢查這個包目的地,如果這個節(jié)點本身不是這個包的目的節(jié)點,那么節(jié)點根據(jù)數(shù)據(jù)包的目的地,尋求適合下一跳的轉(zhuǎn)發(fā)節(jié)點。如果能成功找到轉(zhuǎn)發(fā)節(jié)點,就將數(shù)據(jù)包傳遞給轉(zhuǎn)發(fā)節(jié)點;如果不能找到合適的轉(zhuǎn)發(fā)節(jié)點,就采用存儲緩存,直到能獲取下一跳節(jié)點。
第二類,節(jié)點處于交叉路口。處于交叉路口的節(jié)點收到數(shù)據(jù)包時,同樣先查看數(shù)據(jù)包的目的地,如果自己不是數(shù)據(jù)包的目的地,就進一步檢測這個包是否第一次到達此交叉路口。如果是第一次,立即為此數(shù)據(jù)包重新計算路由路徑并尋求最佳下一跳轉(zhuǎn)發(fā)節(jié)點。與第一類情況不同的是,處于交叉路口的節(jié)點如果不能為數(shù)據(jù)包找到下一個轉(zhuǎn)發(fā)節(jié)點,則重新計算路由路徑,并依據(jù)此路徑重新尋找下一跳轉(zhuǎn)發(fā)節(jié)點。具體的方案流程如圖3所示,假定節(jié)點ni收到數(shù)據(jù)包。
圖3 HTAR方案流程圖
為了評估所提出的路由的VANETs性能,對HTAR以及GSR、GyTAR、SADV進行仿真。選擇這兩個協(xié)議進行對比仿真,主要原因是:GSR是不考慮交通信息的代表協(xié)議;GyTAR是利用交通信息輔助路由的代表協(xié)議,并支持攜帶轉(zhuǎn)發(fā)技術。采用Network Simulator 2.31作為仿真平臺;仿真場景采用TraNS[13]的模型。仿真的具體參數(shù)如表1所示。
表1 仿真參數(shù)
為了更好地分析HTAR協(xié)議的性能,本文分別從數(shù)據(jù)包傳輸率(delivery ratio)、平均傳遞時延(delay)、網(wǎng)絡開銷(network cost)進行協(xié)議分析。數(shù)據(jù)包傳輸率是指源節(jié)點發(fā)送的數(shù)據(jù)包與被目標節(jié)點成功接受到的數(shù)據(jù)包之比,如式(7)所示。平均傳遞時延是指數(shù)據(jù)包從源節(jié)點到達目標節(jié)點所需要的平均時間長度。網(wǎng)絡開銷,即在運行協(xié)議期間為實現(xiàn)數(shù)據(jù)包傳遞功能,網(wǎng)絡中所產(chǎn)生的數(shù)據(jù)包與其傳遞跳計數(shù)的乘積的總和,包括位置服務數(shù)據(jù)包、交通信息數(shù)據(jù)包以及路由維護數(shù)據(jù)包等[14]。
本文針對節(jié)點數(shù)目為400時,數(shù)據(jù)包傳輸率、平均傳遞時延、網(wǎng)絡開銷隨CBR速率的變化情況進行仿真分析。
圖4給出了數(shù)據(jù)包傳輸率隨CBR速率的變化曲線。
圖4 Deliver Ratio隨CRB的變化情況
從圖4可知,CBR速率的增加,數(shù)據(jù)包傳輸率呈下降趨勢。同GSR、GyATR相比,HTAR具有較高的數(shù)據(jù)包傳輸率。這主要是原因HTAR充分考慮了交通實時信息,轉(zhuǎn)發(fā)路徑斷裂的機率下降,數(shù)據(jù)包傳輸率提高,能夠達到約0.85。而GSR協(xié)議沒有充分考慮到車流信息,遇到網(wǎng)絡分割時數(shù)據(jù)包丟失嚴重,數(shù)據(jù)包傳輸率極低。GyTAR協(xié)議在數(shù)據(jù)轉(zhuǎn)發(fā)時,考慮到道路上的局部交通信息,其數(shù)據(jù)包傳輸率高于GSR,但是由于其只考慮到局部的交通信息,沒有整個網(wǎng)絡的交通信息,所以數(shù)據(jù)包傳輸率低于HTAR。
圖5表述了CBR對平均傳遞時延的的影響情況。三個協(xié)議相比,GSR的時延最小,這主要是因為總是由最短的傳遞路徑向目標節(jié)點傳輸數(shù)據(jù)包。而HTAR、GyATR采用無線轉(zhuǎn)發(fā)、存儲轉(zhuǎn)發(fā)方式,數(shù)據(jù)包的平均時延相差不大。與GyATR相比,HTAR考慮到全網(wǎng)的交通信息,選擇節(jié)點密集的道路,充分利用了無線轉(zhuǎn)發(fā)功能,其時延低于GyATR。
圖5 平均傳遞時延隨CBR的變化情況
如圖6所示,隨著CBR速率的增加,三種協(xié)議的網(wǎng)絡開銷也隨之增加。由于GSR協(xié)議簡單,復雜度低,其所占用的網(wǎng)絡開銷最小,增加幅度緩慢。相對GSR,GyATR和HTAR協(xié)議較復雜,網(wǎng)絡開銷也同步增加。在低速時,HTAR的網(wǎng)絡開銷低于GyATR。
圖6 網(wǎng)絡開銷隨CBR的變化情況
基于VANETs的特性,提出適用于VANETs的路由協(xié)議HTAR。該協(xié)議通過功能節(jié)點的設置,獲取交通的實時信息。每個交叉路口設置一個功能節(jié)點,負責收集實時交通信息。根據(jù)車輛的通信范圍將道路分成路段,功能節(jié)點計算每條路段的權(quán)值,并將這些信息向鄰居節(jié)點以及鄰近的交叉路口發(fā)布。為了適應VANETs的拓撲結(jié)構(gòu)的動態(tài)性,功能節(jié)點將節(jié)點密度以及每條路段的負荷信息融入交通信息中。因此,節(jié)點能選擇最佳的轉(zhuǎn)發(fā)節(jié)點,使路由路徑更健壯、更穩(wěn)固。同時,提出通過設置倒數(shù)計時器方案選取功能節(jié)點,以減少網(wǎng)絡開銷。仿真結(jié)果表明,HTAR的數(shù)據(jù)包傳輸率達到0.85,平均傳輸時較小,不高于2 s,并且網(wǎng)絡開銷與同類協(xié)議相關,沒有明顯的增大。
[1]陳辰,韓偉力,王新.VANETS安全技術綜述[J].小型微型計算機系統(tǒng),2011,32(5):896-904.
[2]M inhas U F,Zhang J,Tran T,et al.Towards expanded trust management for agents in vehicular ad-hoc networks[J].International Journal of Computational Intelligence Theory and Practice,2010,5(1):3-15.
[3]Karp B,Kung H T.GPSR:greedy perimeter stateless routing for wireless networks[C]//Proceedings of the 6th Annual International Conference on Mobile computing and Networking(Mobi Com’00).Boston,MA,USA:ACM Library,2000:243-254.
[4]Chen C,Zhang J.A trust modeling framework for message propagation and evaluation in VANETSS[J].International Journal of Computational Intelligence Theory and Practice,2010,5(2):8-16.
[5]Lochert C.A routing strategy for vehicular Ad hoc networks in city environments[C]//IEEE Intelligent Vehicles Symposium Proceedings,June 2003:156-161.
[6]Seet B.A-STAR:a mobile Ad hoc routing strategy for metropolis vehicular communications[C]//Proceedings of the 3rd International IFIP-TC6 Networking Conference,M ay 2004:989-999.
[7]Lochert C.Geographic routing in city scenarios[J].ACM SIGMOBILE Mobile Computing and Communication Review,2005,9(1):69-72.
[8]Zhao J,Cao G.VADD:vehicle-assisted data delivery in vehicular ad hoc networks[J].IEEE Transactions on Vehicular Technology,2008,2(5):123-128.
[9]Junichiro F.A probabilistic protocol for multi-hop routing in VANETs[C]//Proceedings of the IEEE International Conference on Communications Workshops,2009:345-352.
[10]Rahbar H,Naik K,Nayak A.DTSG:dynamic time-stable geocast routing in vehicular Ad hoc networks[C]//Proceedings of the 9th IFIP Annual Mediterranean,2010:1-7.
[11]Jerbi M.An improved vehicular Ad hoc routing protocol for city environments[C]//Proceeding of the IEEE International Conference on Communications,2007:3972-3979.
[12]Ding Y,Wang C,Xiao L.A static-node assisted adaptive routing protocol in vehicular networks[C]//Proceedings of the 4th ACM International Workshop on Vehicular Ad Hoc Networks,2007:59-68.
[13]肖玲,李仁發(fā),羅娟.車載自組網(wǎng)的仿真研究綜述[J].系統(tǒng)仿真學報,2009,21(17):5330-5336.
[14]白翔宇,葉新銘,李軍.感知實時車流信息的VANETS路由仿真研究[J].系統(tǒng)仿真學報,2012,24(2):428-436.