專利名稱:信息處理裝置和方法以及程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理裝置和方法以及程序,特別是涉及利用TOE(TCP Offload Engine,TCP卸載引擎)進(jìn)行通信的信息處理裝置和方法以及程序。
背景技術(shù):
目前,作為在互聯(lián)網(wǎng)等網(wǎng)絡(luò)中使用的協(xié)議,有TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議,Transmission Control Protocol/InternetProtocol)。TCP/IP原本是在UNIX(注冊(cè)商標(biāo))中利用軟件(軟件程序)安裝的,即使在現(xiàn)在,其處理的大部分也由軟件執(zhí)行。但是,隨著大容量數(shù)據(jù)的網(wǎng)絡(luò)傳輸要求的提高,要求實(shí)現(xiàn)TCP/IP處理的高速化的呼聲變大。
針對(duì)該要求,出現(xiàn)例如被稱為TOE(TCP Offload Engine,TCP卸載引擎)的、利用其它芯片(專用硬件)來代替執(zhí)行耗費(fèi)主機(jī)側(cè)的CPU(中央處理單元)資源的TCP/IP處理的技術(shù)。由此,可以將主機(jī)側(cè)的CPU資源僅分配到應(yīng)用程序的處理,從而降低了主機(jī)側(cè)的CPU的負(fù)荷,并且可以實(shí)現(xiàn)TCP/IP處理的高速化。
另外,在安裝TCP/IP等網(wǎng)絡(luò)協(xié)議棧(Network Protocol Stack)(以下也稱為協(xié)議棧)的情況下,一般將協(xié)議棧和API(應(yīng)用程序接口,Application Program Interface)安裝在OS(操作系統(tǒng))的內(nèi)核(kernel)內(nèi)部(形成一個(gè)程序),因此它們不可分地連結(jié)在一起。
即使是一個(gè)通信,也常常由作用不同的多個(gè)協(xié)議構(gòu)成,因此這里將這些程序概括起來稱為協(xié)議棧。例如,在TCP/IP的情況下,TCP(傳輸控制協(xié)議)和IP(互聯(lián)網(wǎng)協(xié)議)是本來獨(dú)立的程序,但一般采取將兩者相組合的使用方法,因此表示成將它們組合起來的協(xié)議棧。另外,一般情況下,對(duì)應(yīng)于分層定義的協(xié)議,安裝該協(xié)議的軟件也分層地構(gòu)筑,因此,協(xié)議棧也指基于這些軟件的安裝。因此,以下將例如由TCP/IP或UDP/IP(用戶數(shù)據(jù)報(bào)協(xié)議/互聯(lián)網(wǎng)協(xié)議,User DatagramProtocol/Internet Protocol)等多個(gè)協(xié)議構(gòu)成的協(xié)議、或者安裝該協(xié)議的軟件稱為協(xié)議棧來進(jìn)行說明。
另外,API是指可以在開發(fā)面向某個(gè)平臺(tái)的軟件時(shí)使用的命令或函數(shù)的集合。具體地說,例如套接字API(Socket API)被定義在應(yīng)用層和傳輸層之間,由此進(jìn)行網(wǎng)絡(luò)通信或進(jìn)程間通信(IPC(InterProcess Communication))。這些套接字API例如在OS為UNIX(注冊(cè)商標(biāo))的情況下,利用BSD套接字安裝,而在OS為Windows(注冊(cè)商標(biāo))的情況下,利用Winsock(Windows(注冊(cè)商標(biāo))套接字)來安裝。
即,在現(xiàn)有技術(shù)中,協(xié)議棧和API在不可分地連結(jié)的狀態(tài)下進(jìn)行TCP/IP處理。
并且,還有一種如下工作的發(fā)送裝置在將輸入的AV(視聽,Audio Visual)數(shù)據(jù)存儲(chǔ)到AV緩沖電路中后,在分組處理部中,生成32k字節(jié)的龐大分組數(shù)據(jù),根據(jù)CPU生成的報(bào)頭數(shù)據(jù)對(duì)所生成的龐大分組數(shù)據(jù)進(jìn)行分割,生成最大1518字節(jié)的以太網(wǎng)(注冊(cè)商標(biāo))分組并發(fā)送(例如專利文獻(xiàn)1)。
特開2003-229905號(hào)公報(bào)發(fā)明內(nèi)容發(fā)明所要解決的技術(shù)問題但是,在安裝協(xié)議棧的情況下,協(xié)議棧和API由OS的內(nèi)核內(nèi)部不可分地連結(jié),因此存在對(duì)于特定的協(xié)議棧無法提供多種多樣的API的問題。
例如,特開2003-229905號(hào)公報(bào)所公開的發(fā)送裝置在分割分組數(shù)據(jù)后發(fā)送,但由于協(xié)議棧和API不可分地連結(jié),因此可能無法使用多種多樣的API。
另外,由于協(xié)議棧和API緊密連結(jié),因此還存在的問題是,在協(xié)議棧和API中的一方發(fā)生故障的情況下,對(duì)另一方也會(huì)產(chǎn)生直接影響。
而且,無法僅選擇必要的API來裝載到存儲(chǔ)器上,因此還存在存儲(chǔ)器的使用效率差的問題。
本發(fā)明鑒于這種情況作出,可以對(duì)特定的協(xié)議棧提供多種多樣的API。
解決技術(shù)問題的技術(shù)手段本發(fā)明的一個(gè)方面是一種信息處理裝置,為了經(jīng)由網(wǎng)絡(luò)與連接在上述網(wǎng)絡(luò)上的其它設(shè)備進(jìn)行通信而執(zhí)行通信處理,其特征在于,具備第一處理單元,響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的上述通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理;和第二處理單元,根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述網(wǎng)絡(luò)協(xié)議棧的第二處理,其中,上述第一處理單元通過由上述應(yīng)用程序調(diào)用的API來執(zhí)行上述第一處理。
網(wǎng)絡(luò)是指至少連接了兩個(gè)裝置、可以從某個(gè)裝置向其它裝置傳遞信息的結(jié)構(gòu)。經(jīng)由網(wǎng)絡(luò)進(jìn)行通信的裝置既可以是彼此獨(dú)立的裝置,也可以是構(gòu)成一個(gè)裝置的內(nèi)部塊(block)。
另外,通信既可以是無線通信和有線通信,也可以是無線通信和有線通信混合存在的通信,即在某個(gè)區(qū)間中進(jìn)行無線通信、在其它區(qū)間中進(jìn)行有線通信的通信。而且,也可以是以有線通信的形式進(jìn)行從某個(gè)裝置向其它裝置的通信、而以無線通信的形式進(jìn)行從其它裝置向某個(gè)裝置的通信的通信。
還可以具備監(jiān)視單元,監(jiān)視上述第二處理單元的狀態(tài),并蓄積與其狀態(tài)有關(guān)的信息。
上述第一處理單元可以通過選擇執(zhí)行上述第一處理所需的上述API并裝載所選擇的上述API,來執(zhí)行上述第一處理。
上述API可以是套接字API。
上述網(wǎng)絡(luò)協(xié)議??梢允荰CP/IP。
還可以具備第三處理單元,在上述第二處理單元發(fā)生故障的情況下,執(zhí)行上述第二處理,其中,上述第一處理單元在上述第二處理單元發(fā)生故障的情況下,從上述應(yīng)用程序取得故障發(fā)生前的狀態(tài),并根據(jù)所取得的上述狀態(tài)的結(jié)果,執(zhí)行上述第一處理,上述第三處理單元根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述第二處理。
還可以具備第三處理單元,在上述第一處理單元或上述第二處理單元發(fā)生故障的情況下,執(zhí)行上述第一處理;和第四處理單元,在上述第一處理單元或上述第二處理單元發(fā)生故障的情況下,執(zhí)行上述第二處理,其中,上述第三處理單元在上述第一處理單元或上述第二處理單元發(fā)生故障的情況下,從上述應(yīng)用程序取得故障發(fā)生前的狀態(tài),并根據(jù)所取得的上述狀態(tài)的結(jié)果,執(zhí)行上述第一處理,上述第四處理單元根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述第二處理。
本發(fā)明的一個(gè)方面是一種信息處理裝置的信息處理方法,該信息處理裝置具備為了經(jīng)由網(wǎng)絡(luò)與連接在上述網(wǎng)絡(luò)上的其它設(shè)備進(jìn)行通信而執(zhí)行通信處理第一處理單元和第二處理單元,其特征在于,上述信息處理方法包括第一處理步驟,響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的上述通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理;和第二處理步驟,根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述網(wǎng)絡(luò)協(xié)議棧的第二處理,其中,上述第一處理步驟通過由上述應(yīng)用程序調(diào)用的API來執(zhí)行上述第一處理。
本發(fā)明的一個(gè)方面是一種程序,為了經(jīng)由網(wǎng)絡(luò)與連接在上述網(wǎng)絡(luò)上的其它設(shè)備進(jìn)行通信而使第一處理單元和第二處理單元執(zhí)行通信處理,其特征在于,上述程序包括第一處理步驟,響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的上述通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理;和第二處理步驟,根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述網(wǎng)絡(luò)協(xié)議棧的第二處理,其中,上述第一處理步驟通過由上述應(yīng)用程序調(diào)用的API來執(zhí)行上述第一處理。
在本發(fā)明的一個(gè)方面,響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的上述通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理,根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述網(wǎng)絡(luò)協(xié)議棧的第二處理,通過由上述應(yīng)用程序調(diào)用的API來執(zhí)行上述第一處理。
發(fā)明效果如上所述,根據(jù)本發(fā)明的一個(gè)方面,可以向特定的協(xié)議棧提供多種多樣的API。
圖1是表示個(gè)人計(jì)算機(jī)的硬件結(jié)構(gòu)的例子的框圖。
圖2是表示通信部的硬件結(jié)構(gòu)的例子的框圖。
圖3是表示應(yīng)用了本發(fā)明的個(gè)人計(jì)算機(jī)的一個(gè)實(shí)施方式的結(jié)構(gòu)的框圖。
圖4是說明用戶模塊與協(xié)議棧模塊之間的接口的圖。
圖5是說明由個(gè)人計(jì)算機(jī)進(jìn)行的數(shù)據(jù)發(fā)送處理的流程圖。
圖6是說明在個(gè)人計(jì)算機(jī)中,在一個(gè)中間件的實(shí)例(instance)上連接了兩個(gè)協(xié)議棧模塊的情況的圖。
圖7是說明在個(gè)人計(jì)算機(jī)中中間件的實(shí)例與協(xié)議棧模塊一對(duì)一地連接的情況的圖。
符號(hào)說明1個(gè)人計(jì)算機(jī)、11CPU、12ROM、13RAM、18記錄部、19通信部、20驅(qū)動(dòng)器、21可裝卸媒體、51CPU、52ROM、53RAM、55記錄部、101用戶模塊、102協(xié)議棧模塊、111應(yīng)用程序、112GUI命令工具、113中間件、121API處理部、122網(wǎng)絡(luò)管理部、131API調(diào)度程序、132套接字代理、133協(xié)議棧API、134設(shè)備驅(qū)動(dòng)器、141協(xié)議棧接口、142協(xié)議棧處理部具體實(shí)施方式
以下說明本發(fā)明的實(shí)施方式,如下例示本發(fā)明的構(gòu)成要件與說明書或附圖中記載的實(shí)施方式的對(duì)應(yīng)關(guān)系。該記載是用于確認(rèn)支持本發(fā)明的實(shí)施方式記載在說明書或附圖中。因此,即使有雖然記載在說明書或附圖中、但作為對(duì)應(yīng)于本發(fā)明的構(gòu)成要件的實(shí)施方式在此沒有記載的實(shí)施方式,也不意味著該實(shí)施方式不對(duì)應(yīng)于該構(gòu)成要件。相反,即使實(shí)施方式對(duì)應(yīng)于構(gòu)成要件在此記載,也不意味著該實(shí)施方式不對(duì)應(yīng)于該構(gòu)成要件以外的構(gòu)成要件。
本發(fā)明一個(gè)方面的信息處理裝置(例如圖1的個(gè)人計(jì)算機(jī)1)具備第一處理單元(例如圖3的API處理部121),響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理;和第二處理單元(例如圖3的協(xié)議棧處理部142),根據(jù)第一處理的處理結(jié)果,執(zhí)行網(wǎng)絡(luò)協(xié)議棧的第二處理,其中,第一處理單元通過由應(yīng)用程序調(diào)用的API來執(zhí)行第一處理。
還可以具備監(jiān)視單元(例如圖3的網(wǎng)絡(luò)管理部122),監(jiān)視第二處理單元的狀態(tài),并蓄積與其狀態(tài)有關(guān)的信息。
第一處理單元可以通過選擇執(zhí)行第一處理所需的API并裝載所選擇的API,來執(zhí)行第一處理。
API可以是套接字API。
網(wǎng)絡(luò)協(xié)議棧可以是TCP/IP。
還可以具備第三處理單元(例如圖6的協(xié)議棧模塊102-2的協(xié)議棧處理部142),在第二處理單元(例如圖6的協(xié)議棧模塊102-1的協(xié)議棧處理部142)發(fā)生故障的情況下,執(zhí)行第二處理,其中,第一處理單元在第二處理單元發(fā)生故障的情況下,從應(yīng)用程序取得發(fā)生故障前的狀態(tài),根據(jù)所取得的狀態(tài)的結(jié)果,執(zhí)行第一處理,第三處理單元根據(jù)第一處理的處理結(jié)果,執(zhí)行第二處理。
還可以具備第三處理單元(例如圖7的用戶模塊101的中間件113-2的API處理部121),在第一處理單元(例如圖7的用戶模塊101的中間件113-1的API處理部121)或第二處理單元(例如圖7的協(xié)議棧模塊102-1的協(xié)議棧處理部142)發(fā)生故障的情況下,執(zhí)行第一處理;和第四處理單元(例如圖7的協(xié)議棧模塊102-2的協(xié)議棧處理部142),在第一處理單元或第二處理單元發(fā)生故障的情況下,執(zhí)行第二處理,其中,第三處理單元在第一處理單元或第二處理單元發(fā)生故障的情況下,從應(yīng)用程序取得發(fā)生故障前的狀態(tài),根據(jù)所取得的狀態(tài)的結(jié)果,執(zhí)行第一處理,第四處理單元根據(jù)第一處理的處理結(jié)果,執(zhí)行第二處理。
本發(fā)明的一個(gè)方面的信息處理方法或程序包括第一處理步驟(例如圖5的步驟S12的處理),響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理;和第二處理步驟(例如圖5的步驟S13的處理),根據(jù)第一處理的處理結(jié)果,執(zhí)行網(wǎng)絡(luò)協(xié)議棧的第二處理,其中,第一處理步驟通過由應(yīng)用程序調(diào)用的API來執(zhí)行第一處理。
本發(fā)明一個(gè)方面的程序可以記錄在記錄媒體(例如圖1的可裝卸媒體21)中。
以下參照附圖來說明本發(fā)明的實(shí)施方式。
圖1是表示個(gè)人計(jì)算機(jī)1的硬件結(jié)構(gòu)的例子的框圖。
在圖1的例子的個(gè)人計(jì)算機(jī)1中,CPU(中央處理單元)11按照存儲(chǔ)在ROM(只讀存儲(chǔ)器)12中的程序或者從記錄部18裝載到RAM(隨機(jī)存取存儲(chǔ)器)13中的程序來執(zhí)行各種處理。RAM13中還適當(dāng)存儲(chǔ)CPU11執(zhí)行各種處理時(shí)所必要的數(shù)據(jù)等。
CPU11、ROM12以及RAM13經(jīng)由總線14相互連接。該總線14還連接有輸入輸出接口15。
輸入輸出接口15上連接有由鍵盤、鼠標(biāo)等構(gòu)成的輸入部16,由揚(yáng)聲器和LCD(液晶顯示器)等顯示器等構(gòu)成的輸出部17,由硬盤等構(gòu)成的記錄部18以及通信部19。
通信部19例如由NIC(網(wǎng)絡(luò)接口卡)等構(gòu)成,控制經(jīng)由網(wǎng)絡(luò)的、與其它塊的通信處理。通信部19的詳情后述。
輸入輸出接口15上還根據(jù)需要連接有驅(qū)動(dòng)器20,并適當(dāng)安裝有磁盤、光盤、光磁盤或半導(dǎo)體存儲(chǔ)器等可裝卸媒體21,從它們讀出的計(jì)算機(jī)程序根據(jù)需要安裝到記錄部18中。
個(gè)人計(jì)算機(jī)1的硬件結(jié)構(gòu)不限于圖1的例子,只要至少具有后述圖3的用戶模塊101的功能結(jié)構(gòu)即可。
圖2是表示通信部19的硬件結(jié)構(gòu)的例子的框圖。
通信部19與輸入輸出接口15(圖1)連接,將CPU11(圖1)提供的數(shù)據(jù)經(jīng)由網(wǎng)絡(luò)發(fā)送給與網(wǎng)絡(luò)連接的其它設(shè)備,或者接收與網(wǎng)絡(luò)連接的其它設(shè)備發(fā)送來的數(shù)據(jù),并將接收到的數(shù)據(jù)提供給CPU11。另外,通信部19例如進(jìn)行TCP/IP等協(xié)議棧的處理(與協(xié)議棧有關(guān)的規(guī)定處理)。
通信部19構(gòu)成為包括CPU51、ROM52、RAM53、記錄部55、接口56以及收發(fā)處理部57。CPU51、ROM52、RAM53、記錄部55、接口56以及收發(fā)處理部57分別經(jīng)由總線54相互連接。
在圖2的例子的通信部19中,CPU51按照存儲(chǔ)在ROM52中的程序或者從記錄部55裝載到RAM53中的程序來執(zhí)行各種處理。RAM53中還適當(dāng)?shù)卮鎯?chǔ)CPU51執(zhí)行各種處理時(shí)所需的數(shù)據(jù)等。
收發(fā)處理部57在CPU51的控制下,例如進(jìn)行用于經(jīng)由網(wǎng)絡(luò)向與網(wǎng)絡(luò)連接的其它設(shè)備發(fā)送數(shù)據(jù)、或者接收與網(wǎng)絡(luò)連接的其它設(shè)備發(fā)送來的數(shù)據(jù)的規(guī)定處理。
通信部19的硬件結(jié)構(gòu)不限于圖2的例子,只要至少具有后述圖3的協(xié)議棧模塊102的功能結(jié)構(gòu)即可。
圖3是表示應(yīng)用了本發(fā)明的個(gè)人計(jì)算機(jī)1的一個(gè)實(shí)施方式的結(jié)構(gòu)的框圖。
個(gè)人計(jì)算機(jī)1是經(jīng)由網(wǎng)絡(luò)與連接在網(wǎng)絡(luò)上的其它設(shè)備進(jìn)行通信的設(shè)備,是本發(fā)明的信息處理裝置的一個(gè)例子。
個(gè)人計(jì)算機(jī)1構(gòu)成為包括用戶模塊101以及協(xié)議棧模塊102。即,例如個(gè)人計(jì)算機(jī)1中的用戶模塊101表示個(gè)人計(jì)算機(jī)1的功能結(jié)構(gòu)例,協(xié)議棧模塊102表示通信部19的功能結(jié)構(gòu)例。
在本實(shí)施方式中,個(gè)人計(jì)算機(jī)1具有上述圖1的硬件結(jié)構(gòu),因此用戶模塊101例如構(gòu)成為由CPU11(圖1)執(zhí)行的程序(軟件)。但是,通過使個(gè)人計(jì)算機(jī)1的硬件結(jié)構(gòu)與圖1不同,用戶模塊101既可以構(gòu)成為硬件單體,也可以構(gòu)成為軟件與硬件的組合。
另外,通信部19具有上述圖2的硬件結(jié)構(gòu),協(xié)議棧模塊102例如構(gòu)成為由CPU51(圖2)執(zhí)行的程序(軟件)。但是,通過使通信部19的硬件結(jié)構(gòu)與圖2不同,協(xié)議棧模塊102既可以構(gòu)成為硬件單體,也可以構(gòu)成為軟件與硬件的組合。
用戶模塊101例如記錄在記錄部18(圖1)等中,根據(jù)需要裝載到RAM13(圖1)中,由CPU11(圖1)執(zhí)行。
CPU11在執(zhí)行用戶模塊101的情況下,不是將用戶模塊101全部裝載到RAM13中,而是可以僅選擇需要的功能裝載到RAM13中,從而執(zhí)行所選擇的功能。
用戶模塊101構(gòu)成為包括應(yīng)用程序111、GUI命令工具112以及中間件113。
應(yīng)用程序111例如是Web瀏覽器、郵件程序(用于收發(fā)并管理電子郵件的應(yīng)用程序)等在個(gè)人計(jì)算機(jī)1中由用戶操作的應(yīng)用程序。應(yīng)用程序111響應(yīng)用戶的操作,向中間件113提供用于指定執(zhí)行與該操作相對(duì)應(yīng)的處理的API的命令(以下稱為API調(diào)用(API call))。
GUI命令工具112是例如在網(wǎng)絡(luò)的運(yùn)行監(jiān)視或開發(fā)時(shí)的調(diào)試等中使用的應(yīng)用程序。GUI命令工具112響應(yīng)用戶的操作,向中間件113提供與該操作相對(duì)應(yīng)的API調(diào)用。
中間件113是向應(yīng)用程序111和GUI命令工具112中的每一個(gè)提供例如與通信有關(guān)的功能等特定功能的軟件。例如,中間件113提供與后述的協(xié)議棧模塊102有關(guān)的功能。
中間件113構(gòu)成為包括API處理部121和網(wǎng)絡(luò)管理部122。
API處理部121執(zhí)行由應(yīng)用程序111或GUI命令工具112提供的、對(duì)應(yīng)于API調(diào)用的規(guī)定處理。API處理部121將規(guī)定處理的處理結(jié)果提供給協(xié)議棧模塊102。
即,API處理部121例如將在OS的內(nèi)核等中不可分地連結(jié)的API和協(xié)議棧分離,因此不進(jìn)行協(xié)議棧的處理(協(xié)議棧的處理由后述的協(xié)議棧處理部142進(jìn)行)。
換言之,在利用分割成層次結(jié)構(gòu)的模型來考慮通信功能(通信處理)的情況下,API處理部121可以說是進(jìn)行例如TCP/IP等協(xié)議棧的上層的處理。
在此詳情后述,但作為API處理部121的規(guī)定處理的結(jié)果,如圖中的用戶模塊101和協(xié)議棧模塊102之間的兩條線(后述的命令總線和數(shù)據(jù)總線)所示,例如將命令(以下也稱為協(xié)議棧命令)或數(shù)據(jù)(例如AV(視聽)數(shù)據(jù)等)等提供給協(xié)議棧模塊102。
API處理部121構(gòu)成為包括API調(diào)度程序(dispatcher)131、套接字代理132、協(xié)議棧API133以及設(shè)備驅(qū)動(dòng)器134。
在圖3的例子中,將協(xié)議棧API133作為擴(kuò)展用API的一個(gè)例子進(jìn)行說明,但也可以追加其它的擴(kuò)展用API。另外,API處理部121也可以不包括設(shè)備驅(qū)動(dòng)器134,而由API調(diào)度程序131、套接字代理132以及協(xié)議棧API133構(gòu)成。這種情況下,設(shè)備驅(qū)動(dòng)器134包含在中間件113中。
API調(diào)度程序131根據(jù)由應(yīng)用程序111或GUI命令工具112提供的API調(diào)用,向套接字代理132或協(xié)議棧API133中的任意一方提供API調(diào)用,從而執(zhí)行規(guī)定的處理。
套接字代理132是標(biāo)準(zhǔn)的API,例如利用UINX(注冊(cè)商標(biāo))類的BSD套接字或Windows(注冊(cè)商標(biāo))類的Winsock等套接字API,提供用于收發(fā)數(shù)據(jù)的規(guī)定功能。套接字代理132進(jìn)行對(duì)應(yīng)于API調(diào)度程序131提供的API調(diào)用的規(guī)定處理,并將通過進(jìn)行規(guī)定處理得到的數(shù)據(jù)提供給設(shè)備驅(qū)動(dòng)器134。另外,套接字代理132響應(yīng)API調(diào)度程,序131提供的API調(diào)用,生成用于指示協(xié)議棧模塊102的協(xié)議棧命令,并將所生成的協(xié)議棧命令提供給設(shè)備驅(qū)動(dòng)器134。
協(xié)議棧API133是協(xié)議棧模塊102專用的擴(kuò)展API,例如提供SNMP(Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)接口等與協(xié)議棧模塊102有關(guān)的規(guī)定功能。協(xié)議棧API133進(jìn)行對(duì)應(yīng)于API調(diào)度程序131提供的API調(diào)用的規(guī)定處理,并將通過進(jìn)行規(guī)定的處理得到的數(shù)據(jù)提供給設(shè)備驅(qū)動(dòng)器134。另外,協(xié)議棧API133響應(yīng)API調(diào)度程序131提供的API調(diào)用,生成用于指示協(xié)議棧模塊102的協(xié)議棧命令,并將所生成的協(xié)議棧命令提供給設(shè)備驅(qū)動(dòng)器134。
即,在套接字代理132以及協(xié)議棧API133各自中,不進(jìn)行例如TCP/IP等的協(xié)議棧處理。
從而,由API處理部121進(jìn)行的處理不依賴于協(xié)議棧,因此可以無需考慮協(xié)議棧而自由地追加擴(kuò)展用API(例如協(xié)議棧API133以外的API)。換言之,也可以說API處理部121可以向協(xié)議棧提供多種多樣的API。
設(shè)備驅(qū)動(dòng)器134將由套接字代理132或協(xié)議棧API133中的任意一方提供的、AV數(shù)據(jù)等數(shù)據(jù)提供給協(xié)議棧模塊102。另外,設(shè)備驅(qū)動(dòng)器134將由套接字代理132或協(xié)議棧API133中的任意一方提供的協(xié)議棧命令提供給協(xié)議棧模塊102。
設(shè)備驅(qū)動(dòng)器134(用戶模塊101)與協(xié)議棧接口141(協(xié)議棧模塊102)之間的接口的詳情將參照?qǐng)D4后述。
網(wǎng)絡(luò)管理部122經(jīng)由API處理部121監(jiān)視協(xié)議棧模塊102的狀態(tài),并蓄積與該狀態(tài)有關(guān)的信息。例如,網(wǎng)絡(luò)管理部122通過監(jiān)視協(xié)議棧模塊102的狀態(tài),來蓄積與日志或錯(cuò)誤有關(guān)的信息,即例如網(wǎng)絡(luò)負(fù)荷、協(xié)議棧模塊102的負(fù)荷或者是否新追加了協(xié)議棧模塊102等的信息。
網(wǎng)絡(luò)管理部122在GUI命令工具122(或應(yīng)用程序111)提供的命令是與協(xié)議棧模塊102的監(jiān)視或管理有關(guān)的命令的情況下,將自己蓄積的、與協(xié)議棧模塊102的狀態(tài)有關(guān)的信息提供給GUI命令工具112(或應(yīng)用程序111)。另外,此時(shí),網(wǎng)絡(luò)管理部122也可以對(duì)自己所蓄積的信息進(jìn)行分析,或者在對(duì)這些信息進(jìn)行加工后提供給GUI命令工具112(或應(yīng)用程序111)。
此時(shí),GUI命令工具112(或應(yīng)用程序111)經(jīng)由API處理部121將網(wǎng)絡(luò)管理部122提供的信息顯示在輸出部17的畫面等上。結(jié)果,用戶可以知道協(xié)議棧模塊102或網(wǎng)絡(luò)的狀態(tài)。
協(xié)議棧模塊102例如記錄在ROM52(圖2)或記錄部55(圖2)等中,根據(jù)需要裝載到RAM53(圖2)中,由CPU51(圖2)執(zhí)行。
協(xié)議棧模塊102構(gòu)成為包括協(xié)議棧接口141和協(xié)議棧處理部142。
協(xié)議棧處理部142根據(jù)經(jīng)由協(xié)議棧接口141從設(shè)備驅(qū)動(dòng)器134(用戶模塊101)提供的AV數(shù)據(jù)等數(shù)據(jù)或協(xié)議棧命令,進(jìn)行協(xié)議棧的處理。協(xié)議棧處理部142將進(jìn)行了規(guī)定處理的數(shù)據(jù)(分組)經(jīng)由網(wǎng)絡(luò)發(fā)送給與網(wǎng)絡(luò)連接的其它設(shè)備。
另外,協(xié)議棧處理部142經(jīng)由協(xié)議棧接口141和設(shè)備驅(qū)動(dòng)器134適當(dāng)取得由API處理部121提供的功能,并進(jìn)行協(xié)議棧的處理。
換言之,在利用分割成層次結(jié)構(gòu)的模型來考慮通信功能(通信處理)的情況下,協(xié)議棧處理部142可以說是執(zhí)行由API處理部121執(zhí)行的處理的下層、即例如TCP/IP等協(xié)議棧的處理。
這里,在協(xié)議棧的處理中,例如進(jìn)行校驗(yàn)和(Check Sum)、IP分段(IP Fragment)或IP消除分段(IP Defragment)等處理或者建立通話的處理、丟失了分組時(shí)再發(fā)送分組的處理、或者路由選擇處理等。
協(xié)議棧處理部142中的校驗(yàn)和、IP分段或IP消除分段的處理分別例如利用硬件安裝,建立通話的處理、丟失了分組時(shí)再發(fā)送分組的處理或者路由選擇處理分別例如利用由CPU51(圖2)執(zhí)行的程序(軟件)安裝。即,如上所述,協(xié)議棧模塊102例如構(gòu)成為由CPU51(圖2)執(zhí)行的程序(軟件),但通過使通信部19的硬件結(jié)構(gòu)不同于圖2,協(xié)議棧模塊102既可以構(gòu)成為硬件單體,也可以構(gòu)成為軟件和硬件的組合。
即,在本實(shí)施方式中,為了使這些協(xié)議棧處理不對(duì)CPU11(圖1)造成負(fù)擔(dān),不由CPU11執(zhí)行,而由CPU51(圖2)執(zhí)行。
如上所述,在個(gè)人計(jì)算機(jī)1中,API與協(xié)議棧分離,因此用戶模塊101不進(jìn)行協(xié)議棧的處理,而由協(xié)議棧模塊102執(zhí)行協(xié)議棧的處理。
以下參照?qǐng)D4說明用戶模塊101與協(xié)議棧模塊102之間的接口。
如圖4的例子所示,協(xié)議棧模塊102具有命令用和數(shù)據(jù)用的兩個(gè)接口。協(xié)議棧模塊102利用這兩個(gè)接口,經(jīng)由命令總線和數(shù)據(jù)總線與用戶模塊101連接。即,用戶模塊101和協(xié)議棧模塊102分別利用圖中左側(cè)的命令用的命令總線和圖中右側(cè)的數(shù)據(jù)用的數(shù)據(jù)總線連接。
這里雖然是命令總線,但遵守例如32位的SRAM/SSRAM(StaticRandom Access Memory/Synchronous SRAM,靜態(tài)隨機(jī)存取存儲(chǔ)器/同步SRAM)標(biāo)準(zhǔn),用于用戶模塊101和協(xié)議棧模塊102之間的命令(協(xié)議棧命令)的交換或傳輸不需要高速傳輸?shù)臄?shù)據(jù)的情況。
另外,數(shù)據(jù)總線例如由32/64位選擇式DMA(Direct MemoryAccess,直接存儲(chǔ)器存取)構(gòu)成,在用戶模塊101與協(xié)議棧模塊102之間高速傳輸例如AV數(shù)據(jù)等大容量的數(shù)據(jù)。
在用戶模塊101與協(xié)議棧模塊102之間也可以不使用數(shù)據(jù)總線,而僅使用命令總線來傳輸命令或數(shù)據(jù)。
如上所述,在個(gè)人計(jì)算機(jī)1中,用戶模塊101不進(jìn)行協(xié)議棧處理,而是由協(xié)議棧模塊102執(zhí)行協(xié)議棧處理,以下,作為該處理的一個(gè)例子,參照?qǐng)D5的流程圖說明由圖3的個(gè)人計(jì)算機(jī)1進(jìn)行的數(shù)據(jù)發(fā)送處理。該處理例如在用戶經(jīng)由用戶接口發(fā)出了用于發(fā)送數(shù)據(jù)的規(guī)定指令時(shí)開始。
在步驟S11中,應(yīng)用程序111響應(yīng)用戶的操作發(fā)出命令,并將所發(fā)出的命令提供給API處理部121。
例如,在步驟S11中,在應(yīng)用程序111響應(yīng)用戶的操作在UNIX(注冊(cè)商標(biāo))類的OS上運(yùn)行的情況下,發(fā)出BSD套接字命令(在Windows(注冊(cè)商標(biāo))類的OS上運(yùn)行的情況下,發(fā)出Winsock命令),并將所發(fā)出的BSD套接字命令(Winsock命令)提供給API處理部121。
在步驟S12中,API處理部121響應(yīng)由應(yīng)用程序111提供的API調(diào)用,進(jìn)行規(guī)定的處理,并將通過進(jìn)行規(guī)定的處理得到的數(shù)據(jù)或命令(協(xié)議棧命令)提供給協(xié)議棧模塊102(協(xié)議棧處理部142)。
例如,在步驟S12中,API處理部121在UNIX(注冊(cè)商標(biāo))類的OS上運(yùn)行的情況下,進(jìn)行與應(yīng)用程序111提供的BSD套接字命令相對(duì)應(yīng)的規(guī)定處理,并將通過規(guī)定的處理得到的AV數(shù)據(jù)等數(shù)據(jù)經(jīng)由數(shù)據(jù)總線提供給協(xié)議棧模塊102(協(xié)議棧處理部142)。另外,API處理部121生成與應(yīng)用程序111提供的BSD套接字命令相對(duì)應(yīng)的協(xié)議棧命令,并將所生成的協(xié)議棧命令經(jīng)由命令總線提供給協(xié)議棧模塊102(協(xié)議棧處理部142)。
此時(shí),由于API與協(xié)議棧分離,因此API處理部121不進(jìn)行例如TCP/IP等的協(xié)議棧處理。
在步驟S13中,協(xié)議棧處理部142根據(jù)經(jīng)由數(shù)據(jù)總線從API處理部121提供的數(shù)據(jù)或協(xié)議棧命令,進(jìn)行協(xié)議棧處理。協(xié)議棧處理部142將實(shí)施了規(guī)定處理的數(shù)據(jù)(分組)經(jīng)由網(wǎng)絡(luò)發(fā)送給與網(wǎng)絡(luò)連接的其它設(shè)備,從而結(jié)束數(shù)據(jù)發(fā)送處理。
例如,在步驟S13中,協(xié)議棧處理部142根據(jù)經(jīng)由命令總線從API處理部121提供的協(xié)議棧命令,對(duì)經(jīng)由數(shù)據(jù)總線從API處理部121提供的AV數(shù)據(jù)進(jìn)行例如校驗(yàn)和(Check Sum)、IP分段(IP Fragment)或IP消除分段(IP Defragment)等處理或者建立通話的處理、丟失了分組時(shí)的分組再發(fā)送處理、或者路由選擇處理等,并將實(shí)施了這些處理的數(shù)據(jù)(分組)經(jīng)由網(wǎng)絡(luò)發(fā)送給與網(wǎng)絡(luò)連接的其它設(shè)備。
即,由于API與協(xié)議棧分離,因此協(xié)議棧處理部142僅進(jìn)行協(xié)議棧處理。
如上所述,在個(gè)人計(jì)算機(jī)1中,用戶模塊101(API處理部121)不進(jìn)行協(xié)議棧處理,而是由協(xié)議棧模塊102(協(xié)議棧處理部142)進(jìn)行協(xié)議棧處理。
這樣,在本發(fā)明中,通過使在OS的內(nèi)核等中不可分地連結(jié)的API和協(xié)議棧分離,取代API處理部121,由協(xié)議棧處理部142執(zhí)行協(xié)議棧處理。結(jié)果,由于API與協(xié)議棧分離,因此可以向TCP/IP或UDP/IP等協(xié)議棧提供多種多樣的API。
在個(gè)人計(jì)算機(jī)1中,通過設(shè)置多個(gè)協(xié)議棧模塊102或中間件113,在主系統(tǒng)發(fā)生故障的情況下,可以通過切換成待機(jī)系統(tǒng)來避免故障(容錯(cuò),fault-tolerant)。
這里,中間件113例如可以在設(shè)備(個(gè)人計(jì)算機(jī)1)上生成一個(gè)或兩個(gè)實(shí)例(instance)。從而,在個(gè)人計(jì)算機(jī)1中,包括在一個(gè)中間件113的實(shí)例上連接兩個(gè)協(xié)議棧模塊102的情況以及中間件113的實(shí)例與協(xié)議棧模塊102一對(duì)一地連接的情況。
首先,參照?qǐng)D6,說明在個(gè)人計(jì)算機(jī)1中在一個(gè)中間件113的實(shí)例上連接兩個(gè)協(xié)議棧模塊102的情況。
在圖6的個(gè)人計(jì)算機(jī)1中,用戶模塊101構(gòu)成為包括應(yīng)用程序111-1~應(yīng)用程序111-3以及中間件113。
即,在圖6所示的例子中,應(yīng)用程序111-1~應(yīng)用程序111-3起動(dòng),經(jīng)由中間件113,利用主系統(tǒng)的協(xié)議棧模塊102-1并經(jīng)由網(wǎng)絡(luò)與連接在網(wǎng)絡(luò)上的其它設(shè)備(遠(yuǎn)程)進(jìn)行通信。另外,此時(shí)協(xié)議棧模塊102-2不進(jìn)行處理,成為待機(jī)系統(tǒng)。
這里,個(gè)人計(jì)算機(jī)1在主系統(tǒng)的協(xié)議棧模塊102-1發(fā)生故障的情況下,切斷現(xiàn)有的通話,因此中間件113將待機(jī)系統(tǒng)的協(xié)議棧模塊102-2初始化,與遠(yuǎn)程進(jìn)行再連接。由于緩存在發(fā)生故障的主系統(tǒng)的協(xié)議棧模塊102-1中的分組被廢棄,因此中間件113向應(yīng)用程序111-1~應(yīng)用程序111-3中的每一個(gè)通知分別已經(jīng)發(fā)送到哪個(gè)分組。應(yīng)用程序111-1~應(yīng)用程序111-3分別根據(jù)來自中間件113的通知,重新再發(fā)送被廢棄的分組。
以下參照?qǐng)D7說明在個(gè)人計(jì)算機(jī)1中,中間件113的實(shí)例與協(xié)議棧模塊102一對(duì)一地連接的情況。
在圖7的個(gè)人計(jì)算機(jī)1中,用戶模塊101構(gòu)成為包括應(yīng)用程序111-1~應(yīng)用程序111-3、中間件113-1以及中間件113-2。
即,在圖7所示的例子中,應(yīng)用程序111-1以及應(yīng)用程序111-2起動(dòng),經(jīng)由主系統(tǒng)的中間件113-1,利用主系統(tǒng)的協(xié)議棧模塊102-1并經(jīng)由網(wǎng)絡(luò)與遠(yuǎn)程進(jìn)行通信。另外,中間件113-2和協(xié)議棧模塊102-2成為待機(jī)系統(tǒng),應(yīng)用程序111-3也不起動(dòng)。
這里,個(gè)人計(jì)算機(jī)1在主系統(tǒng)的協(xié)議棧模塊102-1發(fā)生故障的情況下,切斷現(xiàn)有的通話,發(fā)送途中的分組被廢棄。因而,正在發(fā)送分組的應(yīng)用程序111-2分別使用待機(jī)系統(tǒng)的中間件113-2以及協(xié)議棧模塊102-2,重新與遠(yuǎn)程確立通話,再發(fā)送分組。
在主系統(tǒng)的中間件113-1發(fā)生故障的情況下,與主系統(tǒng)的協(xié)議棧模塊102-1發(fā)生故障的情況相同,現(xiàn)有的通話被切斷,發(fā)送途中的分組被廢棄,正在發(fā)送分組的應(yīng)用程序111-2分別使用待機(jī)系統(tǒng)的中間件113-2以及協(xié)議棧模塊102-2,重新與遠(yuǎn)程確立通話,再發(fā)送分組。
如上所述,在個(gè)人計(jì)算機(jī)1中,通過設(shè)置兩個(gè)協(xié)議棧模塊102-1和協(xié)議棧模塊102-2,在主系統(tǒng)的協(xié)議棧模塊102-1發(fā)生故障的情況下,可以切換成待機(jī)系統(tǒng)的協(xié)議棧模塊102-2,來繼續(xù)協(xié)議棧的處理。
這樣,通過分離在OS的內(nèi)核等中不可分地連結(jié)的API和協(xié)議棧,可以分離協(xié)議棧處理,因此例如在進(jìn)行協(xié)議棧處理的、主系統(tǒng)的協(xié)議棧模塊102-1發(fā)生故障的情況下,也可以通過切換成待機(jī)系統(tǒng)的協(xié)議棧模塊102-2,來將其影響抑制在最小限度。另外,在發(fā)生故障時(shí),例如可以個(gè)別地檢查中間件113和協(xié)議棧模塊102,明確原因在哪里等,從而更迅速地查明故障的原因。
在個(gè)人計(jì)算機(jī)1的資源有余裕的情況下,在想要提高中間件113的水平上的耐故障性時(shí),與由一個(gè)中間件113構(gòu)成的圖6相比,更希望采用由兩個(gè)中間件113構(gòu)成的圖7的結(jié)構(gòu)。
如上所述,根據(jù)本發(fā)明,通過使不可分地連結(jié)的API與協(xié)議棧分離,可以分離協(xié)議棧處理,因此可以向特定的協(xié)議棧提供多種多樣的API。結(jié)果,例如可以向開發(fā)應(yīng)用程序的用戶(開發(fā)者)提供多種多樣的與網(wǎng)絡(luò)編程有關(guān)的API。
另外,根據(jù)本發(fā)明,由專用地執(zhí)行協(xié)議棧處理的CPU51執(zhí)行由主機(jī)側(cè)的CPU11執(zhí)行的TCP/IP等協(xié)議棧處理,因此可以將主機(jī)側(cè)的CPU資源僅分配到應(yīng)用程序的處理,從而可以降低主機(jī)側(cè)的CPU11的負(fù)荷,并使TCP/IP的處理高速化。
而且,根據(jù)本發(fā)明,例如響應(yīng)用戶對(duì)應(yīng)用程序111(GUI命令工具112)的操作,僅選擇套接字代理132或協(xié)議棧API133等各功能中必要的功能來裝載,從而可以有效地利用存儲(chǔ)器。結(jié)果,即使是資源不足的設(shè)備,也可以有效地利用存儲(chǔ)器,因此可以進(jìn)行例如大容量的AV數(shù)據(jù)的收發(fā)。
另外,根據(jù)本發(fā)明,將不可分地連結(jié)的API與協(xié)議棧分離,因此用戶(開發(fā)者)可以自由地定義API與協(xié)議棧之間的接口。
另外,圖1的通信部19在上述例子中作為個(gè)人計(jì)算機(jī)1的一個(gè)構(gòu)成要素,但如圖2的結(jié)構(gòu)例所示,也可以作為一個(gè)裝置來把握。即,例如也可以將圖1的通信部19構(gòu)成為可以從個(gè)人計(jì)算機(jī)1自由地裝卸的裝置。這種情況下,通信部19不僅可以安裝在個(gè)人計(jì)算機(jī)1上,還可以安裝在攝像機(jī)、AV服務(wù)器或轉(zhuǎn)換器(switcher)等多種設(shè)備上,從而執(zhí)行用于進(jìn)行網(wǎng)絡(luò)通信的上述各種處理。
另外,在上述的例子中,作為協(xié)議棧,將TCP/IP作為一個(gè)例子進(jìn)行了說明,但在本發(fā)明中不限于此,例如也可以是UDP/IP等。
另外,在本發(fā)明中,例如也可以通過串行連接或USB(通用串行總線)連接等使個(gè)人計(jì)算機(jī)1與通信用設(shè)備連接,并利用所連接的通信用設(shè)備,經(jīng)由網(wǎng)絡(luò)與連接在網(wǎng)絡(luò)上的其它設(shè)備通信。即,在這種情況下,個(gè)人計(jì)算機(jī)1進(jìn)行與用戶模塊101有關(guān)的處理,通信用設(shè)備根據(jù)經(jīng)由串行電纜或USB電纜等從個(gè)人計(jì)算機(jī)1提供的命令或數(shù)據(jù),進(jìn)行與協(xié)議棧模塊102有關(guān)的規(guī)定處理,并將數(shù)據(jù)(分組)發(fā)送給其它設(shè)備。
上述一系列的處理也可以由硬件執(zhí)行,但也可以由軟件執(zhí)行。在由軟件執(zhí)行一系列處理的情況下,將構(gòu)成該軟件的程序從記錄媒體安裝到組裝在專用硬件中的計(jì)算機(jī)、或者可以通過安裝各種程序來執(zhí)行各種功能的例如通用個(gè)人計(jì)算機(jī)等中。
該記錄媒體不僅由圖1的可裝卸媒體21構(gòu)成,還由在預(yù)先組裝到計(jì)算機(jī)中的狀態(tài)下向用戶提供的、記錄了程序的圖1的ROM12或記錄部18等構(gòu)成,其中圖1的可裝卸媒體21由為了與計(jì)算機(jī)相分離地向用戶提供程序而發(fā)布的、記錄了程序的磁盤(包括軟盤)、光盤(包括CD-ROM(高密度盤-只讀存儲(chǔ)器)、DVD(數(shù)字通用盤))、光磁盤(包括MD(微型盤,Mini-Disk(注冊(cè)商標(biāo)))或者半導(dǎo)體存儲(chǔ)器等構(gòu)成。
另外,執(zhí)行上述一系列處理的程序可以根據(jù)需要經(jīng)由路由器、調(diào)制解調(diào)器等的接口,并經(jīng)由本地局域網(wǎng)、互聯(lián)網(wǎng)、數(shù)字衛(wèi)星廣播等有線或無線通信媒體安裝到計(jì)算機(jī)中。
在本說明書中,描述存儲(chǔ)在記錄媒體中的程序的步驟不僅包括沿著所記載的順序并按照時(shí)間序列來執(zhí)行的處理,也包括不按時(shí)間序列來處理、而是并行地或者個(gè)別地執(zhí)行的處理。
另外,本發(fā)明的實(shí)施方式不限于上述的實(shí)施方式,在不脫離本發(fā)明的要義的范圍內(nèi),可以進(jìn)行各種變更。
權(quán)利要求
1.一種信息處理裝置,為了經(jīng)由網(wǎng)絡(luò)與連接在上述網(wǎng)絡(luò)上的其它設(shè)備進(jìn)行通信而執(zhí)行通信處理,其特征在于,具備第一處理單元,響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的上述通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理;和第二處理單元,根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述網(wǎng)絡(luò)協(xié)議棧的第二處理,其中,上述第一處理單元通過由上述應(yīng)用程序調(diào)用的API、即應(yīng)用程序接口來執(zhí)行上述第一處理。
2.如權(quán)利要求1所述的信息處理裝置,其特征在于,還具備監(jiān)視單元,監(jiān)視上述第二處理單元的狀態(tài),并蓄積與其狀態(tài)有關(guān)的信息。
3.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述第一處理單元通過選擇執(zhí)行上述第一處理所需的上述API并裝載所選擇的上述API,來執(zhí)行上述第一處理。
4.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述API是套接字API。
5.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述網(wǎng)絡(luò)協(xié)議棧是TCP/IP、即傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議。
6.如權(quán)利要求1所述的信息處理裝置,其特征在于,還具備第三處理單元,在上述第二處理單元發(fā)生故障的情況下,執(zhí)行上述第二處理,其中,上述第一處理單元在上述第二處理單元發(fā)生故障的情況下,從上述應(yīng)用程序取得故障發(fā)生前的狀態(tài),并根據(jù)所取得的上述狀態(tài)的結(jié)果,執(zhí)行上述第一處理,上述第三處理單元根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述第二處理。
7.如權(quán)利要求1所述的信息處理裝置,其特征在于,還具備第三處理單元,在上述第一處理單元或上述第二處理單元發(fā)生故障的情況下,執(zhí)行上述第一處理;和第四處理單元,在上述第一處理單元或上述第二處理單元發(fā)生故障的情況下,執(zhí)行上述第二處理,其中,上述第三處理單元在上述第一處理單元或上述第二處理單元發(fā)生故障的情況下,從上述應(yīng)用程序取得故障發(fā)生前的狀態(tài),并根據(jù)所取得的上述狀態(tài)的結(jié)果,執(zhí)行上述第一處理,上述第四處理單元根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述第二處理。
8.一種信息處理裝置的信息處理方法,該信息處理裝置具備為了經(jīng)由網(wǎng)絡(luò)與連接在上述網(wǎng)絡(luò)上的其它設(shè)備進(jìn)行通信而執(zhí)行通信處理第一處理單元和第二處理單元,其特征在于,上述信息處理方法包括第一處理步驟,響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的上述通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理;和第二處理步驟,根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述網(wǎng)絡(luò)協(xié)議棧的第二處理,其中,上述第一處理步驟通過由上述應(yīng)用程序調(diào)用的API來執(zhí)行上述第一處理。
9.一種程序,為了經(jīng)由網(wǎng)絡(luò)與連接在上述網(wǎng)絡(luò)上的其它設(shè)備進(jìn)行通信而使第一處理單元和第二處理單元執(zhí)行通信處理,其特征在于,上述程序包括第一處理步驟,響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的上述通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理;和第二處理步驟,根據(jù)上述第一處理的處理結(jié)果,執(zhí)行上述網(wǎng)絡(luò)協(xié)議棧的第二處理,其中,上述第一處理步驟通過由上述應(yīng)用程序調(diào)用的API來執(zhí)行上述第一處理。
全文摘要
本發(fā)明提供一種信息處理裝置和方法以及程序,可以向特定的網(wǎng)絡(luò)協(xié)議棧提供多種多樣的API。API處理部(121)響應(yīng)來自應(yīng)用程序的請(qǐng)求,執(zhí)行由多層構(gòu)成的通信處理當(dāng)中、網(wǎng)絡(luò)協(xié)議棧的上層的第一處理,協(xié)議棧處理部(142)根據(jù)第一處理的處理結(jié)果,執(zhí)行網(wǎng)絡(luò)協(xié)議棧的第二處理,從而可以向特定的網(wǎng)絡(luò)協(xié)議棧提供多種多樣的API。本發(fā)明適用于個(gè)人計(jì)算機(jī)。
文檔編號(hào)H04L12/56GK1997028SQ20071000182
公開日2007年7月11日 申請(qǐng)日期2007年1月5日 優(yōu)先權(quán)日2006年1月5日
發(fā)明者根石英生 申請(qǐng)人:索尼株式會(huì)社