本發(fā)明涉及一種網(wǎng)絡(luò)控制器和方法,且更加特別地涉及一種便于擴展通訊協(xié)議功能的網(wǎng)絡(luò)控制器。
背景技術(shù):
:最近,通過將裝置連入網(wǎng)絡(luò)從而提供新的附加值的趨勢正在增長。因此,增加網(wǎng)絡(luò)功能并改善連接性變得很有必要。為了應(yīng)付這種擴展,通過提供獨立于應(yīng)用程序的將通訊協(xié)議處理模塊化的API從而降低開發(fā)成本并便于增加功能的技術(shù)是眾所周知的。已經(jīng)提出一種技術(shù)(例如JP-2004-506977-A),該技術(shù)可以生成協(xié)議無關(guān)和裝置無關(guān)的應(yīng)用程序和內(nèi)容,并將該內(nèi)容轉(zhuǎn)換為通過使用資源描述框架(RDF)的任何協(xié)議和裝置都支持的內(nèi)容數(shù)據(jù)。并且,還提出了一種處理的共享模塊化和它的配置的技術(shù)(例如JP-2004-005503-A),該技術(shù)是為了便于開發(fā)和增加提供Web服務(wù)的應(yīng)用程序。然而,JP-2004-506977-A和JP-2004-005503-A中所描述的技術(shù)需要實質(zhì)的開發(fā)資源來增加和擴展通訊協(xié)議的功能。此外,在對每一個通訊協(xié)議獨立地進行開發(fā)并從例如OSS的現(xiàn)有的資源中分出來的情況下,在整個通訊協(xié)議中存在許多冗余處理,并且這導致了產(chǎn)生例如ROM和RAM的資源的浪費。對于嵌入式系統(tǒng),在只有有限的可用資源的的情況下,這個問題尤其突出。此外,由于這樣多的冗余處理而導致的需要的許多修改使維護變得復雜,所述修改例如是錯誤修改。并且,通訊協(xié)議和應(yīng)用程序?qū)又g有過多的模糊界限,在存在多個應(yīng)用程序的情況下,就會有開發(fā)資源的浪費,這種浪費是由在應(yīng)用程序中的包含通訊處理的一部分而引起的。技術(shù)實現(xiàn)要素:本發(fā)明提供了新穎的網(wǎng)絡(luò)控制器和方法,其不需要大的開發(fā)資源來添加并擴展通訊協(xié)議的功能且保持高的通訊質(zhì)量,不會產(chǎn)生資源浪費,方便維護,并可以被應(yīng)用于嵌入式系統(tǒng)。更確切地說,本發(fā)明提供一種網(wǎng)絡(luò)控制器,該網(wǎng)絡(luò)控制器包括經(jīng)由網(wǎng)絡(luò)與多個終端進行通訊的網(wǎng)絡(luò)接口、與利用多種通訊協(xié)議的上層應(yīng)用程序進行通訊的上層應(yīng)用程序接口、控制多個協(xié)議處理步驟以便利用多種通訊協(xié)議經(jīng)由網(wǎng)絡(luò)與多個終端進行通訊的協(xié)議處理步驟控制器以及分析多種通訊協(xié)議并進一步包括協(xié)議報頭分析單元的協(xié)議分析單元,其中協(xié)議報頭分析單元單獨分析多種通訊協(xié)議的多個通訊協(xié)議報頭。附圖說明當結(jié)合附圖仔細考慮時,通過參考以下詳細說明,將容易地得到并且更好地理解本公開的更加全面的評價和許多附加優(yōu)點。圖1是說明包含作為本發(fā)明的實施例的網(wǎng)絡(luò)控制器的系統(tǒng)的配置的圖表。圖2是說明作為本發(fā)明的實施例的網(wǎng)絡(luò)控制器的硬件配置的圖表。圖3是說明作為本發(fā)明的實施例的網(wǎng)絡(luò)控制器的功能塊的圖表。圖4A和4B是說明用于作為本發(fā)明的實施例的網(wǎng)絡(luò)控制器的、要求經(jīng)由網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的數(shù)據(jù)格式和請求數(shù)據(jù)的圖表。圖5A和5B是說明對請求數(shù)據(jù)做出響應(yīng)的數(shù)據(jù)格式和響應(yīng)數(shù)據(jù)的圖表,其中該請求數(shù)據(jù)是要求經(jīng)由網(wǎng)絡(luò)發(fā)送數(shù)據(jù)用于作為本發(fā)明的實施例的網(wǎng)絡(luò)控制器的數(shù)據(jù)。圖6A和6B是說明作為本發(fā)明的實施例的數(shù)據(jù)格式和要求共享經(jīng)由網(wǎng)絡(luò)接收到的數(shù)據(jù)的請求數(shù)據(jù)的圖表。圖7是說明作為本發(fā)明的實施例的通過遠程網(wǎng)絡(luò)共享接收到的數(shù)據(jù)的數(shù)據(jù)格式和響應(yīng)數(shù)據(jù)的圖表。圖8是說明包含第一實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為服務(wù)器工作的設(shè)備的操作的實例的時序圖。圖9是說明包含第一實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為服務(wù)器工作的設(shè)備的操作的實例的時序圖。圖10是說明包含第一實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為服務(wù)器工作的設(shè)備的操作的時序圖。圖11A和11B是說明包含第一實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為服務(wù)器工作的設(shè)備的操作的時序圖。圖12A和12B是說明包含第二實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為HTTP客戶端工作的設(shè)備的操作的時序圖。圖13A和13B是說明包含第二實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為HTTP客戶端工作的設(shè)備的操作的時序圖。圖14A和14B是說明包含第二實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為HTTP客戶端工作的設(shè)備的操作的時序圖。圖15是說明包含第二實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為HTTP客戶端工作的設(shè)備的操作的時序圖。圖16A和16B是說明包含第二實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為HTTP客戶端工作的設(shè)備的操作的時序圖。圖17A和17B是說明包含第二實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為HTTP客戶端工作的設(shè)備的操作的時序圖。圖18A和18B是說明包含第二實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為HTTP客戶端工作的設(shè)備的操作的時序圖。圖19A和19B是說明包含第二實施例的網(wǎng)絡(luò)控制器并在本發(fā)明中作為HTTP客戶端工作的設(shè)備的操作的時序圖。圖20是說明包含第三實施例的網(wǎng)絡(luò)控制器并執(zhí)行在本發(fā)明中作為HTTP客戶端的加密通訊的設(shè)備的操作的時序圖。圖21A和21B是說明包含第三實施例的網(wǎng)絡(luò)控制器并執(zhí)行在本發(fā)明中作為HTTP客戶端的加密通訊的設(shè)備的操作的時序圖。圖22是說明包含第三實施例的網(wǎng)絡(luò)控制器并執(zhí)行在本發(fā)明中作為HTTP客戶端的加密通訊的設(shè)備的操作的時序圖。圖23A和23B是說明包含第三實施例的網(wǎng)絡(luò)控制器并執(zhí)行在本發(fā)明中作為HTTP客戶端的加密通訊的設(shè)備的操作的時序圖。具體實施方式在描述附圖中所示的較佳實施例時,為了清楚起見使用具體的術(shù)語。但是,本發(fā)明的公開內(nèi)容并不打算局限于所選擇的具體的術(shù)語,而是可以理解成,每一個具體元件都包括所有具有同樣功能、以類似的方式操作并獲得類似的結(jié)果的技術(shù)等效物。下面將參考附圖詳細描述本發(fā)明的實施例。在本發(fā)明中,與通訊方的協(xié)商處理步驟、分析包結(jié)構(gòu)以及獨立于通訊協(xié)議的API為實現(xiàn)所有通訊協(xié)議的處理。只有分析協(xié)議報頭的部分(通訊控制部分)對于每一個協(xié)議單獨實現(xiàn)。圖1是說明包含作為本發(fā)明的實施例的網(wǎng)絡(luò)控制器的系統(tǒng)的配置的實例的圖表。在圖1中,系統(tǒng)由網(wǎng)絡(luò)控制器1、投影儀2以及輸入裝置3構(gòu)成。網(wǎng)絡(luò)控制器1包括用戶接口(UI),通過應(yīng)用程序?qū)崿F(xiàn)功能并控制與外部裝置的通訊。投影儀2是例如液晶投影儀的投影儀,并利用燈泡將例如來自于網(wǎng)絡(luò)控制器1的圖像的數(shù)據(jù)投影到墻面等上。例如電源按鈕和選擇按鈕等的輸入裝置3將輸入數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)控制器1。圖2是說明作為本發(fā)明的實施例的網(wǎng)絡(luò)控制器的硬件配置的圖表。如圖2所示,網(wǎng)絡(luò)控制器1由通訊處理器11、主處理器12和外部設(shè)備13構(gòu)成。通訊處理器11控制通訊(通過網(wǎng)絡(luò))并由中央處理單元(CPU)101、ROM102、本地接口(I/F)103、存儲裝置104、RAM105以及網(wǎng)絡(luò)I/F106構(gòu)成。主處理器12是所謂的CPU,且外部設(shè)備將圖像數(shù)據(jù)等輸出給類似于上述投影儀的外側(cè)。通訊處理器11是在通過本發(fā)明中的網(wǎng)絡(luò)控制器1控制網(wǎng)絡(luò)時起重要作用的處理器。本地I/F103是例如USB和PCIe的接口,且網(wǎng)絡(luò)I/F106是例如無線LAN和有線LAN的網(wǎng)絡(luò)接口。圖3是說明作為本發(fā)明的實施例的網(wǎng)絡(luò)控制器的功能塊的圖表。如圖3所示,通過本發(fā)明的網(wǎng)絡(luò)控制器1來控制通訊是通過執(zhí)行客戶端處理步驟存儲單元201、服務(wù)器處理步驟存儲單元202、應(yīng)用程序?qū)犹幚聿襟E管理單元203、應(yīng)用程序?qū)影幚韱卧?05、應(yīng)用程序?qū)佑行ж撦d(payload)管理單元208、應(yīng)用程序?qū)訄箢^管理單元209、用于每一個協(xié)議的報頭管理單元、通訊數(shù)據(jù)格式控制單元215以及裝置信息管理單元216中的每一個功能來進行的。對于協(xié)議管理單元,有DNS報頭管理單元210、HTTP報頭管理單元211、PJLink報頭管理單元212、DHCPv4報頭管理單元213以及SNMP報頭管理單元214。應(yīng)用程序?qū)訄箢^管理單元209單獨分析來自每一個管理單元的報頭信息。在網(wǎng)絡(luò)控制器控制作為客戶端終端的通訊的情況下,客戶端處理步驟存儲單元201(協(xié)議處理步驟控制單元)在建立連接后存儲客戶端的具體的包發(fā)送/接收處理步驟??蛻舳颂幚聿襟E存儲單元201順序執(zhí)行多個客戶端處理步驟并實現(xiàn)包發(fā)送/接收??蛻舳颂幚聿襟E包括DNS客戶端處理步驟、HTTP客戶端處理步驟以及(用于獲得代理認證方法)HTTP客戶端處理步驟,且客戶端處理步驟存儲單元201同時執(zhí)行那些處理步驟中的一個。在網(wǎng)絡(luò)控制器作為服務(wù)器控制通訊的情況下,服務(wù)器處理步驟存儲單元202(協(xié)議處理步驟控制單元)在建立連接后存儲服務(wù)器的具體的包發(fā)送/接收處理步驟。應(yīng)用程序?qū)犹幚聿襟E管理單元203管理在應(yīng)用程序?qū)又械陌l(fā)送/接收包的整個過程。并且,應(yīng)用程序?qū)犹幚聿襟E管理單元203控制連接和斷開通訊。在這個方面,應(yīng)用程序?qū)犹幚聿襟E管理單元203參照存儲在協(xié)議重發(fā)信息表204中的超時時間和重試的次數(shù)。應(yīng)用程序?qū)影幚韱卧?05(協(xié)議分析方法)知道在應(yīng)用程序?qū)又械陌蓤箢^和有效負載構(gòu)成。應(yīng)用程序?qū)影幚韱卧?05基于從上層(應(yīng)用程序)接收到的數(shù)據(jù)為應(yīng)用程序?qū)由砂⑺麄儌鞯较聦?,在該下層中下一個處理被執(zhí)行。同樣,應(yīng)用程序?qū)影幚韱卧?05基于從下層接收到的數(shù)據(jù)為應(yīng)用程序?qū)臃治霭⑺麄儌鞯缴蠈?,在該上層中下一個處理被執(zhí)行。應(yīng)用程序?qū)影幚韱卧?05還編碼/解碼數(shù)據(jù)塊。當應(yīng)用程序?qū)影幚韱卧?05基于從下層接收到的數(shù)據(jù)為應(yīng)用程序?qū)臃治霭⑺鼈儌鞯缴蠈?,在該上層中下一個處理被執(zhí)行時,應(yīng)用程序?qū)影幚韱卧?05參照分配給上層應(yīng)用程序的表206(關(guān)聯(lián)表,anassociationtable)。隨后將詳細描述分配給上層應(yīng)用程序的表206。如果需要的話,應(yīng)用程序?qū)犹幚聿襟E管理單元203和應(yīng)用程序?qū)影幚韱卧?05使用SSL/TLS207。SSL/TLS207控制在應(yīng)用程序?qū)右韵碌膶拥募用芡ㄓ?。?yīng)用程序?qū)犹幚聿襟E管理單元203在SSL/TLS握手(例如共享加密密鑰和認證通訊方)中使用SSL/TLS207,且應(yīng)用程序?qū)影幚韱卧?05在加密和解碼要被發(fā)送和接收的數(shù)據(jù)中使用SSL/TLS207。應(yīng)用程序?qū)佑行ж撦d管理單元208(有效負載分析單元)知道應(yīng)用程序?qū)又械挠行ж撦d的結(jié)構(gòu)。應(yīng)用程序?qū)訄箢^管理單元209(協(xié)議報頭分析單元)知道應(yīng)用程序?qū)又械膱箢^的結(jié)構(gòu)。更進一步地,應(yīng)用程序?qū)訄箢^管理單元209包含DNS報頭管理單元210、HTTP報頭管理單元211、PJLink報頭管理單元212、DHCPv4報頭管理單元213以及SNMP報頭管理單元214,這些單元單獨管理每一個協(xié)議報頭。DNS報頭管理單元210知道每一種類型的DNS報頭的報頭結(jié)構(gòu)。同樣,DNS報頭管理單元210知道存儲在DNS報頭中的信息。更進一步地,DNS報頭管理單元210知道向其發(fā)送DNS報頭和從其接收DNS報頭的通訊方。HTTP報頭管理單元211知道HTTP報頭的結(jié)構(gòu),且PJLink報頭管理單元212知道PJLink指令的格式。同樣,DHCPv4報頭管理單元213知道DHCPv4報頭的結(jié)構(gòu),且SNMP報頭管理單元214知道SNMP報頭的結(jié)構(gòu)。通訊數(shù)據(jù)格式管理單元215知道在應(yīng)用程序?qū)又械挠行ж撦d的數(shù)據(jù)格式,且裝置信息管理單元216知道裝置信息管理單元217。認證數(shù)據(jù)管理單元218知道可以利用協(xié)議傳輸?shù)恼J證數(shù)據(jù)的格式。認證數(shù)據(jù)管理單元218管理HTTP報頭管理單元211、PJLink報頭管理單元212以及裝置信息管理單元216的每一個認證數(shù)據(jù)。輸入/輸出數(shù)據(jù)存儲單元219存儲與協(xié)議處理相對應(yīng)的輸入數(shù)據(jù)和輸出數(shù)據(jù)。輸入/輸出數(shù)據(jù)存儲單元219存儲處理協(xié)議和處理結(jié)果所必需的輸入數(shù)據(jù),并且可以被普遍訪問。接下來,下面參考表1A和1B描述分配給上層應(yīng)用程序的表206。表1A表1B分配給上層應(yīng)用程序的表206是當應(yīng)用程序?qū)影幚韱卧?05將數(shù)據(jù)傳輸給上層應(yīng)用程序時應(yīng)用程序?qū)影幚韱卧?05所使用的分布表。分配給上層應(yīng)用程序的表206提供了確定“使用的資源和傳輸控制方法”的規(guī)則。接下來,將在下面描述“內(nèi)容數(shù)據(jù)的特性”。“內(nèi)容數(shù)據(jù)的特性”可以從例如HTTP的應(yīng)用程序協(xié)議的報頭信息(控制信息)被獲得?!安僮鲗ο蟆庇腥N類型的特性,“/service/projection”、“/state”以及“/property”,這些都與每一個數(shù)據(jù)的內(nèi)容相對應(yīng),且它們識別分配的目的地的應(yīng)用程序。這里有三種類型的“操作方法”,“POST”、“PUT”以及“GET”,它們與每一個數(shù)據(jù)的內(nèi)容相對應(yīng),且它們識別用于包含在有效負載中的內(nèi)容數(shù)據(jù)的操作。同樣,這里有三種類型的“MIME類型”,“application/json”、“image/jpeg”以及“video/x-rncb”,它們與每一個數(shù)據(jù)的內(nèi)容相對應(yīng),且它們識別包含在有效負載中的內(nèi)容數(shù)據(jù)的類型。更近一步地,這里有兩種類型的“包含操作對象的子系統(tǒng)的名稱”,“OMAP”和“Shockley”,它們與每一個數(shù)據(jù)的內(nèi)容相對應(yīng),且它們由系統(tǒng)配置所確定并且它們識別用于為每一個傳輸目的地傳輸每一個數(shù)據(jù)的存儲器。接下來,將在下面描述表1B中的“使用的資源和傳輸控制方法”。對于“控制信息包含在被傳輸?shù)臄?shù)據(jù)中了嗎?”有兩種類型,“是”和“否”,它們與每一個數(shù)據(jù)的內(nèi)容相對應(yīng),且它們確定報頭信息是否被傳到應(yīng)用程序。同樣,這里有三種類型的“使用的緩存”,“SRAM_WHIO(小尺寸)”、“SRAM_WHIO(大尺寸)”以及“SRAM_DATA”,它們與每一個數(shù)據(jù)的內(nèi)容相對應(yīng),且它們識別在傳輸數(shù)據(jù)中所使用的緩存類型。更近一步地,這里有兩種類型的“傳輸單位”,“緩存大小或者實際數(shù)據(jù)大小”以及“數(shù)據(jù)塊大?。ㄒ酝ㄓ嵎剿付ǖ膭澐謹?shù)據(jù)的單位)”,它們與每一個數(shù)據(jù)相對應(yīng),且它們識別對于每一個傳輸時間的傳輸數(shù)據(jù)的單位。例如,如果數(shù)據(jù)的內(nèi)容是No.3的投影數(shù)據(jù)(PC屏幕),則“操作對象”是“/service/projection”、“操作方法”是“PUT”、“MIME類型”是“video/x-rncb”以及“包含操作對象的子系統(tǒng)的名稱”是“OMAP”。更近一步地,“控制信息包含在被傳輸?shù)臄?shù)據(jù)中了嗎?”為“是”、“使用的緩存”是“SRAM_WHIO(大尺寸)”以及“傳輸單位”是“數(shù)據(jù)塊大?。ㄒ酝ㄓ嵎剿付ǖ膭澐謹?shù)據(jù)的單位)”。接下來,以下將參考圖4A和4B描述響應(yīng)于來自應(yīng)用程序的請求,在向網(wǎng)絡(luò)傳輸數(shù)據(jù)時的數(shù)據(jù)格式以及其實例。如圖4A和4B所示,數(shù)據(jù)依賴于內(nèi)部資源和要被發(fā)送的數(shù)據(jù)的大小被劃分。圖4A的左邊所示為數(shù)據(jù)格式(在應(yīng)用程序?qū)犹巹澐种埃?,且圖4A的右邊以及圖4B中按數(shù)字順序所示為劃分數(shù)據(jù)(請求數(shù)據(jù)1到3)的實例?!皠澐謹?shù)據(jù)大小”表示在物理層中傳輸數(shù)據(jù)的大小。例如,參考請求數(shù)據(jù)1,雖然劃分前應(yīng)用程序數(shù)據(jù)是4620字節(jié),劃分數(shù)據(jù)是2032字節(jié)。值得注意的是,由于請求數(shù)據(jù)1變成作為“HTTP報頭/主體”的數(shù)據(jù),在劃分數(shù)據(jù)的2032字節(jié)中的524字節(jié)被分配給控制參數(shù)?!癊OF”是表示劃分數(shù)據(jù)是否為最后數(shù)據(jù)的參數(shù)?!皯?yīng)用程序數(shù)據(jù)大小”是在邏輯層中的傳輸數(shù)據(jù)大小,且在數(shù)據(jù)被劃分的情況下明顯與劃分數(shù)據(jù)大小的總和相等。同樣,“目的地”是在設(shè)備內(nèi)交換數(shù)據(jù)的信息且為指定執(zhí)行下一個處理的模塊的參數(shù)?!坝嘘P(guān)報文(message)ID的詳細信息”是指定應(yīng)用程序?qū)W(wǎng)絡(luò)的請求/響應(yīng)或者網(wǎng)絡(luò)對應(yīng)用程序的請求/響應(yīng)的參數(shù)。“目的地主機”和“目的地端口”是表示外部裝置的目的地信息的參數(shù)。更具體地,“目的地主機”是IP地址(或域名),且“目的地端口”是網(wǎng)絡(luò)端口號。“協(xié)議類型”是指定例如HTTP和HTTPS(HTTPoverSSL,基于SSL的HTTP)的應(yīng)用程序協(xié)議的參數(shù)。同樣,“證書CN名稱”、“認證證書組”、“在服務(wù)器認證失敗情況下的操作”以及“進行/不進行證書CN的檢查”是在加密通訊中SSL/TLS207所使用的信息。在本實施例中它們通過同時指定加密通訊所必需的信息來隱藏用于SSL/TLS的處理的內(nèi)容?!笆褂?不使用代理”是指定是否通過代理建立連接的參數(shù)。在本實施例中,它隱藏代理服務(wù)器的目的地以及用于通過代理連接的處理的內(nèi)容?!皟?nèi)容數(shù)據(jù)”表示要被發(fā)送給外部裝置中的通訊方的數(shù)據(jù)的內(nèi)容。值得注意的是,除了上面所描述的參數(shù)以外,圖4A和4B中的其他參數(shù)(通訊模式、振動以及預約)的描述被省略,這是由于它們在本實施例中與處理的內(nèi)容無關(guān)。接下來,參考圖5A和5B描述對網(wǎng)絡(luò)發(fā)送請求的響應(yīng)數(shù)據(jù)。那些與參考圖4A和4B所描述的元件相同的元件被省略?!霸础笔潜硎就ㄓ嵞K的標識符的參數(shù),且它由接收這個報文的應(yīng)用程序所看出。“發(fā)送結(jié)果”是表示執(zhí)行發(fā)送處理的結(jié)果的參數(shù)。例如,參考響應(yīng)數(shù)據(jù)1,“發(fā)送結(jié)果”是“0x01(成功)”,由于只有響應(yīng)數(shù)據(jù),因此內(nèi)容數(shù)據(jù)是0字節(jié),且只有4字節(jié)被分配給4字節(jié)的應(yīng)用程序數(shù)據(jù)作為控制參數(shù)。更進一步地,參考圖6A和圖6B描述共享通過網(wǎng)絡(luò)接收到的數(shù)據(jù)的請求的數(shù)據(jù)格式以及它的實例。那些與參考圖4A和4B所描述的元件相同的元件被省略?!皟?nèi)容類型”是表示包含在數(shù)據(jù)中的內(nèi)容的數(shù)據(jù)參數(shù)。接下來,參考圖7描述請求共享通過網(wǎng)絡(luò)接收到的數(shù)據(jù)的響應(yīng)數(shù)據(jù)的數(shù)據(jù)格式以及它的實例。那些與參考圖4A和4B所描述的元件相同的元件被省略。如圖7所示,由于對于接收結(jié)果只有響應(yīng)數(shù)據(jù),因此只有4字節(jié)被分配給4字節(jié)的應(yīng)用程序數(shù)據(jù)作為控制參數(shù)。第一實施例下面參考圖8到圖11A和11B的時序圖描述在包含本發(fā)明的第一實施例的網(wǎng)絡(luò)控制器的設(shè)備作為HTTP服務(wù)器進行操作的情況下的處理的時序。時序圖的上部中所示為執(zhí)行每一個處理的處理單元。在圖8到圖11A和11B的時序圖中從左到右的順序依次為,人(TRANS_RXTX1_TASK)301、應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302、數(shù)據(jù)隊列303、服務(wù)器處理步驟存儲單元202、應(yīng)用程序?qū)影幚韱卧?05、HTTP報頭管理單元211、應(yīng)用程序?qū)佑行ж撦d管理單元208、分配給上層應(yīng)用程序的表206、套接字(socket)I/F網(wǎng)橋304、與應(yīng)用程序?qū)舆B接的網(wǎng)橋305以及與裝置信息連接的網(wǎng)橋306。在圖8中,人301啟動應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302(S1)。接著,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302在服務(wù)器處理步驟存儲單元202上執(zhí)行協(xié)議處理步驟啟動處理(S2)。服務(wù)器處理步驟存儲單元202等待接收數(shù)據(jù)直到另外一個設(shè)備(HTTP客戶端)通過套接字I/F網(wǎng)橋304連接到服務(wù)器處理步驟存儲單元202(S3)。服務(wù)器處理步驟存儲單元202生成第一個包(S4)并分配應(yīng)用程序所使用的存儲區(qū)域(堆(heap))。用于HTTP請求2051的存儲區(qū)域分配給應(yīng)用程序?qū)影幚韱卧?05,用于請求報頭2111的存儲區(qū)域分配給HTTP報頭管理單元211,并用于請求主體2081的存儲區(qū)域分配給應(yīng)用程序?qū)佑行ж撦d管理單元208。在應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302開始執(zhí)行協(xié)議處理步驟之后(S5),服務(wù)器處理步驟存儲單元202獲取下一個處理步驟(S6)。接著,服務(wù)器處理步驟存儲單元202分析HTTP請求包(S7),HTTP請求包是通過套接字I/F網(wǎng)橋304從另一個裝置(HTTP客戶端)接收到的(S8)。下面描述在包的分析期間錯誤出現(xiàn)在Shockley內(nèi)部的情況下的錯誤處理。如果錯誤是套接字錯誤,則包將完成分析包的信息和套接字錯誤返回給服務(wù)器處理步驟存儲單元202,并且服務(wù)器處理步驟存儲單元202丟棄包并完成處理步驟。如果錯誤是超時錯誤,則包返回完成分析包的信息和超時錯誤,并且服務(wù)器處理步驟存儲單元202執(zhí)行重新發(fā)送處理。值得注意的是重新發(fā)送處理的內(nèi)容對于每一個協(xié)議是不同的。更近一步地,在錯誤在包內(nèi)部的情況下,包儲存錯誤信息并將完成分析包的信息和無錯誤返回給服務(wù)器處理步驟存儲單元202。當包生成下一個包時,包將錯誤信息移交給下一個包,并且包返回具有“compose”(“編排”)的錯誤響應(yīng)。應(yīng)用程序?qū)影幚韱卧?05分析HTTP報頭管理單元211中的HTTP請求報頭(S9)。接著,應(yīng)用程序?qū)影幚韱卧?05利用分配給上層應(yīng)用程序的表206獲取資源信息,該資源信息與資源識別信息以及由應(yīng)用程序?qū)影幚韱卧?05指定的資源MIME類型相對應(yīng)(S10)。然后,應(yīng)用程序?qū)影幚韱卧?05檢查是否可以通過與裝置信息連接的網(wǎng)橋306將投影數(shù)據(jù)傳輸給外部裝置(例如投影儀)(S11)。也就是說,應(yīng)用程序?qū)影幚韱卧?05指定傳輸目的地應(yīng)用程序。值得注意的是,如果在搜索資源時出現(xiàn)錯誤,那么分配給上層應(yīng)用程序的表206就將錯誤響應(yīng)(E_RESOURCE_INFO_ERROR_REASON_NOT_FOUND,E_RESOURCE_INEO_ERROR_REASON_UNSUPPORTED_OPERATION,E_RESOURCE_INFO_ERROR_REASON_UNSUPPORTED_MEDIA)返回給應(yīng)用程序?qū)影幚韱卧?05。同樣,在S11中檢查是否可以傳輸投影數(shù)據(jù)時,如果由于某種原因不可以傳輸,例如外部裝置正處于節(jié)能模式,那么外部裝置就通過與裝置信息連接的網(wǎng)橋?qū)㈠e誤響應(yīng)返回給應(yīng)用程序?qū)影幚韱卧?05。接下來,如圖9所示,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302接收執(zhí)行協(xié)議處理步驟的通知(S12)后,則服務(wù)器處理步驟存儲單元202獲取下一個處理步驟(S13)。接著,服務(wù)器處理步驟存儲單元202分析應(yīng)用程序?qū)影幚韱卧?05(S14),并且應(yīng)用程序?qū)影幚韱卧?05分析HTTP請求主體(S15)。應(yīng)用程序?qū)影幚韱卧?05通過與應(yīng)用程序?qū)舆B接的網(wǎng)橋305獲取緩存(S16)并通過套接字I/F網(wǎng)橋304接收有效負載數(shù)據(jù)(S17)。接著,應(yīng)用程序?qū)影幚韱卧?05分析接收到的有效負載數(shù)據(jù)(S18)并將分析的數(shù)據(jù)通過與應(yīng)用程序?qū)舆B接的網(wǎng)橋305發(fā)送給應(yīng)用程序(S19)。上述從S16到S19的步驟是子系統(tǒng)之間的通訊并通過發(fā)送請求共享經(jīng)由網(wǎng)絡(luò)接收到的數(shù)據(jù)的命令被執(zhí)行。同樣,重復上述從S16到S19的處理直到完成有效負載的分析。值得注意的是,在從用戶獲取用于內(nèi)容的緩存的情況下,單獨訪問控制由SEM_TRANS_CNTNT執(zhí)行直到完成有效負載的分析。如果對有效負載的訪問被單獨地控制且單獨訪問控制在1秒內(nèi)沒有被釋放,那么應(yīng)用程序?qū)影幚韱卧?05就通過與應(yīng)用程序?qū)舆B接的網(wǎng)橋305將未探測到的響應(yīng)返回給應(yīng)用程序。同樣,在內(nèi)容緩存的情況下,在S19中應(yīng)用程序?qū)影幚韱卧?05首先僅將報頭傳輸給OMAP。當在不是數(shù)據(jù)塊的情況下用戶的緩存變滿并完成有效負載的分析時,以及當在是數(shù)據(jù)塊的情況下用戶的緩存變滿并為一個數(shù)據(jù)塊完成有效負載的分析時,那個傳輸被執(zhí)行。接下來,如圖10所示,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)接收執(zhí)行協(xié)議處理步驟的通知(S20)后,服務(wù)器處理步驟存儲單元202獲取下一個處理步驟(S21)。接著,服務(wù)器處理步驟存儲單元202在應(yīng)用程序?qū)影幚韱卧?05中生成下一個包(S22),且應(yīng)用程序?qū)影幚韱卧?05接收來自于應(yīng)用程序的數(shù)據(jù)并分配存儲區(qū)域用于生成HTTP響應(yīng)2052(堆)。應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元211中生成下一個報頭(S23),且HTTP報頭管理單元211分配存儲區(qū)域用于生成HTTP響應(yīng)報頭(堆)。同樣,應(yīng)用程序?qū)影幚韱卧?05在應(yīng)用程序?qū)佑行ж撦d管理單元208中生成下一個有效負載(S24),且應(yīng)用程序?qū)佑行ж撦d管理單元208分配存儲區(qū)域用于生成HTTP響應(yīng)主體2082(堆)。伴隨生成響應(yīng)包,應(yīng)用程序?qū)影幚韱卧?05、HTTP報頭管理單元211以及應(yīng)用程序?qū)佑行ж撦d管理單元208的請求處理被完成(從S25到S27的銷毀(destroy))。服務(wù)器處理步驟存儲單元202在應(yīng)用程序?qū)影幚韱卧?05中生成HTTP響應(yīng)包(S28)并等待來自于上層應(yīng)用程序的輸入數(shù)據(jù)。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302等待來自于數(shù)據(jù)隊列303的隊列(S29)。接下來,如圖11A和11B所示,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302接收執(zhí)行協(xié)議處理步驟的通知(S30)后,服務(wù)器處理步驟存儲單元202獲取下一個處理步驟(S31)。接著,服務(wù)器處理步驟存儲單元202在應(yīng)用程序?qū)影幚韱卧?05中生成HTTP響應(yīng)2052(S32)。應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元211中生成HTTP響應(yīng)報頭2112(S33)。值得注意的是,由于用于共享經(jīng)由網(wǎng)絡(luò)接收到的數(shù)據(jù)的響應(yīng)的命令包含錯誤信息,因此錯誤信息作為錯誤響應(yīng)被返回。接著,應(yīng)用程序?qū)影幚韱卧?05經(jīng)由套接字I/F網(wǎng)橋304將HTTP響應(yīng)報頭2112發(fā)送給另一個裝置(HTTP客戶端)(S34)。接下來,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302接收執(zhí)行協(xié)議處理步驟的通知(S35)后,服務(wù)器處理步驟存儲單元202獲取下一個處理步驟(S36)。接著,服務(wù)器處理步驟存儲單元202在應(yīng)用程序?qū)影幚韱卧?05中生成HTTP響應(yīng)5052(S37)。應(yīng)用程序?qū)影幚韱卧?05在應(yīng)用程序?qū)佑行ж撦d管理單元208中生成HTTP響應(yīng)主體2082(S38)。接著,應(yīng)用程序?qū)影幚韱卧?05經(jīng)由套接字I/F網(wǎng)橋304將HTTP響應(yīng)主體2082發(fā)送給另一個裝置(HTTP客戶端)(S39)。接著,應(yīng)用程序?qū)影幚韱卧?05經(jīng)由與應(yīng)用程序?qū)舆B接的網(wǎng)橋305釋放緩存(S40)。接下來,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302接收執(zhí)行協(xié)議處理步驟的通知(S41)后,服務(wù)器處理步驟存儲單元202詢問應(yīng)用程序?qū)影幚韱卧?05它是否重新使用會話(S42)。接著,應(yīng)用程序?qū)影幚韱卧?05詢問HTTP報頭管理單元211它是否重新使用會話(S43)。如果會話被重新使用,則處理返回到S3中的等待接收而不關(guān)閉會話(循環(huán)1)。如果會話沒有被重新使用,則在關(guān)閉會話后處理返回到S3中的等待接收(循環(huán)1)。伴隨發(fā)送響應(yīng)包,應(yīng)用程序?qū)影幚韱卧?05、HTTP報頭管理單元211以及應(yīng)用程序?qū)佑行ж撦d管理單元208的響應(yīng)處理被完成(從S44到S46的銷毀)。在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302接收完成協(xié)議處理步驟的通知(S45)后,服務(wù)器處理步驟存儲單元202斷開經(jīng)由套接字I/F網(wǎng)橋304與另一個裝置(HTTP客戶端)的連接(S47)。伴隨著關(guān)閉連接,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)302完成在服務(wù)器處理步驟存儲單元202中的處理(S48中的銷毀)。值得注意的是,除了分析HTTP報頭和生成HTTP報頭以外的服務(wù)器處理在公用單元中被實現(xiàn)。同樣,在接收數(shù)據(jù)和等待重新使用會話的通知時的超時處理等是通過由應(yīng)用程序?qū)犹幚聿襟E管理單元203參照協(xié)議重發(fā)信息表204中的超時時間來完成的。第二實施例下面參考圖12A和12B到圖19A和19B的時序圖描述在包含本發(fā)明的第二實施例的網(wǎng)絡(luò)控制器的設(shè)備作為HTTP客戶端進行操作的情況下的處理的時序。時序圖上方所示為執(zhí)行每一個處理的處理單元。在從圖12A和12B到圖15的時序圖中,從左到右為人(TRANS_RXTX1_TASK)401、應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402、應(yīng)用程序?qū)虞斎?輸出參數(shù)數(shù)據(jù)列表403、HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404、應(yīng)用程序?qū)影幚韱卧?05、HTTP報頭管理單元406、HTTP客戶端處理步驟(用于通過代理連接)存儲單元407、HTTP客戶端處理步驟(協(xié)議默認)存儲單元408、套接字I/F網(wǎng)橋409以及與裝置信息連接的網(wǎng)橋410,以及DNS客戶端處理步驟存儲單元411。在圖12A和12B中,人401啟動應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402(S101)。在執(zhí)行“rcv_dtp”處理(S102)以及“啟動AppProc”處理(S103)后,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402在應(yīng)用程序?qū)虞斎?輸出參數(shù)數(shù)據(jù)列表403中分配存儲區(qū)域(堆)。在執(zhí)行“生成AppProc”處理(S104)后,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402通過與裝置信息連接的網(wǎng)橋410獲取外部裝置的設(shè)置信息(S105)。接著,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402將參數(shù)添加至應(yīng)用程序?qū)虞斎?輸出參數(shù)數(shù)據(jù)列表403(S106)。在S106中,其值為SHostInfo結(jié)構(gòu)的“UAppLayerParamValue”結(jié)構(gòu)被添加至清單。如果代理在“SHostInfo”結(jié)構(gòu)中被用作“f_host_name”,那么代理服務(wù)器的名稱從INFO被獲取并被設(shè)置。如果代理沒有被使用,那么用于通過網(wǎng)絡(luò)發(fā)送的請求的目的地主機被設(shè)置。同樣,如果代理在“SHostInfo”結(jié)構(gòu)中被用作“f_host_port”,那么代理服務(wù)器的端口號從INFO被獲取并被設(shè)置。如果代理沒有被使用,那么用于通過網(wǎng)絡(luò)發(fā)送的請求的目的地端口被設(shè)置。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402分配在DNS客戶端處理步驟存儲單元411中執(zhí)行處理的存儲區(qū)域(堆)。在這個情況下,如果目的地是IP地址,那么DNS處理步驟沒有被生成。通過“getInetAddr”(“獲得InetAddr”)被轉(zhuǎn)換成二進制IP地址并被發(fā)送給HTTP處理步驟的構(gòu)造器(網(wǎng)絡(luò)字節(jié)順序)。同樣,在包含在“AppLayerList”(“APP層列表”)中的SHostInfo結(jié)構(gòu)中,“TRANS_FALSE”被設(shè)置為“fis_fixed”和“fis_received_response”,且在包含在“AppLayerList”中的SHostInfo結(jié)構(gòu)中,“TRANS_TRUE”被設(shè)置為“fis_fixed”和“fis_received_response”。同樣,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402分配在HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404中執(zhí)行處理的存儲區(qū)域(堆)。在這個情況下,檢查請求通過網(wǎng)絡(luò)發(fā)送的成員,且HTTP客戶端處理步驟(用于獲取代理認證方法)僅在代理被使用的情況下被生成。同樣,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402分配在HTTP客戶端處理步驟(用于通過代理連接)存儲單元407中執(zhí)行處理的存儲區(qū)域(堆)。在這個情況下,檢查請求通過網(wǎng)絡(luò)發(fā)送的成員,且如果代理和HTTP被使用,那么用于通過代理進行連接的“ClientProc”的時間被生成。更近一步地,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402分配在HTTP客戶端處理步驟(協(xié)議默認)存儲單元408中執(zhí)行處理的存儲區(qū)域(堆)。在這個情況下,檢查請求通過網(wǎng)絡(luò)發(fā)送的成員,且如果代理和HTTP被使用,那么用于通過代理進行連接的“ClientProc”的實例被生成。接下來,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402將新的參數(shù)添加至應(yīng)用程序?qū)虞斎?輸出參數(shù)數(shù)據(jù)列表403(S107)。在這個情況下,其值為“SUserData”結(jié)構(gòu)的“UAppLayerParamValue”結(jié)構(gòu)被添加至列表。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402依次執(zhí)行DNS客戶端處理步驟存儲單元411中的啟動協(xié)議處理步驟(S108)、執(zhí)行協(xié)議處理步驟(S109)以及完成協(xié)議處理步驟(S110)。在這個情況下,在包含在“AppLayerParamList”中的“SHostInfo”結(jié)構(gòu)中的“fipv4_address”和“fis_fixed”被設(shè)置為解析名稱的結(jié)果。在上述S110中的處理被重復進行直到DNS客戶端的處理步驟被完成(循環(huán)41)。同樣,如果在每一個客戶端處理步驟的結(jié)束出現(xiàn)套接字錯誤(包括取消),那么下面所述的錯誤處理被執(zhí)行。即,(a)刪除運行處理步驟和等待處理步驟的處理,(b)釋放對通過網(wǎng)絡(luò)進行發(fā)送的請求的用戶緩存的處理,(c)將對通過網(wǎng)絡(luò)發(fā)送的請求的響應(yīng)返回到OMAP的處理(連接主機失敗:0x02)。接著,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402完成DNS客戶端處理步驟存儲單元411中的處理(S111中的銷毀)并執(zhí)行“更新ExecutingProc”處理(S112)。如果目的地信息在S112中被確定(HostInfo->fis_fixed是TRANS_TRUE),那么其次執(zhí)行等待處理(設(shè)置為the_executing_proc)。如果目的地信息在S112中沒有被確定(HostInfo->fis_fixed是TRANS_FALSE)且在查詢主DNS服務(wù)器后有響應(yīng)(HostInfo->fis_received_response是TRANS_TRUE),那么錯誤響應(yīng)(連接主機失敗:0x02)被返回。如果在查詢主DNS服務(wù)器后沒有響應(yīng)(HostInfo->fis_received_response是TRANS_FALSE),那么DNS處理步驟目標被生成并被執(zhí)行成為目的地次級DNS服務(wù)器。在這個情況下,如果次級DNS服務(wù)器為“0.0.0.0”,那么錯誤響應(yīng)(連接主機失敗:0x02)被返回。同樣,如果在詢問次級DNS服務(wù)器后名稱無法被解析,那么錯誤響應(yīng)(連接主機失?。?x02)被返回。接下來,在圖13A和13B中,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402啟動HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404中的協(xié)議處理步驟(S113)。HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404在套接字I/F網(wǎng)橋409中生成套接字(S114)、設(shè)置套接字選項(連接超時信息)(S115)、執(zhí)行連接處理(S116)、設(shè)置套接字選項(發(fā)送超時信息)(S117)以及設(shè)置套接字選項(接收超時信息)(S118)。在生成包時(S119),HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404為在應(yīng)用程序?qū)影幚韱卧?05中生成請求4051以及在HTTP報頭管理單元406中生成請求報頭4061分配存儲區(qū)域(堆)。接下來,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402接收執(zhí)行協(xié)議處理步驟的通知(S120)后,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404獲取下一個處理步驟(S121)。接著,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404執(zhí)行“compose(由getNextAction所表示的動作,E_NECT_ACTION_COMPOSE)”的處理(S122)。應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元406中執(zhí)行分析處理(S123)。該處理是用于分析HTTP報頭的,該HTTP報頭包含在用于通過網(wǎng)絡(luò)從OMAP發(fā)送的請求中。在這種情況下,檢查請求通過網(wǎng)絡(luò)發(fā)送的成員,并且請求URI被轉(zhuǎn)換成絕對URI。應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元406中生成請求報頭4061(S124)并通過套接字I/F網(wǎng)橋409將請求報頭發(fā)送給另一個終端(S125)。接下來,如圖14A和14B所示,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402接收執(zhí)行協(xié)議處理步驟的通知(S126)后,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404獲取下一個處理步驟(S127)。接著,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404生成請求4051(S128)。接下來,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402接收執(zhí)行協(xié)議處理步驟的通知(S129)后,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404獲取下一個處理步驟(S130)。接著,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404在應(yīng)用程序?qū)影幚韱卧?05中生成下一個包(S131)并為生成響應(yīng)4052分配存儲區(qū)域(堆)。應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元406中生成下一個報頭(S132)并為生成響應(yīng)報頭4062分配存儲區(qū)域(堆)。接下來,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404完成在應(yīng)用程序?qū)影幚韱卧?05和HTTP報頭管理單元406中的處理(在S133和S134中的銷毀)。接下來,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404在應(yīng)用程序?qū)影幚韱卧?05中執(zhí)行分析處理(S135)。接著,應(yīng)用程序?qū)影幚韱卧?05通過套接字I/F網(wǎng)橋409接收HTTP響應(yīng)(S136)。應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元406中執(zhí)行分析處理(S137)并在認證數(shù)據(jù)管理單元412中為拾取認證數(shù)據(jù)分配存儲區(qū)域(堆)。在這個情況下,如果狀態(tài)碼是417(Proxy-Authenticate),則由于報頭包括認證數(shù)據(jù),因此“AuthInfo”被生成,并且其值為“AuthInfo”的“UAppLayerParamValue”被添加到“AppLayerParamList”。另外地,如果狀態(tài)碼不是417,則假設(shè)沒有代理認證。在這個情況下,“AuthInfo”不被生成,并且其值為“AuthInfo”的“UAppLayerParamValue”不被添加到“AppLayerParamList”。HTTP報頭管理單元406在應(yīng)用程序?qū)虞斎?輸出參數(shù)數(shù)據(jù)列表403中添加參數(shù)(S138)。接著,HTTP報頭管理單元406在認證數(shù)據(jù)管理單元412中分析認證數(shù)據(jù)(S139)。如果在S139中“TRANS_FALSE”被返回,則“SAuthInfo->fis_failed”被設(shè)置為“TRANS_TRUE”。如果(e)認證方法不被支持或者(f)在認證數(shù)據(jù)中有格式錯誤,則“decompose”(“分解”)被設(shè)置為“TRANS_FALSE”。接下來,如圖15所示,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402的執(zhí)行協(xié)議處理步驟的通知(S140)后,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404獲取下一個處理步驟(S141)。接著,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404在應(yīng)用程序?qū)影幚韱卧?05中分析響應(yīng)(S142)。接下來,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402的執(zhí)行協(xié)議處理步驟的通知(S143)后,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404獲取下一個處理步驟(S144)。接著,HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404在應(yīng)用程序?qū)影幚韱卧?05中完成處理(S145中的銷毀),且應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元406中完成處理(S146中的銷毀)。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402在HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404中執(zhí)行完成協(xié)議處理步驟的處理(S147),且HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404關(guān)閉與套接字I/F網(wǎng)橋409的連接(S148)。接下來,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402在HTTP客戶端處理步驟(用于獲取代理認證方法)存儲單元404中完成處理(S149中的銷毀)。在這個情況下,如果“AppParamList”的“SAuthInfo->fis_failed”為“TRANS_TRUE”,(g)對請求通過網(wǎng)絡(luò)發(fā)送的響應(yīng)(認證代理失?。?x06)被返回給OMAP,(h)執(zhí)行處理步驟和等待處理步驟被刪除,以及(i)用于通過網(wǎng)絡(luò)發(fā)送的請求的用戶緩存被釋放。接著,處理分支成alt421(利用傳輸明文在HTTP客戶端處接收信息)或者alt422(利用通過代理進行連接以及以SSL/TLS傳輸數(shù)據(jù)在HTTP客戶端處接收信息)。下面參考圖16A和16B描述處理分支成alt421(利用傳輸明文在HTTP客戶端處接收信息)的圖像形成設(shè)備情況。圖16A和16B中從左到右有應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402、應(yīng)用程序?qū)虞斎?輸出參數(shù)數(shù)據(jù)列表403、HTTP客戶端處理步驟(協(xié)議默認)存儲單元408、應(yīng)用程序?qū)影幚韱卧?05、HTTP報頭管理單元406、認證數(shù)據(jù)管理單元412、應(yīng)用程序?qū)佑行ж撦d管理單元413、套接字I/F網(wǎng)橋409、與應(yīng)用程序?qū)舆B接的網(wǎng)橋414、與裝置信息連接的網(wǎng)橋410以及用于加密的網(wǎng)橋415。在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402的啟動協(xié)議處理步驟的通知(S150)后,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408在套接字I/F網(wǎng)橋409中生成套接字(S151)。如果在啟動協(xié)議處理步驟中出現(xiàn)錯誤,那么例如(j)刪除執(zhí)行處理步驟,(k)釋放用于通過網(wǎng)絡(luò)發(fā)送的請求用戶緩存,以及(l)將對通過網(wǎng)絡(luò)發(fā)送的請求的響應(yīng)(連接主機失?。?x02)返回給OMAP的錯誤處理被執(zhí)行。接下來,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408在套接字I/F網(wǎng)橋409中設(shè)置套接字選項(連接超時信息)(S152)、執(zhí)行連接處理(S153)、設(shè)置套接字選項(發(fā)送超時信息)(S154)并設(shè)置套接字選項(接收超時信息)(S155)。在生成請求包時(S156),HTTP客戶端處理步驟(協(xié)議默認)存儲單元408分配存儲區(qū)域(堆)用于在應(yīng)用程序?qū)影幚韱卧?05中生成請求4053、在HTTP報頭管理單元406中生成請求報頭4063以及在應(yīng)用程序?qū)佑行ж撦d管理單元413中生成請求主體4131。接下來,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402的執(zhí)行協(xié)議處理步驟的通知(S157)后,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408獲取下一個處理步驟(S158)。接著,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408在應(yīng)用程序?qū)影幚韱卧?05中生成請求4053(S159)。應(yīng)用程序?qū)影幚韱卧?05在與應(yīng)用程序?qū)舆B接的網(wǎng)橋414中釋放緩存(S160)。在這個情況下,只有在位置空閑的情況下,從用戶獲取的內(nèi)容緩存被用于發(fā)送包的緩存。這個處理之所以被執(zhí)行是因為在位置空閑的情況下HTTP報頭的大小可以超出8K字節(jié)。接下來,應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元406中生成請求報頭4063(S161)。HTTP報頭管理單元406在認證數(shù)據(jù)管理單元412中執(zhí)行“setURI”處理(S162)以及“setMethod”處理(S163)。HTTP報頭管理單元406在認證數(shù)據(jù)管理單元412中生成認證數(shù)據(jù)(S164)。在這個情況下,只有在使用代理的情況下處理會分支成alt43。同樣,在那個情況下,用于認證的用戶名稱和密碼從INFO被獲取。值得注意的是,代理是否被使用是由AuthInfo的可利用性來確定的。在分支的alt43中,認證數(shù)據(jù)管理單元412通過與裝置信息連接的網(wǎng)橋410從外部裝置獲取設(shè)置(S165)。接著,處理在基本認證的情況下分支成alt431并在摘要式認證的情況下分支成alt432。在alt431中,認證數(shù)據(jù)管理單元412在用于加密的網(wǎng)橋415中利用“base64”解碼(S166)。另外地,在alt432中,認證數(shù)據(jù)管理單元412在用于加密的網(wǎng)橋415中生成隨機數(shù)(S167)并執(zhí)行摘要式計算(S168)。應(yīng)用程序?qū)影幚韱卧?05通過套接字I/F網(wǎng)橋409將請求包發(fā)送給另一個裝置(S169)并釋放緩存(S170)。這個處理被執(zhí)行是因為從用戶獲取的內(nèi)容緩存被用于發(fā)送包的緩存。同樣,在不執(zhí)行“dhStart”處理時,從用戶獲取的內(nèi)容緩存無法被釋放。因此,在“getDhBufAsPacket”處理中獲取的內(nèi)容緩存被保留,且當下次調(diào)用“getDhBuf”時,該保留的內(nèi)容緩存被返回。更進一步地,在位置空閑的情況下,由于對通過網(wǎng)絡(luò)發(fā)送的請求的響應(yīng)被返回且“getDhBuf/dhStart”處理在執(zhí)行“freeDhBufAsPacket”處理之后被自動執(zhí)行,因此內(nèi)容緩存無一例外地被釋放。接下來,在圖17A和17B中,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402接收執(zhí)行協(xié)議處理步驟的通知(S171)后,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408獲取下一個處理步驟(S172)。接著,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408在應(yīng)用程序?qū)影幚韱卧?05中生成請求4053(S173)。應(yīng)用程序?qū)影幚韱卧?05在應(yīng)用程序?qū)佑行ж撦d管理單元413中生成請求主體4131(S174)并通過套接字I/F網(wǎng)橋409將請求主體發(fā)送給另一個裝置(S175)。接下來,應(yīng)用程序?qū)影幚韱卧?05在與應(yīng)用程序?qū)舆B接的網(wǎng)橋414中釋放緩存(S176)。在這個處理中,用于請求通過網(wǎng)絡(luò)發(fā)送的命令的用戶緩存被釋放。值得注意的是,應(yīng)用程序?qū)影幚韱卧?05從列表中刪除其值為“SUserData”結(jié)構(gòu)的“UAppLayerParamValue”結(jié)構(gòu)。更進一步地,應(yīng)用程序?qū)影幚韱卧?05在與應(yīng)用程序?qū)舆B接的網(wǎng)橋414中獲取緩存(S177)。在從用戶獲取內(nèi)容的緩存的情況下,通過執(zhí)行“SEM_TRANS_CONTNT”處理,單獨訪問控制被進行。在已經(jīng)單獨控制訪問的情況下,需要等待單獨訪問控制的釋放。值得注意的是,可以防止多個內(nèi)容數(shù)據(jù)在OMAP傳輸?shù)臅r候被混亂以及防止通過進行單獨訪問控制而使得在OMAP側(cè)變得很難區(qū)分。應(yīng)用程序?qū)影幚韱卧?05在子系統(tǒng)之間的通訊中通過與應(yīng)用程序?qū)舆B接的網(wǎng)橋414發(fā)送命令,該命令是用于對請求通過網(wǎng)絡(luò)發(fā)送的響應(yīng)。然而,就對通過網(wǎng)絡(luò)發(fā)送的最后請求的響應(yīng)而言,如果“SAuthInfo”被包含在“AppParamList”中,則沒有發(fā)送對響應(yīng)的命令。應(yīng)用程序?qū)影幚韱卧?05為內(nèi)容釋放緩存的單獨訪問控制。在等待用戶之后,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402在應(yīng)用程序?qū)虞斎?輸出參數(shù)數(shù)據(jù)列表403中添加參數(shù)(S179)。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402將其值為“SUserData”結(jié)構(gòu)的“UAppLayerParamValue”結(jié)構(gòu)添加到列表。值得注意的是,從S171到S179的處理被重復進行直到完成生成有效負載(循環(huán)42)。接下來,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402接收執(zhí)行協(xié)議處理步驟的通知(S180)后,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408獲取下一個處理步驟(S181)。接著,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408在應(yīng)用程序?qū)影幚韱卧?05中生成下一個包(S182)并為生成響應(yīng)4054分配存儲區(qū)域(堆)。同樣,應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元406中生成下一個報頭(S183)并為生成響應(yīng)報頭4064分配存儲區(qū)域(堆)。更進一步地,應(yīng)用程序?qū)影幚韱卧?05在應(yīng)用程序?qū)佑行ж撦d管理單元413中生成下一個有效負載(S184)并為生成響應(yīng)主體4132分配存儲區(qū)域(堆)。HTTP客戶端處理步驟(協(xié)議默認)存儲單元408完成應(yīng)用程序?qū)影幚韱卧?05中的處理(S185中的銷毀)。應(yīng)用程序?qū)影幚韱卧?05完成HTTP報頭管理單元406中的處理(S186中的銷毀)并完成應(yīng)用程序?qū)佑行ж撦d管理單元413中的處理(S187中的銷毀)。接下來,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408在應(yīng)用程序?qū)影幚韱卧?05中執(zhí)行分析處理(S188)。應(yīng)用程序?qū)影幚韱卧?05在套接字I/F網(wǎng)橋409中執(zhí)行“recvSocket”處理(S189)。更進一步地,應(yīng)用程序?qū)影幚韱卧?05在套接字I/F網(wǎng)橋409中執(zhí)行“decompose”處理(S190)。在這個情況下,如果狀態(tài)碼是417(Proxy-Authenticate),那么在“AppParamList”中的“SAuthInfo->fis_failed”被設(shè)置為“TRANS_TRUE”。如果狀態(tài)碼不是417,“AppParamList”中的“SAuthInfo->fis_failed”被設(shè)置為“TRANS_FALSE”。同樣,利用作為“decompose”的輸出參數(shù)“packet_attr”,HTTP報頭管理單元406將是否已知有效負載的大小返回到應(yīng)用程序?qū)影幚韱卧?05。如果有效負載的大小是已知的,那么“packet_attr.f_has_payload_size”被設(shè)置為“TRANS_TRUE”。如果有效負載的大小不是已知的,那么“packet_attr.f_has_payload_size”被設(shè)置為“TRANS_FALSE”。如果“AuthInfo”被包含在“AppParamList”中,那么在“SAuthInfo->fis_failed”的值為“TRANS_TRUE”的情況下HTTP客戶端處理步驟(協(xié)議默認)存儲單元408返回對通過網(wǎng)絡(luò)發(fā)送的請求的響應(yīng)(認證代理失?。?x06),并在“SAuthInfo->fis_failed”的值為“TRANS_FALSE”的情況下HTTP客戶端處理步驟(協(xié)議默認)存儲單元408返回對通過網(wǎng)絡(luò)發(fā)送的請求的響應(yīng)(成功:0x01)。接下來,如圖18A和18B所示,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402接收執(zhí)行協(xié)議處理步驟的通知(S191)后,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408獲取下一個處理步驟(S192)。接著,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408在應(yīng)用程序?qū)影幚韱卧?05中執(zhí)行分析處理(S193)。應(yīng)用程序?qū)影幚韱卧?05在應(yīng)用程序?qū)佑行ж撦d管理單元413中執(zhí)行有效負載數(shù)據(jù)格式的設(shè)置處理(S194)。在這個情況下,如果有效負載大小是已知的,那么“has_payload_size”被設(shè)置為“TRANS_TRUE”且“payload_size”被設(shè)置為有效負載大小的值。如果有效負載大小不是已知的,那么“has_payload_size”被設(shè)置為“TRANS_FALSE”且“payload_size”被設(shè)置為0。接下來,應(yīng)用程序?qū)影幚韱卧?05在與應(yīng)用程序?qū)舆B接的網(wǎng)橋414中執(zhí)行“getDhBuf”處理(S195)。在這個情況下,如果從用戶獲取內(nèi)容的緩存,那么通過“SET_TRANS_CNTNT”處理進行單獨訪問控制直到對有效負載的分析結(jié)束。值得注意的是,從S195到S199的處理(隨后將描述)被重復進行直到對有效負載的分析結(jié)束(循環(huán)43)。接下來,應(yīng)用程序?qū)影幚韱卧?05在套接字I/F網(wǎng)橋409中執(zhí)行“recvSocket”處理(S196)。如果在“recvSocket”處理中出現(xiàn)錯誤,那么處理分支成alt44。在這個情況下,應(yīng)用程序?qū)影幚韱卧?05在與應(yīng)用程序?qū)舆B接的網(wǎng)橋414中執(zhí)行“dhStart”處理(S197)。也就是說,在將未完成的傳輸數(shù)據(jù)傳輸給OMAP后,處理走出循環(huán)(循環(huán)43)。值得注意的是,在無“Content-Length”(“內(nèi)容長度”)時接收HTTP響應(yīng)以及關(guān)閉與服務(wù)器的連接的情況下,處理經(jīng)過這個路徑。接下來,應(yīng)用程序?qū)影幚韱卧?05在應(yīng)用程序?qū)佑行ж撦d管理單元413中執(zhí)行“decompose”處理(S198)。在這個情況下,如果有效負載大小是已知的,那么“E_PAYLOAD_RESULT_COMPLETE”在接收到所有有效負載的時候被返回且“E_PAYLOAD_RESULT_NOT_COMPLETE”在完成接收到所有有效負載之前被返回。如果有效負載大小不是已知的,那么“E_PAYLOAD_RESULT_NOT_COMPLETE”總是被返回。接下來,應(yīng)用程序?qū)影幚韱卧?05在與應(yīng)用程序?qū)舆B接的網(wǎng)橋414中執(zhí)行“dhStart”處理(S199)。在這種情況下,應(yīng)用程序?qū)影幚韱卧?05首先僅將報頭傳輸給OMAP。傳輸給OMAP只在以下情況下被執(zhí)行:在不是數(shù)據(jù)塊的情況下用戶緩存變滿且對有效負載的分析結(jié)束,以及在是數(shù)據(jù)塊的情況下用戶緩存變滿且對于一個數(shù)據(jù)塊的有效負載的分析結(jié)束。接下來,應(yīng)用程序?qū)影幚韱卧?05為來自于用戶的內(nèi)容釋放緩存的單獨訪問控制值得注意的是,在出現(xiàn)套接字錯誤的情況下,應(yīng)用程序?qū)影幚韱卧?05利用作為輸出參數(shù)的“error_reason”將錯誤原因返回到HTTP客戶端處理步驟(協(xié)議默認)存儲單元408。同樣,如果出現(xiàn)套接字錯誤,那么HTTP客戶端處理步驟(協(xié)議默認)存儲單元408將“E_TRANS_EXECUTE_RESULT_NOT_COMPLETED_EXECUTE_AGAIN”返回給應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402完成對請求共享通過網(wǎng)絡(luò)接收到的數(shù)據(jù)的響應(yīng)。值得注意的是,在出現(xiàn)套接字錯誤時完成處理步驟的情況下,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402通過執(zhí)行“AppProtocolTask”(“App協(xié)議任務(wù)”)處理丟棄對請求共享通過網(wǎng)絡(luò)接收到的數(shù)據(jù)的響應(yīng)。接下來,在從應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402接收執(zhí)行協(xié)議處理步驟的通知(S200)后,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408獲取下一個處理步驟(S201)。接著,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408詢問應(yīng)用程序?qū)影幚韱卧?05是否重新使用對話(S202)。應(yīng)用程序?qū)影幚韱卧?05在HTTP報頭管理單元406中詢問“keepAlive”(S203)。接著,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408完成應(yīng)用程序?qū)影幚韱卧?05中的處理(S204中的銷毀),且應(yīng)用程序?qū)影幚韱卧?05完成HTTP報頭管理單元406中的處理(S205中的銷毀)以及完成應(yīng)用程序?qū)佑行ж撦d管理單元413中的處理(S206中的銷毀)。如果有“keepAlive”(“保持活著”),則處理分支成alt45。在這個情況下,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408生成包(S207)。也就是說,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408生成包含報頭和有效負載的包的實例。如果“fis_secured”被設(shè)置為“TRANS_TRUE”,那么“AppLayerPacket/setLowLayerSecured”(“App層包/設(shè)定低層安全”)被調(diào)用使得安全通訊可以被繼續(xù)。接下來,如圖19A和19B所示,下面描述在不重新使用對話(alt46)的情況下分支的處理以及在重新使用對話(alt47)的情況下分支的處理。在不重新使用對話(alt46)的情況下,在處理“clearAppProc”之后(S208),應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402在與應(yīng)用程序?qū)舆B接的網(wǎng)橋414中為通過網(wǎng)絡(luò)接收數(shù)據(jù)的請求釋放緩存(S209)。接下來,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402在HTTP客戶端處理步驟(協(xié)議默認)存儲單元408中完成協(xié)議處理步驟(S210),且HTTP客戶端處理步驟(協(xié)議默認)存儲單元408在套接字I/F網(wǎng)橋409中關(guān)閉連接(S211)。接下來,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402完成HTTP客戶端處理步驟(協(xié)議默認)存儲單元408中的處理(S212中的銷毀)并完成應(yīng)用程序?qū)虞斎?輸出參數(shù)數(shù)據(jù)列表403中的處理(S213中的銷毀)。在這個情況下,保留在列表上的其值為“SHostInfo”結(jié)構(gòu)的“SAppLayerParam”結(jié)構(gòu)以及其值為“SAuthInfo”結(jié)構(gòu)的“SAppLayerParam”結(jié)構(gòu)被刪除。接著,處理返回至S102(rcv_dtp)。換句話說,在重新使用對話的情況下(alt47),在處理“trcv_dtq”(S214)后,處理進一步地分支(alt471或者alt472)。在不是E_OK的情況下(alt471),在處理“clearAppProc”完成后,處理返回至S102(rcv_dtp)。在E_OK的情況下,處理進一步地分支(alt4721或者alt4722)。在目的地地址和端口號不一樣的情況下(alt4721),在處理“clearAppProc”之后,處理返回至S102(rcv_dtp)。在目的地地址和端口號相同的情況下(alt4722),應(yīng)用程序?qū)訁f(xié)議處理任務(wù)402在HTTP客戶端處理步驟(協(xié)議默認)存儲單元408中執(zhí)行“isConnectionEstablished”(“連接建立了”)處理(S215)。接著,HTTP客戶端處理步驟(協(xié)議默認)存儲單元408詢問套接字I/F網(wǎng)橋409與服務(wù)器之間的連接是否被維持(S216)。接下來,處理進一步分支(alt47221或者alt47222)。在連接被維持的情況下(isConnected的返回值為“TRAN_TRUE”)(alt47221),處理返回至S103(startAppProc)。在這個情況下,由于運行處理步驟已經(jīng)存在,所以處理跳至“execute”處理。換句話說,在連接沒有被維持的情況下(isConnected的返回值為“TRAN_FALSE”)(alt47222),在處理“clearAppProc”之后,處理返回至S102(rcv_dtp)。第三實施例下面參考圖20到圖23A和23B的時序圖描述在包括本發(fā)明的第三實施例的網(wǎng)絡(luò)控制器的設(shè)備作為HTTP客戶端操作的情況下的處理的時序。時序圖的上部所示為執(zhí)行每一個處理的處理單元。值得注意的是,關(guān)于從接收自應(yīng)用程序的數(shù)據(jù)生成HTTP請求包的處理的描述被省略,這是由于它與第二實施例中的相同,且以下描述集中于加密通訊處理。本發(fā)明的第三實施例與第二實施例之間的區(qū)別在于:為了在第三實施例中執(zhí)行加密通訊,執(zhí)行SSL/TLS對話啟動處理和對話完成處理。也就是說,在第三實施例中的發(fā)送/接收數(shù)據(jù)中利用SSL/TLS,數(shù)據(jù)被加密發(fā)送并被解碼接收。值得注意的是,利用通過網(wǎng)絡(luò)發(fā)送的請求的屬性(“證書CN名稱”、“認證證書組”、“在服務(wù)器認證失敗情況下的操作”以及“進行/不進行證書CN的檢查”),加密通訊的所有處理步驟被隱藏。圖20中從左到右有:人(TRANS_RXTX1_TASK)501、應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502、客戶端處理步驟存儲單元506、應(yīng)用程序?qū)影幚韱卧?07、應(yīng)用程序?qū)佑行ж撦d管理單元508、HTTP報頭管理單元511、套接字I/F網(wǎng)橋503、與應(yīng)用程序?qū)舆B接的網(wǎng)橋504以及SSL/TLS505。在從人501接收啟動任務(wù)的通知后,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502啟動(S401)。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502等待數(shù)據(jù)隊列(S402)。通過來自用戶的中斷,等待隊列被設(shè)置為數(shù)據(jù)隊列。在這個情況下,上面參考圖4A和4B所描述的通過網(wǎng)絡(luò)發(fā)送的請求數(shù)據(jù)在子系統(tǒng)之間的通訊中被接收。值得注意的是,在裝置報頭的情況下,OMAP能源節(jié)省0被設(shè)置為劃分的數(shù)據(jù)大小且EOF為“0x00”。換句話說,在應(yīng)用程序報頭的情況下,OMAP通訊將通訊數(shù)據(jù)大小設(shè)置為應(yīng)用程序數(shù)據(jù)大小。在這個情況下,目的地為“0x0003(RXTX3)”,控制報文為“0x02”,報文ID的詳細信息為“0x0D”,通訊模式為“0x00”且振動為“0x00”。接下來,在“handleDataQueueEvent”處理(S403)和“handleUserEvent”處理(S404)之后,“startAppProc”函數(shù)被執(zhí)行(S405)?!皁pen_error_reason”由“startAppProc”函數(shù)定義并作為輸出參數(shù)傳送到被調(diào)用的函數(shù)。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502在客戶端處理步驟存儲單元506中分配存儲區(qū)域以便通過構(gòu)造器處理客戶端處理步驟(堆)。在這個情況下,確定SSL通訊是否被執(zhí)行的標志被設(shè)置成第三自變量(argument)。接著,應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502通過“open”執(zhí)行啟動處理步驟??蛻舳颂幚聿襟E存儲單元506通過動作方法執(zhí)行啟動處理步驟(S406)。接著,客戶端處理步驟存儲單元506在套接字I/F網(wǎng)橋503中生成套接字并調(diào)用外部“SOCK_Socket”(S407)??蛻舳颂幚聿襟E存儲單元506執(zhí)行客戶端的協(xié)議處理步驟啟動處理(S408)。接下來,客戶端處理步驟存儲單元506在套接字I/F網(wǎng)橋503中設(shè)置套接字選項并調(diào)用外部“SOCK_SetSockOption”(S409)。接著,客戶端處理步驟存儲單元506通過套接字I/F網(wǎng)橋503與外部裝置連接(S410)。在這個情況下,外部“SOCK_Connect”被調(diào)用??蛻舳颂幚聿襟E存儲單元506在SSL/TLS505中執(zhí)行SSL/TLS對話啟動處理(S411)。在這個情況下,參考用于通過子系統(tǒng)之間的通訊的網(wǎng)絡(luò)進行發(fā)送的請求數(shù)據(jù)的參數(shù),如果協(xié)議類型為HTTPS(0x02),則“TLS_OpenSocket”被調(diào)用。同樣,在這個時刻,屬性為具有“fis_secured”的SSL/TLS屬性被儲存??蛻舳颂幚聿襟E存儲單元506在應(yīng)用程序?qū)影幚韱卧?07中為生成HTTP請求5051分配存儲區(qū)域,在應(yīng)用程序?qū)佑行ж撦d管理單元508中為生成請求主體5081分配存儲區(qū)域并在HTTP報頭管理單元511中為生成請求報頭5111分配存儲區(qū)域(堆)。同樣,客戶端處理步驟存儲單元506設(shè)定在應(yīng)用程序?qū)影幚韱卧?07中正在進行安全通訊(S412)。值得注意的是,在出現(xiàn)錯誤的情況下,客戶端處理步驟存儲單元506將“sendErrorResponse”(“發(fā)送錯誤響應(yīng)”)的錯誤響應(yīng)返回給應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502。對于相應(yīng)于返回給OMAP的發(fā)送的結(jié)果,“0x01”指的是“成功”,“0x02”指的是“與主機的連接失敗”,“0x03”指的是“與SSL的連接失敗”,“0x04”指的是“在服務(wù)器處的認證失敗”,“0x05”指的是“在客戶端處的認證失敗”,“0x06”指的是“在代理處的認證失敗”以及“0x07”指的是“數(shù)據(jù)通訊的失敗”。接下來,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502的執(zhí)行協(xié)議處理步驟的通知(S413)后,客戶端處理步驟存儲單元506獲取下一個處理步驟(S414)。接著,客戶端處理步驟存儲單元506在應(yīng)用程序?qū)影幚韱卧?07中生成HTTP請求5051(S415)。同樣,應(yīng)用程序?qū)影幚韱卧?07在HTTP報頭管理單元511中生成請求報頭5111(S416)并通過SSL/TLS505啟動加密發(fā)送處理(S417)。在這個情況下,在“fis_low_layer_secured(TRANS_TRUE)”的情況下“TLS_WriteSocket”被調(diào)用,且在“fis_low_layer_secured(TRANS_FALSE)”的情況下“SOCK_Write”被調(diào)用。接下來,如圖21A和21B所示,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502的執(zhí)行協(xié)議處理步驟的通知(S418)后,客戶端處理步驟存儲單元506獲取下一個處理步驟(S419)。接著,客戶端處理步驟存儲單元506在應(yīng)用程序?qū)影幚韱卧?07中生成HTTP請求5051(S420)。應(yīng)用程序?qū)影幚韱卧?07在應(yīng)用程序?qū)佑行ж撦d管理單元508中生成請求主體5081(S421)。同樣,應(yīng)用程序?qū)影幚韱卧?07在SSL/TLS505中執(zhí)行加密發(fā)送處理(S422)。更進一步地,應(yīng)用程序?qū)影幚韱卧?07在套接字I/F網(wǎng)橋503中執(zhí)行緩存釋放處理(S423)、緩存獲取處理(S424)以及發(fā)送處理(S425)。在這個情況下,應(yīng)用程序?qū)影幚韱卧?07發(fā)送對通過網(wǎng)絡(luò)發(fā)送的請求的響應(yīng)數(shù)據(jù)。在這個情況下,發(fā)送源是“TRANS_RXTX3(0x0003)”,且發(fā)送的結(jié)果是“成功(0x01)”。同樣在這個情況下,對于裝置報頭,劃分的數(shù)據(jù)大小是4字節(jié),且EOF是“0x00”。換句話說,對于應(yīng)用程序報頭,應(yīng)用程序數(shù)據(jù)大小是4字節(jié),目的地是“0x0001”,控制報文ID是“0x03”,報文ID的詳細信息是“0x0D”,通訊模式是“0x00”以及振動是“0x00”。接下來,應(yīng)用程序?qū)影幚韱卧?07確定返回值(S426)。在這個情況下,如果發(fā)送自O(shè)MAP的數(shù)據(jù)為劃分的數(shù)據(jù),那么“AppLayerPayload”(“App層有效負載”)的返回值為“E_PAYLOAD_RESULT_NOT_COMPLETED”且“AppLayerPacket”的返回值為“E_PACKET_RESULT_NOT_COMPLETE_WAIT_TNPUT”。接下來,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502的執(zhí)行協(xié)議處理步驟的通知(S427)后,客戶端處理步驟存儲單元506獲取下一個處理步驟(S428)。接著,客戶端處理步驟存儲單元506在應(yīng)用程序?qū)影幚韱卧?07、應(yīng)用程序?qū)佑行ж撦d管理單元508以及HTTP報頭管理單元511中生成響應(yīng)包。這個處理的詳細內(nèi)容與上述第二實施例中的相同,所以詳細的解釋被省略(步驟S429到S442)。接下來,如圖22所示,客戶端處理步驟存儲單元506在應(yīng)用程序?qū)影幚韱卧?07中分析在S437中生成的HTTP響應(yīng)5053(S443)。應(yīng)用程序?qū)影幚韱卧?07接收經(jīng)由SSL/TLS505編碼的數(shù)據(jù)(S444)。應(yīng)用程序?qū)影幚韱卧?07在HTTP報頭管理單元511中分析響應(yīng)報頭5113(S445)。接下來,如圖23A和23B所示,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502的執(zhí)行協(xié)議處理步驟的通知(S446)后,客戶端處理步驟存儲單元506獲取下一個處理步驟(S447)。接著,客戶端處理步驟存儲單元506在應(yīng)用程序?qū)影幚韱卧?07中啟動分析處理(S448)。應(yīng)用程序?qū)影幚韱卧?07經(jīng)由與應(yīng)用程序?qū)舆B接的網(wǎng)橋504獲取緩存(S449)。在這個情況下,只有HTTP報頭被首先發(fā)送給OMAP。接著,應(yīng)用程序?qū)影幚韱卧?07經(jīng)由與應(yīng)用程序?qū)舆B接的網(wǎng)橋504執(zhí)行發(fā)送處理(S450)并經(jīng)由SSL/TLS505接收編碼的數(shù)據(jù)(S451)。應(yīng)用程序?qū)影幚韱卧?07在應(yīng)用程序?qū)佑行ж撦d管理單元508中執(zhí)行分析處理(S452),并經(jīng)由與應(yīng)用程序?qū)舆B接的網(wǎng)橋504執(zhí)行發(fā)送處理(S453)。接下來,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502的執(zhí)行協(xié)議處理步驟的通知(S454)后,客戶端處理步驟存儲單元506獲取下一個處理步驟(S455)。接著,客戶端處理步驟存儲單元506完成應(yīng)用程序?qū)影幚韱卧?07中的處理(S456中的銷毀),應(yīng)用程序?qū)影幚韱卧?07完成HTTP報頭管理單元511中的處理(S457中的銷毀),以及應(yīng)用程序?qū)佑行ж撦d管理單元508中的處理(S458中的銷毀)。最后,在接收到來自于應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502的完成協(xié)議處理步驟的通知(S459)后,客戶端處理步驟存儲單元506關(guān)閉加密通訊對話(S460)。接著,客戶端處理步驟存儲單元506與套接字I/F網(wǎng)橋503斷開連接(S461)。應(yīng)用程序?qū)訁f(xié)議處理任務(wù)502完成客戶端處理步驟存儲單元506中的處理(S462)。根據(jù)上面教導,可以有多種附加的修改方案和改變。因此可以理解的是,在所附加的權(quán)利要求的范圍內(nèi),除了這里所特別描述的內(nèi)容外,本專利說明書所公開的內(nèi)容可以被實施。由于可以被計算機領(lǐng)域的技術(shù)人員所領(lǐng)會,根據(jù)本說明書的教導,本發(fā)明可以通過方便地使用傳統(tǒng)的通用數(shù)字計算機來實現(xiàn)?;诒景l(fā)明教導,合適的軟件編碼可以輕而易舉地由技能豐富的編程人員準備,因為這對軟件領(lǐng)域中的那些技術(shù)人員來說是顯而易見的。本發(fā)明也可以通過準備專用集成電路來實現(xiàn)或者通過互相連接傳統(tǒng)的元件電路的合適的網(wǎng)絡(luò)來實現(xiàn),因為這對相關(guān)領(lǐng)域中的那些技術(shù)人員來說是輕而易舉且是顯而易見的。當前第1頁1 2 3