[發明專利]一種離散事件網絡模擬環境的時鐘同步方法有效
| 申請號: | 201210051468.4 | 申請日: | 2012-03-01 |
| 公開(公告)號: | CN102662428A | 公開(公告)日: | 2012-09-12 |
| 發明(設計)人: | 林思明;王景飛;程學旗;張冬;周洲儀;李金明;王元卓 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F1/12 | 分類號: | G06F1/12;G06F9/52 |
| 代理公司: | 北京泛華偉業知識產權代理有限公司 11280 | 代理人: | 王勇 |
| 地址: | 100190 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 離散 事件 網絡 模擬 環境 時鐘 同步 方法 | ||
技術領域
本發明涉及網絡模擬和仿真技術領域,具體地說,本發明涉及一種離散事件網絡模擬環境的時鐘同步方法。
背景技術
在網絡迅速膨脹的今天,網絡研究人員一方面要不斷思考新的網絡協議和算法,為網絡發展做前瞻性的基礎研究;另一方面也要研究如何利用和整合現有網絡資源,使網絡達到最高效能,這兩者都需要對新的網絡方案進行驗證和分析。傳統的實驗方法成本很高,重新配置或共享資源很難,運用起來不夠靈活,試驗床的規模很難做到很大,不能實現網絡中的多種通信流量和拓撲的融合,給網絡研究帶來極大的局限性。
而網絡模擬技術提供了一種方便、高效的驗證和分析方法。基于網絡模擬技術,研究人員可以根據需要設計網絡模型,用相對較少的時間和費用了解不同條件下網絡的特性,獲取網絡豐富有效的數據。離散事件模擬是幾種常用的網絡模擬模型之一,該模型下僅在事件發生時進行狀態的修改,由事件發生的時間量確定模擬時鐘的推進。NS(Network?Simulator)、OPNET、NSME等軟件是現有的應用較為廣泛的離散事件網絡模擬器,其模擬處理過程的速率不直接對應著實際時間,而是通過統一時鐘控制和分組包頭對應的時間戳字段標志來完成的。相對于其它模擬手段,離散事件網絡模擬器具有明顯的速度和效率優勢,并且具有較強的擴展性,然而,由于使用離散事件進行時間驅動,導致仿真時間與實際時間不一致,在某些情形下模擬環境下的測試結果會與真實環境下的結果相背離。例如,當一個真實軟件向網絡模擬器中的某一服務器請求建立TCP連接時,如果離散事件模擬器的時鐘推進很慢(需處理的事件較多的情況下),導致網絡模擬器中的服務器在應答該TCP連接前該真實軟件的TCP連接因超時而連接失敗。但是在真實軟件判定連接失敗的同時,實際上網絡模擬器時鐘可能只推進了很少一部分,并未到達真實軟件發生超時的時刻。顯然,這種情形下,模擬環境下的測試結果是失真的。
因此,當前迫切需要一種離散事件網絡模擬環境的時鐘同步方法,以避免模擬環境因與真實環境時間不一致而造成失真。
發明內容
本發明的目的是提供一種離散事件網絡模擬環境的時鐘同步方法,以避免模擬環境與真實環境因時間不一致而造成失真。
為實現上述發明目的,本發明提供了一種離散事件網絡模擬環境的時鐘同步方法,包括下列步驟:
1)某一離散事件發生時,確定離散事件發生時間所對應的虛擬時鐘滴答計數值,并將其作為目標計數值發送給內核態程序;所述虛擬時鐘滴答計數值用于控制所有接入離散事件網絡模擬器的真實軟件的定時器的運行;
2)內核態程序以1為步長逐步累加虛擬時鐘滴答計數值直至達到所述目標計數值;其中每次虛擬時鐘滴答計數值加1時,對于接入離散事件網絡模擬器的真實軟件,(操作系統內核)判斷所述真實軟件的定時器是否超時,如果超時則觸發相應的定時器事件。
其中,所述步驟1)包括下列子步驟:
11)網絡模擬器時鐘發生跳躍后,向用戶態監聽程序發送更新虛擬時鐘滴答的請求,該請求中攜帶網絡模擬器當前的時鐘信息;
12)用戶態監聽程序在收到更新虛擬時鐘滴答的請求后,解析所要更新的虛擬時鐘滴答計數值;
13)向內核態程序發送更新虛擬時鐘滴答請求,該請求中攜帶所解析的要更新的虛擬時鐘滴答計數值。
其中,所述步驟11)中,網絡模擬器到用戶態程序的命令傳輸采用網絡套接字、內存共享或者proc文件系統的方式實現。
其中,所述步驟13)中,用戶態程序到內核態程序的命令傳輸Netlink原始套接字、內存共享或者proc文件系統的方式實現。
其中,所述步驟2)包括下列子步驟:
21)內核態程序收到更新虛擬時鐘滴答請求后,更新當前虛擬時鐘滴答值為所述目標計數值,啟動虛擬時鐘滴答補齊程序;
22)虛擬時鐘滴答補齊程序逐個補齊更新前和更新后的兩個虛擬時鐘滴答計數值之間的所有虛擬時鐘滴答,并為每一個補齊的虛擬時鐘滴答處理定時器事件。
其中,所述虛擬時鐘滴答的創建過程包括下列步驟:
101)在Linux內核中創建記錄虛擬時鐘滴答的整型變量,用以模擬系統內核中的真實時鐘滴答;
102)設置虛擬時鐘滴答變量的標識,使得系統能夠識別獨立于真實時鐘滴答的虛擬時鐘滴答;
103)設置能夠對虛擬時鐘滴答變量進行修改的系統調用模塊。
其中,所述的離散事件網絡模擬環境的時鐘同步方法還包括:對調用內核的進程進行標記以區分該進程對應的真實軟件是否運行于所述離散事件網絡模擬器中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210051468.4/2.html,轉載請聲明來源鉆瓜專利網。





