最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

基于強(qiáng)化學(xué)習(xí)的多路徑傳輸協(xié)議擁塞控制方法與流程

文檔序號(hào):11253760閱讀:1125來源:國知局
基于強(qiáng)化學(xué)習(xí)的多路徑傳輸協(xié)議擁塞控制方法與流程

本發(fā)明涉及擁塞控制領(lǐng)域,具體涉及一種多路徑傳輸協(xié)議擁塞控制方法。



背景技術(shù):

傳輸控制協(xié)議(transmissioncontrolprotocol,tcp)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。網(wǎng)絡(luò)中有95%的流量來自于tcp連接,tcp連接的兩端一般使用一條路徑來傳輸數(shù)據(jù)。而隨著多種接入技術(shù)的發(fā)展,現(xiàn)如今大多數(shù)的主機(jī)都配置有多個(gè)網(wǎng)絡(luò)接口,也可以通過usb接口來擴(kuò)展網(wǎng)絡(luò)接口。而且智能移動(dòng)終端越來越普及,它們也往往都同時(shí)具有蜂窩網(wǎng)絡(luò)接口(如3g接口、4g接口)和wifi兩種接口。傳統(tǒng)tcp協(xié)議只能將每個(gè)連接綁定到單個(gè)接口,因此不能有效利用現(xiàn)今設(shè)備的多個(gè)接口,這將會(huì)造成大量的資源浪費(fèi)。近年來,ietf工作組提出了對(duì)傳統(tǒng)tcp協(xié)議的擴(kuò)展協(xié)議,多路徑tcp(multi-pathtcp,mptcp)。mptcp將單個(gè)tcp的數(shù)據(jù)分流到多個(gè)不同的子流,每一條子流會(huì)走不同的路徑,從而形成多條鏈路。這樣就可以充分利用設(shè)備的多個(gè)網(wǎng)絡(luò)接口,實(shí)現(xiàn)最大的吞吐量和魯棒性。

網(wǎng)絡(luò)中的擁塞現(xiàn)象是由于通信子網(wǎng)中某一部分的分組數(shù)量過多,使得該部分的網(wǎng)絡(luò)來不及處理,以致引起這部分乃至整個(gè)網(wǎng)絡(luò)性能下降的現(xiàn)象,嚴(yán)重時(shí)甚至?xí)?dǎo)致網(wǎng)絡(luò)癱瘓。擁塞控制就是防止過多的數(shù)據(jù)注入網(wǎng)絡(luò),這樣可以使網(wǎng)絡(luò)中的路由器或者鏈路不會(huì)過載。mptcp的擁塞控制機(jī)制決定在每個(gè)子流上發(fā)送多少數(shù)據(jù),這樣做的目的是將流量從比較擁擠的路徑轉(zhuǎn)移到不那么擁塞的路徑上,從而提高吞吐量。鏈接增長算法(linkedincreasesalgorithm,lia)是mptcp的默認(rèn)擁塞控制算法,在多路徑速率分配時(shí),綜合考慮了丟包率和往返時(shí)間(roundtimetrip,rtt)。但是由于mptcp需要收到各個(gè)子流的數(shù)據(jù)并排序后才能上傳到應(yīng)用層,所以當(dāng)mptcp的子流之間速率差異較大時(shí),快子流需要“等待”慢子流的數(shù)據(jù),如果慢子流的數(shù)據(jù)遲遲不來,而快子流的數(shù)據(jù)不停地到達(dá),則容易造成接收端的緩沖區(qū)溢出,從而導(dǎo)致來自快子流的數(shù)據(jù)包也可能被丟棄,使得網(wǎng)絡(luò)性能下降。



技術(shù)實(shí)現(xiàn)要素:

發(fā)明目的:正是基于以上的原因,本發(fā)明提出一種基于強(qiáng)化學(xué)習(xí)的多路徑控制協(xié)議擁塞控制方法。通過在網(wǎng)絡(luò)環(huán)境中進(jìn)行反復(fù)學(xué)習(xí),得到一組對(duì)應(yīng)于該網(wǎng)絡(luò)的從狀態(tài)到動(dòng)作的映射表,從而使得網(wǎng)絡(luò)設(shè)備知道在不同網(wǎng)絡(luò)狀態(tài)下如何改變窗口大小以獲得最好的性能。

技術(shù)方案:一種基于強(qiáng)化學(xué)習(xí)的多路徑傳輸控制協(xié)議擁塞控制方法,應(yīng)用于多路徑傳輸控制協(xié)議中,包括以下步驟:

1)建立擁塞控制的馬爾可夫模型,具體包括:

設(shè)置作為發(fā)送端的狀態(tài),cwndi為第i個(gè)子流的擁塞窗口,n為子流個(gè)數(shù),rtti為第i個(gè)子流的往返時(shí)間rtt,min{rtt}為所有子流中的最小rtt,ack_ewma為連續(xù)收到兩個(gè)確認(rèn)的時(shí)間間隔的指數(shù)加權(quán)移動(dòng)平均;

設(shè)置{m,b,r}作為發(fā)送端的動(dòng)作,m為對(duì)當(dāng)前擁塞窗口的乘數(shù),b為對(duì)當(dāng)前擁塞窗口的加數(shù),m和b都是用于調(diào)整當(dāng)前擁塞窗口大小,r為發(fā)送子流的時(shí)間間隔,通過調(diào)節(jié)發(fā)送間隔以達(dá)到調(diào)節(jié)發(fā)送速率的目的;一般設(shè)置為m={0,0.1,0.5,1,2},b={0,+/-1,+/-4,+/-8},r={+/-0.01,+/-0.08,+/-0.64};

為了使平均吞吐量最大化并且使各個(gè)子流的平均時(shí)延最小化,設(shè)置作為目標(biāo)方程,throughputi為第i個(gè)子流在指定時(shí)間內(nèi)的吞吐量,delayi為第i個(gè)子流從發(fā)送端到達(dá)接收端的傳輸時(shí)延,δ為時(shí)延的權(quán)重;

2)對(duì)網(wǎng)絡(luò)環(huán)境采樣,得到馬爾可夫模型的狀態(tài)參數(shù);

3)根據(jù)狀態(tài)參數(shù)對(duì)馬爾可夫模型進(jìn)行迭代訓(xùn)練,得到從狀態(tài)到動(dòng)作的映射表;

4)在網(wǎng)絡(luò)中應(yīng)用狀態(tài)-動(dòng)作映射表,具體為:從擁塞避免階段開始,發(fā)送端每收到一個(gè)確認(rèn),就計(jì)算當(dāng)前的狀態(tài),然后在狀態(tài)-動(dòng)作映射表中找到對(duì)應(yīng)的動(dòng)作并執(zhí)行該動(dòng)作。

其中,所述步驟3)具體包括以下步驟:

31)將狀態(tài)空間劃分為多個(gè)區(qū)域,并設(shè)置默認(rèn)動(dòng)作;

32)對(duì)所有狀態(tài)區(qū)域應(yīng)用默認(rèn)動(dòng)作,找出狀態(tài)最常出現(xiàn)的區(qū)域,作為待優(yōu)化狀態(tài)區(qū)域;

33)對(duì)待優(yōu)化狀態(tài)區(qū)域應(yīng)用所有動(dòng)作,選擇使目標(biāo)方程值最大的動(dòng)作,形成狀態(tài)-動(dòng)作映射規(guī)則,并添加到狀態(tài)-動(dòng)作映射表中;

34)按照以下原則繼續(xù)尋找待優(yōu)化狀態(tài)區(qū)域:對(duì)未經(jīng)優(yōu)化的區(qū)域應(yīng)用所有動(dòng)作,對(duì)優(yōu)化過的區(qū)域應(yīng)用前次優(yōu)化所得到的動(dòng)作,然后找出狀態(tài)最常出現(xiàn)的區(qū)域,作為待優(yōu)化狀態(tài)區(qū)域;如果找到的是已經(jīng)優(yōu)化過的區(qū)域,則將該區(qū)域進(jìn)一步劃分,然后再次按照上述原則選取待優(yōu)化區(qū)域;

