專利名稱:共享處理器和網(wǎng)絡(luò)接口的多個(gè)操作系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及從被設(shè)置為運(yùn)行多個(gè)操作系統(tǒng)的計(jì)算機(jī)連接網(wǎng)絡(luò)。在常規(guī)的計(jì)算機(jī)中,設(shè)置有網(wǎng)絡(luò)接口卡(NIC),其將計(jì)算機(jī)連接到網(wǎng)絡(luò)。NIC被設(shè)置為根據(jù)網(wǎng)絡(luò)協(xié)議在網(wǎng)絡(luò)上傳送數(shù)據(jù);例如,其可以是以太網(wǎng)網(wǎng)絡(luò)接口卡。計(jì)算機(jī)在網(wǎng)絡(luò)上具有物理地址(MAC地址)。
背景技術(shù):
計(jì)算機(jī)運(yùn)行提供應(yīng)用程序接口(API)的操作系統(tǒng),該應(yīng)用程序接口(API)使得應(yīng)用程序可以使用計(jì)算機(jī)的資源(包括NIC)。為此,操作系統(tǒng)提供直接控制特定計(jì)算機(jī)平臺(tái)的資源的驅(qū)動(dòng)器例程(通常為獨(dú)立的程序)。很多操作系統(tǒng)提供使用網(wǎng)際協(xié)議(“IP”)來(lái)進(jìn)行通信的例程(即,IP堆棧)。使用網(wǎng)際協(xié)議使得計(jì)算機(jī)可以通過(guò)多個(gè)網(wǎng)絡(luò)來(lái)進(jìn)行通信。為計(jì)算機(jī)分配IP地址,IP地址是不同于物理MAC地址的邏輯地址。
最著名的操作系統(tǒng)(例如,Microsoft WindowsTM和LinuxTM)是適用于在寬范圍的平臺(tái)(具有適當(dāng)?shù)尿?qū)動(dòng)器程序)上運(yùn)行寬范圍的應(yīng)用程序的“通用”操作系統(tǒng)。此外,這種操作系統(tǒng)通常提供多任務(wù);換言之,它們?cè)试S幾個(gè)應(yīng)用程序并行運(yùn)行。為此,這種操作系統(tǒng)提供調(diào)度;換言之,它們根據(jù)調(diào)度算法為各個(gè)應(yīng)用程序分配時(shí)間,在不同的應(yīng)用程序之間共享計(jì)算機(jī)資源的使用。
這種操作系統(tǒng)得到廣泛應(yīng)用,并因此具有被編寫(xiě)為在該操作系統(tǒng)上運(yùn)行的、用戶可以從中進(jìn)行選擇的大應(yīng)用程序庫(kù)。因此這種操作系統(tǒng)是大多數(shù)應(yīng)用程序的首選。
然而,對(duì)于某些應(yīng)用程序,程序中的步驟在規(guī)定時(shí)間段內(nèi)或在規(guī)定時(shí)間執(zhí)行是非常關(guān)鍵的。這種程序的示例為用于操縱移動(dòng)電話或者用于操縱專用小交換機(jī)(PBX)或蜂窩基站的控制程序。通常,該程序必須在外部事件或狀態(tài)變化內(nèi)的特定時(shí)刻或者特定時(shí)間內(nèi)以一貫的方式對(duì)事件作出響應(yīng)。這稱為“實(shí)時(shí)”操作。通用的操作系統(tǒng)不適用于實(shí)時(shí)操作,也不能修改為進(jìn)行該操作。
因此,為了這種任務(wù),已經(jīng)開(kāi)發(fā)了實(shí)時(shí)操作系統(tǒng);一個(gè)示例是ChorusOS(也稱為Chorus)及其衍生物。作為開(kāi)放源碼軟件,Chorus可以從http//www.experimentalstuff.com/Technologies/ChorusOS/index.html獲得,Jaluna可以在http//www.jaluna.com/獲得。
在2001年8月的222頁(yè)的“ChorusOS Features and Architectureoverview”,F(xiàn)rancois Armand,Sun Technical Report(可以從http//www.jaluna.com/developer/papers/COSDESPERF.pdf獲得)中對(duì)其進(jìn)行了描述。
這些操作系統(tǒng)也可以用于運(yùn)行其他類型的程序。然而,可以理解,用戶希望能夠運(yùn)行為諸如Windows或Linux的通用操作系統(tǒng)而編寫(xiě)的大量“傳統(tǒng)”程序,而不必為了在實(shí)時(shí)操作系統(tǒng)中運(yùn)行而重寫(xiě)這些程序。
在US 5903752和US 5721206中,試圖通過(guò)在非實(shí)時(shí)操作系統(tǒng)(例如Windows)的中斷處理環(huán)境中提供實(shí)時(shí)多任務(wù)內(nèi)核來(lái)將實(shí)時(shí)環(huán)境并入非實(shí)時(shí)操作系統(tǒng)中。
當(dāng)試圖使用通用操作系統(tǒng)來(lái)進(jìn)行實(shí)時(shí)流數(shù)據(jù)(例如,音頻流或視頻流,或者基于因特網(wǎng)的語(yǔ)音(VoIP)數(shù)據(jù))的通信時(shí),結(jié)果通常是不能令人滿意的;首先,因?yàn)槿绻嬖诓僮飨到y(tǒng)必須執(zhí)行的其他任務(wù),則操作系統(tǒng)可能完全不能足夠快地進(jìn)行操作,其次,因?yàn)槿绻{(diào)度執(zhí)行另一任務(wù),則調(diào)度器可能意外地拒絕IP堆棧處理器資源,導(dǎo)致短時(shí)數(shù)據(jù)丟失。
已經(jīng)進(jìn)行了一些努力來(lái)解決這一問(wèn)題,以提供對(duì)Linux的實(shí)時(shí)擴(kuò)展。一個(gè)方案是US 5995745(Yodaiken)或http//www.fsmlabs.com中描述的RT Linux。另一方案是RTAI(Linux的實(shí)時(shí)應(yīng)用程序接口),對(duì)此參見(jiàn)http//www.aero.polimi.it/~rtai/applications/或者h(yuǎn)ttp//www.opensource.lineo.com/rtai.html應(yīng)當(dāng)理解,RT Linux和RTAI都可以被構(gòu)成為通過(guò)使用RT NET程序來(lái)提供IP協(xié)議堆棧,對(duì)此參見(jiàn)http//www.rts.uni-hannover.de/rtnet/。
近來(lái),已經(jīng)提出了用于提供“多個(gè)性”系統(tǒng)(即,其中在同一處理器上并行運(yùn)行兩個(gè)或更多個(gè)不同操作系統(tǒng)的系統(tǒng))的方案。一個(gè)是http//opersys.com/ftp/pub/Adeos/adeos.pdf的白皮書(shū)中(以及在http//opersys.com/adeos的其他文件中)描述的ADEOS(操作系統(tǒng)的自適應(yīng)域環(huán)境)。另一個(gè)是我們于2003年4月9日提交的在先歐洲申請(qǐng)EP03290894.9中描述的Jaluna 2,在此通過(guò)引用并入其全部?jī)?nèi)容。
EP 1054332示出了具有實(shí)時(shí)操作系統(tǒng)和通用操作系統(tǒng)并且在兩者之間進(jìn)行切換的計(jì)算機(jī)系統(tǒng),其中在這些操作系統(tǒng)之間共享外圍裝置。EP1059582描述了運(yùn)行實(shí)時(shí)操作系統(tǒng)和通用操作系統(tǒng)的虛擬機(jī)系統(tǒng)。
US 6330616描述了包括多個(gè)邏輯分區(qū)和到網(wǎng)絡(luò)的端口的主機(jī)數(shù)據(jù)處理系統(tǒng)。多個(gè)不同的TCP/IP堆棧(各自由不同分區(qū)中的軟件來(lái)控制,所述軟件可以是各分區(qū)中的獨(dú)立操作系統(tǒng))可以訪問(wèn)該端口。操作系統(tǒng)和TCP/IP堆棧完全獨(dú)立地運(yùn)行,并且各堆棧具有其自有的唯一的IP地址。
發(fā)明內(nèi)容
本發(fā)明的目的是提供改進(jìn)的網(wǎng)絡(luò)通信。一方面,本發(fā)明包括根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)、根據(jù)權(quán)利要求18所述的方法、或者根據(jù)權(quán)利要求19所述的用于提供執(zhí)行該方法的代碼的計(jì)算機(jī)程序產(chǎn)品。
盡管該解決方案可能初看起來(lái)效率低下,但是由于在運(yùn)行多個(gè)并行操作系統(tǒng)時(shí)不可避免地將存在一些處理器開(kāi)銷(overhead),因此選擇適當(dāng)?shù)牟僮飨到y(tǒng)可以提高操作效率例如,第一操作系統(tǒng)可以是實(shí)時(shí)操作系統(tǒng),其可以支持用于時(shí)間關(guān)鍵(time-critical)通信(例如流數(shù)據(jù)通信)的代碼,第二操作系統(tǒng)可以是通用操作系統(tǒng),其可以被允許傳送諸如信令或監(jiān)視數(shù)據(jù)的非時(shí)間關(guān)鍵數(shù)據(jù)。在該示例中,第一(實(shí)時(shí))操作系統(tǒng)自然被設(shè)計(jì)為保證確定性并且對(duì)于流數(shù)據(jù)傳輸比通用系統(tǒng)提供更高的性能。
由此,通過(guò)提供共享對(duì)網(wǎng)絡(luò)的訪問(wèn)的多個(gè)并行運(yùn)行的操作系統(tǒng)、這些不同操作系統(tǒng)共享公共邏輯地址,可以共同地管理兩個(gè)操作系統(tǒng)來(lái)使用相同的公共的參數(shù)組,然而可以將通信中涉及的行為指派給它們尤其適合的不同操作系統(tǒng)。
另一方面,本發(fā)明使用基于網(wǎng)際協(xié)議的語(yǔ)音通信的環(huán)境中的這種靈活性,但是使用實(shí)時(shí)操作系統(tǒng)來(lái)傳送語(yǔ)音數(shù)據(jù)(例如,使用具有小分組的用戶數(shù)據(jù)報(bào)協(xié)議(UDP/IP)傳輸)、并使用通用操作系統(tǒng)來(lái)提供呼叫建立及切斷信令和/或呼叫計(jì)費(fèi)信令。因此,實(shí)時(shí)操作系統(tǒng)可以保證不中斷語(yǔ)音通信所必需的最低性能,同時(shí)通用操作系統(tǒng)可以在實(shí)時(shí)操作系統(tǒng)不需要網(wǎng)絡(luò)接口卡時(shí)按不同的更可靠的協(xié)議(例如TCP/IP)來(lái)進(jìn)行通信。
優(yōu)選地,在任一種情況下,實(shí)時(shí)操作系統(tǒng)被賦予對(duì)NIC的訪問(wèn)優(yōu)先權(quán)。對(duì)于輸入數(shù)據(jù),實(shí)時(shí)操作系統(tǒng)優(yōu)選地對(duì)全部接收到的數(shù)據(jù)分組進(jìn)行過(guò)濾,并將并非唯一地旨在用于實(shí)時(shí)操作系統(tǒng)上運(yùn)行的應(yīng)用程序的全部數(shù)據(jù)分組傳送給通用操作系統(tǒng)。由此,在處理時(shí)間關(guān)鍵分組時(shí)不存在延遲。對(duì)于輸出數(shù)據(jù),優(yōu)選地,將優(yōu)先權(quán)賦予來(lái)自實(shí)時(shí)操作系統(tǒng)的數(shù)據(jù)。
根據(jù)以下說(shuō)明和權(quán)利要求,本發(fā)明的其他方面、特征、實(shí)施例和優(yōu)點(diǎn)將變得顯而易見(jiàn)。
現(xiàn)在參照附圖,僅通過(guò)示例的方式來(lái)示出本發(fā)明的實(shí)施例,在附圖中圖1是示出其中可以實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)系統(tǒng)的框圖;圖2是示出第一實(shí)施例中存在的操作系統(tǒng)和主要部件的圖;圖3是更詳細(xì)地示出第一實(shí)施例中的參與網(wǎng)絡(luò)通信的軟件部件的圖;圖4a是示出已知的IP分組結(jié)構(gòu)的圖;圖4b是示出已知的UDP數(shù)據(jù)報(bào)結(jié)構(gòu)的圖;圖5是示出啟動(dòng)操作系統(tǒng)時(shí)執(zhí)行的處理的流程圖;圖6是示出在一個(gè)操作系統(tǒng)下(按已知方式)啟動(dòng)應(yīng)用程序時(shí)執(zhí)行的處理的流程圖;圖7a、7b和7c是示出通用操作系統(tǒng)執(zhí)行的處理的流程圖;并且圖8a、8b和8c是示出實(shí)時(shí)操作系統(tǒng)執(zhí)行的對(duì)應(yīng)處理的流程圖;
圖9是示出根據(jù)本發(fā)明第二實(shí)施例的基于IP的語(yǔ)音(VoIP)網(wǎng)絡(luò)的框圖;以及圖10是示出實(shí)現(xiàn)第二實(shí)施例的IP網(wǎng)絡(luò)的計(jì)算機(jī)中存在的軟件部件的圖。
具體實(shí)施例方式
系統(tǒng)硬件本系統(tǒng)適用的計(jì)算機(jī)系統(tǒng)100包括中央處理單元(CPU)102,例如可以從Intel公司獲得的Pentium 4TMCPU,或者可以從Motorola獲得的PowerPC CPU(本實(shí)施例在這兩者上都已獲得實(shí)現(xiàn)),經(jīng)由系統(tǒng)總線104(包括控制總線、數(shù)據(jù)總線和地址總線)將中央處理單元102連接到只讀存儲(chǔ)器(ROM)芯片106、一組或更多組隨機(jī)存取存儲(chǔ)器(RAM)芯片(108)、盤控制器裝置110(例如,與軟盤驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、以及諸如DVD驅(qū)動(dòng)器的附加可移動(dòng)介質(zhì)驅(qū)動(dòng)器相連接的IDE或SCSI控制器)、一個(gè)或更多個(gè)輸入/輸出端口(112)(例如,一個(gè)或更多個(gè)USB端口控制器,以及/或者用于連接到打印機(jī)等的并行端口控制器)、用于總線連接到外部外圍裝置或內(nèi)部外圍裝置的擴(kuò)展總線114(例如,PCI總線)、以及其他系統(tǒng)芯片116(例如,圖形和聲音裝置)。還設(shè)置有網(wǎng)絡(luò)接口卡(NIC)118,用于經(jīng)由網(wǎng)絡(luò)(例如因特網(wǎng))傳送數(shù)據(jù)。
這種類型的計(jì)算機(jī)的示例為個(gè)人計(jì)算機(jī)(PC)和工作站。然而,本文還公開(kāi)了本發(fā)明應(yīng)用于諸如主機(jī)、控制系統(tǒng)中的嵌入式微機(jī)、以及PDA(在這種情況下可以省略諸如盤驅(qū)動(dòng)控制器的某些專用裝置)的其他計(jì)算機(jī)裝置的情況。
計(jì)算機(jī)系統(tǒng)被設(shè)置為經(jīng)由NIC連接到的網(wǎng)絡(luò)以及其他網(wǎng)絡(luò)(總體上包括因特網(wǎng))來(lái)與另一計(jì)算機(jī)系統(tǒng)(其可以實(shí)現(xiàn)本發(fā)明或者可以不實(shí)現(xiàn)本發(fā)明)傳送數(shù)據(jù)。為了進(jìn)一步討論,將這些網(wǎng)絡(luò)統(tǒng)稱為因特網(wǎng)。
參照?qǐng)D3,本發(fā)明被設(shè)置為運(yùn)行包括以下部件的軟件·第一操作系統(tǒng)內(nèi)核201,包括實(shí)時(shí)操作系統(tǒng)內(nèi)核,例如C5操作系統(tǒng)(Jaluna-1的實(shí)時(shí)微內(nèi)核,第五代ChorusOS系統(tǒng)的開(kāi)放源碼版,可以從http//www.jaluna.com作為開(kāi)放源碼免費(fèi)下載而獲得)。
·通用操作系統(tǒng)內(nèi)核202,其可以是Linux內(nèi)核版本2.4.20。按照我們前面引用的在先歐洲專利申請(qǐng)03290894.9中描述的方式略微修改所述內(nèi)核以使得可以并行執(zhí)行。
·硬件資源調(diào)度器400,其本身不是操作系統(tǒng),但被設(shè)置為加載并啟動(dòng)多個(gè)操作系統(tǒng)201、202中的每一個(gè)并向其分配資源,并且調(diào)度這些操作系統(tǒng)的運(yùn)行(即,在它們之間分割CPU時(shí)間),并在它們之間提供操作系統(tǒng)間通信鏈路以使得在不同操作系統(tǒng)上運(yùn)行的應(yīng)用程序可以彼此通信(并使得操作系統(tǒng)可以彼此通信)。再一次地,在我們前面引用的在先歐洲專利申請(qǐng)03290894.9中給出了全部的細(xì)節(jié),在此通過(guò)引用并入其全部?jī)?nèi)容。
各操作系統(tǒng)提供連接網(wǎng)絡(luò)的“中間件”軟件。在該實(shí)施例中,實(shí)時(shí)操作系統(tǒng)201提供網(wǎng)際協(xié)議(IP)堆棧、以及用于操縱用戶數(shù)據(jù)報(bào)協(xié)議(UDP/IP)的協(xié)議和用于在UDP/IP堆棧之上運(yùn)行的RTP/RTCP數(shù)據(jù)通信協(xié)議。在本實(shí)施例中,UDP/IP堆棧優(yōu)選為按小分組尺寸進(jìn)行操作以提供有保證的等待時(shí)間(即,最大延遲)和帶寬。
通用操作系統(tǒng)202提供IP堆棧206、以及UDP/IP協(xié)議、傳輸控制協(xié)議(TCP/IP)、超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議(FTP)等。
通用操作系統(tǒng)提供操作系統(tǒng)用戶接口或展示層204(例如XWindows)。
最后,各個(gè)操作系統(tǒng)支持一個(gè)或更多個(gè)應(yīng)用程序207、208a、208b……。這些應(yīng)用程序通過(guò)它們正通過(guò)其操作的操作系統(tǒng)提供的應(yīng)用程序接口(API)來(lái)使用計(jì)算機(jī)資源。操作系統(tǒng)按照我們前面引用的在先歐洲申請(qǐng)03290894.9中描述的方式訪問(wèn)硬件資源。具體地,對(duì)于操作系統(tǒng)排他訪問(wèn)的裝置,它們使用各個(gè)操作系統(tǒng)的本地裝置驅(qū)動(dòng)器程序,并且,對(duì)于必須共享的裝置,它們使用實(shí)時(shí)操作系統(tǒng)201的本地驅(qū)動(dòng)器程序。
由此,通過(guò)硬件資源調(diào)度器400來(lái)為各操作系統(tǒng)201、202分配一些CPU時(shí)間,在該時(shí)間內(nèi),各操作系統(tǒng)在其運(yùn)行的應(yīng)用程序的線程之間分配時(shí)間。
參照?qǐng)D3,在本發(fā)明中,實(shí)時(shí)操作系統(tǒng)201為NIC提供驅(qū)動(dòng)器程序252。驅(qū)動(dòng)器程序?qū)?shù)據(jù)從NIC傳送到操作系統(tǒng)201,并將數(shù)據(jù)從操作系統(tǒng)201傳送到NIC 118。盡管通用操作系統(tǒng)202通常具有NIC驅(qū)動(dòng)器程序,但在這種情況下該NIC驅(qū)動(dòng)器程序由代理驅(qū)動(dòng)器程序254來(lái)替代(如在我們前面引用的歐洲申請(qǐng)中所述),所述代理驅(qū)動(dòng)器程序254不與NIC進(jìn)行通信,而是與在實(shí)時(shí)操作系統(tǒng)201上運(yùn)行的另一代理程序256進(jìn)行通信。
使用由一個(gè)操作系統(tǒng)向其寫(xiě)入并由另一操作系統(tǒng)從其讀取的共享存儲(chǔ)空間,這兩個(gè)操作系統(tǒng)經(jīng)由操作系統(tǒng)間通信總線260來(lái)進(jìn)行通信,如在我們前面引用的在先歐洲專利申請(qǐng)中所公開(kāi)的那樣。
由此,當(dāng)實(shí)時(shí)操作系統(tǒng)上運(yùn)行的應(yīng)用程序需要進(jìn)行通信時(shí),它們通過(guò)NIC驅(qū)動(dòng)器程序252來(lái)進(jìn)行通信。當(dāng)通用操作系統(tǒng)上運(yùn)行的應(yīng)用程序希望進(jìn)行通信時(shí),它們通過(guò)將數(shù)據(jù)經(jīng)通用操作系統(tǒng)代理254傳送到實(shí)時(shí)操作系統(tǒng)代理256以由實(shí)時(shí)操作系統(tǒng)NIC驅(qū)動(dòng)器252進(jìn)行處理,從而進(jìn)行通信。在相反方向,在通用操作系統(tǒng)上運(yùn)行的應(yīng)用程序經(jīng)由NIC驅(qū)動(dòng)器252、實(shí)時(shí)操作系統(tǒng)協(xié)議堆棧205、以及代理256、254來(lái)接收其數(shù)據(jù),而不是直接從NIC卡接收數(shù)據(jù)。
在兩個(gè)代理驅(qū)動(dòng)器254、256之間開(kāi)有三個(gè)單工數(shù)據(jù)通信通道1-數(shù)據(jù)輸出通道,用于從實(shí)時(shí)UDP/IP堆棧轉(zhuǎn)發(fā)輸入數(shù)據(jù)分組,2-數(shù)據(jù)輸入通道,用于從通用操作系統(tǒng)接收輸出分組,3-控制輸入通道,用于接收通用操作系統(tǒng)發(fā)出的與NIC相關(guān)的輸入/輸出控制請(qǐng)求。由此,用戶通過(guò)通用操作系統(tǒng)202指示的對(duì)網(wǎng)絡(luò)接口配置的任何改變傳送到實(shí)時(shí)操作系統(tǒng)201,之后實(shí)時(shí)操作系統(tǒng)201根據(jù)更新后的網(wǎng)絡(luò)參數(shù)進(jìn)行操作。例如,可以使用Linux IFCONFIG命令來(lái)改變各種網(wǎng)絡(luò)參數(shù);這樣的效果是兩個(gè)操作系統(tǒng)都繼續(xù)使用相同的公共參數(shù)組。因此,在其他事件中,對(duì)NIC的實(shí)時(shí)操作系統(tǒng)和通用操作系統(tǒng)示例都分配相同的物理(MAC)地址和IP地址。
為此,在本實(shí)施例中,通用代理254“探測(cè)”操作系統(tǒng)202進(jìn)行的全部I/O控制呼叫,并將對(duì)應(yīng)的消息發(fā)送給實(shí)時(shí)代理256。
在本實(shí)施例中,通用代理254方便地實(shí)現(xiàn)Linux以太網(wǎng)驅(qū)動(dòng)器因特網(wǎng)接口,因此其具有與網(wǎng)絡(luò)Linux以太網(wǎng)裝置相同的接口,并且操作系統(tǒng)202可以將其作為網(wǎng)絡(luò)Linux以太網(wǎng)裝置來(lái)處理。
實(shí)時(shí)操作系統(tǒng)201進(jìn)一步設(shè)置有發(fā)送調(diào)度器258。發(fā)送調(diào)度器258的功能是確定經(jīng)由NIC驅(qū)動(dòng)器252發(fā)送來(lái)自通用操作系統(tǒng)的哪些數(shù)據(jù),或者更一般地說(shuō),在兩個(gè)操作系統(tǒng)之間分配發(fā)送容量。
調(diào)度器將來(lái)自實(shí)時(shí)UDP/IP堆棧的分組處理為具有高優(yōu)先級(jí),而將來(lái)自通用操作系統(tǒng)(經(jīng)由代理驅(qū)動(dòng)器254、256)的分組處理為具有低優(yōu)先級(jí)。在本實(shí)施例中,如果來(lái)自實(shí)時(shí)操作系統(tǒng)的分組在等待發(fā)送,則調(diào)度器不發(fā)送來(lái)自通用操作系統(tǒng)的任何分組;相反,將等待發(fā)送的分組排隊(duì)以在可能時(shí)進(jìn)行后續(xù)發(fā)送。
圖4a示出了IP分組的結(jié)構(gòu)。IP分組具有頭部302和數(shù)據(jù)部304。圖4b示出了UDP數(shù)據(jù)報(bào)的結(jié)構(gòu)。其占據(jù)分組的數(shù)據(jù)部304,并包括頭部306和數(shù)據(jù)308。通過(guò)IP地址和端口號(hào)來(lái)對(duì)分組定址。NIC接收具有相關(guān)IP地址的分組,NIC驅(qū)動(dòng)器252將這些分組轉(zhuǎn)發(fā)到實(shí)時(shí)UDP/IP堆棧205。操作系統(tǒng)201、202中的每一個(gè)為使用IP堆棧205、206的各應(yīng)用程序分配端口號(hào)。為此,各操作系統(tǒng)具有其可以分配的端口號(hào)的列表。兩個(gè)端口號(hào)列表是互斥的。在本實(shí)施例中,它們是統(tǒng)計(jì)分配的;即,各操作系統(tǒng)永遠(yuǎn)被分配其自身的端口列表。
NIC 118接收各種類型的IP分組。這些IP分組包括廣播分組(其旨在用于網(wǎng)絡(luò)中的全部計(jì)算機(jī)并由網(wǎng)絡(luò)中的全部計(jì)算機(jī)接收)和定址到計(jì)算機(jī)100的分組。后者包括旨在用于實(shí)時(shí)操作系統(tǒng)上運(yùn)行的應(yīng)用程序的UDP數(shù)據(jù)報(bào)(通過(guò)具有該操作系統(tǒng)分配的端口號(hào)來(lái)識(shí)別)以及具有表示其旨在用于通用操作系統(tǒng)202上運(yùn)行的應(yīng)用程序的端口號(hào)的UDP、TCP或其他分組。
實(shí)時(shí)UDP/IP堆棧205被設(shè)置為處理旨在用于其應(yīng)用程序的分組,并且將有效負(fù)載數(shù)據(jù)提供給相關(guān)的應(yīng)用程序。在實(shí)時(shí)UDP/IP堆棧205遇到具有表示其屬于通用操作系統(tǒng)202的端口地址的分組的情況下,其將該分組經(jīng)由代理256、254轉(zhuǎn)發(fā)給通用操作系統(tǒng)202的TCP/IP堆棧,通用操作系統(tǒng)202的TCP/IP堆棧將該分組的有效負(fù)載路由到與所述端口對(duì)應(yīng)的應(yīng)用程序。
存在包含與兩個(gè)操作系統(tǒng)的IP堆棧相關(guān)的信息的分組。例如,兩個(gè)操作系統(tǒng)都讀取包含與給定IP地址對(duì)應(yīng)的物理地址的ARP應(yīng)答數(shù)據(jù)報(bào)分組是適宜的。這樣,各操作系統(tǒng)可以保持用于對(duì)將來(lái)的分組進(jìn)行定址的地址表。
已經(jīng)描述了本實(shí)施例的軟件部件,現(xiàn)在公開(kāi)本實(shí)施例的操作。
圖5示出了在計(jì)算機(jī)系統(tǒng)通電、重啟、重置或重舉時(shí)執(zhí)行的處理。在步驟402,如在我們前面引用的在先歐洲專利申請(qǐng)中所述,加載并啟動(dòng)操作系統(tǒng)。在步驟404,也如其中所述,分配各種系統(tǒng)資源。這些資源中包括各操作系統(tǒng)的IP端口的子集。
與各端口相關(guān)聯(lián)的是包括發(fā)送隊(duì)列和接收隊(duì)列的套接字(socket)。將應(yīng)用程序產(chǎn)生的待發(fā)送分組保持在發(fā)送隊(duì)列中,并將為應(yīng)用程序接收的分組傳送到接收隊(duì)列。
在本實(shí)施例中,首先將預(yù)定的端口列表提供給實(shí)時(shí)操作系統(tǒng)201,然后其次,在第二操作系統(tǒng)下,為這些端口中的每一個(gè)分配虛擬的或偽的套接字。由此,通用操作系統(tǒng)就像已經(jīng)分配了端口一樣處理端口,并且不將這些端口分配給其運(yùn)行的任何應(yīng)用程序。因此第二操作系統(tǒng)可以分配的端口子集對(duì)應(yīng)于除了已經(jīng)分配給實(shí)時(shí)操作系統(tǒng)的端口之外的可獲得的端口總數(shù)。
參照?qǐng)D6,啟動(dòng)在一個(gè)操作系統(tǒng)下運(yùn)行的應(yīng)用程序時(shí)執(zhí)行的處理概述如下。加載應(yīng)用程序。在應(yīng)用程序需要通信的情況下,如使用常規(guī)操作系統(tǒng)那樣,在步驟406啟動(dòng)IP堆棧(如果IP堆棧尚未運(yùn)行的話)。在步驟408,相關(guān)的操作系統(tǒng)向應(yīng)用程序分配一個(gè)或更多個(gè)端口地址。除了所分配的端口是從上述步驟404中在啟動(dòng)時(shí)提供給該操作系統(tǒng)的子集中取出的之外,該處理與在常規(guī)操作系統(tǒng)中一樣。然后像在常規(guī)操作系統(tǒng)中那樣啟動(dòng)應(yīng)用程序(步驟410)。
當(dāng)關(guān)閉應(yīng)用程序時(shí),如果有必要?jiǎng)t釋放所使用的端口以用于后續(xù)重新分配。
現(xiàn)在將公開(kāi)本實(shí)施例在通信期間的操作。通用操作系統(tǒng)202的操作本質(zhì)上是常規(guī)的,因此僅參照?qǐng)D7(包括圖7a、7b和7c)簡(jiǎn)要地對(duì)其進(jìn)行公開(kāi)。
圖7a示出了與將分組發(fā)送給連接到網(wǎng)絡(luò)的主機(jī)相關(guān)聯(lián)的步驟。在步驟452,網(wǎng)絡(luò)堆棧選擇(例如,在多個(gè)應(yīng)用程序之間按復(fù)用方式來(lái)選擇)由操作系統(tǒng)上運(yùn)行的一個(gè)應(yīng)用程序208所產(chǎn)生的IP分組或幀。在步驟454,網(wǎng)絡(luò)堆棧將分組轉(zhuǎn)發(fā)給網(wǎng)絡(luò)接口代理驅(qū)動(dòng)器程序254,網(wǎng)絡(luò)接口代理驅(qū)動(dòng)器程序254在步驟455中將分組提供給實(shí)時(shí)代理驅(qū)動(dòng)器程序256。在下文中將參照?qǐng)D8來(lái)說(shuō)明實(shí)時(shí)操作系統(tǒng)執(zhí)行的進(jìn)一步處理。
圖7b示出了與從連接到網(wǎng)絡(luò)的主機(jī)接收分組相關(guān)聯(lián)的步驟。在步驟456,通用堆棧從NIC代理驅(qū)動(dòng)器254讀取保持在其中的所接收分組,在步驟458,將該分組傳送給與該分組相關(guān)聯(lián)的應(yīng)用程序的套接字。在下文中將參照?qǐng)D8來(lái)說(shuō)明實(shí)時(shí)操作系統(tǒng)執(zhí)行的進(jìn)一步處理。
圖7c示出了與對(duì)NIC進(jìn)行配置相關(guān)聯(lián)的步驟。在步驟460,讀取在控制臺(tái)(console)輸入的網(wǎng)絡(luò)接口配置命令,在步驟462,將用于重新配置NIC的對(duì)應(yīng)指令傳送到NIC代理驅(qū)動(dòng)器程序254。在下文中將參照?qǐng)D8來(lái)說(shuō)明實(shí)時(shí)操作系統(tǒng)執(zhí)行的進(jìn)一步處理。
現(xiàn)在參照?qǐng)D8(包括圖8a、8b和8c)來(lái)說(shuō)明實(shí)時(shí)操作系統(tǒng)的對(duì)應(yīng)操作。
圖8a示出了與將分組發(fā)送給連接到網(wǎng)絡(luò)的主機(jī)相關(guān)聯(lián)的步驟。實(shí)時(shí)UDP/IP堆棧檢測(cè)是否存在來(lái)自其正在運(yùn)行的任何應(yīng)用程序的分組(UDP數(shù)據(jù)報(bào))(步驟472)。堆棧將該分組傳送到NIC驅(qū)動(dòng)器252(步驟478)。在步驟476,調(diào)度器258從NIC代理256讀取全部等待分組(如以上關(guān)于圖7所述,所述等待分組是從通用操作系統(tǒng)接收到的)。在步驟478中,將全部這種分組傳送到NIC驅(qū)動(dòng)器252以發(fā)送到網(wǎng)絡(luò)。
圖8b示出了與從網(wǎng)絡(luò)接收分組相關(guān)聯(lián)的步驟。一旦從網(wǎng)絡(luò)接收到幀,NIC就觸發(fā)使得CPU執(zhí)行實(shí)時(shí)系統(tǒng)中的NIC驅(qū)動(dòng)器的中斷處理器(Interrupt Handler)的中斷。繼而,中斷處理器喚醒實(shí)時(shí)系統(tǒng)的專用于接收輸入網(wǎng)絡(luò)幀的特定輸入線程。該輸入線程讀取接收到的各幀并根據(jù)其類型和/或其目的地來(lái)傳遞各幀。如果該幀是目的地端口為初始對(duì)實(shí)時(shí)操作系統(tǒng)保留的UDP端口之一的UDP/IP分組,則立即將該分組排隊(duì)在綁定于該UDP端口的套接字之后。
參照?qǐng)D8b,在步驟486中,線程從NIC驅(qū)動(dòng)器252讀取分組。在步驟488,其讀取分組類型,并且在該分組包括端口地址的情況下讀取該端口。
在步驟490中,實(shí)時(shí)操作系統(tǒng)確定分組的目的地。如果該幀是目的地端口地址為對(duì)實(shí)時(shí)操作系統(tǒng)保留的UDP端口之一的UDP/IP分組,則立即將該分組列隊(duì)于綁定于該UDP端口的套接字(步驟492)。
如果分組是實(shí)時(shí)操作系統(tǒng)和通用操作系統(tǒng)都感興趣的類型,則在將其提供給通用系統(tǒng)前由實(shí)時(shí)操作系統(tǒng)UDP/IP堆棧對(duì)其進(jìn)行處理(步驟494)。例如,分組可能是ARP應(yīng)答分組,攜帶有目的地主機(jī)的MAC地址和IP地址。在這種情況下,于是,在步驟494中實(shí)時(shí)操作系統(tǒng)使用該分組來(lái)更新其ARP表(即,所存儲(chǔ)的IP地址表),然后在步驟496中將該分組轉(zhuǎn)發(fā)給NIC代理驅(qū)動(dòng)器254以轉(zhuǎn)發(fā)給通用操作系統(tǒng)(通用操作系統(tǒng)隨后將執(zhí)行相同的ARP表更新任務(wù))。
將所有其他類型的輸入網(wǎng)絡(luò)幀直接提供給通用系統(tǒng)的NIC代理驅(qū)動(dòng)器,以由其網(wǎng)絡(luò)堆棧不同時(shí)地進(jìn)行處理(步驟496)。由此,例如,將具有非實(shí)時(shí)操作系統(tǒng)目的地端口的UDP分組、TCP分組、以及所有其他分組轉(zhuǎn)發(fā)給實(shí)時(shí)操作系統(tǒng)。
圖8c示出了與對(duì)NIC進(jìn)行配置相關(guān)聯(lián)的步驟。實(shí)時(shí)IP堆棧205檢查是否存在來(lái)自NIC代理256的新配置命令(步驟480),如果存在新配置命令,則讀取該命令(步驟482)并對(duì)NIC進(jìn)行配置(步驟484)。
第二實(shí)施例基于網(wǎng)際協(xié)議的語(yǔ)音現(xiàn)在將描述對(duì)基于網(wǎng)際協(xié)議的語(yǔ)音(VoIP)電話的具體應(yīng)用,其實(shí)現(xiàn)傳統(tǒng)電話網(wǎng)絡(luò)與IP網(wǎng)絡(luò)之間的網(wǎng)關(guān)或“軟交換”。
參照?qǐng)D9,在本實(shí)施例中,第一計(jì)算機(jī)(其根據(jù)本實(shí)施例進(jìn)行操作)902用作電話網(wǎng)絡(luò)910與IP網(wǎng)絡(luò)(或經(jīng)由因特網(wǎng)互連的網(wǎng)絡(luò)組)908之間的網(wǎng)關(guān)。其經(jīng)由網(wǎng)絡(luò)908與第二計(jì)算機(jī)904進(jìn)行通信,第二計(jì)算機(jī)904提供語(yǔ)音鏈路的另一端(它可以是運(yùn)行基于網(wǎng)際協(xié)議的語(yǔ)音軟件的個(gè)人計(jì)算機(jī),或另一網(wǎng)關(guān))。其還與VoIP服務(wù)供應(yīng)商的計(jì)費(fèi)計(jì)算機(jī)906進(jìn)行通信。
圖10示出了第一計(jì)算機(jī)902中存在的除第一實(shí)施例中所描述的部件以外的附加部件。
參照?qǐng)D10,對(duì)于各個(gè)雙工語(yǔ)音通道,設(shè)置有包括經(jīng)由處理器模塊930互連的VoIP模塊910和電話接口模塊914的電話通道系統(tǒng)。
電話接口模塊914取決于電話網(wǎng)絡(luò)910的特性。例如,對(duì)于數(shù)字電話,其按脈沖碼調(diào)制(PCM)格式來(lái)對(duì)語(yǔ)音信號(hào)進(jìn)行編碼和解碼;對(duì)于移動(dòng)電話網(wǎng)絡(luò),其按低比特率編碼格式進(jìn)行編碼和解碼;對(duì)于模擬電話網(wǎng)絡(luò),其包括模數(shù)轉(zhuǎn)換器(ADC)和數(shù)模轉(zhuǎn)換器(DAC)。
VoIP模塊910包括執(zhí)行RTP/RTCP(實(shí)時(shí)協(xié)議/實(shí)時(shí)控制協(xié)議)916的程序作為實(shí)時(shí)操作系統(tǒng)201上的應(yīng)用程序。作為實(shí)時(shí)操作系統(tǒng)IP堆棧的一部分的UDP/IP堆棧205(如上所述)將RTP/RTCP數(shù)據(jù)格式化為UDP數(shù)據(jù)報(bào)。
在電話接口914接收來(lái)自電話網(wǎng)絡(luò)910的語(yǔ)音數(shù)據(jù),處理器930將其轉(zhuǎn)換為RTP/RTCP格式,處理器930包括一個(gè)或更多個(gè)專用于轉(zhuǎn)換任務(wù)的DSP(數(shù)字信號(hào)處理)裝置。然后將經(jīng)碼轉(zhuǎn)換的數(shù)據(jù)作為UDP數(shù)據(jù)報(bào)從網(wǎng)關(guān)計(jì)算機(jī)902發(fā)送到IP網(wǎng)絡(luò)908,定址到第二計(jì)算機(jī)904的IP地址。
在返回方向,由處理器930對(duì)從IP網(wǎng)絡(luò)908接收到的定址到第一計(jì)算機(jī)902并具有VoIP模塊910的端口地址的UDP數(shù)據(jù)報(bào)進(jìn)行碼轉(zhuǎn)換,并且將其提供給電話接口914并從電話接口914提供給電話網(wǎng)絡(luò)910,從而提供返回通道。
控制引擎914包括運(yùn)行SIP(會(huì)話啟動(dòng)協(xié)議)、用于因特網(wǎng)電話的信令協(xié)議、事件通知以及其他通信的程序。它是在通用操作系統(tǒng)202上運(yùn)行并且通過(guò)通用操作系統(tǒng)TCP/IP堆棧206進(jìn)行操作的應(yīng)用程序??刂谱酉到y(tǒng)912被設(shè)置為通過(guò)經(jīng)IP網(wǎng)絡(luò)908向第二計(jì)算機(jī)904和計(jì)費(fèi)計(jì)算機(jī)906發(fā)送信號(hào)并從第二計(jì)算機(jī)904和計(jì)費(fèi)計(jì)算機(jī)906接收信號(hào)來(lái)建立與第二計(jì)算機(jī)904的呼叫會(huì)話。類似地,控制子系統(tǒng)912被設(shè)置為在呼叫結(jié)束時(shí)切斷呼叫。
在操作中,當(dāng)從電話網(wǎng)絡(luò)910開(kāi)始呼叫時(shí),SIP引擎920對(duì)來(lái)自電話網(wǎng)絡(luò)的信令信息進(jìn)行解碼并使用,以通過(guò)建立第二計(jì)算機(jī)的IP地址并將第一計(jì)算機(jī)的IP地址傳送給第二計(jì)算機(jī)并且將會(huì)話開(kāi)始通知給計(jì)費(fèi)計(jì)算機(jī)906從而建立對(duì)第二計(jì)算機(jī)的呼叫。
在呼叫期間,將來(lái)自電話網(wǎng)絡(luò)910的呼叫數(shù)據(jù)通過(guò)IP網(wǎng)絡(luò)908經(jīng)由接口914、910轉(zhuǎn)發(fā)給第二計(jì)算機(jī)904;并且將該呼叫數(shù)據(jù)沿反方向從第二計(jì)算機(jī)904提供給電話網(wǎng)絡(luò)910。在呼叫期間,控制子系統(tǒng)912監(jiān)視呼叫,并且可以將結(jié)果提供給通用操作系統(tǒng)202的用戶接口204并從用戶接口204接收網(wǎng)絡(luò)配置和其他控制輸入。
在呼叫結(jié)束時(shí),當(dāng)從任一端終止呼叫時(shí),控制子系統(tǒng)912對(duì)電話網(wǎng)絡(luò)910或第二計(jì)算機(jī)904(取決于從哪里終止呼叫)執(zhí)行切斷信令,并向計(jì)費(fèi)計(jì)算機(jī)906發(fā)送表示計(jì)費(fèi)參數(shù)(例如,呼叫的持續(xù)時(shí)間和目的地)的計(jì)費(fèi)消息。
呼叫通道的數(shù)量取決于呼叫的目的,因此設(shè)置在第一計(jì)算機(jī)902內(nèi)的VoIP模塊和電話接口模塊以及處理器的數(shù)量取決于呼叫的目的。其可以是提供單個(gè)通道的獨(dú)立的計(jì)算機(jī)電話集成(CTI)終端,或者提供少量通道的PBX,或者提供數(shù)百個(gè)通道或更多通道的網(wǎng)絡(luò)互連節(jié)點(diǎn)。
在本實(shí)施例中可以看出,通過(guò)使用實(shí)時(shí)操作系統(tǒng)連同大小有限制的UDP數(shù)據(jù)報(bào),可以提供高可靠、低延遲的電話連接。還可以在呼叫之前、呼叫期間、以及呼叫之后經(jīng)由通用操作系統(tǒng)來(lái)提供控制信令和計(jì)費(fèi)信令,由此能夠提供復(fù)雜的信令應(yīng)用程序和計(jì)費(fèi)功能,并使得通過(guò)用戶接口204容易地與用戶交互。
其他實(shí)施例和變型例根據(jù)上述情況,很明顯,可以對(duì)所述實(shí)施例進(jìn)行許多修改、變型和替換。例如,盡管按IP進(jìn)行操作,公開(kāi)了Linux和Chorus系統(tǒng),但是本發(fā)明同樣適用于現(xiàn)有的或者將來(lái)可能開(kāi)發(fā)的其他通信協(xié)議和其他操作系統(tǒng)。
盡管描述了靜態(tài)地分配端口,但也可以動(dòng)態(tài)地改變對(duì)端口的分配。例如,實(shí)時(shí)操作系統(tǒng)可以通過(guò)去除端口的套接字指派來(lái)在它不再需要這些端口時(shí)釋放這些端口,以使得這些端口可以用于通用操作系統(tǒng)。同樣,實(shí)時(shí)操作系統(tǒng)可以通過(guò)相同的方法要求使用來(lái)自通用操作系統(tǒng)的更多端口。
盡管描述了在單個(gè)處理器上并行運(yùn)行的兩個(gè)操作系統(tǒng)的操作,但是很明顯,很容易將所述操作系統(tǒng)間總線替換為物理通信總線,并且在不同的處理器或不同的平臺(tái)上運(yùn)行所述操作系統(tǒng)。
盡管描述了VoIP,但是也可以使用本發(fā)明提供諸如音頻流(例如,音樂(lè)、因特網(wǎng)廣播等)和視頻流(例如,點(diǎn)播視頻)的其他應(yīng)用。
可以有很多其他變型。為避免疑惑,本申請(qǐng)旨在保護(hù)本文的任何和全部主旨及其子組合。
權(quán)利要求
1.一種被配置為用于通信的計(jì)算機(jī)系統(tǒng),包括處理器(102);在處理器(102)上運(yùn)行的第一操作系統(tǒng)(201);在處理器(102)上運(yùn)行的第二操作系統(tǒng)(202);以及用于傳送數(shù)據(jù)的網(wǎng)絡(luò)接口(118),其中,第一操作系統(tǒng)和第二操作系統(tǒng)被設(shè)置為共享所述網(wǎng)絡(luò)接口(118)的使用;其特征在于,所述網(wǎng)絡(luò)接口使用兩個(gè)操作系統(tǒng)共用的單組網(wǎng)絡(luò)邏輯地址來(lái)進(jìn)行操作。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,第一操作系統(tǒng)(201)為實(shí)時(shí)操作系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,第二操作系統(tǒng)(202)為通用操作系統(tǒng)。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,與第一操作系統(tǒng)相關(guān)聯(lián)的代碼(205)被設(shè)置為接收全部輸入分組,并將那些并非由第一操作系統(tǒng)(201)或其上運(yùn)行的應(yīng)用程序(207)專用的分組轉(zhuǎn)發(fā)給第二操作系統(tǒng)(202)。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),包括發(fā)送調(diào)度器(258),所述發(fā)送調(diào)度器(258)被設(shè)置為選擇性地轉(zhuǎn)發(fā)來(lái)自第一操作系統(tǒng)和第二操作系統(tǒng)(201、202)的用于通過(guò)網(wǎng)絡(luò)接口(118)進(jìn)行發(fā)送的輸出數(shù)據(jù)分組。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,發(fā)送調(diào)度器(258)被設(shè)置為將優(yōu)先權(quán)賦予第一操作系統(tǒng)(201)。
7.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,發(fā)送調(diào)度器(258)被設(shè)置為在存在來(lái)自第一操作系統(tǒng)(201)的發(fā)送分組時(shí)不發(fā)送來(lái)自第二操作系統(tǒng)(202)的任何分組。
8.根據(jù)權(quán)利要求1所述的系統(tǒng),其被設(shè)置為使用網(wǎng)際協(xié)議進(jìn)行通信。
9.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,第一操作系統(tǒng)包括用于處理UDP數(shù)據(jù)報(bào)的UDP/IP堆棧(205)。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,第二操作系統(tǒng)包括TCP/IP協(xié)議堆棧(206)。
11.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第一操作系統(tǒng)和第二操作系統(tǒng)(201、202)在單個(gè)處理器(102)上運(yùn)行。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),包括操作系統(tǒng)間通信通道(260),所述操作系統(tǒng)間通信通道(260)用于在所述第一操作系統(tǒng)與第二操作系統(tǒng)(201、202)之間和/或在所述第一操作系統(tǒng)和第二操作系統(tǒng)(201、202)上運(yùn)行的應(yīng)用程序(207、208)之間傳送消息。
13.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,第一操作系統(tǒng)(201)具有地址端口的第一子集,第二操作系統(tǒng)(202)具有地址端口的第二子集,所述子集各自包括至少一個(gè)地址端口,所述第一子集和第二子集是互斥的。
14.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,第二操作系統(tǒng)(202)提供使得用戶可以對(duì)網(wǎng)絡(luò)接口(118)進(jìn)行配置的命令。
15.根據(jù)權(quán)利要求1所述的系統(tǒng),包括用于提供實(shí)時(shí)數(shù)據(jù)發(fā)送通道以傳送數(shù)據(jù)以及相關(guān)聯(lián)的控制和/或監(jiān)視信號(hào)的代碼,其中,所述代碼包括在所述第一操作系統(tǒng)下操作以傳送所述數(shù)據(jù)的第一代碼;以及在所述第二操作系統(tǒng)下操作以傳送所述控制和/或監(jiān)視信號(hào)的第二代碼。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,第一操作系統(tǒng)被設(shè)置為使用UDP/IP協(xié)議堆棧來(lái)傳送所述數(shù)據(jù)。
17.一種基于因特網(wǎng)的語(yǔ)音通信系統(tǒng),包括并行運(yùn)行第一操作系統(tǒng)和第二操作系統(tǒng)(201、202)的計(jì)算機(jī)(100),第一操作系統(tǒng)(201)為實(shí)時(shí)操作系統(tǒng),第二操作系統(tǒng)(202)為通用操作系統(tǒng),其中,第一操作系統(tǒng)被設(shè)置為使用相應(yīng)的第一TCP/IP堆棧來(lái)傳送語(yǔ)音數(shù)據(jù),第二操作系統(tǒng)(201)被設(shè)置為使用相應(yīng)的第二TCP/IP堆棧來(lái)傳送信令和/或監(jiān)視數(shù)據(jù),所述第一TCP/IP堆棧和第二TCP/IP堆棧共享共用的IP地址。
18.一種對(duì)計(jì)算機(jī)提供網(wǎng)絡(luò)訪問(wèn)的方法,包括以下步驟在計(jì)算機(jī)上設(shè)置第一操作系統(tǒng)和第二操作系統(tǒng),所述第一操作系統(tǒng)和第二操作系統(tǒng)并行運(yùn)行,其特征在于共享邏輯網(wǎng)絡(luò)地址;以及使得所述兩個(gè)操作系統(tǒng)可以共享對(duì)所述計(jì)算機(jī)的網(wǎng)絡(luò)接口的訪問(wèn)。
19.一種計(jì)算機(jī)程序產(chǎn)品,包括用于使得計(jì)算機(jī)(100)執(zhí)行權(quán)利要求18所述的方法的代碼。
20.一種被配置為用于通信的計(jì)算機(jī)系統(tǒng),包括處理器(102);在處理器上運(yùn)行的第一操作系統(tǒng);在處理器上運(yùn)行的第二操作系統(tǒng);以及用于傳送數(shù)據(jù)的網(wǎng)絡(luò)接口(118),其特征在于,第一操作系統(tǒng)和第二操作系統(tǒng)被設(shè)置為共享所述網(wǎng)絡(luò)接口的使用。
全文摘要
一種被配置為用于通信的計(jì)算機(jī)系統(tǒng),包括處理器;在處理器上運(yùn)行的第一操作系統(tǒng);在處理器上運(yùn)行的第二操作系統(tǒng);以及用于傳送分組數(shù)據(jù)的網(wǎng)絡(luò)接口,其特征在于,第一操作系統(tǒng)和第二操作系統(tǒng)被設(shè)置為共享對(duì)所述網(wǎng)絡(luò)接口的訪問(wèn)。
文檔編號(hào)H04M1/253GK1849587SQ200480025081
公開(kāi)日2006年10月18日 申請(qǐng)日期2004年6月18日 優(yōu)先權(quán)日2003年7月30日
發(fā)明者弗拉迪米爾·格魯齊德夫, 伊萬(wàn)·布勒 申請(qǐng)人:扎魯納股份有限公司