在至少兩臺計算設備間建立連接時的地址和埠號提取的製作方法
2023-10-11 20:19:59 2
專利名稱:在至少兩臺計算設備間建立連接時的地址和埠號提取的製作方法
技術領域:
本發明一般涉及計算設備之間的通信領域,特別涉及在兩臺計算設備之間建立連接時的地址和埠號提取。本發明還涉及用於所述提取的一種方法、多個計算設備、一種計算設備系統以及多種電腦程式產品。
背景技術:
在計算機通信領域中,通常缺乏不同設備可用的公用地址。這導致許多區域網只具有一個或幾個公用地址用於整個局域系統,並且該局域系統將通過控制這幾個地址的網關來同全局網絡進行通信。通常,網關在這種情況下將使用一個本地尋址系統同區域網中的設備進行通信。
為了啟動區域網中此類設備通過全局網絡同其它設備的會話,可為網關提供一個NAPT(網絡地址埠轉換)單元,它將本地地址轉換成全局地址用以同其它設備通信,並將同該本地地址相關的埠號轉換成同該全局地址相關的埠號。隨後,區域網中的設備能夠僅通過一個地址啟動同該區域網外設備的會話。然後,這個單元還能夠同所謂的DNS-ALG(域名系統-應用級網關)組合,DNS-ALG用對查詢響應的有效負載中的全局網絡地址和埠號代替區域網地址和埠號,所述查詢涉及設備和服務名稱,反之亦然。但是,DNS-ALG是協議/應用應用專用的,並且需要不同的ALG來對不同協議/應用實現地址和埠轉換。此外,對那些可由ALG進行加擾或利用周知的埠號等處理的協議加以限制。
存在的另一個設備是所謂的DNS(域名系統)SRV(服務),A.Gulbrandsen,P.Vixie和L.Esibov於2000年2月在RF2782網際網路協會「DNS SRV RR」中進行了闡述。DNS SRV接收涉及設備和服務名稱的查詢並將一個地址或埠號作為查詢的結果返回。通過DNS SRV設備能夠獲得將被連接以便啟動會話的設備的地址和埠號。
還存在的另一個設備是RSIP(域限定網際網路協議)設備。這一設備使用另一種提供地址轉換的方式。RSIP明確請求主機在區域網中開啟的每個埠的一個映射。當一個埠被開啟用於內網或外網通信時,直接在本地埠/地址和全局埠/地址之間產生一個映射。由於區域網內主機的作業系統已知這一映射,因此能夠基於連接提供必須包含在有效負載中的正確地址/埠信息,這意味著區域網內的尋址信息被包含用於本地通信,且全局網絡內的尋址信息被包含用於外網通信,即區域網以外。因此,使用RSIP時不需要ALG。
但是,使用RSIP時,地址信息僅在某一範圍內有效。例如,局域通信的有效負載中所包含的地址信息僅在私人網絡內有效。使用分布式應用時,其中該區域網中存在至少兩個部分且另一個網絡中存在至少一個部分,當該區域網中的一部分的尋址信息被該區域網中的另一個部分傳遞到全局網絡內的一部分上時便會產生問題。此時需要轉換尋址信息。
因此,需要解決同設備間的應用專用通信相關的地址轉換問題。
因此,需要一種應用,用以在至少兩個設備之間建立連接。在這一連接建立中,需要允許在不考慮由於不同網絡提供不同尋址域而產生的地址轉換問題的前提下實現這一建立。
發明內容
因此,本發明的一個目的是提供一種機制,通過該機制可在不同網絡中提供的至少兩個計算設備之間建立連接,所述不同網絡的工作同是否在不同尋址域中提供所述設備無關。
根據本發明的第一方面,通過為運行在至少第一和第二設備上的應用提取地址和埠號使用情況來達到這一目的,並且在第一設備中包括步驟-從所述第一設備中的應用接收將一個套接字綁定到一項服務的請求;-獲得一個應用專用服務名稱用於設備間的連接,-生成一個資源記錄,所述資源記錄包括一方面所述第一設備的至少一個埠號同另一方面該應用專用服務名稱之間的綁定,-產生一個套接字並將其綁定到該埠號,以及
-命令將資源記錄發送到一個相關的本地名稱和服務解析單元,由此可在名稱和服務解析單元中存儲資源記錄,以便允許運行在第二設備上的應用通過將涉及第一設備的應用專用服務名稱的查詢發送到名稱和服務解析單元來獲得一個同第一設備相關的地址和埠號以用於連接。
根據本發明的第二方面,還通過為運行在至少第一和第二設備上的應用提取地址和埠號使用情況的第一計算設備實現這一目的,包括-套接字層引擎,被設置來-從所述第一設備中的應用接收將一個套接字綁定到一項服務的請求,-獲得一個應用專用服務名稱以用於設備間的連接,-生成一個資源記錄,該資源記錄包括一方面至少一個自身埠號同另一方面該應用專用服務名稱之間的綁定,-產生一個套接字並將其綁定到該埠號,以及-命令將資源記錄發送到一個同第一設備相關的局部名稱和服務解析單元,由此可在名稱和服務解析單元中存儲資源記錄,以便第二設備中的應用藉助於關於至少第一設備的應用專用服務名稱的查詢來獲得一個同第一設備相關的地址和埠號,以應用到通信中。
根據本發明的第三方面,還通過為運行在至少第一和第二設備上的應用提取地址和埠號使用情況的第二計算設備實現這一目的,包括-套接字層引擎,被設置來-從所述第二設備中的應用接收連接請求,-命令將涉及至少一個同第一設備相關的應用專用服務名稱的查詢發送到同第一設備相關的名稱和服務解析單元,該名稱和服務解析單元具有一個資源記錄,該資源記錄包括一方面所述第一設備的一個地址和一個埠號同另一方面至少應用專用服務名稱之間的綁定,以及-作為對查詢的響應接收同第一設備相關的一個地址和埠號用於建立連接,由此可使用所接收的地址和埠號建立連接。
根據本發明的第四方面,還通過為運行在至少第一和第二設備上的應用提取地址和埠號使用情況的一個計算設備系統實現這一目的,包括-所述第一計算設備具有一個套接字層引擎,被設置來-從所述第一設備中的應用接收將一個套接字綁定到一項服務的請求,-獲得一個將用於設備間連接的應用專用服務名稱,-生成一個資源記錄,該資源記錄包括一方面至少一個自身埠號同另一方面應用專用服務名稱間的綁定,-產生一個套接字並將其綁定到該埠號,以及-命令將資源記錄發送到同第一設備相關的本地名稱和服務解析單元中,由此可在該名稱和服務解析單元中存儲資源記錄,-所述第二計算設備具有一個套接字層引擎,被設置來-從所述第二設備中的應用接收連接請求,-命令將涉及同第一設備相關的應用專用服務名稱的查詢發送到同第一設備相關的名稱和服務解析單元,以及-作為對該查詢的響應接收同第一設備相關的一個地址和埠號用於建立連接,由此可使用所接收的地址和埠號建立連接。
根據本發明的第五方面,還通過為運行在至少第一和第二設備上的應用提取地址和埠號使用情況且用在第一計算設備上的一個電腦程式產品實現這一目的,所述電腦程式產品包括-電腦程式代碼,當所述程序代碼加載到第一設備中時便使第一設備執行-從所述第一設備中的應用接收將一個套接字綁定到一項服務的請求,-獲得一個應用專用服務名稱用於設備間的連接,-生成一個資源記錄,該資源記錄包括一方面第一設備的至少一個埠號同另一方面應用專用服務名稱之間的一個綁定,-產生一個套接字並將其綁定到該埠號,以及-命令將資源記錄發送到一個同第一設備相關的本地名稱和服務解析單元,由此可在該名稱和服務解析單元中存儲資源記錄,以便允許第二設備中的應用藉助於有關第一設備的設備名稱和應用專用服務名稱的查詢來獲得一個同第一設備相關的地址和埠號,以在建立連接時使用。
根據本發明的第六方面,還通過為運行在至少第一和第二設備上的應用提取地址和埠號使用情況且用在第二計算設備上的一種電腦程式產品實現這一目的,所述電腦程式產品具有-電腦程式代碼,當所述程序代碼加載到第二設備中時便使第二設備執行-從所述第二設備中的應用接收連接請求,-命令將涉及同第一設備相關的至少一個應用專用服務名稱的查詢發送到同第一設備相關的名稱和服務解析單元,該名稱和服務解析單元具有資源記錄,該資源記錄包括一方面所述第一設備的一個地址和一個埠號同另一方面該應用專用服務名稱之間的一個綁定,以及-作為對查詢的響應接收同第一設備相關的一個地址和埠號用於建立連接,由此可使用所接收的地址和埠號以及自身地址和埠號建立連接。
根據權利要求2和12,資源記錄還包括第一設備的局域設備名稱與其一個地址間的綁定,它使名稱和服務解析單元不必在資源記錄中提供完整信息。
根據權利要求3和13,應用專用服務名稱被發送到第二設備,使第二設備位置在不知道該名稱時能夠使用它。
根據權利要求5和15,該服務名稱由應用提供。
根據權利要求6和16,在應用沒有用於服務的名稱的情況下需要生成該服務名稱。
根據權利要求7和17,所生成的服務名稱被返回到應用。由此,為了實現從第二設備到第一設備的接觸,運行在第一設備上的應用能夠將服務名稱提供給運行在第二設備上的應用。
根據權利要求8和18,一旦資源記錄不再用於連接便將其刪除。這輔助了不必要的埠號綁定。這在埠號和服務名稱改變的情況下也是有利的。
根據權利要求9和19,服務名稱包括協議信息,該協議信息使得第二設備中的應用在沒有任何先驗信息的情況下能夠知道該使用什麼協議。
權利要求10旨在根據一個涉及服務名稱的查詢建立從第二設備到第一設備的連接。
本發明的一個實施例具有的優勢在於為運行在至少兩個設備上的應用提取與建立連接有關的地址和埠號使用情況。由於這一提取,被發送用以建立連接的消息不必包括地址和埠號信息,當其提供在不同尋址域之間的一個有效載荷穿越接口中時便會產生負面影響。例如,這種負面影響包括加擾和數據完整性檢測機制。通過服務查詢獲得地址和埠號,該服務查詢保證可能的地址轉換在網絡中被自動處理(如果它們具有地址轉換能力)。這也使本發明網絡獨立並使其能夠實際實現在任何網絡中。其它優勢為不需要特殊的ALG;相反地,可使用現有ALG的功能,其是由通用設備名稱和服務名稱解析單元以及不同尋址域提供的。多層應用也可以。可使用現有的基礎結構,它使得本發明實現起來簡單且划算。本發明還允許私人網絡中同類型的多個伺服器,而不需要配置。
因此,本發明一個實施例背後的一般觀點是在第一設備中產生一個資源記錄,其包括該設備至少一個埠號同一個服務名稱之間的一個綁定,並將該資源記錄發送到一個名稱和服務解析單元。由此,可通過將一個涉及服務名稱的查詢發送到該名稱和服務解析單元來從第二設備建立連接。
本發明的這些和其它方面將通過下面參考實施例的闡述變得明顯。
將參考附圖對本發明進行更詳細的說明,其中圖1示出一個示意圖,第一計算設備通過第一區域網連接到全局網絡且第二計算設備通過第二區域網連接到全局網絡,圖2示出第一計算設備中同本發明相關的某些部分的方框圖,圖3示出從第一設備發送的第一類資源記錄,圖4示出通過為設備和服務名稱解析單元提供資源記錄來為運行在兩個設備上的應用提取地址和埠號使用情況的方法的第一部分的流程圖,圖5示出通過對名稱和服務解析單元查詢設備名稱和服務名稱來為運行在兩個設備上的應用提取地址和埠號使用情況的方法的第二部分的流程圖,以及圖6示意性示出一種計算機可讀介質,在該介質上存儲程序代碼,以便執行在根據本發明的計算設備中實現的方法步驟。
具體實施例方式
圖1示出本發明一個實施例及其環境的示意圖。圖1示出連接到第一區域網12的第一計算設備10。第一網絡12具有連接到全局網絡21的第一網關14,這種情況下全局網絡21為網際網路。第二網關20被提供作為全局網絡21和第二區域網18之間的一個接口。第二區域網18包括第二計算設備16。第一區域網12具有第一尋址域,第二區域網18具有第二尋址域,並且全局網絡21具有第三尋址域。在此第一尋址域為一個IP尋址域,例如IPv4或IPv6,且被本地用於第一網絡中,第二尋址域也是用在第二網絡18中的本地尋址域,例如同第一尋址域類型相同,而第三尋址域為全局尋址域,例如IPv4。在優選實施例中,第一和第二網絡12和18為私人家庭網絡。但是,應該理解,本發明不限於私人家庭網絡,它可用於例如企業通信網甚至全局網絡。第一計算設備10還表示為X,第二計算設備16表示為Y,第一網關14表示為G1且第二網關20表示為G2。因此,不同設備在不同域中具有不同地址。第一設備10在第一本地尋址域中具有地址AX,第一網關14在第一本地尋址域中具有地址A1G1且在全局尋址域中具有地址A2G1,第二網關20在第二本地尋址域中具有地址A1G2且在全局尋址域中具有地址A2G2,而第二設備16在第二本地尋址域中具有第二地址AY。第一和第二設備10和16可以是常規計算機,但不限於此。它們也可以是其它計算設備,例如網絡收音機、印表機、掃描儀或其它類型設備。還應認識到區域網中可存在更多的設備。例如設備10和16可為能夠通過網關連接到網際網路的伺服器或任何其它合適設備。每個網關14和20都包括一個名稱和服務解析單元,其形式為DNS(域名系統)SRV(服務)單元22、DNS_ALG(域名系統-應用級網關)單元24和NAPT(網絡地址埠轉換)表28。圖1還示出從第一設備10發送到第一網關14的第一資源記錄26。這一資源記錄將在下面進行詳細闡述。
圖2的方框圖中示出根據本發明一個實施例的第一設備10的一個簡化方案。但應該認識到圖2對第二設備16也是有效的。第一設備10具有設置來運行部分應用的應用層引擎30,應用的另一部分運行在第二設備16上。應用層引擎30連接到套接字層引擎32,該套接字層引擎32依次連接到連接層引擎34。連接層引擎34提供與第一區域網的聯繫,用以接收和發送數據分組。應用層引擎31被所述的應用操縱,而套接字層引擎32和連接層引擎34由該設備的作業系統操縱。數據分組傳播的方向由箭頭指示。
圖3更詳細地示出由第一設備產生的第一資源記錄26。該資源記錄具有一個源地址欄位36(填充有第一設備的地址AX)、一個源埠號欄位38(填充有第一設備的第一埠號PX1)、一個目的地址欄位40(填充有第一網關在第一本地尋址域中的地址A1G1)、一個目的埠號欄位42(填充有一個用於資源記錄的應用專用埠號PG1)以及一個有效負載44(填充有一方面為指定服務名稱_HTTP._TCP和設備名H1.N1.SP1.D1同另一方面為第一設備的地址AX和第二埠號PX2之間的映射)。這一資源記錄26被提供用於一種被稱為HTTP的服務。
現參考圖1、2、3、4和5闡述本發明,其中圖4示出一種通過為設備和服務名稱解析單元提供資源記錄來為運行在兩個設備上的應用提取地址和埠號使用情況的方法的第一部分的流程圖,且圖5示出通過對該名稱和服務解析單元查詢設備名稱和服務名稱來為運行在兩個設備上的應用提取地址和埠號使用情況的方法的第二部分的流程圖。
該方法開始於第一設備10啟動同第二設備16的會話,步驟48。在此應該注意該會話也可以由第二設備16啟動。第一設備10開始於發送一個設備名稱和服務名稱查詢,以便獲得一個同第二設備16通信的地址。查詢包括一個局域設備名稱和一個服務名稱,其中設備名稱通常是第二設備16的完全許可域名。這一查詢最終被第二區域網18中的第二網關20通過常規DNS程序接收。第二網關20隨後將該查詢送至其名稱和服務解析單元22。名稱和服務解析單元22是一個具有DNS_SRV能力的單元,即它將域名和服務名稱映射為地址和埠號,且在此為全局尋址域中的地址和埠號同第二本地尋址域中的地址和埠號之間。隨後名稱和服務解析單元22根據名稱查詢在第二尋址域中查詢一個地址和埠號,並查找第二設備16在第二尋址域中的地址AY和一個相關埠號。然後名稱和服務解析單元22生成並返回一個響應。該響應在有效載荷中包括第二地址AY和相應埠號。然後,DNS_SRV ALG(應用級網關)單元24採用在有效載荷響應中第二網關20的地址A2G2和同第二網關20相關的另一個埠號代替第二地址AY和所述埠號。在第二設備16的地址AY和埠號同第二網關20在其NAPT表28中的地址A2G2和埠號之間還形成綁定。NATP 28被用來將本地地址和本地埠號轉換為全局地址和全局埠號,即從第二本地尋址域中的地址和埠號轉換為全局尋址域中的地址和埠號,反之亦然。隨後,第一設備10接收關於名稱和服務查詢的響應,其指出第二網關20(而不是第二設備16)與設備20的名稱和網關的埠號相關,以及對應於該服務。第一設備現能夠通過將地址A2G2用作目的地址並將其相關埠號用作目的埠號啟動一個會話。然後,通過將其自身第一地址AX和自身第一埠號PX1用作源且將上述地址A2G2和相應埠號用作目的便可將會話中的第一個分組從第一設備10發送到第二網關20。在這個第一地址AX和第一埠號PX1、第一網關14的全局地址A2G1、第一網關的相關埠號和全局地址A2G2以及第二網關20在第一網關14提供的NAPT表28中的相應埠號之間形成一個綁定。源地址AX和埠號PX1還被第一網關14轉換成映射地址A2G1和相關埠號,並且該分組被第一網關14送至第二網關20,這在其NAPT 28中形成地址A2G1和相關埠號到在先綁定的地址A2G2和相關埠號以及具有相關埠號的地址AX之間的一個實際綁定。然後,第二網關將地址A2G2和相關埠號轉換為地址AY和相關埠號並將分組送至第二設備16。以這種方式啟動會話的更多細節在申請人題為「Initiating Communication Sessions From A First Computer Network toA Second Computer Network(從第一計算機網絡向第二計算機網絡啟動通信會話)」的共同待決申請中闡述,歐洲專利申請號04100648.7(我方參考號PHNL040154,提交日期2004年2月19日)。
會話中,兩個應用在各自應用層引擎30上啟動。現在,該應用可能需要在啟動會話的連接之外建立一個額外連接。在不同類應用中可能都需要這一連接,例如在將要建立視頻會議會話時。在當前情況下,第二設備16如此操作。然後,第一設備10中的應用層引擎30連接到套接字層引擎32,請求將一個套接字綁定到一項服務,步驟50,以便自第二設備16建立連接。隨後,套接字層引擎獲得一個將用於該連接的服務名稱,步驟51。請求可包括這一待用服務名稱或者可以不存在這一服務名稱。本示例中,存在一個,名為_HTTP。套接字層引擎32接受到這一具有相關服務名稱的請求時,其繼續並生成一個資源記錄,步驟52,這在記錄26的有效負載中示出。這一記錄中,第一設備10的應用專用服務名稱_HTTP、應用協議_TCP以及完全許可域名H1.N1.SP1.D1形式的局域設備名稱被連結到所選的第二埠號PX2和第一區域網12中第一設備的第一地址AX上。然後,套接字層引擎32產生套接字並將其綁定到第一設備10的埠號PX2和地址AX上,步驟53。資源記錄隨後被提供到連接層引擎34,並使用第一網關G1的地址A1G1以及同該名稱和服務解析單元22相關的應用專用埠號PG1將其從這裡發送到第一網關14,步驟54。第一網關14隨後接收資源記錄26,步驟56。由於第一網關14已接收這一資源記錄26,它將該資源記錄26發送到其名稱和服務解析單元22,該名稱和服務解析單元22採用所述的資源記錄更新其記錄項,步驟58。
為了使第二設備16使用附加連接,必須找到第一設備10的設備名稱和應用專用服務名稱。如果第二設備啟動該會話,那麼它應該能夠在建立第一連接時通過常規DNS_SRV查詢找到第一設備10的局域設備名稱。因此將只需要服務名稱,這一服務名稱已由應用預設。在第二設備16不知道這些名稱時,它可以請求第一設備10提供一個設備名稱和應用專用服務名稱以備使用,或者當其已知設備名稱時僅請求提供服務名稱。隨後,這一請求將在設備中的兩個套接字層引擎32之間傳輸。然後,第一設備10的應用專用服務名稱和可能的完全許可域名通過第一連接從第一設備10被發送到第二設備16,通過兩個套接字層引擎32使用連接層引擎34和第一連接彼此進行通信。由於第二設備16現已具有這一完全許可域名和應用專用服務名稱,它能夠使用標準SRV_DNS查詢對第一網關14的名稱和服務解析單元22查詢這一地址和服務名稱。由於第二設備16中的應用現需要附加連接,應用層引擎30將一條連接請求發送到套接字層引擎32。當第二設備16的套接字層引擎32接收這一請求時,步驟59,它通過獲取命令使連接層引擎34發送一條供相關第一設備10的名稱和服務解析單元22使用的查詢,步驟60。在此,同第一設備10相關的名稱和服務解析單元22以第一設備10在第一本地尋址域中的地址AX和第二埠號PX2回應,步驟62,它被第一網關14中的DNS_SRV ALG24轉換成全局尋址域中的網關地址A2G1和相應網關埠號,步驟64,這一響應被送至第二區域網18,步驟66。由此,在第一網關14的NAPT28中實現一個綁定,即第一設備14的第一地址AX和第二埠號PX2同第一網關14的全局地址A2G1和所選埠號之間的綁定,用以允許從第一區域網12以外到第一設備10的連接。因此,第一網關的這一地址同第一設備的地址相關。響應到達第二網關20時,由於第二網關20的NAPT28中在先形成的綁定,目的地址從地址A2G2轉換成第二設備16的地址AY,從而響應被第二設備16接收,步驟67。現在第二設備16的套接字層引擎32可以將一個套接字同其自身地址AY和一個應用專用埠號綁定用於附加連接,這一連接現可被所述兩個設備使用,步驟68。
附加連接上的通信結束時,第一設備10的套接字層引擎32命令連接層引擎34發送一條請求到其相關名稱和服務解析單元22用以刪除資源記錄26,以便解除埠號同地址之間不必要的綁定,步驟70。對於建立的每個新連接,需要執行新的名稱和服務解析過程。因此,第一設備不應該存儲目的設備和服務的地址和埠號。
服務名稱還包括協議信息,用以使其它設備獲知同該服務相關的協議。
上面闡述的是如何建立自第二設備的附加連接。第一設備自然也能夠啟動會話,這種情況下第二設備將資源記錄提供到對應的DNS_SRV單元。第一會話還可由第二設備代替第一設備啟動。此外,將提供資源記錄的功能闡述為在第一設備中實現,而通過查詢DNS_SRV獲得資源記錄中信息的功能被闡述為在第二設備中提供。通常,這些功能組將在所有計算設備中給出。另外,資源記錄不必要包含第一設備的地址信息。包含埠號就足夠了。這裡的本地名稱和服務解析單元通過查看包含第一設備發送給它的資源記錄的消息的源地址便能夠找到該名稱。當然第二設備可以只查詢應用專用名稱而不必查詢設備名稱。此外要根據本發明建立一個連接,不必在第一連接上先啟動一個會話。一個設備可發送一個資源記錄,其它設備在啟動會話時可使用這一資源記錄。
因此,本發明旨在為運行在至少兩個設備上的應用提取和建立連接有關的地址和埠號使用情況。由於這一提取,會話中發送的消息不必包括用於建立連接的地址和埠號信息,在不同尋址域間的有效負載穿越接口中提供時,所述信息將受到負面影響。例如,這種負面影響包括公知埠號的加擾和禁用。通過名稱和服務查詢獲得地址和埠號,優選為DNS_SRV查詢形式,這保證在網絡中自動處理可能的地址轉換,如果他們具備地址轉換能力的話。這還使本發明網絡獨立並允許其實際實現於任何網絡。其它優勢是不需要應用專用ALG,而是使用已有部件(與常規設備名稱和服務名稱解析和不同尋址域有關地被提供)的功能。多層應用成為可能。可使用現有基礎結構,例如DNS_SRV協議,這使本發明實現起來簡單且划算。本發明還使私人網絡中同類型的多個伺服器不需要配置。利用最初闡述的啟動過程,全局網絡中使用同一地址的多個網內會話成為可能。
上面在一個網關中設置了名稱和服務解析單元。該名稱和服務解析單元還可為區域網中的獨立實體或伺服器,所述的網關利用該單元同這個區域網通信,以便解析名稱和服務。另一種可能的變化是該名稱和服務解析單元分布在包括第一和/或第二設備的第一網絡的多個端部設備中。
可採用硬體部件的形式提供計算設備中的不同單元。但是,它們通常以一個或多個處理器和適當程序存儲器的形式提供,所述適當程序存儲器包含合適的程序代碼,用以實現根據本發明的方法。也可以在計算機可讀介質形式的電腦程式產品上提供執行這一任務的軟體或程序代碼,當載入到所述的計算設備中時,它將執行計算設備中提供的根據本發明的方法的一部分。圖6中繪製了一種CD Rom盤形式的介質72,但還存在許多不同的可能介質,例如磁碟。還可從區域網外的一個伺服器上遠程下載程序代碼。
因此,本發明提供一種計算設備系統、多個計算設備、一種方法以及一種電腦程式產品,用於在至少兩個計算設備間的通信中提取地址和埠號使用情況。
在已經提及的這些變化之外,本發明還存在多種可能的變化。正如前面提及的那樣,第一設備中的應用不必將服務名稱提供到套接字層引擎。這種情況下,套接字層引擎將生成一個。這一名稱將包括符號的表面隨機組合,所述符號在清楚識別某一埠號之外不具有任何特殊意義。套接字層引擎將一個套接字同埠號綁定之後,將該名稱提供給應用。隨後,該應用能夠在發送到第二設備的消息的有效負載內使用這一名稱。這樣,運行在第一設備上的應用能夠將該服務名稱通知給運行在第二設備上的應用,這在接觸所建立的套接字時是需要的。
儘管本發明在這一建立中是有益的,但不必在不同的區域網中提供兩個設備。它們還可提供在相同的區域網中、同一全局網絡中,或者一個提供在全局網絡中另一個提供在區域網中。本發明不限於兩個設備在一個會話中通信,還可應用到三個或更多的此類設備。本發明還不限於IP尋址,其它尋址類型也可以。網絡不必為固定網絡,也可例如為無線網絡。
權利要求
1.一種用於為運行在至少第一設備(10)和第二設備(16)上的應用(30)提取地址和埠號使用情況的方法,該方法包括在第一設備中的步驟-從所述第一設備中的應用接收將一個套接字綁定到一項服務的請求(步驟50),-獲得一個應用專用服務名稱用於設備間的連接(步驟51),-生成一個資源記錄(26),該資源記錄包括一方面所述第一設備的至少一個埠號(PX2)同另一方面該應用專用服務名稱間的一個綁定(步驟52),-產生一個套接字並將其綁定到埠號(步驟53),以及-命令將資源記錄發送到一個相關的本地名稱和服務解析單元(22)(步驟54),由此可在該名稱和服務解析單元中存儲資源記錄以便允許運行在第二設備中的應用通過向名稱和服務解析單元發送關於第一設備的應用專用服務名稱的查詢來獲得同第一設備相關的地址和埠號,以用於連接。
2.根據權利要求1的方法,其中資源記錄還包括第一設備的局域設備名稱同地址(AX)間的綁定。
3.根據權利要求1的方法,還包括步驟命令將至少應用專用服務名稱發送到第二設備,以便允許附加連接的建立。
4.根據權利要求3的方法,其中命令發送的步驟還包括命令發送第一設備的一個設備名稱。
5.根據權利要求1的方法,其中獲得服務名稱的步驟包括從運行在設備上的應用接收服務名稱。
6.根據權利要求1的方法,其中獲得服務名稱的步驟包括生成一個將要使用的服務名稱。
7.根據權利要求6的方法,還包括將所生成的服務名稱返回到應用的步驟。
8.根據權利要求1的方法,還包括當不再需要連接時命令從相關名稱和服務解析單元刪除資源記錄的步驟(步驟70)。
9.根據權利要求1的方法,其中服務名稱包括協議信息。
10.根據權利要求1的方法,還包括在第二設備中的步驟-從第二設備中的應用接收到第一設備中應用的連接的請求(步驟59),-命令發送供同第一設備相關的名稱和服務解析單元使用的涉及第一設備的至少所述應用專用服務名稱的查詢(步驟60),以及-作為查詢結果接收同第一設備相關的地址和埠號信息,由此可使用所接收的地址和埠號建立連接(步驟67)。
11.用於為運行在至少第一和第二設備(16)上的應用(30)提取地址和埠號使用情況的第一計算設備(10),包括-一個套接字層引擎(32),被設置為-從所述第一設備中的應用接收將一個套接字同一項服務綁定的請求,-獲得一個應用專用服務名稱用於設備間的連接,-生成一個資源記錄(26),該資源記錄包括一方面至少一個自身埠號(PX2)同另一方面該應用專用服務之間的一個綁定,-產生一個套接字並將其綁定到該埠號,以及-命令將資源記錄發送到同第一設備相關的本地名稱和服務解析單元(22),由此可在該名稱和服務解析單元中存儲資源記錄,以便允許第二設備中的應用藉助於一個和至少第一設備的應用專用服務有關的查詢來獲得同第一設備相關的地址和埠號,以用於通信。
12.根據權利要求11的計算設備,其中資源記錄還包括第一設備的局域設備名稱同地址(AX)間的綁定。
13.根據權利要求11的計算設備,其中套接字層引擎還被設置來命令將至少應用專用服務名稱發送到第二設備,以便允許建立連接。
14.根據權利要求13的計算設備,其中套接字層引擎還被設置來命令發送第一設備的設備名稱。
15.根據權利要求11的計算設備,其中在獲得一個服務名稱時,套接字層引擎還被設置來從運行在該設備上的應用接收服務名稱。
16.根據權利要求11的計算設備,其中在獲得一個服務名稱時,套接字層引擎還被設置來生成一個將要使用的服務名稱。
17.根據權利要求16的計算設備,其中套接字層引擎還被設置來將所生成的服務名稱返回到應用。
18.根據權利要求11的計算設備,其中套接字層引擎還被設置來在不再需要附加連接時命令從名稱和服務解析單元刪除資源記錄。
19.根據權利要求11的計算設備,其中服務名稱包括協議信息。
20.用於為運行在至少第一設備(10)和第二設備上的應用(30)提取地址和埠號使用情況的第二計算設備(16),包括-套接字層引擎(32),被設置為-從所述第二設備中的應用接收一個連接請求,-命令將至少涉及與第一設備相關的應用專用服務名稱的一個查詢發送到同第一設備相關的名稱和服務解析單元(22),這個名稱和服務解析單元具有一條資源記錄(26),該資源記錄包括一方面所述第一設備的地址(AX)和埠號(PX2)同另一方面至少該應用專用服務名稱之間的一個綁定,以及-作為查詢響應,接收同第一設備相關的地址和埠號用於建立連接,由此可使用所接收的地址和埠號建立連接。
21.用於為運行在至少第一設備(10)和第二設備(16)上的應用(30)提取地址和埠號使用情況的計算設備的系統,包括-所述第一計算設備具有一個套接字層引擎(32),該套接字引擎被設置為-從所述第一設備中的應用接收將一個套接字綁定到一項服務的請求,-獲得一個應用專用服務名稱用於設備間的連接,-生成一個資源記錄,該資源記錄包括一方面第一設備的至少自身埠號(PX2)同另一方面該應用專用服務名稱之間的一個綁定,-產生一個套接字並將其綁定到該埠號,以及-命令將資源記錄發送到同第一設備相關的本地名稱和服務解析單元(22),由此可在該名稱和服務解析單元中存儲資源記錄,-所述第二設備具有一個套接字層引擎(32),被設置為-從所述第二設備中的應用接收一個連接請求,-命令將涉及與第一設備相關的應用專用服務名稱的查詢發送到同第一設備相關的名稱和服務解析單元,以及-作為對該查詢的響應接收與第一設備相關的地址和埠號用於建立連接,由此可使用所接收的地址和埠號建立連接。
22.用在第一計算設備(10)中的電腦程式產品(72),所述第一計算設備用於為運行在至少第一和第二設備(16)上的應用(30)提取地址和埠號使用情況,所述電腦程式產品具有-電腦程式代碼,當所述程序代碼載入第一設備時使得第一設備執行-從所述第一設備中的應用接收將一個套接字綁定到一項服務的請求,-獲得一個應用專用服務名稱用於設備間的連接,-生成一個資源記錄(26),該資源記錄包括一方面至少所述第一設備的一個埠號(PX2)同另一方面該應用專用服務名稱之間的一個綁定,-產生一個套接字並將其綁定到該埠號,以及-命令將資源記錄發送到同第一設備相關的本地名稱和服務解析單元(22),由此可在該名稱和服務解析單元中存儲資源記錄,以便允許第二設備中的應用藉助於和第一設備的設備名稱和應用專用服務名稱有關的查詢來獲得一個同第一設備相關的地址和埠號,以用於建立連接。
23.用在第二計算設備(16)中的電腦程式產品(72),所述第二計算設備用於為運行在至少第一設備(10)和第二設備上的應用(30)提取地址和埠號使用情況,所述電腦程式產品具有-電腦程式代碼,當所述程序代碼載入第二設備時使得第二設備執行-從所述第二設備中的應用(30)接收一個連接請求,-命令將至少涉及與第一設備相關的一個應用專用服務名稱的查詢發送到同第一設備相關的名稱和服務解析單元(22),該名稱和服務解析單元具有一個資源記錄(26),該資源記錄包括一方面所述第一設備的地址(AX)和埠號(PX2)同另一方面該應用專用服務名稱間的一個綁定,以及-作為對該查詢的響應,接收同第一設備相關的地址和埠號以用於建立連接,由此可使用所接收的地址和埠號以及一個自身地址(AY)和埠號來建立連接。
全文摘要
本發明涉及一種方法、多個計算設備、一種計算設備系統以及電腦程式產品,用於為運行在第一設備和第二設備上的應用提取地址和埠號使用情況。該系統包括第一設備(10)和第二設備(16),第一設備(10)從所述第一設備中的應用接收將一個套接字綁定到一項服務的請求、獲得一個服務名稱、生成一個包括埠號同服務名稱間的綁定的資源記錄(26)、產生一個套接字並將其綁定到該埠號並將記錄發送到同第一設備相關的解析單元(22);第二設備(16)從所述第二設備中的應用接收一個連接請求、將涉及服務名稱的查詢發送到解析單元並作為對該查詢的響應接收同第一設備相關的地址和埠號。
文檔編號H04L29/12GK1926840SQ200580006626
公開日2007年3月7日 申請日期2005年2月28日 優先權日2004年3月2日
發明者J·H·艾辛克 申請人:皇家飛利浦電子股份有限公司