35)重復(fù)執(zhí)行步驟33)-34),直到狀態(tài)區(qū)域的數(shù)目達(dá)到指定閾值為止。

在以上過程中,本發(fā)明的方法選取狀態(tài)最常出現(xiàn)的區(qū)域作為待優(yōu)化狀態(tài)區(qū)域,這樣可以著重優(yōu)化經(jīng)常會(huì)用到的規(guī)則。這種策略更有針對(duì)性,能夠提高效率,節(jié)省時(shí)間。并且在選取待優(yōu)化狀態(tài)區(qū)域時(shí),利用了前一次優(yōu)化的成果,可以更快地逼近最優(yōu)解。這體現(xiàn)了強(qiáng)化學(xué)習(xí)的思想。

工作原理:強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,是指智能系統(tǒng)從環(huán)境到行為映射的學(xué)習(xí),以使獎(jiǎng)勵(lì)信號(hào)函數(shù)值最大。強(qiáng)化學(xué)習(xí)通常用馬爾可夫決策過程(markovdecisionprocess,mdp)來描述。如圖1所示,機(jī)器處于環(huán)境e中,狀態(tài)空間為x,其中每個(gè)狀態(tài)x∈x是機(jī)器感知到的環(huán)境的描述,機(jī)器能夠采取的動(dòng)作構(gòu)成了動(dòng)作空間a,若某個(gè)動(dòng)作a作用在當(dāng)前狀態(tài)x上,則轉(zhuǎn)移函數(shù)p將環(huán)境從當(dāng)前狀態(tài)按某種概率轉(zhuǎn)移到另一個(gè)狀態(tài),同時(shí)根據(jù)獎(jiǎng)賞函數(shù)r反饋給機(jī)器一個(gè)獎(jiǎng)賞。強(qiáng)化學(xué)習(xí)的目的就是求解馬爾可夫決策過程mdp。簡單地說,mdp就是一個(gè)機(jī)器采取行動(dòng)從而改變自己的狀態(tài)并獲得獎(jiǎng)勵(lì)與環(huán)境發(fā)生交互的循環(huán)過程。mdp的策略完全取決于當(dāng)前狀態(tài),這體現(xiàn)了它的馬爾可夫性質(zhì)。

本發(fā)明通過建立馬爾可夫決策過程,將擁塞控制形式化表示。用發(fā)送端的各個(gè)子流的擁塞窗口大小以及各個(gè)子流的rtt來表示各個(gè)子流當(dāng)前的網(wǎng)絡(luò)狀態(tài),定義發(fā)送端調(diào)整擁塞窗口和發(fā)送間隔的動(dòng)作,建立目標(biāo)方程,以獲得最大平均吞吐量和最小平均時(shí)延為目的。通過建立網(wǎng)絡(luò)模型,模擬產(chǎn)生多種網(wǎng)絡(luò)環(huán)境。在不同的網(wǎng)絡(luò)環(huán)境中,通過不斷地試錯(cuò),對(duì)當(dāng)前網(wǎng)絡(luò)環(huán)境做所有的動(dòng)作,然后從環(huán)境給出的反饋中學(xué)習(xí)并優(yōu)化動(dòng)作。經(jīng)過大量的線下學(xué)習(xí),使得發(fā)送端可以在某一個(gè)狀態(tài)區(qū)域做出相應(yīng)的調(diào)整擁塞窗口大小和發(fā)送間隔的動(dòng)作,以使得目標(biāo)方程的值最大。

有益效果:本發(fā)明利用馬爾可夫決策過程實(shí)現(xiàn)多路徑傳輸控制協(xié)議的擁塞控制,該方法以最大平均吞吐量和最小平均時(shí)延為目標(biāo),通過感知環(huán)境狀態(tài)來學(xué)習(xí)動(dòng)態(tài)系統(tǒng)的最優(yōu)策略,不僅克服了現(xiàn)有技術(shù)中丟包的缺點(diǎn),而且具有速度快,穩(wěn)定性高,魯棒性強(qiáng)等優(yōu)點(diǎn)。并且對(duì)環(huán)境的先驗(yàn)知識(shí)要求低,非常適合于應(yīng)用到實(shí)時(shí)網(wǎng)絡(luò)環(huán)境中。

