IP Library Granted Patent US 11,095,698
Granted Patent B2
US 11,095,698 · App. 16/519,261 · Granted Aug 17, 2021

Techniques for processing management messages using multiple streams

Inventors: Leonid Ravich (Raanana, IL); Eyal Ben Ner (Hod Hasharon, IL)
Assignee: EMC IP Holding Company LLC
H04L65/4069H04L69/16H04L12/2854
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,095,698
App. No.
16/519,261
Granted
Aug 17, 2021
Kind
B2
Abstract

Techniques for processing messages may include: establishing a plurality of streams between a source system and a target system; reserving one or more streams of the plurality of streams, wherein the one or more streams are reserved and used in transmitting only management messages, wherein the one or more streams includes a first stream of the plurality of streams; transmitting a first management message over the first stream from the source system to the target system; and transmitting a first data message over a second of the plurality of streams, wherein the second stream is not included in the one or more streams reserved for use in transmitting only management messages.

Claims (41)

1. A method of processing messages comprising:

establishing a plurality of streams between a source system and a target system; and

reserving M of the plurality of streams for use in transmitting only management messages, wherein M is at least two and wherein said reserving includes:

reserving M sockets on the source system, wherein the M sockets on the source system are reserved for use only with management messages; and

reserving M sockets on the target system, wherein the M sockets on the target system are reserved for use only with management messages, wherein each of the M sockets on the source system is associated with a different one of M kernel queues on the source system, and wherein the method further includes:

placing each of a plurality of management messages from a management message queue in user space of the source system into a different one of the M kernel queues of the source system;

transmitting each of the plurality of management messages in the different one of the M kernel queues from the source system to the target system over a different one of the M streams reserved for management messages, wherein the different one of the M streams includes a corresponding one of the M sockets of the source system associated with the different one of the M kernel queues of the source system, and wherein the different one of the M streams includes one of the M sockets reserved on the target system; and

transmitting a first data message over a first of the plurality of streams, wherein the first stream is not included in the M streams reserved for use in transmitting only management messages and wherein the first stream is used in transmitting only non-management messages.

2. The method of claim 1 , wherein the M streams reserved for use in transmitting only management messages includes a second stream, wherein the second stream includes a first socket of the M sockets reserved on the source system and a second socket of the M sockets reserved on the target system, and the method further comprises:

transmitting a first management message over the second stream from the source system to the target system, wherein the first management message is sent from the first socket reserved on the source system to the second socket reserved on the target system.

3. The method of claim 2 , further comprising:

sending a response to the first management message from the target system to the source system.

4. The method of claim 3 , wherein the response to first management message is sent to the first socket reserved on the source system that sent the first management message.

5. The method of claim 3 , wherein the response to the first management message is sent to a third of the M sockets on the source system, wherein the first socket reserved on the source system reserved is different from the third socket reserved on the source system.

6. The method of claim 2 , wherein the source system is a source data storage system and the target system is a target data storage system.

7. The method of claim 6 , wherein the first management message and the first data message are transmitted from the source data storage system to the target data storage system in connection with performing a replication storage service on the source data storage system.

8. The method of claim 7 , wherein the first management message is sent over a control or management path including the first stream.

9. The method of claim 8 , wherein the first data message is sent over a data or I/O path including the second stream.

10. The method of claim 1 , wherein the plurality of streams are over a wide area network.

11. The method of claim 1 , wherein the plurality of streams are included in a same established connection in accordance with a transmission control protocol (TCP).

12. The method of claim 1 , wherein said establishing further comprises:

sending first information from the source system to the target system identifying the M sockets of the source system reserved for processing only management messages; and

sending second information from the target system to the source system identifying the M sockets of the target system reserved for processing only management messages.

13. A system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method of processing messages comprising:

establishing a plurality of streams between a source system and a target system; and

reserving M of the plurality of streams for use in transmitting only management messages, wherein M is at least two and wherein said reserving includes:

reserving M sockets on the source system, wherein the M sockets on the source system are reserved for use only with management messages; and

reserving M sockets on the target system, wherein the M sockets on the target system are reserved for use only with management messages, wherein each of the M sockets on the source system is associated with a different one of M kernel queues on the source system, and wherein the method further includes:

placing each of a plurality of management messages from a management message queue in user space of the source system into a different one of the M kernel queues of the source system;

transmitting each of the plurality of management messages in the different one of the M kernel queues from the source system to the target system over a different one of the M streams reserved for management messages, wherein the different one of the M streams includes a corresponding one of the M sockets of the source system associated with the different one of the M kernel queues of the source system, and wherein the different one of the M streams includes one of the M sockets reserved on the target system; and

transmitting a first data message over a first of the plurality of streams, wherein the first stream is not included in the M streams reserved for use in transmitting only management messages and wherein the first stream is used in transmitting only non-management messages.

14. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of processing messages comprising:

establishing a plurality of streams between a source system and a target system; and

reserving M of the plurality of streams for use in transmitting only management messages, wherein M is at least two and wherein said reserving includes:

reserving M sockets on the source system, wherein the M sockets on the source system are reserved for use only with management messages; and

reserving M sockets on the target system, wherein the M sockets on the target system are reserved for use only with management messages, wherein each of the M sockets on the source system is associated with a different one of M kernel queues on the source system, and wherein the method further includes:

placing each of a plurality of management messages from a management message queue in user space of the source system into a different one of the M kernel queues of the source system;

transmitting each of the plurality of management messages in the different one of the M kernel queues from the source system to the target system over a different one of the M streams reserved for management messages, wherein the different one of the M streams includes a corresponding one of the M sockets of the source system associated with the different one of the M kernel queues of the source system, and wherein the different one of the M streams includes one of the M sockets reserved on the target system; and

transmitting a first data message over a first of the plurality of streams, wherein the first stream is not included in the M streams reserved for use in transmitting only management messages and wherein the first stream is used in transmitting only non-management messages.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2019
From: RAVICH, LEONID; BEN NER, EYAL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049831/0556 →