專利名稱:信息處理裝置和方法以及程序的制作方法
技術(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(注冊商標(biāo))中利用軟件(軟件程序)安裝的,即使在現(xiàn)在,其處理的大部分也由軟件執(zhí)行。但是,隨著大容量數(shù)據(jù)的網(wǎng)絡(luò)傳輸要求的提高,要求實(shí)現(xiàn)TCP/IP處理的高速化的呼聲變大。
針對該要求,出現(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é)議棧。另外,一般情況下,對應(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è)平臺的軟件時(shí)使用的命令或函數(shù)的集合。具體地說,例如套接字API(Socket API)被定義在應(yīng)用層和傳輸層之間,由此進(jìn)行網(wǎng)絡(luò)通信或進(jìn)程間通信(IPC(InterProcess Communication))。這些套接字API例如在OS為UNIX(注冊商標(biāo))的情況下,利用BSD套接字安裝,而在OS為Windows(注冊商標(biāo))的情況下,利用Winsock(Windows(注冊商標(biāo))套接字)來安裝。
即,在現(xiàn)有技術(shù)中,協(xié)議棧和API在不可分地連結(jié)的狀態(tài)下進(jìn)行TCP/IP處理。
并且,還有一種如下工作的發(fā)送裝置在將輸入的AV(視聽,Audio Visual)數(shù)據(jù)存儲到AV緩沖電路中后,在分組處理部中,生成32k字節(jié)的龐大分組數(shù)據(jù),根據(jù)CPU生成的報(bào)頭數(shù)據(jù)對所生成的龐大分組數(shù)據(jù)進(jìn)行分割,生成最大1518字節(jié)的以太網(wǎng)(注冊商標(biāo))分組并發(fā)送(例如專利文獻(xiàn)1)。
特開2003-229905號公報(bào)發(fā)明內(nèi)容發(fā)明所要解決的技術(shù)問題但是,在安裝協(xié)議棧的情況下,協(xié)議棧和API由OS的內(nèi)核內(nèi)部不可分地連結(jié),因此存在對于特定的協(xié)議棧無法提供多種多樣的API的問題。
例如,特開2003-229905號公報(bào)所公開的發(fā)送裝置在分割分組數(shù)據(jù)后發(fā)送,但由于協(xié)議棧和API不可分地連結(jié),因此可能無法使用多種多樣的API。
另外,由于協(xié)議棧和API緊密連結(jié),因此還存在的問題是,在協(xié)議棧和API中的一方發(fā)生故障的情況下,對另一方也會(huì)產(chǎn)生直接影響。
而且,無法僅選擇必要的API來裝載到存儲器上,因此還存在存儲器的使用效率差的問題。
本發(fā)明鑒于這種情況作出,可以對特定的協(xié)議棧提供多種多樣的API。
解決技術(shù)問題的技術(shù)手段本發(fā)明的一個(gè)方面是一種信息處理裝置,為了經(jīng)由網(wǎng)絡(luò)與連接在上述網(wǎng)絡(luò)上的其它設(shè)備進(jìn)行通信而執(zhí)行通信處理,其特征在于,具備第一處理單元,響應(yīng)來自應(yī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é)議棧可以是TCP/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)用程序的請求,執(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)用程序的請求,執(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)用程序的請求,執(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é)議棧模塊一對一地連接的情況的圖。
符號說明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í)施方式的對應(yīng)關(guān)系。該記載是用于確認(rèn)支持本發(fā)明的實(shí)施方式記載在說明書或附圖中。因此,即使有雖然記載在說明書或附圖中、但作為對應(yīng)于本發(fā)明的構(gòu)成要件的實(shí)施方式在此沒有記載的實(shí)施方式,也不意味著該實(shí)施方式不對應(yīng)于該構(gòu)成要件。相反,即使實(shí)施方式對應(yīng)于構(gòu)成要件在此記載,也不意味著該實(shí)施方式不對應(yīng)于該構(gòu)成要件以外的構(gòu)成要件。
本發(fā)明一個(gè)方面的信息處理裝置(例如圖1的個(gè)人計(jì)算機(jī)1)具備第一處理單元(例如圖3的API處理部121),響應(yīng)來自應(yī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)用程序的請求,執(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按照存儲在ROM(只讀存儲器)12中的程序或者從記錄部18裝載到RAM(隨機(jī)存取存儲器)13中的程序來執(zhí)行各種處理。RAM13中還適當(dāng)存儲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)體存儲器等可裝卸媒體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按照存儲在ROM52中的程序或者從記錄部55裝載到RAM53中的程序來執(zhí)行各種處理。RAM53中還適當(dāng)?shù)卮鎯PU51執(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í)行與該操作相對應(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提供與該操作相對應(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提供的、對應(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(注冊商標(biāo))類的BSD套接字或Windows(注冊商標(biāo))類的Winsock等套接字API,提供用于收發(fā)數(shù)據(jù)的規(guī)定功能。套接字代理132進(jìn)行對應(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,簡單網(wǎng)絡(luò)管理協(xié)議)接口等與協(xié)議棧模塊102有關(guān)的規(guī)定功能。協(xié)議棧API133進(jìn)行對應(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)之間的接口的詳情將參照圖4后述。
網(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也可以對自己所蓄積的信息進(jìn)行分析,或者在對這些信息進(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é)議棧處理不對CPU11(圖1)造成負(fù)擔(dān),不由CPU11執(zhí)行,而由CPU51(圖2)執(zhí)行。
如上所述,在個(gè)人計(jì)算機(jī)1中,API與協(xié)議棧分離,因此用戶模塊101不進(jìn)行協(xié)議棧的處理,而由協(xié)議棧模塊102執(zhí)行協(xié)議棧的處理。
以下參照圖4說明用戶模塊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ī)存取存儲器/同步SRAM)標(biāo)準(zhǔn),用于用戶模塊101和協(xié)議棧模塊102之間的命令(協(xié)議棧命令)的交換或傳輸不需要高速傳輸?shù)臄?shù)據(jù)的情況。
另外,數(shù)據(jù)總線例如由32/64位選擇式DMA(Direct MemoryAccess,直接存儲器存取)構(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è)例子,參照圖5的流程圖說明由圖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(注冊商標(biāo))類的OS上運(yùn)行的情況下,發(fā)出BSD套接字命令(在Windows(注冊商標(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(注冊商標(biāo))類的OS上運(yùn)行的情況下,進(jìn)行與應(yīng)用程序111提供的BSD套接字命令相對應(yīng)的規(guī)定處理,并將通過規(guī)定的處理得到的AV數(shù)據(jù)等數(shù)據(jù)經(jīng)由數(shù)據(jù)總線提供給協(xié)議棧模塊102(協(xié)議棧處理部142)。另外,API處理部121生成與應(yīng)用程序111提供的BSD套接字命令相對應(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é)議棧命令,對經(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一對一地連接的情況。
首先,參照圖6,說明在個(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ā)送被廢棄的分組。
以下參照圖7說明在個(gè)人計(jì)算機(jī)1中,中間件113的實(shí)例與協(xié)議棧模塊102一對一地連接的情況。
在圖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)用戶對應(yīng)用程序111(GUI命令工具112)的操作,僅選擇套接字代理132或協(xié)議棧API133等各功能中必要的功能來裝載,從而可以有效地利用存儲器。結(jié)果,即使是資源不足的設(shè)備,也可以有效地利用存儲器,因此可以進(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(高密度盤-只讀存儲器)、DVD(數(shù)字通用盤))、光磁盤(包括MD(微型盤,Mini-Disk(注冊商標(biāo)))或者半導(dǎo)體存儲器等構(gòu)成。
另外,執(zhí)行上述一系列處理的程序可以根據(jù)需要經(jīng)由路由器、調(diào)制解調(diào)器等的接口,并經(jīng)由本地局域網(wǎng)、互聯(lián)網(wǎng)、數(shù)字衛(wèi)星廣播等有線或無線通信媒體安裝到計(jì)算機(jī)中。
在本說明書中,描述存儲在記錄媒體中的程序的步驟不僅包括沿著所記載的順序并按照時(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)用程序的請求,執(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)用程序的請求,執(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)用程序的請求,執(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)用程序的請求,執(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ī)。
文檔編號H04L12/56GK1997028SQ20071000182
公開日2007年7月11日 申請日期2007年1月5日 優(yōu)先權(quán)日2006年1月5日
發(fā)明者根石英生 申請人:索尼株式會(huì)社