附圖說明

圖1為強(qiáng)化學(xué)習(xí)原理示意圖;

圖2為本發(fā)明的擁塞控制總體流程圖;

圖3為本發(fā)明的學(xué)習(xí)過程流程圖;

圖4為本發(fā)明的擁塞控制方法與lia算法的應(yīng)用效果對(duì)比圖。

具體實(shí)施方式

下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步說明。

圖2是基于強(qiáng)化學(xué)習(xí)的多路徑傳輸協(xié)議擁塞控制的流程圖,首先建立馬爾可夫模型,然后在網(wǎng)絡(luò)中反復(fù)學(xué)習(xí),得到學(xué)習(xí)結(jié)果,最后在網(wǎng)絡(luò)中應(yīng)用該結(jié)果。在本實(shí)施例中,我們用模擬器模擬了一個(gè)網(wǎng)絡(luò)環(huán)境,基于該模擬網(wǎng)絡(luò)進(jìn)行上述學(xué)習(xí)和應(yīng)用過程。具體過程如下:

a)建立馬爾可夫模型,包括:

a1)定義發(fā)送端的狀態(tài)其中,為第i個(gè)子流的擁塞窗口與n個(gè)子流的總擁塞窗口的比,rtti/min{rtt}為第i個(gè)子流的往返時(shí)間rtt與所有子流中的最小rtt的比,ack_ewma為連續(xù)收到兩個(gè)確認(rèn)(ack)的時(shí)間間隔的指數(shù)加權(quán)移動(dòng)平均,其計(jì)算公式為ack_ewma(t)=ay(t)+(1-a)ack_ewma(t-1),y(t)是ack的時(shí)間間隔,即當(dāng)前ack到達(dá)時(shí)間減去上一個(gè)ack的到達(dá)時(shí)間,ack_ewma(t-1)是上一個(gè)ack的指數(shù)加權(quán)移動(dòng)平均,a為歷史測量值權(quán)重系數(shù),取值在0-1之間,當(dāng)a越接近1時(shí),表示當(dāng)前值的權(quán)重就越高,時(shí)效性就越強(qiáng),反之,就越弱。在本實(shí)施例中a的值設(shè)置為1/8,表示在所有的ack_ewma中,新值的權(quán)重是1/8。

a2)定義發(fā)送端的動(dòng)作{m,b,r},m和b表示對(duì)當(dāng)前擁塞窗口大小的調(diào)整,m為對(duì)當(dāng)前擁塞窗口的乘數(shù),b為對(duì)當(dāng)前擁塞窗口的加數(shù),r為發(fā)送子流的時(shí)間間隔。在本實(shí)施例中,分別設(shè)置為m={0.1,0.5,1,2},b={+/-1,+/-4,+/-8},r={+/-0.01,+/-0.08,+/-0.64}。

a3)定義目標(biāo)方程該目標(biāo)方程根據(jù)資源分配理論推導(dǎo)而得出,其中,throughputi為第i個(gè)子流在指定時(shí)間內(nèi)的吞吐量,delayi為第i個(gè)子流從發(fā)送端到達(dá)接收端的傳輸時(shí)延,δ為時(shí)延的權(quán)重值,取值為[0-1],δ越大表示系統(tǒng)對(duì)時(shí)延的要求越高。在一些對(duì)時(shí)延要求高的場景中,如網(wǎng)絡(luò)電話或視頻業(yè)務(wù)中,可以將δ設(shè)置得大一些。在本實(shí)施例中,時(shí)間設(shè)置為一分鐘,δ設(shè)置為0.1。

b)在模擬器中搭建網(wǎng)絡(luò)環(huán)境,包括:

b1)模擬網(wǎng)絡(luò)基本狀況,包括設(shè)置瓶頸鏈路的速度、不同網(wǎng)絡(luò)的傳輸時(shí)延、網(wǎng)絡(luò)中競爭瓶頸鏈路的用戶個(gè)數(shù)、網(wǎng)絡(luò)中競爭瓶頸鏈路的子流個(gè)數(shù)。網(wǎng)絡(luò)狀況可以根據(jù)不同的環(huán)境設(shè)置不同的參數(shù),目的是針對(duì)不同的網(wǎng)絡(luò)環(huán)境學(xué)習(xí)到不同的規(guī)則,以期在不同的網(wǎng)絡(luò)中都得到理想的結(jié)果。

