Patent · US2019042234A1 · A1 · US
Technologies for providing streamlined provisioning of accelerated functions in a disaggregated architecture
- (11) Publication number
- US2019042234A1
- (21) Application number
- 15/912,733
- (22) Filing date
- 2018-03-06
- (30) Priority date
- 2017-08-30
- (43) Publication date
- 2019-02-07
- (51) IPC
- G06F 15/16; G06F 9/28; G06F 9/448; H04L 45/28; H04L 49/111; G06F 12/02; G06F 12/06; G06F 12/14; G06F 13/16; G06F 13/40; G06F 13/42; G06F 15/173; G06F 16/11; G06F 16/22; G06F 16/23; G06F 16/2453; G06F 16/2455; G06F 16/248; G06F 16/25; G06F 16/901; G06F 3/06; G06F 30/34; G06F 9/4401; G06F 9/445; G06F 9/50; G11C 29/02; G11C 29/36; G11C 29/38; G11C 29/44; G11C 8/12; H04L 9/08
- (52) CPC
- H04L Transmission of digital information, e.g. telegraphic communication: 69/18, 41/0213, 41/044, 41/0668, 41/0677, 41/0816, 41/0893, 41/0895, 41/0896, 41/14, 41/142, 41/149, 41/16, 41/34, 41/40, 41/5019, 41/5025, 43/065, 43/0876, 43/16, 43/20, 45/28, 45/7453, 47/11, 47/125, 47/781, 47/83, 49/30, 49/351, 49/40, 49/9005, 63/0428, 67/1001, 67/1008, 69/12, 69/22, 69/32, 69/321, 9/0819, 9/0894
- G06F Electric digital data processing: 11/3006, 11/3409, 11/3442, 11/3466, 12/023, 12/06, 12/0607, 12/0802, 12/1054, 12/1063, 12/14, 13/1663, 13/1668, 13/4022, 13/4068, 13/42, 15/161, 15/173, 15/17331, 15/1735, 15/7867, 16/119, 16/221, 16/2237, 16/2255, 16/2282, 16/2365, 16/2453, 16/2455, 16/24553, 16/248, 16/25, 16/9014, 21/105, 2200/201, 2201/85, 2201/86, 2201/885, 2209/5019, 2209/509, 2212/1044, 2212/1052, 2212/601, 2213/0026, 2213/0064, 2213/3808, 3/0604, 3/0605, 3/0611, 3/0613, 3/0629, 3/0631, 3/0632, 3/0644, 3/0647, 3/065, 3/0659, 3/0665, 3/067, 3/0673, 3/0683, 3/0685, 30/34, 9/28, 9/44, 9/4401, 9/4406, 9/4411, 9/445, 9/4494, 9/4856, 9/5022, 9/5044, 9/505, 9/5055, 9/5061, 9/5088
- G06N Computing arrangements based on specific computational models: 3/063
- G06Q Information and communication technology [ICT] specially adapted for administrative, commercial, financial, managerial or supervisory purposes; systems or methods specially adapted for administrative, commercial, financial, managerial or supervisory purposes, not otherwise provided for: 10/0631, 30/0283
- G11C Static stores: 29/028, 29/36, 29/38, 29/44, 8/12
- H04Q Selecting: 11/0005, 11/0062
- H05K Printed circuits; casings or constructional details of electric apparatus; manufacture of assemblages of electrical components: 7/1489, 7/1498, 7/18, 7/20209, 7/20736
- Y02D Climate change mitigation technologies in information and communication technologies [ICT], i.e. information and communication technologies aiming at the reduction of their own energy use: 10/00
- (73) Assignee
- Intel Corp
- (72) Inventors
- Francesc Guim Bernat; Suraj Prabhakaran; Kshitij Doshi; Timothy Verrall
- (54) Title
- Technologies for providing streamlined provisioning of accelerated functions in a disaggregated architecture
- (57) Abstract
Technologies for providing streamlined provisioning of accelerated functions in a disaggregated architecture include a compute sled. The compute sled includes a network interface controller and circuitry to determine whether to accelerate a function of a workload executed by the compute sled, and send, to a memory sled and in response to a determination to accelerate the function, a data set on which the function is to operate. The circuitry is also to receive, from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function, send, to a compute device, a request to schedule acceleration of the function on the data set, receive a notification of completion of the acceleration of the function, and obtain, in response to receipt of the notification and using the service identifier, a resultant data set from the memory sled. The resultant data set was produced by an accelerator device during acceleration of the function on the data set. Other embodiments are also described and claimed.
- Full text
- View on Google Patents
Claims (1)
- A compute sled comprising: a network interface controller; and circuitry to: (i) determine whether to accelerate a function of a workload executed by the compute sled; (ii) send, to a memory sled and in response to a determination to accelerate the function, a data set on which the function is to operate; (iii) receive, from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function; (iv) send, to a compute device, a request to schedule acceleration of the function on the data set; (v) receive a notification of completion of the acceleration of the function; and (vi) obtain, in response to receipt of the notification and using the service identifier, a resultant data set from the memory sled, wherein the resultant data set was produced by an accelerator device during acceleration of the function on the data set. 2. The compute sled of claim 1, wherein to obtain the resultant data set from the memory sled comprises to: send, with the network interface controller, a read a request with the service identifier to the memory sled; receive, with the network interface controller, the resultant data set from the memory sled after the read request has been sent; and copy the resultant data set to a local memory of the compute sled. 3. The compute sled of claim 1, wherein the circuitry is further to determine whether the compute device is to operate as an acceleration scheduler and wherein to send the request to schedule acceleration of the function comprises to send, to the compute device, the request in response to a determination that the compute device is to operate as an acceleration scheduler. 4. The compute sled of claim 3, wherein the network interface controller is to receive a multicast notification from the compute device that identifies the compute device as an acceleration scheduler and wherein to determine whether the compute device is to operate as an acceleration scheduler comprises to determine, in response to receipt of the multicast notification, that the compute device is to operate as an acceleration scheduler. 5. The compute sled of claim 3, wherein the network interface controller is to: send a query to the compute device to determine whether the compute device is to operate as the acceleration scheduler; and receive a response from the compute device that acknowledges that the compute device is to operate as the acceleration scheduler. 6. The compute sled of claim 1, wherein to send, to a compute device, a request to schedule acceleration of the function on the data set comprises to send the request to a pod manager. 7. The compute sled of claim 1, wherein to send the request comprises to send descriptor data indicative of a type of function to be accelerated. 8. The compute sled of claim 7, wherein to send the request comprises to send descriptor data that is further indicative of a performance target to be satisfied. 9. The compute sled of claim 8, wherein to send descriptor data that is further indicative of a performance target to be satisfied comprises to send data indicative of a service level agreement to be satisfied. 10. The compute sled of claim 8, wherein to send descriptor data that is further indicative of a performance target to be satisfied comprises to send data indicative of a latency threshold to be satisfied. 11. One or more machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a compute sled to: determine whether to accelerate a function of a workload executed by the compute sled; send, to a memory sled and in response to a determination to accelerate the function, a data set on which the function is to operate; receive, from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function; send, to a compute device, a request to schedule acceleration of the function on the data set; receive a notification of completion of the acceleration of the function; and obtain, in response to receipt of the notification and using the service identifier, a resultant data set from the memory sled, wherein the resultant data set was produced by an accelerator device during acceleration of the function on the data set. 12. The one or more machine-readable storage media of claim 11, wherein to obtain the resultant data set from the memory sled comprises to: send, with the network interface controller, a read a request with the service identifier to the memory sled; receive, with the network interface controller, the resultant data set from the memory sled after the read request has been sent; and copy the resultant data set to a local memory of the compute sled. 13. The one or more machine-readable storage media of claim 11, wherein, when executed, the plurality of instructions further cause the compute sled to determine whether the compute device is to operate as an acceleration scheduler and wherein to send the request to schedule acceleration of the function comprises to send, to the compute device, the request in response to a determination that the compute device is to operate as an acceleration scheduler. 14. The one or more machine-readable storage media of claim 13, wherein, when executed, the plurality of instructions further cause the compute sled to receive a multicast notification from the compute device that identifies the compute device as an acceleration scheduler and wherein to determine whether the compute device is to operate as an acceleration scheduler comprises to determine, in response to receipt of the multicast notification, that the compute device is to operate as an acceleration scheduler. 15. The one or more machine-readable storage media of claim 13, wherein, when executed, the plurality of instructions further cause the compute sled to: send a query to the compute device to determine whether the compute device is to operate as the acceleration scheduler; and receive a response from the compute device that acknowledges that the compute device is to operate as the acceleration scheduler. 16. The one or more machine-readable storage media of claim 11, wherein to send, to a compute device, a request to schedule acceleration of the function on the data set comprises to send the request to a pod manager. 17. The one or more machine-readable storage media of claim 11, wherein to send the request comprises to send descriptor data indicative of a type of function to be accelerated. 18. The one or more machine-readable storage media of claim 17, wherein to send the request comprises to send descriptor data that is further indicative of a performance target to be satisfied. 19. The one or more machine-readable storage media of claim 18, wherein to send descriptor data that is further indicative of a performance target to be satisfied comprises to send data indicative of a service level agreement to be satisfied. 20. The one or more machine-readable storage media of claim 18, wherein to send descriptor data that is further indicative of a performance target to be satisfied comprises to send data indicative of a latency threshold to be satisfied. 21. A compute device comprising: circuitry for determining whether to accelerate a function of a workload executed by the compute sled; circuitry for sending, to a memory sled and in response to a determination to accelerate the function, a data set on which the function is to operate; circuitry for receiving, from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function; means for sending, to a compute device, a request to schedule acceleration of the function on the data set; circuitry for receiving a notification of completion of the acceleration of the function; and circuitry for obtaining, in response to receipt of the notification and using the service identifier, a resultant data set from the memory sled, wherein the resultant data set was produced by an accelerator device during acceleration of the function on the data set. 22. A method comprising: determining, by a compute sled, whether to accelerate a function of a workload executed by the compute sled; sending, by the compute sled and to a memory sled, and in response to a determination to accelerate the function, a data set on which the function is to operate; receiving, by the compute sled and from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function; sending, by the compute sled and to a compute device, a request to schedule acceleration of the function on the data set; receiving, by the compute sled, a notification of completion of the acceleration of the function; and obtaining, by the compute sled and in response to receipt of the notification, and using the service identifier, a resultant data set from the memory sled, wherein the resultant data set was produced by an accelerator device during acceleration of the function on the data set. 23. The method of claim 22, wherein obtaining the resultant data set from the memory sled comprises: sending, with a network interface controller of the compute sled, a read request with the service identifier to the memory sled; receiving, with the network interface controller of the compute sled, the resultant data set from the memory sled after the read request has been sent; and copying, by the compute sled, the resultant data set to a local memory of the compute sled. 24. The method of claim 22, further comprising determining, by the compute sled, whether the compute device is to operate as an acceleration scheduler and wherein sending the request to schedule acceleration of the function comprises sending, to the compute device, the request in response to a determination that the compute device is to operate as an acceleration scheduler. 25. The method of claim 24, further comprising receiving, by the compute sled, a multicast notification from the compute device that identifies the compute device as an acceleration scheduler and wherein determining whether the compute device is to operate as an acceleration scheduler comprises to determine, in response to receipt of the multicast notification, that the compute device is to operate as an acceleration scheduler.
Description
In some data centers, a compute device may be equipped with a general purpose processor and an accelerator device (e.g., a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a co-processor, etc.) capable of accelerating a function in a workload (e.g., an application) executed by the compute device. That is, the accelerator device is connected to the general purpose processor through a local bus (e.g., a Peripheral Component Interconnect express (PCIe) bus). In such systems, the compute device retains exclusive control over the accelerator device and the accelerator device may go unused for significant amounts of time, even when workloads executed by other compute devices in the data center could benefit from acceleration. In other systems, accelerator devices may be disaggregated from (e.g., physically separated from) a compute device that is executing a workload, but can be selectively allocated for use by the compute device through a network connection. In some instances, an intermediary compute device may coordinate the allocation of disaggregated accelerator devices to compute devices on an as-requested basis, and, in doing so, may receive and send data between the devices. As the number of compute devices and accelerator devices the data center increases, the communication of data to and from the intermediary compute device increases accordingly, and may result in network congestion and latency that may diminish any speed increases that would otherwise be obtained from accelerating portions of workloads.
Record as JSON
{
"publication_number": "US2019042234A1",
"country": "US",
"kind": "A1",
"title": "Technologies for providing streamlined provisioning of accelerated functions in a disaggregated architecture",
"abstract": "Technologies for providing streamlined provisioning of accelerated functions in a disaggregated architecture include a compute sled. The compute sled includes a network interface controller and circuitry to determine whether to accelerate a function of a workload executed by the compute sled, and send, to a memory sled and in response to a determination to accelerate the function, a data set on which the function is to operate. The circuitry is also to receive, from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function, send, to a compute device, a request to schedule acceleration of the function on the data set, receive a notification of completion of the acceleration of the function, and obtain, in response to receipt of the notification and using the service identifier, a resultant data set from the memory sled. The resultant data set was produced by an accelerator device during acceleration of the function on the data set. Other embodiments are also described and claimed.",
"claims": [
"1. A compute sled comprising: a network interface controller; and circuitry to: (i) determine whether to accelerate a function of a workload executed by the compute sled; (ii) send, to a memory sled and in response to a determination to accelerate the function, a data set on which the function is to operate; (iii) receive, from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function; (iv) send, to a compute device, a request to schedule acceleration of the function on the data set; (v) receive a notification of completion of the acceleration of the function; and (vi) obtain, in response to receipt of the notification and using the service identifier, a resultant data set from the memory sled, wherein the resultant data set was produced by an accelerator device during acceleration of the function on the data set. 2. The compute sled of claim 1, wherein to obtain the resultant data set from the memory sled comprises to: send, with the network interface controller, a read a request with the service identifier to the memory sled; receive, with the network interface controller, the resultant data set from the memory sled after the read request has been sent; and copy the resultant data set to a local memory of the compute sled. 3. The compute sled of claim 1, wherein the circuitry is further to determine whether the compute device is to operate as an acceleration scheduler and wherein to send the request to schedule acceleration of the function comprises to send, to the compute device, the request in response to a determination that the compute device is to operate as an acceleration scheduler. 4. The compute sled of claim 3, wherein the network interface controller is to receive a multicast notification from the compute device that identifies the compute device as an acceleration scheduler and wherein to determine whether the compute device is to operate as an acceleration scheduler comprises to determine, in response to receipt of the multicast notification, that the compute device is to operate as an acceleration scheduler. 5. The compute sled of claim 3, wherein the network interface controller is to: send a query to the compute device to determine whether the compute device is to operate as the acceleration scheduler; and receive a response from the compute device that acknowledges that the compute device is to operate as the acceleration scheduler. 6. The compute sled of claim 1, wherein to send, to a compute device, a request to schedule acceleration of the function on the data set comprises to send the request to a pod manager. 7. The compute sled of claim 1, wherein to send the request comprises to send descriptor data indicative of a type of function to be accelerated. 8. The compute sled of claim 7, wherein to send the request comprises to send descriptor data that is further indicative of a performance target to be satisfied. 9. The compute sled of claim 8, wherein to send descriptor data that is further indicative of a performance target to be satisfied comprises to send data indicative of a service level agreement to be satisfied. 10. The compute sled of claim 8, wherein to send descriptor data that is further indicative of a performance target to be satisfied comprises to send data indicative of a latency threshold to be satisfied. 11. One or more machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a compute sled to: determine whether to accelerate a function of a workload executed by the compute sled; send, to a memory sled and in response to a determination to accelerate the function, a data set on which the function is to operate; receive, from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function; send, to a compute device, a request to schedule acceleration of the function on the data set; receive a notification of completion of the acceleration of the function; and obtain, in response to receipt of the notification and using the service identifier, a resultant data set from the memory sled, wherein the resultant data set was produced by an accelerator device during acceleration of the function on the data set. 12. The one or more machine-readable storage media of claim 11, wherein to obtain the resultant data set from the memory sled comprises to: send, with the network interface controller, a read a request with the service identifier to the memory sled; receive, with the network interface controller, the resultant data set from the memory sled after the read request has been sent; and copy the resultant data set to a local memory of the compute sled. 13. The one or more machine-readable storage media of claim 11, wherein, when executed, the plurality of instructions further cause the compute sled to determine whether the compute device is to operate as an acceleration scheduler and wherein to send the request to schedule acceleration of the function comprises to send, to the compute device, the request in response to a determination that the compute device is to operate as an acceleration scheduler. 14. The one or more machine-readable storage media of claim 13, wherein, when executed, the plurality of instructions further cause the compute sled to receive a multicast notification from the compute device that identifies the compute device as an acceleration scheduler and wherein to determine whether the compute device is to operate as an acceleration scheduler comprises to determine, in response to receipt of the multicast notification, that the compute device is to operate as an acceleration scheduler. 15. The one or more machine-readable storage media of claim 13, wherein, when executed, the plurality of instructions further cause the compute sled to: send a query to the compute device to determine whether the compute device is to operate as the acceleration scheduler; and receive a response from the compute device that acknowledges that the compute device is to operate as the acceleration scheduler. 16. The one or more machine-readable storage media of claim 11, wherein to send, to a compute device, a request to schedule acceleration of the function on the data set comprises to send the request to a pod manager. 17. The one or more machine-readable storage media of claim 11, wherein to send the request comprises to send descriptor data indicative of a type of function to be accelerated. 18. The one or more machine-readable storage media of claim 17, wherein to send the request comprises to send descriptor data that is further indicative of a performance target to be satisfied. 19. The one or more machine-readable storage media of claim 18, wherein to send descriptor data that is further indicative of a performance target to be satisfied comprises to send data indicative of a service level agreement to be satisfied. 20. The one or more machine-readable storage media of claim 18, wherein to send descriptor data that is further indicative of a performance target to be satisfied comprises to send data indicative of a latency threshold to be satisfied. 21. A compute device comprising: circuitry for determining whether to accelerate a function of a workload executed by the compute sled; circuitry for sending, to a memory sled and in response to a determination to accelerate the function, a data set on which the function is to operate; circuitry for receiving, from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function; means for sending, to a compute device, a request to schedule acceleration of the function on the data set; circuitry for receiving a notification of completion of the acceleration of the function; and circuitry for obtaining, in response to receipt of the notification and using the service identifier, a resultant data set from the memory sled, wherein the resultant data set was produced by an accelerator device during acceleration of the function on the data set. 22. A method comprising: determining, by a compute sled, whether to accelerate a function of a workload executed by the compute sled; sending, by the compute sled and to a memory sled, and in response to a determination to accelerate the function, a data set on which the function is to operate; receiving, by the compute sled and from the memory sled, a service identifier indicative of a memory location independent handle for data associated with the function; sending, by the compute sled and to a compute device, a request to schedule acceleration of the function on the data set; receiving, by the compute sled, a notification of completion of the acceleration of the function; and obtaining, by the compute sled and in response to receipt of the notification, and using the service identifier, a resultant data set from the memory sled, wherein the resultant data set was produced by an accelerator device during acceleration of the function on the data set. 23. The method of claim 22, wherein obtaining the resultant data set from the memory sled comprises: sending, with a network interface controller of the compute sled, a read request with the service identifier to the memory sled; receiving, with the network interface controller of the compute sled, the resultant data set from the memory sled after the read request has been sent; and copying, by the compute sled, the resultant data set to a local memory of the compute sled. 24. The method of claim 22, further comprising determining, by the compute sled, whether the compute device is to operate as an acceleration scheduler and wherein sending the request to schedule acceleration of the function comprises sending, to the compute device, the request in response to a determination that the compute device is to operate as an acceleration scheduler. 25. The method of claim 24, further comprising receiving, by the compute sled, a multicast notification from the compute device that identifies the compute device as an acceleration scheduler and wherein determining whether the compute device is to operate as an acceleration scheduler comprises to determine, in response to receipt of the multicast notification, that the compute device is to operate as an acceleration scheduler."
],
"description_excerpt": "In some data centers, a compute device may be equipped with a general purpose processor and an accelerator device (e.g., a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a co-processor, etc.) capable of accelerating a function in a workload (e.g., an application) executed by the compute device. That is, the accelerator device is connected to the general purpose processor through a local bus (e.g., a Peripheral Component Interconnect express (PCIe) bus). In such systems, the compute device retains exclusive control over the accelerator device and the accelerator device may go unused for significant amounts of time, even when workloads executed by other compute devices in the data center could benefit from acceleration. In other systems, accelerator devices may be disaggregated from (e.g., physically separated from) a compute device that is executing a workload, but can be selectively allocated for use by the compute device through a network connection. In some instances, an intermediary compute device may coordinate the allocation of disaggregated accelerator devices to compute devices on an as-requested basis, and, in doing so, may receive and send data between the devices. As the number of compute devices and accelerator devices the data center increases, the communication of data to and from the intermediary compute device increases accordingly, and may result in network congestion and latency that may diminish any speed increases that would otherwise be obtained from accelerating portions of workloads.",
"cpc": [
"H04L 69/18",
"G06F 11/3006",
"G06F 11/3409",
"G06F 11/3442",
"G06F 11/3466",
"G06F 12/023",
"G06F 12/06",
"G06F 12/0607",
"G06F 12/0802",
"G06F 12/1054",
"G06F 12/1063",
"G06F 12/14",
"G06F 13/1663",
"G06F 13/1668",
"G06F 13/4022",
"G06F 13/4068",
"G06F 13/42",
"G06F 15/161",
"G06F 15/173",
"G06F 15/17331",
"G06F 15/1735",
"G06F 15/7867",
"G06F 16/119",
"G06F 16/221",
"G06F 16/2237",
"G06F 16/2255",
"G06F 16/2282",
"G06F 16/2365",
"G06F 16/2453",
"G06F 16/2455",
"G06F 16/24553",
"G06F 16/248",
"G06F 16/25",
"G06F 16/9014",
"G06F 21/105",
"G06F 2200/201",
"G06F 2201/85",
"G06F 2201/86",
"G06F 2201/885",
"G06F 2209/5019",
"G06F 2209/509",
"G06F 2212/1044",
"G06F 2212/1052",
"G06F 2212/601",
"G06F 2213/0026",
"G06F 2213/0064",
"G06F 2213/3808",
"G06F 3/0604",
"G06F 3/0605",
"G06F 3/0611",
"G06F 3/0613",
"G06F 3/0629",
"G06F 3/0631",
"G06F 3/0632",
"G06F 3/0644",
"G06F 3/0647",
"G06F 3/065",
"G06F 3/0659",
"G06F 3/0665",
"G06F 3/067",
"G06F 3/0673",
"G06F 3/0683",
"G06F 3/0685",
"G06F 30/34",
"G06F 9/28",
"G06F 9/44",
"G06F 9/4401",
"G06F 9/4406",
"G06F 9/4411",
"G06F 9/445",
"G06F 9/4494",
"G06F 9/4856",
"G06F 9/5022",
"G06F 9/5044",
"G06F 9/505",
"G06F 9/5055",
"G06F 9/5061",
"G06F 9/5088",
"G06N 3/063",
"G06Q 10/0631",
"G06Q 30/0283",
"G11C 29/028",
"G11C 29/36",
"G11C 29/38",
"G11C 29/44",
"G11C 8/12",
"H04L 41/0213",
"H04L 41/044",
"H04L 41/0668",
"H04L 41/0677",
"H04L 41/0816",
"H04L 41/0893",
"H04L 41/0895",
"H04L 41/0896",
"H04L 41/14",
"H04L 41/142",
"H04L 41/149",
"H04L 41/16",
"H04L 41/34",
"H04L 41/40",
"H04L 41/5019",
"H04L 41/5025",
"H04L 43/065",
"H04L 43/0876",
"H04L 43/16",
"H04L 43/20",
"H04L 45/28",
"H04L 45/7453",
"H04L 47/11",
"H04L 47/125",
"H04L 47/781",
"H04L 47/83",
"H04L 49/30",
"H04L 49/351",
"H04L 49/40",
"H04L 49/9005",
"H04L 63/0428",
"H04L 67/1001",
"H04L 67/1008",
"H04L 69/12",
"H04L 69/22",
"H04L 69/32",
"H04L 69/321",
"H04L 9/0819",
"H04L 9/0894",
"H04Q 11/0005",
"H04Q 11/0062",
"H05K 7/1489",
"H05K 7/1498",
"H05K 7/18",
"H05K 7/20209",
"H05K 7/20736",
"Y02D 10/00"
],
"ipc": [
"G06F 15/16",
"G06F 9/28",
"G06F 9/448",
"H04L 45/28",
"H04L 49/111",
"G06F 12/02",
"G06F 12/06",
"G06F 12/14",
"G06F 13/16",
"G06F 13/40",
"G06F 13/42",
"G06F 15/173",
"G06F 16/11",
"G06F 16/22",
"G06F 16/23",
"G06F 16/2453",
"G06F 16/2455",
"G06F 16/248",
"G06F 16/25",
"G06F 16/901",
"G06F 3/06",
"G06F 30/34",
"G06F 9/4401",
"G06F 9/445",
"G06F 9/50",
"G11C 29/02",
"G11C 29/36",
"G11C 29/38",
"G11C 29/44",
"G11C 8/12",
"H04L 9/08"
],
"assignees": [
"Intel Corp"
],
"inventors": [
"Francesc Guim Bernat",
"Suraj Prabhakaran",
"Kshitij Doshi",
"Timothy Verrall"
],
"filing_date": "2018-03-06",
"publication_date": "2019-02-07",
"priority_date": "2017-08-30",
"application_number": "US-201815912733-A",
"family_id": "65037934",
"cited_by_count": 22
}
Record 3,038 of 8,000 in Patents full text (MLC-0201). Request the full dataset.