[發明專利]一種離散事件網絡模擬環境的時鐘同步方法有效
| 申請號: | 201210051468.4 | 申請日: | 2012-03-01 |
| 公開(公告)號: | CN102662428A | 公開(公告)日: | 2012-09-12 |
| 發明(設計)人: | 林思明;王景飛;程學旗;張冬;周洲儀;李金明;王元卓 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F1/12 | 分類號: | G06F1/12;G06F9/52 |
| 代理公司: | 北京泛華偉業知識產權代理有限公司 11280 | 代理人: | 王勇 |
| 地址: | 100190 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 離散 事件 網絡 模擬 環境 時鐘 同步 方法 | ||
1.一種離散事件網絡模擬環境的時鐘同步方法,其特征在于,包括下列步驟:
1)某一離散事件發生時,確定離散事件發生時間所對應的虛擬時鐘滴答計數值,并將其作為目標計數值發送給內核態程序;所述虛擬時鐘滴答計數值用于控制所有接入離散事件網絡模擬器的真實軟件的定時器的運行;
2)內核態程序以1為步長逐步累加虛擬時鐘滴答計數值直至達到所述目標計數值;其中每次虛擬時鐘滴答計數值加1時,對于接入離散事件網絡模擬器的真實軟件,判斷所述真實軟件的定時器是否超時。
2.根據權利要求1所述的離散事件網絡模擬環境的時鐘同步方法,其特征在于,所述步驟1)包括下列子步驟:
11)網絡模擬器時鐘發生跳躍后,向用戶態監聽程序發送更新虛擬時鐘滴答的請求,該請求中攜帶網絡模擬器當前的時鐘信息;
12)用戶態監聽程序在收到更新虛擬時鐘滴答的請求后,解析所要更新的虛擬時鐘滴答計數值;
13)向內核態程序發送更新虛擬時鐘滴答請求,該請求中攜帶所解析的要更新的虛擬時鐘滴答計數值。
3.根據權利要求2所述的離散事件網絡模擬環境的時鐘同步方法,其特征在于,所述步驟11)中,網絡模擬器到用戶態程序的命令傳輸采用網絡套接字、內存共享或者proc文件系統的方式實現。
4.根據權利要求2所述的離散事件網絡模擬環境的時鐘同步方法,其特征在于,所述步驟13)中,用戶態程序到內核態程序的命令傳輸Netlink原始套接字、內存共享或者proc文件系統的方式實現。
5.根據權利要求1所述的離散事件網絡模擬環境的時鐘同步方法,其特征在于,所述步驟2)包括下列子步驟:
21)內核態程序收到更新虛擬時鐘滴答請求后,更新當前虛擬時鐘滴答值為所述目標計數值,啟動虛擬時鐘滴答補齊程序;
22)虛擬時鐘滴答補齊程序逐個補齊更新前和更新后的兩個虛擬時鐘滴答計數值之間的所有虛擬時鐘滴答,并為每一個補齊的虛擬時鐘滴答處理定時器事件。
6.根據權利要求1所述的離散事件網絡模擬環境的時鐘同步方法,其特征在于,所述虛擬時鐘滴答的創建過程包括下列步驟:
101)在Linux內核中創建記錄虛擬時鐘滴答的整型變量,用以模擬系統內核中的真實時鐘滴答;
102)設置虛擬時鐘滴答變量的標識,使得系統能夠識別獨立于真實時鐘滴答的虛擬時鐘滴答;
103)設置能夠對虛擬時鐘滴答變量進行修改的系統調用模塊。
7.根據權利要求1所述的離散事件網絡模擬環境的時鐘同步方法,其特征在于,對真實軟件的調用內核的進程進行標記,從而區分出哪些真實軟件是所述接入離散事件網絡模擬器的真實軟件。
8.根據權利要求7所述的離散事件網絡模擬環境的時鐘同步方法,其特征在于,對真實軟件的調用內核的進程進行標記的過程包括下列步驟:
401)創建兩個哈希數組,第一哈希數組用于保存沒有運行在模擬網絡環境的進程號碼,第二哈希數組用于保存運行在網絡模擬環境的進程號碼;
402)通過內核運行過程中的內部變量獲取調用內核的進程名稱,用于區別標識該進程的運行狀態;
403)判斷所有運行于操作系統的進程名稱,如果該進程名稱符合給定的運行于所述離散事件網絡模擬器的正則表達式,表示該進程運行在模擬網絡環境中,否則表示該進程未運行在模擬網絡環境中;
404)將步驟403)中運行在模擬網絡環境的進程所匹配的進程號保存到第一哈希數組中,將未運行在模擬網絡環境的進程所匹配的進程號保存到第二哈希數組中;
405)當一個進程退出系統時,通過哈希函數計算該進程所對應進程號所在的哈希數組的位置,并則將其刪除。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210051468.4/1.html,轉載請聲明來源鉆瓜專利網。





