IP Library › Granted Patent US 10,348,867
Granted Patent B1
US 10,348,867 · App. 14/870,984 · Granted Jul 9, 2019

Enhanced protocol socket domain

Inventor: John Gemignani, Jr. (Bremerton, WA)
Assignee: EMC IP HOLDING COMPANY LLC
H04L69/162H04L67/34
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 10,348,867
App. No.
14/870,984
Granted
Jul 9, 2019
Kind
B1
Abstract

An enhanced address domain is presented herein. A system can comprise a processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising: creating an upper-layer socket of an enhanced address domain; allocating a protocol control block (PCB) and associating the PCB with the upper-layer socket—the PCB storing information representing a private state of the upper-layer socket; creating a lower-layer socket of an existing address domain—the lower-layer socket referenced from the upper-layer socket using the PCB; and installing upcall(s) on the lower-layer socket to be intercepted via the enhanced address domain. In an aspect, the upper-layer socket supports enhancement(s) to the existing address domain and a socket type of the lower-layer socket.

Claims (49)

1. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:

creating an upper-layer socket of an enhanced address domain;

creating a lower-layer socket of an existing address domain;

allocating a protocol control block in the memory that stores information representing an address of the lower-layer socket and a first state of the upper-layer socket with respect to a first use of the upper-layer socket;

installing one or more upcalls on the lower-layer socket to be intercepted via the enhanced address domain, wherein the one or more upcalls correspond to a second use of the lower-layer socket; and

in response to determining that an upcall of the one or more upcalls has been intercepted, updating the upper-layer socket with a second state of the lower-layer socket, wherein the second state of the lower-layer socket has been stored in a control page that is accessible from a user space comprising a user-mode portion of the memory, and wherein the control page is accessible from a kernel space comprising a protected area of the memory.

2. The system of claim 1 , wherein the creating of the upper-layer socket comprises creating the upper-layer socket via a socket system call or a kernel socket application programming interface.

3. The system of claim 1 , wherein the creating of the lower-layer socket comprises creating the lower-layer socket via a kernel socket application programming interface.

4. The system of claim 1 , wherein the lower-layer socket is accessible from the upper-layer socket.

5. The system of claim 1 , wherein the upper-layer socket is programmable via a socket system call or a kernel socket application programming interface.

6. The system of claim 1 , wherein the existing address domain comprises at least one of an AF_INET address domain or an AF_INET6 address domain.

7. The system of claim 1 , wherein the upper-layer socket supports one or more enhancements to the existing address domain and a socket type of the lower-layer socket.

8. The system of claim 7 , wherein the one or more enhancements comprise maintaining the control page comprising:

allocating the control page from the user-mode portion of the memory; and

associating the control page with the upper-layer socket.

9. The system of claim 7 , wherein the one or more enhancements comprise maintaining the control page, wherein the control page comprises a collection of state information and other information, wherein the state information and the other information correspond to the upper-layer socket and the lower-layer socket, and wherein the state information comprises the first state and the second state.

10. The system of claim 1 , wherein the operations further comprise:

modifying, from the enhanced address domain, the control page with information representing respective states and other related information of the upper-layer socket and the lower-layer socket, and wherein the respective states comprise the first state of the upper-layer socket and the second state of the lower-layer socket.

11. The system of claim 10 , wherein the operations further comprise:

obtaining, from a user-mode portion of the memory, the respective states or the other related information from the control page.

12. A method, comprising:

generating, by a system comprising a processor, a first socket of an enhanced address domain and a second socket of an existing address domain;

generating, by the system, a protocol control block (PCB) from a memory;

storing, by the system in the PCB, information representing an address of the second socket and a first state corresponding to a first utilization of the first socket;

installing, by the system, at least one upcall on the second socket to be intercepted via the enhanced address domain in response to a second utilization of the second socket; and

in response to intercepting an upcall of the at least one upcall, modifying the first socket based on a second state of the second socket, wherein the second state has been stored in a control page that is accessible from a user space comprising a user-mode portion of the memory, and wherein the control page is accessible from a kernel space comprising a protected area of the memory.

13. The method of claim 12 , wherein the generating the first socket comprises generating the first socket utilizing a socket system call or a kernel socket application programming interface.

14. The method of claim 12 , wherein the generating the second socket comprises generating the second socket utilizing a kernel socket application programming interface.

15. The method of claim 12 , wherein the operations further comprise:

controlling, by the system, features of the first socket utilizing at least one of a socket system call or a kernel socket application programming interface.

16. The method of claim 12 , wherein the operations further comprise:

creating, by the system using the first socket, at least one enhancement over the existing address domain.

17. The method of claim 16 , wherein the creating of the at least one enhancement comprises:

assigning the control page from the user-mode portion of the memory; and

associating the first socket with the control page.

18. A computer-readable storage medium comprising instructions that,

in response to execution, cause a computing system comprising a processor to perform operations, comprising:

generating an upper-layer socket of an enhanced address domain;

generating a lower-layer socket of an existing address domain;

allocating a protocol control block (PCB) from memory;

storing, in the PCB, information representing an address of the lower-layer socket and a private state of the upper-layer socket with respect to a use of the upper-layer socket; and

installing one or more upcalls on the lower-layer socket to be intercepted via the enhanced address domain, wherein an interception of an upcall of the one or more upcalls comprises updating the upper-layer socket as a function of a state of the lower-layer socket that has been stored in a control page that has been allocated from a user-mode portion of the memory, wherein the state of the lower-layer socket is accessible from the user-mode portion of the memory, and wherein the state of the lower-layer socket is accessible from a kernel space comprising a protected area of the memory.

19. The computer-readable storage medium of claim 18 , wherein the operations further comprise:

allocating the control page from the user-mode portion of the memory; and

associating the control page with the upper-layer socket.

20. The computer-readable storage medium of claim 19 , wherein the operations further comprise:

modifying, from the enhanced address domain, the control page with information representing respective states and other related information of the upper-layer socket and the lower-layer socket, and wherein the respective states comprise the state of the lower-layer socket.

Assignments (10)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2015
From: GEMIGNANI, JOHN, JR.
To: EMC CORPORATION
Reel/Frame 036695/0313 →
Cited By (3)
US 12,248,560 US 12,585,512 US 12,717,671