IP Library › Granted Patent US 10,579,426
Granted Patent B2
US 10,579,426 · App. 15/967,180 · Granted Mar 3, 2020

Partitioning processes across clusters by process type to optimize use of cluster specific configurations

Inventor: Dan C. Kang (Palo Alto, CA)
Assignee: NeoDana, Inc.
G06F9/50G06F9/455G06F9/45533G06F9/45558G06F9/48G06F9/4881G06F9/5005G06F9/5011G06F9/5027G06F9/5044G06F9/5055G06F9/5061G06F9/5077G06F9/5083G06F9/5088G06F21/53G06F21/6218H04L63/0227H04L63/0428H04L63/14G06F2009/4557G06F2009/45579G06F2009/45583G06F2009/45587G06F2009/45595G06F2221/2149Y02D10/26Y02D10/28
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,579,426
App. No.
15/967,180
Granted
Mar 3, 2020
Kind
B2
Abstract

A system and method for virtualization and cloud security are disclosed. According to one embodiment, a system comprises a first multi-core processing cluster and a second multi-core processing cluster in communication with a network interface card and software instructions. When the software instructions are executed by the second multi-core processing cluster they cause the second multi-core processing cluster to receive a request for a service, create a new or invoke an existing virtual machine to service the request, and return a desired result indicative of successful completion of the service to the first multi-core processing cluster.

Claims (29)

1. A system comprising:

a hardware backplane;

a first multi-core processing cluster coupled to the hardware backplane and configured to implement a non-real-time multitasking hypervisor that manages a plurality of non-real-time multitasking virtual machines running with non-real-time multitasking guest operating systems, respectively, on top of the non-real-time multitasking hypervisor;

a second multi-core processing cluster coupled to the hardware backplane and configured to implement a real-time hypervisor that manages a plurality of real-time virtual machines running with real-time guest operating systems, respectively, on top of the real-time hypervisor, wherein

upon a non-real-time multitasking virtual machine running on top of the non-real-time multitasking hypervisor generating a real-time processing request, the non-real-time multitasking hypervisor causes the real-time processing request to be transmitted to the real-time hypervisor through the hardware backplane, and the real-time hypervisor causes a real-time virtual machine running on top of the real-time hypervisor to serve the real-time processing request, and

upon completion of operation based on the real-time processing request, the real-time hypervisor causes an execution result of the operation based on the real-time processing request to be transmitted to the non-real-time multitasking hypervisor through the hardware backplane and the non-real-time multitasking hypervisor causes the execution result to be provided to the non-real-time multitasking virtual machine that generated the real-time processing request.

2. The system of claim 1 , wherein the real-time hypervisor is configured to allocate a plurality of real-time processing requests received from the non-real-time hypervisor through the hardware backplane to different real-time virtual machines on the second multi-core processing cluster to be served thereby.

3. The system of claim 1 , wherein the real-time hypervisor is configured to allocate the real-time processing request received from the non-real-time hypervisor through the hardware backplane to a first real-time virtual machine when the real-time processing request requests a real-time processing of a first type, and to allocate the real-time processing a request to a second real-time virtual machine different from the first real-time virtual machine when the real-time processing request requests a real-time processing of a second type different from the first type.

4. The system of claim 1 , wherein the real-time hypervisor is configured to cause different multiple cores of the second multi-core processing cluster to host the plurality of real-time virtual machines, respectively.

5. The system of claim 1 , wherein the real-time hypervisor is configured to cause a first core of the second multi-core processing cluster to host a real-time virtual machine for serving the real-time processing request when the real-time processing request requests a real-time processing of a first type, and configured to cause a second core of the second multi-core processing cluster to host a real-time virtual machine for serving the real-time processing request when the real-time processing request requests a real-time processing of a second type different from the first type.

6. The system of claim 1 , wherein the real-time hypervisor is configured to cause a first core of the second multi-core processing cluster to process a first part of the operation based on the real-time processing request, and configured to a second core of the second multi-core processing cluster to process a second part of the operation based on the real-time processing request.

7. The system of claim 1 , wherein the operation based on the real-time processing request comprises an application-layer security operation.

8. The system of claim 1 , wherein the operation based on the real-time processing request comprises a transport-layer security operation.

9. The system of claim 1 , wherein the operation based on the real-time processing request comprises a network-layer security operation.

10. The system of claim 1 , wherein the operation based on the real-time processing request comprises a rich content multimedia (RCM) operation.

11. A method comprising:

implementing, by a first multi-core processing cluster, a non-real-time multitasking hypervisor configured to manage a plurality of non-real-time multitasking virtual machines running with non-real-time multitasking guest operating systems, respectively, on top of the non-real-time multitasking hypervisor;

implementing, by a second multi-core processing cluster, a real-time hypervisor configured to manage a plurality of real-time virtual machines running with real-time guest operating systems, respectively, on top of the real-time hypervisor;

upon a non-real-time multitasking virtual machine running on top of the non-real-time multitasking hypervisor generating a real-time processing request, transmitting the real-time processing request to the real-time hypervisor through a hardware backplane, and causing a real-time virtual machine running on top of the real-time hypervisor to serve the real-time processing request;

upon completion of operation based on the real-time processing request, transmitting an execution result of the operation based on the real-time processing request to the non-real-time multitasking hypervisor through the hardware backplane, and providing the execution result to the non-real-time multitasking virtual machine that generated the real-time processing request.

12. The method of claim 11 , further comprising allocating, by the real-time hypervisor, a plurality of real-time processing requests received from the non-real-time hypervisor through the hardware backplane to different real-time virtual machines on the second multi-core processing cluster to be served thereby.

13. The method of claim 11 , further comprising allocating, by the real-time hypervisor, the real-time processing request received from the non-real-time hypervisor through the hardware backplane to a first real-time virtual machine when the real-time processing request requests a real-time processing of a first type, and allocating the real-time processing request to a second real-time virtual machine different from the first real-time virtual machine when the real-time processing request requests a real-time processing of a second type different from the first type.

14. The method of claim 11 , further comprising causing, by the real-time hypervisor, different multiple cores of the second multi-core processing cluster to host the plurality of real-time virtual machines, respectively.

15. The method of claim 11 , further comprising causing, by the real-time hypervisor, a first core of the second multi-core processing cluster to host a real-time virtual machine for serving the real-time processing request when the real-time processing request requests a real-time processing of a first type, and causing a second core of the second multi-core processing cluster to host a real-time virtual machine for serving the real-time processing request when the real-time processing request requests a real-time processing of a second type different from the first type.

16. The method of claim 11 , further comprising causing, by the real-time hypervisor, a first core of the second multi-core processing cluster to process a first part of the operation based on the real-time processing request, and causing a second core of the second multi-core processing cluster to process a second part of the operation based on the real-time processing request.

17. The method of claim 11 , wherein the operation based on the real-time processing request comprises an application-layer security operation.

18. The method of claim 11 , wherein the operation based on the real-time processing request comprises a transport-layer security operation.

19. The method of claim 11 , wherein the operation based on the real-time processing request comprises a network-layer security operation.

20. The method of claim 11 , wherein the operation based on the real-time processing request comprises a rich content multimedia (RCM) operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2019
From: KANG, DAN C.
To: NEODANA, INC.
Reel/Frame 050438/0809 →
Continuity (5)
Continuation 15261615 · Sep 9, 2016
Continuation 13732143 · Dec 31, 2012
Continuation In Part PCTUS2011042866 · Jul 1, 2011
Provisional Application 61360658 · Jul 1, 2010
Related Publication 20180246760A1 · Aug 30, 2018
Cited By (2)
US 12,619,483 US 12,645,515