TW200818808A - Method and data processing system for managing a plurality of interfaces - Google Patents
Method and data processing system for managing a plurality of interfaces Download PDFInfo
- Publication number
- TW200818808A TW200818808A TW096113349A TW96113349A TW200818808A TW 200818808 A TW200818808 A TW 200818808A TW 096113349 A TW096113349 A TW 096113349A TW 96113349 A TW96113349 A TW 96113349A TW 200818808 A TW200818808 A TW 200818808A
- Authority
- TW
- Taiwan
- Prior art keywords
- socket
- application
- sockets
- computer
- sub
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Description
200818808 , 九、發明說明: 【發明所屬之技術領域】 本發明大體上侧於-種改良資料處理系統,且特定言 之本發明係關於-種用於管理介面之方法及設備。更特定 言之,本發明係關於-種用於管理複數個網際網路介面之 , 電腦實施方法、資料處理系統及電腦程式產品。 • 【先前技術】 在過去十年内’應用程式伺服器與多個網路連接進行介 ^ ^連接之能力已顯著提高。以前,應用程式伺服器通常能 夠存取單-網路連接或少數網路連接。因此,應用程式饲 服器能夠容易地管理待處理請求之數目及待接收並回答請 求之人員。然而’隨著網際網路曰益普及,應用程式飼服 器可利用之網路連接之數目亦增加。因此,管理及處理請 求的複雜性業已增加。 l系為處s #求’應用程式伺服器必須僅為發出該 請求之個體打開一應用程式之—執行個體,或為網路上之 戶斤有個體打開該執行個體。應用程式祠服器不具有區別或 選擇與哪些個體建立連接的能力。因而,應用程式飼服器 只有兩種非理想之選擇:與每一個體單獨工作,或與所有 個體同時工作。與每一個體單獨工作低效及繁瑣。然而, 與所有個體同時工作引發與機密性及安全性有關之問題。 【發明内容】 說明性實施例提供一種用於管理複數個介面之電腦實施 方法資料處理系统及電腦程式產品。一應用矛呈式選擇該 119853.doc 200818808 複數個介面之一子集。回應於該選擇,該應用程式繫結至 介面之該子集,其中該應用程式偵聽介面之該子集。 【實施方式】
現參看諸圖,且尤其參看圖1至圖2,提供可實施說明性 具施例之資料處理環境之例示性圖解。應瞭解,圖1至圖2 為例示性的而非意欲表明或默示任何對於可實施說明性 貝施例之環境的限制。可在不脫離說明性實施例之精神及 嘴的情況下對所描繪之環境作出許多修改。 現參看諸圖,圖丨描緣可實施說明性實施例之諸態樣之 資料處理系統之網路的圖象表示。網路資料處理系統1 〇〇 為可實施說明性實施例之多個電腦之網路。網路資料處理 系統100含有網路102,該網路102為用於提供共同連接於 網路資料處理系統100内之各種裝置與電腦之間的通信鏈 路的媒體。網路102可包括多種連接,諸如,電線、無線 通信鏈路或光纖電纜。 在所描繪之實例中,伺服器104及伺服器106連同儲存單 元108連接至網路102。另外,用戶端11〇、112及114連接 至網路102。此等用戶端110、112及114可(例如)為個人電 腦或網路電腦。在所描繪之實例中,伺服器1〇4將諸如開 機檔、作業系統影像及應用程式之資料提供至用戶端 ㈣、m及114。在此實财,用戶端㈣、m及ιΐ4為飼 服器104之用戶端。網路資料處理系統1〇〇可包括未圖示之 額外伺服器、用戶端及其他裝置。 在所描繪之實例中 網路資料處理系統1〇〇為 具有網路 119853.doc 200818808 102之網際網路,該網際網路表示全球範圍内使用傳輸控 制協定/網際網路協定(TCP/IP)協定組以彼此通信之網路及 閘道器的集合。網際網路之核心為由用於投送資料及訊息 之數以千計商用電腦系統、政府電腦系統、教育電腦系統 及其他電腦系統組成的主節點或主電腦之間的高速資料通 信線路的骨架。當然,網路資料處理系統1 〇〇亦可實施為 若干不同類型之網路,諸如,企業内部網路、區域網路 (LAN)或廣域網路(WAN)。圖1意在作為一實例,而非作為 不同說明性實施例之架構限制。 現參看圖2,展示可實施說明性實施例之諸態樣之資料 處理系統的方塊圖。資料處理系統200為諸如圖1中之伺服 器104或用戶端110之電腦的一實例,實施說明性實施例之 程序之電腦可用碼或指令可位於該系統中。 在所描繪之實例中,資料處理系統200使用包括北橋與 記憶體控制器集線器(NB/MCH)202及南橋與輸入/輸出(I/O) 控制器集線器(SB/ICH)204之集線器架構。處理單元206、 主記憶體208及圖形處理器210連接至NB/MCH 202。圖形 處理器210可經由加速圖形埠(AGP)連接至NB/MCH 202。 在所描繪之實例中,區域網路(LAN)配接器212連接至 SB/ICH 204。音訊配接器216、鍵盤與滑鼠配接器220、數 據機222、唯讀記憶體(ROM)224、硬磁碟驅動機 (HDD)226、CD-ROM驅動機230、通用串列匯流排(USB)埠 及其他通信埠232以及PCI/PCIe裝置234經由匯流排23 8及 匯流排240連接至SB/ICH 204。PCI/PCIe裝置可包括(例如) 119853.doc 200818808 乙太網路配接器、插卡及用於筆記型電腦之pc卡。pci使 用卡匯流排控制器,而PCIe不使用卡匯流排控制器。ROM 224可為(例如)快閃二進制輸入/輸出系統(BIOS)。 HDD 226及CD-ROM驅動機230經由匯流排240連接至 SB/ICH 204。HDD 226及CD-ROM驅動機230可使用(例如) 整合驅動電子介面(IDE)或串行高級技術附加(SATA)介 面。超I/0(SI0)裝置236可連接至SB/ICH 204。 一作業系統在處理單元206上執行,且協調及提供對圖2 中之資料處理系統200内之各種組件的控制。作為用戶 端,該作業系統可為一可購得之作業系統,諸如, Microsoft® Windows⑧ XP(Microsoft及 Windows為微軟公司 在美國、其他國家或所有國家的商標)。諸如JavaTM程式設 計系統之物件導向式程式設計系統可與作業系統一起執 行,且其將自在資科處理系統200上執行之Java™程式或應 用程式之調用提供至作業系統(Java為Sun Microsystems, Inc.在美國、其他國家或所有國家的商標)。 作為伺服器,資料處理系統200可為(例如)執行進階互 動式執行(AIX®)作業系統或LINUX®作業系統之IBM⑧ eServerTM pSeries⑧電腦系統(eServer、pSeries及 AIX為國際 商業機器公司在美國、其他國家或所有國家的商標,而 LINUX為Linus Torvalds在美國、其他國家或所有國家的商 標)。資料處理系統200可為在處理單元206中包括複數個 處理器之對稱多處理器(SMP)系統。或者,可使用單一處 理器系統。 119853.doc 200818808 用於作業純、物料向切式料“及應用程式或 程式之指令位於諸如咖咖之儲存裝置上,且可載 主記憶體208中以由處理單元寫執行。由處理單元2〇6使 用電腦可用程式絲執行㈣性實施狀料,電腦可用 程式碼可位於諸如主記憶體2〇8、R〇M 224之記憶體中或 位於一或多個周邊裝置226及23〇中。
發性記憶體或光碟機及其類似物之其他内部硬體或周邊裝 置。又,說明性實施例之程序可應用於多處理器資料處理 系統。 一般熟習此項技術者將瞭解,圖丨至圖2中之硬體可視實 施而變化。除圖i至圖2中所描繪之硬體以外或替代_ 圖2中所描繪之硬體,可使用諸如快閃記憶體、等效非揮 在一些說明性實施例中,資料處理系統2〇〇可為個人數 位助理(PDA) ’其經組態而具有快閃記憶體以提供用於儲 存作業系統檔及/或使用者產生資料之非揮發性記憶體。 匯流排系統可包含一或多個匯流排,諸如,圖2中所示 之匯流排238或匯流排240。當然,可使用任何類型之通信 組構或架構來建構匯流排系統,該通信組構或架構提供附 接至該組構或架構之不同組件或裝置之間的資料轉移。通 信單元可包括用於發射及接收資料之一或多個裝置,諸 如’圖2之數據機222或網路配接器212。記憶體可為(例如) 圖2中之主記憶體2〇8、rom 224或諸如位於NB/MCH 202 中之快取記憶體。圖1至圖2中所描繪之實例及上述實例並 不意在默示架構限制。舉例而言,除採取PDA之形式以 119853.doc -10- 200818808 膝上型電腦或 外,貝料處理系統200亦可為平板型電腦、 電話裝置。 一實施例提供一種用於管理複數個介面之電腦實施方法、 資料處理系統及雷腦妒斗、立 rfe ra 人 域憲版私式產品。一應用程式選擇該複數個
"面之-子集。回應於該選擇,該應用程式繫結至介面之 該子集,以使得該應用㈣㈣介面之該子集。為了使該 應用私式繫結至介面之該子集,應用程式首先為介面之該 子集中的每-介面打開-主套接子及-子套接子。主套: 子與子套接子彼此關聯。主套接子亦連接至應用程式。因 而,主套接子維持有效套接子之—清單,並管理添加哪些 套接子及將哪些套接子自清單移除。 圖3說明根據說明性實施例之具有複數個介面之應用程 式伺服器。資料處理系統3〇〇為一祠服器,其類似於㈣ 飼服器104及106。資料處理系統3〇〇包括應用程式31〇、主 套接子320、套接子33G至339,及網路介面⑽至州。應 用程式3iG常駐於資料處理系統谓之主記憶體中且由資料 處理系統綱之處理器執行。應用程式3H)為利用自諸如網 路介面340至349之網路介面接收或發送之資料之任何應用 程式。主套接子320為管理在應用程式31〇與套接子33〇至 339之間的介面的套接子。套接子咖至别連接至相應網 路介面340至349。網路介面3跑349各自以—單獨之網際 網路協定位址來識別,且連接至諸如圖丨之網路1〇2之網 路。 套接子為設計用於在網路上發送及接收資料之軟體程 119853.doc • 11 · 200818808 式。套接子通常連接至網際網路連接之傳送協定層,亦稱 為傳輸控制協定/網際網路協定(TCP/IP)。為建立一套接 子,必須創建或打開、繫結及偵聽該套接子。創建函數、 繫結函數及偵聽函數為利用應用程式設計介面(API)實施 之軟體調用。在創建或打開階段,識別套接子類型及相應 協定系族。在繫結階段,套接子映射至一網路位址、璋或 彳面。-套接子可繫結或映射至單—網路介面或複數個網 癱 料面。說明性實施例展示繫結至單一網路介面的單一套 攀接子。因而,在說明性實施例中,例如,套接子330繫妹 至網路介面340,套接子331繫結至網路介面341,依此類 推。在偵聽階段,套接子接受來自與網路新建立之連接的 資料。 一套接子可與複數個其他套接子關I在制性實施例 中’ -關聯4在傳輸控制協aTCP)階層處創建套接子之 間的通信鏈路的應用程式設計介面(API)。通信鍵路使一 φ I接子代表另一套接子執行一動作。在說明性實施例中’ 主套接子320與套接子33〇至339關聯。因而,套接子33〇至 339代表主套接子32〇執行請求。該等請求來自於應用程式 ㈣。由於該關聯,主套接子32G亦可稱為母套接子,且套 接子330至339亦可稱為從屬套接子或子套接子。 套接子320使用關聯清單來管理舆套接子至州之 關聯二1聯清單為—資料庫,且可為—鏈接清單、一 表 平坦檔、一雜湊表或其任一組合。關耳葬清單指示與 主套接子320關聯或聯繫之所有套接子,諸如,套接子謂 119853.doc -12- 200818808 至奶。可自關聯清單移除任—套接子330至339,亦稱為 與主套接子320解除關聯。另外,可藉由簡單地將新套接 子添加至關聯清單而使新套接子與主套接子32〇關聯。 使用時’應用程式31〇執行—演算法,並選擇與應用程 式310'可利之網路介面之-子集通信或彳貞聽該子集。_ 旦應用程式31〇識別到網路介面之該子集,則應用程式3ι〇 利用打開、繫結及偵聽應用程式設計介面(趟)而為該子 集中之每_網路介面建立_主套接子及—子套接子。接 著1用程式31〇將打開套接子之清單傳達至主套接子。 接著,主套接子創建一關聯清單以建立主套接子與該等子 套接子之間的關聯。在創建一關聯之後,應用程式3ι〇接 文主套接子與子套接子之關聯。接受函數為一應用程式設 计’I面(API) ’其經由主套接子而建立應用程式與子套 接子之間的連接。 因而,在說明性實施例中,應用程式3 1〇選擇與網路介 • 面340至349通信,網路介面340至349為應用程式31〇可利 用之網路介面之一子集。接著,應用程式31〇打開主套接 子320及子套接子330至339。接著,應用程式31〇將子套接 子330至339已打開以與網路介面34〇至349通信此一情況傳 達至主套接子320。接著,主套接子32〇創建一列有套接子 340至349之關聯清單並使套接子34〇至349與主套接子“ο 關聯。所描述之過程使得應用程式31〇偵聽網路介面之一 子集。 說明性實施例亦允許應用程式31〇與一特定網路介面動 119853.doc -13- 200818808 態地斷開連接。動態地斷開連接意謂在已建立與網路介面 之一子集之連接且主套接子與該子集關聯之後斷開連接。 使用時,應用程式310可選擇在一網路介面出現問題時與 該網路介面斷開連接。為動態地斷開連接,應用程式HO 識別應用程式310希望與之斷開連接之子套接子。接著, 應用程式310將一訊息傳達至主套接子32〇以與該經識別之 子套接子解除關聯。主套接子32〇將該子套接子自關聯清 單移除,且應用程式310關閉該子套接子。接著,應用程 式3 10與該特定網路介面斷開連接。 說明性實施例亦允許應用程式31〇動態地連接至一特定 網路介面。動態地連接意謂在建立與其他網路介面之連接 且一主套接子與其他網路介面關聯之後連接。使用時,應 用程式310可選擇在建立一新的網路介面時添加一網路Z 面。為動態地添加一網路介面,應用程式31〇為應用程式 310希望與之通信之網路介面打開一子套接子。接著,應 φ 用程式310將一訊息發送至主套接子320以與該新的子套接 子關聯主套接子320將該新的子套接子添加至關聯清單 且使該新的子套接子與主套接子32〇關聯。現在,應用程 式310可與新的子套接子通信。 、祝明性實施例亦提供僅自網路介面之子集接收網路請 求。通常,應用程式310與應用程式31〇可利用之單一網路 介面或所有網路進行介面連接。結果,應用程式31〇將視 連接類51而定來處理所有請求。因而,若應用程式训連 接至單一網路介面,則應用程式310將處理來自單一網路 119853.doc -14- 200818808 介面之所有網路請求。同樣,若應用程式31〇連接至所有 網路介面,則應用程式310將處理來自所有網路介面之所 有請求。 然而,說明性實施例允許應用程式31〇與網路介面之一 子集連接。結果,應用程式310將僅處理來自網路介面之 該子集之網路請求。因而,在所描繪之實例中,網路介面 340至349為由應用程式31〇選定之網路介面之子集。說明 性實施例提供應用程式3丨〇將僅處理及接收來自網路介面 340至349之請求,以代替處理來自應用程式31〇可利用之 所有網路介面之請求。 說明性實施例亦允許管理在主套接子以及網路介面之選 定子集中之每一網路介面處的一請求佇列。一請求佇列為 專待應用私式3 10處理之請求的積存(backi〇g)。該等請求 以先進先出之次序進行處理。通常,對於每一個別網路介 面340至349而言存在請求之一個別佇列,因為每一個別網 φ 路介面340至349直接連接至應用程式310。因而,主套接 子320通常將不作為在網路介面"ο至349與應用程式31〇之 間的中間介面而存在。然而,說明性實施例提供主套接子 、 320作為在應用程式310與網路介面340至349之間的中間介 面而存在。因此,說明性實施例亦提供主套接子32〇以及 主套接子320下游在每一個別網路介面340至349處可存在 一請求佇列。 主套接子320管理主套接子32〇之後之佇列的大小。同 樣’套接子330至套接子339管理相應網路介面340至349之 119853.doc -15- 200818808 佇列的大小。套接子330至339將其各別請求轉發至主套接 子320之請求佇列之末端。若在任一網路介面34〇至349之 後存在一請求佇列,則套接子33〇至339以先進先出之方式 轉發其各別請求。 使用時,常駐於主套接子320中之演算法通知每一套接 子330至339何時主套接子320可將額外請求接收於其佇列 中。接著,該演算法協調首先接收來自套接子33〇至339之 哪一請求。演算法可使用時間日戳或若干其他替代方法來 判疋首先接收哪一請求。在判定首先接收哪一請求之後, 演算法處理適當套接子330至339之請求以轉發該請求。接 著,適當套接子330至339轉發該適當請求並將該請求添加 至佇列末端。 圖4說明根據說明性實施例之可由主套接子創建及使用 之關聯清單。表400表示圖3之資料處理系統3〇〇中所說明 之組態。表400為可常駐於一主套接子(諸如,圖3之主套 接子320)中之表的一實例。 表400包括套接子編號行41〇、網路介面編號行42〇,及 母套接子編號行43 0。套接子編號行4丨〇為與主套接子關聯 之所有套接子之清單。在說明性實施例中,列於套接子編 唬行310中之套接子330至339為圖3中所說明之相同子套接 子。 網路介面編號行420為與套接子編號行41〇中之相應套接 子連接之網路介面的清單。列於網路介面編號行42〇中之 網路介面表示圖3之網路介面34〇至349。因而,網路介面 119853.doc -16- 200818808 編號行420中之網路介面為應用程式可利用之全部網路介 面之一子集。列於網路介面編號行420中之編號為每一網 路/丨面之實例網際網路協定位址。說明性實施例不限於所 描繪之網際網路協定位址。網路位址之命名法在此項技術 中係普遍且已知的。因而,一般熟習此項技術者將認識到 不偏離說明性實施例之範疇及精神之其他替代方法。 母套接子編號行430識別與每一子套接子關聯之主套接 子。因而,在說明性實施例中,主套接子32〇為子套接子 330至339之母套接子。因此,主套接子32〇與子套接子 至339關聯。 表400之列450至459列出與一特定套接子關聯之網路介 面編號行420及母套接子編號行43〇中所識別之所有資訊。 因而’在說明性實施例巾,列45〇中之套接子33〇與網路介 面IPV4:0.3.3.0連揍。列451中之套接子331連接至網路介 面編號IPV4:0.3.3.1。列452中之套接子332連接至網路介 面編號IPV4:0.3.3.2。列453中之套接子333連接至網路介 面編號IPV4:0.3.3.3。列454中之套接子334連接至網路介 面編號IPV4:0.3.3.4。列455中之套接子335連接至網路介 面編號IPV4:0.3.3.5。列456中之套接子336連接至網路介 面編號IPV4:0·3·3·6。列457中之套接子337連接至網路介 面編號IPV4:G.3.3.7。列458中之套接子338連接至網路介 面編號IPV4m8。列459中之套接子339連接至網路介 面編號ΙΡν4··0·3.3·9。所有套接子33〇至339與主套接子 關聯。 119853.doc •17- 200818808 使用時,一應用程式 路介^ 、 “應用程式希望與之通信之網 . '為、揭路介面之子集中之每一網路 介面打開一套接子。接荖, 主套接子接收來自該應用程式 之打開套接子之一清單。接# ο 4用私式 i41 ^ 接者,主套接子創建一關聯清 早’堵如’表400。主套接子 六从7 肝备接子清早填充至表400之 套接子編號行410中。主套接 奮接子亦用與套接子對應之每一 網路介面的網際網路位址來 水具死網路介面編號行420。接
著,主套接子使其自身與關聯清單中之每—子套接子關 聯。主套接子執行一關聯演算法’此將使主套接子聯繫至 列於套接子編號清單410中之每一套接子。接著,主套接 子指示母套接子編號行430中之關聯。 表400不限於所描繪之實施例。舉例而言,套接子編號 及網路介面編號可以另一形式袅 %忒衣不。又,一些資訊可移除 或包括於表4 0 0中。 圖5說明根據說明性實施例之在與—套接子動態地解除 關聯之後的關聯清單。表5〇〇為可常駐於一主套接子(諸 如圖3之主套接子320)中之表的一實例。除表5〇〇表示一 在與一套接子解除關聯之後的關聯清單以外,表5〇〇類似 於圖4之表400。 表500包括套接子編號行51〇、網路介面編號行52〇,及 母套接子編號行530。套接子編號行51〇為與主套接子關聯 之所有套接子之清單。網路介面編號行520為與套接子編 號行510中之相應套接子連接之網路介面的清單。母套接 子編號行530識別與每一子套接子關聯之主套接子。表5〇〇 119853.doc -18 - 200818808 之歹J 550至557列出與-特定套接子關聯之網路介面編號行 520及母套接子編號行53〇中所識別之所有資訊。 主套接子(在此貝鈿例中為主套接子32〇)接收來自應用 程式之與套接子編號331及333解除關聯之請求。因而,主 套接子執行一解除關聯演算法,此使得主套接子與套接子 編號33U 333斷開連接。接著,主套接子自表5〇〇移除套 接子編號331及333以及與套接子編號331及333有關之所有 育訊。解除關聯之結果反映於表5()()中。除將套接子編號 331及333自表500移除外,應用程式亦關閉套接子331及 333。移除套接子編號同時關閉套接子便斷開應用程式與 網路介面之通信。 圖6說明根據說明性實施例之在一新的套接子與主套接 子動態地關聯之後的關聯清單。表6〇〇為可常駐於一主套 接子(諸如,圖3之主套接子320)中之表的一實例。除表6〇〇 表示在一新的套接子與一主套接子關聯之後的關聯清單以 外,表600類似於圖4之表4〇〇。 表600包括套接子編號行61〇、網路介面編號行,及 母套接子編號行630。套接子編號行61〇為與主套接子關聯 之所有套接子之清單。網路介面編號行620為與套接子編 號行610中之相應套接子連接之網路介面的清單。母套接 子編號行630識別與每一子套接子關聯之主套接子。表 之列650至660列出與一特定套接子關聯之網路介面編號行 620及母套接子編號行63〇中所識別之所有資訊。 應用程式打開一新的套接子(在此實施例中為套接子編 119853.doc -19- 200818808 唬350)。主套接子(在此實施例中為主套接子32〇)接收一與 套接子編號350關聯之請求。主套接子執行一關聯演算 法’此將使主套接子聯繫至套接子編號35〇。接著,主套 接子將套接子編號350及套接子編號350之所有有關資訊添 加至表600。該添加反映於列66〇中。將套接子編號添加至 表600允許應用程式偵聽套接子編號35〇。
圖7為根據說明性實施例說明一應用程式内用以使該應 用程式與網路介面之一子集通信之程序的流程圖。該程序 在諸如圖3之應用程式310之應用程式中執行。 該程序開始於應用程式選擇該應用程式希望與之進行介 面連接之網路位址(步驟700)。所選定網路位址為該應用程 式可利用之網路位址之一子集。接著,應用程式打開一主 套接子(步驟710)。接著,應用程式為該應用程式希望與之 進仃介面連接之每一網路位址打開一子套接子(步驟72〇)。 接著,應用程式將打開子套接子之清單發送至主套接子 (步驟730),其後該程序終止。 圖8為說明一主套接子内用以使該主套接子與網路介面 之一子集關聯之程序的流程圖。該程序在諸如圖3之主套 接子320之主套接子中執行。 該耘序開始於主套接子接收打開子套接子之一清單(步 :,。接著’主套接子創建該等打開子套接子之一關聯 清早(步職0)。接著,主套接子使㈣子套接子與該主套 ❹關聯(步驟820)。接著’衫應用程式是否希望自該清 早移除-子套接子(步驟83())。若主套接子接收到移除 119853.doc -20· 200818808 套接子之請求(步㈣嗜出"是”),社 ==除關聯(步_)。接著,判定應用程= 接收到添加一步驟85°)。若主套接子 ^ 奮接子之请求(步驟850輸出"是"),則主套 程1=新的子套接子與主套接子關聯(步驟_),其後該 現回到步驟830,若本泰拉2 1 Λ 之請求(步_輪出"否"):子二, n 徇出否)’則判定應用程式是否希望將一 子=子添加至該清單(步驟㈣)。若主套接子接收到添加 接子之請求(步驟㈣輸出,,是"),則主套接子使該新 接子與主套接子關聯(步驟86G),其後該程序終止。 回到/驟850,若主套接子未接收到添加一子套接子之 請求(步驟850輸出"否"),則其後該程序終止。 .說㈣實施例提供-種用於管理複數個介面之電腦實施 …法貝料處理系統及電腦程式產品。一應用程式選擇該 入面之子集。回應於該選擇,該應用程式繫結至 ’I面,4子集’以使得該應用程式摘聽介面之該子集。為 吏亥應用~式繫結至介面之該子集,制程式首先為介 面之該子集中之每一介面打開一主套接子及一子套接子。 2套接子與子套接子彼此„。主套接子錢接至應用程 ^因而4套接子維持有效套接子之—清單,並管理添 哪些套接子及將哪些套接子自清單移除。 說明性實施例允許應用程式僅與介面之一子集通信,而 4限於僅早一介面或所有介面。說明性實施例亦允許應用 H9853.doc •21- 200818808 程式與-介面動態地斷開連接或連接而不干擾與其他介面 之通信。動態地斷開連接之能力提供給應用程式移除需要 修理或具有其他問題之介面的能力。動態地連接之能力提 供給應用程式接受來自新介面之通信的能力。 本發明可採取完全硬體實施例、完全軟體實施例或含有 硬體及軟體元件之實施例的形式。在一較佳實施例中,本 發明以包括(但不限於)韌體、常駐軟體、微碼等之軟體實 施。 、 _ 此外’本發明可採取可自電腦可用媒體或電腦可讀取媒 體存取之提供程式碼之電腦程式產品之形式,以供電腦或 任何指令執行系統使用或與其結合使用。出於此描述之目 的,電腦可用媒體或電腦可讀取媒體可為任何可含有、儲 存、傳達、傳播或傳送程式以供指令執行系統、設備或裝 置使用或與其結合使用之有形設備。 媒體可為電子、磁、光學、電磁、紅外或半導體系統 φ (或設備或裝置)或傳播媒體。電腦可讀取媒體之實例包括 半‘體或固‘癌記憶體、磁帶、抽取式電腦磁#、隨機存取 記憶體(RAM)、唯讀記憶體(R〇M)、硬質磁碟及光碟。光 碟之當前實例包括緊密光碟-唯讀記憶體(CD-ROM)、緊密 光碟-讀/寫(CD-R/W)及DVD(數位多功能碟片)。 適合用於儲存及/或執行程式碼之資料處理系統將包括 經由系統匯流排而與記憶體元件直接或間接耦接之至少一 個處理器。記憶體元件可包括在程式碼之實際執行期間使 用之區域記憶體、大容量儲存器及快取記憶體,快取記憶 119853.doc -22· 200818808 體提供至少一些程式碼之暫時儲存以便減少在執行期間必 須自大容量儲存器擷取碼之次數。 輸入/輸出或I/O裝置(包括(但不限於)鍵盤、顯示器、指 向裝置)可直接耦接至系統或經由介入式1/0控制器耦接至 系統。 網路配接器亦可耦接至系統以使資料處理系統能夠經由 介入式專用網路或公眾網路耦接至其他資料處理系統或遠 端印表機或儲存裝置。數據機、電纜數據機及乙太網路卡 正為一些當前可利用類型之網路配接器。 已出於說明及描述之目的陳述本發明之描述内容,且不 希望其為詳盡的或限於本發明所揭示之形式。一般熟習此 項技術者將易瞭解許多修改及變化。選擇並描述實施例是 為了最佳地解釋本發明之原理及實務應用,且使一般熟習 此項技術者能夠理解本發明的具有適合特殊預期用途之各 種修改之各種實施例。 【圖式簡單說明】 圖1為可實施說明性實施例之諸態樣之資料處理系統之 網路的圖象表示; 圖2為可實施說明性實施例之諸態樣之資料處理系統的 方塊圖; 圖3說明根據說明性實施例之具有複數個介面之應用程 式伺服器; 圖4說明根據說明性實施例之可由主套接子創建及使用 之關聯清單; 119853.doc -23- 200818808 圖5說明根據說明性實施例之在與—套接子動態地解除 關聯之後的關聯清單; 圖6說明根據說明性實施例之在一新的套接子與主套接 子動恕地關聯之後的關聯清單; 圖7為根據說明性實施例說明一應用程式内用以使應用 程式與網路介面之一子集通信之程序的流程圖;及
圖8為根據說明性實施例說明一主套接子内用以使主套 接子與網路介面之一子集關聯之程序的流程圖。 【主要元件符號說明】 100 網路資料處理系統 102 網路 104 伺服器 106 伺服器 108 儲存單元 110 用戶端 112 用戶端 114 用戶端 200 資料處理系統 202 北橋與記憶體控制器集線器(NB/MCH) 204 南橋與輸入/輸出(I/O)控制器集線器 (SB/ICH) 206 處理單元 208 主記憶體 210 圖形處理器 119853.doc 200818808
212 區域網路(LAN)配接器 216 音訊配接器 220 鍵盤與滑鼠配接器 222 數據機 224 唯讀記憶體(ROM) 226 硬磁碟驅動機(HDD)/周邊裝置 230 CD-ROM驅動機/周邊裝置 232 通用串列匯流排(USB)埠及其他通信埠 234 PCI/PCIe 裝置 236 超I/0(SI0)裝置 238 匯流排 240 匯流排 300 資料處理系統 310 應用程式 320 主套接子 330-339 套接子 340-349 網路介面 119853.doc -25-
Claims (1)
- 200818808 十、申請專利範圍: 1. 一種用於管理複數個介面之電腦實施方法,該電腦實施 方法包含: ' 由一應用程式選擇該複數個介面之一子集以形成介面 之一子集;及 回應於該由該應用程式選擇該複數個介面之一子集而 使該剌程式繫結至介面之該子集,其巾該制程式债 聽該等介面之該子集。 • 2·如請求項1之電腦實施方法,其進一步包含: 打開一主套接子;及 為介面之該子集内之每一介面打開一子套接子,其中 該主套接子及該等子套接子由該應用程式打開。 3·如請求項2之電腦實施方法,其進一步包含: 組態該等子套接子。 4. 如請求項3之電腦f施方法,纟中該組態該等子套接子 的步驟包含: 使該子套接子與介面之該子集内之該每—介面繫 結;及 μ 使該主套接子與該等子套接子關聯。 5· ^請求項4之電腦實施方法’其中該使該主套接子與該 等子套接子關聯的步驟包含: 將4等子套接子添加至一由該主套接子維持之關聯清 單;及 使該主套接子與該關聯清單中之該等子套接子鍵接。 119853.doc 200818808 6·如請求項5之電腦實施方法,其進一步包含· 接收一來自該應用程式之動態地關閉該等子套接子中 的一者之請求;及 回應於遠來自該應用程式之動態地關閉該等子套接子 中的-者之請求而與該等子套接子中的該一者解除關 聯0 7·如請求項6之電腦實施方法,其中該與該等子套接子中 的一者解除關聯的步驟包含: 將該等子套接子中的該一者自該關聯清單移除。 8.如晴求項5之電腦實施方法,其進一步包含· 接收一來自該應用程式之動態地添加一新的子套接子 之請求;及 回應於該來自該應用程式之動態地添加一新的子套接 子之請求而使該新的子套接子與該主套接子關聯。 9·如請求項2之電腦實施方法,其進一步包含·· 由該主套接子管理一應用程式之一請求佇列;及 將-來自該等子套接子中的一者的請求轉發至該請求 仔列之-末端’其中該來自該等子套接子中的—者的請 求係該等子套接子中的該—者之—請求㈣中的一第一 請求。 -種用於管理複數個介面之資料處理系 含: 一應用程式伺服器,其連接至一網路,· 該複數個介面,其處於一應用程式伺服器内;及 119853.doc -2 · 200818808 一應用程式,其處於該應用程式伺服器内,其中該應 用程式經由該複數個介面繫結至該網路。 Π ·如請求項1 〇之資料處理系統,其進一步包含: 套接子,其蘩結至邊複數個介面中的每一介面以形 成一子套接子;及 一主套接子,其與每一子套接子關聯,其中該主套接 子連接至該應用程式。 12· —種用於管理複數個介面之電腦程式產品,其包含一具 有電腦可用程式碼之電腦可用媒體,該電腦程式產品 包含: 用於由一應用程式選擇該複數個介面之一子集以形成 介面之一子集的電腦可用程式碼;及 •回應於該由該應用程式選擇該複數個介面之一子集, 用於使該應用程式繫結至介面之該子錢電腦可用程式 碼,其中該應用程式偵聽介面之該子集。 13.如請求項12之電腦程式產品,其進一步包含: 用於打開一主套接子的電腦可用程式碼;及 用於為介面之該子集内之每一介面打開一子套接子的 電腦可用程式碼’其中該主套接子及該等子套接子由該 應用程式打開。 14·如請求項13之電腦程式產品,其進一步包含·· 用於組態該等子套接子的電腦可用程式碼。 ’求項14之電細冑式產品中該用於組態該等子套 接子的電腦可用程式碼包含·· 119853.doc 200818808 用於使該子套接子與介面之該子集内之該每一介面繫 結的電腦可用程式碼;及 ” 用於使該主套接子與該等子套接子關聯的電腦可用程 式碼。 16·如請求項15之電腦程式產品,其中該用於使該主套接子 與该等子套接子關聯的電腦可用程式碼包含·· 用於將該等子套接子添加至一由該主套接子維持之關 聯清單的電腦可用程式碼;及 用於使該主套接子與該關聯清單中之該等子套接子鏈 接的電腦可用程式碼。 17·如請求項16之電腦程式產品,其進一步包含: 用於接收一來自該應用程式之動態地關閉該等子套接 子中的一者之請求的電腦可用程式碼;及 回應於該來自該應用程式之動態地關閉該等子套接子 中的一者之請求,用於與該等子套接子中的該一者解除 關聯的電腦可用程式碼。 18·如請求項17之電腦程式產品,其中該用於與該等子套接 子中的該一者解除關聯的電腦可用程式碼包含: 用於將該等子套接子中的該一者自該關聯清單移除的 電腦可用程式碼。 19·如請求項16之電腦程式產品,其進一步包含: 用於接收一來自該應用程式之動態地添加一新的子套 接子之請求的電腦可用程式碼;及 回應於該來自該應用程式之動態地添加一新的子套接 119853.doc 200818808 子之請求,用於使該新的子套接子與該主套接 電腦可用程式碼。 J 20.如請求項15之電腦程式產品’其進一步包含·· 用於由該主套接子管理一膺 Μ用%式之一睛求仵列的 腦可用程式碼;及 用於將一來自該等子矣接;士 4子套接子巾的—者的請求轉發至該 Μ求佇列之一末端的電腦可用程式碼,其中該來自該等 子套接子中的—者的請求係該等子套接子中的該一者之 一請求佇列中的一第一請求。 2!.一種用於使-應用程式與網路位址之—子集通信之電腦 實施方法,該電腦實施方法包含: 由一應用程式識別網路位址之該子集; 建立一與網路位址之該子集之連接;及 由-應用程式接受該與網路位址之該子集之連接。 22. 如請求項21之電腦實施方法,其中該建立-與網路位址 之該子集之連接的步驟包含: 打開一主套接子;及 為網路位址之該子集内之每一網路位址打開一子套接 子〃中°亥主套接子及該等子套接子由該應用程式打 開。 23. 如請求項22之電腦實施方法,其進一步包含: 使網路位址之該子集内之每一網路位址與該子套接子 繫結;及 偵聽該等子套接子。 119853.doc 200818808 24. 如請求項22之電腦實施方 其進一步包含: 使該主套接子與該等子套 丁备接子關聯。 25. 如請求項24之電腦實施方 其中該使該主套接子與該 子套接子關聯的步驟包含·· 將該等子套接子填入-關聯清單;及 將該主套接子與該等子套接子列表於該關聯清單中。 26. 如請求項25之電腦實施方法,其進_步包含: 接收一來自該應用程式之私_ 飞^動恶地關閉該等子套接子中 的一者之請求;及 回應於該來自該應用程式之翻仏日日b 狂式之動悲地關閉該等子套接子 中的一者之請求而與該等子套 备接子中的该一者解除關 聯。 ”·如請求項26之電腦實施方法,其中該與該等子套接子中 的一者解除關聯的步驟包含: 將該等子套接子中的該-者自該關聯清單移除。 28·如請求項25之電腦實施方法,其進一步包含: 接收一來自該應用程式之動態地添加一新的子套接子 之睛求;及 回應於該來自該應用程式之動態地添加—新的子套接 子之請求而使該新的子套接子與該主套接子關聯。 29. —種用於使一應用程式與網路位址之一子集通信之電腦 程式產品,其包含一具有電腦可用程式碼之電腦可用媒 體,該電腦程式產品包含: ' 用於由一應用程式識別網路位址之該早鱼 于集的電腦可用 119853.doc 200818808 程式碼; 之連接的電腦 可用程 用於建立一與網路位址之該子集 式碼;及 址之該子集之連接 用於由一應用程式接受該與網路位 的電腦可用程式碼。 30.如請求項29之電腦程式產品, ,、甲°亥用於建立一與網路 位址之§亥子集之連接的電腦可用程式碼包含:用於打開-主套接子的電腦可用程式碼;及 用於為網路位址之該子集内之每一網路位址打開一子 套接子的電腦可用程式碼,其中該主套接子及該等子套 接子由該應用程式打開。 31·如請求項30之電腦程式產品,其進一步包含: 用於使網路位址之該子集内之每一網路位址與該子套 接子繫結的電腦可用程式碼;及 用於偵聽該等子套接子的電腦可用程式碼。 32·如請求項30之電腦程式產品,其進一步包含·· 用於使該主套接子與该荨子套接子關聯的電腦可用程 式碼。 33.如請求項32之電腦程式產品,其中用於使該主套接子與 該子套接子關聯的指令包含·· 用於將該等子套接子填入一關聯清單的電腦可用程式 碼,及 用於將該主套接子與該等子套接子列表於該關聯清單 中之電腦可用程式碼。 119853.doc 200818808 34.如晴求項33之電腦程式產品,其進一步包含: 用於接收一來自該應用程式之動態地關閉該等子套接 子中的一者之請求的電腦可用程式碼;及回應於該來自該應用程式之動態地關閉該等子套接子 中的一者之請求,用於與該等子套接子中的該一者解除 關聯的電腦可用程式碼,其中該用於與該等子套接.子中 的一者解除關聯的電腦可用程式碼包含用於將該等子套 接子中的該一者自該關聯清單移除的指令。 35·如請求項33之電腦程式產品,其進一步包含: 用於接收一來自該應用程式之動態地添加一新的子套 接子之請求的電腦可用程式碼;及 回應於該來自該應用程式之動態地添加一新的子套接 子之睛求,用於使該新的子套接子盥 電腦可用程式碼。 -該主套接子關聯的119853.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/406,185 US20070245005A1 (en) | 2006-04-18 | 2006-04-18 | Method and data processing system for managing a plurality of interfaces |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200818808A true TW200818808A (en) | 2008-04-16 |
Family
ID=38353663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096113349A TW200818808A (en) | 2006-04-18 | 2007-04-16 | Method and data processing system for managing a plurality of interfaces |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070245005A1 (zh) |
EP (1) | EP2011005A1 (zh) |
JP (1) | JP4979762B2 (zh) |
CN (1) | CN101410804A (zh) |
TW (1) | TW200818808A (zh) |
WO (1) | WO2007118877A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364850B2 (en) * | 2006-07-20 | 2013-01-29 | Qualcomm Incorporated | Utility service in multi-processor environment |
US8856460B2 (en) | 2010-09-15 | 2014-10-07 | Oracle International Corporation | System and method for zero buffer copying in a middleware environment |
CN102158350B (zh) * | 2011-02-12 | 2012-11-21 | 华为终端有限公司 | 一种移动宽带设备及管理移动宽带设备的方法 |
US9086909B2 (en) * | 2011-05-17 | 2015-07-21 | Oracle International Corporation | System and method for supporting work sharing muxing in a cluster |
CN102301650B (zh) * | 2011-07-08 | 2014-07-09 | 华为技术有限公司 | 计算机系统中子网管理方法、总线适配器及计算机系统 |
CN105159102A (zh) * | 2015-07-30 | 2015-12-16 | 北京京东尚科信息技术有限公司 | 智能家电、智能家电系统及其方法 |
CN110198312B (zh) * | 2019-05-23 | 2021-12-24 | 北京华三通信技术有限公司 | 消息处理方法和装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5421024A (en) * | 1991-04-30 | 1995-05-30 | Hewlett-Packard Company | Detection of a relative location of a network device using a multicast packet processed only by hubs |
US5721876A (en) * | 1995-03-30 | 1998-02-24 | Bull Hn Information Systems Inc. | Sockets application program mechanism for proprietary based application programs running in an emulation environment |
US6061713A (en) * | 1997-03-12 | 2000-05-09 | Fujitsu Limited | Communications system for client-server data processing systems |
US6269400B1 (en) * | 1998-07-22 | 2001-07-31 | International Business Machines Corporation | Method for discovering and registering agents in a distributed network |
US6349341B1 (en) * | 1998-07-30 | 2002-02-19 | Advanced Micro Devices, Inc. | Method and system for providing inter-tier application control in a multi-tiered computing environment |
US6954784B2 (en) * | 2000-08-17 | 2005-10-11 | International Business Machines Corporation | Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address |
US6950879B2 (en) * | 2001-01-24 | 2005-09-27 | Interland, Inc. | Using virtual network address information during communications |
US20020143954A1 (en) * | 2001-04-03 | 2002-10-03 | Aiken John Andrew | Methods, systems and computer program products for content-based routing via active TCP connection transfer |
US6922727B2 (en) * | 2001-06-26 | 2005-07-26 | International Business Machines Corporation | Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network |
US7080156B2 (en) * | 2002-03-21 | 2006-07-18 | Sun Microsystems, Inc. | Message routing in a torus interconnect |
US20040003085A1 (en) * | 2002-06-26 | 2004-01-01 | Joseph Paul G. | Active application socket management |
US7260599B2 (en) * | 2003-03-07 | 2007-08-21 | Hyperspace Communications, Inc. | Supporting the exchange of data by distributed applications |
US7263555B2 (en) * | 2003-04-30 | 2007-08-28 | International Business Machines Corporation | Apparatus and method for dynamic sharing of server network interface resources |
US20050125514A1 (en) * | 2003-11-21 | 2005-06-09 | Intel Corporation, A Delaware Corporation | Dynamic resource allocation systems and methods |
US20050165932A1 (en) * | 2004-01-22 | 2005-07-28 | International Business Machines Corporation | Redirecting client connection requests among sockets providing a same service |
US20050213115A1 (en) * | 2004-03-29 | 2005-09-29 | Bruce Johnson | Print job system and method |
ATE427601T1 (de) * | 2004-07-01 | 2009-04-15 | Alcatel Lucent | Verfahren zur auswahl zwischen netzwerkschnittstellen, gerat mit mehreren netzwerkschnittstellen und verarbeitungsschicht |
JP4698316B2 (ja) * | 2005-07-15 | 2011-06-08 | 株式会社日立製作所 | アクセスパス管理方法及びプログラム |
-
2006
- 2006-04-18 US US11/406,185 patent/US20070245005A1/en not_active Abandoned
-
2007
- 2007-04-16 TW TW096113349A patent/TW200818808A/zh unknown
- 2007-04-17 WO PCT/EP2007/053714 patent/WO2007118877A1/en active Application Filing
- 2007-04-17 EP EP07728179A patent/EP2011005A1/en not_active Withdrawn
- 2007-04-17 JP JP2009505869A patent/JP4979762B2/ja not_active Expired - Fee Related
- 2007-04-17 CN CNA2007800110298A patent/CN101410804A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP4979762B2 (ja) | 2012-07-18 |
CN101410804A (zh) | 2009-04-15 |
JP2009534728A (ja) | 2009-09-24 |
EP2011005A1 (en) | 2009-01-07 |
WO2007118877A1 (en) | 2007-10-25 |
US20070245005A1 (en) | 2007-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200818808A (en) | Method and data processing system for managing a plurality of interfaces | |
ES2428867T3 (es) | Método y sistema para establecer una Red Igualitaria confiable y descentralizada | |
TW556095B (en) | Method and system for embedding correlated performance measurements for distributed application performance decomposition | |
CN102546583B (zh) | 用于便于网络服务虚拟化的计算机可执行方法及系统 | |
US6928476B2 (en) | Peer to peer remote data storage and collaboration | |
TW200910126A (en) | Method and system for sharing data between subscribers of a multi-tenant database service | |
US20050209842A1 (en) | Remote USB port system and method | |
US20070180079A1 (en) | Method and system for peer-to-peer stream | |
TW201235860A (en) | Cloud storage/access device and method thereof | |
US20220150364A1 (en) | System and method for sending, delivery or receiving of faxes, over a computer based network according to security or other protocols | |
TW498217B (en) | Internet-based shared file service with native PC client access and semantics and distributed version control | |
CN101834765B (zh) | 一种远程文件传输的系统及方法 | |
WO2014154009A1 (zh) | 一种群组通信的方法、装置、接收端、发送端和设备 | |
RU2008140278A (ru) | Механизм удаления в мультимедийных службах, работающих по протоколу sip | |
CN103870938A (zh) | 一种协同通信系统 | |
JP4137769B2 (ja) | 通信システム、通信方法および通信プログラム | |
JP2005215797A (ja) | 端末装置、サーバ、グループウェアシステム、グループウェア方法、および、グループウェアプログラム | |
WO2015135358A1 (zh) | 处理即时消息的方法、消息服务器、终端与系统 | |
CN116308359A (zh) | 一种数字资产的转移方法、装置、设备及存储介质 | |
JP2002108718A (ja) | コンテンツ配送管理システム、コンテンツ配送管理方法、及びコンテンツ配送管理プログラムを記録した記録媒体 | |
TWI229995B (en) | Packet transfer system applied to proxy server and method thereof | |
CN117319141A (zh) | 云设备网络管理方法、访问方法及相关设备 | |
JP2009534762A (ja) | 電子ファイル共有 | |
TW200822629A (en) | Method and system of retrieving data safely from company database via instant messaging | |
Transports | NFSv4 C. Lever Internet-Draft Oracle Intended status: Experimental May 29, 2015 Expires: November 30, 2015 |