








摘 要:隨著車聯網的普及應用,車輛需要完成大量的實時計算任務,為了增強車輛的無線連接與計算能力,引入具有高機動性和按需部署優點的無人機進行輔助是一種有效方法。因此,研究了一個面向車聯網的空地協同移動邊緣計算系統,該系統由分別部署在無人機和地面基站的移動邊緣計算服務器組成,協作為車輛提供通信和計算服務。為了最小化車輛的最大平均通信計算時延,研究了一個聯合優化無人機和地面基站的通信帶寬分配、計算任務卸載比例分配、無人機軌跡和計算資源分配的問題。為求解這個非凸優化問題,提出一種基于塊坐標下降法和連續凸優化方法的高效交替優化算法,將原問題分解為帶寬分配、計算任務卸載比例分配、無人機軌跡優化和計算資源分配四個子問題,并引入松弛變量和利用一階泰勒展開的方法對子問題進行交替迭代求解。仿真結果表明,與多種基準方案相比,該算法能夠有效地降低車輛的平均通信計算時延。這證明了無人機和地面基站的空地協作對車聯網的通信與計算能力提升的重要性。
關鍵詞:無人機通信;移動邊緣計算;帶寬分配;飛行軌跡設計;車聯網通信
中圖分類號:TN929.5"" 文獻標志碼:A
文章編號:1001-3695(2024)12-038-3807-07
doi: 10.19734/j.issn.1001-3695.2024.04.0119
Resource allocation and trajectory optimization for air-groundcooperative mobile edge computing systems
Li Zhihao, Li Junjie, Cui Miao, Zhang Guangchi
(School of Information Engineering, Guangdong University of Technology, Guangzhou 510006, China)
Abstract:With the popularity and application of Internet-of-Vehicles (IoV), vehicles need to accomplish a large number of real-time computational tasks. To enhance the wireless connectivity and computational capability of the vehicles, the introduction of unmanned aerial vehicle (UAV) with the advantages of high mobility and on-demand deployment for assistance is an effective method. Therefore, this paper studied an air-ground collaborative mobile edge computing system for the IoV, which consisted of mobile edge computing servers deployed at a UAV and ground base stations, respectively, to collaborate in providing communication and computation services for vehicles. In order to minimize the maximum average communication and computational delay of the vehicles, this paper studied a problem of jointly optimizing communication bandwidth allocation between the UAV and ground base stations, computational task offload ratio allocation, UAV trajectory and computational resource allocation. To solve this non-convex optimization problem, this paper proposed an efficient alternating optimization algorithm based on block coordinate descent and successive convex optimization methods, which was decomposed into four sub-problems: bandwidth allocation, computational task offload ratio allocation, UAV trajectory optimization and computational resource allocation, and introduced slack variables and utilized a first-order Taylor expansion to solve the sub-problems alternately and itera-tively. Simulation results show that the proposed algorithm can effectively reduce the average communication and computa-tional delay of vehicles compared to the multiple benchmark schemes. This conclusion demonstrates the importance of air-ground collaboration between the UAV and ground base stations to enhance the communication and computation capabilities of the IoV.
Key words:UAV communication; mobile edge computing(MEC); bandwidth allocation; trajectory design; IoV communication
0 引言
在物聯網和新一代移動網絡盛行的推動下,無線連接設備(比如智能手機、智能駕駛汽車和車聯網設備等)的數量急劇增加,這對于計算和存儲資源不足的設備在面對計算密集和時延敏感型任務時充滿了挑戰[1, 2]。為了應對這一挑戰,移動邊緣計算(mobile edge computing,MEC)通過網絡邊緣的服務器為用戶設備提供計算和存儲服務,從而緩解了用戶設備的計算壓力,并且降低計算時延和擴展存儲容量[3, 4],特別是在車聯網中。
然而,在車聯網中快速移動的車輛和動態的網絡環境下,固定位置的邊緣服務器(如基于基站的服務器)僅提供了計算卸載服務的基本覆蓋范圍[5]。因此,這種固定邊緣服務器無法隨著車聯網中動態的交通變化情況而調整位置,無法滿足車輛時空變化的要求。得益于無人機本身的靈活性、高機動性和按需部署的優勢[6],它對無線通信系統產生巨大的增益。因此,車聯網的MEC系統可以引入無人機,讓其部署為MEC服務器節點,這既可以為高度動態的車聯網提供更靈活的計算卸載服務[7],也可以在地面固定MEC服務器繁忙時分擔一部分的傳輸和計算壓力。并且,無人機通過軌跡優化提供視距(line-of-sight,LoS)鏈路鏈接的出色靈活性和基站提供大面積及多用戶服務的廣泛性,使得兩者緊密配合下的空地協同在通信和計算方面顯得至關重要。文獻[8,9]分別研究了單無人機和多無人機輔助MEC系統,并且通過聯合優化資源分配和無人機軌跡,以最大限度提高了整個系統的計算效率。文獻[10]提出了一種基于懲罰對偶分解的算法,以實現無人機作為網絡邊緣計算節點的動態部署。與單一地面服務器相比,在車聯網系統中運用空地協同,不僅能夠協作用戶提高計算卸載效率,也能彌補交通環境惡劣或障礙物密集情況的不足。文獻[11]著重設計了一種空地協作MEC網絡的高效資源分配算法,實現用戶總能耗的最小化。文獻[12]考慮了將多用戶和多MEC服務器下的任務卸載調度問題表述為優化問題,提出的算法有效地減少任務完成時間和系統的能耗,并且仿真結果表明,該算法的性能優于其他傳統算法。文獻[13]考慮了基于用戶移動性的無人機輔助中繼和MEC系統,并在給出資源分配和位置約束的條件下最小化完成所有任務的平均時延。
上述文獻只考慮了地面用戶固定的情況,而在車聯網場景下用戶通常是移動的。對于移動用戶,動態獲取瞬時信道狀態信息往往是困難的,并且實時獲取這些信息可能會導致系統成本過大[14],但是大部分車聯網場景中用戶的軌跡是可以預知的,這樣可以提前獲取信道狀態信息。文獻[15]提出了一種多無人機輔助移動車聯網系統,通過聯合優化用戶通信調度、多架無人機功率分配以及飛行軌跡分別實現系統吞吐量最大化和系統公平吞吐量最大化。文獻[16]研究了一種基于MEC的協同卸載車聯網系統,為了最小化系統能耗和時延的加權和,將任務分到多個MEC服務器進行計算。此外,文獻[17]考慮了地面與空中服務器協作的MEC系統的加權計算效率最大化問題,以平衡系統的計算位和能耗,并且證明了無人機和地面基礎設施在通信和計算方面的空地合作至關重要。然而,已有的文獻還缺乏考慮車聯網系統中多個移動用戶的空地協同輔助MEC通信和計算的情況。缺少這些研究,不僅失去了通過無人機部署帶給車輛快速穩定的無線連接,也損失了通過無人機和基站之間靈活的合作性帶給車輛多信道卸載的性能提升。總的來說,在車聯網系統的空地協同計算是有意義的。一方面,無人機的機動性彌補了基站和車輛之間信號衰落的弱點,并增強了覆蓋范圍。另一方面,空地協同有望執行大量的任務,提高系統的性能效率,從而滿足高計算需求。
針對以上研究存在的問題,本文研究了一個無人機和基站作為MEC計算平臺協作車聯網的車輛提供通信和計算服務的場景,并考慮帶寬、計算任務卸載比例、無人機軌跡和計算資源對系統完成所有計算任務的平均時延的影響,以最小化系統完成所有任務的平均時延為目標,建立了一個多元優化問題。本文的主要貢獻總結如下:
a)本文研究的工作主要是在一個基于無人機和基站的多MEC服務器協作車輛計算卸載的MEC系統中,聯合優化帶寬分配、計算任務卸載比例分配、無人機軌跡和計算資源分配,使系統完成所有計算任務的平均時延最小化。為了適配更多的常用場景,本文考慮車輛本地計算和部分卸載相結合的卸載策略。由于涉及的優化問題存在多個優化變量互相耦合,是一個難以直接求得最優解的非凸優化問題。
b)為了求解這個優化問題,本文首先利用塊坐標下降(block coordinate descent,BCD)方法將耦合的優化變量進行解耦,將優化問題分解為帶寬分配子問題、計算任務卸載比例分配子問題、無人機軌跡優化子問題和計算資源分配子問題進行交替求解。然后引入松弛變量和利用連續凸優化(successive convex approximation,SCA)方法將原非凸問題轉換為可求解的凸優化問題。同時,提出一種聯合優化上述四個子問題的交替優化算法來解決該優化問題,并對提出的聯合優化算法進行仿真實驗。
c)仿真結果表明,通過對系統的資源分配以及無人機軌跡的聯合優化設計,能夠有效降低系統中車輛完成所有計算任務的平均時延。與傳統的固定基站相比,無人機可以跟隨缺乏通信和計算資源的車輛,保持最短的通信距離,以更好地降低時延。
2.6 整體算法及其收斂性和復雜度分析
算法1 帶寬、計算任務卸載比例、無人機軌跡和計算資源聯合優化算法
輸入:K,{wk}Kk=1,M,{wm}Mm=1,q0,Vmax,B,Fk,max,Fuav,max,Fbs,max和λ。
a)初始化B(0),θ(0),Q(0),F(0)目標函數T(0),迭代次數k=0。
b)循環。
c)更新l=l+1。
d)給定θ(l),Q(l),F(l)求解問題(P4)獲得B(l+1)。
e)給定B(l+1),Q(l),F(l)求解問題(P5)獲得θ(l+1)。
f)給定B(l+1),θ(l+1),F(l)求解問題(P7)獲得Q(l+1)。
g)給定B(l+1),θ(l+1),Q(l+1)求解問題(P8)獲得F(l+1)。
h)將B(l+1),θ(l+1),Q(l+1),F(l+1)代入目標函數獲得T(l+1)。
i) 當目標函數T(l+1)收斂時,跳出循環,否則跳回c)。
輸出:T(l+1),B(l+1),θ(l+1),Q(l+1)和F(l+1)。
接下來分析算法1的收斂性,定義第l次交替迭代的最小系統平均時延為ψlbB(l),θ(l),Q(l),F(l),對于一個標準的最小化的凸優化問題來說,在每次迭代后問題的目標值肯定為非增的,問題(P4)和(P5)優化后的目標值一定不大于優化前的目標值。因此,算法1的步驟d)e)可以得到
ψB(l),θ(l),Q(l),F(l)≥(a)ψB(l+1),θ(l),Q(l),F(l)≥(b)
ψB(l+1),θ(l+1),Q(l),F(l)(45)
算法1的步驟f),如式(46)所示。
ψ(B(l+1),θ(l+1),Q(l),F(l))=(c)ψlb(B(l+1),θ(l+1),Q(l),F(l))≥(d)ψlb(B(l+1),θ(l+1),Q(l+1),F(l))≥(e)ψlb(B(l+1),θ(l+1),Q(l+1),F(l+1))(46)
其中:ψlb(B(l+1),θ(l+1),Q(l),F(l))是通過一階泰勒展開ψ(B(l+1),θ(l+1),Q(l),F(l))得到的,不等號(d)和(e)與不等號(a)和(b)同理,通過代入求解問題使目標值在迭代中保持非增。最后不等號(f)成立的原因是子問題(P6)的目標值是問題(P3)的上界。
ψlb(B(l+1),θ(l+1),Q(l+1),F(l+1))≥(f)ψ(B(l+1),θ(l+1),Q(l+1),F(l+1))(47)
綜上所述,結合式(45)~(47),可以得出
ψB(l),θ(l),Q(l),F(l)≥ψB(l+1),θ(l+1),Q(l+1),F(l+1)(48)
基于式(45)~(48),可以得出問題的目標值在迭代后非增的結論。此外,由于問題(P3)的目標值的下界是一個有限的值,因此算法1是收斂的。
下面分析算法1的復雜度。算法1運用內點法求解子問題(P4)(P5)(P7)和(P8),其相應的復雜度分別為O((NK+MNK)3.5log2(1/λ))、O((NK+MNK)3.5log2(1/λ))、O((N+NK)3.5log2(1/λ))、O((N+NK+MN)3.5log2(1/λ)),其中λ表示時延迭代精度。因為每次迭代都需要求解上述4個子問題,所以算法1的總體復雜度為O((N+NK+MN+MNK)3.5log2(1/λ))。
3 仿真分析
本文利用MATLAB軟件進行仿真實驗,通過與其他基準方案進行比較,來介紹該方案的性能。首先,本文介紹模擬參數和仿真場景的設置。然后,分析無人機的軌跡優化和所提出的算法的性能。
在本次仿真中,假設系統在一個大小為1.2×1.2 km2的矩形區域上,有3個固定在地面的基站和4輛沿著已知十字路軌跡移動的車輛在該區域內,一架高度H固定在50 m的無人機也分布在區域內,如圖3所示。其中,車輛1和2分別從初始坐標(-500,15,0) (單位為m,下同)和(-500,-15,0) 并排向坐標(500,15,0)和(500,-15,0) 做勻速直線運動,同理,車輛3和4分別從初始坐標(-15,-500,0) 和(15,-500,0) 并排向坐標(-15,500,0) 和(15,500,0) 做勻速直線運動。無人機、基站與車輛通信的總服務時間為T=40 s,將其劃分為100個單位長度為0.4 s的時隙。車輛的通信功率設置為P=0.1 W,可用于分配給無人機和基站的總帶寬為B=10 MHz。在參考距離d=1 m處的信道增益β0=-60 dB,噪聲功率譜密度δ2=-169 dBm/Hz。其他仿真參數設置匯總如表2所示。
圖3給出了無人機在總服務時間T=40 s內的實時水平軌跡,可以看出,由于車輛3、4起點附近缺乏基站,所以在t=0 s到t=8 s,無人機從起點坐標(0,0,50)" 直接飛向車輛3和4以保持它們良好的通信環境。在t=8 s到t=11.2 s中,無人機首先有靠近車輛3的上方的趨勢,然后在t=12 s到t=20 s一直跟隨車輛3。此時,無人機可以通過保持與離基站相距較遠的車輛以最短的通信距離來實現更快的通信速率。當所有車輛經過交匯處時,無人機將跟隨車輛3更改為跟隨車輛2,并在后續的t=22.4 s到t=40 s中,無人機一直跟隨著車輛2。最后,由于十字路口的右側盡頭處缺乏基站等基礎設施,無人機飛向車輛1和2的移動方向以保證車輛的正常通信和計算卸載。但又因為車輛2比車輛1更遠離基站,所以無人機一直跟隨在車輛2的上方。
為了評估本文算法的收斂性,對不同計算任務量下交替迭代優化方法的收斂次數進行比較,如圖4所示。由圖4可知,四種情況分別為車輛1每秒的任務量都相同、前8 s的任務量大于其余時間、第16~24 s的任務量大于其余時間,最后8 s的任務量大于其余時間。由于車輛1前端任務量大,無人機一開始飛向車輛1,而無法服務于車輛3和4,導致系統平均時延大。而車輛1中間任務量大的情況造成系統平均時延較大的原因則是無人機和基站需在交匯處同時服務4輛車輛。從圖4可以看出,4種情況均在第4次迭代后達到了數值收斂,收斂速度較快,結果表明,本文算法具有較低的復雜度和可靠的收斂性。
為了反映所有MEC服務器之間資源分配的差異,本文分別比較了圖5和6中服務器的通信帶寬分配和計算任務卸載比例。從圖5觀察到車輛1的帶寬分配情況,除了分配給基站1的帶寬有下降的趨勢之外,其余都是呈上升趨勢。這表明車輛分配給各MEC服務器之間的帶寬是由無人機、基站與車輛之間的距離來決定的,當車輛靠近無人機或基站時,無人機或基站會多分配一些帶寬給該車輛以減少系統平均通信時延。當多輛車輛匯集一起時,無人機傾向于確保多輛車輛平均共享可用的帶寬,這有助于提高系統通信效率,防止某車輛占用過多帶寬,從而影響其他車輛的通信需求。由于無人機后半段軌跡中跟隨車輛1、2,無人機分配的帶寬總體也會多于基站2、3。
此外,本文還比較了圖6中車輛1在每個時隙中卸載到每個服務器的計算任務比例??梢杂^察到,雖然無人機MEC服務器的計算能力遠不如基站MEC服務器,但總體上也承擔了大部分的計算任務,這表明了無人機發揮的關鍵作用。由于車輛本地計算能力的不足,本地處理任務的比例保持在20%以下。車輛卸載計算任務給各基站的比例則與各車輛和基站之間的距離相關的,當車輛靠近基站或基站計算資源空閑時,各車輛會多分配計算任務來提高系統平均計算效率。此外,由于具有高質量的通信信道,無人機服務器耗盡了其CPU頻率,以便完成每個時隙的計算任務。
為了評估所提出的聯合優化算法的性能,本文設計了幾種基準方案:a)無基站計算,計算任務僅由無人機和車輛本地計算;b)僅基站和本地計算,計算任務僅在基站和車輛本地上計算;c)固定軌跡,無人機位于固定位置(0,0,50) ;d)平均計算資源分配,其中無人機和基站的CPU頻率平均分配;e)平均帶寬分配,其中信道的帶寬資源平均分配給所有無人機和基站MEC服務器。如圖7所示,本文比較了不同基準方案與不同無人機CPU頻率在系統中完成所有任務的平均時延,揭示了無人機的Fuav,max對完成時延的影響。
從圖7可以看出本文算法都優于其他基準方案,僅基站和本地計算方案幾乎保持不變??傮w上由于Fuav,max的增加,無人機有更多的計算資源來處理計算任務。因此,完成計算任務的平均時延隨著Fuav,max的增加而逐漸減少。而當無人機CPU頻率大于4 GHz時,無基站計算和僅基站和本地計算方案的平均時間均大于其余方案,驗證了本文中車輛計算任務三層卸載策略部署后的性能的顯著提高。
圖8比較了5種不同計算任務大小的算法的平均時延。可以看出,平均時延隨著計算任務規模的增加而增加。由于隨著計算任務規模的增加,車輛在計算卸載過程中的通信和計算的時延也會增加,導致完成計算任務處理的總時延增加。此外,隨著計算任務量增大,僅基站和本地計算的曲線快速增大,這意味著僅基站和本地計算方案是低效的,特別是在計算任務量需求大的情況下尤為明顯。這一現象也準確地驗證了無人機在提高系統計算效率方面不可缺少的計算能力。由于無基站計算方案缺少基站MEC服務器,并且車輛本地和無人機的計算資源稍顯不足,導致該方案的平均時延遠大于其他方案,這說明了本文提出的空地協同的重要性。
當Fuav,max=10 GHz時,通信帶寬與系統平均時延的關系如圖9所示,從圖9可以看出可用的通信帶寬對系統完成計算任務平均時延的影響??梢院苋菀椎匕l現,平均任務完成時延隨著通信帶寬的增加而穩步減少,但隨著通信帶寬的逐漸增加而出現減少的趨勢減緩現象。此外,由于該算法聯合優化了無人機的飛行軌跡、計算資源分配、通信帶寬分配和任務卸載比例分配,與無基站計算方案、僅基站和本地計算方案、固定軌跡方案、平均計算資源方案和平均帶寬方案相比,該算法的時延分別降低了41.91%、21.7%、4.3%、16.07%和5.73%??偟膩碚f,本文算法性能均優于其他基準方案。
4 結束語
本文對面向車聯網的無人機輔助空地協同移動邊緣計算系統資源分配和軌跡優化方法進行了研究。構建了最小化車輛的最大平均通信計算時延的目標函數,提出了基于塊坐標下降的四層迭代優化算法,通過聯合優化帶寬分配、計算任務卸載比例分配、無人機軌跡和計算資源分配,實現了最小化系統任務完成的平均時延的目的。實驗結果表明,與基準方案相比,所提算法能夠有效降低車輛的平均通信計算時延。此外,本文還證明了無人機服務器與基站服務器協同合作的可靠性。對于未來的工作,主要考慮將這項工作擴展到多無人機協作模型,進一步降低空地協同MEC場景中的時延。
參考文獻:
[1]Abbas N, Zhang Yan,Taherkordi A, et al. Mobile edge computing: a survey [J]. IEEE Internet of Things Journal, 2017, 5 (1): 450-465.
[2]Mach P, Becvar Z. Mobile edge computing:a survey on architecture and computation offloading [J]. IEEE Communications Surveys amp; Tutorials, 2017, 19 (3): 1628-1656.
[3]Shi Weisong, Cao Jie, Zhang Quan, et al. Edge computing: vision and challenges [J]. IEEE Internet of Things Journal, 2016, 3 (5): 637-646.
[4]Sabella D, Vaillant A,Kuure P, et al. Mobile-edge computing architecture: the role of MEC in the Internet of Things [J]. IEEE Consumer Electronics Magazine, 2016, 5 (4): 84-91.
[5]Sun Lu, Wan Liangtian, Wang Jiashuai, et al. Joint resource scheduling for UAV-enabled mobile edge computing system in Internet of Vehicles [J]. IEEE Trans on Intelligent Transportation Systems, 2023, 24 (12): 15624-15632.
[6]Hayat S,Yanmaz E, Muzaffar R. Survey on unmanned aerial vehicle networks for civil applications: a communications viewpoint [J]. IEEE Communications Surveys amp; Tutorials, 2016, 18 (4): 2624-2661.
[7]Zhang Songge, Zhou Jianshan, Tian Daxin, et al. Robust cooperative communication optimization for multi-UAV-aided vehicular networks [J]. IEEE Wireless Communications Letters, 2020, 10 (4): 780-784.
[8]Wang Longjie, Zhou Qiang, Shen Yan. Computation efficiency maximization for UAV-assisted relaying and MEC networks in urban environment [J]. IEEE Trans on Green Communications and Networking, 2022, 7 (2): 565-578.
[9]Zhang Jiao, Zhou Li, Zhou Fuhui, et al. Computation-efficient offloading and trajectory scheduling for multi-UAV assisted mobile edge computing [J]. IEEE Trans on Vehicular Technology, 2019, 69 (2): 2114-2125.
[10]Hu Qiyu, Cai Yunlong, Yu Guangding, et al. Joint offloading and trajectory design for UAV-enabled mobile edge computing systems [J]. IEEE Internet of Things Journal, 2018, 6 (2): 1879-1892.
[11]Shang Bodong, Liu Lingjia. Mobile-edge computing in the sky: energy optimization for air-ground integrated networks [J]. IEEE Internet of Things Journal, 2020, 7 (8): 7443-7456.
[12]Shi Dong, Xia Yuanjun,Kamruzzaman J. Quantum particle swarm optimization for task offloading in mobile edge computing [J]. IEEE Trans on Industrial Informatics, 2022, 19 (8): 9113-9122.
[13]Qi Qiuyi, Shi Tuo, Qin Ke,et al. Completion time optimization in UAV-relaying-assisted MEC networks with moving users [J]. IEEE Trans on Consumer Electronics, 2024, 70(1): 1246-1258.
[14]郎磊, 王荊寧, 王一, 等. 無人機輔助通信中基于用戶軌跡的無線資源和航跡優化 [J]. 通信學報, 2022, 43 (3): 225-232. (Lang Lei, Wang Jingning, Wang Yi, et al. Radio resource and tra-jectory optimization for UAV assisted communication based on user route [J]. Journal on Communications, 2022, 43 (3): 225-232.)
[15]Liu Xin, Lai Biaojun, Lin Bin, et al. Joint communication and tra-jectory optimization for multi-UAV enabled mobile internet of vehicles [J]. IEEE Trans on Intelligent Transportation Systems, 2022, 23 (9): 15354-15366.
[16]Deng Taoyu, Chen Yueyun, Chen Guang, et al. Task offloading based on edge collaboration in MEC-enabled IoV networks [J]. Journal of Communications and Networks, 2023, 25 (2): 197-207.
[17]Xu Yu, Zhang Tiankui, Liu Yuanwei, et al. UAV-assisted MEC networks with aerial and ground cooperation [J]. IEEE Trans on Wireless Communications, 2021, 20 (12): 7712-7727.
[18]Fan Wenhao, Liu Jie, Hua Mingyu,et al. Joint task offloading and resource allocation for multi-access edge computing assisted by parked and moving vehicles [J]. IEEE Trans on Vehicular Technology, 2022, 71 (5): 5314-5330.
[19]Zhang Weiwen, Wen Yonggang, Guan K, et al. Energy-optimal mobile cloud computing under stochastic wireless channel [J]. IEEE Trans on Wireless Communications, 2013, 12 (9): 4569-81.
[20]Guo Min, Wang Wei, Huang Xing,et al. Lyapunov-based partial computation offloading for multiple mobile devices enabled by harvested energy in MEC [J]. IEEE Internet of Things Journal, 2021, 9 (11): 9025-9035.
[21]Guimaraes D A, Floriano G H, Chaves L S. A tutorial on the CVX system for modeling and solving convex optimization problems [J]. IEEE Latin America Trans, 2015, 13(5): 1228-1257.