專利名稱:用于移動計算機的文件傳輸協(xié)議的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般與使用移動計算機的計算機文件共享和傳輸有關(guān)。
背景可以使用各種不同協(xié)議中的一種在計算機之間進行計算機文件傳輸,且絕大部分這些協(xié)議要與個人計算機操作系統(tǒng)(OS)一起使用。例如,一般用于PC的文件傳輸協(xié)議(FTP)實質(zhì)上是一種依賴于PC OS中的處理和通信層的頂層應(yīng)用程序,它使得能夠在對如定位、創(chuàng)建和刪除目錄以及拷貝和刪除文件等進行安全控制的情況下傳輸文件。一種更廣泛使用的協(xié)議是服務(wù)器消息塊(SMB)協(xié)議,它便于更多的操作,包括共享文件、串行端口和打印機。SMB也能提供兩個安全級。
然而,用于在裝置之間傳輸文件的第三種協(xié)議是藍(lán)牙協(xié)議,它用于無線環(huán)境并實質(zhì)上提供了與FTP基本相同的功能。所有這些協(xié)議均表現(xiàn)為與PC OS一起使用,且要求傳輸?shù)膬啥?例如,客戶機和服務(wù)器)擁有相互匹配的通信協(xié)議棧。
如本文中所理解,以上協(xié)議是考慮PC OS而設(shè)計的,但其他OS如Palm OS用于更小的無線裝置如無線電話和個人數(shù)字助理(PDA)。從本文中可以進一步理解,Palm OS不具有常規(guī)文件共享協(xié)議呈現(xiàn)的全部PC OS特性。例如,從本文中可知,Palm OS在其相對較小的內(nèi)部存儲器中不具有常規(guī)文件系統(tǒng)。相反地,文件是以具有標(biāo)題信息的基本數(shù)據(jù)形式進行存儲的。此外,在Palm OS中的網(wǎng)絡(luò)通信支持被局限于傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)層。本發(fā)明基于對以上觀察結(jié)果的考慮而提出。
發(fā)明內(nèi)容
使用具有Palm操作系統(tǒng)(OS)的裝置進行通信的一種方法包括優(yōu)先使用服務(wù)器消息塊(SMB)與節(jié)點進行通信,如果不能使用SMB與節(jié)點進行通信,則使用文件傳輸協(xié)議(FTP)。如果不能使用FTP與節(jié)點進行通信,則使用藍(lán)牙。
在一些說明性實施例中,如果沒有識別出用于在裝置和通信節(jié)點之間進行通信的協(xié)議,則確定該節(jié)點是否能使用該裝置可用的SMB方言(dialect)進行通信,如果能,則把SMB選為通信協(xié)議。如果該節(jié)點不能使用該裝置可用的SMB方言進行通信,則用FTP消息對該節(jié)點進行查詢,如果收到合適的響應(yīng),則選擇FTP作為通信協(xié)議。另一方面,如果沒有收到合適的響應(yīng),則試圖用藍(lán)牙來收集裝置的標(biāo)識,如果標(biāo)識與該節(jié)點的標(biāo)識一致,則選擇藍(lán)牙作為通信協(xié)議。
如果SMB或藍(lán)牙被選為工作協(xié)議,則用戶名可被自動設(shè)置成默認(rèn)名稱。相反,如果FTP或藍(lán)牙被選為協(xié)議,則通過臨時將文件拷貝到裝置的內(nèi)部Palm操作系統(tǒng)存儲器,對該文件進行讀和寫操作,然后將文件拷貝回節(jié)點以覆寫在節(jié)點上的該文件的先前版本,來執(zhí)行要求讀和寫操作的裝置和節(jié)點之間的文件共享。對于到達或來自裝置的內(nèi)部存儲器的文件傳輸,該方法包括通過將非Palm OS格式的文件包封在內(nèi)部存儲器的Palm OS流中而在內(nèi)部存儲器和節(jié)點之間傳輸文件,并對該文件進行讀或?qū)懖僮?。另一方面,對于到達或來自裝置的擴展存儲器的文件傳輸,該方法包括使用該擴展存儲器的文件分配表(FAT)通過對文件的字節(jié)到字節(jié)拷貝,在擴展存儲器和節(jié)點之間進行文件傳輸。在這種場合,可以通過內(nèi)部存儲器來傳輸文件。
在另一方面,系統(tǒng)包含一個使用協(xié)議棧進行通信的處理器。該??梢园ㄒ粋€具有從包括藍(lán)牙、文件傳輸協(xié)議(FTP)和服務(wù)器消息塊(SMB)的組中選出的至少兩個應(yīng)用層協(xié)議的應(yīng)用層。處于該應(yīng)用層頂部的協(xié)議層用來選擇何種應(yīng)用層協(xié)議將被用來與一個節(jié)點通信。
另一方面,Palm OS裝置具有內(nèi)部存儲器、擴展存儲器和用于訪問以上存儲器的Palm操作系統(tǒng)(OS)。Palm OS被提供了用以確定該節(jié)點是否能使用該裝置可用的SMB方言進行通信的部件,如果能,則選擇SMB作為通信協(xié)議。Palm OS還被提供了用于以下情況的部件,即如果節(jié)點不能使用該裝置可用的SMB協(xié)議進行通信,則用FTP消息來詢問該節(jié)點,如果收到合適的響應(yīng),則選擇FTP作為通信協(xié)議。此外,Palm OS還被提供了用于以下情況的部件,即如果未收到合適的響應(yīng),則用藍(lán)牙來收集裝置的標(biāo)識。如果該標(biāo)識與節(jié)點的標(biāo)識相一致,則選擇藍(lán)牙作為通信協(xié)議。
附圖的簡要說明可參考附圖更好地理解本發(fā)明結(jié)構(gòu)和運行這兩方面的細(xì)節(jié),附圖中,相同的附圖標(biāo)記代表相同的部件,其中
圖1是在一種預(yù)定環(huán)境中示出的本發(fā)明移動文件傳輸協(xié)議(mFTP)的方框圖;圖2是本發(fā)明mFTP的示范性協(xié)議棧的示意圖;圖3是本發(fā)明mFTP在選擇協(xié)議的邏輯部分的流程圖;圖4是表示文件共享邏輯部分的流程圖;以及圖5是表示文件傳輸邏輯部分的流程圖。
優(yōu)選實施例的詳細(xì)描述參看圖1,其中示出了用10指示的系統(tǒng),該系統(tǒng)包括一個或多個與一個或多個移動計算裝置14進行通信的服務(wù)器12。移動計算裝置14可以是無線電話、個人數(shù)字助理(PDA)或其他使用非個人計算機(PC)操作系統(tǒng)(OS)的裝置,在示出的實施例中使用Palm OS 16。OS16能訪問內(nèi)部存儲器18和可用擴展存儲卡實現(xiàn)的擴展存儲器20。出于即將公開之目的,OS 16也訪問至少兩個用于通過有線或無線鏈路24與服務(wù)器12進行通信的收發(fā)機22。收發(fā)機22可包括調(diào)制解調(diào)器、802.11裝置和藍(lán)牙紅外(IR)和/或射頻(rf)收發(fā)機。
圖2示出本發(fā)明協(xié)議棧26的一個實施例,該棧不需要嚴(yán)格成對配置在服務(wù)器12中。棧26可以包括應(yīng)用層,該應(yīng)用層包含最頂層的mFTP層,如此處所述,該mFTP層在藍(lán)牙FTP層、SMB層和FTP層之上起作用。藍(lán)牙FTP層位于傳統(tǒng)的對象交換協(xié)議(OBEX)表示層、會話層、網(wǎng)絡(luò)層和傳輸層之上。在OBEX層之下可以是傳統(tǒng)的藍(lán)牙(射頻)和紅外數(shù)據(jù)鏈路層和物理層。
另一方面,如圖2所示,用于SMB層的數(shù)據(jù)鏈路層和物理層是傳統(tǒng)的IEEE 802.11層,而用于FTP層的數(shù)據(jù)鏈路層和物理層是傳統(tǒng)的調(diào)制解調(diào)器。傳統(tǒng)的Palm OS TCP/IP協(xié)議棧用作SMB層和FTP層的網(wǎng)絡(luò)層和傳輸層。然而,與傳統(tǒng)的Palm OS體系結(jié)構(gòu)不同,本發(fā)明提供網(wǎng)絡(luò)基本輸入/輸出系統(tǒng)(NetBlOS)層作為SMB層和Palm OSTCP/IP層之間的會話層。通過mFTP層、藍(lán)牙FTP層、具有NetBIOS層的SMB層和FTP層的協(xié)作實現(xiàn)了以下的邏輯處理。
應(yīng)理解,計算機14的處理器訪問OS 16,以執(zhí)行圖中示出的并在以下討論的邏輯處理,該邏輯處理可作為一系列計算機可執(zhí)行指令由處理器執(zhí)行。
這些指令可包含在具有計算機可讀介質(zhì)數(shù)據(jù)存儲裝置,如具有存有計算機可讀代碼元素的計算機可用介質(zhì)的計算機磁盤?;蛘?,這些指令可以存儲在DASD陣列、磁帶、傳統(tǒng)的硬盤驅(qū)動器、電只讀存儲器、光存儲裝置或其他合適的數(shù)據(jù)存儲裝置,如內(nèi)部存儲器18。在本發(fā)明的一個說明性實施例中,計算機可執(zhí)行指令可以是編譯的C++兼容代碼行或JAVA的行。
確實,文中的方框圖說明了計算機程序軟件中體現(xiàn)的本發(fā)明邏輯的結(jié)構(gòu)。本領(lǐng)域技術(shù)人員將理解這些流程圖說明了包括集成電路上的邏輯電路的計算機程序代碼元素的結(jié)構(gòu),該集成電路是依照本發(fā)明而發(fā)揮其作用的。顯然,本發(fā)明通過一個機器部件在其基本實施例中得到實施,該機器部件以指示數(shù)字處理設(shè)備(即計算機)執(zhí)行對應(yīng)于所示出的功能動作序列的形式提供了程序代碼元素。
圖3示出本發(fā)明mFTP的邏輯部分。應(yīng)理解,圖3假定已輸入一個正確的用戶名和密碼,且此用戶名和密碼已被接受。
從判定框28開始,確定是否已由例如用戶指定了所需的基礎(chǔ)協(xié)議(SMB、藍(lán)牙或FTP)。如果已經(jīng)指定了協(xié)議,則邏輯處理轉(zhuǎn)向框30以使用指定的協(xié)議。否則,邏輯處理轉(zhuǎn)向判定框32來確定是否能用一種合適的SMB方言與服務(wù)器進行協(xié)商。如果能,則在框34,將SMB選為協(xié)議,并在框36將用戶名自動設(shè)置成默認(rèn)名稱。相反,如果不能一致同意本地的SMB方言,則邏輯處理轉(zhuǎn)向框38,使用FTP查詢服務(wù)器,之后在判定框40確定是否收到了合適的響應(yīng)。如果收到了合適的響應(yīng),則在框42處,該邏輯部分選擇FTP作為協(xié)議。否則,在框44使用本領(lǐng)域已知的藍(lán)牙原理找出該裝置附近的所有藍(lán)牙裝置。
在判定框46,確定作為先前定位步驟結(jié)果而返回的任何裝置的名稱是否與將與其進行連接的文件服務(wù)器名稱相一致。如果不一致,則邏輯處理在狀態(tài)48結(jié)束,否則,在框50,該邏輯部分用藍(lán)牙連接到服務(wù)器,之后在框36自動將用戶名設(shè)置成默認(rèn)。
圖4示出在裝置和服務(wù)器之間共享文件的邏輯部分???2中簡要表達的是使用作為圖3結(jié)果所選擇的基礎(chǔ)協(xié)議的傳統(tǒng)特性來創(chuàng)建、刪除和定位目錄以及刪除文件。判定框54指出,如果在圖3中選擇了SMB,則在框56處可采用傳統(tǒng)方式完成對文件的讀和寫。然而,如果FTP或藍(lán)牙是選定的協(xié)議,則邏輯處理進入框58來使用基礎(chǔ)文件傳輸服務(wù),把要共享的文件臨時拷貝到裝置的本地內(nèi)部PalmOS存儲器。之后,在框60對臨時版本的文件執(zhí)行合適的操作(讀或?qū)?,并在框62將結(jié)果拷貝回服務(wù)器上的合適位置,以覆寫遠(yuǎn)程服務(wù)器上的版本。通過使用如上所述的讀或?qū)懳募δ軄韴?zhí)行在裝置上運行來自遠(yuǎn)程服務(wù)器的Palm OS應(yīng)用程序的操作。
圖5表示文件傳輸邏輯部分。判定框64代表該邏輯部分的一個分支,該分支取決于文件是在服務(wù)器12和本地內(nèi)部Palm OS存儲器18之間還是在服務(wù)器和擴展Palm OS存儲器20之間進行傳輸。在前一種情況下,邏輯處理轉(zhuǎn)到判定框66來確定所述的文件是否是PalmOS格式,如果是,則邏輯處理進入框68使用本領(lǐng)域已知的Palm OS原理從服務(wù)器接收文件(對于讀操作)或者將文件傳送至服務(wù)器(對于寫操作)。然而,如果文件不是Palm OS格式,則邏輯處理進入框70以將文件包裝在Palm OS的內(nèi)部存儲器的Palm OS數(shù)據(jù)流中,這樣,文件可被讀寫,但不必是可由裝置的終端用戶直接訪問的。
如果文件傳送至預(yù)期為采用了傳統(tǒng)文件分配表(FAT)的擴展存儲器20,或是來自擴展存儲器20,則邏輯處理從判定框64轉(zhuǎn)到框72,用Palm OS本機內(nèi)部存儲器作為傳輸介質(zhì),利用FAT以字節(jié)至字節(jié)的拷貝方式傳輸文件。
盡管文中示出并詳細(xì)描述的特定的移動計算機用文件傳輸協(xié)議(FILE TRANSFER PROTOCOL FOR MOBILE COMPUTER)完全能夠?qū)崿F(xiàn)本發(fā)明的上述目標(biāo),但應(yīng)當(dāng)理解它是本發(fā)明的當(dāng)前優(yōu)選實施例,是本發(fā)明廣泛考慮的主題的代表;本發(fā)明范圍完全包括對本領(lǐng)域技術(shù)人員顯見的其他實施例,且本發(fā)明范圍僅由所附的權(quán)利要求書加以規(guī)定。除非明確說明,其中提及一種單數(shù)形式的元素并不意味著“僅有一個”,而是意味著“一個或多個”。一種裝置或方法沒有必要應(yīng)對要由本發(fā)明解決的全部問題,這將由本發(fā)明的權(quán)利要求書涵蓋。此外,在本公開中,無論元件、部件或方法步驟是否在權(quán)利要求中得到了明確陳述,均不將該元件、部件或方法步驟無償貢獻給社會公眾。并且,對于此處缺少明確定義的權(quán)利要求術(shù)語,將賦予不與本說明書和以往申請檔案相矛盾的普通和習(xí)慣的含義。
權(quán)利要求
1.一種用具有Palm操作系統(tǒng)(OS)(16)的裝置(14)進行通信的方法,包括優(yōu)先使用服務(wù)器消息塊(SMB)協(xié)議來與節(jié)點(12)進行通信,如果不能用SMB與所述節(jié)點(12)進行通信,則優(yōu)先使用文件傳輸協(xié)議(FTP),如果不能用FTP與所述節(jié)點(12)進行通信,則使用藍(lán)牙。
2.如權(quán)利要求1所述的方法,其中,如果用于在所述裝置(14)和通信節(jié)點(12)之間進行通信的協(xié)議沒有被識別,則確定所述節(jié)點(12)能否用所述裝置(14)可用的SMB方言進行通信,如果能,則選擇SMB作為通信協(xié)議。
3.如權(quán)利要求2所述的方法,其中,如果所述節(jié)點(12)不能用所述裝置(14)可用的SMB方言進行通信,則用FTP消息對所述節(jié)點(12)進行查詢,如果收到合適的響應(yīng),則選擇FTP作為通信協(xié)議。
4.如權(quán)利要求3所述的方法,其中,如果未收到合適的響應(yīng),則試著用藍(lán)牙來收集裝置(14)的標(biāo)識,如果標(biāo)識與所述節(jié)點(12)的標(biāo)識一致,則選擇藍(lán)牙作為通信協(xié)議。
5.如權(quán)利要求1所述的方法,其中,如果將SMB或藍(lán)牙選為協(xié)議,則用戶名被自動設(shè)置成默認(rèn)名稱。
6.如權(quán)利要求1所述的方法,其中,如果將FTP或藍(lán)牙選為協(xié)議,則通過臨時將文件拷貝到所述裝置(14)的內(nèi)部Palm OS存儲器,對所述文件進行讀或?qū)懖僮?,然后將所述文件拷貝回所述?jié)點(12)以覆寫在所述節(jié)點(12)上的所述文件的先前版本,來執(zhí)行要求讀和寫操作的所述裝置(14)和節(jié)點(12)之間的文件共享。
7.如權(quán)利要求1所述的方法,包括通過將非Palm OS格式的文件包裝在所述內(nèi)部存儲器(18)的Palm OS數(shù)據(jù)流中,在所述裝置(14)的內(nèi)部Palm OS存儲器(18)和所述節(jié)點(12)之間傳輸至少一個所述文件,并對所述文件執(zhí)行讀和寫操作中的至少一種操作。
8.如權(quán)利要求1所述的方法,包括用擴展存儲器(20)的文件分配表(FAT)通過對文件的字節(jié)至字節(jié)拷貝在所述裝置(14)的擴展Palm OS存儲器(20)和所述節(jié)點(12)之間傳輸至少一個文件,并通過所述裝置(14)的內(nèi)部Palm OS存儲器(18)進行所述文件的傳輸。
9.一種Palm OS裝置(14),包括至少一個內(nèi)部存儲器(18);至少一個擴展存儲器(20);至少一個訪問所述存儲器(18、20)的Palm操作系統(tǒng)(OS);確定所述節(jié)點(12)能否用所述裝置(14)可用的SMB方言進行通信的部件;在所述裝置(14)和節(jié)點(12)之間可進行SMB通信時選擇SMB作為通信協(xié)議的部件;在所述節(jié)點(12)不能用所述裝置(14)可用的SMB方言進行通信時用FTP消息對所述節(jié)點(12)進行查詢的部件;在收到合適響應(yīng)時選擇FTP作為通信協(xié)議的部件;在未收到合適響應(yīng)時用藍(lán)牙來收集裝置(14)的標(biāo)識的部件;以及在標(biāo)識與所述節(jié)點(12)的標(biāo)識一致時選擇藍(lán)牙作為通信協(xié)議的部件。
全文摘要
公開了一種使用具有Palm操作系統(tǒng)的裝置進行通信的方法。優(yōu)先使用SMB與節(jié)點(12)進行通信,如果不能使用SMB,則使用FTP,如果不能使用FTP,則使用藍(lán)牙。如果選擇了FTP或藍(lán)牙作為協(xié)議,則通過臨時將文件拷貝到裝置(14)的內(nèi)部Palm OS存儲器(18),對該文件進行讀和寫操作,然后將文件拷貝回節(jié)點(12)以覆寫在節(jié)點(12)上的該文件的先前版本,來進行裝置(14)和節(jié)點(12)之間的文件共享。對于非Palm操作系統(tǒng)文件傳輸?shù)絻?nèi)部存儲器(18),該文件被包裝在內(nèi)部存儲器(18)的Palm操作系統(tǒng)流中用于進行讀或?qū)懖僮鳌τ谖募鬏數(shù)絇alm操作系統(tǒng)的擴展存儲卡(20),使用擴展存儲卡(20)的FAT進行對文件的字節(jié)到字節(jié)拷貝,在此過程中,通過裝置(14)的內(nèi)部Palm OS存儲器(18)來傳輸文件。
文檔編號H04L29/08GK1879098SQ200480032811
公開日2006年12月13日 申請日期2004年10月14日 優(yōu)先權(quán)日2003年11月7日
發(fā)明者J·R·鄭 申請人:索尼電子有限公司