b2)建立網(wǎng)絡(luò)流量模型,包括模擬網(wǎng)絡(luò)中的應(yīng)用,建立連接時(shí)產(chǎn)生流量,終止連接時(shí)停止流量;此外,不同的用戶可能會(huì)在不同的時(shí)間建立連接,連接也有可能是長連接或者是短連接。流量模型主要體現(xiàn)某個(gè)發(fā)送端是否產(chǎn)生流量,何時(shí)產(chǎn)生流量。在模擬器中,我們設(shè)置所有的發(fā)送端都隨機(jī)的產(chǎn)生流量或者終止連接,開流量或者關(guān)流量的時(shí)間服從某一個(gè)分布模式(比如指數(shù)分布),目的是模擬真實(shí)環(huán)境下不同用戶競爭瓶頸鏈路的場景。

在本實(shí)施例中,設(shè)置瓶頸鏈路的速度為15mbps,網(wǎng)絡(luò)延遲為20ms。有4個(gè)mptcp用戶競爭瓶頸鏈路,且每個(gè)用戶都同時(shí)使用wifi網(wǎng)絡(luò)和蜂窩網(wǎng)絡(luò),兩條子流在帶寬和rtt上有明顯差異,蜂窩網(wǎng)絡(luò)的rtt大約是wifi網(wǎng)絡(luò)的25倍。在流量模型中,開流量和關(guān)流量的時(shí)間服從指數(shù)分布。

c)根據(jù)馬爾可夫模型在網(wǎng)絡(luò)環(huán)境中開始學(xué)習(xí),圖3示出了學(xué)習(xí)的具體過程,包括:

c1)采樣:首先對(duì)網(wǎng)絡(luò)環(huán)境進(jìn)行采樣,確定各個(gè)狀態(tài)可能出現(xiàn)的范圍。

c2)首次劃分狀態(tài)空間:從每一個(gè)狀態(tài)范圍的中點(diǎn)將此狀態(tài)的范圍劃分為兩部分,將由三個(gè)狀態(tài)組成的狀態(tài)空間劃分為8個(gè)區(qū)域。這里選取從中點(diǎn)劃分是考慮了平均分布情況,當(dāng)然也可以根據(jù)其他劃分標(biāo)準(zhǔn)來劃分狀態(tài)空間。

c3)應(yīng)用默認(rèn)動(dòng)作:第一次為所有狀態(tài)區(qū)域應(yīng)用一個(gè)統(tǒng)一的默認(rèn)動(dòng)作,默認(rèn)動(dòng)作設(shè)置為m=1,b=1,r=0.01,表示將當(dāng)前擁塞窗口的大小乘以1再加上1,并設(shè)置子流的發(fā)送間隔為0.01ms。

c4)選擇待優(yōu)化狀態(tài)區(qū)域:在模擬器每個(gè)發(fā)送端的每一條子流中,每當(dāng)收到一個(gè)ack,就對(duì)步驟c1)中的各個(gè)狀態(tài)進(jìn)行計(jì)算,然后更新當(dāng)前狀態(tài)。模擬器運(yùn)行一分鐘,找出狀態(tài)最經(jīng)常出現(xiàn)的狀態(tài)區(qū)域,作為待優(yōu)化狀態(tài)區(qū)域。

c5)對(duì)待優(yōu)化狀態(tài)區(qū)域的動(dòng)作進(jìn)行優(yōu)化:在模擬器中的所有發(fā)送端的每一條子流上窮舉應(yīng)用所有的動(dòng)作,模擬器運(yùn)行一分鐘,使用抓包工具(如tcpdump)進(jìn)行抓包,然后對(duì)包進(jìn)行分析,計(jì)算平均吞吐量以及平均時(shí)延,如果有動(dòng)作提高了目標(biāo)方程的值,就用這個(gè)動(dòng)作替換原來的動(dòng)作。窮舉完所有的動(dòng)作之后,就得到了對(duì)應(yīng)于這個(gè)區(qū)域的所有狀態(tài)的最好的動(dòng)作,從而形成一條狀態(tài)區(qū)域到動(dòng)作的映射規(guī)則,將該規(guī)則添加到狀態(tài)-動(dòng)作映射表中。得到的映射表,在系統(tǒng)中用帶頭結(jié)點(diǎn)的單鏈表的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ),使用該數(shù)據(jù)結(jié)構(gòu)插入結(jié)點(diǎn)速度快。

c6)繼續(xù)尋找待優(yōu)化狀態(tài)區(qū)域:為了利用上次學(xué)習(xí)的結(jié)果,此時(shí)對(duì)不同的狀態(tài)區(qū)域應(yīng)用不同的動(dòng)作,其中,對(duì)尚未經(jīng)過優(yōu)化的區(qū)域應(yīng)用所有動(dòng)作,對(duì)優(yōu)化過的區(qū)域應(yīng)用前一次優(yōu)化得到的結(jié)果動(dòng)作,然后再找出狀態(tài)最經(jīng)常出現(xiàn)的區(qū)域,作為待優(yōu)化狀態(tài)區(qū)域。有兩種情況,一種是找到了其他的區(qū)域,就按上述的優(yōu)化策略進(jìn)行優(yōu)化。還有一種是找到的還是剛剛優(yōu)化過的區(qū)域,則再沿著各個(gè)狀態(tài)的中點(diǎn)劃分此區(qū)域,再按上述的優(yōu)化策略優(yōu)化此區(qū)域?qū)?yīng)的動(dòng)作。

c7)重復(fù)執(zhí)行步驟c5)-c6),理論上這種優(yōu)化可以不停地進(jìn)行下去,并且可以設(shè)置不同的狀態(tài)參數(shù)和動(dòng)作來達(dá)到不同的擁塞控制精度。在本實(shí)施例中,我們規(guī)定在狀態(tài)區(qū)域的數(shù)目被劃分到50時(shí),停止學(xué)習(xí),得到狀態(tài)-動(dòng)作映射表。

d)在網(wǎng)絡(luò)中應(yīng)用學(xué)習(xí)結(jié)果:在多路徑傳輸控制協(xié)議運(yùn)行至擁塞避免階段時(shí),每當(dāng)發(fā)送端的一個(gè)子流收到一個(gè)ack時(shí),就查找上述步驟c)中得到的狀態(tài)-動(dòng)作映射表,找到當(dāng)前狀態(tài)所對(duì)應(yīng)的動(dòng)作,使用該動(dòng)作對(duì)這條子流的擁塞窗口和發(fā)送間隔進(jìn)行調(diào)整。一個(gè)發(fā)送端的所有子流共用同一個(gè)狀態(tài)-動(dòng)作映射表表。

本發(fā)明提出的基于強(qiáng)化學(xué)習(xí)的多路徑傳輸控制協(xié)議擁塞控制方法,從當(dāng)前網(wǎng)絡(luò)環(huán)境提取狀態(tài)特征,以最大平均吞吐量和最小平均時(shí)延為目標(biāo),通過感知環(huán)境狀態(tài)來學(xué)習(xí)網(wǎng)絡(luò)連接發(fā)送端的最優(yōu)策略,具有速度快、穩(wěn)定性高的優(yōu)點(diǎn)。通過模擬器的實(shí)驗(yàn)結(jié)果表明,在兩條子流有明顯差異的情況下,本發(fā)明的方法取得效果遠(yuǎn)遠(yuǎn)好于lia算法。如圖4所示,s1為快子流,s2為慢子流,本發(fā)明的方法將慢子流的數(shù)據(jù)轉(zhuǎn)移到了網(wǎng)絡(luò)情況更好的子流上,雖然慢子流的吞吐量比lia算法略低,但是在快子流上卻高了很多,這表明擁塞控制的效果更好。

以上詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行多種等同變換,這些等同變換均屬于本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1