IP Library Granted Patent US 9,501,447
Granted Patent B2
US 9,501,447 · App. 14/107,913 · Granted Nov 22, 2016

Secure handle for intra- and inter-processor communications

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 9,501,447
App. No.
14/107,913
Granted
Nov 22, 2016
Kind
B2
Abstract

A protocol element referred to as a secure handle is described which provides an efficient and reliable method for application-to-application signaling in multi-process and multi-computer environments. The secure handle includes an absolute memory reference which allows the kernel to more quickly and efficiently associate a network data packet with an application's communication context in the kernel.

Claims (27)

1. A computer-implemented method to enable communication of data from a kernel of an operating system to a client, comprising:

providing a context object that includes the data to be accessible to the client;

providing the kernel with a secure object handle, the secure object handle including an actual address of the context object and being particular to the context object;

sending, by the kernel, the secure object handle to the client over a bidirectional interface;

receiving, by the kernel, the secure object handle from the client over the bidirectional interface, indicating that the client requires access to the data in the context object, and

checking an integrity of the secure object handle in the kernel and allowing access to the data by the client in response to the integrity check being successful.

2. The method of claim 1 , wherein the context object includes a unique allocation stamp and wherein the secure object handle includes a field configured to store a value of the allocation stamp.

3. The method of claim 2 , wherein the checking the integrity of the secure object handle includes disallowing access to the data by the client in response to the value of the allocation stamp in the secure object handle received from the client not matching the unique allocation stamp in the context object.

4. The method of claim 2 , further comprising making the data unavailable to the client by changing the unique allocation stamp.

5. The method of claim 1 , in response to a successful integrity check, accessing, by the client, the data at the address of the context object in the received secure object handle.

6. The method of claim 1 , wherein the checking the integrity of the secure object handle comprises at least one Boolean Exclusive OR (XOR) operation.

7. The method of claim 1 , wherein the checking the integrity of the secure object handle comprises a Cyclic Redundancy Check (CRC).

8. The method of claim 1 , wherein only the kernel carries out the checking the integrity of the secure object handle.

9. The method of claim 1 , wherein the secure object handle includes a signature and wherein checking the integrity of the secure object handle includes verifying an integrity of the signature.

10. The method of claim 9 , further comprising generating a signature of the secure object handle as a predetermined function of a value of the unique allocation stamp and the address of the context object.

11. The method of claim 9 , wherein the providing the kernel with the secure object handle comprises incorporating at least the address of the context object and the signature in a header of a packet configured according to a predetermined communication protocol.

12. The method of claim 11 , wherein the predetermined communication protocol includes a connection-oriented protocol.

13. The method of claim 11 , wherein the predetermined communication protocol includes TCP.

14. The method of claim 9 , wherein checking the integrity of the secure object handle further includes:

computing, by the kernel, a temporary variable,

comparing the computed temporary variable to the signature in the secure object handle received from the client, and

disallowing access to the data by the client in response to the computed temporary variable not matching the signature.

15. A non-transitory computer-readable medium storing executable instructions to enable communication of data from a kernel of an operating system to a client that, in response to being executed, cause a computer to perform operations comprising:

providing a context object that includes the data to be accessible to the client;

providing the kernel with a secure object handle, the secure object handle including an actual address of the context object and being particular to the context object;

sending, by the kernel, the secure object handle to the client over a bidirectional interface;

receiving, by the kernel, the secure object handle from the client over the bidirectional interface, indicating that the client requires access to the data in the context object, and checking an integrity of the secure object handle in the kernel and allowing access to the data by the client in response to the integrity check being successful.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: III HOLDINGS 3, LLC
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 048167/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2018
From: III HOLDINGS 1, LLC
To: III HOLDINGS 3, LLC
Reel/Frame 046274/0626 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2014
From: HUANG, KAIYUAN; KEMP, MICHAEL F.; MUNTER, ERNST
To: LIQUID COMPUTING CORPORATION
Reel/Frame 032253/0946 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2014
From: UNISTAR TECHNOLOGIES, LLC
To: III HOLDINGS 1, LLC
Reel/Frame 032159/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2013
From: LIQUID COMPUTING CORPORATION
To: UNISTAR TECHNOLOGIES, LLC
Reel/Frame 031792/0442 →