Apparatus, system, and method for compressing port list definitions for sparse port indices
First Claim
1. A method comprising:
- maintaining a port list definition as a bitmap that identifies port numbers of network socket ports used by a network device to transport traffic across a network;
formatting the port list definition such that the bitmap includes;
a record-size index that identifies a size of each record represented in the bitmap;
a first set of indices that each represent an offset of one or more network socket ports that facilitate transporting traffic across the network; and
a second set of indices that;
are each paired to an index within the first set of indices; and
each correspond to port numbers of the network socket ports that facilitate transporting traffic across the network and whose values are calculated based at least in part on the offset of the paired index within the first set of indices;
formatting the port list definition such that the bitmap identifies the port numbers of the network socket ports used by the network device by;
calculating a first multiplication product by multiplying the offset represented by the index within the first set of indices by the size of each record identified in the record-size index;
calculating a second multiplication product by multiplying the first multiplication product by a byte size used by the network device; and
for each bit that is set in the index within the second set of indices that is paired to the index within the first set of indices, adding a value that represents the set bit'"'"'s position in the paired index within the second set of indices to the second multiplication product to produce a sum that represents a port number of a network socket port that is used by the network device; and
forwarding at least one packet from the network device to a remote device using at least one of the network socket ports whose port numbers are identified in the bitmap.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed apparatus may include (1) a storage device that stores a port list definition as a bitmap that identifies port numbers of network socket ports and (2) a physical processor that (A) formats the port list definition such that the bitmap includes (I) a first set of indices that each represent an offset of one or more network socket ports and (II) a second set of indices that are each paired to an index within the first set of indices and each correspond to port numbers of the network socket ports and whose values are calculated based on the offset of the paired index and (B) forwards at least one packet from the network device to a remote device using at least one of the network socket ports whose port numbers are identified in the bitmap. Various other apparatuses, systems, and methods are also disclosed.
10 Citations
16 Claims
-
1. A method comprising:
-
maintaining a port list definition as a bitmap that identifies port numbers of network socket ports used by a network device to transport traffic across a network; formatting the port list definition such that the bitmap includes; a record-size index that identifies a size of each record represented in the bitmap; a first set of indices that each represent an offset of one or more network socket ports that facilitate transporting traffic across the network; and a second set of indices that; are each paired to an index within the first set of indices; and each correspond to port numbers of the network socket ports that facilitate transporting traffic across the network and whose values are calculated based at least in part on the offset of the paired index within the first set of indices; formatting the port list definition such that the bitmap identifies the port numbers of the network socket ports used by the network device by; calculating a first multiplication product by multiplying the offset represented by the index within the first set of indices by the size of each record identified in the record-size index; calculating a second multiplication product by multiplying the first multiplication product by a byte size used by the network device; and for each bit that is set in the index within the second set of indices that is paired to the index within the first set of indices, adding a value that represents the set bit'"'"'s position in the paired index within the second set of indices to the second multiplication product to produce a sum that represents a port number of a network socket port that is used by the network device; and forwarding at least one packet from the network device to a remote device using at least one of the network socket ports whose port numbers are identified in the bitmap. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a control module, stored in memory, that; maintains a port list definition as a bitmap that identifies port numbers of network socket ports used by a network device to transport traffic across a network; formats the port list definition such that the bitmap includes; a record-size index that identifies a size of each record represented in the bitmap; a first set of indices that each represent an offset of one or more network socket ports that facilitate transporting traffic across the network; and a second set of indices that; are each paired to an index within the first set of indices; and each correspond to port numbers of the network socket ports that facilitate transporting traffic across the network and whose values are calculated based at least in part on the offset of the paired index within the first set of indices; and formats the port list definition such that the bitmap identifies the port numbers of the network socket ports used by the network device by; calculating a first multiplication product by multiplying the offset represented by the index within the first set of indices by the size of each record identified in the record-size index; calculating a second multiplication product by multiplying the first multiplication product by a byte size used by the network device; and for each bit that is set in the index within the second set of indices that is paired to the index within the first set of indices, adding a value that represents the set bit'"'"'s position in the paired index within the second set of indices to the second multiplication product to produce a sum that represents a port number of a network socket port that is used by the network device; a forwarding module, stored in memory, that forwards at least one packet from the network device to a remote device using at least one of the network socket ports whose port numbers are identified in the bitmap; and at least one physical processor configured to execute the control module and the forwarding module. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An apparatus comprising:
-
a storage device that stores a port list definition as a bitmap that identifies port numbers of network socket ports used by a network device to transport traffic across a network; and a physical processor that is communicatively coupled to the storage device, wherein the physical processor; formats the port list definition such that the bitmap includes; a record-size index that identifies a size of each record represented in the bitmap; a first set of indices that each represent an offset of one or more network socket ports that facilitate transporting traffic across the network; and a second set of indices that; are each paired to an index within the first set of indices; and each correspond to port numbers of the network socket ports that facilitate transporting traffic across the network and whose values are calculated based at least in part on the offset of the paired index within the first set of indices; formats the port list definition such that the bitmap identifies the port numbers of the network socket ports used by the network device by; calculating a first multiplication product by multiplying the offset represented by the index within the first set of indices by the size of each record identified in the record-size index; calculating a second multiplication product by multiplying the first multiplication product by a byte size used by the network device; and for each bit that is set in the index within the second set of indices that is paired to the index within the first set of indices, adding a value that represents the set bit'"'"'s position in the paired index within the second set of indices to the second multiplication product to produce a sum that represents a port number of a network socket port that is used by the network device; and forwards at least one packet from the network device to a remote device using at least one of the network socket ports whose port numbers are identified in the bitmap.
-
Specification