IP Library Granted Patent US 11,431,815
Granted Patent B1
US 11,431,815 · App. 16/869,321 · Granted Aug 30, 2022

Mining proxy acceleration

Inventors: Guanwen Zhong (Singapore, SG); Haris Javaid (Singapore, SG); Chengchen Hu (Singapore, SG); Ji Yang (Singapore, SG); Gordon J. Brebner (Monte Sereno, CA)
Assignee: Xilinx, Inc.
H04L67/28H04L45/16H04L45/306H04L69/16H04L69/324
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,431,815
App. No.
16/869,321
Granted
Aug 30, 2022
Kind
B1
Abstract

Mining proxy acceleration may include receiving, within a mining proxy, packetized data from a mining pool server and determining, using the mining proxy, whether the packetized data qualifies for broadcast processing. In response to determining that the packetized data qualifies for broadcast processing, the packetized data can be modified using the mining proxy to generate broadcast data. The broadcast data can be broadcast, using the mining proxy, to a plurality of miners subscribed to the mining proxy.

Claims (50)

1. A method, comprising:

receiving, within a mining proxy, packetized data;

determining, using the mining proxy, whether the packetized data qualifies for broadcast processing by, at least in part, inspecting a payload portion of each packet of the packetized data and detecting whether the payload portion of the packet specifies a selected type of job;

in response to determining that the packetized data qualifies for broadcast processing, generating broadcast data, using the mining proxy, from the packetized data, wherein the generating broadcast data includes, at least in part, transforming the packetized data from a first protocol to a second protocol, wherein the second protocol is different from the first protocol; and

broadcasting, using the mining proxy, the broadcast data to a plurality of miners subscribed to the mining proxy;

wherein packets of the packetized data that do not qualify for broadcast processing are transmitted as received using the first protocol.

2. The method of claim 1 , wherein the selected type of job is at least one of a notify job or a set difficulty job.

3. The method of claim 1 , wherein the first protocol is Transmission Control Protocol/Internet Protocol (TCP/IP) and the second protocol is Ethernet.

4. The method of claim 1 , wherein:

the generating broadcast data includes converting the packet into a layer 2 broadcast frame; and

the broadcasting includes sending the broadcast data to the plurality of miners using a layer 2 broadcast mechanism without performing a Transmission Control Protocol operation from the mining proxy to each of the miners.

5. The method of claim 4 , wherein the generating broadcast data includes removing a TCP/IP header from the packet and updating Media Access Control (MAC) header information.

6. The method of claim 4 , wherein the converting the packetized data comprises:

generating an Ethernet frame header having a destination Media Access Control (MAC) address field including a broadcast address;

extracting a payload from the packetized data; and

appending the payload to the Ethernet frame header.

7. The method of claim 6 , wherein the generating the Ethernet frame header comprises:

including an address corresponding to the mining proxy in a source MAC address field.

8. A system, comprising:

a processor configured to initiate operations including:

receiving packetized data;

determining whether the packetized data qualifies for broadcast processing by, at least in part, inspecting a payload portion of each packet of the packetized data and detecting whether the payload portion of the packet specifies a selected type of job;

in response to determining that the packetized data qualifies for broadcast processing, generating broadcast data from the packetized data, wherein the generating broadcast data includes, at least in part, transforming the packetized data from a first protocol to a second protocol, wherein the second protocol is different from the first protocol; and

broadcasting the broadcast data to a plurality of miners subscribed to a mining proxy;

wherein packets of the packetized data that do not quality for broadcast processing are transmitted as received using the first protocol.

9. The system of claim 8 , wherein the selected type of job is at least one of a notify job or a set difficulty job.

10. The system of claim 8 , wherein the first protocol is Transmission Control Protocol/Internet Protocol (TCP/IP) and the second protocol is Ethernet.

11. The system of claim 8 , wherein:

the generating broadcast data includes converting the packet into a layer 2 broadcast frame; and

the broadcasting includes sending the broadcast data to the plurality of miners using a layer 2 broadcast mechanism without performing a Transmission Control Protocol operation from the mining proxy to each of the miners.

12. The system of claim 11 , wherein the generating broadcast data includes removing a TCP/IP header from the packet and updating Media Access Control (MAC) header information.

13. The system of claim 11 , wherein the converting the packetized data comprises:

generating an Ethernet frame header having a destination Media Access Control (MAC) address field including a broadcast address;

extracting a payload from the packetized data; and

appending the payload to the Ethernet frame header.

14. The system of claim 13 , wherein the converting the packetized data comprises:

including an address corresponding to the mining proxy in a source MAC address field.

15. A mining proxy, comprising:

a processor configured to perform one or more administrative operations;

a sniffer circuit coupled to the processor, wherein the sniffer circuit is configured to determine whether packetized data received from a mining pool server qualifies for broadcast processing by, at least in part, inspecting a payload portion of each packet of the packetized data and detecting whether the payload portion of the packet specifies a selected type of job;

a broadcaster circuit configured to generate broadcast data from the packetized data in response to determining that the packetized data qualifies for broadcast processing, wherein the broadcaster circuit generates the broadcast data by, at least in part, transforming the packetized data from a first protocol to a second protocol, wherein the second protocol is different from the first protocol; and

a dispatcher circuit configured to provide the broadcast data to a network interface for broadcast to a plurality of miners subscribed to the mining proxy;

wherein packets of the packetized data that do not quality for broadcast processing are transmitted as received using the first protocol.

16. The mining proxy of claim 15 , wherein selected type of job is at least one of a notify job.

17. The mining proxy of claim 15 , wherein first protocol is Transmission Control Protocol/Internet Protocol (TCP/IP) and the second protocol is Ethernet.

18. The mining proxy of claim 15 , wherein:

the generating broadcast data includes converting the packet into a layer 2 broadcast frame; and

the broadcasting includes sending the broadcast data to the plurality of miners using a layer 2 broadcast mechanism without performing a Transmission Control Protocol operation from the mining proxy to each of the miners.

19. The mining proxy of claim 18 , wherein the generating broadcast data includes removing a TCP/IP header from the packet and updating Media Access Control (MAC) header information.

20. The mining proxy of claim 18 , wherein the broadcaster circuit is configured to generate an Ethernet frame header having a destination Media Access Control (MAC) address field including a broadcast address, extract a payload from the packetized data, and append the payload to the Ethernet frame header.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2020
From: ZHONG, GUANWEN; JAVAID, HARIS; HU, CHENGCHEN; YANG, JI; BREBNER, GORDON J.
To: XILINX, INC.
Reel/Frame 052608/0176 →