US2013266016A1PendingUtilityA1
Grid router
Est. expiryOct 30, 2027(~1.3 yrs left)· nominal 20-yr term from priority
H04L 45/00H04L 45/7453H04L 45/60H04L 49/355H04L 45/58
44
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A grid router includes a plurality of external interface units to receive packets of services from one point and to provide packets of services to another point and a second plurality of mailbox units to store and forward the packets associated with mailboxes, one per service. Each mailbox unit is connected to each external interface unit. The units are implemented on PCs (personal computers) having memory controllers and move the packets through the router close to or at the I/O (input/output) rate of the memory controllers.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A grid router comprising:
a plurality of external interface units to receive packets of services from one point and to provide packets of services to another point; and a second plurality of mailbox units to store and forward said packets associated with mailboxes, one per service, each mailbox unit connected to said external interface units, each mailbox unit and each service being per end user, wherein each said external interface unit has an input portion and an output portion, and each said portion and each mailbox unit comprises: an incoming section to store said packets and related headers; a mailbox processor at least to make routing decisions; and
an outgoing section, storing at least one pointer to said incoming section to organize said packets for transfer to a next unit, and wherein said incoming section of said input portion is connected to a plurality of network interface cards, each writing directly into said incoming section, and each said network interface card has a corresponding user space and an associated library, the grid router thereby routing traffic over a grid, and wherein each mailbox unit is connected to said external interface units in a CLOS network.
2 . The grid router according to claim 1 and wherein said input portions write to said mailbox units as per information in said packets, said mailbox units being configured to write packets to output portions associated with said mailboxes in which said packets are stored and said output portions write packets to said another point.
3 . The grid router according to claim 1 and wherein said mailbox processor processes only said headers at least to make routing decisions.
4 . The grid router according to claim 1 , and wherein at least some of said libraries of respective network interface cards comprise a scatter-gather DMA unit to write said packets, using said library, to said incoming section.
5 . The grid router according to claim 1 and wherein at least one of said outgoing sections comprises at least one queue storing said at least one pointer to locations in said incoming section.
6 . The grid router according to claim 5 , and wherein at least one of said outgoing section comprises one write queue per unit to be written to.
7 . The grid router according to claim 1 , and wherein said mailbox unit additionally comprises a mailbox section storing mailbox queues, each associated with a mailbox, wherein each said mailbox queue stores pointers to locations in its said incoming section where its data is stored.
8 . The grid router according to claim 7 , and wherein said processor of said mailbox unit also comprises a scheduler for scheduling and controlling the output of said packets.
9 . The grid router according to claim 7 , and wherein said processor of said mailbox unit comprises:
a hasher to hash a header of a packet to determine to which mailbox said packet belongs; a rater to control input to said mailbox according to requirements previously defined for said mailbox; a mailbox selector to store pointers to said header and said packet in a mailbox queue associated with said determined mailbox upon instruction from said rater; and a dispatcher to shape an output stream from said mailbox and to store said pointers in a write queue previously defined for said mailbox.
10 . The grid router according to claim 1 , and wherein said processor of said input portion comprises:
a header creator to create a new header with a pointer to the storage location of the packet; a hasher to read said new header and to determine in which mailbox unit to store said packet; and a mailbox unit selector to write pointers to said new header and to said storage location in a write queue for said determined mailbox unit.
11 . The grid router according to claim 1 , and wherein said processor of said output portion comprises:
a write requester to update a header of a packet with a destination address of said packet and to write a pointer to said packet into a transmit queue.
12 . A grid router comprising:
a plurality of external interface units to receive packets of services from one point and to provide packets of services to another point; and a second plurality of mailbox units to store and forward said packets associated with mailboxes, each mailbox unit being assigned per service to a given end user, each mailbox unit connected to each said external interface unit, said external interface units and said mailbox units being connected using direct data placement units, wherein said units are implemented on PCs (personal computers) having memory controllers and move said packets therethrough, using said direct data placement units, close to or at the I/O (input/output) rate of said memory controllers, wherein input portions of said external interface units of said grid router are configured to write to said mailbox units as per information in said packets, said mailbox units being configured to write packets to output portions of said grid router respectively associated with said mailboxes in which said packets are stored and said output portions write packets to said another point, the grid router thereby routing traffic over a grid.
13 . The grid router according to claim 12 , and wherein each said personal computer comprises:
an incoming section to store said packets and related headers; a processor to process only said headers at least to make routing decisions; and an outgoing section, storing at least one pointer to said incoming section, to organize said packets for transfer to said next personal computer.
14 . The grid router according to claim 13 , and wherein said incoming section of an input portion of each of said external interface units is connected to a plurality of network interface cards, each writing directly into said incoming section and wherein said processor of said input portion determines the routing of said packets to one of said mailbox units.
15 . The grid router according to claim 13 , and also comprising a direct data placement unit to transfer packets from one unit to another.
16 . The grid router according to claim 15 , and wherein said direct data placement unit is one of: an rDMA unit, a TCP offload engine, an RDMA enabled network interface card and a DDP enabled network interface card.
17 . The grid router according to claim 13 , and wherein said mailbox unit additionally comprises a mailbox section storing mailbox queues, each associated with a mailbox, wherein each said mailbox queue stores pointers to locations in its said incoming section where its data is stored.
18 . The grid router according to claim 13 , and wherein each said external interface unit has an input portion to write to each said mailbox unit and an output portion to receive said packets from said mailbox unit, and wherein said input and output portions and said mailbox units write to each other in an asynchronous manner.
19 . A grid router for providing an edge network to connect a plurality of end users via a metropolitan network, the grid router comprising:
a plurality of external interface units to receive packets of services from one point and to provide packets of services to another point; and a second plurality of mailbox units to store and forward said packets associated with mailboxes, one per service, each mailbox unit connected to said external interface units, each mailbox unit and each service being per end user, wherein each said external interface unit has an input portion and an output portion, and each said portion and each mailbox unit comprises: an incoming section to store said packets and related headers; a mailbox processor at least to make routing decisions; and an outgoing section, storing at least one pointer to said incoming section to organize said packets for transfer to a next unit, and wherein said incoming section of said input portion is connected to a plurality of network interface cards, each writing directly into said incoming section, and each said network interface card has a corresponding user space and an associated library, the grid router thereby routing traffic to and from said end users via said metropolitan network, and wherein each mailbox unit is connected to said external interface units in a CLOS network.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.