TWI418178B - 利用代理伺服器控制內嵌裝置外部通訊之技術 - Google Patents
利用代理伺服器控制內嵌裝置外部通訊之技術 Download PDFInfo
- Publication number
- TWI418178B TWI418178B TW096112525A TW96112525A TWI418178B TW I418178 B TWI418178 B TW I418178B TW 096112525 A TW096112525 A TW 096112525A TW 96112525 A TW96112525 A TW 96112525A TW I418178 B TWI418178 B TW I418178B
- Authority
- TW
- Taiwan
- Prior art keywords
- communication
- proxy server
- unit
- control request
- task
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/24—Arrangements for testing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/18—Service support devices; Network management devices
- H04W88/182—Network node acting on behalf of an other network entity, e.g. proxy
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
- Eye Examination Apparatus (AREA)
Description
本發明係關於一內嵌裝置、一代理伺服器、一方法及一程式,且更特定而言係關於一其中代理伺服器代表內嵌裝置控制通訊之內嵌裝置、代理伺服器、方法及程式。
當前,需要更複雜之軟體。另外,隨著內嵌裝置(例如,行動電話及數位家用器具)之增多,軟體有時需要運作於諸多不同平臺上。為有效發展此類軟體,已研究模型驅動發展(MDD)。根據MDD,可在使用統一建模語言(UML)寫入之軟體規範基礎上自動產生能夠運行於各種平臺上之軟體。
一種啟用MDD之技術實例係國際商業機器公司(International Business Machines Corporation)開發之Rational Rose(R)RT。一開發者使用此技術在一普通個人電腦上創建或校正軟體規範。在所創建或校正之軟體規範基礎上產生之軟體經由一通訊線路傳輸至一內嵌裝置,並隨後加以執行。另外,於此技術中,提供一用於比較軟體與軟體規範之除錯環境。舉例而言,一開發者可在一個人電腦之顯示螢幕上檢查一內嵌裝置正執行該軟體規範之哪一部分。
[專利文獻1]第2002-63088號日本公開專利申請案[專利文獻2]第9-22391號日本公開專利申請案
然而,為進行此類開發,一內嵌裝置需要具有通訊能力。為具有通訊能力,舉例而言,需要一能夠根據乙太網路(註冊商標)實施通訊之通訊裝置及一用於控制該通訊裝置之裝置驅動程式。另外,於某些情形中,開發軟體需要用於普通通訊協定TCP/IP之控制軟體。然而,某些內嵌裝置不具有TCP/IP通訊能力。於此情形中,不得不專門開發一將不用於一終端產品中之裝置驅動程式。此可導致開發成本增加且開發週期延長。
專利文獻1及2揭示相關技術。根據專利文獻1中揭示之技術,基於TCP/IP之通訊可被轉換為基於其他協定之通訊。因此,基於TCP/IP之通訊可不使用乙太網路而經由一通訊線路(例如一串行介面)來實施。若將此技術應用至一內嵌裝置,則無需一乙太網路通訊裝置。然而,仍需要用於TCP/IP之控制軟體。此控制軟體可增加內嵌裝置之所需記憶體容量。
根據專利文獻2中揭示之技術,可由一第二裝置取代一第一裝置來實施該第一裝置之通訊。第一裝置使用遠程程序呼叫(RPC)協定呼叫該第二裝置上之一通訊程序,藉以達成此通訊。然而,當TCP/IP通訊未建立時,不能使用RPC。亦即,在此技術中,亦需要用於TCP/IP之控制軟體。此控制軟體可增加內嵌裝置之所需記憶體容量。另外,若一通訊線路之條件不佳,則通訊可能停止且可能不能恢復。
鑒於上文所述內容,本發明之一目的係提供一種能夠解決上述問題之內嵌裝置、代理伺服器、方法及程式。此目的係藉由獨立請求項中闡述特徵之組合來達成。附屬請求項指定本發明之一有利實施例。
根據本發明之第一態樣,提供一種經由一外部代理伺服器與另一裝置進行通訊之內嵌裝置,其中該代理伺服器代表該內嵌裝置來控制通訊,該內嵌裝置包括:一通訊裝置,其能夠與該代理伺服器進行通訊;一儲存單元,其儲存與另一裝置之通訊狀態;一更新單元,在該通訊裝置不能與代理伺服器進行通訊之情形中,該更新單元回應於一自一中央處理單元正執行之任務接收的對與另一裝置通訊之控制請求,將通訊狀態更新至一已根據控制請求正常實施控制處理後所指示之狀態;一回應單元,其以已根據該控制請求實施該通訊狀態更新之結果回應該任務;及一控制指令單元,在一其中通訊裝置可與代理伺服器進行通訊之情形中,該控制指令單元藉助該通訊裝置將一用於將與代理伺服器中另一裝置之通訊狀態改變至儲存於儲存器中之通訊狀態之指令傳輸至代理伺服器。應瞭解,上述發明內容中並未列出本發明之所有所需特徵,且該等特徵之任何合適子組合皆可視作一發明。
根據本發明,可更有效地達成一內嵌裝置之通訊。
下文將參照一本發明之最佳實施方式(在下文中稱作一實施例)來闡述本發明。然而,所請求之發明並不限於下述實施例。另外,下述實施例中所闡述特徵之所有組合未必需要作為解決本發明中各問題之手段。
圖1顯示一通訊系統10之整體組態。通訊系統10裝備有一行動電話20、一代理伺服器30及一通訊裝置40。行動電話20係一於其上可實施軟體開發及除錯之內嵌裝置之實例,且經由一第一通訊線路25(例如一串行介面)連接至代理伺服器30。行動電話20執行一待開發或待驗證之程式,並將其執行狀態之通知傳輸至通訊裝置40以將執行狀態顯示於通訊裝置40之顯示螢幕上。另外,行動電話20根據一自通訊裝置40接收之指令暫停或重啟該程式之執行。該內嵌裝置可係一PDA、數位家用器具或電子控制車輛而非行動電話。
代理伺服器30經由第一通訊線路25連接至行動電話20,及經由一與(例如)乙太網路(註冊商標)相容之第二通訊線路35連接至另一裝置(例如,通訊裝置40)。代理伺服器30代表行動電話20控制行動電話20與通訊裝置40之間的通訊。舉例而言,代理伺服器30代表不具有TCP/IP通訊控制能力之行動電話20控制行動電話20與通訊裝置40之間的TCP/IP通訊。通訊裝置40執行一用於開發欲安裝於行動電話20中之程式並對其除錯之程式。通訊裝置40實施與代理伺服器30之TCP/IP通訊,藉以自行動電話20接收運行於其上之程式之執行狀態,或使行動電話20暫停或重啟該程式之執行。
因此,根據本發明實施例之通訊系統10致使代理伺服器30代表內嵌裝置控制順從一既定通訊協定之通訊,其中代理伺服器30外部連接至一不具有順從一普通通訊協定(例如TCP/IP)之通訊能力之內嵌裝置。因此,行動電話20無需具有一通訊控制程式。此可減少行動電話20之所需記憶體容量且降低在開發一執行於行動電話20中之程式上所花費之努力。
圖2顯示行動電話20之功能組態。行動電話20裝備有一中央處理單元22、一儲存器單元24及一通訊裝置26。中央處理單元22執行一預先安裝於行動電話20中之程式。儲存器單元24經安置以達成該程式之執行或儲存與通訊裝置40之通訊狀態。通訊裝置26經由第一通訊線路25連接至代理伺服器30以與代理伺服器30進行通訊。可暫時斷開通訊裝置26與代理伺服器30之間的第一通訊線路25。舉例而言,在行動電話20執行該程式時,一使用者可暫時自行動電話20移除第一通訊線路25。
中央處理單元22藉由執行預先安裝於行動電話20中之程式而起到一任務200及一通訊模組210之作用。任務200包括API(應用程式化介面)呼叫。此API用於控制TCP/IP通訊端通訊,且可滿足一與(例如)BSD(柏克萊軟體散佈)UNIX(註冊商標)相容之預定標準。任務200可係一作業系統週期性地為其提供執行授權之過程或執行緒。
將一用於使中央處理單元22充當通訊模組210之庫程式安裝於行動電話20中以替代一用於實施通訊端通訊之庫程式。任務200呼叫一包含於所安裝庫程式內之API而非一用於通訊端通訊控制之API,藉以將一用於控制與通訊裝置40之通訊之請求傳輸至通訊模組210。由於可使用同一介面來呼叫用於通訊端通訊之API及包含於所安裝庫程式中之API,因此不必覆寫庫程式以使其適用於通訊模組210。
當自任務200接收到控制請求時,通訊模組210將一對應於該控制請求之控制指令經由通訊裝置26傳輸至代理伺服器30。若通訊模組210在第一通訊線路25斷開時接收到該控制請求,則通訊模組210會實施下述處理。若所接收之控制請求係一預定之非阻塞控制請求,則通訊模組210更新一儲存於儲存器單元24中之通訊狀態而無需與代理伺服器30進行通訊。隨後,通訊模組210將通訊狀態之更新結果傳輸至任務200。若第一通訊線路25係連接,則通訊模組210將一指令傳輸至代理伺服器30,該指令係用於將與代理伺服器30中通訊裝置40之通訊狀態改變至儲存於儲存器單元24中之通訊狀態。因此,即使第一通訊線路25斷開,任務200仍可繼續其過程而無需等待至第一通訊線路25已連接。
圖3顯示一儲存器單元24之實例性資料結構。儲存器單元24儲存每一通訊端之通訊狀態,該每一通訊端係用於與每一通訊端之識別資訊(例如,一稱作檔案描述符之識別符)相關聯地實施行動電話20與通訊裝置40之間的通訊端通訊。儲存器單元24可儲存指配給每一通訊端之埠編號、容許每一通訊端實施通訊之通訊緩衝器位址及一正被暫停直至每一通訊端皆完成通訊之任務之識別編號。
作為一實例,一具有識別資訊1之通訊端處於一指示已新產生該通訊端之產生狀態(OPEN狀態)。未給此通訊端指配任何埠編號及緩衝器位址。一具有識別資訊5之通訊端係處於一指示該通訊端所接收資料係經處理之狀態(RECV狀態)。給此通訊端指配一通訊緩衝器之位址及一正被暫停直至完成資料接收之任務之識別編號。
圖4顯示一通訊模組210之功能組態。通訊模組210裝備有一更新單元220、一回應單元230、一控制指令單元240及一接收單元250。回應於自中央處理單元22所實施之任務200接收的一控制與通訊裝置40之通訊之控制請求,更新單元220判定所接收之控制請求是否係一非阻塞控制請求。該非阻塞控制請求指示任務200可繼續實施其處理而無需等待直至對應於該控制請求之控制處理已完成。舉例而言,若自任務200接收之控制請求係一獲取或釋放一所需通訊資源(例如,一記憶體中之儲存區域)之請求,則更新單元220可判定所接收之控制請求係一非阻塞控制請求。
當所接收之控制請求係一非阻塞控制請求時,即使通訊裝置26不能與代理伺服器30進行通訊,更新單元220亦將儲存於儲存器單元24中之通訊狀態更新至一已根據該控制請求正常實施控制處理後所指示之通訊狀態。另一方面,當自任務200接收之控制請求非係一非阻塞控制請求時,更新單元220將儲存於儲存器單元24中之通訊狀態更新至接收單元250接收之控制處理結果。舉例而言,若自任務200接收之控制請求係一自通訊裝置40接收資料或向通訊裝置40傳輸資料之請求,則更新單元220判定所接收之控制請求係一阻塞控制請求。
回應單元230以根據該控制請求實施之通訊狀態更新之結果來回應任務200。亦即,對於一非阻塞控制請求,回應單元230以該更新結果來回應任務200而無需等待直至實施根據該控制請求之控制處理。另一方面,對於一阻塞控制請求,當接收單元250自代理伺服器30接收根據該控制請求之控制處理之結果時,回應單元230以所接收結果來回應任務200。當通訊裝置26可與代理伺服器30進行通訊時,控制指令單元240經由通訊裝置26將一用於將與代理伺服器30中之通訊裝置40之通訊狀態改變至儲存於儲存器單元24中之通訊狀態之指令傳輸至代理伺服器30。
接收單元250經由通訊裝置26自代理伺服器30接收控制處理之結果,其中代理伺服器30已根據自控制指令單元240傳輸之指令實施該控制處理。隨後,接收單元250將所接收之結果傳輸至更新單元220及回應單元230。若已接收一阻塞控制請求,則更新單元220將儲存於儲存器單元24中之通訊狀態更新至所接收結果,且回應單元230以所接收結果來回應任務200。
圖5係一顯示行動電話20與通訊裝置40之間的通訊狀態轉變之圖式。回應於接收一非阻塞控制請求,即使通訊裝置26不能與代理伺服器30進行通訊,更新單元220亦根據圖5中之實線更新儲存於儲存器單元24中之通訊狀態。下文將詳細闡述根據一非阻塞控制請求之通訊狀態轉變。首先,若尚未產生一通訊端,則不存在對應於該通訊端之狀態。為方便闡釋,將此狀態定義為通訊端之空白狀態。回應於一產生一新通訊端之控制請求,更新單元220將一指示已與儲存器單元24中欲產生通訊端之識別資訊相關聯地新產生了該通訊端之產生狀態(圖5中顯示之OPEN狀態)儲存為一通訊狀態。該識別資訊可由更新單元220產生,而與代理伺服器30所產生之通訊端之識別資訊無關。此處,此控制請求可係一於BSD通訊端API中定義之通訊端系統呼叫。由於此控制請求係一非阻塞控制請求,則無需等待代理伺服器30實施該控制處理即可更新通訊狀態。
隨後,回應於與該通訊端之識別資訊相關聯地接收一準備自通訊裝置40接收一通訊請求之控制請求,更新單元220將對應於該識別資訊之通訊狀態更新至一緩衝器分配狀態(圖5中顯示之LISTEN狀態)。此控制請求係一致使代理伺服器30將一用於儲存一自通訊裝置40接收之通訊請求之緩衝器分配至該通訊端之請求。舉例而言,此控制請求可係一於BSD通訊端API中定義之收聽系統呼叫。由於此控制請求亦係一非阻塞控制請求,則無需等待該控制處理即可更新通訊狀態。回應於與該通訊端之識別資訊關聯地接收一釋放OPEN狀態、LISTEN狀態或一隨後闡述之CONNECTED狀態中之通訊端之控制請求,更新單元220將對應於該識別資訊之通訊狀態返回至一空白狀態。此控制請求可係一於BSD通訊端API中定義之關閉系統呼叫。由於此控制請求亦係一非阻塞控制請求,則無需等待該控制處理即可更新通訊狀態。
若更新單元220自任務200接收一改變通訊裝置26與通訊裝置40之間通訊屬性之控制請求,則更新單元220判定所接收之控制請求係一非阻塞控制請求。舉例而言,回應於與該通訊端之識別資訊相關聯地接收一將一指定埠編號分配至OPEN狀態中之通訊端之控制請求,更新單元220將埠編號與該通訊端之識別資訊相關聯地儲存於儲存器單元24中。此控制請求可係一於BSD通訊端API中定義之結合系統呼叫。由於此控制請求亦係一非阻塞控制請求,則無需等待由代理伺服器30實施之控制處理即可實施該埠編號分配。
另一方面,回應於接收一阻塞控制請求,更新單元220基於接收單元250根據圖5中顯示之虛線所接收之控制處理結果來更新儲存於儲存器單元24中之通訊狀態。下文將詳細闡述相依於一阻塞控制請求之通訊狀態轉變。若一自任務200接收之控制請求係一偵測通訊裝置26與通訊裝置40是否可互相通訊之請求、一回應於來自通訊裝置40之通訊請求傳輸一通訊許可之請求、或一傳輸或接收資料之請求,則更新單元220判定所接收之請求係一阻塞控制請求。舉例而言,回應於與通訊端之識別資訊相關聯地接收一偵測通訊裝置26與通訊裝置40是否可在LISTEN狀態中互相通訊之控制請求(例如,一選擇系統呼叫),更新單元220將一對應於該識別資訊之通訊狀態更新至一通訊等待狀態(圖5中顯示之LISTEN+SELECT狀態)。選擇系統呼叫發出一檢查複數個通訊端之狀態之請求。藉助此系統呼叫,可確定可自該等通訊端中之每一者讀取資料、是否可將資料寫入該等通訊端中之每一者或是否一錯誤發生於讀取或寫入中。若接收單元250接收到已由代理伺服器30實施的對通訊裝置26及通訊裝置40是否可互相通訊之偵測之結果,則更新單元220將對應於識別資訊之通訊狀態返回至緩衝器分配狀態。因此,由於此控制請求係一阻塞控制請求,則在完成該控制處理後將代理伺服器30所實施之控制處理之結果傳輸至任務200。
回應於與通訊端之識別資訊相關聯地接收一傳輸對一來自通訊裝置40之通訊請求之通訊許可之控制請求(例如,一接受系統呼叫),更新單元220將對應於識別資訊之通訊狀態更新至一通訊接受狀態(圖5中顯示之ACCEPT狀態)。若接收單元250接收到由代理伺服器30實施之控制處理之結果,則更新單元220將對應於該識別資訊之通訊狀態返回至緩衝器分配狀態。若此控制處理已新產生一通訊端,則更新單元220可將該新通訊端之識別資訊儲存於儲存器單元24中,且可與該識別資訊相關聯地儲存一連接狀態(圖5中顯示之CONNECTED狀態)。於此情形中,更新單元220將識別資訊傳輸至代理伺服器30,以使新產生之識別資訊與代理伺服器30產生之通訊端相關聯。由於此控制請求係一阻塞控制請求,則在完成控制處理之後將代理伺服器30實施之控制處理之結果傳輸至任務200。
回應於在CONNECTED狀態中接收一使用一通訊端與該通訊端之識別資訊相關聯地傳輸或接收資料之控制請求(例如,圖5中顯示之選擇系統呼叫、接收系統呼叫或發送系統呼叫),更新單元220判定該控制請求係一阻塞控制請求。隨後,更新單元220將對應於該識別資訊之通訊狀態更新至一通訊等待狀態(圖5中顯示之SELECT、RECV或SEND狀態)。若接收單元250接收到由代理伺服器30實施之資料傳輸或接收之結果,則更新單元220將對應於該識別資訊之通訊狀態返回至連接狀態。因此,由於此控制請求係一阻塞控制請求,則在完成控制處理之後將代理伺服器30實施之控制處理之結果發送至任務200。
圖6顯示行動電話20之通訊狀態及根據該等通訊狀態傳輸至通訊裝置40之指令。下文將參照圖6闡述控制指令單元240所實施處理之一具體實例。當通訊裝置26及代理伺服器30可互相通訊時,控制指令單元240將一用於將與代理伺服器30中之通訊裝置40之通訊狀態改變至一儲存於儲存器單元24中之通訊狀態之指令傳輸至代理伺服器30。為此目的,控制指令單元240首先自中央處理單元22擷取每一通訊端之通訊狀態。隨後,控制指令單元240將一與所擷取通訊狀態相關聯之指令傳輸至代理伺服器30。圖6顯示在此處理中各通訊狀態與各指令之間的關聯性。亦即,若針對某一通訊端擷取該OPEN狀態,則控制指令單元240將一用於執行一通訊端系統呼叫之指令傳輸至代理伺服器30。若另一通訊端之通訊狀態係LISTEN狀態,則控制指令單元240將一用於產生一新通訊端並與其識別資訊相關聯地管理所產生通訊端之指令(例如,一用於執行一通訊端系統呼叫之指令)及一用於分配一緩衝器供儲存一自通訊裝置40接收至所產生通訊端之通訊請求之指令(例如,一用於執行一收聽系統呼叫之指令)傳輸至代理伺服器30。若針對另一通訊端擷取SELECT狀態,則控制指令單元240將一用於以此次序執行一通訊端系統呼叫及一選擇系統呼叫之指令傳輸至代理伺服器30。若針對另一通訊端擷取LISTEN+SELECT狀態,則控制指令單元240將一用於以此次序執行一通訊端系統呼叫、一結合系統呼叫、一收聽系統呼叫及一選擇系統呼叫之指令傳輸至代理伺服器30。
圖7顯示代理伺服器30之功能組態。代理伺服器30裝備有一中央處理單元32、一儲存器單元34、一LAN介面36及一串行介面38。儲存器單元34儲存一由行動電話20指定之通訊端之第一識別資訊(例如,稱作一fd)及代理伺服器30用以與通訊裝置40進行通訊之通訊端之第二識別資訊(例如,稱作一句柄),其中該第一識別資訊係與該第二識別資訊相關聯。儘管該第一識別資訊可不同於該第二識別資訊,但相關聯之第一及第二識別資訊識別代理伺服器30所產生之相同通訊端。亦即,代理伺服器30產生之通訊端由運行於行動電話20上之任務200使用第一識別資訊來識別,且由一運行於代理伺服器30上之通訊模組310使用第二識別資訊來識別。
LAN介面36經由第二通訊線路35(例如,一乙太網路(註冊商標)通訊線路)與通訊裝置40進行通訊,使得行動電話20及通訊裝置40可互相通訊。另一方面,串行介面38經由第一通訊線路25(例如一串行線路、一並行線路或一USB(通用串行匯流排))與行動電話20進行通訊。串行介面38自行動電話20接收一通訊控制指令,或將通訊控制處理之結果傳輸至行動電話20。
中央處理單元32根據預先安裝之程式充當一通訊端產生單元300、通訊模組310、一ID管理單元320及一傳輸及接收單元330。中央處理單元32根據(例如)一用於實施通訊端通訊之Windows(註冊商標)作業系統之庫程式充當通訊模組310。通訊模組310控制代理伺服器30與通訊裝置40之間的通訊。回應於接收到一用於產生一新通訊端並與該第一識別資訊相關聯地管理該所產生通訊端之指令,通訊端產生單元300產生一用於代理伺服器30與通訊裝置40之間通訊之通訊端,並獲取該第二識別資訊。該通訊端之產生係藉由自通訊模組310調用一系統呼叫來達成。
ID管理單元320使串行介面38所接收之第一識別資訊與通訊端產生單元300所獲取之第二識別資訊相關聯,並將其儲存於儲存器單元34中。回應於自串行介面38接收到一用於使用一通訊端與該通訊端之第一識別資訊相關聯地傳輸或接收資料之指令,傳輸及接收單元330自儲存器單元34擷取對應於該第一識別資訊之第二識別資訊,且隨後使用由所擷取之第二識別資訊識別之通訊端傳輸資料至通訊裝置40或自通訊裝置40接收資料。代理伺服器30與通訊裝置40之間的資料傳輸及接收係藉由自通訊模組310調用一系統呼叫來達成。
於本實施例中,代理伺服器30與通訊裝置40係分開安置。然而,一單個資訊處理系統可充當代理伺服器30及通訊裝置40。於此情形中,傳輸及接收單元330實施與其他運作於代理伺服器30中之任務之TCP/IP通訊。因此,代理伺服器30可控制代理伺服器30之任務與行動電話20之間的通訊。
圖8顯示行動電話20及代理伺服器30所實施之第一實例性處理。任務200將一產生一新通訊端之控制請求傳輸至通訊模組210(S800)。此控制請求可藉由調用一通訊端系統呼叫來實施。在接收到此控制請求時,更新單元220產生一欲新產生之通訊端之第一識別資訊(fd),無論通訊裝置26及代理伺服器30是否可互相通訊(S810)。隨後,更新單元220將一指示已新產生一通訊端之產生狀態(OPEN狀態)與所產生之第一識別資訊相關聯地在儲存器單元24中儲存為通訊狀態(S820)。隨後,回應單元230將第一識別資訊作為通訊狀態之更新結果傳輸至任務200(S825)。BSD通訊端API標準規定:當一通訊端系統呼叫失敗時返回一值-1,而當一通訊端系統呼叫成功時返回一通訊端之識別資訊。相應地,傳輸通訊端之第一識別資訊或以通訊端之第一識別資訊加以回應意味著通訊狀態之更新已成功。在接收到更新結果時,任務200實施由一應用程式指定之下一處理(S830)。
若通訊裝置26及代理伺服器30可互相通訊,或若將通訊裝置26及代理伺服器30置於一通訊可用狀態,則實施下述處理。若儲存於儲存器單元24中之通訊狀態係產生狀態(OPEN狀態),則控制指令單元240將一用於新產生一通訊端並與其第一識別資訊相關聯地管理所產生通訊端之指令傳輸至代理伺服器30(S840)。舉例而言,控制指令單元240可傳輸一API號碼,該API號碼用於識別一欲執行之通訊端系統呼叫及欲與一所產生通訊端相關聯地加以管理之第一識別資訊(fd)。另外,控制指令單元240可將一在任務200調用一系統呼叫時指定之引數傳輸至代理伺服器30。在接收到此指令時,通訊端產生單元300產生一用於代理伺服器30與通訊裝置40之間通訊之通訊端及所產生通訊端之第二識別資訊(S850)。ID管理單元320使所接收之第一識別資訊與所產生之第二識別資訊相關聯以對其進行管理。
如上文參照一實例性通訊端系統呼叫所述,若接收一非阻塞控制請求,則更新單元220更新通訊狀態而無需等待直至對應於控制請求之控制處理已完成。回應單元230將通訊狀態之更新結果傳輸至任務200作為一回應。因此,任務200可繼續實施後續處理,即使行動電話20與代理伺服器30之間的第一通訊線路25斷開。此處,通訊端系統呼叫係一非阻塞控制請求之實例。於一收聽系統呼叫之情形中,實施與圖8中所示相同之處理。亦即,當通訊模組210接收一用於將一緩衝器分配至一通訊端之收聽系統呼叫之調用時,即使行動電話20與代理伺服器30之間的通訊線路25係斷開,更新單元220亦會將通訊狀態更新至緩衝器分配狀態(LISTEN狀態)且回應單元230以緩衝器分配已成功來回應任務200。因此,即使行動電話20與代理伺服器30不能互相通訊,藉由延遲回應於一資源分配請求而實施之實際控制處理直至通訊開始,任務200可繼續其處理。
圖9顯示行動電話20及代理伺服器30所實施之第二實例性處理。任務200傳輸一使用一通訊端與該通訊端之第一識別資訊相關聯地偵測通訊裝置26及通訊裝置40是否可互相通訊之控制請求(S900)。此控制請求可藉由調用一選擇系統呼叫來實施。在接收到此控制請求時,更新單元220將對應於該第一識別資訊之通訊端之通訊狀態更新至一通訊等待狀態(S910)。隨後,更新單元220暫停任務200之處理並等待直至通訊裝置26及代理伺服器30可互相通訊(S920)。於此情形中,更新單元220可將用於識別等待任務200之識別資訊與第一識別資訊相關聯,並將其儲存於儲存器單元24中。
若通訊狀態為通訊等待狀態,則當通訊裝置26及代理伺服器30可互相通訊時,回應單元230將複數個後續指令傳輸至代理伺服器30(S930)。該等指令包括:一用於產生一新通訊端並與該第一識別資訊相關聯地管理所產生通訊端之指令(舉例而言,一用於執行一通訊端系統呼叫之指令);一用於將一用於儲存一通訊請求之緩衝器分配至該通訊端之指令(舉例而言,一用於執行一收聽系統呼叫之指令);及一用於偵測是否可使用該通訊端實施通訊之指令(舉例而言,一用於執行一選擇系統呼叫之指令)。回應單元230可將用於識別相應系統呼叫之API編號與欲控制之通訊端之第一識別資訊相關聯,並將其傳輸至代理伺服器30。
在接收到該等指令時,通訊端產生單元300控制通訊(S940)。首先,通訊端產生單元300產生一用於代理伺服器30與通訊裝置40之間通訊之通訊端及所產生通訊端之第二識別資訊(S940)。ID管理單元320使第二識別資訊與第一識別資訊相關聯,並將其儲存於儲存器單元34中。此處,即使通訊端產生單元300接收到該用於新產生一通訊端並與其第一識別資訊相關聯地管理所產生通訊端之指令,但在第一識別資訊已被儲存於儲存器單元34中時,通訊端產生單元300可能不新產生一通訊端。於此情形中,ID管理單元320與傳輸及接收單元330針對一由對應於所儲存第一識別資訊之第二識別資訊所識別之通訊端實施其他處理。
通訊端產生單元300將一用於儲存一通訊請求之緩衝器分配至由第二識別資訊識別之通訊端。傳輸及接收單元330使用該通訊端傳輸資料至通訊裝置40或自通訊裝置40接收資料。舉例而言,傳輸及接收單元330藉由與通訊裝置40進行通訊來偵測是否可使用該通訊端實施通訊。當完成偵測時,將偵測結果傳輸至通訊模組210。若接收單元250自代理伺服器30接收偵測結果,則回應單元230將偵測結果傳輸至任務200(S950)作為一回應。更新單元220將對應於第一識別資訊之通訊狀態返回至緩衝器分配狀態。作為回應,任務200繼續實施下一處理(S960)。
如上文參照圖9所述,在一需要資料傳輸及接收之阻塞控制請求之情形中,舉例而言,將對應於控制請求之控制處理結果傳輸至該任務作為一回應。亦即,任務200暫停其處理直至完成資料之傳輸及接收。即使通訊模組210僅接收一選擇系統呼叫,通訊模組210亦會指令代理伺服器30不僅實施對應於選擇系統呼叫之控制處理且亦實施對應於過去接收之通訊端系統呼叫及收聽系統呼叫之控制處理。因此,可維持行動電話20與代理伺服器30之間通訊狀態之連貫性。
圖10顯示行動電話20及代理伺服器30所實施之第三實例性處理。下文將參照圖10闡述一用於實施通訊端通訊之應用程式之處理之典型實例。若任務200請求將一通訊端系統呼叫調用至通訊模組210(S1000),則更新單元220產生一通訊端之第一識別資訊(S1010),且回應單元230以該第一識別資訊來回應任務200(S1020)。若任務200調用一結合系統呼叫以將一指定埠編號分配至該通訊端(S1030),則更新單元220使該埠編號與第一識別資訊相關聯並將其儲存於儲存器單元24中。隨後,回應單元230以埠編號之分配已成功來回應任務200(S1040)。
若任務200請求將一收聽系統呼叫調用至通訊模組210(S1050),則更新單元220將通訊狀態更新至緩衝器分配狀態,且回應單元230以緩衝器分配已成功來回應任務200(S1055)。隨後,若任務200調用一接受系統呼叫以回應於一自通訊裝置40接收之通訊請求而傳輸一通訊許可(S1060),則更新單元220產生一欲新產生之通訊端之第一識別資訊並將其儲存於儲存器單元24中。另外,更新單元220將對應於第一識別資訊之通訊狀態更新至通訊接受狀態(ACCEPT狀態),並暫停任務200之處理直至行動電話20可與代理伺服器30進行通訊。因此,任務200之處理繼續,而無需暫停直至發出一阻塞控制請求(例如接受系統呼叫)。
當行動電話20與代理伺服器30可互相通訊時,控制指令單元240將複數個後續指令傳輸至代理伺服器30(S1065)。該等指令包括:一用於新產生一通訊端並與該第一識別資訊相關聯地管理所產生通訊端之指令(例如,一用於執行一通訊端系統呼叫之指令);一用於將一用於儲存一自通訊裝置40接收之通訊請求之緩衝器分配至該通訊端之指令(例如,一用於執行一收聽系統呼叫之指令);及一用於回應於一自通訊裝置40接收之通訊請求而傳輸一通訊許可之指令(例如,一用於執行一接受系統呼叫之指令)。若已關聯及儲存該第一識別資訊及埠編號,則控制指令單元240可將一用於與該埠編號相關聯地分配該埠編號之指令傳輸至代理伺服器。
另外,控制指令單元240產生欲與一根據一接受系統呼叫新產生之通訊端相關聯地加以管理之第一識別資訊(新fd)。更特定而言,控制指令單元240擷取儲存器單元24中一與空白狀態相關聯之條目,並獲取一對應於該條目之通訊端之識別資訊。舉例而言,圖3中圖解說明之表格之第三列中之條目係與空白狀態相關聯。此條目位於一其中一條目具有數字2作為第一識別資訊之列旁邊之列中。相應地,控制指令單元240產生一數字3(其係2與1之和)作為第一識別資訊(新fd),並將其儲存於儲存器單元24中。隨後,控制指令單元240將新產生之第一識別資訊(新fd)傳輸至代理伺服器30以使該第一識別資訊(新fd)與一由代理伺服器30產生之通訊端相關聯。
在接收到該等指令時,通訊端產生單元300調用通訊端系統呼叫、結合系統呼叫、收聽系統呼叫及接受系統呼叫(S1070)。包含於代理伺服器30中之ID管理單元320使所接收之第一識別資訊(新fd)與一新產生通訊端之第二識別資訊相關聯,並將其儲存於儲存器單元34中。將該等系統呼叫之執行結果傳輸回通訊模組210(S1075)。作為對其之回應,更新單元220將對應於第一識別資訊(fd)之通訊狀態返回至緩衝器分配狀態(LISTEN狀態),並將對應於第一識別資訊(新fd)之通訊狀態更新至連接狀態。回應單元230以作為控制處理結果之第一識別資訊(新fd)來回應任務200(S1080)。因此,任務200可藉由取消其暫停而前進至下一處理。
因此,根據本發明之實施例,假設控制處理已成功,則即使行動電話20與代理伺服器30之間的第一通訊線路25無效,亦可繼續執行任務200,因為控制處理(例如通訊端資源之獲取及釋放)無需與代理伺服器30通訊。當實際開始通訊時,暫停任務200之執行以實施諸如通訊端資源之獲取及釋放等處理。因此,即使存在第一通訊線路25斷開之可能性,任務200亦可繼續TCP/IP通訊。其結果係,可將一串行介面或一並行介面用於第一通訊線路25來替代乙太網路(註冊商標)。另外,可暫時斷開第一通訊線路25。為避免行動電話20之作業受到此斷開之影響,行動電話20一般可在不連接至代理伺服器30之狀況下運作,且可僅在必要時(例如,當實施除錯時)連接至代理伺服器30。
圖11顯示一充當代理伺服器30之資訊處理系統600之實例性硬體組態。資訊處理系統600裝備有一CPU相關部分、一輸入及輸出部分及一遺留輸入及輸出部分。CPU相關部分包括一CPU 1000、一RAM 1020及一圖形控制器1075,其皆藉由一主機控制器1082而互相連接。輸入及輸出部分包括經由一輸入及輸出控制器1084連接至主機控制器1082的一通信介面1030、一硬碟機1040及一CD-ROM驅動機1060。遺留輸入及輸出部分包括連接至輸入及輸出控制器1084的一ROM 1010、一軟碟機1050及一輸入及輸出晶片1070。
主機控制器1082將RAM 1020連接至CPU 1000及圖形控制器1075,從而使CPU 1000及圖形控制器1075以高傳輸速率存取RAM 1020。CPU 1000根據儲存於ROM 1010及RAM 1020中之程式來運作,並控制每一組件。舉例而言,CPU 1000充當圖7中闡述之中央處理單元32。圖形控制器1075自一安置於RAM 1020中之訊框緩衝器獲取由CPU 1000產生之圖像資料,並將所獲取之圖像資料顯示於一顯示裝置1080上。另一選擇為,圖形控制器1075可包含一用於儲存CPU 1000產生之圖像資料之訊框緩衝器。
輸入及輸出控制器1084將主機控制器1082連接至通訊介面1030、硬碟機1040及CD-ROM機1060(其係相對高速輸入及輸出裝置)。通訊介面1030經由一網路與一外部裝置進行通訊。舉例而言,通訊介面1030充當參照圖7闡述之LAN介面36。硬碟機1040儲存資訊處理系統600使用之程式及資料。CD-ROM機1060自一CD-ROM 1095讀取一程式或資料,並將所讀取之程式或資料提供至RAM 1020或硬碟機1040。RAM 1020可充當參照圖7闡述之儲存器單元34。
另外,ROM 1010、軟碟機1050及輸入及輸出晶片1070(其係相對低速輸入及輸出裝置)連接至輸入及輸出控制器1084。輸入及輸出晶片1070可充當(例如)串行介面38。ROM 1010在資訊處理系統600啟動時儲存一由CPU 1000執行之啟動程式,及其他相依於資訊處理系統600之硬體之程式。軟碟機1050自一軟碟1090讀取一程式或資料,並經由輸入及輸出晶片1070將所讀取之程式或資料提供至RAM 1020或硬碟機1040。輸入及輸出晶片1070經由一並行埠、一串行埠、一鍵盤埠、一滑鼠埠等來連接軟碟1090及各種輸入及輸出裝置。
將一欲提供給資訊處理系統600之程式儲存於軟碟1090、CD-ROM 1095或一記錄媒體(例如,一IC卡)上,並隨後由一使用者提供。經由輸入及輸出晶片1070及/或輸入及輸出控制器1084自記錄媒體讀取該程式,將其安裝於資訊處理系統600中並隨後執行該程式。可經由輸入及輸出晶片1070將一用於控制行動電話20之控制程式安裝於行動電話20中並執行該控制程式。該程式致使資訊處理系統600實施之作業係與參照圖1至10闡述之代理伺服器30或行動電話20實施之彼等作業相同,且因此將省略其闡述。
上文所述程式可儲存於一外部記錄媒體中。該外部記錄媒體可係軟碟1090、CD-ROM 1095、一光學記錄媒體(例如,一DVD或PD)、一磁性光碟(例如一MD)、一磁帶媒體或一半導體記憶體(例如一IC卡)。作為選擇,可使用一儲存裝置(例如,一安置於一連接至一專用通訊網路或網際網路之伺服器系統中之硬碟或RAM)作為一記錄媒體,且可經由網路將該程式提供給資訊處理系統600。
儘管上文係參照本發明之實施例來闡述本發明,然而本發明之技術範疇並不限於上述實施例。熟習此項技術者將明顯看出,可在不背離隨附申請專利範圍之前提下做出各種變動及修改。
10...通訊系統
20...行動電話
22...中央處理單元
24...儲存器單元
25...第一通訊線路
26...通訊裝置
30...代理伺服器
32...中央處理單元
34...儲存器單元
36...LAN介面
38...串行介面
35...第二通訊線路
40...通訊裝置
200...任務
210...通訊模組
220...更新單元
230...回應單元
240...控制指令單元
250...接收單元
300...通訊端產生單元
310...通訊模組
320...ID管理單元
330...傳輸及接收單元
600...資訊處理系統
圖1顯示一通訊系統10之整個組態。
圖2顯示一行動電話20之功能組態。
圖3顯示一儲存器單元24之實例性資料結構。
圖4顯示一通訊模組210之功能組態。
圖5顯示行動電話20與一通訊裝置40之間通訊之通訊狀態轉變。
圖6顯示行動電話20之通訊狀態及根據該等通訊狀態傳輸至通訊裝置40之指令。
圖7顯示一代理伺服器30之功能組態。
圖8顯示行動電話20及代理伺服器30所實施之第一實例性處理。
圖9顯示由行動電話20及代理伺服器30所實施之第二實例性處理。
圖10顯示由行動電話20及代理伺服器30所實施之第三實例性處理。
圖11顯示一充當代理伺服器30之資訊處理系統600之實例性硬體組態。
24...儲存器單元
26...通訊裝置
200...任務
210...通訊模組
220...更新單元
230...回應單元
240...控制指令單元
250...接收單元
Claims (20)
- 一種經由一外部代理伺服器與另一裝置進行通訊之內嵌裝置,該外部代理伺服器代表該內嵌裝置控制通訊,該內嵌裝置包括:一中央處理單元;一通訊裝置,其經組態與該外部代理伺服器進行通訊;一儲存器單元,其儲存一與該另一裝置之通訊狀態;一更新單元,回應於該通訊裝置不能與該外部代理伺服器進行通訊,回應於一自該中央處理單元正執行之任務接收的與該另一裝置通訊之控制請求而更新該通訊狀態;一回應單元,其以通訊狀態更新之結果回應該任務;及一控制指令單元,回應於該通訊裝置可與該外部代理伺服器進行通訊,該控制指令單元經由該通訊裝置將一用於將與該外部代理伺服器中該另一裝置之通訊狀態改變至儲存於該儲存器單元中之通訊狀態之指令傳輸至該外部代理伺服器。
- 如請求項1之內嵌裝置,其進一步包括一接收單元,其經由該通訊裝置自該外部代理伺服器接收該外部代理伺服器根據自該控制指令單元傳輸之指令而實施之控制處理之一結果,其中,回應於自該任務接收之該控制請求係一容許該任務繼續一處理而無需等待直至對應於該控制請求之控 制處理已完成之非阻塞控制請求,即使該通訊裝置與該外部代理伺服器不能互相通訊,該更新單元亦更新該通訊狀態,及其中,回應於自該任務接收之該控制請求非係一非阻塞控制請求,該更新單元根據該接收單元所接收之控制處理結果更新該通訊狀態。
- 如請求項2之內嵌裝置,其中,回應於自該任務接收之該控制請求係一獲取或釋放一通訊所需資源之請求,該更新單元判定該所接收之控制請求係該非阻塞控制請求,且回應於自該任務接收之該控制請求係一該內嵌裝置與該另一裝置之間資料傳輸及接收所需之控制請求,該更新單元判定該接收之控制請求非係該非阻塞控制請求。
- 如請求項2之內嵌裝置,其中回應於自該任務接收之該控制請求係一改變該通訊裝置與該另一裝置之間通訊屬性之請求,該更新單元判定該所接收之控制請求係該非阻塞控制請求。
- 如請求項2之內嵌裝置,其中回應於自該任務接收之該控制請求係一偵測該通訊裝置及該另一裝置是否可互相通訊之請求,該更新單元判定該所接收之控制請求非係該非阻塞控制請求。
- 如請求項2之內嵌裝置,其中回應於自該任務接收之該控制請求係一回應於一自該另一裝置傳輸之通訊請求而以通訊許可作出回應之請求,該更新單元判定該所接收 之控制請求非係該非阻塞控制請求。
- 如請求項2之內嵌裝置,其中該外部代理伺服器代表該內嵌裝置控制經由傳輸控制協定/網際網路協定與該另一裝置之通訊,其中該儲存器單元與每一通訊端之識別資訊相關聯地儲存其每一通訊狀態,其中,回應於一產生一新通訊端之控制請求,該更新單元與欲產生之該新通訊端之識別資訊相關聯地在該儲存器單元中儲存一指示已新產生一通訊端之產生狀態作為該通訊狀態,其中該回應單元將該新通訊端之識別資訊作為一更新結果返回至該任務,及其中,回應於該通訊狀態係該產生狀態,回應於該通訊裝置可與該外部代理伺服器進行通訊,該控制指令單元將一用於產生該新通訊端並與該新通訊端之識別資訊相關聯地管理該產生通訊端之指令傳輸至該外部代理伺服器。
- 如請求項7之內嵌裝置,其中,回應於接收到給一給定通訊端分配一緩衝器以用於與該通訊端之識別資訊相關聯地儲存自該另一裝置接收之通訊請求之控制請求,該更新單元將對應於該給定通訊端之識別資訊之該通訊狀態更新至一緩衝器分配狀態,其中該回應單元將一指示緩衝器分配已成功之通知傳 輸至該任務,及其中,回應於該通訊狀態係該緩衝器分配狀態,回應於該通訊裝置可與該外部代理伺服器進行通訊,該控制指令單元將一用於產生該給定通訊端並與該識別資訊相關聯地管理該產生之給定通訊端之指令及一用於將一緩衝器分配給該給定通訊端之指令傳輸至該外部代理伺服器。
- 如請求項7之內嵌裝置,其中,回應於接收到一偵測該通訊裝置及該另一裝置是否可使用一給定通訊端互相通訊之控制請求,該更新單元將對應於該給定通訊端之識別資訊之該通訊狀態更新至一通訊等待狀態,其中,回應於該通訊狀態係該通訊等待狀態,回應於該通訊裝置可與該外部代理伺服器進行通訊,該控制指令單元將一用於產生該給定通訊端並與該識別資訊相關聯地管理該產生之給定通訊端之指令、一用於將該緩衝器分配給該給定通訊端之指令、及一用於偵測是否可使用該給定通訊端實施通訊之指令傳輸至該外部代理伺服器,及其中,回應於該接收單元自該外部代理伺服器接收一偵測是否可使用該給定通訊端實施通訊之結果,該回應單元將該接收之偵測結果傳輸至該任務,且該更新單元將對應於該給定通訊端之識別資訊之通訊狀態返回至該緩衝器分配完成狀態。
- 如請求項7之內嵌裝置,其中,回應於接收到一將一特定埠編號與一給定通訊端之識別資訊相關聯地分配至該給定通訊端之控制請求,該更新單元將該埠編號與該給定通訊端之識別資訊相關聯地儲存於該儲存器單元中,其中該回應單元將一指示埠編號分配已成功之通知傳輸至該任務,及其中,回應於該通訊裝置可與該外部代理伺服器進行通訊,回應於與該埠編號相關聯地儲存該給定通訊端之識別資訊,該控制指令單元將該埠編號傳輸至該外部代理伺服器。
- 如請求項2之內嵌裝置,其中將一致使該中央處理單元充當該更新單元、該回應單元、該控制指令單元及該接收單元之庫程式安裝於該內嵌裝置中以替代一用於實施通訊端通訊之庫程式,其中該任務藉由呼叫一包含於該所安裝庫程式內之應用程式化介面將該控制請求傳輸至該更新單元,及其中該更新單元判定若其自該任務接收到對一通訊端系統呼叫、一結合系統呼叫、一收聽系統呼叫或一關閉系統呼叫之調用請求中之至少一者時其已接收該非阻塞控制請求,且判定設若其自該任務接收到對一接受系統呼叫、一選擇系統呼叫、一接收系統呼叫或一發送系統呼叫之調用請求中之至少一者時其已接收一非係該非阻塞控制請求之控制請求。
- 一種包含一電腦可讀媒體之電腦程式產品,其具有一記錄於其上之控制程式,該控制程式用於控制一內嵌裝置,該內嵌裝置經由一代表該內嵌裝置控制通訊之外部代理伺服器而與另一裝置進行通訊,其中當該控制程式由該內嵌裝置執行時,使該內嵌裝置:與該外部代理伺服器進行通訊;於該內嵌裝置之一儲存器單元中儲存一與該另一裝置之通訊狀態;回應於該通訊裝置不能與該外部代理伺服器通訊,回應於自該內嵌裝置之一中央處理單元正執行之任務接收的與另一裝置通訊之控制請求更新該通訊狀態;以一通訊狀態更新之結果回應該任務;及回應於該通訊裝置可與該外部代理伺服器進行通訊,將一用於將與該外部代理伺服器內該另一裝置之通訊狀態改變至儲存於該儲存器單元中之通訊狀態之指令傳輸至該外部代理伺服器。
- 一種用於控制一內嵌裝置之方法,該內嵌裝置經由一代表該內嵌裝置控制通訊之外部代理伺服器與另一裝置進行通訊,該方法包含:該內嵌裝置包括:於該內嵌裝置之一儲存器單元中儲存一與該另一裝置之通訊狀態,回應於該內嵌裝置不能與該外部代理伺服器通訊,回應於自該內嵌裝置之一中央處理單元正執行之任務接收 的與該另一裝置進行通訊之控制請求,更新該通訊狀態;以該通訊狀態更新之結果回應該任務;及回應於該內嵌裝置可與該外部代理伺服器進行通訊,將一用於與該外部代理伺服器中該另一裝置之通訊狀態改變至儲存於該儲存器單元中之通訊狀態之指令傳輸至該外部代理伺服器。
- 如請求項13之方法,其進一步包括:自該外部代理伺服器接收該外部代理伺服器根據自該控制指令單元傳輸之指令而實施之控制處理之一結果;回應於自該任務接收之該控制請求係一容許該任務繼續一處理而無需等待直至對應於該控制請求之控制處理已完成之非阻塞控制請求,即使該通訊裝置與該外部代理伺服器不能互相通訊,更新該通訊狀態;及回應於自該任務接收之該控制請求非係一非阻塞控制請求,根據該接收單元所接收之控制處理結果更新該通訊狀態。
- 如請求項14之方法,其進一步包括:回應於自該任務接收之該控制請求係一獲取或釋放一通訊所需資源之請求,判定該所接收之控制請求係該非阻塞控制請求;且回應於自該任務接收之該控制請求係一該內嵌裝置與該另一裝置之間資料傳輸及接收所需之控制請求,判定該接收之控制請求非係該非阻塞控制請求。
- 如請求項14之方法,其進一步包括:回應於自該任務接收之該控制請求係一改變該內嵌裝置與該另一裝置之間通訊屬性之請求,判定該所接收之控制請求係該非阻塞控制請求。
- 如請求項14之方法,其進一步包括:回應於自該任務接收之該控制請求係一偵測該通訊裝置及該另一裝置是否可互相通訊之請求,判定該所接收之控制請求非係該非阻塞控制請求。
- 如請求項14之方法,其進一步包括:回應於自該任務接收之該控制請求係一回應於一自該另一裝置傳輸之通訊請求而以通訊許可作出回應之請求,判定該所接收之控制請求非係該非阻塞控制請求。
- 如請求項14之方法,其中該外部代理伺服器代表該內嵌裝置控制經由傳輸控制協定/網際網路協定與該另一裝置之通訊,且其中該儲存器單元與每一通訊端之識別資訊相關聯地儲存其每一通訊狀態,該方法進一步包括:回應於一產生一新通訊端之控制請求,與一欲新產生之該新通訊端之識別資訊相關聯地在該儲存器單元中儲存一指示已新產生一通訊端之產生狀態作為該通訊狀態;將該新通訊端之識別資訊作為一更新結果返回至該任務;及回應於該通訊狀態係該產生狀態,回應於該內嵌裝置可與該外部代理伺服器進行通訊,將一用於產生該新通 訊端並與該新通訊端之識別資訊相關聯地管理該產生通訊端之指令傳輸至該外部代理伺服器。
- 如請求項14之方法,其中將一致使該中央處理單元充當一更新單元、一回應單元、一控制指令單元及一接收單元之庫程式安裝於該內嵌裝置中以替代一用於實施通訊端通訊之庫程式,其中該任務藉由呼叫一包含於該所安裝庫程式內之應用程式化介面將該控制請求傳輸至該更新單元,及其中該更新單元判定若其自該任務接收到對一通訊端系統呼叫、一結合系統呼叫、一收聽系統呼叫或一關閉系統呼叫之調用請求中之至少一者時其已接收該非阻塞控制請求,且判定設若其自該任務接收到對一接受系統呼叫、一選擇系統呼叫、一接收系統呼叫或一發送系統呼叫之調用請求中之至少一者時其已接收一非係該非阻塞控制請求之控制請求。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006111300 | 2006-04-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200803282A TW200803282A (en) | 2008-01-01 |
TWI418178B true TWI418178B (zh) | 2013-12-01 |
Family
ID=38624931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096112525A TWI418178B (zh) | 2006-04-13 | 2007-04-10 | 利用代理伺服器控制內嵌裝置外部通訊之技術 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7996524B2 (zh) |
EP (1) | EP2015190B1 (zh) |
JP (1) | JP4965562B2 (zh) |
CN (1) | CN101411165B (zh) |
AT (1) | ATE531176T1 (zh) |
BR (1) | BRPI0710748B1 (zh) |
CA (1) | CA2642585C (zh) |
TW (1) | TWI418178B (zh) |
WO (1) | WO2007123025A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8869171B2 (en) * | 2010-12-23 | 2014-10-21 | Mellanox Technologies Ltd. | Low-latency communications |
CN103138965B (zh) * | 2011-11-28 | 2016-07-06 | 中国电信股份有限公司 | 一种查询物联网设备状态的方法、装置和*** |
CN103327040A (zh) * | 2012-03-21 | 2013-09-25 | 鸿富锦精密工业(深圳)有限公司 | 代理服务更新***及方法 |
US9088612B2 (en) * | 2013-02-12 | 2015-07-21 | Verizon Patent And Licensing Inc. | Systems and methods for providing link-performance information in socket-based communication devices |
US10356047B2 (en) | 2013-12-05 | 2019-07-16 | Crowdstrike, Inc. | RPC call interception |
WO2017193427A1 (zh) * | 2016-05-10 | 2017-11-16 | 华为技术有限公司 | 分组交换业务识别方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI228661B (en) * | 2001-03-15 | 2005-03-01 | Intel Corp | Generic external proxy |
US20060009213A1 (en) * | 1998-10-09 | 2006-01-12 | Netmotion Wireless, Inc. | Method and apparatus for providing mobile and other intermittent connectivity in a computing environment |
US20060053485A1 (en) * | 2004-09-08 | 2006-03-09 | Chia-Hsin Li | Network connection through NAT routers and firewall devices |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0922391A (ja) | 1995-07-05 | 1997-01-21 | Matsushita Electric Ind Co Ltd | クライアント/サーバシステム |
JP3392302B2 (ja) * | 1996-10-04 | 2003-03-31 | 株式会社日立製作所 | 情報処理装置、通信方法および記憶媒体 |
JP3608905B2 (ja) * | 1997-05-29 | 2005-01-12 | 三菱電機株式会社 | データ通信システム及びデータ通信方法 |
JPH11112609A (ja) * | 1997-10-06 | 1999-04-23 | Toshiba Corp | 通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体 |
JPH11225376A (ja) | 1998-02-06 | 1999-08-17 | Ntt Chuo Personal Tsushinmo Kk | 通信接続装置 |
JP3464907B2 (ja) | 1998-03-20 | 2003-11-10 | 富士通株式会社 | プロトコル変換システム |
EP1170923B1 (en) | 2000-07-07 | 2005-05-25 | International Business Machines Corporation | Interception method and system for compensating disadvantageous characteristics of a communication protocol |
US7139822B2 (en) * | 2000-07-07 | 2006-11-21 | International Business Machines Corporation | Interception method and system for compensating disadvantageous characteristics of a communication protocol |
JP3539941B2 (ja) * | 2001-07-31 | 2004-07-07 | アンリツ株式会社 | 測定システム |
AU2002313583A1 (en) * | 2001-08-01 | 2003-02-17 | Actona Technologies Ltd. | Virtual file-sharing network |
CN100363895C (zh) * | 2001-12-05 | 2008-01-23 | 微软公司 | 移动式和嵌入式设备的配置和管理*** |
JP4329358B2 (ja) | 2003-02-24 | 2009-09-09 | 富士通株式会社 | ストリーム配信方法、及びストリーム配信システム |
US7533176B2 (en) * | 2004-07-14 | 2009-05-12 | International Business Machines Corporation | Method for supporting connection establishment in an offload of network protocol processing |
JP2006127461A (ja) * | 2004-09-29 | 2006-05-18 | Sony Corp | 情報処理装置、通信処理方法、並びにコンピュータ・プログラム |
-
2007
- 2007-04-10 EP EP07741331A patent/EP2015190B1/en not_active Not-in-force
- 2007-04-10 WO PCT/JP2007/057895 patent/WO2007123025A1/ja active Application Filing
- 2007-04-10 CA CA2642585A patent/CA2642585C/en active Active
- 2007-04-10 CN CN200780011378.XA patent/CN101411165B/zh not_active Expired - Fee Related
- 2007-04-10 JP JP2008512068A patent/JP4965562B2/ja not_active Expired - Fee Related
- 2007-04-10 US US12/296,791 patent/US7996524B2/en not_active Expired - Fee Related
- 2007-04-10 TW TW096112525A patent/TWI418178B/zh not_active IP Right Cessation
- 2007-04-10 AT AT07741331T patent/ATE531176T1/de not_active IP Right Cessation
- 2007-04-10 BR BRPI0710748A patent/BRPI0710748B1/pt active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060009213A1 (en) * | 1998-10-09 | 2006-01-12 | Netmotion Wireless, Inc. | Method and apparatus for providing mobile and other intermittent connectivity in a computing environment |
TWI228661B (en) * | 2001-03-15 | 2005-03-01 | Intel Corp | Generic external proxy |
US20060053485A1 (en) * | 2004-09-08 | 2006-03-09 | Chia-Hsin Li | Network connection through NAT routers and firewall devices |
Also Published As
Publication number | Publication date |
---|---|
US7996524B2 (en) | 2011-08-09 |
JP4965562B2 (ja) | 2012-07-04 |
ATE531176T1 (de) | 2011-11-15 |
BRPI0710748B1 (pt) | 2018-11-27 |
CN101411165A (zh) | 2009-04-15 |
CA2642585C (en) | 2015-03-17 |
US20090201944A1 (en) | 2009-08-13 |
JPWO2007123025A1 (ja) | 2009-09-03 |
EP2015190A4 (en) | 2010-09-22 |
BRPI0710748A2 (pt) | 2012-09-18 |
EP2015190B1 (en) | 2011-10-26 |
CN101411165B (zh) | 2013-06-19 |
WO2007123025A1 (ja) | 2007-11-01 |
EP2015190A1 (en) | 2009-01-14 |
TW200803282A (en) | 2008-01-01 |
CA2642585A1 (en) | 2007-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023284699A1 (zh) | 基于Linux***的协议栈数据传输方法、计算机设备和存储介质 | |
KR101066682B1 (ko) | 공유 자원에 대한 통지 방법 | |
JP3853592B2 (ja) | 分散ウェブアプリケーションサーバ | |
TWI418178B (zh) | 利用代理伺服器控制內嵌裝置外部通訊之技術 | |
WO2021239157A1 (zh) | 一种应用调试方法、装置、设备及介质 | |
JPH07168774A (ja) | 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法 | |
US7769828B2 (en) | System for provisioning time sharing option (TSO) and interactive productivity system facility (ISPF) services in a network environment | |
WO2017166166A1 (en) | System and method for providing runtime tracing for web-based client accessing transactional middleware platform using extension interface | |
TW582147B (en) | Inbound connector | |
US11144370B2 (en) | Communication method for virtual machines, electronic device, and non-transitory computer readable storage medium | |
JP2003242050A (ja) | サーバ・クライアント間データ転送方法およそのサーバクライアントシステム | |
US10223178B2 (en) | Enabling WPD devices to be managed at the capability level | |
JP3880513B2 (ja) | 中継処理装置、制御方法、プログラム、記録媒体、及び端末制御サーバ | |
KR20010038541A (ko) | 내장형 실시간 소프트웨어의 원격 개발을 위한 타겟 서버 장치 및 그 제어 방법 | |
JP4627789B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2002163122A (ja) | 通信処理方法ならびに通信処理プログラムが記録される記録媒体 | |
CN116737404B (zh) | 用于应用接续的方法及终端设备 | |
JP2019169927A (ja) | 情報処理装置、ファクシミリ装置、及びプログラム | |
CN114721988B (zh) | 实现usb外设驱动代理与监控审计的方法及*** | |
JP7416198B2 (ja) | サーバ内周波数制御装置、制御方法、プログラム | |
KR20010105756A (ko) | 통합 응용 프로그램 인터페이스를 사용한 컴퓨터 전화인터페이스 서비스 프로그램 개발 시스템 및 방법 | |
CN117278549A (zh) | 基于rdma的数据发送方法、装置、电子设备及存储介质 | |
CN112333245A (zh) | 一种协议通信方法、装置、设备及存储介质 | |
CN116737404A (zh) | 用于应用接续的方法及终端设备 | |
CN113704005A (zh) | 可远程调用应用的方法、装置、***及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |