TWI252651B - System, method, and product for managing data transfers in a network - Google Patents

System, method, and product for managing data transfers in a network Download PDF

Info

Publication number
TWI252651B
TWI252651B TW092109266A TW92109266A TWI252651B TW I252651 B TWI252651 B TW I252651B TW 092109266 A TW092109266 A TW 092109266A TW 92109266 A TW92109266 A TW 92109266A TW I252651 B TWI252651 B TW I252651B
Authority
TW
Taiwan
Prior art keywords
logical connection
end node
instance number
packet
node
Prior art date
Application number
TW092109266A
Other languages
English (en)
Other versions
TW200306719A (en
Inventor
Bruce Leroy Beukema
Thomas Anthony Gregg
Danny Marvin Neal
Renato John Recio
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW200306719A publication Critical patent/TW200306719A/zh
Application granted granted Critical
Publication of TWI252651B publication Critical patent/TWI252651B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • General Factory Administration (AREA)

Description

1252651 玖、發明說明 【發明所屬之技術領域】 本發明大體上係關於電腦系統的領域,更特定係關於 管理網路中資料傳輸之系統、方法及產品。 【先前技術】 許多既有的電腦系統使用一分享式匯流排架構,如週 邊設備互連(PCI),來作為電腦系統内將資料内部地傳輸 於該系統的不同處理器與I/O裝置之間。這些既有的分享 式匯流排架構並未趕上典型處理器性能增加的步調。因 此,一新的架構,一般被稱為「無限頻寬(i n f i n i b a n d )」, 已被發展來在電腦系統中將將資料内部地傳輸於處理器與 I/O裝置之間。此新的架構能夠提供更大的頻寬並增加擴 充性。 此新的架構一系統區網路其包括一以通道為基礎的 (channel-based),開關式光纖(switched-fabric)技術。在 此一系統區域網路(S AN)中,資料是經由被作成封包的訊 息來傳輸的。每一裝置,不論其為一處理器或I/O裝置, 都包括一通道配接器。該等訊息從一裝置的通道配接器藉 由開關而被傳輸至另一裝置的通道配接器。每一通道配接 器亦可被稱為一 「端節點(end node)」。 第1圖顯示兩個依據先前技術的端節點,每一端節點 都包括一佇列(queue)對。當端節點A1 00需要將資料傳輸 至端節點B 1 0 8時,一邏輯連線被建立在包括於端節點Λ 3 1252651 的一佇列對與包括在端節點 B的佇列對之間。然後資料 從端節點 A中的佇列對的送出佇列被傳輸至在端節點 B 中之佇列對的接收佇列。回應則從端節點 B 中的佇列對 的送出佇列被傳輸至在端節點A中之佇列對的接收佇列。 端節點A 1 0 0包括一佇列對1 0 2。佇列對1 0 2包括一送出 佇列1 04及一接收佇列1 06。端節點B 1 0 8包括一佇列對 11 0。佇列對11 0包括一送出佇列1 1 2及一接收佇列1 1 4。 要求從送出佇列被送出到接收佇列且回應則從接收佇列被 送出回到送出峙列。要求1 1 6由回應1 8 8來加以承認。要 求1 2 0是由回應1 2來加以承認。 訊息及封包可利用五種不同的傳輸種類中的一種來加 以傳輸:可靠的連接(Reliable connected, RC),可靠的資 料組(Reliable dadagram,RD),不可靠的連接(Unreeliable connected, UC),不可靠的資料組(Unreliable dadagram, UD),或未處理的資料組(Raw Datagram,RawD)。當該可 靠的連接傳輸種類被使用時,序號係被包括在每一封包 内,且封包傳輸被加以承認。 開始的訊號是在一邏輯連線被建立在兩個端點之間時 被建立的。每次一封包被傳輸時,該序號會被上加且被包 括在該封包内。因此,一封包的序號被用來認明該封包在 一連_的封包中的位置。 在此先前技術中,一特定的位元組,或一區域,被包 括在每一封包内用以表示該序號。因此,該序號是該整組 位元。 4 1252651 被包括在要求 1 1 6内的該封包序號(P S N )與包 應1 1 8内的P SN是相同的。包括在要求1 2 0中的 包括在回應122内的PSN是相同的。包括在要求 回應118内的PSN與包括在要求120與回應122内 是沒有關聯的,即使是它們都使用同一組佇列對。 通常,在每一次要求封包傳輸時,要求者節點會 增加1。回應者節點將在接收到的要求中之P S Ν與 的PSN(被期待的PSN)相比較,回應者亦在每一次 一要求封包時將其PSN增加 1。如果PSN相符的 應者會使用包括在該被承認的要求封包中之 PSN P SN來送出一對於該要求的回應(回條)。然後回到 者處,在回應封包中的 PSN被拿來與要求只的回 相比較用以檢查其是否與其本身的回應 P S Ν (被 PSN)相同。 該要求者被允許送出多個封包而無需接收到一 包。回應封包可在收後被該要求者收到,但在這些 包内的PSN被拿來與要求者的回應PSN計數器相 如果所有的要求封包PSN與回應者的内部PSN相 有回應封包的P S Ν都與要求者的内部P S Ν相符的 所有封包都重功地從一端節點被傳輸至另一端節: 送出佇列到一接收佇列)。 有兩種不正常情況必需在回應者端偵測出並加 以確保可靠的操作。第一種不正常情況為重複的封 二種不正常情況為無效封包。 括在回 PSN與 1 1 6與 白勺PSN 將PSN 其本身 接收到 話則回 相同的 該要求 應 PSN 期待的 回應封 回應封 比較。 符且所 話,則 f占(從一 以解決 包,第 5 1252651 重複封包是在該要求者不只一次地送出一要求封包時 在回應者端被偵測出。該要求者會在其偵測到該封包被遺 失了的時候將該封包不只一次地送出。第2圖顯示一階悌 圖其顯示依據先前技術之重複封包的傳輸情形。一包括了 PSN=1白勺要求封包204從端節點200被送出且被回應者, 端節點202接收到。包括一 PSN=1的該回應(回條)206被 是被遺失就是延遲了 。在此情況中,要求者(端節點 2 0 0 ) 偵測到一暫停狀況並重新送出相同的要求2 0 8其包括了相 同的PSN(PSN = 1)。該回應者(端節點 202)判定該PSN為 一重複的PSN(即,其具有一比端節點202的内部計數”早” 的PSN),且該回應者會再次送出具有同一 PSN(PSN = 1)的 該回應作為回條2 1 0。 一無效的封包是在該回應者接收到一封包其具有比它 本身的計數”超前”的 P S N時於回應者處被偵測到。第3 圖顯示一階梯圖其顯示依據先前技術之無效封包的接收情 形。該要求者(端節點3 00),傳輸一包括了 PSN = 1的要求 304,一包括了 PSN = 2的要求308,及一包括了 PSN=3的 要求310。要求 304由包括了一 PSN = 1的回條306加以 適當地承。包括PSN二2的要求308被遺失於光纖中。因 此,回應者(端節點 3 02)看到要求 3 04(其具有 PSN = 1), 其後接著要求310(其具有PSN = 3)。因此,要求310為一 無效的封包。在此情況中,回應者(端節點 3 0 2 )重送回條 3 1 2給具有 P SN= 1的要求封包,及該要求者重送從具有 PSN = 2的要求3 14開始的所有封包。 1252651 在要求者端,回應封包具有相同的規則。被要求者偵 測到的重複封包回被拋棄。這種情形只會在一要求封包並 沒有遺失而只是在光纖中延遲一段夠長的時間來讓要求者 重送它時發生。具有該重複的 P s N的第二個回應會被拋 棄。在要求者端的無效 P SN會在多封包回應的一或多個 封包遺失在光纖中時發生。在此情況中,要求者會重送該 要求。 PSN使用一固定的且有限的位元數於包括在每一封包 内的輸送頭標(header)中◦因此PSN被持續地重複使用作 為計數器,其從最大數值到0重複地產生它們。藉由使用 比封包數大許多的P SN,要求者及回應者建立一封包序號 範圍於該重複及無效範圍中。 當介於兩端節點之間的一邏輯連線於封包正在途中時 被終結然後被重新建立,P SN即會產生問題。在此情形中, 一來自於該老舊的連線之封包會到達該回應者。回應者會 將該封包解讀為一有效的封包,雖然其為一來自於該舊的 連線的舊封包。 上述前技的解決方案之一為於毁壞一建立在兩特定的 佇列對組之間的邏輯連線,然後再在相同的兩特定的佇列 對組之間重新建立該邏輯連線之間增加等待階段。因此, 端節點會等待夠長的時間讓來自於舊的連線之所有可能的 舊封包都過期。雖然這可以解決此一問題,但其會嚴重地 影響到端節點的性能,特別是在連線經常被毀壞再重新建 時0 7 1252651 因此,對於可有效率地管理網路中的資料傳輸的方 法,系統及產品存在著需求。 【發明内容】 一種用於資料處理系統中的方法,系統,及產品被揭 示,其是用來管理從該資料處理系統中的一第一端節點傳 輸至一第二端節點的資料傳輸。在將資料傳輸於該第一端 節點與該第二端節點之間之前,一邏輯連線被建立在這兩 個端節點之間。一實例號碼(i n s t a n c e n u m b e r )被賦予此特 定的邏輯連線。當此邏輯連線保持著被建立時,該實例號 碼會被包括在傳輸於該二端節點之間的每一封包(packet) 中。在此邏輯連線期間該實例號碼都是保持不變的。當每 次重建這兩個端節點之間的邏輯連線時,該實例號碼都會 被改變,如將該號碼上加。因此,每一封包都包括該邏輯 連線的一特定的實例號碼。當一封包被接收到時,包括在 該封包内的實例號碼會被用來決定該封包是否為這兩個端 節點之間的前一邏輯連線期間被傳輸的舊封包。 在一較佳的實施例中,此實例號碼被包括成為序號的 一部分。被指定在每一封包内作為序號的位元依據本發明 被分割為序號位元與實例號碼位元。該實例號碼,其在一 特定的邏輯連線期間的所有封包中都保持不變的,係使用 該實例號碼位元來表示。該序號,其在每一被傳輸的封包 上都被上加,係使用序號位元來表示。 本發明的上述以及額外的目的,特徵5及優點在以下 8 1252651 的詳細說明中將會變得更加明顯。 【實施方式】 本發明的一較佳實施例及其優點可藉由參照附 更加地暸解,相同的標號被用來表示附圖中相同且 的構件。 本發明是一種用來管理在一資料處理系統中資 第一端節點被傳輸至一第二端節點的方法,系統,及 在將資料傳輸於該第一端節點與該第二端節點之間 一邏輯連線被建立在這兩個端節點之間。該邏輯連 立在包括於第一端節點的一特定的佇列對與包括在 節點的一特定佇列對之間。 一實例號碼被賦予建立在這兩個特定的佇列對 的邏輯連線當該邏輯連線被維持著時,該實例號碼 括在每一被傳輸於端節點之間的封包内。每次一邏 被重建於這兩組佇列對之間時,該實例號碼即會上 包亦包括封包序號,其在每次一封包被傳輸時都會 本發明將該實例號碼用作為傳統的序號的一部 留給先前技術的序號的位元組被分割成一序號位元 實例號碼位元組。本發明的實例號碼是由實例號碼 來表示。因此,依據本發明傳統的前技序號被用來 例號碼及序兩這兩者。實例號碼位元組在相同的邏 期間都保持一定。序號位元組則與之前所描述的 同,在每次有一封被被傳送時即被上加。 圖而被 相對應 料從一 產品。 之前, 線被建 第二端 組之間 會被包 輯連線 加。封 上力口 。 分。保 組及一 位元組 表示實 輯連線 前技相 9 1252651 序號位元組在被上加至最大的序號時會以與前技中所 用的方式再回到從〇開始。實例號碼並不會受到序號上加 或回到0的影響。只要該邏輯連線沒有被重建,該實例號 碼都會保持一定。因此,因為某些傳統的序號被保留給實 例號碼,所以最大的序號小於所有序號位元所可以代表的 所有號碼。 本發明的資料處理系統是一分離的計算系統,其具有 端節點,開關,路由器,及將這些構件連接起來的鏈。每 一端節點都使用送出及接收佇列對來傳送及接收訊息。端 節點將訊息分段成為封包並經由鏈來傳輸封包。開關及路 由器將端節點相互連接起來並將封包傳遞至適當的端節 點。端節點在目的地將封包重新組合成為訊息。 在本發明的一較佳實施例中,佇列對被用來將實例號 碼賦予一介於特定的佇列對組之間的邏輯連線。當一邏輯 連線第一^次被建立在一第一端節點與一第二端節點之間 時,在第一端節點内的一仵列對典型地利用一佇列對表與 在第二端節點内的一佇列對相關連。因此每次一邏輯連線 被建立於兩組佇列對之間時,佇列對表可被用來決定這兩 組佇列對是否已被相關連。如果這兩組佇列對已被相關連 的話,則一介於這兩組佇列對之間的邏輯連線被重建及該 實例號碼被上加。 第4圖顯示一依據本發明的資料傳輸系統,其為一以 通道為基礎,開關式光纖的架構用來傳輸資料。實施本發 明的電腦系統可從具有一個處理器及幾個輸入/輸出(丨/ 〇) 10 1252651 配接器的小型伺服器到具有數百個或數千 個I/O配接器的大型平行超級電腦都可以 在由網際網路或内部網路所連接的遠端電 架構中實施。 資料處理系統402包括一儲存區域網 區域網路亦可被稱為一”副網”。一副網為 接的開關,其被整合成一單一的單元。典 據一單一的幾何區域或功能性區域。例如 一單一的電腦系統可被界定為一副網。 資料處理系統4 0 2包括一高頻寬,低 互連節點於該分散式電腦系統中。一節點 的一或多個鏈上的任何構件且形成該網路 及/或目的地。在所描述的例子中,資料J 括主機處理器節點 4 0 6,主機處理器節點 獨立碟片(RAID)次系統節點462,及I/O 於第4圖中的節點只是作為舉例的目的, 連接任何數目及任何種類的獨立處理器節 節點,及I/O裝置節點。這些節點中的任 端節點,其在本文中被界定為在SAN424 起始裝置或最終消費裝置。 SAN424包括支援I/O及處理器之間! 的溝通及管理基礎架構。S AN424 包括一 其允許許多裝置與一安全且遠端管理的環 寬,低等候時間(10 W 1 a t e n c y)來傳輸資料 個處理器及數千 。又,本發明可 腦系統的一組織 路424 。 一儲存 一群端節點及串 型地,一副網佔 ,在一房間内的 等候時間的網路 是附加在一網路 内的訊息的起點 ,理系統 402 包 4 0 8,隨機陣列 座節點4 1 2。示 因為 SAN424可 點,1 / Ο配接器 一者都可作為一 中訊息或封包的 勺溝通(I p C )兩者 開關式溝通光纖 境中同時以高頻 。端節點可在多 1252651 個埠之間溝通並經由SAN424利用多路徑。 SAN424 包括主機通道配接器(HCA)426,428,430 及4 3 2,目標通道配接器(ΤΑ C ) 4 5 8,4 6 0,及4 6 8,開關4 1 4 416,及452,及路由器420。一開關為一裝置,其使用 小的頭標,即目的地局部辨識子(D LID)區域,來將一 網内的多個鏈連接在一起並讓封包可從一鏈到另一鏈。 常,一開關可讓封包從一璋走到同一開關的任何其它 處。 一路由器為一裝置,其利用一大的頭標,即目的地 區獨一無二的辨識子(D G U I D ),將多個副網連接在一起 能夠將封包從一第一副網的一個鏈走到在一第二副網内 另一鏈。 一個鏈為介於兩個往個網路光纖元件,如端節點, 關,或路由器,之間的一全雙工通道。適當的鏈的例子 括,但不侷限於,銅質纜線,光學纜線,在背板及印刷 路板上的印刷電路銅質跡線。 在資料處理系統4 0 2中的每一節點都包括至少一通 配接器(CA)。每一通道配接器為一端點,其以充分詳 的方式實施該通道配接器界面用以利用一儲存區域網 (SAN)424 來作為被傳輸的封包的來源處或消費處 SAN424亦可被稱為一光纖。一包括在一處理器節點内 通道配接器為一主機通道配接器(HCA)。一包括在除了 理器節電之外的節點内的通道配接器為一目標通道配接 (TCA)。 副 通 埠 全 且 的 開 包 電 道 細 路 0 的 處 器 12 1252651 主機處理器節點4 Ο 6包含主機通道配接器4 2 6及主機 通道配接器4 2 8形式的通道配接器。主機處理器節點4 0 8 包含主機通道配接器430及主機通道配接器432。主機處 理器節點4 0 6亦包含以一匯流排系統4 4 2相互連接起來的 中央處理單元4 3 4及4 3 6,及一記憶體4 4 0。主機處理器 節點4 0 8亦相同地包含以一匯流排系統4 5 0相互連接起來 的中央處理.單元4 4 4及4 4 6,及一記憶體4 4 8。 主機通遒配接器4 2 6提供連接至開關4 1 4的連接。主 機通道配接器42 8提供連接至開關4 1 4及4 1 6的連接◦主 機通遒配接器4 3 0提供連接至開關4 1 4及4 1 6的連接。主 機通道配接器4 3 2提供連接至開關4 1 6的連接。 主機通道配接器最好是以硬體的方式來實施。在此實 施中,該主機通道配接器硬體減少了許多中央處理單元及 I/O配接器的溝通。該主機通道配接器的此硬體實施例亦 可允許在一開關式的網路上的多個通時的通序,而無與溝 通協定相關的傳統經常性事物(〇 ν e r h e a d )。 I/O座412包括一在I/O配接器背板上的I/O開關452 用以將配接器卡耦合至SAN424,及多個I/O模組454及 456。在此實施例中,I/O模組為擴充卡的形式。 擴充卡可包括一 S C SI擴充卡,一接到光纖通道集線 器及光纖通道仲裁迴圈(FC-AL)裝置的擴充卡,乙太網路 擴充卡,一圖形加速卡,或一顯示卡。任何已知的擴充卡 都可被使用。 每一 I/O模組都包括一目標通道配接器。I/O模組454 13 0 1252651 包括目標通道配接器(TCA)4 5 8,及I/O模組45 6包括目標 通道配接器(TCA)460。 一 RAID子系統節點462亦被包括在資料處理系統402 中。節點4 6 2包括一處理器4 6 4,一記憶體4 6 6,一目標 通道配接器(TCA)46 8,及多個儲存碟片單元470。目標通 道配接器(TCA)468可以是全功能的主機通道配接器。
S AN 42 4提供不涉及作業系統核心處理之零處理器複 製茲料輸送給該分散式電腦系統的I/O及處理器間溝通 (IP C)消費者,並使用硬體來提供可靠的,容錯的溝通。 第5圖為依據本發明的一主機處理器節點的一功能性 方塊圖。主機處理器節點5 0 0為主機處理器節點的一個例 子,如示於第4圖中的主機處理器節點4 0 6或4 0 8。
主機處理器節點5 0 0包括一組消費者5 0 2,5 0 4,5 0 6, 及5 0 8,它們是在主機處理器節點5 0 0上執行的處理。主 機處理器節點5 0 0亦包括通道配接器5 1 0及5 1 2。通道配 接器5 1 0包括埠5 1 4及5 1 6,而通道配接器5 1 2則包括埠 518及520。每一埠都連接至一鏈。 消費者 5 0 2 - 5 0 8經由動詞界面(v e r b i n t e r i、a c e ) 5 2 2及 訊息與資料服務524來將訊息傳輸至該SAN,如SAN424。 一動詞界面主要是一主機通道配接器的功能的一摘要說 明。一作業系統會經由其程式界面揭露一些或全部的動詞 功能。此界面界定該主機的行為。訊息及資料服務5 2 4為 一比動詞層高階界面且被用來處理經由通道配接器5 1 0及 5 1 2接收到的訊息及資料。訊息及資料服務5 2 4提供一界 14 1252651 面給消費者5 Ο 2 - 5 Ο 8來處理訊息及其它資料。 第6圖為一分離式電腦系統的一部分,其顯示依據本 發明的一舉例的要求與回條交換處理。在第6圖中的該分 離式地腦系統6 0 0包括一主機處理器節點6 0 2及一主機處 理器節點6 0 4。該主機處理器節點6 0 2包括一主機通道配 接器 606。主機處理器節點 604 包括一主機通道配接器 608。在第 6圖中的該分離式電腦 600包括一 SAN光纖 6 1 0,其包括一開關6 1 2及一開關6 1 4。該S AN光纖包括 一鏈其將該主機通道配接器耦合至開關 6 1 2,一鏈其將該 開關6 1 2耦合至開關6 1 4,及一鏈其將該主機通道配接器 6 0 8耦合至開關6 1 4。 在該舉例的交換處理中,主機處理器節點6 0 2包括一 客戶處理A。主機處理器節點6 0 4包括一客戶處理B ◦客 戶處理A經由彳宁列對6 2 0與主機通道配接器6 0 6互動。 客戶處理B經由佇列對6 2 2與主機通道配接器6 0 8互動。 佇列對6 0 6及6 0 8是結構,其每一者都包括一送出佇 列與一接收作列。一彳宁列對典型地包括在通道配接器内的 控制暫存器。佇列對 6 2 0包括送出佇列 6 2 4及接收佇列 6 2 6。佇列對6 2 2包括送出佇列6 2 8及接收佇列6 3 0。 處理 A藉由寄出佇列元件給佇列對6 2 0的送出佇列 6 2 4來初始一訊息要求。在主機通道配妾6 0 6内的硬體接 收在接收佇列 6 3 0内的佇列元件。處理 B然後讀取該佇 列元件並將該訊息分段成為封包,如第 8圖中所示的封 包。處理 B可藉由寄出佇列元件給送出佇列 62 8來初始 15 1252651 一訊息,其然後經由接收佇列6 2 6被處理A接收。 封包被導引通過 SAN光纖,且被最終目的地端節點 承認作為可靠的傳輸服務。如果沒有被成功地承認的話, 封包會被來源端節點再次傳輸。封包是被來源端節點所產 生且被目的地中節點所消費。 第7圖為依據本發明利用一可靠的連線(RC)服務來作 分離式處理之間的溝通的分離式電腦系統的一部分。 當一佇列對被產生時,佇列對被設定來提供一被選取 的輸送服務種類。實施本發明的較佳實施例的一分散式電 腦系統支援四種輸送服務:可靠的連接(RC ),不可靠的連 接(UC),不可靠的資料組(UD),或未處理的資料組 (RawD)〇 可繞及不可靠的連接服務將一局部的佇列對與唯一的 遠端佇列對相對應。連服務需要一處理用以產生該處理的 一佇列對來與另一處理透過該 SAN光纖相溝通。因此, 如果N個主機處理器節點中的每一個節點包含 P個處理 的話,且在每一節點上的所有 P個處理都想要與在所有 其它節點上的所有節點溝通的話,則每一主機處理器節點 需要P2x(N-l)個佇列對。又,一處理可將一佇列對連接至 在同一主機通道配接器上的另一佇列對。 在第7圖中的分散式電腦系統7 0 0包括一主機處理器 節點 1,一主機處理器節點 2,及一主機處理器節點 3。 主機處理器節點1包括一處理A 7 1 0。主機處理器節點2 包括一處理C 720及一處理D 730。主機處理器節點3包 16 1252651 m 括一處理E 740。
主機處理器節點1包括佇列對4,6及7,每一佇列 對都具有一送出佇列及一接收佇列。主機處理器節點2具 有一佇列對2及5,及主機處理器節點3具有佇列對9。 該分散式電腦系統700的可靠年接(RC)服務將一局部的佇 列對與唯一的遠端佇列對相關聯在一起。因此,佇列對 4 被用來與佇列對2相溝通;佇列對7被用來與佇列對5相 溝通;及佇列對6被用來與佇列對9相溝通。 一可靠的連接(RC)服務因為硬體保持序號且承認所有 的封包傳輸所以是可靠的。硬體及 SAN驅動軟體的組合 重新償試失敗的溝通。佇列對的處理客戶可獲得可靠的溝 通,即使是在有位元錯誤,接收到執行中,與網路阻塞的 訊息時亦然。如果其它的路徑存在於該S AN光纖中的話, 可靠的溝通可被保持,即使是在有光纖開關,鏈,或通道 配接器埠失效時亦然。 此外,回條可被用來將資料可靠地經由 S AN光纖輸 送。回條可以是一處理層級的回條,即,讓消費該資料的 一接收處理有效的回條。 或者,該回條可以只是標示該資料已到達其目的地的 回條。 .第8圖為依據本發明的一封包。在本文中所使用的一 訊息為一應用程式界定的資料交換單元,其為合作處理之 間的一原始的溝通單元。訊息被分割為封包。一封包為被 網路協定頭標及/或尾標(trailer)所包起來的資料單元。該 17 1252651 頭標通常提供控制及路徑資訊用以指引封包通過 SAN。 該尾標通常包含控制及循環的多餘檢查(CRC)資料用來確 保封包不會帶有毀損的内容被傳輸。 一封包為一資訊單元其途經該 S A N光纖。該封包為 一端節點對一端節點的結構,因此是被端節點所消費。對 於以一通道配接器(主機通道配接器或目標通道配接器)為 目的地的封包而言,封包不會被 SAN光纖中的開關或路 由器產生或消費掉。相反地,以一通道配接器為目的地的 封包而言,開關及路由器藉由修改在處理中之不同的鏈頭 標區域來單純地將要求封包或回條封包移動更加靠近最終 的目的地。當封包跨越一子網邊藉時,路由器亦修改封包 的網路頭標。在橫貫一子網時,一單一的封包停留在一單 一的服務層級。 對於可靠的服務種類而言,如該可靠的連接(RC)輸送 服務,端節點,如主機處理器端節點及1/ 〇配接器端節點, 會產生要求封包並回送回條封包。開關及路由器只將封包 從來源傳遞至目的地。除了不同的 C R C尾標區域之外, 其在該網路中的每一階段都被更新,開關只傳遞封包而不 會加以修改。當封包被傳遞時,路由器更新不同的 C R C 尾標區域並修改在標中的其它區域。 一外送的訊息被分成一或多個資料封包。該通道配接 器硬體添加一傳輸頭標及一網路頭標於每一封標上。依據 本發明,該傳輸頭標包括序號,一實例號碼,及其它傳輸 資訊。該網路頭標包括途徑資訊,目的地IP位址及其它 18 1252651 網路途徑資訊。鏈頭標包括包含該目的地局部辨識子 (DLID)或其它局部途徑資訊。適當的鏈頭標一定會被加 至封包上。一適當的全球網路頭標被添加至一給定的封 包,如果該目的地端節點位在一遠端的子網上的話。 如果使用一可靠的傳輸服務的話,當一要求資料封包 到達其目的地端節點時,回條資料封包會被該目的地端節 點用來讓該要求資料封包的發送者知道該要求資料封包已 在目的地被確認並被接受了。回條資料封包確認一或多個 有效且被接受的要求資料封包。要求者在其接收到任何的 回條之前,其可以有多個外送的要求資料封包。在一實施 例中,多個外送訊息(即,要求資料封包)的數目是在一佇 列對被產生時決定的。 封包8 0 0包括一途徑頭標8 0 2,一傳輸頭標8 0 4,一 封包酬載806,及一 CRC 8 0 8。途徑頭標802被用來為封 包酬載 8 0 6指出來源及目的地端節點的通道配接器内的 璋。 傳輸頭標804為封包酬載8 06指明目的地佇列對。序 號區8 1 0是位在傳輸頭標8 04中。在先前技藝中,序號是 由所有包括在序號區8 1 0内的位元來標示的。然而,在本 發明中,一序號及一實例號碼兩者都是由序號區8 1 0内的 所有位元來表示。依據本發明,序號包括一實例號碼部分 8 1 2及一序號部分 8 1 4。因此,本發明的序號隨著每一封 包被上加的序號部分,及在每一邏輯連線期間都保持不變 的之實例號碼部分。 19 1252651 傳輸頭標8 Ο 4亦提供像是操作碼,及封包酬載8 Ο 6的 分割等資訊。CRC 8 0 8是被用來作錯誤檢查的。 操作碼指明該封包是一訊息的第一個,最後一個,中 間的封包,或是該訊息唯一的封包。操作碼亦說明該操作 是一送出RDMA之寫入、讀取或原子(atomic)。 依據本發明,一實例號碼被存放在每一封包的區域 8 1 2中。此實例號碼在一邏 變的。如果一邏輯連線被毁 號碼就會被上加。在此被重 上加的實例號碼會被存放在 中 〇 每次一封包被傳輸時, 第9圖為一南階流程圖 封包中都包括一實例號碼。 則前進至方塊902其顯示一 始執行。接下來,方塊9 0 4 單節點與第二端節點之間。 輯連線被建立時,一在第一 對與在第二端節點中的一送 關連可使用一佇列對表來建 通管理者保存在每一端節點 之後,方塊9 0 6顯示該 是否為第一次建立在該處理 二端節點的特定佇列對之間 輯連線的存在期間都被保持不 壞然後再被重建的話,該實例 新建立的邏輯連線期間5此被 每一被傳輸的封包的區域 8 1 2 該序號部分8 1 4會被上加" ,其顯示出依據本發明在每一 處理在方塊9 0 0處開始,之後 消費者在一處理器端節點中開 顯示建立一邏輯連線於處理器 當介於這兩個端節點之間的邏 端節點中的一送出與接收件列 出與接收佇列對相關連。此相 立,該佇列對表被端節點的溝 中 。 處理器端節點判斷此邏輯連線 器端節點的特定佇列對與該第 。一端節點可使用該佇列對表 20 1252651 來判斷這是否為第一次被建立的邏輯連線。該佇列對 將會顯示是否一邏輯連線已被建立。當一邏輯連線被 時,在兩個端節點中的佇列對會被設在一閒置的狀態 再彼此相關連。在每一端節點中的佇列對表將可反應 佇列對是在閒置的狀態。 如果一邏輯連線已被建立且沒有被毁壞的話,在 端節點中的佇列對會保持者彼此相關連。在每一端節 的佇列對表將會顯示出佇列對仍然彼此相關連。 一端節點可藉由判斷一對佇列對是否已與第二端 中的一佇列對相關聯而使用其佇列對表來判斷一邏輯 是否已經被建立。如果在此端節點中的一佇列對已與 第二端節點中的一佇列對相關連的話,則一邏輯連線 被建立在這兩個端節點之間。如果在此端節點中的一 對並未與在一第二端節點中的一佇列對相關連的話, 邏輯連線即未被建立在這兩個端節點之間。 再次參照方塊 906,如果判斷出其為邏輯連線第 被建立在這兩組特定的佇列對之間的話,則處理會前 方塊 9 0 8,該方塊顯示出每一端節點的邏輯連線管理 換一啟始實例號碼。此啟始實例號碼會成為目前的實 碼且在此邏輯連線仍保持被建立的期間維持固定。 處理然後前進至方塊9 1 0,其顯示邏輯連線管理 換它們的啟始序號。此序號被存放在序號區域的序號 中且不會被保持不變的。此序號會在每次一封包被傳 被上加。另,每一端節點可選擇自己的序號其與其它 表會 毁壞 且不 出該 每一 點内 節點 連線 在一 即已 佇列 則一 一次 進至 者交 例號 者交 部分 輸時 端節 21 1252651 點所選的序號不相關。實例號碼被存放在該序號區域的實 例號碼部分中且只要此邏輯連線仍保持被建立的話其即會 維持不變。 之後,方塊9 1 2顯示介於端節點之間的封包傳輸會讓 存放在每一封包的序號部分内的封包序號被上加。接下 來,方塊9 1 4顯示將目前的實例號碼包括在每一封包内。 在此邏輯連線期間,該實例號碼在每一次封包被傳輸時都 被保持不變。 然後,方塊9 1 6顯示目前的邏輯連線是否已喪失的決 定。如果此決定為目前的此一邏輯連線沒有喪失的話,處 理會回到方塊 9 1 2。在次參照方塊 9 1 6,如果此一決定為 該邏輯連線已喪失的話,則處理會前進至方塊 9 1 8。方塊 9 1 8顯示是否重建一邏輯連線於這兩個佇列對之間的決 定。如果此項決定為不再重建一邏輯連線於這兩個佇列對 之間的話,則該處理會前進至方塊 92 0。再次參照方塊 9 1 8,如果此項決定為要重建一邏輯連線於這兩個佇列對 之間的話,則該處理會前進至方塊9 2 2。方塊9 2 2顯示在 無需任何等待裝態被執行的情形下重建一邏輯連線於這兩 個佇列對之間。 再次參照方塊 9 0 6,如果在此方塊的判斷為此邏輯連 線並非是為了此項服務而第一次被建立在這兩個佇列對之 間的邏輯連線的話,則處理會前進至方塊 9 3 4。方塊 9 3 4 顯示的是決定使用在建立於這兩個特定的佇列對之間的最 後的邏輯連線期間的傳輸上的實例號碼。接下來,方塊9 3 6 22 1252651 顯示的是將最近一次的實例號碼改變為一新的實例號碼。 此新的實例號碼被用作為目前的實例號碼。雖然該實例號 碼將典型地藉由將實例號碼上加來加以改變,但實例號碼 亦可以任何方式來加以改變,如將實例號碼下減 (d e c r e m e n t)。然後,處理回到方塊9 1 0。 第1 0圖為一高階流程圖,其顯示一依據本發明的端 節點,該端節點決定一被加收到的封包是否是在目前的邏 輯連線期間被傳輸的。該處理在方塊 1 0 0 0處開始且之後 前進至方塊 1 002其顯示一端節點接收一包括了一實例碼 的封包。接下來,方塊 1 〇 〇 4顯示該端節點決定目前的實 例號碼。之後,方塊 1 〇 〇 6顯示該端節點將目前的實例號 碼與包括在該被收到的封包内的實例號碼相比較。該處理 然後前進至方塊 1 〇〇8其顯示的是片斷該封包包括的實例 號碼是否為目前的實例號碼。如果該封包確實包括該目前 的實例號碼的話,該處理會前進至方塊 1 〇 1 〇,其顯示該 端節點正常地處理該封包。該處理然後回道方塊 1 0 0 2。 再次參照方塊 1 00 8,如果該封包並沒有包括該目前的實 例號碼的話,則該出理會前進至方塊 1 〇 1 2,其顯示該端 節點會挺棄該封包。該處理然後回到方塊1 〇 0 2。 本發明可被應用在一邏輯連線被毁壞然後被重建的任 何一時間。邏輯連線因為許多不同的理由被毀壞然後再被 重建。許多原因是因為錯誤狀礦被端節點偵測到,這些錯 誤無法藉由單純的重新傳輸封包來解決。例如,格式錯誤 的封包及序號錯誤可將此佇列對置於此錯誤狀態中。 23 1252651 毀壞然後重建一邏輯連線的另一個原因為在光纖 路徑 MTU改變。可在一鏈上傳輸的最大封包酬載的 被稱為最大傳輸單位(MTU)。例如,考慮在該光纖内 單一鏈。如果在該鏈的一側上的封包緩衝器可處理 5 1 2位元組的封包酬載且在該鏈的另一側上的封包緩 可處理高達 1 〇 2 5位元組的封包酬載的話,則可在此 傳輸的最大封包酬載即不可大於5 1 2位元組,亦即鏈 兩侧封包酬載中的較小者。為了簡化起見,封包酬載 亦被用來描述封包的大小。 如果從一端節點到另一端節點的路徑包括任何的 及/或路由器的話,則在該鏈中有多於一條的路徑。 例子中,該 M TU即被稱為路徑 MTU且為在該路徑 所有鏈的最小的 MTU。例如,在該路徑中的一個鏈 5 12位元組的MTU且所有其它的鏈都具有4096位元 M TU的話,則可被傳輸於該路徑上的最大封包只有 位元組。 如果路徑MTU因為過載失效(fail-over)而增加的 該連線必需被用盡(不產生新的要求封.包且所.有懸而 的封包都被承認)或毀壞與重建,才能利用新的且較 路徑 MTU。此情況可藉由運用本發明來加以有效率 理,因為舊的封包等待期間已不再需要了 。該邏輯連 被毀壞並立即重建而無需等待狀態。 很重要的一點是,雖然本發明已依據一完全可作 資料處理系統來加以描述,熟悉此技藝者將可暸解的 中的 大小 的一 高達 衝器 鍵上 的這 大小 開關 在此 中之 具有 組的 5 1 2 話, 未決 大的 地處 線可 用的 是, 24 1252651 本發明的處理可用電腦可讀取的指令媒體的形式及許多 它形式來散佈(distributed),以及不論實際用來執行該 佈的訊號載負媒體的種類為何,本發明都可等效地應用 電腦可讀取的媒體的例子包括可記錄式的媒體,像是軟 片,硬碟機,RAM,CD-ROM,DVD-ROM,及傳輸式 體,像是數位與類比通訊鏈,有線或使用射頻及光波傳 的無線通訊鏈。該電腦可讀取的媒體可以是編碼格式的 式,其在一特定的資料處理系統中被使用時會被解碼。 本發明的說明已為了舉例及說明的目的而被呈現, 並非是要用來將本發明限制在所揭示的形式上。許多的 化及修改對於熟悉此技藝者而言將會是很明顯的。於此 明書中被選取的及說明的實施例是為了要將本發明的原 及特定的應用作最佳的說明,以及讓熟悉此技藝者能夠 解具有不同的修改的不同的實施例亦可應用在特定的用 上。 【圖式簡單說明】 本發明之新穎的特徵及範圍被載述於隨附的申請專 範圍中。然而,本發明本身以及較佳的使用模式,進一 的目的與優點將可在參照著附圖閱讀以下對於舉例性實 例的詳細說明中加以最佳地瞭解,其中: 第1圖顯示兩個依據先前技術的端節點,每一端節 都包括一仵列(queue)對; 第2圖顯示一階梯圖其顯示依據先前技術之重複封 其 散 〇 碟 媒 輸 形 其 變 說 理 瞭 途
利 步 施 點 包 25 1252651 的傳輸情形; 第3圖顯示一階梯圖其顯示依據先前技術之無效封包 的接收情形; 第4圖顯示一依據本發明的資料傳輸系統,其為一以 通道為基礎,開關式光纖架構用來傳輸資料; 第 5圖為依據本發明的一主機(host)處理器節點的功 能性方塊圖;
第6圖為一分離式電腦系統的一部分,其顯示依據本 發明的一舉例的要求與回條交換處理; 第7圖為依據本發明利用一可靠的連線(R C)服務來作 分離式處理之間的溝通的分離式電腦系統的一部分; 第8圖顯示依據本發明的一封包; 第9圖為一高階流程圖,其顯示出依據本發明在每一 封包中都包括一實例號碼;及
第1 0圖為一高階流程圖,其顯示一依據本發明的端 節點,該端節點決定一被加收到的封包是否是在目前的邏 輯連線期間被傳輸的。 【元件代表符號簡單說明】 100 端 /r/r 即 點 A 102 佇 列 對 1 04 送 出 佇 列 106 接 收 佇 列 108 二山 /r/r 即 點 B 110 佇 列 對 1 12 接 收 佇 列 114 送 出 佇 列 116 要 求 118 回 應 26 1252651 120 要 求 122 回 應 200 端 即 點 202 端 節點 204 要 求 封 包 206 回 條 208 要 求 2 10 回 條 300 端 Λ-/Τ 即 點 304 要 求 306 回 條 308 要 求 3 10 要 求 3 12 回 條 3 1 4 要 求 402 資 料處理系統 424 儲 存 區 域 網 路 406 主 機處理器節點 408 主 機 處 理 器 節點 462 RAID次系統
426,428,43 0,432 主機通道配接器 458,460,468 目標通道配接器
4 1 4,4 1 6,452 開關 420 路 由器 434,436 中央處理單元 440 記 憶體 442 匯流排系統 444,446 中央處 理單元 448 記憶體 450 匯 流排系統 4 12 I/O座 452 I/O開關 4 5 4,45 6 I / 0 模組 464 處 理器 466 記憶體 470 儲存碟片單 元 500 主機處理器節點 5 02, 5 04,5 06,5 0 8 消費者 510,512 通道配接器 514,516,518,520 埠 522 動詞界面 524 訊 息及資料 服務 600 分離式電腦系統 602,604 主機處理器節點 606, ,60 8 主機通道配接器 6 10 S A N光纖 27 1252651
612,614 開 關 620, 622 佇 列 624 送 出 佇 列 626 接 收 佇 列 628 送 出 佇 列 630 接 收 佇 列 700 分 離 式 電 腦 系統 7 10 處 理 A 720 處 理 C 730 處 理 D 740 處 理 E 800 封 包 802 途 徑 頭 標 804 輸 送 頭 % 806 封 包 酬 載 8 10 序 號 區 域 812 實 例 號 碼 部 分 814 序 號 部 分
28

Claims (1)

1252651 拾、申請專利範圍 1 . 一種用來在一資料處理系統的一第一端節點與一第二 端節點間管理資料傳輸的方法,該方法至少包含以下 步驟: 在資料於該第一端節點與該第二端節點之間進行傳 輸之前,建立一邏輯連線於這兩個端節點之間; 將一實例號碼與該邏輯連線相關聯;及 當此邏輯連線保持著被建立狀態時,該實例號碼會 被包括在傳輸於該二端節點之間的每一封包(packet) 中,在此邏輯連線期間,該實例號碼都是保持不變的。 2. 如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 重新建立該邏輯連線於該第一及第二端節點之 間; 上加該實例號碼,該經過上加的實例號碼與該被 重建的邏輯連線係彼此相關聯;及 將該經過上加的實例號碼包括在此被重建的邏輯 連線期間的每一被傳輸於該第一及第二端節點之間的 封包中,在此被重建的邏輯連線期間,該經過上加的 實例號碼都是保持不變的。 3. 如申請專利範圍第1項所述之方法,其中建立一邏輯 29 1252651 連線於第一與第二端節點之間的步驟更包含以下的步 驟: 將該第一端節點中的一佇列對與第二端節點中的一 件列對相關聯。
4. 如申請專利範圍第3項所述之方法,其中將該第一端 節點中的一佇列對與第二端節點中的一佇列對相關聯 的步驟更包含以下的步驟: 建立一佇列對表於該第一端節點中;及 將介於該第一端節點中的一佇列對與第二端節點中 的一佇列對之間的一相關聯標示存放在該表中。 5. 如申請專利範圍第4項所述之方法,其更包含以下的 步驟:
利用一特定的邏輯連線將一封包從該第二端節點 傳輸至該第一端節點; 利用該第一端節點接收該封包;及 利用該表來決定該特定的邏輯連線是否是先前被 建立的。 6. 如申請專利範圍第5項所述之方法,其中利用該表來 決定該特定的邏輯連線是否是先前被建立的步驟更包 含以下的步驟: 30 1252651 判斷一介於該第一端節點中的一佇列對與第二端 節點中的一仵列對之間的一相關聯標示是否被存放在 該表中。 7. 如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 將該實例號碼包括在該邏輯連線期間每一被傳輸 於該第一及第二端節點之間的封包的一輸送頭標内。 8. 如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 將該實例號碼包括在該邏輯連線期間每一被傳輸 於該第一及第二端節點之間的封包的一輸送頭標中的 一序號區域内。 9. 如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 將該實例號碼包括在該邏輯連線期間被傳輸於該 第一及第二端節點之間的封包中的每一序號内。 1 0.如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 判斷該邏輯連線是否為該第一與第二端節點之間 31 1252651 的第一個邏輯連線; 當該邏輯連線是第一個邏輯連線時,其回應為: 將一實例號碼與該邏輯連線相關聯; 將該實例號碼包括在該邏輯連線期間被傳輸 於該第一及第二端節點之間的每一封包中,該實 例號碼在此邏輯連線期間都是被保持不變的;及 使用該實例號碼作為目前的實例號碼;及 當該邏輯連線不是第一個邏輯連線時,其回應 為: 將目前的實例號碼上加; 使用該經過上加的實例號碼作為目前的實例 號碼;及 將該經過上加的目前的實例號碼包括在該邏 輯連線期間被傳輸於該第一及第二端節點之間的 每一封包中。 11.如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 丟掉該邏輯連線; 重新建立介於該第一與第二端節點之間的邏輯連 線且在丟掉該邏輯連線與重新建立該邏輯連線之間並 沒有執行等待狀態。 32 1252651 12. 如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 將一封包從該第一端節點傳輸至該第二端節點; 及 將一實例號碼包括在該封包中。 13. 如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 由該第二端節點接收一封包; 利用該第二端節點來辨認包括在該被接收到的封 包中的一實例號碼; 決定一目前的實例號碼; 判斷包括在該被接收到的封包中之實例號碼是否 為該目前的實例號碼; 當在該被接收到的封包中之實例號碼是該目前的 實例號碼時,該第二端節點正常地處理該封包;及 當在該被接收到的封包中之實例號碼不是該目前 的實例號碼時,該第二端節點拋棄該封包。 14. 如申請專利範圍第1項所述之方法,其更包含以下的 步驟: 在建立該邏輯連線之後,由該第一端節點設定一 序號; η η JJ 1252651 在每次將一封包從該第一端節點傳輸至該第二端 節點之後即將該序號上加; 在每次將一封包從該第一端節點傳輸至該第二端 節點之後,將目前的序號設定為該經過上加後的序 號;及 將一目前的序號包括在每一個從該第一端節點被 傳輸到該第二端節點的封包中。
15. —種用來在一資料處理系統的一第一端節點與一第二 端節點間管理資料傳輸的方法,該方法至少包含以下 的步驟: 在將資料於該第一端節點與該第二端節點之間進行 傳輸之前,建立一邏輯連線於這兩個端節點之間;
將一目前的序號包括在每一個從該第一端節點被 傳輸到該第二端節點的封包中,每次將一封包從該第 一端節點傳輸至該第二端節點之後即將該目前的序號 上力口 ; 將一實例號碼與該邏輯連線相關聯;及 將該實例號碼包括在每一序號中,在此邏輯連線期 間,該實例號碼都是保持不變的。 1 6 ·如申請專利範圍第1 5項所述之方法,其更包含以下 的步驟: 34 1252651 着 重新建立該邏輯連線於該第一及第二端節點之 間; 上加該實例號碼,該經過上加的實例號碼與該被 重建的邏輯連線係彼此相關聯;及 將該經過上加的實例號碼包括在每一序號中,在 此被重建的邏輯連線期間,該經過上加的實例號碼都 是保持不變的。
1 7.如申請專利範圍第1 5項所述之方法,其中建立一邏 輯連線於第一與第二端節點之間的步驟更包含以下的 步驟: 將該第一端節點中的一佇列對與第二端節點中的一 佇列對相關聯。
1 8 .如申請專利範圍第1 7項所述之方法,其中將該第一 端節點中的一佇列對與第二端節點中的一佇列對相關 聯的步驟更包含以下的步驟: 建立一佇列對表於該第一端節點中;及 將介於該第一端節點中的一佇列對與第二端節點中 的一仔列對之間一相關聯的標示存放在該表屮a 1 9 ·如申請專利範圍第1 8項所述之方法,其更包含以下 步驟: 35 1252651 利用一特定的邏輯連線將一封包從該第二端節點 傳輸至該第一端節點; 利用該第一端節點接收該封包;及 利用該表來決定該特定的邏輯連線是否是先前被 建立的。 2 0.如申請專利範圍第1 9項所述之方法,其中利用該表 來決定該特定的邏輯連線是否是先前被建立的步驟更 包含以下步驟: 判斷一介於該第一端節點中的一佇列對與第二端 節點中的一佇列對之間的相關聯標示是否被存放在該 表中。 2 1.如申請專利範圍第1 5項所述之方法,其更包含以下 步驟: 判斷該邏輯連線是否為該第一與第二端節點之間 的第一個邏輯連線; 當該邏輯連線是第一個邏輯連線時,其回應為: 將一實例號碼與該邏輯連線相關聯; 將該實例號碼包括在該邏輯連線期間被傳輸於 該第一及第二端節點之間的序號中;及 使用該實例號碼作為目前的實例號碼;及 當該邏輯連線不是第一個邏輯連線時,其回應為: 36 1252651 將目前的實例號碼上加; 使用該經過上加的實例號碼作為目前的實例號 碼;及 將該經過上加的目前的實例號碼包括在該邏輯 連線期間被傳輸於該第一及第二端節點之間的序 號中。
22.如申請專利範圍第1 5項所述之方法,其更包含以下 步驟: 丟掉該邏輯連線; 重新建立介於該第一與第二端節點之間的邏輯連 線且在丟掉該邏輯連線與重新建立該邏輯連線之間並 沒有執行等待狀態。
2 3.如申請專利範圍第1 5項所述之方法,其更包含以下 的步驟: 由該第二端節點接收一封包; 利用該第二端節點來辨認包括在該被接收到的封 包中的一實例號碼; 決定一目前的實例號碼; 判斷包括在該被接收到的封包中之實例號碼是否 為該目前的實例號碼; 當包括在該被接收到的封包中之實例號碼是該目 37 1252651 前的實例號碼時,該第二端節點正常地處理該封包; 及 當包括在該被接收到的封包中之實例號碼不是該 目前的實例號碼時,該第二端節點拋棄該封包。 2 4. —種用來在一資料處理系統的一第一端節點與一第二 端節點間管理資料傳輸的系統,該系統至少包含: 於該第一端節點與該第二端節點之間進行將資料傳 輸之前,建立一邏輯連線於這兩個端節點之間的機構; 將一實例號碼與該邏輯連線相關聯的機構;及 當此邏輯連線保持著被建立時,將該實例號碼包括 在傳輸於該二端節點之間的每一封包(Ρ μ k c t)屮的機 構,在此邏輯連線期間,該實例號碼都是保持不變的u 25.如申請專利範圍第24項所述之系統,其更包含: 重新建立該邏輯連線於該第一及第二端節點之間 的機構; 將該實例號碼上加(i n c r e m e n t i n g)的機構,該經過 上加的實例號碼係與該被重建的邏輯連線相關聯;及 將該經過上加的實例號碼包括在此被重建的邏輯 連線期間的每一被傳輸於該第一及第二端節點之間的 封包中的機構,該經過上加的實例號碼在此被重建的 邏輯連線期間都是保持不變的。 38 1252651 26.如申請專利範圍第24項所述之系統,其中建立一邏輯 連線於這兩個端節點之間的機構更包含: 將該第一端節點中的一佇列對與第二端節點中的一 佇列對相關聯的機構。
2 7.如申請專利範圍第2 6項所述之系統,其中將一實例號 碼與該邏輯連線相關聯的機構更包含: 建立一佇列對表於該第一端節點中的機構;及 將介於該第一端節點中的一佇列對與第二端節點中 的一仔列對之間的一相關聯標示存放在該表中的機 構。 2 8.如申請專利範圍第2 7項所述之系統,其更包含:
利用一特定的邏輯連線將一封包從該第二端節點 傳輸至該第一端節點的機構; 利用該第一端節點接收該封包的機構;及 利用該表來決定該特定的邏輯連線是否是先前被 建立的機構。 2 9.如申請專利範圍第2 8項所述之系統,其中利用該表 來決定該特定的邏輯連線是否是先前被建立的機構更 包含= 39 1252651 判斷一介於該第一端節點中的一佇列對與第二端 節點中的一佇列對之間的相關聯標示是否被存放在該 表中的機構。 3 0.如申請專利範圍第24項所述之系統,其更包含:
將該實例號碼包括在該邏輯連線期間每一被傳輸 於該第一及第二端節點之間的封包的一輸送頭標内的 機構。 3 1.如申請專利範圍第2 4項所述之系統,其更包含: 將該實例號碼包括在該邏輯連線期間每一被傳輸 於該第一及第二端節點之間的封包的一輸送頭標中的 一序號區域内的機構。 32.如申請專利範圍第24項所述之系統,其更包含:
將該實例號碼包括在該邏輯連線期間被傳輸於該 第一及第二端節點之間的封包中的每一序號内的機 構。 3 3.如申請專利範圍第24項所述之系統,其更包含: 判斷該邏輯連線是否為該第一與第二端節點之間 的τ第一個邏輯連線的機構; 為回應當該邏輯連線是第一個邏輯連線之決定, 40 1252651 具有: 將一實例號碼與該邏輯連線相關聯的機構; 將該實例號碼包括在該邏輯連線期間被傳輸於 該第一及第二端節點之間的每一封包中的機構, 該實例號碼在此邏輯連線期間都是被保持不變 的;及
使用該實例號碼作為目前的實例號碼的機構, 以作為回應;及 為回應當該邏輯連線是第一個邏輯連線之決定, 具有: 將目前的實例號碼上加的機構; 使用該經過上加的實例號碼作為目前的實例號 碼的機構;及
將該經過上加的實例號碼包括在該邏輯連線期 間被傳輸於該第一及第二端節點之間的每一封包 中的機構,以作為回應。 34.如申請專利範圍第24項所述之系統,其更包含: 丟掉該邏輯連線的機構; 重新建立介於該第一與第二端節點之間的邏輯連 線且在丟掉該邏輯連線與重新建立該邏輯連線之間並 沒有執行等待狀態的機構。 41 1252651 35.如申請專利範圍第24項所述之系統,其更包含: 將一封包從該第一端節點傳輸至該第二端節點的 機構;及 將一實例號碼包括在該封包中的機構。 3 6.如申請專利範圍第2 4項所述之系統,其更包含: 讓一封包被該第二端節點接收的機構; 利用該第二端節點來辨認包括在該被接收到的封 包中的一實例號碼的機構; 決定一目前的實例號碼的機構; 判斷包括在該被接收到的封包中之實例號碼是否 為該目前的實例號碼的機構; 當在該被接收到的封包中之實例號碼是該目前的 實例號碼時,讓該第二端節點正常地處理該封包的機 構;及 當在該被接收到的封包中之實例號碼不是該目前 的實例號碼時,讓該第二端節點拋棄該封包的機構。 37.如申請專利範圍第24項所述之系統,其更包含: 在建立該邏輯連線之後,由該第一端節點設定一 序號的機構; 在每次將一封包從該第一端節點傳輸至該第二端 節點之後將該序號上加的機構; 42 1252651 % 在每次將一封包從該第一端節點傳輸至該第二端 節點之後,將目前的序號設定為該經過上加後的序號 的機構;及 將一目前的序號包括在每一個從該第一端節點被 傳輸到該第二端節點的封包中的機構。
3 8 . —種用來在一資料處理系統的一第一端節點與一第二 端節點間管理資料傳輸的系統,該系統至少包含: 於該第一端節點與該第二端節點之間進行傳輸之 前,建立一邏輯連線於這兩個端節點之間的機構; 將一目前的序號包括在每一個從該第一端節點被 傳輸到該第二端節點的封包中的機構,每次將一封包 從該第一端節點傳輸至該第二端節點之後即將該目前 的序號上加;
將一實例號碼與該邏輯連線相關聯的機構;及 將該實例號碼包括在每一序號中的機構,在此邏輯 連線期間該實例號碼都是保持不變的。 3 9.如申請專利範圍第3 8項所述之系統,其更包含: 重新建立該邏輯連線於該第一及第二端節點之間 的機構, 將該實例號碼上加的機構,該經過上加的實例號 碼與該被重建的邏輯連線相關聯在一起;及 43 1252651 將該經過上加的實例號碼包括在每一序號中的機 構,該經過上加的實例號碼在此被重建的邏輯連線期 間都是被保持不變的。 40.如申請專利範圍第3 8項所述之系統,其中建立一邏輯 連線於第一端節點與第二端節點之間的機構更包含:
將該第一端節點中的一佇列對與第二端節點中的一 仵列對相關聯的機構。 4 1 . 如申請專利範圍第40項所述之系統,其中將該第一端 節點中的一佇列對與第二端節點中的一佇列對相關聯 的機構更包含: 建立一佇列對表於該第一端節點中的機構;及 將介於該第一端節點中的一佇列對與第二端節點屮 的一佇列對之間的相關聯標示存放在該表中的機構°
42.如申請專利範圍第41項所述之系統,其更包含: 利用一特定的邏輯連線將一封包從該第二端節點 傳輸至該第一端節點的機構; 利用該第一端節點接收該封包的機構;及 利用該表來決定該特定的邏輯連線是否是先前被 建立的機構。 44 1252651 43.如申請專利範圍第 42項所述之系統,其中利用該表 來決定該特定的邏輯連線是否是先前被建立的機構更 包含: 判斷一介於該第一端節點中的一佇列對與第二端 節點中的一佇列對之間的相關聯標示是否被存放在該 表中的機構。
44.如申請專利範圍第3 8項所述之系統,其更包含: 判斷該邏輯連線是否為該第一與第二端節點之間 的第一個邏輯連線的機構; 為回應當該邏輯連線是第一個邏輯連線的決定 時,具有:
將一實例號碼與該邏輯連線相關聯的機構; 將該實例號碼包括在該邏輯連線期間被傳輸於 該第一及第二端節點之間的序號中的機構;及 使用該實例號碼作為目前的實例號碼的機構; 及 為回應當該邏輯連線不是第一個邏輯連線的決定 時,具有: 將目前的實例號碼上加的機構; 使用該經過上加的實例號碼作為目前的實例號 碼的機構;及 將該經過上加的目前的實例號碼包括在該邏輯 45 1252651 連線期間被傳輸於該第一及第二端節點之間的序 號中的機構。 45.如申請專利範圍第3 8項所述之系統,其更包含: 丟掉該邏輯連線的機構;
重新建立介於該第一與第二端節點之間的邏輯連 線且在丟掉該邏輯連線與重新建立該邏輯連線之間並 沒有執行等待狀態的機構。 46.如申請專利範圍第3 8項所述之系統,其更包含: 讓一封包被該第二端節點接收的機構; 利用該第二端節點來辨認包括在該被接收到的封 包中的一實例號碼的機構; 決定一目前的實例號碼的機構;
判斷包括在該被接收到的封包中之實例號碼是否 為該目前的實例號碼的機構; 當包括在該被接收到的封包中之實例號碼是該目 前的實例號碼時,讓該第二端節點正常地處理該封包 的機構;及 當包括在該被接收到的封包中之實例號碼不是該 目前的實例號碼時,讓該第二端節點拋棄該封包的機 構0 46
TW092109266A 2002-04-25 2003-04-21 System, method, and product for managing data transfers in a network TWI252651B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/132,456 US7149220B2 (en) 2002-04-25 2002-04-25 System, method, and product for managing data transfers in a network

Publications (2)

Publication Number Publication Date
TW200306719A TW200306719A (en) 2003-11-16
TWI252651B true TWI252651B (en) 2006-04-01

Family

ID=29248774

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092109266A TWI252651B (en) 2002-04-25 2003-04-21 System, method, and product for managing data transfers in a network

Country Status (13)

Country Link
US (1) US7149220B2 (zh)
EP (1) EP1499984B1 (zh)
JP (1) JP4099170B2 (zh)
KR (1) KR100651571B1 (zh)
CN (1) CN1633647B (zh)
AT (1) ATE314691T1 (zh)
AU (1) AU2003214470A1 (zh)
CA (1) CA2483197C (zh)
DE (1) DE60303026T2 (zh)
IL (1) IL164724A0 (zh)
MX (1) MXPA04010437A (zh)
TW (1) TWI252651B (zh)
WO (1) WO2003091888A2 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1346513B1 (en) 2000-08-30 2010-10-20 Tmt Coaxial Networks Inc. A home network system and method
US9094226B2 (en) 2000-08-30 2015-07-28 Broadcom Corporation Home network system and method
US8724485B2 (en) 2000-08-30 2014-05-13 Broadcom Corporation Home network system and method
US7430623B2 (en) * 2003-02-08 2008-09-30 Hewlett-Packard Development Company, L.P. System and method for buffering data received from a network
US7673070B1 (en) * 2003-03-17 2010-03-02 Network Equipment Technologies, Inc. Method of sharing telecommunications node equipment facilities
US7620693B1 (en) * 2004-03-29 2009-11-17 Sun Microsystems, Inc. System and method for tracking infiniband RDMA read responses
US8055818B2 (en) * 2004-08-30 2011-11-08 International Business Machines Corporation Low latency queue pairs for I/O adapters
CN100442256C (zh) * 2004-11-10 2008-12-10 国际商业机器公司 提供用于i/o适配器的队列对的方法、系统和存储介质
US20060259570A1 (en) * 2005-05-13 2006-11-16 Microsoft Corporation Method and system for closing an RDMA connection
US7761619B2 (en) * 2005-05-13 2010-07-20 Microsoft Corporation Method and system for parallelizing completion event processing
US20070011287A1 (en) * 2005-05-16 2007-01-11 Charbel Khawand Systems and methods for seamless handover in a streaming data application
US7742495B2 (en) 2006-11-20 2010-06-22 Broadcom Corporation System and method for retransmitting packets over a network of communication channels
US8090043B2 (en) 2006-11-20 2012-01-03 Broadcom Corporation Apparatus and methods for compensating for signal imbalance in a receiver
US7782850B2 (en) 2006-11-20 2010-08-24 Broadcom Corporation MAC to PHY interface apparatus and methods for transmission of packets through a communications network
US8345553B2 (en) * 2007-05-31 2013-01-01 Broadcom Corporation Apparatus and methods for reduction of transmission delay in a communication network
US9112717B2 (en) 2008-07-31 2015-08-18 Broadcom Corporation Systems and methods for providing a MoCA power management strategy
US20100097931A1 (en) * 2008-10-21 2010-04-22 Shakeel Mustafa Management of packet flow in a network
US8213309B2 (en) 2008-12-22 2012-07-03 Broadcom Corporation Systems and methods for reducing latency and reservation request overhead in a communications network
US8254413B2 (en) 2008-12-22 2012-08-28 Broadcom Corporation Systems and methods for physical layer (“PHY”) concatenation in a multimedia over coax alliance network
US8238227B2 (en) 2008-12-22 2012-08-07 Broadcom Corporation Systems and methods for providing a MoCA improved performance for short burst packets
US8553547B2 (en) 2009-03-30 2013-10-08 Broadcom Corporation Systems and methods for retransmitting packets over a network of communication channels
US20100254278A1 (en) 2009-04-07 2010-10-07 Broadcom Corporation Assessment in an information network
US8730798B2 (en) 2009-05-05 2014-05-20 Broadcom Corporation Transmitter channel throughput in an information network
US8867355B2 (en) 2009-07-14 2014-10-21 Broadcom Corporation MoCA multicast handling
US8942250B2 (en) 2009-10-07 2015-01-27 Broadcom Corporation Systems and methods for providing service (“SRV”) node selection
US8611327B2 (en) 2010-02-22 2013-12-17 Broadcom Corporation Method and apparatus for policing a QoS flow in a MoCA 2.0 network
US8514860B2 (en) 2010-02-23 2013-08-20 Broadcom Corporation Systems and methods for implementing a high throughput mode for a MoCA device
JP2015216450A (ja) 2014-05-08 2015-12-03 富士通株式会社 情報処理装置、情報処理システム及び中継プログラム
US10498654B2 (en) 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design
CN110719294B (zh) * 2015-12-29 2021-06-01 亚马逊技术股份有限公司 网络技术
US10148570B2 (en) 2015-12-29 2018-12-04 Amazon Technologies, Inc. Connectionless reliable transport
US9985903B2 (en) 2015-12-29 2018-05-29 Amazon Technologies, Inc. Reliable, out-of-order receipt of packets
US9985904B2 (en) 2015-12-29 2018-05-29 Amazon Technolgies, Inc. Reliable, out-of-order transmission of packets

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3032419B2 (ja) * 1993-02-17 2000-04-17 三菱電機株式会社 データ転送方法
JPH0746287A (ja) * 1993-06-29 1995-02-14 Toshiba Corp オンラインシステム
BR9707253A (pt) 1996-01-31 1999-06-01 Ipsilon Networks Inc Processos de transmitir pacetes entre um nó a montante e um nó a jusante em uma rede e de comutar um fluxo em um primeiro nó produto de programa de computador unídade de comutação básica em um sistema para transmitir pacotes em uma rede unidade de porta de comutador e agente de comutação
US5857188A (en) * 1996-04-29 1999-01-05 Ncr Corporation Management of client requests in a client-server environment
JPH10177548A (ja) * 1996-12-18 1998-06-30 Casio Comput Co Ltd セッション管理システム
JP3088683B2 (ja) * 1997-05-29 2000-09-18 三菱電機株式会社 データ通信システム
JP3608905B2 (ja) * 1997-05-29 2005-01-12 三菱電機株式会社 データ通信システム及びデータ通信方法
US6545981B1 (en) * 1998-01-07 2003-04-08 Compaq Computer Corporation System and method for implementing error detection and recovery in a system area network
US6493343B1 (en) 1998-01-07 2002-12-10 Compaq Information Technologies Group System and method for implementing multi-pathing data transfers in a system area network
US6798742B1 (en) * 1998-01-16 2004-09-28 Paradyne Corporation System and method for the measurement of service quality in a communication network
JP2000156707A (ja) * 1998-11-19 2000-06-06 Nec Corp パケット交換局及びパケット交換ネットワークシステム
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
US6483804B1 (en) 1999-03-01 2002-11-19 Sun Microsystems, Inc. Method and apparatus for dynamic packet batching with a high performance network interface
JP2000347965A (ja) * 1999-06-07 2000-12-15 Toshiba Corp モバイル通信システム、及びモバイル通信方法
JP2001057583A (ja) * 1999-08-17 2001-02-27 Mitsubishi Electric Corp データ転送制御方法およびデータ転送制御装置

Also Published As

Publication number Publication date
IL164724A0 (en) 2005-12-18
TW200306719A (en) 2003-11-16
US20030202519A1 (en) 2003-10-30
DE60303026D1 (de) 2006-02-02
CA2483197C (en) 2010-07-13
WO2003091888A2 (en) 2003-11-06
WO2003091888A3 (en) 2004-03-04
DE60303026T2 (de) 2006-07-27
CA2483197A1 (en) 2003-11-06
MXPA04010437A (es) 2004-12-13
AU2003214470A1 (en) 2003-11-10
JP4099170B2 (ja) 2008-06-11
KR100651571B1 (ko) 2006-11-29
US7149220B2 (en) 2006-12-12
CN1633647B (zh) 2010-09-08
CN1633647A (zh) 2005-06-29
ATE314691T1 (de) 2006-01-15
EP1499984A2 (en) 2005-01-26
KR20040105224A (ko) 2004-12-14
AU2003214470A8 (en) 2003-11-10
EP1499984B1 (en) 2005-12-28
JP2005524264A (ja) 2005-08-11

Similar Documents

Publication Publication Date Title
TWI252651B (en) System, method, and product for managing data transfers in a network
US7640364B2 (en) Port aggregation for network connections that are offloaded to network interface devices
US7876751B2 (en) Reliable link layer packet retry
US7165110B2 (en) System and method for simultaneously establishing multiple connections
US9294569B2 (en) Cell fabric hardware acceleration
US8396981B1 (en) Gateway for connecting storage clients and storage servers
JPH10326261A (ja) 分散コンピュータ・システムのハードウェア要素によりエラーを報告するシステム
US11722585B2 (en) Reliable communications using a point to point protocol
US6980551B2 (en) Full transmission control protocol off-load
US20230421451A1 (en) Method and system for facilitating high availability in a multi-fabric system
JP2002305535A (ja) データを転送する信頼できるプロトコルを提供する方法および装置
JP2004171206A (ja) ストレージシステム
JP2005527898A (ja) チャネル・アダプタ障害に対する冗長性を提供する方法
US8150996B2 (en) Method and apparatus for handling flow control for a data transfer
WO2022259452A1 (ja) 中間装置、通信方法、およびプログラム
US6904545B1 (en) Fault tolerant computing node having multiple host channel adapters
US20150312162A1 (en) Handling large frames in a virtualized fibre channel over ethernet (fcoe) data forwarder
US20230130964A1 (en) Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees